Facebook
Twitter
Google+
Kommentare
21

Mein Werkzeugkasten 2011

Da mache ich jetzt mal eine Serie dran. Jedes Jahr möchte ich euch meinen aktuellen Werkzeugkasten vorstellen. Das sind Tools, die ich für den täglichen Arbeitsalltag brauche. Ist bestimmt auch für mich spannend irgendwann in 80 Jahren, wenn ich dann in Rente gehen darf,  zu sehen wie sich über die Jahre meine Vorlieben und Anforderungen geändert haben. Aber fangen wir einfach mal an. Ihr seid bestimmt dann auch so lieb und schreibt kurz auf, was ihr so verwendet.

  • Zend Studio: Ich mag Eclipse und PDT. Da wir in der Firma eh Lizenzen hatten bin ich dann bei Zend Studio 8 hängengeblieben. Für mich kann die IDE alles was ich brauche und ich bin unheimlich produktiv damit. Das schöne dabei ist, dass fast alle Tools, die ich im weiteren aufführe dort integriert werden können.
  • PHPUnit: Testen gehört heutzutage zum Glück zum Entwicklungsprozess hinzu. Unit Tests werden dann mit PHPUnit geschrieben. Gibt es überhaupt noch eine Alternative?
  • Selenium: Eigentlich verwende ich Selenium kaum noch, habe es aber früher eine Zeit lang sehr intensiv genutzt. Jetzt fragt ihr euch bestimmt warum? Naja, irgendwie gingen meine Tests regelmäßig kaputt und man musste wieder so viel anpassen, dass sich der Aufwand nicht mehr gelohnt hat. Unsere Webseiten sind eben momentan nicht so wirklich stabil, das das Wireframe angeht, so dass wir das bestimmt bald wieder angehen werden, zur Zeit aber auf Eis gelegt wurde.
  • pDepend: Als halber Architekt stehe ich natürlich auch auf statische Code-Analyse. In PHP kommt man bei diesem Thema nicht um die Tools von Manuel Pichler rum und mein Favorit ist pDepend (auch wenn mir ein wichtiges Feature dort fehlt.
  • SVN und Git: Ich hoffe, dass es kein Projekt mehr ohne Versionskontrolle gibt, leider glaube ich, dass ich da falsch liege. Bei uns kommen SVN und Git zum Einsatz und ich bin mit beidem glücklich. Mit Git, weil es ein tolles Werkzeug ist und mit SVN weil ich es seit Ewigkeiten nutze und damit umgehen kann.
  • Firefox: Wir sind Webentwickler und brauchen Browser. Bei mir ist es der Firefox  in Kombination mit Firebug. Sollte auch eine Standardkombi sein.
  • Apache Bench und jMeter: Wir haben ein paar wirklich hochfrequentierte Webseiten da draußen. Um zu wissen, ob das was wir da entwickelt haben auch den Druck aushält, brauchen wir Tools für Lasttests und diese zwei sind dabei meine Favoriten. Pylot kann man sich aber auch mal anschauen.
  • Jira: Ticketsysteme sind wichtig. Haltet eure Bugs unter Kontrolle. Wir haben auf die komplette Atlassian-Suite gesetzt und deswegen sind die nächste Punkte auch alles Tools aus deren Hause.
  • Bamboo: Continuous Integration wird wohl bei den meisten von euch mit Jenkins/Hudson erledigt. Ich denke, da sind einige Server vom Funktionsumfang identisch.
  • Cruicible: Kennt wahrscheinlich kaum jemand, aber Cruicible ist die Code-Review-Software von Atlassian. Dort kann ich mir Review aus Commits zusammenstellen und meinen Kollegen sagen, sie sollen dort mal drüberschauen. Für mich nicht mehr wegzudenken, da ein Code Review der effizienteste Weg ist Fehler zu finden. Effizienter als Unit Tests sogar.
  • Confluence: Unser Wiki. Atlassian und integriert alle anderen Werkzeuge.
  • VMWare-Player: Da wir unsere Entwicklungsumgebung virtualisiert haben, um möglichst nah am Livesystem zu sein, darf natürlich ein Player für die virtuelle Maschine fehlen. Über das Thema habe ich auch noch einen Artikel in der Pipeline.
  • Word: Habe ja gerade gesagt, dass ich halber Architekt bin, die andere Hälfte ist Qualitätsmanager. Das bedeutet viele Konzepte entwerfen und das mache ich mit Word.
  • Visio: Jetzt nicht schlagen, aber meine Diagramme für die Dokumente oder für die Planungsphase entwerfe ich mit MS Visio.
  • Twirl: Wenn man genügend Follower auf Twitter hat, dann kann man seinen Account nutzen, wenn man mal eine Frage hat. Follower-Power ist was feines.

Ich glaube das waren auch schon die Hauptverdächtigen (sorry, dass ich keine Zeit hatte die Links rauszusuchen). Wahrscheinlich habe ich einige vergessen, aber die kann ich ja immer noch hinzufügen. Jetzt seid ihr dran. Ich braucht ja nicht so ausführlich werden aber eine kommaseparierte Liste wird wohl drinnen sein.

Was mir noch einfällt. Dies ist ja ein Folgebeitrag für Alex und er wollte wissen, das man sich als guter Entwickler aneignen soll. Auf jeden Fall sollte man für sich entscheiden, wie ein effektiver Entwicklungsprozess aussehen sollte. Bei mir sind wichtige Bestandteile Unit Tests, Code-Reviews und eine Planungsphase, was man vielleicht auch an meinen Werkzeugen sehen kann.

Über den Autor

Nils Langner

Nils Langner ist der Gründer von "the web hates me" und auch der Hauptautor. Im wahren Leben leitet er das Qualitätsmanagementteam im Gruner+Jahr-Digitalbereich und ist somit für Seiten wie stern.de, eltern.de und gala.de aus Qualitätssicht verantwortlich. Nils schreibt seit den Anfängen von phphatesme, welches er ebenfalls gegründet hat, nicht nur für diverse Blogs, sondern auch für Fachmagazine, wie das PHP Magazin, die t3n, die c't oder die iX. Nebenbei ist er noch ein gern gesehener Sprecher auf Konferenzen. Herr Langner schreibt die Texte über sich gerne in der dritten Form.
Kommentare

21 Comments

  1. Danke für die Einsicht in deine Arbeitsweise. Jetzt wären ja noch Links zu den Tools bzw. Produktseiten ganz toll.

    Ist noch viel zu früh am Morgen für Google (^^);

    Reply
  2. @Nils: wow, ich hätte nicht gedacht, das ich so viele Informationen auf meine Frage bekommen werde, meine Augen leuchten gerade 🙂

    Was mir aber noch fehlt bei dir, was benutzt du für die Datenbankadministration?

    Gruß,
    Alex

    Reply
  3. @Alex: Tja, wer nette Mails schreibt, bekommt auch nette Antworten. Datenbank ist bei mir entweder die MySQL-Konsole selbst oder auch phpmyadmin. Ich denke, dass sind die Standards.

    XDebug hab ich aber auch noch vergessen. Zum Profilen und Debuggen.

    Reply
  4. es fehlt:
    phing / ant / maven (für professionelles deployment)
    irgendein sql-tool (zur datenbank-administration & bearbeitung)
    command-line (kann man wirklich ohne wenn man damit mal richtig gearbeitet hat?)
    irgendein chuck norris plugin 😉

    Reply
  5. Selenium Version habe ich wider ad acta gelegt. Das Zusammenspiel von Selenium Server, Browser usw. ist recht fragil. Laufend bleibt einer der Prozese hängen und es kostet recht viel Zeit, das Tool am laufen zu halten. Daher habe ich mich mal ein wenig an Selenium 2 (Java) mit Googles Webdriver und HtmlUnit versucht. Das scheint mir für die Zukunft das richtige Tool zu sein.

    Sehr interessant könnte dabei auch jBehave sein.

    Reply
  6. Mich würde noch interessieren mit welcher Software ihr UML-Diagramme erstellt?

    Bezog sich deine Visio Auflistung auch darauf?

    Ich setze zur UML-Modellierung betriebsbedingt auf Sybase PowerDesigner und bin damit sehr zufrieden. Testweise hatte ich privat auch mal ArgoUML im Einsatz, aber da frustrierte mich die Usibility zu sehr.

    Reply
  7. Hallo,

    schöner Artikel, einige der Tools kannte ich nicht, werde sie mir aber gerne zu gegebener ansehen und für mich bewerten. Vielen Dank dafür.

    Eine Frage hätte ich noch, vielleicht auch in die lesende Runde:
    Gibt es ein gutes und einfaches SQL-Versionierungsprogramm für Linux, mit dem man Datenbankänderungen austauschen kann, wie man es von SVN kennt?
    Nach einer eigenen Recherche stieß ich auf „Toad for MySQL“, dass sogar mit SVN verbindet, allerdings ist das Programm nur für MS Windows verfügbar und da wir unter Linux arbeiten, bringt das nicht sonderlich viel.
    Oder wie macht ihr das so mit dem Austausch der Datenbankänderungen?

    Grüße,
    David

    Reply
  8. Für Datenbanken finde ich den MySQL Query Browser super und zum entwickeln von Datenbank Modellen nutzte ich die MySQL Workbench.

    Reply
  9. So aehnliche Tools nutzen wir ebenfalls, nur das wir Jenkins statt Bamboo nutzen. Fuehrst Du deine PHPUnit-Tests im Zend direkt aus, oder ueber die VMWare per Konsole? Wenn Du im Zend die ausfuehren kannst, wuerde mich einmal interessieren wie ihr das realisiert habt.

    Reply
  10. Super Auflistung. Der Artikel zu der virtualisierten Entwicklungsumgebung würde mich auch brennend interessieren. Hab damit selber schon öfter rumprobiert, aber aus bequemlichkeitsgründen immer wieder beim lokalen Windows-Apache bzw. MySQL gelandet.

    Reply
  11. Zitat: „VMWare-Player: Da wir unsere Entwicklungsumgebung virtualisiert haben, um möglichst nah am Livesystem zu sein…“

    Mich würde interessieren welches Betriebssystem du da in der VM am laufen hast.

    LG Olly

    Reply
  12. Ich kann noch PHP Checkstyle (kurz PHPCS) und PHPUnderControl (ein Plugin für CruiseControl) empfehlen.

    Zend Studio 8 nehme ich selber her und dazu EGit, ein Plugin für GIT.

    Für MySQL unter Windows empfehle ich noch HeidiSQL und unter MacOS Querios.
    Zur Modelierung des Datenbankdesigns ist für mich mittlerweile MySQL Workbench unumgänglich.

    Nebenbei angesprochen für Architekturmodelle kann ich zusätzlich noch die Suite „Visual Paradigm for UML“ empfehlen (gibts für Windows und Mac)

    Derzeit setze ich als Bugtracker TheBugGenie ein. Für mich vorteilhaft, weil ich in dem Bugtracker zusätzlich eine kleine Scrumplanung integriert habe. (Gibts zwar für Jira auch, aber nur mit dem kostenpflichtigen Addon Greenhopper)

    Reply

Leave a Comment.

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen