Bei Datenmigrationen und der Batchverarbeitung kommen 2 Bereiche zusammen bei denen viele Entwickler (mich eingeschlossen) schnell an eine mentale Grenze stossen:
Zeit
Datenmenge
Wohl ist jedem bekannt das ein Tag 24 Stunden hat und ein Terabyte aus 1024 Gigabyte besteht. Und doch kommt es immer wieder zu bösen Überraschungen.
Nach gut 2 Jahren SharePoint war es wieder an der Zeit mein Wissen bezüglich Webanwendungen auf einen aktuellen Stand zu bringen. Ich nutzte diese Gelegenheit um auch gleich meine Microsoft-Zertifizierungen zu aktualisieren. Die dabei gewonnenen Erkenntnisse bei der Prüfungsvorbereitung sind das Thema dieses Beitrages.
Podcasts sind für mich ein sehr angenehmes Format um mich auf dem Laufenden zu halten. Alles was es braucht ist eine Mobiltelefon und eine vernünftige App die Podcasts verwalten kann. Und natürlich die passenden Podcasts. Heute möchte ich 5 Podcasts vorstellen die ich regelmässig höre und ich für Software-Entwickler empfehlen kann.
Mir gefällt an diesen Podcasts vor allem der regelmässige Blick über den Tellerrand. Sich nicht nur auf ein spezifisches Thema oder eine Technologie zu limitieren macht angesichts der kurzen Halbwertszeit von Frameworks und Toolkits Sinn. So bleiben viele der besprochenen Themen auch dann noch relevant wenn wir schon den nächsten Hype vor uns haben.
Wer sich für die Zertifizierung 70-480 "Programming in HTML5 with JavaScript and CSS3" vorbereitet trifft bald einmal auf den gleichnamigen Training Guide von Glenn Johnson. Dieser ist nicht nur auf der offiziellen Seite zur Prüfung als Vorbereitungsmaterial aufgeführt, sondern folgt auch dem Aufbau der Trainingsbücher von Microsoft Press für die .Net 4 Zertifizierungen.
Diese Bücher waren mal besser und mal schlechter geeignet um neben der Prüfung auch im Praxisalltag eingesetzt zu werden. Man konnte sich damit aber immer gut auf die Zertifizierung vorbereiten. Mit diesem Training Guide ist dies leider nicht der Fall.
Ein Sicherheitsfeature von Windows ist für Entwickler besonders mühsam: Die Blockierung von aus dem Internet geladenen .Net-Assemblies. Versucht man so eine *.dll in einem Visual Studio Projekt zu verwenden trifft man auf diese Fehlermeldung:
Error 172 Could not load the assembly file://**/*.dll. This assembly may have been downloaded from the Web. If an assembly has been downloaded from the Web, it is flagged by Windows as being a Web file, even if it resides on the local computer. This may prevent it from being used in your project. You can change this designation by changing the file properties. Only unblock assemblies that you trust. See https://go.microsoft.com/fwlink/?LinkId=179545 for more information.
Um möglichst schnell in ein komplexeres Projekt einzusteigen hilft einem eine gute Übersicht. Visual Studio bietet je nach Ausgabe eine recht gute Code Analyse. Will man mehr wissen oder ist man an bestimmten Konstellationen im Code interessiert, stösst man aber schnell an Grenzen. Hier benötigt man einmal mehr die Werkzeuge und Ergänzungen von Drittherstellern.
Als ich vor einigen Wochen gebeten wurde mir NDepend anzuschauen kam mir dies sehr gelegen. NDepend ist ein Tool zur statischen Code Analyse für .Net. Damit lässt sich der Code nicht nur auf vorgefertigte Qualitätskriterien überprüfen, sondern man kann auch eigene Abfragen definieren.
HTML5 und CSS3 sind in aller Munde. Wo man auch hin sieht findet man schöne Beispiele die mit den neusten Browser-Versionen wunderbare Möglichkeiten bieten. Was aber macht man wenn die eigenen Seitenbesucher noch mit IE 8 unterwegs sind? Verzichtet man auf diese Möglichkeiten? Oder bastelt man eine Umgehungslösung?
Um etwas zu erklären hilft ein Bild oft mehr als viele Worte. Bei der Bildschirmarbeit sind Screenshots daher kaum mehr wegzudenken. Wie aber macht man möglichst einfach solche Bilder? Meine Antwort darauf ist seit einiger Zeit Greenshot.
Mit diesem kostenlosen Programm kann man den ganzen Bildschirm, ein einzelnes Fenster oder nur einen Teilbereich abfotografieren. Wirklich praktisch sind aber die Zeichenfunktionen zum Hervorheben von Bereichen. So muss man nicht lange nach den entscheidenden Ausschnitt suchen. Und hat man für einmal einen Bereich den man nicht zeigen will kann man diesen unkenntlich machen:
Da alles Wesentliche in der kleinen Oberfläche untergebracht ist braucht man für die Alltagsarbeiten nicht extra ein Grafikprogramm zu starten. Wem dies alles zu viel ist und die Bildschirmfotos nur in die Zwischenablage haben will kann dies ebenfalls einrichten.
Nach langem fand ich doch noch die Zeit um dieses Buch zu lesen. Allerdings fragte ich mich sehr bald ob die Empfehlungen auf Amazon vom gleichen "Code Complete" handeln. Entgegen der weit verbreiteten Meinung hatte ich kein praktisches Handbuch vor mir, sondern die ausführlichste Auflistungen von Studien die ich je gesehen habe. Nach zahlreichen weiteren Entdeckungen kann ich von diesem Buch nur abraten.
Bei all den vielen neuen Werkzeugen, Techniken und (JavaScript-) Frameworks die wie Pilze aus dem Boden schiessen ist es äusserst schwer den Überblick zu behalten. Überall sieht man neue Dinge und vieles davon sieht so spannend aus dass man dies gleich ausprobieren will. Nur ist die Menge mittlerweile viel zu gross um dies auch zu tun.
Was man bräuchte ist eine Art Filter mit dem man sich gezielt auf einige ausgewählte Themen und Werkzeugen konzentrieren kann. Man müsste wichtigeres von unwichtigem trennen können ohne dabei zu viel Zeit mit dem Kategorisieren zu verlieren. Was ich bräuchte wäre etwas wie der Technology Radar von ThoughtWorks, nur halt für mich und meine Interessen.