What you need to know about the DOM: 20 functions in 100 lines

Okay, first english article. I’m feeling kind of stupid when posting code related topics in German so I’m gonna try to bring some english content in here. Personally I think that comments, variable names and everything code-related should be written in english – considering multi-national development teams.

So, enough introduction. What follows is one single function performing stupid javascript actions with the Document Object Model. Even though every sane developer prefers the use of a library like jQuery for stuff like that, it’s always good to know what goes on behind the scenes. What I’ve covered are the following functions:

  • document.
Den ganzen Post lesen
Veröffentlicht unter Javascript, Security, webdev | Hinterlasse einen Kommentar

Java Hibernate Tutorial

Nachdem ich mit SQLite das Java-Fass aufgemacht hab, gibts nun noch Hibernate hinterher. Hibernate ist wohl eines der bekanntesten ORM-Frameworks. Ich zeige das ganze anhand von Netbeans, aber auch hier sollte Eclipse nicht weit entfernt sein. Es wird frech davon ausgegangen, dass das Java-Plugin installiert ist.

1) Hibernate Plugin installieren

In Netbeans unter Tools -Plugins -Availible Plugins -Hibernate. Sollte schmerzfrei durchlaufen.

2) Java Projekt anlegen

File -New Projekt -Java Application. Darf auch eine DesktopApplication sein, wenn ihr den GUI-Builder (Swing) als Plugin mitinstalliert habt – tut aber für Hibernate nichts zur Sache. Die Standardeinstellungen tun es unter Netbeans für das neue Projekt.… Den ganzen Post lesen

Veröffentlicht unter Datenbanken, Java | 1 Kommentar

Java und SQLite

Was folgt ist ein etwas themenfremder Exkurs in die Java-Welt. Und zwar ein kleines Tutorial zur Anbindung einer (dateibasierten) SQLite Datenbank an Java. Ich werde Netbeans benutzen, unterstelle aber das Eclipse da sehr ähnlich zu handhaben sein wird. Als OS kommt Windows 7 zum Einsatz, ich werde aber an den entsprechenden Stelle auch den „Linux way“ dazuschreiben. Los gehts auf Basis eines frisch installierten Netbeans ohne Java-Plugin – wenn Java also schon drauf sein sollte, einfach bei Schritt 3 loslegen.

1) JDK herunterladen und installieren

Findet man hier – leider aber nur mit Oracle Account. JDK installieren. Netbeans muss dabei geschlossen sein, sonst bleibt der Fortschrittsbalken bei der JDK Installation einfach stehen (ohne Warnung).… Den ganzen Post lesen

Veröffentlicht unter Datenbanken, Java | 5 Kommentare

Über ORM

ORM ist an sich eine feine Sache. Durch die zusätzliche Abstraktionsschicht ist man so gut wie vollkommen datenbankunabhängig. Weiterhin hat man einen sauberen OOP Ansatz duchgehend im Projekt ohne hässliche SQL Statements dazwischengemischt zu haben. Es fühlt sich sehr „smooth“ an und steigert – richtig gemacht – auch durchaus die Verständlichkeit des Codes.

Trotzdem bin ich nicht in allen Belangen großer Freund von ORM. Neulich hatte ich mit einer Tabelle zu tun, in der mehrere Millionen Tupel enthalten waren. Ein falsch platzierter Index oder der kleinste Fehler bei der Formulierung der Query führt dazu, dass man mehrere Minuten auf das Ergebnis der Abfrage warten darf.… Den ganzen Post lesen

Veröffentlicht unter Datenbanken, Software Engineering, Performance, webdev | 3 Kommentare

Quicktip: Integer Validation

Oft ist es ja so, dass man einen Integer validieren möchte, der allerdings als String vorliegt (bei SOAP z.B.). Das heißt, dass uns is_int nicht weiterhilft, wie folgender Schnippsel zeigt:

var_dump(is_int("12")); //false

Klar, ist kein int – kann man PHP keinen Strick draus drehen. Alternative ist is_numeric.

var_dump(is_numeric("12")); //true

Ah, wunderbar – warum auch immer jetzt auf einmal Strings kein Problem mehr darstellen. Aber:

var_dump(is_numeric("12.123456")); //true

Klar irgendwie, „numeric“ heißt nicht zwangsläufig gerade. Deswegen (meines Erachtens nach der beste Weg): intval

intval konvertiert (sofern möglich, also wenn etwa ein int in einem String vorliegt) zu Integer, allerdings kommt bei allen anderen Inputs (bspw.… Den ganzen Post lesen

Veröffentlicht unter php, Security, Quicktips, webdev | 1 Kommentar

Best-of-the-Web 1

Los gehts mit einer furiosen Linkserie aus dem Informativsten, was mir in der letzten Zeit im Feedreader begegnet ist. Naturgemäß wird der Themenschwerpunkt webdev-zentriert sein, es ist jedoch nicht auszuschließen das sonstige Perlen des Internets hier auftauchen werden. Und ab dafür.

  • PHP5 – Einstieg in SOAP – Wer noch nie was von SOAP gehört hat sollte unbedingt hier starten. Die PHP Dokumentation selbst ist dazu recht mies. Ich war bei SOAP erst sehr skeptisch, finde es mittlerweile aber echt super – u.a. da es 1a in PHP implementiert ist
  • Die Reflection API von PHP – Auch hierzu findet man kaum was einsteigertaugliches in der API Dokumentation selbst.
Den ganzen Post lesen
Veröffentlicht unter php, Datenbanken, Best of the Web, webdev, Persönlich | Hinterlasse einen Kommentar

Web-Performance: Best Practices

Was folgt ist eine Mischung aus der sehr guten (!) Artikelserie „Make the web faster“ von google und einigen persönlichen Ergänzungen und Erfahrungen. Erhebt keinerlei Anspruch auf Vollständigkeit und mischt server- sowie clientseitige Tipps querbeet. Ich gehe hier nicht besonders ins Detail, nenne aber genug Stichwörter, zu denen man sich dann schlaugooglen kann. Als Abschluss der Einleitung möchte ich noch auf den Gott der Webperformance verweisen, ohne dessen Bücher und Analysen wir sicher noch nicht da wären wo wir heute sind.

  1. Javascript so weit wie es geht asynchron laden bzw. ans Seitenende befördern, da Browser JS-Dateien in der Regel nicht parallel laden.
Den ganzen Post lesen
Veröffentlicht unter php, Javascript, Datenbanken, Performance, Security, Quicktips, webdev | 1 Kommentar

Sichere Passwörter

Der ultimative Trick! Wessen Kreativität nur für sein Geburtsdatum oder Wörter im Lexikon ausreicht, dem kann geholfen werden. Man nehme sich einfach einen einprägsamen Satz wie zum Beispiel

Jeden Mittwoch putze ich das Bad

Logischerweise sollte man mit dieser Floskel auch irgendwas verbinden, also nichts total aus der Luft gegriffenes. Anschließend werden alle Anfangsbuchstaben zu einem Wort zusammengefasst, also JMpidB

Reicht aber noch nicht. Jetzt hängt man davor und/oder dahinter noch ein paar Zahlen bzw. Sonderzeichen. Ich habe am 13.03.1989 Geburtstag, würde mir also z.B. 13.JMpidB.03! gut vorstellen können. Ist einprägsam und sollte per Bruteforce ein paar Jahre dauern.… Den ganzen Post lesen

Veröffentlicht unter Security, misc IT, Persönlich | Hinterlasse einen Kommentar

Javascript Error-Handling

In PHP ist ja so ziemlich alles erforscht, wie man mit Exceptions und Errors umzugehen hat. In Javascript wird das Thema aber sehr stiefmütterlich behandelt. Hier mal ein Ansatz, um JS-Fehler effektiv tracken und loggen zu können.

E.js

var E =
{
    //true: errors via alert / false: errors are being logged
    debugMode:false,

    //processes errors
    handle: function(sev,msg)
    {
        if (E.debugMode) {
            alert("Error ("+sev+") with message: " + msg);
        } else {
            var img=new Image();
            img.src="errorlogger.php?sev="+encodeURIComponent(sev)+
                         "&msg="+encodeURIComponent(msg)+
                         "&url="+encodeURIComponent(document.URL);
        }
    }
}

//error has not been caught and forwarded to "errorhandler" manually -> windowerror
window.onerror=function(msg,url,line)
{
    E.handle(1,'Uncaught error:'+msg+" in "+url+", line "+line);
    return true; //continue
}

In dieser Javascript-Datei geht die eigentliche Magie ab.… Den ganzen Post lesen

Veröffentlicht unter Javascript, Quicktips, webdev | 2 Kommentare

Best of Webdev-Blogs

Nach so ca. 5 Jahren habe ich die für mich beste Kombo an Feeds gefunden. Pro Tag sinds ca. 90, die im Querschnitt erscheinen, was noch gut zu bewältigen ist. Sollten längere oder besonders zeitaufwändige Sachen dabei sein, wandern die in die Bookmarks und werden fürs Wochenende aufgehoben (wo traditionell weniger im Feedreader los ist). Meine Feeds setzen sich aus den Kategorien Was ist los in der IT-Welt und Webdev-Related zusammen. Für den Nachrichtenüberblick reicht mir die Tagesschau ;). Let’s go.

Was ist los in der IT-Welt-Blogs

Genereller Überblick, was an der Hardware/Software-Front geht. Entwicklungen im Bereich Social Media, Google, Microsoft etc.… Den ganzen Post lesen

Veröffentlicht unter webdev, misc IT, Persönlich | 1 Kommentar