Franz Pletz möchte mit seinem Vortrag, nachdem vor einigen Wochen bereits Martin Brotzeller in die grundlegende Shell- und UNIX-Tools-Benutzung eingeführt hat, in die Customization der eigenen Shell und in sinnvollen weiteren Tools, die den Developer-Alltag erleichtern, einführen. Dies sind einerseits Standardtools mit ungeahnter Zusatzfunktionalität, die allerdings häufig nicht bekannt sind aber auch Zusatztools, die erst neu zu installieren sind.
PHP Dependency und Paket Management mit ComposerMayflower GmbH
Vortragsfolien von Dominik Liebler
Jedes moderne PHP Projekt hat Abhängigkeiten zu Drittsoftware, sei es das MVC Framework, ORMs oder auch Client-APIs für verschiedene Dienste. Composer hilft dabei den Überblick zu bewahren und dem Versionschaos zu entgehen. Im ersten Teil des Vortrags wird es darum gehen, bestehende Packages in ein Projekt einzubinden und selbst eigene Packages zu erstellen. Der zweite Teil wird beleuchten, wie man selbst ein Repository mit Hilfe von Satis oder Packagist für die eigenen Pakete einrichtet und verwaltet.
Die Mozilla Audio Data-API erlaubt neue Interaktionen mit Audiodateien, die über HTML 5 in Webseiten eingebettet sind. So ist etwa eine Spektrum-Anzeige im Browserfenster und in Echtzeit möglich. Auch das erzeugen von Audio-Daten durch den Browser sind durch die Schnittstelle möglich.
Slides zur Session auf dem TYPO3Camp in München. In den Slides wird gezeigt, was beim Caching mit Varnish von TYPO3 Webseiten zu beachten ist und welche Probleme auftreten können.
Martin Brotzeller erklärt Tools und Features der Shell, mit denen Programmierer sich das Leben einfacher machen können. Der Schwerpunkt liegt beim Arbeiten mit der History sowie gängigen Tools.
Web-Automatisierung mit WWW::MechanizeThomas Fahle
Oft sind wichtige Informationen, Daten und Dateien nur über aufwendig manuell auszufüllende Formulare zu ereichen.
Der Vortrag zeigt anhand einfacher und praktischer Beispiele auf, wie sich diese Tätigkeiten mit WWW::Mechanize schnell und kostengünstig automatisieren lassen.
Zielgruppe des Vortrags sind Einsteiger in das Thema Webscraping.
Inhalt
* Was ist Webscraping?
* Warum WWW::Mechanize?
* Erste Schritte
* Links extrahieren
* Links folgen
* Formulare
* Download von Dateien
* Passwortgeschützte Seiten
* CPAN-Module für Standardaufgaben
PHP Dependency und Paket Management mit ComposerMayflower GmbH
Vortragsfolien von Dominik Liebler
Jedes moderne PHP Projekt hat Abhängigkeiten zu Drittsoftware, sei es das MVC Framework, ORMs oder auch Client-APIs für verschiedene Dienste. Composer hilft dabei den Überblick zu bewahren und dem Versionschaos zu entgehen. Im ersten Teil des Vortrags wird es darum gehen, bestehende Packages in ein Projekt einzubinden und selbst eigene Packages zu erstellen. Der zweite Teil wird beleuchten, wie man selbst ein Repository mit Hilfe von Satis oder Packagist für die eigenen Pakete einrichtet und verwaltet.
Die Mozilla Audio Data-API erlaubt neue Interaktionen mit Audiodateien, die über HTML 5 in Webseiten eingebettet sind. So ist etwa eine Spektrum-Anzeige im Browserfenster und in Echtzeit möglich. Auch das erzeugen von Audio-Daten durch den Browser sind durch die Schnittstelle möglich.
Slides zur Session auf dem TYPO3Camp in München. In den Slides wird gezeigt, was beim Caching mit Varnish von TYPO3 Webseiten zu beachten ist und welche Probleme auftreten können.
Martin Brotzeller erklärt Tools und Features der Shell, mit denen Programmierer sich das Leben einfacher machen können. Der Schwerpunkt liegt beim Arbeiten mit der History sowie gängigen Tools.
Web-Automatisierung mit WWW::MechanizeThomas Fahle
Oft sind wichtige Informationen, Daten und Dateien nur über aufwendig manuell auszufüllende Formulare zu ereichen.
Der Vortrag zeigt anhand einfacher und praktischer Beispiele auf, wie sich diese Tätigkeiten mit WWW::Mechanize schnell und kostengünstig automatisieren lassen.
Zielgruppe des Vortrags sind Einsteiger in das Thema Webscraping.
Inhalt
* Was ist Webscraping?
* Warum WWW::Mechanize?
* Erste Schritte
* Links extrahieren
* Links folgen
* Formulare
* Download von Dateien
* Passwortgeschützte Seiten
* CPAN-Module für Standardaufgaben
Nachdem die großen Plattformen wie Flickr und Facebook vorgemacht haben, wie aus einer kontinuierlichen Entwicklung auch eine kontinuierliche Produktion werden kann, wird das Thema DevOps auch für kleinere LAMP-Projekte relevant. Welche Methoden und Tools für N Deploys pro Tag und Feature für Production-Zeiten von einer Woche sorgen, zeigt dieser Talk.
Slides of my talk at PHP USERGROUP DRESDEN on 29.06.2016 bei Collab & Couch
* Example-Source-Code: https://github.com/PHPinDD/phar-better-tool-example
* Example-Distribution: https://github.com/PHPinDD/phar-better-tool-distribution
Eine kleiner Reminder... PHP 5.3 und seine neuen Features. Im Rahmen dieser Veranstaltung konnte bei weitem nicht alles genannt werden, was die neue Version anbietet. Diese Session zeigte an Hand von konkreten Beispielen die Anwendung einiger dieser Features.
PHP Usergroup Rheinhessen,
Session vom 2010-04-06
Nachdem die großen Plattformen wie Flickr und Facebook vorgemacht haben, wie aus einer kontinuierlichen Entwicklung auch eine kontinuierliche Produktion werden kann, wird das Thema DevOps auch für kleinere LAMP-Projekte relevant. Welche Methoden und Tools für N Deploys pro Tag und Feature für Production-Zeiten von einer Woche sorgen, zeigt dieser Talk.
Slides of my talk at PHP USERGROUP DRESDEN on 29.06.2016 bei Collab & Couch
* Example-Source-Code: https://github.com/PHPinDD/phar-better-tool-example
* Example-Distribution: https://github.com/PHPinDD/phar-better-tool-distribution
Eine kleiner Reminder... PHP 5.3 und seine neuen Features. Im Rahmen dieser Veranstaltung konnte bei weitem nicht alles genannt werden, was die neue Version anbietet. Diese Session zeigte an Hand von konkreten Beispielen die Anwendung einiger dieser Features.
PHP Usergroup Rheinhessen,
Session vom 2010-04-06
Gearman ermöglicht paralleles abarbeiten von Aufgaben auf verteilten Systemen und Prozessen. Es bietet die Möglichkeit, Jobs zu parallelisieren, Last zu verteilen und Funktionen sprachübergreifend aufzurufen. In dieser Session werden neben den Grundlagen auch praxisbezogene Beispiele gezeigt.
- Eckdaten des Frameworks
- Architektur & Internals
- Mikrokernel und Architektur des Frameworks
- Architektur des Frameworks mit eigenen Bundles
- Überblick Kernel-Komponenten
- Der EventDispatcher
- Der DependencyInjectionContainer
- Beispiel-Konfigurationdes des DICs
- Der HttpKernel
- Projektstruktur - apps-, web-, src- und vendor-Verzeichnis
- Beispiel-FrontController
- Beispiel-AppKernel
- Beispiel-Controller-Klasse
- Die Templating-Engine Twig
- Beispiel Layout/Templates
- Demo
Lange Jahre wurde Javascript von vielen Entwicklern nicht so ernst genommen. Durch den vermehrten Einsatz von AJAX und der einfachen Handhabung von Javascript-Frameworks und Libraries ist die Akzeptanz gestiegen und Javascript ist aus der Webentwicklung nicht mehr wegzudenken.Unter dem Titel "Best Practises- Debugging und Logging JS" zeigt uns Martin Ruprecht in zwei Vorträgen Mittel und Wege, wie man effektiv die Fehlersuche mit Javascript betreibt. In diesem ersten Vortrag werden qualitätssichernde Maßnahmen für die Entwicklung mit Javascript aufgezeigt.
Die "Donnerstags-Vorträge" werden sowohl in Würzburg als auch in München gehalten. Bei Interesse einfach das Blog beobachten, um auf dem Laufenden zu bleiben!
HTTP ist das Protokoll, auf dem das WWW aufsetzt. Obwohl es ein sehr einfaches Protokoll ist, finden sich heute kaum Webseiten und -services, die HTTP richtig umsetzen und somit seine gesamten Vorteile ausschöpfen. Der Vortrag REST WebServices von Paul Seiffert handelt im ersten Teil von HTTP und stellt im zweiten REST vor - die Verbindung von HTTP mit einer Resource-Oriented-Architecture (ROA).
Nagios Conference 2007 | Pluginprogrammierung in Perl by Wolfgang BarthNETWAYS
Nicht immer findet sich ein passendes Plugin für die konkrete Aufgabenstellung. Dann ist Eigenbau angesagt. Plugins selbst zu schreiben ist nicht schwer, vorausgesetzt, man hält einige Spielregeln ein.
Dieser Workshop zeigt auf, wie man in Perl Plugins erstellt, die sich an die wichtigsten Spielregeln halten. Die Programmierung erleichtert das Perlmodul
Nagios::Plugin von Ton Voon, dem Maintainer der offiziellen Nagios-Plugins. Neben dem Modul Nagios::Plugin kommt auch das Modul GetOpt::Long für die Zerlegung der Kommandozeile und die Perl-Online-Dokumentation (POD) zur
Sprache. Für die Ausführung von Perl-Plugins liefert Nagios einen integrierten Perl-Interpreter mit (ePN – embedded Perl Nagios), der allerdings besondere Anforderungen an ein Plugin stellt. Der Workshop geht auch auf die nicht immer
einfache Fehlersuche ein, mit der man konfrontiert wird, wenn ein unter normalen Umständen funktionierendes Plugin nicht so recht mit ePN zusammen arbeiten mag.
Aus dem Inhalt:
Standard-Anforderungen an ein Plugin
Rückgabewerte und Textausgaben
Verarbeitung der Kommandozeile
Online-Hilfe und integrierte Manpage
Die Sache mit dem Timeout
Formate für Schwellwerte: Thresholds
Ausgabe von Performancedaten
Konfigurationdateien für ein Plugins verwenden
ePN, der embedded Perl-Interpreter: Anforderungen, Fehlersuche.
Der Workshop richtet sich an Teilnehmer mit Programmierkenntnissen in einer Skriptsprache und zumindest einfachen Perl-Grundkenntnissen. Die Plugin-Erstellung erfolgt unter Linux.
OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...NETWAYS
Zunehmend werden virtualisierte oder automatisiert aufgesetzte Systeme im Data Center eingesetzt. Beide Varianten eröffnen die Möglichkeit schnell über viele ähnliche Systeme zu Verfügen. Leider fehlt hier oft der Brückenschlag zum Monitoring. Nach dem Bereitstellen der Systeme müssen diese auch kontrolliert ins Monitoring aufgenommen werden.
In komplexen, stark automatisierten Umgebungen kann Puppet nicht nur beim automatischen Configurations- und Change Management, sondern auch bei der Einrichtung des Monitoring ein treuer Gefährte sein. Der Vortrag bietet eine Einführung in die Möglichkeiten des Open Source Tools Puppet und erklärt die Konzepte, welche die Schlagkraft in Verbindung mit Icinga bzw. Nagios ausmachen anhand von Beispielen.
FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...Verein FM Konferenz
Teil 1/2: So funktioniert die Anbindung von Dokumentenscannern, Waagen, RFID-Kartenlesegeräten – und der Informationsfluss im Unternehmen
Heike Landschulz und Klaus Kegebein zeigen ein ERP-System mit Anbindung von Scannern, Waagen und RFID-Lesegeräten.
Die Kosmetik Konzept GmbH – Hersteller von Kosmetik- und Medizinprodukten – setzt in allen Bereichen auf FileMaker: von den allgemeinen Stammdaten (Adressen, Artikel, Mitarbeiter) über Rezepturentwicklung, Kalkulation, Einkauf, Lagerhaltung, Produktion, Qualitätssicherung, Dokumentation, Vertrieb und Rechnungsstellung bis zum Controlling wird alles in einer Datenbank verwaltet.
Klaus Kegebein zeigt, wie die Datenbank mit den Anwendern und die Anwender untereinander Informationen austauschen: über ein Todo-System, mit E-Mail-Benachrichtigungen, einem „Handbuch-Abo“ usw.
Heike Landschulz erklärt, wie sie unterschiedliche Dokumentenscanner in die Datenbank eingebunden hat, wie sie mit FileMaker Waagen ansteuert (von der mg-Analysenwaage bis zur 1,5-Tonnen-Bodenwaage), wie sie zur fälschungssicheren Identifikation von Mitarbeitern RFID-Kartenlesegeräte ausliest.
Beispiel: Lesen von RFID-Karten:
http://www.filemaker-konferenz.com/2014/downloads/Landschulz_Heike/KommunikationMenschMaschine_RFID.fmp12
Beispiel: Anbindung von Waagen:
http://www.filemaker-konferenz.com/2014/downloads/Landschulz_Heike/KommunikationMenschMaschine_Wiegen.fmp12
Monitoring von SAP mit den bisher vorhandenen Plugins beschränkte sich auf die Abfrage von CCMS-Metriken. In einem SAP-System steckt aber noch viel mehr, das sich überwachen lässt. Check_sap_health ist ein neues Plugin, welches in Perl geschrieben wurde. Es entstand in einem Projekt, bei dem von unterschiedlichen Standorten aus die Laufzeiten von BAPI-Aufrufen gemessen werden sollten. Durch die einfache Erweiterung des Plugins um selbstgeschriebene Perl-Elemente lassen sich beliebige Funktionen per RFC aufrufen und somit firmenspezifische Logik implementieren.“
Vortrag gehalten beim Workshop der Open-Source-Monitoring-Community 2014 in Berlin.
Mobile Anwendungsentwicklung mit WebtechnologienMayflower GmbH
Weit mehr als die Hälfte der Erdbevölkerung hat täglichen Zugriff auf ein mobiles Gerät. Zwei Mrd. dieser Geräte besitzen einen Zugang zum Internet. Bereits heute greifen mehr Leute auf das Internet über ein mobiles Gerät zu, als mit einem Desktop-Computer. Handys sind heutzutage die meist verwendeten Geräte. Kein anderes Medium ist so persönlich und kontext-spezifisch wie das Handy. Da wundert es nicht, wenn bereits seit vielen Jahren gesagt wird, Mobile ist "The Next Big Thing".
In diesem Vortrag werden Ihnen die verschiedenen Möglichkeiten aufgezeigt, Content für Mobile Geräte zur Verfügung zu stellen. Dank Webtechnologien stehen dafür sämtliche Optionen zur Verfügung. Erläutert wird der Prozess einer App-Entwicklung unter anderem am Beispiel Piwik Mobile. Der Fokus wird auf iOS und Android liegen.
Go ist die Sprache Nummer 1 für cloudnative Entwicklung. Der Beweis: 19 von 25 Projekten der Cloud Native Computing Foundation im höchsten Reifegrad nutzen Go, darunter Kubernetes und Docker. Aber was macht Go interessant für Java oder .NET-Entwickler? Go ist durch und durch auf Nebenläufigkeit und Parallelisierung ausgelegt. Außerdem hat Go ein statisches Typsystem, eine moderne, mächtige Standardbibliothek und ist rasend schnell. Aber vor allem: Go macht Spaß. Mit einfachen praktischen Beispielen lernt ihr mit Go produktiv zu entwickeln. Wir beginnen mit dem Hello World. Dann ein kleines Kommandozeilen Tool und eine einfache Webanwendung. Dazu nutzen wir überwiegend die Standardbibliothek von Go. Ihr lernt wesentliche Konzepte von Go wie Interfaces, Goroutinen und Channels kennen. Zur Entwicklung nutzen wir die Go-Tools und eine moderne Entwicklungsumgebung. Nach unserem Workshop könnt ihr erste eigene Go-Anwendungen entwickeln. Und ihr seid bereit die nächsten Schritte mit Go zu gehen. Go ist eine Sprache für Macher. Also lasst uns machen!
Jeder von uns kennt sie – die alten PHP-Projekte, die vor vielen Jahren entstanden und heute noch eine wichtige Funktion im Unternehmen erfüllen. Und es gibt ebenso viele Ratschläge, mit diesen Applikationen umzugehen: Tests und Continuous Deployment einführen. Kompatibel zu Symfony2 machen oder gleich dahin portieren – oder doch lieber Laravel? Domain-driven Design und Microservices nutzen, durch Node.js, Go, Rust ersetzen. Der Talk zeigt, welche Optionen man hat, welche Probleme sie jeweils mit sich bringen und wie man sich entscheiden kann.
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mayflower GmbH
Nach dem erfolgreichen Launch einer Software gibt es immer das gleiche Dilemma: Neue Features konkurrieren mit Bugs und Anpassungen an der bestehenden Software, die aus dem operativen Betrieb kommen. Und die Gretchenfrage nach dem dringenden und dem wichtigsten stellt sich kontinuierlich und es braucht einen Mechanismus um diese zu Balancieren. Ich möchte die Auswirkungen von Maintenance parallel zur Produktentwicklung aufzeigen, die Folgeprobleme benennen und Strategien vorstellen um dieses Dilemma zu umgehen.
Unsere Anti-Pattern Karten sind aus unserer jahrelangen Arbeit mit Kunden, und den daraus gewonnenen Erfahrungen entstanden. Sie sollen euch dabei helfen, selbst Fettnäpfchen zu erkennen, die wir schon von außen erlebt haben, oder in die wir sogar teilweise selbst schon getreten sind. Wenn ihr noch andere Anti-Patterns kennt, dann schickt sie uns unter https://mayflower.de/agile-antipattern.
Wenn der größte Teil der Logik in JavaScript stattfindet, dann findet auch der größere Teil der Sicherheitsrisiken dort sein Zuhause. Und auch Angreifer finden mit JavaScript eine interessante neue Spielwiese, denn die Sprache selbst und auch Ihre Heimat in Browser und Node.js bringen neue Probleme.
Genau da setzt der Vortrag an: die verblüffenden Unterschiede von JavaScript zu anderen Sprachen, wenn es um Security geht. Die Risiken und auch die Besonderheiten von Browsern und anderen JavaScript-Engines wie Node.js. Die Security-Implikationen von JavaScript-Frameworks bis hin zu speziellen Problemen wie mXSS, ReDOS und HTML5-Security.
Warum gilt Management bei Entwicklern als notorisch schlecht? Wie kann es kommen, dass ein Entwickler der eben noch auf die Leitung schimpfte sich selbst identisch verhält, sobald er in die Funktion rückt? Wie würde gutes Management in der IT denn aussehen? Wir berichten über unserer naiven Fehler am Anfang, unsere Erfahren auf der agilen Reise und über das, bei dem wir heute angekommen sind. Und wir haben wirklich viel falsch gemacht.
Viele PHP-Applikationen sind über Jahre erfolgreich, haben jede Änderung mitgemacht und sind inzwischen weder wartbar noch entsprechen sie aktuellen Standards. Doch um am Markt zu bestehen braucht man neue Features, und damit einen Rewrite auf ein modernes Framework wie Zend Framework 2, Laravel 4 oder Symfony 2. Aber Rewrites schlagen häufig durch jede Deadline oder ganz fehl, und währenddessen übernimmt die Konkurrenz den Markt. Wie man aus der Rewrite-Falle kommt und verlässlich eine wartbare Version der Software herstellt – das erklärt dieser Talk mit Methoden, Beispielen und Praxiswissen.
Wenn der größte Teil der Logik in JavaScript stattfindet, dann findet auch der größere Teil der Sicherheitsrisiken dort seine Heimat. Und Angreifer finden mit JavaScript eine interessante neue Umwelt, denn die Sprache selbst und auch Ihre Heimat im Browser und Node.js bringen viele neue Probleme. Und genau da setzt der Vortrag an: die verblüffenden Unterschiede von JavaScript zu anderen Sprachen, wenn es um Security geht. Die Risiken und auch die Besonderheiten von Browsern und anderen JavaScript-Engines wie Node.js. Die Securityimplikationen von JavaScript-Frameworks bishin zu speziellen Problemen wie mXSS, ReDOS und HTML5-Security.
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...Mayflower GmbH
Soll ich Entwickler pro Stunde einkaufen? Lohnt es sich für mich, spontan ein Team zu staffen? Brauche ich einen Rockstar-Developer im Team, um die Deadline zu retten?
Woher kommt die Performance von Development-Teams? Ist es wirklich eine magische Eigenschaft von bestimmten Entwicklern, die Produkte erfolgreich macht? Oder kommt herausragende Performance von einer ganz anderer Seite?
Was Responsive Webdesign meint, ist klar: Ein Layout, das sich flexibel an die Bildschirmgröße des Clients anpasst. Für einen perfekten Auftritt auf dem Smartphone ebenso wie dem UltraHD-TV.
Was so schön klingt, birgt aber auch viele Fallstricke. Der Vortrag wird einige von ihnen Vorstellen: Von extravaganten Kundenwünschen, überraschender Browser-Inkompatibilität und der Verwendung von iFrames bis hin zu responsiven HTML-Newslettern. Abgerundet wird der Talk durch verschiedene Beispiele für den Workflow, Testing-Strategien und dem Thema SEO im Zusammenhang mit Responsive Webdesign.
Native Cross-Platform-Apps mit Titanium Mobile und AlloyMayflower GmbH
Dank der Webtechnologien stehen Ihnen viele Möglichkeiten bereit, auf dem mobilen Markt präsent zu sein. Da sind unter anderem W3C Widgets, mobile Webseiten, Webapplikationen und als native App verpackte Webapplikationen. Eine weitere Möglichkeit stellt das Titanium-Mobile-SDK dar. Das Besondere: Mit Titanium erstellte Apps sind nativ. Aus nur einer Codebasis können Sie eine native Anwendung für iOS, Android, BlackBerry und Tizen generieren, sowie eine Webapplikation. Nativ bedeutet, die Apps werden nicht nur sehr schnell ausgeführt, sondern es stehen Ihnen für eine optimale Usability auch native UI Widgets zur Verfügung. Interessant ist das SDK daher nicht nur für Webentwickler, sondern auch für Entwickler, die ihre Apps bisher aufwändig individuell nativ entwickelt haben. Mit Titanium benötigen Sie lediglich JavaScript-Kenntnisse.
Aussagen wie "Pair Programming ist langsam", "Pair Programming ist nur was für Junior Entwickler zum Übertragen von Domainwissen", "Pair Programming verbrennt zu viele Resourcen und ist nichts für mein Projekt", "Meine Tasks sind zu komplex fürs Pair Programming" oder "Im Moment haben wir keine Zeit fürs Pair Programming, wir müssen liefern (fertig werden)" werden oft als Argumente gegen Pair Programming vorgebracht.
Mit diesem Talk/Webinar möchte Martin Ruprecht den Aussagen entgegentreten und seine Erfahrungen aus den letzten Kundenprojekten weitergeben und zeigen, wann Pair Programming sinnvoll eingesetzt werden kann und warum in jedem Projekt im Pair programmiert werden sollte.
Zielgruppe:
Wenn Sie Entwickler oder Projektverantwortlicher sind, dann ist dieser Talk/dieses Webinar genau richtig für Sie.
Über Martin Ruprecht:
Martin Ruprecht arbeitet seit mehreren Jahren bei Mayflower und ist JavaScript und PHP-Entwickler. Zuvor studierte er erfolgreich Medientechnik/Medieninformatik an der FH Deggendorf. Neben seiner Tätigkeit als Entwickler bei Mayflower organisiert Martin regelmäßig Coding Dojos in München, tritt auf Konferenzen auf und hält Vorträge und Workshops zum Thema JavaScript, Testing und Qualitätssicherung in Webprojekten.
Vorstellung der Technologiedemo www.shoeism.de mit unserem LSH Algorithmus zur Ähnlichkeitssuche von hochdimensionalen Daten am Beispiel von E-Commerce Produktbildern.
Kennen Sie das? Während Sie noch fleißig wochen- und monatelang an Ihrer mobilen App konzipieren/konzipieren lassen, stehen schon die Mitbewerber auf dem Plan und haben eine ähnliche App herausgebracht. Besonders mobile Apps müssen zügig auf den Markt kommen, um Wettbewerbsvorteile in einer neuen, sich immer schneller drehenden Welt für sich entscheiden zu können. Doch welches Handwerkzeug braucht es hierzu?
Der Vortrag möchte Sie entführen in die agile Welt, in der in regelmäßigen, kurzen Zyklen neue Teilabschnitte Ihres Gesamtprojekts für Ihre Nutzerschaft veröffentlicht werden. Richtig angewendet bekommen Sie so einen Nutzersog, der Ihre Mitbewerber in den Schatten stellen wird. Warum warten, bis alle Funktionen komplett fertig sind, wenn Sie zunächst auch mit dem "Minimum Viable Product" starten können, um gleichzeitig wertvolle automatisierte Marktforschung über Nutzerfeedback für die nächsten Versionen zu erhalten? Wir stellen Ihnen hier das konzeptionelle Rüstzeug vor, das Sie hierfür benötigen.
Mit weit über 1 Million Downloads hat sich die quelloffene Piwik-Suite als zuverlässige und beliebte Alternative zu Traffic-Analysewerkzeugen wie Google Analytics etabliert. Heute lassen sich mit Piwik nahezu beliebige Statistiken zur Nutzung von Webseiten erfassen, auch das Monitoring komplexer Marketing-Kampagnen ist möglich. Das besondere an der Software: Ihr Funktionsumfang lässt sich über ein Plug-in-System nahezu beliebig erweitern.
Im Webinar zeigt Ihnen Thomas Steur, selbst Core-Mitglied im Piwik-Projektteam und Lead Developer für Piwik Mobile, wie Entwickler Piwik richtig nutzen können, was es mit der Plug-in-Entwicklung auf sich hat und worauf man im Umgang mit Echtzeit-Traffic-Daten (Stichwort: Skalierung) achten muss.
4. Ziele
I Sehr subjektiver Vortrag ;-)
I Aus meinem Linux-Sysadmin Alltag ein paar nützliche Tools und
Tipps vorstellen
I In der Shell sind fast alle Dinge viel schneller erledigt, als mit jeder
general purpose GUI
I Ihr sollt mehr Console benutzen!!!!11elf1
Mayflower GmbH I 4
5. Die Shell – first things first
I Tipp: zsh
Zum Anfang Config von grml: http://grml.org/zsh/
I Viele nützliche Features von bash, ksh, tcsh und eigene, z.B.
Globbing: Negierung, Grouping, Ranges
Directory Stacking: pushd, popd, AUTOPUSHD
Process Substitution: =()
Erweiterte Command Line Editing und Completion
I Egal welche Shell man nutzt, Manpage komplett lesen und nach
eigenen Vorlieben konfigurieren!
Mayflower GmbH I 5
6. vim/emacs – Dateien editieren mit Style
I Tipp: Münzwurf um sich zwischen vim oder emacs zu entscheiden
Vergleich beider Editoren am besten gar nicht anfangen
Religionskriege!
I Mindestens eine Woche Zeit nehmen, einarbeiten und benutzen!
Painful, aber schnelleres editieren garantiert
Mayflower GmbH I 6
7. most – more or less enhanced pager
I Pager: Langen Text in Console als Seiten anzeigen
more: einfacher Pager
less: more mit forward/backward, vi Keybindings
I Features
Windows!
Binary Files
Line Wrapping
Mayflower GmbH I 7
8. pgrep & pkill – Prozesse brauchen Pflege
I Wer kennt das nicht? ps aux | grep foo
Probleme: nicht weiterverwendbar, taucht selbst in Liste auf
I $ pgrep zsh
3145
3148
3174
I Weitere Optionen zum filtern nach z.B.
-u, -g User & Gruppen
-n, -o newest, oldest
I pkill mit gleichen Parametern als Alternative zu killall
Mayflower GmbH I 8
9. ack – Das bessere grep
I Komplett in Perl geschrieben, auf Suche in Quellcode optimiert
I Schneller, da nur Source Code Files durchsucht werden
Keine VCS-Verzeichnisse, Backup-Files, Core Dumps etc.
I Angabe von Dateitypen einfach
$ ack –-php --js
I Syntax Highlighting!
I Viele GNU grep Parameter werden supportet
I 25% weniger Zeichen zu tippen!
I http://betterthangrep.com/
Mayflower GmbH I 9
10. ack – Das bessere grep (2)
Mayflower GmbH I 10
11. pv – stalking the pipes
I Verlauf von Daten durch Pipes beobachten
I $ tar c dir | pv | nc fnordhost 2342
64kB 0:00:00 [71.4MB/s] [ <=> ]
I Viele Optionen, z.B.
-p Progress Bar anzeigen
-r Datenrate anzeigen
-a durchschnittliche Datenrate anzeigen
-s BYTES Dateigröße angeben
-L RATE Datenrate begrenzen
-R PID Commandline eines laufenden pv modifizieren
Mayflower GmbH I 11
12. ngrep – Grepping Network Traffic
I Wireshark ist toll, aber oft einfach Overkill
I # ngrep -W byline "^(GET|POST) .*"
Mal schnell alle GET und POST Requests anzeigen
I # ngrep -q -W byline "search" host
www.google.com and port 80
Alle Google-Suchanfragen ausgeben
Mayflower GmbH I 12
13. curl – HTTP Magic for the masses
I $ curl ifconfig.me
88.217.134.114
I $ curl -s -I nyan.cat | head -n1
HTTP/1.1 200 OK
Nur die Headers bitte!
I $ curl -c cookies.txt -H "User-Agent:
Mozilla/5.0" -F
"name=test;photo=@lolcat.jpg"
mysocialnetwork.com/profile
Cookies, Headers, Formularfelder, Dateiupload!
Mayflower GmbH I 13
14. openssh – fun with remote servers
I Der openssh Client hat eine Config-File: ~/.ssh/config
Man kann Optionen global oder auf Host-Basis festlegen
I Connection Sharing
ControlMaster auto
ControlPath /tmp/ssh-%h-%p-%r
I Hostname Aliases, Local Forwards
Host dev
HostName dev.foobar.de
LocalForward 5433 localhost:5432
I Restriktive Proxies bezwingen (sshd auf Port 443)
ProxyCommand corkscrew proxy.org 8080 %h %p
Mayflower GmbH I 14
15. git – git it up
I Pull mit rebase statt merge
$ git pull –rebase
oder
$ git config branch.master.rebase true
I Letzter Commit mit Message Regex Matching
$ git show :/fix
$ git show :/^Merge
I Einfaches Tracking von Remote Branches
$ git checkout -t origin/feature
Mayflower GmbH I 15
16. git – git it up (2)
I $ git log --oneline --decorate
Mayflower GmbH I 16
17. git – git it up (3)
I $ git diff --word-diff
Mayflower GmbH I 17
18. tmux – modern terminal multiplexing
I Prinzip: mehere Terminals in einem darstellen, wie GNU screen
I Features:
Client/Server-Modell
Transfer/Linking von Terminals in andere Sessions
Copy/Paste mit mehreren Buffers
Windows mit horizontal und vertikal splitten
Freies verschieben, resizen oder einpassen in Layouts
Terminal Locking
Gute Dokumentation
I Quickstart fuer screen-User: Ctrl+B statt Ctrl+A ;-)
I http://tmux.sourceforge.net/
Mayflower GmbH I 18
20. Vielen Dank für eure Aufmerksamkeit!
Kontakt Franz Pletz
franz.pletz@mayflower.de
+49 89 242054 1173
Mayflower GmbH
Mannhardtstrasse 6
80538 München
29.09.11 Mayflower GmbH 20