Archiv der Kategorie ‘Programmierung’

How to extract multiple archives with a shell script

I had the problem to extract multiple .tar files (all in the same folder). Doing this by hand was kind of annoying and because i like the heuristic not to do same things more then three times, i wrote a little bash script. The script takes the archive type i.e. .tar, .tar.gz as first parameter and then automatically extracts all the archives files, in the given folder, to subdirectories (foldername of created subdirectory is the basename of the file). So here is the code..maybe it could save a little bit of your time.

Commitwitter – SVN commits nach Twitter zwitschern

Subversion, kurz SVN sollte jedem Programmierer ein Begriff sein. Das Open Source Tool zur Versionsverwaltung von Dateien und Verzeichnissen dürfte bei vielen Softwareentwicklern hoch im Kurs stehen. Ebenso erfreut sich der Mikro-Blogging Service Twitter größter Beliebtheit und ist sicherlich den Meisten ein Begriff.

Beide Tools können in hohem Maße die Produktivitäts- bzw. Kommunikationseffizienz steigern. Es liegt deshalb nahe diese Beiden Ansätze miteinander zu vereinen. Commitwitter verfolgt genau diesen Ansatz. Unsere Idee ist nach jedem Commit die committete Revisionsnummer, den Autor des Commits, sowie den zugehörigen Kommentar, einfach direkt an einen Twitteraccount zu senden.

Agile Software Development

Software development process – Vorgehensmodell zur Softwareentwicklung
Vorgehensmodelle zum Softwareentwicklungsprozess empfehlen Richtlinien für Rollen (Verantwortlichkeiten), Phasen, Aufgaben, Aktivitäten, Methoden und Dokumente (Artefakte, Arbeitsergebnisse).
(aus: http://www.torsten-horn.de/techdocs/sw-dev-process.htm)

Im Folgenden einige Details aus oben genannter Homepage:

  • Softwareentwicklung ist in besonderem Maße geprägt von Fehleinschätzungen. Sehr häufig wird der Zeitbedarf zu kurz geschätzt, sowohl für die Projektorganisation als auch für den Kommunikationsbedarf und die Programmierdauer. Im Endergebnis produziert ein Programmierer im längerfristigen Durchschnitt:
    10 LOC (Lines of Code) pro Arbeitstag laut [Mayr 2005]
    16 LOC (Lines of Code) pro Arbeitstag laut [Ludewig/Lichter 2006]

PHP6 Testumgebung mit XAMPP

Wenn wir in den letzten Tagen durch unsere Recherche zu Neuerungen in PHP6 und den näheren Details zu einzelnen Features in PHP6 Interesse an PHP6 geweckt haben, wollen wir hier noch einen drauf setzen. Angeregt von der Idee PHP6 in XAMPP zu integrieren ist es außerdem möglich in wenigen Schritten eine Testumgebung mit XAMPP zu schaffen wo PHP5 parallel, also gleichzeitig, mit PHP6 läuft.
Dabei werden in unserem Beispiel die Dateiendungen .php .php5 .php4 .php3 .phtml und .phps ganz normal als PHP5 Scripte geparst und ausgeführt die Dateiendung .php6 wird über den PHP6 Interpreter geschickt.
So hat man die Möglichkeit ganz normal zu entwickeln, aber einige Tests unter PHP6 kann man immer mal wieder durchführen….
Außerdem stelle ich noch eine Lösung vor, wie durch Ändern der Konfiguration jederzeit auch komplett auf PHP6 umgestellt werden kann und als 3. Alternative die Möglichkeit (aus z.B. eclipse heraus) per Script zwischen beiden Versionen dynamisch umzuschalten – aber alles der Reihe nach.

Details zu neuen PHP6 Features

Nach einer Recherche zu den (eventuell) kommenden Features und Neuerungen in PHP6, möchten wir hier nun auf einzelne Neuerungen und Features aus PHP6 näher eingehen.

Wie berichtet, soll es in PHP6 unter anderem

  • Unicode Unterstützung im Gegensatz zum bisherigen Binär-Strings Verfahren geben
  • Namespaces (Namensräume) eingeführt werden
  • register_globals abgeschafft werden
  • magic_quote ebenfalls
  • auch der safe_mode soll ausgemustert werden
  • die super globalen Variablen $HTTP_*_VARS entfernt werden
  • zuschaltbarer Input-Filter geben

Kommende Neuerungen in PHP6

Wie letzte Woche im Beitrag zur Zukunft von PHP angekündigt beschäftigen wir uns diese Woche mit PHP6.
Trotz der vermeintlichen Gründe erst mal überhaupt (gezwungener Maßen) auf PHP5 umzusteigen und dann auch erstmal dabei zu bleiben, hier nun eine Recherche der Neuerungen in PHP6. Was erwartet uns also in PHP6, was sind neue Features, wo gibt es Inkompatibilitäten zu PHP5 und was ist überhaupt schon offiziell, was ist nur angekündigt oder eine Vermutung:

Zunächst entnommen von php::bar eine frühe Liste der Neuerungen in PHP6:

Die Zukunft von PHP

Schon seit längerem ist bekannt, dass die PHP4 Entwicklung am 31.12.07 endet und Sicherheitpatches soll es maximal noch bis zum 8. August 2008 geben (vgl. auch golem.de).

Zeit sich genauer umzuhören, wie denn die Zukunft von PHP so aussieht. Durch einen Artikel auf golem.de (Umstieg auf PHP 6 könnte schmerzhaft werden) sind wir unter anderem auch weider auf das Thema PHP6 aufmerksam geworden.
In diesem Interview spricht Zend mit Gründer Zeev Suraski über die Eclipse PHP Development Tools (PDT), das nahende Ende von PHP 4 und auch über PHP6.

Garbage Collection mal anschaulich

Beim morgentlichen surfen bin ich auf einen netten kleinen Blog Beitrag, bei Klajo.com, gestoßen, der mit 3 Bildern sehr anschaulich erklärt wie GC funktioniert. Schön verständlich für jederman und eine tolle Idee mit den Bildern…

Wenn dir dieser Beitrag gefällt, lade den Autor doch mal zu einem Drink ein ;-)


Tags: , , ,

PHP Debugger für Eclipse

Wie bereits vor längerem vorgestellt, entwickeln wir unsere PHP Applikationen in Eclipse. Je größer die Applikation wird, umso wichtiger ist die Möglichkeit gute Debug Funktionen zu haben. Eclipse hat ja von Haus aus eine Debug Umgebung mit Haltepunkten (Breakpoints), Variablen Explorer und die Möglichkeit in Einzelschritten im Code voranzuschalten.
Diese Debug Features kann man sich auch für PHP zu nutze machen und so auch in Eclipse PHP Dateien debuggen. Leider ist das nicht ganz so einfach, man muss schon etwas Zeit und Geduld investieren.

Programmierstil flüssiges Interface

Ich möchte heute kurz eine einfache Programmiertechnik, bzw. Programmierstil vorstellen. Es geht um die Implementierung von Set Methoden (Settern)

Nach dem vor kurzem das Open Source PHP Framework von Zend (kurz: Zend Framework) in der Version 1.0 erschienen ist, bin ich beim lesen der Zend Framework Dokumentation auf einen Namen für diese Programmiertechnik, bzw. Programmierstil gestoßen. Das flüssige Interface.