Schreibzugriffe in der Datenbank sind immer kostenintensiv, das hat jeder schon mehrfach gehört. Der Ausweg beim INSERT ist denkbar einfach: Mehrere Datensätze pro Anfrage abschicken. Aber wo ist da die Grenze? Und wie genau geht das bei Updates? In diesem Artikel werde ich mich genau damit befassen. MySQL – Wie bekomme ich möglichst effizient und schnell viele Daten in die Datenbank? weiterlesen
Autor: stefan
PHP Unittests: Wie kann ich eine final Methode mocken?
Damit Mock-Objekte die instanceof
Prüfungen im zu testenden Code passieren können, müssen sie Kinder der simulierten Klasse sein. Aber als ebendiese Kindklassen können sie keine finalen Methoden überschreiben. In diesem Blogbeitrag werde ich euch zeigen, wie ihr trotzdem sauber testen könnt. PHP Unittests: Wie kann ich eine final Methode mocken? weiterlesen
Wie sollte ich meine Daten speichern? Ein Vergleich von Datenbank, Solr, …
Als Entwickler stehen wir immer wieder vor der Frage, wohin nur mit den Daten? Zur Auswahl stehen da eine ganze Reihe von Möglichkeiten, zum Beispiel Volltext-Suchmaschinen wie Lucene mit seinen Derivaten Elastic Search und Apache Solr, oder die Datenbankvarianten SQL, NoSQL und GraphDB. Im folgenden möchte ich eine Entscheidungshilfe zu diesem Thema geben. Wie sollte ich meine Daten speichern? Ein Vergleich von Datenbank, Solr, … weiterlesen
MVC – Einführung durch ein eigenes kleines „Framework“
PHP-Code für Webanwendungen folgt für gewöhnlich einem Muster. Früher war das gerne mal „Spaghetti-Code“, heute folgen viele dem Prinzip des MVC – eine Abkürzung für Model-View-Controller. In diesem Artikel werde ich mit euch ein eigenes kleines „Framework“ entwickeln, dass dieses Prinzip veranschaulicht. MVC – Einführung durch ein eigenes kleines „Framework“ weiterlesen
Caching – Ein Überblick
Früher oder später muss sich jeder Entwickler mit der Performance seiner Anwendung beschäftigen und sehr häufig stellt das Laden der Daten ein Nadelöhr dar. Hier kann die richtige Caching-Strategie geradezu Wunder wirken. Im Folgenden wird es also um die verschiedenen Möglichkeiten des Cachings gehen. Caching – Ein Überblick weiterlesen
MySQL – Warum ist mein Query so langsam?
Wir alle kennen das: Kaum ist das neue Update auf den Produktivservern, wird der Sysadmin panisch und erzählt was von zu hoher Last auf der Datenbank. Was nun? Kaffee holen und zusehen wie alles zur Hölle fährt, wäre eine Möglichkeit – in diesem Artikel soll es um eine weitere gehen. MySQL – Warum ist mein Query so langsam? weiterlesen
MySQL – To JOIN or not to JOIN
Als PHP Entwickler ist man ständig damit beschäftigt etwas aus einer Datenbank zu laden. Dabei kommen auch die ominösen Joins zum Einsatz, von dem alle immer erzählen sie wären böse. In diesem Artikel will ich mich genau mit diesem Vorurteil beschäftigen. MySQL – To JOIN or not to JOIN weiterlesen
Objektorientierung (OOP) – Abstract, Interface, Trait
Nachdem ich kürzlich ein Beispiel zu OOP gegeben habe, möchte ich nun ein paar Konzepte weiter ausführen. Zum Beispiel wann man ein Interface oder eine abstrakte Klasse verwenden sollte. „Neumodisches Zeug“ wie Traits werden auch berücksichtigt. Objektorientierung (OOP) – Abstract, Interface, Trait weiterlesen
Ein Beispiel zur Objektorientierung
Artikel zur Objektorientierung gibt es schon genügend (Wikipedia). Ich möchte hier anhand eines Beispiels die Unterschiede zur prozeduralen Programmierung verdeutlichen. Ein Beispiel zur Objektorientierung weiterlesen
Apache Solr – DataImportHandler – Feinheiten
Nachdem ich in einem früheren Beitrag bereits die Grundladen erörtert habe, soll es hier nun um die Feinheiten und Ausnahmen beim Datenimport in den Apache Solr gehen. Apache Solr – DataImportHandler – Feinheiten weiterlesen