Tag-Archive for » Dokumentation «

Google gibt Go 1.9 frei

Soeben hat Google die Version 1.9 seiner Programmiersprache Go freigegeben.

Der Schwerpunkt der Neuerungen liegt wohl in der Verbesserung von Laufzeitumgebung und Tools, das Update bringt aber auch Neuerungen in der Standardbibliothek und der Sprache selbst.

Die wichtigste Neuerung sind wohl die Type Aliases, die besonders für Refactoring-Aufgaben hilfreich sein können. Dadurch wird es möglich, Aliase für Typen zu vergeben, wie beispielsweise byte als anderen Namen für uint8.

Neues bei den Tools

Deutlich mehr Änderungen gibt es bei den Tools zur Sprache. Der Go-Compiler unterstützt ab Go 1.9 das parallele Kompilieren der Funktionen eines Paketes. Dabei werden mehrere Rechenkerne gleichzeitig benutzt, was man schon bisher für die parallele Kompilierung unterschiedlicher Pakete nutzen kann. Die parallele Kompilierung ist als Voreinstellung aktiviert, kann aber manuell deaktiviert werden.

Auf vielfachen Wunsch gibt es beim Vendor Matching eine Änderung: Mit dem Befehl ./… wird es mit Tools, die Paketnamen akzeptieren, nicht mehr erlaubt sein, Pakete innerhalb von vendor-Verzeichnissen aufeinander abzustimmen. Die Funktion wird in Zukunft über den Befehl ./vendor/… verfügbar sein.

Nutzer von JSON können jetzt im ENV-Bereich das neue Flag go env -json nutzen, das einen JSON-Output ermöglicht. Dieses Flag ersetzt das betriebssystemspezifische Output-Format.

Auch das Kommando go test hat jetzt ein neues Flag namens -list. Das nutzt einen regulären Ausdruck als Parameter und gibt in stdout die Namen sämtlicher Tests, Benchmarks und Beispiele aus, ohne sie aber auszuführen.

Alle verfügbaren Informationen zu den neuen Features gibt es im entsprechenden Eintrag zur neuen Sprachversion in der Dokumentation der Programmiersprache Go.

Rückgabe in PHP 7.1

php7-1Außer den internen Veränderungen, die die beliebte Programmiersprache deutlich beschleunigt haben, brachte Version 7 von PHP viel Neues im Umgang mit dem Typsystem der Sprache.

Mit dem ersten großen Sprachupdate PHP 7.1 erweiterten die Entwickler PHP um Funktionen, die man so auch aus anderen Sprachen kennt. Dazu gehört unter anderem beispielsweise der explizite Verzicht auf einen echten Rückgabewert.

Nirwana-Rückgabe: Nullen oder Nichts

Denn jetzt gehört zu den sogenannten Typehints auch das Schlüsselwort void. Der Typehint zum Beispiel für den Datentyp int gibt ja auch an, dass der Typ des betreffenden Rückgabewerts ein Integer (Ganzzahl) sein soll. Genauso gibt in PHP 7.1 der Typehint void an, dass die Funktion eben nichts zurückgibt, sondern ausschließlich prozedural arbeitet.

Wie in den Sprachen C und C++ kann aus einer Methode durch die Angabe von return; zurückgekehrt werden. Auch auf diese Angabe kann verzichtet werden. Sinnvoll sei die Verwendung von void vor allem zur Dokumentation und zur Fehlerüberprüfung. Es macht in jedem Fall deutlich, „dass eine Funktion eine Aktion ausführt und kein Ergebnis erzeugt“.

Bis jetzt hatte PHP unter bestimmten Umständen Probleme bei Rückgabewerten, die keinen Standardwert haben, weshalb das Team eine einheitliche Syntax eingeführt hat, um zu zeigen, dass der Wert auch null sein kann. Dies ist ab der Version 7.1 für alle erlaubten Typen möglich, indem den Typen ein Fragezeichen vorangestellt ist, also zum Beispiel ?int.

Iterationen und Konstanten

Als neuer Pseudotyp ist das Keyword iterable neu hinzugekommen. Bisher konnte man keinen Typ für iterierbare Rückgaben festlegen und musste tricksen, wenn man eine Funktion innerhalb einer Foreach-Schleife nutzen wollte.

Auch aus dem Umfeld von C und C++ kommt die neue Zugriffsmodifikation, die neben Funktionen jetzt auch für Klassenkonstanten genutzt werden kann. Das Team löse damit eine bisher bestehende Inkonsistenz recht einfach auf. Als Schlüsselworte dazu kann man publicprotected und private nutzen. Konstanten, die ohne eines dieser Schlüsselworte deklariert werden, sind wie schon bisher immer public.

Editor Vim 8.0 veröffentlicht

VimNach mehr als zehn Jahren haben die Entwickler des Editors Vim (Vi IMproved) jetzt die neue Hauptversion Vim 8.0 veröffentlicht.

Neu in Vim 8.0 sind Features wie die asynchrone Ein- und Ausgabe über sogenannte Channels für die Kommunikation zwischen Vim und externen Prozessen über Pipes und Sockets, Partials – also Funktionsreferenzen mit vorgegebenen Argumenten. Außerdem sind Fenster-IDs neu hinzugekommen, ebenso die drei Vimscript-Datentypen Special, Job und Channel, und darüber hinaus assert-Funktionen für Style-Tests.

Viele der Änderungen betreffen Plugin-Entwickler. Weil neu entwickelte Plug-ins bei bestimmten Funktionen nicht mit den älteren Versionen des Editors laufen können, wurde beschlossen, mit dem neuen Release einen großen Versionssprung zu vollziehen.

Zu den neuen Fähigkeiten des Editors gehört auch, dass Lua jetzt als benutzbare Skriptsprache aufgenommen wurde. Auch die Unterstützung für Lambda-Funktionen bzw. Closures haben die Entwickler mit Vim 8.0 erweitert. So gibt es unter anderem inzwischen mit test-functions eine passende Umgebung, um Funktionen und Skripte testen zu können

Weiterführende Informationen zum neuen Release gibt es in der Dokumentation.

Die Browsertest-Plattform modern.IE jetzt auch in Deutsch

modern.IEWer professionell Internetseiten erstellt, kommt an einem Tool wie der Browsertest-Plattform modern.IE von Microsoft nicht vorbei.

Mit diesem Dienst stellt Microsoft Web-Entwicklern eine Testsuite zur Verfügung, mit der sie ihre Webseiten auf verschiedenen Versionen des Internet Explorer und unter verschiedenen Windows-Versionen testen können.

Jetzt ist das Portal auch in Deutsch und 17 weiteren Sprachen und mit neuen Features verfügbar. Neu dazugekommen sind virtuelle Maschinen für IE10 auf Windows 7 und IE8 auf Windows XP.

Es soll nun auch möglich sein, den Code von Seiten hinter einer Firewall zu bearbeiten. Zusätzlich stellt modern.IE neben den virtuellen Maschinen für Tests auch reichlich Dokumentation und Tutorials für Web-Entwickler bereit.

Verräterische Statusseiten beim Webserver Apache

Eine Untersuchung von Securi deckte auf, dass viele Internetserver ihre Statusseiten öffentlich anzeigen. Dabei können natürlich die IP-Adressen oder sogar Passwörter der Besucher verraten werden. Bei Bezahldienstleistern erscheinen auf den Seiten unter Umständen Sitzungstoken, über die man die gesamte Sitzung entführen und echte Schäden anrichten kann.

Eine Liste der vom Automatiktest von Securi gefundenen Server mit offenen Statusseiten wurde unter Urlfind.org ins Internet gestellt.

Ursache dafür ist eine fehlerhafte Konfiguration des Apache-Tools  mod_status. Wie man das korrekt konfiguriert, findet sich in der Apache-Dokumentation.

PHP-Framework Symfony 2.1 ist verfügbar

Wer Webseiten mit PHP erstellt, kennt sicher schon das PHP-Framework Symfonie. Mehrere Tausend Änderungen finden sich in der neuen Version 2.1 des quelloffenen PHP-Frameworks. Auch die Dokumentation und einige Tausend Unit-Tests sind hinzugekommen. Für eine so große Überarbeitung  ist die Kompatibilität zur Vorversion sehr gut geblieben.

Neu ist der Composer, mit dem man einfach und schnell neue Projekte einrichten kann und der auch fast alle Abhängigkeiten berücksichtigt. Auch das Formularmodul und der Swiftmailer wurden überarbeitet und beide sind merklich schneller geworden.

Das Symphony 2.1-Framework kann auf der Github-Projektseite als Tart- oder Zip-Archiv heruntergeladen werden. Auch einzelne Komponenten von Symfonie lassen sich dort einzeln herunterladen.

Google’s neue Programmiersprache Go ist fertig

Gut zwei Jahre nach der ersten Vorstellung hat Google jetzt mit der Version 1.0 seiner neuen Programmiersprache Go die erste stabile Version veröffentlicht. Die Sprache ist ein C-Ableger mit Multiprozessor-Unterstützung und ist daher besonders gut für die Systemprogrammierung geeignet.

Das Besondere an Go ist ein neuer objektorientierter Ansatz, bei dem komplett auf Klassen verzichtet wird. Es gibt auch keine While- oder Do-Schleifen.

Unter golang.org findet der Interessierte eine gute Dokumentation und diverse Tutorials, die den Einstieg in Go erleichtern. Sehr interessant ist auch das Tool „go fix“, dass die Kompilierungsdaten direkt aus dem Quellcode liest, so dass Make-Files nicht mehr nötig sind.