Archiv der Kategorie: webdev

Ü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

praktischer Linux/Ubuntu-Stuff

Mal ein paar zusammengewürfelte Sachen die ich in letzter Zeit als recht praktisch empfunden habe. Los gehts mit

Alias

Wer in die Shell

alias l="ls -lha"

reinkloppt, kann in Zukunft nur noch l in die Konsole tippen und spart sich den Rest. Allerdings gilt der Spaß nur für die aktuell laufende Sitzung. Mittels

gksudo gedit /home/username/.bash_aliases

wird die alias-Datei geöffnet. Da dann den oben beschriebenen Befehl reingehauen und er ist auch persistent über den Neustart hinaus.

Entfernen des Boot-Splash-Screens (GRUB)

Ich schau mir lieber die durchratternden Bootmeldungen an als einen unsexy Ubuntu Ladebalken. Wie kriegt man den weg?

gksudo gedit /etc/default/grub

und dann in der Datei die Zeile anpassen, die quiet splash in Hochkomma stehen hat.… Den ganzen Post lesen

Veröffentlicht unter Quicktips, Linux | Hinterlasse einen Kommentar

Hackit

Hab‘ mir mal die Mühe gemacht, ein kleines Hackit mit 9 Leveln zu basteln, was ein paar Belange zum Thema „sichere Webentwicklung“ und Javascript abdeckt. War eigentlich als Anreiz für paar Leute an meiner Hochschule gedacht. Gibt sogar eine Bestenliste und eine Belohnung! Wenn das mal nix is!

Zum SpielDen ganzen Post lesen

Veröffentlicht unter Javascript, Security | 4 Kommentare

Tricks mit .htaccess

.htaccess – Dateien sind kleine Webserver-Konfigurationsdateien, die einige sehr nützliche Features mitbringen. Auf die meiner Meinung nach nützlichsten Tricks und Kniffe mit dieser Datei gehe ich in dieser Kurzabhandlung ein.

1) .htaccess erstellen

Das erste Problem kommt postwendend: Wie erstellt man eine .htaccess-Datei? Da Windows keine Dateinamen zulässt, die mit einem Punkt beginnen, hat man 2 Möglichkeiten: Entweder man erstellt die Datei unter htaccess.txt, lädt sie auf den FTP-Server und benennt sie da erst in .htaccess um, oder man verwendet einen „besseren“ Texteditor wie Notepad++, erstellt ein neues Dokument und speichert dieses unter .htaccess, was dann komischerweise auch von Windows toleriert wird.… Den ganzen Post lesen

Veröffentlicht unter php, Performance, Security, webdev | 4 Kommentare