Als kleines neben Projekt, habe ich die Webseite fnfn.de veröffentlicht, indem ich die besten Restaurants, Bars, Sehenswürdigkeiten und Clubs von Berlin vorstelle.
Kategorie: Diverses
Power Arbeitszeit
Ich lebe und arbeite in einer digitalen Welt, in der Ablenkungen an der Tagesordnung sind. Ich fand, dass ich meine Tage oft mit ständigen Unterbrechungen und der Notwendigkeit, auf zahlreiche Anfragen zu reagieren, verbrachte. Daher begann ich, jeden Nachmittag eine Power Arbeitszeit einzuplanen, die sich als äußerst produktiv erwiesen hat.
Jeden Nachmittag plane ich zwei Stunden meiner Power Arbeitszeit ein. Dies ist eine Zeitspanne, in der ich meine Kommunikations-Apps deaktiviere, mein Handy auf stumm schalte und alle potenziellen Ablenkungen ausschalte. Während dieser Zeit sind keine Meetings erlaubt. Ich habe festgestellt, dass ich während dieser zwei Stunden tatsächlich etwa 80% meiner täglichen Arbeit erledigen kann.
Die Planung beginnt bereits vorher. Ich erstelle eine Prioritätenliste der Aufgaben, die ich erledigen muss. Diese Liste hilft mir, meine Zeit effektiv zu nutzen und zu gewährleisten, dass ich während meiner Power Arbeitszeit an den wichtigsten und dringendsten Aufgaben arbeite.
Pünktlich zum Start meiner Power Arbeitszeit schalte ich mein Handy auf stumm und lege es außer Sichtweite. Ich deaktiviere alle Benachrichtigungen auf meinem Computer und schließe alle Tabs und Anwendungen, die nicht für meine Arbeit erforderlich sind. Besonders wichtig ist, dass ich alle Funktionen von Microsoft Teams und anderen Kommunikationstools, die ich verwende, deaktiviere.
Während meiner Power Arbeitszeit arbeite ich in konzentrierten Blöcken. Ich versuche, 1 bis 2 Stunden ununterbrochen an einer Aufgabe zu arbeiten, abhängig von der Art der Aufgabe und meiner Konzentrationsfähigkeit. Nach jedem Block mache ich eine kurze Pause, um meine Konzentration wiederherzustellen und meine Augen und meinen Körper zu entspannen.
Die Power Arbeitszeit hat meine Arbeitsweise revolutioniert. Sie hat mir geholfen, produktiver und fokussierter zu arbeiten und die Qualität meiner Arbeit zu verbessern. Ich habe weniger Stress und mehr Kontrolle über meinen Arbeitstag. Ich empfehle jedem, der Schwierigkeiten hat, sich auf seine Arbeit zu konzentrieren oder produktiv zu sein, diese Methode auszuprobieren. Sie könnte die Antwort sein, die Sie suchen, um mehr aus Ihrem Arbeitstag herauszuholen.
Clean Code: A Handbook of Agile Software Craftsmanship ist ein Buch von Robert C. Martin, auch bekannt als „Uncle Bob“. Das Buch, das ursprünglich 2008 veröffentlicht wurde, ist ein Leitfaden für die agile Softwareentwicklung und richtet sich an Softwareentwickler, die sauberen, lesbaren und wartbaren Code schreiben wollen.
Im Buch werden Konzepte und Best Practices beschrieben, die dazu beitragen, dass Code einfacher zu verstehen und zu pflegen ist. Dazu gehören unter anderem die Verwendung eindeutiger Namen für Variablen und Funktionen, das Vermeiden von redundanter oder wiederholter Code sowie die Aufteilung von Code in kleine, wiederverwendbare Funktionen.
Die folgenden Regeln sind neben vielen anderen enthalten und werden sehr gut erläutert:
- Verwende eindeutige und beschreibende Namen für Variablen, Funktionen und Klassen.
- Vermeide redundante oder wiederholter Code, indem du ihn in Funktionen oder Methoden auslagern.
- Trenne Verantwortlichkeiten und logische Abschnitte deines Codes in verschiedene Klassen oder Module auf.
- Verwende Kommentare, um den Zweck und die Absicht deines Codes zu erläutern.
- Schreibe Tests für deinen Code, um seine Korrektheit und Zuverlässigkeit zu überprüfen.
- Vermeide Überladung von Funktionen und Methoden, um Verwirrung beim Aufruf zu vermeiden.
- Verwende Konstanten anstelle von Hardcoded Werten, um Code lesbarer und wartbarer zu machen.
- Vermeide „Magische Zahlen“ und „Magische Strings“ in deinem Code und verwende stattdessen Konstanten oder Enumerations.
- Vermeide unveränderliche Zustände und globale Variablen, da sie schwer zu testen und zu verstehen sind.
- Schreibe sauberen Code, indem du kleine Schritte und regelmäßiges Refactoring nutzt, um ihn lesbar und wartbar zu halten.
Ein wichtiger Aspekt von Clean Code ist die Testbarkeit. Das Buch betont, dass Code nur dann als sauber angesehen werden kann, wenn er leicht testbar ist und durch Tests nachgewiesen werden kann, dass er korrekt funktioniert. Dies hilft nicht nur, Fehler frühzeitig zu entdecken, sondern auch dabei, sicherzustellen, dass Änderungen am Code nicht unbeabsichtigte Auswirkungen haben.
Insgesamt bietet Clean Code eine umfassende Anleitung für die agile Softwareentwicklung und ist ein wertvoller Ratgeber für alle, die sauberen, wartbaren Code schreiben wollen.
Meine Bachelorarbeit zum Download:
Konzept und Entwicklung einer
Webanwendung zur Vermittlung von IT-Kräften
Daraus ist das Startup nerdle.de geworden, welches nach 2 Jahren aufgrund mangelnder Finanzierung eingestellt werden musste, aber mir sehr viel Spaß gemacht hat.
Behavioral Finance und Moving Averages
Meine Diplomarbeit zum Download
Behavioral Finance und Moving Averages – Anwendbarkeit/Simulation von Aktienmärkten
anhand des 200-Tage-Durchschnitts
Der neue Klassiker von Uncle Bob beschäftigt sich mit Software Architektur: Was ist eine gute Softeware Arcjtektur und wozu braucht man Sie überhaupt.
Die wichtigsten Aussagen habe ich zusammengefasst im folgenden:
Wozu benötugt man eine gute Architektur? Es ist einfach ein Programm zu schreiben, das etwas bestimmtes tut, selbst Schulkinder schreiben Programme. Aber schwierig ist es ein Programm zu schreiben, was auch in Zukunft erweiterbar und felxibel ist, ohne große Kosten und Aufwand zu verursachen. Deswegen bracht es von Anfang an gute Architektur.
Die Evolution der Programmiersprachen besteht darin, dem Programmierer weniger Möglichkeiten zu geben, schlechten Code zu schreiben.
Man sollte nicht in die Falle tappen: Wir programmieren schnell das Projekt zu Ende um schnell am Markt zu sein und später räumen wir den Code auf. Das wird nie passieren.
Das User Interface (UI), die Datenbank und die Business Rules sollten unabhängig von einander über Interfaces mit einander verbunden und austauschbar sein (Plugin Architektur). Dies ermöglicht ein
- unabhängiges Deployment der 3 Komponenten und
- unabhängige Entwicklung in verschiedenen Teams
Funktionale Programmierung löst das Problem von Deadlocks und Multi-Threading Problematiken, da keine richtigen Variablen vorhanden sind.
Am 1. März habe ich die Prüfung erfolgreich abgelegt für die ich die letzten Monate gelernt habe. Wie zu erwarten war, waren die Fragen sehr, sehr kniffelig, aber die Vorbereitung hat sich bezahlt gemacht.
Vorbereitung
Ich kann jedem empfehlen sich vorher merhmals das Buch PHP7 Zend Certification Study Guide durchzulesen:
Außerdem sollte man alle Tests auf der Seite zendexam.com zu 80% erfolgreich beantworten können, dann ist man bereit für die Prüfung.
Anmeldung für die Prüfung
Man kann sich auf der zend.com Seite anmelden für die Prüfung , die man dann in der Nähe in einem Testcenter seiner Wahl absolvieren kann unter strengsten Bedingungen.
Einmal im Jahr gibt es einen Gutschein für die Prüfung auf retailmenot.com, wenn man Glück hat.
Das gerade fertiggestellt Projekt baby-taschenrechner.de beschäftigt sich mit den Fragestellungen rund um die Entwicklung des eigenen Kindes:
- Wie groß wird mein Kind werden in x-Jahren
- Wie schwer wird mein Kind in x-Jahren
- Ist mein Kind zu schwer/zu dünn
- Welche Kleidergröße wird es wann tragen?
Die Webseite soll Eltern dabei helfen herauszufinden, wann sie welche Kleidergröße kaufen müssen, um im nahenden Winter/Sommer das passende zu Hause zu haben.
Eltern können so einschätzne, ob das Kind zu dünn oder zu dick ist für ihr Alter/Größe/Gewicht-Verhältnis.
Für die Realiserung wurden folgende Technologien verwendet:
Symfony 3, Docker, MySQL, PHP, GIT, Google Material Design, Amazon AWS
Wenn man heutzutage einen Webservice bauen will, kommt man um REST nicht mehr herum. Als quasi Standard erfüllt es die Bedürfnisse an eine moderne Schnittstelle am besten, im Gegensatz zu den Alternativen aus der grauen Vergangenheit: RPC, DCOM, CORBA, RMI und SOAP.
Was sind die Vorteile von REST?
1. Lose Kopplung
REST Schnittstellen können theoretisch gegeneinander ausgetauscht werden.
2. Interoperabilität
REST über HTTP ist in jeder Umgebung verfügbar und sehr einfach anzusprechen im Gegensatz zu den komplizierteren Ansätzen wie SOAP und CORBA.
3. Performance und Skalierbarkeit
Durch die Zustandslosigkeit können viele Anfragen aus dem Cache beantwortet werden und aufeinander folgende Anfragen müssen nicht von demselben System beantwortet werden (Skalierbarkeit)
Grundprinzipien von REST
Das letzte Projekt war sehr spannend, es handelte sich um eine Erweiterung des PHP Shop-Systems namens XT-Commerce bzw. des Derivats SEO-Commerce um eine Suche aktuellem Standards für Zeedee Berlin.
Elasticsearch wurde auf einer eigene Amatzon MWS EC2 Instanz gehostet mit 1GB Ram und 1 CPU (sehr kostengünstig).
Die folgende Funktionalität kann ganz einfach wieder deaktiviert werden an zentraler Stelle, wenn es Probleme mit Elasticsearch gibt und die alte MySQL Suche tritt wieder in Kraft.
1. Autocomplete / Suggest Funktion beim Befüllen der Suche
Beim Eintippen des Suchwortes werden schon Vorschläge gegeben im Millisekundenbereich. Dadurch kann der Kunde viel Zeit sparen und bei der Rechtschreibung wird auch geholfen. 

