Boehrsi.de - Blog and Community

Boehrsi.de Header Image

Empfohlen in Projekte

Weitere Kategorien

Blog Beiträge

I'm a coder - KW 6

event Erstellt am So. 12.02.17 - 19:57 Uhr von Boehrsi
I'm a coder - KW 6 Image I'm a coder - KW 6 Image

Heute ist mal wieder Sonntag und somit wird es Zeit für eine I'm a coder News. Dieses Mal soll es ein wenig um die richtige Aufteilung von Arbeitspaketen gehen. Wie auch schon in den letzten Beiträgen können die folgenden Dinge meiner Meinung nach sowohl bei privaten Projekten, wie auch im professionellen Bereich eingesetzt werden. Denn eigentlich ist die Regel hier recht einfach: „Lieber viele kleine Schritte nacheinander, als einen Großen“. Dies bietet mehr Möglichkeiten Fehler zu entdecken und zu korrigieren und der Fortschritt kann besser verfolgt werden. Die Zerteilung von Arbeitspaketen ist übrigens nicht nur während der Planungsphase wichtig, auch während der Implementierung können neue Komponenten entdeckt werden, die für ein bestimmtes Ticket relevant sind. Diese können dann innerhalb des eigentlichen Tickets implementiert werden oder aber man gliedert sie aus und bearbeitet diesen Teil zuerst und packt das eigentliche Ticket dann oben drauf. Das bietet einfacherer Reviews und man ist flexibler, wenn z.B. andere Personen von den kleineren Teilen des Tickets bereits profitieren können. Ein wenig mehr Aufwand in Form von Tickets erstellen oder Git Commits entsteht vielleicht, ist aber meiner Meinung nach zu verschmerzen. Wie geht ihr in diesem Bereich vor und vor allem warum tut ihr dies entsprechend?

Teil der Sammlung
Bildquelle: boehrsi.de

I'm a coder - KW 5

event Erstellt am So. 05.02.17 - 19:51 Uhr von Boehrsi
I'm a coder - KW 5 Image I'm a coder - KW 5 Image

Ich schreibe, wie schon mehrfach erwähnt, aktuell an einem Web-Service, dieser kann von angemeldeten Nutzern genutzt werden und bietet eine API für alle interessierten Clients. Dabei habe ich für mich festgestellt wie hoch die initialen Hürden sind und wie gut es nach dem ersten Einstieg voran geht. Denn obwohl ich nebenbei schon recht lange daran arbeite, sind noch nicht viele Endpoints gegeben und damit auch nicht viel Funktionalität. Doch nachdem nun die Authentication und Authorization fertig ist läuft es quasi wie von selbst. Neue Endpoints sind aufgrund der gegebenen Grundstruktur nun einfach umzusetzen, die Methoden und Klassen für einen schnellen Zugriff sind bereits vorhanden und allgemein ist nun ein Flow vorhanden der ein schnelles und effektives Arbeiten erlaubt. Schreiben tue ich dies um euch falls ihr am Anfang eines solchen Projekts steht Hoffnung zu geben, denn der Anfang kann wirklich etwas frustrierend sein. Dazu sei auch noch gesagt, dass es mittlerweile viele Tools und Dienste gibt, welche euch gerade im Bereich der Authentication und Authorization vieles abnehmen. Einziger Nachteil für einige ist, dass ihr euch dann auf andere Anbieter für Logins verlasst, doch sofern ihr nichts gegeben Google und Konsorten habt ist dies nicht zwangsläufig ein Problem. Alles in allem kann ich nur sagen, dass ein solides Framework als Basis, eine große Anzahl an Tutorials und eine aktive Community bei Startproblemen helfen und sofern man den ersten Einstieg geschafft hat es durchaus gut voran gehen kann. Zur besseren Einordnung abschließend noch der Hinweis ich schreibe eine REST ähnliche Spring Boot Anwendung.

Teil der Sammlung
Bildquelle: boehrsi.de

I'm a coder - KW 4

event Erstellt am So. 29.01.17 - 16:28 Uhr von Boehrsi
I'm a coder - KW 4 Image I'm a coder - KW 4 Image

Es ist Sonntag, die Woche neigt sich dem Ende entgegen und ich habe das Gefühl noch etwas schreiben zu müssen. Diese Woche möchte ich ein paar Worte zu Dokumentationen verlieren, denn diese werden zu häufig vernachlässigt. Egal ob im privaten oder professionellen Kontext, Dokumentation sollte erstellt werden. Dabei ist die Form meiner Meinung nach nur zweitrangig wichtig, solange man irgendwo die nötigen Informationen findet. Denn auch wenn Code möglichst selbsterklärend sein sollte, so kommt es oft genug vor das man das große ganze nicht basierend auf einem einzigen Code Fragment erkennen kann. Backtracking ist dann eine Möglichkeit, aber diese ist zeitaufwendig und nicht immer zielführend. Ein paar einfache Worte am Anfang einer Klasse, ein Wiki mit ein paar Sätzen oder sogar eine kleine Grafik und schon fällt einem das Verstehen wesentlich leichter. Dies gilt übrigens auch für eigenen Code, denn es ist interessant wie schnell man vergisst was man zwei Tage zuvor entwickelt hat und was man sich dabei gedacht hat. Außerdem fällt einem manchmal beim dokumentieren auf, dass Dinge anders mehr Sinn gemacht hätten und man dementsprechend noch optimieren kann. Ich selber bevorzuge Wikis und möglichst wenig In-Code Dokumentation. Auch Grafiken stehen bei mir sehr hoch im Kurs, da sie gerade für Ablaufbeschreibungen schnell zu verstehen sind und teilweise auch schneller erstellt sind, als ein langer Text. Wie erstellt ihr eure Dokumentationen und macht ihr sie überhaupt?

Teil der Sammlung
Bildquelle: boehrsi.de

I'm a coder - KW 3

event Erstellt am So. 22.01.17 - 18:24 Uhr von Boehrsi
I'm a coder - KW 3 Image I'm a coder - KW 3 Image

Es ist Sonntag und ich überlege ob ich zocke oder programmiere, doch bevor ich mich dieser extrem schweren Frage stelle noch eine kleine News für zwischendurch. Dieses Mal geht es um Android Libraries und die Anzahl an Methoden die sie mitbringen. Jeder Android Entwickler kennt vermutlich das 64K DEX Limit und wird hier und dort schon einmal nervige Erfahrungen mit Multi-DEX gemacht haben. Auch wenn dies ein geringeres Problem in neueren Android Versionen darstellt, ist es trotzdem störend. Denn sobald man Multi-DEX nutzt kann das bauen länger dauern, hier und dort können kryptische Fehler entstehen und gerade bei ganz neuen Android Studio Features kann es Probleme geben. Deswegen habe ich gerade erst bei einem großen Projekt mit hängen und würgen diverse Methoden aus fremden Libraries entfernt, um unter das magische DEX Limit zu kommen. Dazu gibt es bald noch einen Beitrag. Doch die Ernüchterung kam bald, denn abgesehen davon das die Android Support Libraries extrem viele Methoden am Start haben, gab es bald eine neue Abhängigkeit und zwar die Google Services. Damit war dann jegliche Chance verloren unter das DEX Limit zu kommen. Denn mit 20K+ Methoden für diverse Android Support Komponenten und dann noch ca. 8K für eine Komponente der Google Services ist man schon so extrem weit oben was den Method-Count angeht. Ich verstehe wie komplex diese Dinge sind und was Google so nah am System wohl alles bauen und bedenken muss, doch ein wenig mehr Augenmerk auf diese Komponenten mit Bezug auf die Anzahl der Methoden wäre hin und wieder sehr angenehm. In diesem Kontext ist mir bewusst das die Android Support und Google Services Libraries in der letzten Zeit in kleinere Pakete zerteilt wurden, was ich extrem gut finde, doch irgendwie reicht dies leider noch nicht aus. Für mich heißt es nun back to Multi-DEX und mit den eventuellen Problemen auskommen. Wie ist es bei euch, kennt ihr das Problem und wie umgeht ihr es bei euch, sofern dies möglich ist?

Teil der Sammlung
Bildquelle: boehrsi.de

Cities: Skylines - Bremen Map im Winter

event Erstellt am Mi. 18.01.17 - 23:17 Uhr von Boehrsi
Cities: Skylines - Bremen Map im Winter Image Cities: Skylines - Bremen Map im Winter Image

Die aktuellen Temperaturen um den Gefrierpunkt und darunter haben meine Motivation erneut geweckt meine Bremen Karte auch für den Snowfall DLC bereitzustellen. Dabei muss ich leider den Großteil neu erstellen, denn ein Export / Import ist nur für die Höhenkarte verfügbar. Alle Bäume, Straßen usw. muss ich manuell erneut setzen. Dies brauch leider etwas Zeit und ist nebenbei gesagt auch etwas unnötig meiner Meinung nach, denn eigentlich möchte ich ja nur das Theme der Karte ändern. Ich finde dies sollte vom Spiel aus ohne große Probleme möglich sein. Dies ist aber leider nicht der Fall und somit muss ich das meiste von Hand machen. Ich versuche bis Ende Januar meine Bremen Karte im winterlichen Design zu veröffentlichen, inklusive ein paar kleinen Verbesserungen. Bis dahin findet ihr meine alte und eher sommerliche Karte zur Überbrückung in den Related Links.

Related Links

Eclipse Neon - Meine Einsatzbereiche - Java Programme

event Erstellt am Mo. 16.01.17 - 20:07 Uhr von Boehrsi
Eclipse Neon - Meine Einsatzbereiche - Java Programme Image Eclipse Neon - Meine Einsatzbereiche - Java Programme Image

Neben meinen diversen speziellen Entwicklungsbereichen programmiere ich hin und wieder auch "normale" Programme mit Java. Dabei nutze ich eine GUI und setze verschiedene kleinen Funktionen um. Mein letztes und auch aktuell noch entwickeltes Tool Resizy setzt auf AWT und Swing. Darüber kann der Nutzer dann relativ einfach eine große Menge von Bildern in andere Größen umwandeln und umbenennen. Doch warum bleibe ich hier bei Eclipse und wechsle nicht zum häufig favorisierten IntelliJ Idea? Ganz einfach der Eclipse WindowBuilder macht hier für mich den Unterschied. Denn grafische Oberflächen in Java zu bauen ist wahrlich nicht das angenehmste, zumindest meiner Meinung nach. Deswegen muss ich für diesen Teil meiner Entwicklung aktuell bei Eclipse bleiben, denn dort habe ich entsprechend auch eine Vorschau und kann mir einige Aufgaben durch WYSIWYG einfacher machen. Falls ihr den Eclipse WindowBuilder noch nicht kennt schaut ihn euch ruhig mal an, ist definitiv ein praktisches Tool, vor allem wenn man ohnehin mit Eclipse unterwegs ist.

Teil der Sammlung
Related Links
Bildquelle: boehrsi.de

I'm a coder - KW 2

event Erstellt am So. 15.01.17 - 12:58 Uhr von Boehrsi
I'm a coder - KW 2 Image I'm a coder - KW 2 Image

Neue Woche neue Themen, dieses Mal geht es darum wie wichtig es ist das vor der eigentlichen Implementierung alle Rahmenbedingungen und nötigen Komponenten geplant und definiert sind. Denn egal ob man privat etwas entwickelt oder professionell, merkt man mitten in die Implementierung das z.B. die Icons fehlen ist dies störend. Aus diesem Grund sollte man immer versuchen aus verschiedenen Perspektiven auf das zu entwickelnde zu blicken und entsprechend zu überlegen was alles involviert ist. Basierend darauf kann man dann zu einem Zeitpunkt X entscheiden ob alles nötige für die Aufgabe bereits vorhanden ist. Dabei ist es natürlich auch möglich einiges durch Platzhalter zu ersetzen, z.B. wenn es um Icons geht. Doch dies ist natürlich nur sehr beschränkt möglich wenn man z.B. mit einem Server bzw. einer API reden muss und diese Daten weiterverarbeiten will. Hier sind natürlich Mock-Daten eine Möglichkeit, aber nichts ist so gut wie reale Daten. Denn auch so etwas wie Mock-Daten muss erst einmal erstellt und an die Entwickler verteilt werden. Beachtet man die genannten Regeln nicht wird es im besten Fall etwas nervig für die Entwickler, im schlechtesten blockiert man die Entwicklung und verschwendet Ressourcen. Auch wenn letzteres natürlich wesentlich negativer ist als zuerst genanntes, man sollte beides vermeiden, denn ein frustrierter Entwickler ist wahrlich nichts was man möchte. Vor allem übrigens in kleinen privaten Projekten, wo niemand als Project Owner / Manager o.ä. Pläne macht, geht so etwas leicht unter. Auch hier sollte man also lieber ein paar Stunden mehr Zeit in Überlegungen und Planung stecken, als am Ende mit einem halbfertigen Produkt dazustehen, weil viele Kleinteile im großen Konstrukt einfach fehlen.

Teil der Sammlung
Bildquelle: boehrsi.de

I'm a coder - KW 1

event Erstellt am So. 08.01.17 - 23:16 Uhr von Boehrsi
I'm a coder - KW 1 Image I'm a coder - KW 1 Image

Nachdem ich bereits News-Reihen wie die Weekly Coding Question hatte, welche leider etwas eingeschlafen ist, möchte ich etwas Neues und ebenfalls wöchentlich Erscheinendes ins Leben rufen. Es geht darum das ich programmiere, sowohl privat, wie auch für die Arbeit und dies möchte ich mit euch teilen. Also zumindest die relevanten Dinge möchte ich ansprechen, z.B. Dinge die ich gelernt habe oder die man vielleicht anders machen sollte. Somit könnt ihr vielleicht aus meinen Fehlern lernen, neues mitbekommen und mir vielleicht sogar das eine oder andere Mal eure Sicht der Dinge schildern. Diese Woche beginne ich mit einem privaten Projekt, welches im Großen und Ganzen mit Terminplanung zu tun hat. Ich habe bereits vor längerer Zeit darüber geschrieben, doch dann schlief die Entwicklung leider etwas ein. Genau darum soll es auch gehen, das Arbeiten an privaten Projekten und wie schwer es ist sich entsprechend zu motivieren und die Zeit zu finden.

Weiterlesen…

Teil der Sammlung
Bildquelle: boehrsi.de

Weekly Coding Question - Warum funktioniert das nicht

event Erstellt am Mi. 26.10.16 - 22:43 Uhr von Boehrsi
Weekly Coding Question - Warum funktioniert das nicht Image Weekly Coding Question - Warum funktioniert das nicht Image

Warum funktioniert das nicht ist eine Frage die sich sicherlich jeder Softwareentwickler schon einmal gestellt hat. Die Antwort darauf kann diverse Gründe haben, angefangen von der eigenen Dummheit, über Fehler von anderen, falsche Annahmen, bis hin zu Bugs in der Plattform auf der man implementiert. Umso tiefer man sich in den Debugging-Jungle begibt, umso abgedrehter werden häufig die Annahmen warum etwas nicht geht und dementsprechend werden auch die Lösungsversuche "spezieller". Für diesen Bereich würde ich mir gerne eine Funktion in meinen IDEs wünschen, die mich einfach mal kurz mit einem Popup oder ähnlichem belohnt und mich fragt ob mein aktueller Code mein Ernst sei. Denn erst gestern hatte ich auf der Arbeit das Problem, dass ich ich immer tiefer in den Hasenbau gekrochen bin, um das kleine komplexe Problem zu finden, aber die Lösung war es einfach am Hasenbau vorbei zu gehen. Dementsprechend mein Rat, einfach mal eine Pause machen und nicht nur körperlich, sondern auch gedanklich kurz Abstand nehmen und noch einmal alles Revue passieren lassen. Häufig sieht man nämlich den Code vor lauter Buchstaben nicht und blockiert sich selbst.

Bildquelle: boehrsi.de

Eclipse Neon - Meine Einsatzbereiche - Remote Webentwicklung

event Erstellt am Do. 20.10.16 - 23:18 Uhr von Boehrsi
Eclipse Neon - Meine Einsatzbereiche - Remote Webentwicklung Image Eclipse Neon - Meine Einsatzbereiche - Remote Webentwicklung Image

Vor einiger Zeit berichtete ich bereits, dass ich mein Eclipse aktualisieren will. Von der letzten Mars Version, war es mein Ziel ein stabiles neues Neon aufzusetzen und dies habe ich nun teilweise erledigt. Neben meiner vorherigen Nutzung von Eclipse, habe ich teilweise auf IntelliJ Idea gewechselt, dazu werde ich aber noch einen gesonderten Beitrag veröffentlichen. Heute geht es um Neon und ich möchte mit meinem ersten Einsatzbereich beginnen. Denn meine Website ist in PHP geschrieben und ich möchte diese gerne Remote bearbeiten können, direkt auf dem Server, aber mit den Vorteilen einer IDE. In diesem Bereich war ein Wechsel auf IntelliJ nicht möglich, zumindest nicht in dem Umfang und ohne Geld zu bezahlen. Letzteres kommt für mich nicht in Frage, da meine Website keinerlei Gewinn abwirft. Ich setze unter Eclipse auf den Remote System Explorer aus dem Target Management Project. Diesen installierte ich einfach über die normalen Neon Paketquellen (http://download.eclipse.org/releases/neon), ihr findet ihn unter General Purpose Tools. Meine alten Einstellungen funktionierten mit dem aktualisierten Workspace ohne Probleme. Allerdings sollte man nicht zu einem kritischen Moment den Workspace an die neue Version anpassen, denn ein Wechsel zurück ist nicht mehr möglich. Der einzig weitere nötige Schritt war die Installation der PHP Development Tools (http://download.eclipse.org/tools/pdt/updates/latest/). Nach dem Abschluss der PDT Installation wählte ich nun noch den PHP Editor als Standardeditor für PHP Dateien und ich konnte direkt weiter arbeiten. Meine Basis Eclipse Version ist die Eclipse für Java Developer Edition mit einigen JEE Features. In den nächsten Teilen gehe ich auf weitere Eclipse Einsatzbereiche, wie auch auf IntelliJ ein.

Teil der Sammlung
Related Links
Bildquelle: boehrsi.de