Kategorien
Server Administration

DNS – Namensauflösung mit Nameservern – Teil2

Wenn man eine Domäne im Internet abfragt, wird die IP auf folgende Arten bestimmt:

Rekursive Namensauflösung

Der angefragte konfigurierte Nameserver kümmert sich komplett um das Auflösen und Cachen der DNS-Anfragen. Der Nameserver fragt selber iterativ andere Nameserver nach der Adresse, bis er die Antwort oder das Scheitern an den Client zurück sendet. Der Resolver ist der Teil des Clients, die die Kommunikation mit dem Nameserver übernimmt.

Dns-abfrage
Rekursive Namensauflösung

Kategorien
Server Administration

DNS – Grundlagen mit dig – Teil1

Was ist das Domain Name System (DNS)?

Die eindeutige Adresse im Internet, über die Server und Rechner gefunden werden können, ist allein die IP-Adresse: Bsp. IPv4-Adresse: 13.1.5.128.

Diese Adresse haben den Nachteil, dass sie schwer merkbar und nur flach hierarchisch strukturiert.

Zur Lösung des Problems wurden die DNS-Adressen eingeführt (Domänen), Beispiel: www.google.de.

Diese Adressen werden auf die IP-Adressen der Server gemappt durch Domain Name Server. Das bedeutet, wenn man die Adresse www.google.de eintippt in den Browser wird zuerst ein DNS-Lookup Request ausgeführt, der die IP Adresse bestimmt. Dies kann mit dem dig-Befehl unter Ubuntu nachvollzogen werden.

Kategorien
Android

ActionBarSherlock eigenes Design

ActionBarSherlock ist ein Framework für Android um eine ActionBar implementieren zu können vor der Android Version 3.0, bei der es eine native ActionBar gibt.

Beispiel für Actionbar mit eigenem Design unter Android 2.3.3

Außerdem kann man sehr viele Funktionen nutzen,die selbst die native ActionBar nicht möglich macht, eine Übersicht kann man sich am besten verschaffen durch die Installation der Sample App auf einem Android Device.

Eine Schwierigkeit des Frameworks besteht in der Individualisierung des Designs, dies ist sehr schwer möglich ohne den Online Style Generator für ActionBarSherlock. Mit diesem lässt sich viel Zeit sparen, absolut zu empfehlen!

Aktiviertes Suchfeld in Actionbar

 

Kategorien
Erlang

Eine einfache Datenbank in Erlang

Mit Erlang ist die prinzipielle Erstellung eines Datenbankmanagementssystems (DBMS) relativ einfach zu bewältigen.

Dafür spricht auch, dass einige Datenbanken in Erlang entwickelt worden sind:

  • CouchDB
  • SimpleDB

Aber auch andere sehr bekannte Projekte.

Beispiel Datenbank Statements in Erlang

Kategorien
Erlang

List Comprehensions – Erlangs elegante for-Schleife

In Erlang gibt es das besondere Konstrukt der List Comprehension um elegant und ohne viel Code eine List von Zahlen schnell erzeugen zu können.

Sie werden meist in den folgenden Fällen eingesetzt:

  1. Anwendung einer Funktion auf eine Liste
  2. Filterung einer Liste
  3. verschachtelte for-Schleifen

Der Syntax der List Comprehensions

[Expression || Generaotor1, Guard11,...GuardN1, Generator2, Guard12,......GeneraotorM, Guard1M,...GuardNM,]

Expression: spezifiziert die Ergebniselement der Ergebnisliste

Generator: vergleichbar mit einer for-Schleife, bei der jedes Element der Liste durchlaufen wird: Syntax: Element<-Liste

Guards: haben eine Filter-Funktion, die bestimmt, ob ein Element in der Ergebnis-Liste landet

Einfache Beispiele für Lists Comprehensions

[X||X<-[1,2,3,4]].        
[1,2,3,4]
[X||X<-[1,2,3,4], X < 3].
[1,2]
[X||X<-[1,2,3,4], X rem 2 == 0].
[2,4]

Kategorien
Diverses

ErrorCode 8002: Invalid MBR Windows7

Bei einem Boot Fehler wie

ErrorCode 8002: Invalid MBR

bleibt einem nur die Reparatur mit der Windows7 DVD, wie bei Microsoft beschrieben. Der Fehler bedeutet, dass der Master Boot Record kaputt ist, mit dem Windows gebootet wird.

Oder in meinem Fall reichte schon ein Recovery Image von meine Programm Comodo Time Machine (Freeware). Damit konnte ich einfach den letzten Stand wiederherstellen. Das Tool läuft ruhig und ohne zu nerven im Hintergrund und bietet vor dem Hochfahren von Windows eine Option zur Wiederherrstellung auch in solch schweren Fällen wie hier.

Ich empfehle dieses Programm allen sehr, weil es mir persönlich jetzt schon zum Zweiten mal „das Leben gerettet“ hat.

Kategorien
JavaScript

Javascript Date Vergleich auf Tagesbasis

Zum Vergleich von 2 Date Objekten in Jacascript kann man die folgende Funktion benutzen, die bestimmt, ob ein Datum größer ist auf Tagesbasis. Dies ist sehr nützlich, wenn man ein Datum aus einem Datepicker auswählt:

function isDateInFutureOnDailyBasis(date1, date2)
{
     if(date1.getFullYear() > date2.getFullYear())
    {
        return true;
    }
    else if(date1.getFullYear() == date2.getFullYear())
     {
         if(date1.getMonth() > date2.getMonth())
         {
             return true;
         }
         else if(date1.getMonth() == date2.getMonth())
         if(date1.getDay() > date2.getDay())
         {
             return true;
         }
     }

    return false;
}

 

Kategorien
Webdeveloper Tools

Wie entpacke ich eine tar.gz Datei unter Windows7?

Dafür gibt einen sehr schönen kostenlosen Online-Service: wobzip.org.

Einfach Archiv hochladen und entpackt wieder runterladen.

Funktioniert auch mit den Formaten: 7z,ARJ,BZIP2,CAB,CHM,CPIO,CramFS,DEB,DMG, FAT,GZIP,HFS,ISO,LZH,LZMA,MBR,MSI,NSIS,NTFS, RAR,RPM,SquashFS,TAR,UDF,VHD,XAR,XZ,Z,ZIP

Eine andere Möglichkeit ist Winrar, was aber nur für 40Tage kostenlos als Testversion  oder kostenpflichtig mit einer Lizenz genutzt werden kann.

Kategorien
PHP

Cross Site Ajax Requests erlauben PHP

Bei der Entwicklung von Webapps oder modernen Webseiten steht man zwangsläufig vor dem Problem, dass man Ajax Requests zu anderen Domains oder Subdomains machen muss.

Als Cross Ajax Requests gilt auch schon ein Requests von http://foo.de zu https://foo.de.

Wennn man dies versucht kriegt man im Chrome und Safari die folgende Fehlermeldung auf der Javascript Konsole:

XMLHttpRequest cannot load Origin http://foo2.de is not allowed by Access-Control-Allow-Origin.

und ein Fehlerobject zurück:

Object {readyState: 0, status: 0, statusText: "Error: NETWORK_ERR: XMLHttpRequest Exception 101"}

Im Firefox bei Verwendung einer von Google gehosteten jQuery Version erhält man nur die kryptische Nachricht:

"[Exception... "Failure"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js :: <TOP_LEVEL> :: line 2"  data: no]"
Kategorien
Webdeveloper Tools

Testen von GET und POST Anfragen Firefox Addon

Wenn man ein Formular gebaut hat und dies testen will, kann man das sehr gut Firefox Addon HttpRequester benutzen. Damit ist es möglich GET/PUT/POST/DELETE Requests an eine URL zu senden und die Antwort als HTML anzeigen zu lassen.

Außerdem ist es auch sehr gut geeignet um andere Seiten komfortabel zu hacken:)