Entwicklung

async und await in .NET 4.5

Dieser Artikel ist älter als zwei Jahre und womöglich veraltet!
Da ich erst jetzt dazu kam das neue Visual Studio Express 2012 for Desktop zu installieren, nun eine kurze Erklärung der Schlüsselwörter `async` und `await`, wie sie im .NET-Framework 4.5 vorkommen. Bis jetzt musste immer eine Callback-Funktion verwendet werden, wenn man beispielsweise Netzwerkanfragen senden will, um die Benutzeroberfläche nicht einfrieren zu lassen. Mit den beiden Schlüsselwörtern ist es nun endlich möglich auf die Antwort der Anfrage zu warten. Beispielsweise funktioniert es mit dem folgenden Code einen String asynchron herunterzuladen: {% highlight csharp %} private async String getData(){ WebClient client = new WebClient(); return await client.DownloadStringAsync("http://example.org"); } {% endhighlight %} Mit dem Schlüsselwort `async` deklariert man die Funktion als asynchron und stellt das Wort `await` vor die Aktion, auf die gewartet werden soll.
Eigenes Projekt

EAN13-Plugin für jQuery

Dieser Artikel ist älter als zwei Jahre und womöglich veraltet!
Vor ein paar Tagen habe ich eine von mir programmierte Bibliothek für jQuery zur Erstellung von EAN13 Barcodes auf [Github](http://github.com) veröffentlicht. Mit [jQuery.EAN13](https://github.com/joushx/jQuery.EAN13) ist es möglich aus einer Nummer einen Barcode als HTML5-Canvas zu erstellen. ![Barcode]({{site.baseurl}}/assets/img/picture_50.png)
[Demo](http://demo.johannes-mittendorfer.com/jquery-ean13)
Einbindung des Plugin ------- Zur Einbindung in eine HTML-Seite fügt man folgendes dem `head`-Bereich **nach** der Einbindung von jQuery ein: {% highlight html %} {% endhighlight %} Verwendung ------- Im `body`-Bereich muss an der gewünschten Stelle ein Canvas-Element mit der passenden Größe eingefügt werden: {% highlight html %} Your browser does not support canvas-elements. {% endhighlight %} Nun kann man im JavaScript am Ende des `body`-Bereiches folgendes eintragen, um den Barcode anzuzeigen: {% highlight js %} $("#ean").EAN13("9002236311036"); {% endhighlight %} Weitere funktionen sind im Readme auf der Github-Seite des Projektes zu finden.
Security

Wie funktionieren die iOS 6 Maps?

Dieser Artikel ist älter als zwei Jahre und womöglich veraltet!
Mit iOS 6 wurde eine neue Kartenapp eingeführt. Diese kommt erstmals ganz ohne Google aus und verwendet jetzt Vektorkarten, die Apple eingekauft hat. Auch diese Daten werden jedoch aus dem Internet nachgeladen. ![Screenshots]({{site.baseurl}}/assets/img/picture_52.png) Eine Anfrage nach einer Kartenkachel sieht zum Beispiel so aus: (Ich habe die IDs gekürzt.) {% highlight text %} http://gspa23.ls.apple.com/tile?style=13&size=2&scale=0&v=46&z=14&x=8820&y=5700&lang=de&sid=1628527042778230930310178...&tk=fb6f3cfbfcf47c40b20a44aacb...&mapkey=1348503588_3e8f1cd028503e1be44950cf0... {% endhighlight %} Ich habe versucht die Parameter richtig einzuordnen: | Parameter | Bedeutung | |-----------------|-----------------| | style | Art der Karte. Hier ist es "13". Vergleichbar zu iPhoto-Karten mit dem Style "slideshow" | | size | Größe der Kachel? | | scale | Skalierung | | v | ? | | z | Zoom | | x | X-Koordinate. (Große Zahl ?) | | y | Y-Koordinate | | lang | Sprache | | sid | ? (ändert sich nicht) | | tk | ? (ändert sich) | | mapkey | Womöglich Hash der Anfrage (Teil nach Unterstrich ändert sich) | Auf solche Anfragen antwortet der Apple-Server mit den Kartendaten mit dem Mimetype `x-protobuf`. Es handelt sich dabei um das [Protocol-Buffers-Format](http://code.google.com/p/protobuf), das von Google entwickelt wurde. ![Daten]({{site.baseurl}}/assets/img/picture_51.jpeg) Bis jetzt noch nicht gelungen diese Daten lesabar zu machen, da es sich um ein binäres Format mit benutzerdefiniertem Aufbau handelt.
Security

Was sonst noch war: GMX und die Hacker

Dieser Artikel ist älter als zwei Jahre und womöglich veraltet!
Vor langer Zeit habe ich mir eine Konto bei GMX angelegt, jedoch benutze ich dieses Konto schon seit Jahren nicht mehr. Ich lasse mir aber Email von dort noch weiterleiten, um nicht doch etwas zu verpassen. Heute habe ich eine Email von GMX erhalten, die augenscheinlich an alle Benutzer des Dienstes ging: ![GMX Hilfe]({{site.baseurl}}/assets/img/picture_40.jpeg) Darin wird erwähnt, dass sich Hacker Zugang zu den Benutzerkonten verschaffen konnten und man darum besser das Passswort ändern sollte. Was man daraus schließen kann: Auch GMX hielt es wohl bisher nicht für nötig Passwörter so zu verschlüsseln, dass es für Hacker unmöglich ist diese zu benutzen. Womöglich wurden die Passwörter sogar in Klartext in einer Datenbank abgelegt. Gerade im Angesicht immer neuer Hackerangriffe ist es verantwortungslos Passwörter so zu speichern, dass sie Hackern wie auf einem Silbertablett präsentiert werden. Ich habe jedenfalls eine Konsequenz aus der Sache gezogen und nicht mein Passwort geändert, sondern gleich meinen Account dort gelöscht. Dazu wieder einmal: [Unbequem aber sicher: Das seitenspezifische Passwort](http://johannes-mittendorfer.com/artikel/2011/06/unbequem-aber-sicher-das-seitenspezifische-passwort)