Boehrsi.de - Blog and Community

Boehrsi.de Header Image

Empfohlen in Code

Weitere Kategorien

Blog Beiträge

I'm a coder - KW 12

event Erstellt am Fr. 31.03.17 - 10:00 Uhr von Boehrsi
I'm a coder - KW 12 Image I'm a coder - KW 12 Image

Wie angekündigt kommt dieser News etwas zwischen durch, denn durch meinen Urlaub hatte sich alles etwas verzögert. Am Ende der Woche, um genau zu sein am Sonntag, gibt es natürlich auch die gewohnte I'm a Coder News, sodass der wöchentliche Rhythmus wieder gegeben ist. Doch was ist heute eigentlich das Thema? Ganz einfach, nicht programmieren. Wie man das verstehen soll, im Kontext einer Newsreihe die sich rund um das Thema Softwareentwicklung dreht? Eigentlich ganz einfach, es geht um all die Dinge die man neben der eigentlichen Entwicklung macht und machen muss. Dabei meine ich gar nicht so sehr Dinge die in den Bereich DevOps fallen, sondern eher unnötige Dinge wie Upgrades von Frameworks und damit verbundene langwierige Probleme, Stress mit der IDE, plötzlich fehlerhafte Konfigurationsdateien und so weiter. Die Liste ist lang und der Weg steinig, denn so etwas passiert leider immer wieder. Einige der genannten Dinge haben zumindest nach der Behebung Vorteile, so bringen Updates oder Upgrades meistens neue Funktionen oder bessere Performance. Aber von Zeit zu Zeit funktionieren eigentlich stabile Dinge plötzlich nicht mehr, dann beginnt eine anstrengende und unnötige Suche nach Fehlern, die eigentlich keine sein sollten. So geschah es z.B. bei meinem komplexen Projekt rund um Spring Boot, dort konnte ich plötzlich nichts mehr fehlerfrei ausführen, obwohl zuvor alles lief. Nach einigem hin und her bekam ich die Probleme in den Griff, aber dennoch empfand ich sie als absolut unnötig. Doch was kann man gegen solche Dinge tun?

Weiterlesen…

Teil der Sammlung
Bildquelle: boehrsi.de

Android und Java 8 - Auf Wiedersehen Jack

event Erstellt am Mi. 29.03.17 - 18:33 Uhr von Boehrsi
Android und Java 8 - Auf Wiedersehen Jack Image Android und Java 8 - Auf Wiedersehen Jack Image

Der neue Jack Compiler sollte Dinge vereinfachen und Overhead vermeiden. Doch scheinbar hat man die Pläne geändert, denn vor einigen Tagen wurde entsprechendes im Android Developer Blog kundgetan. Man wird sich von Jack verabschieden und dafür wieder auf die alten Bekannten javac und dx setzen. Dort ist die Integration von neuen Funktionen und die entsprechende Unterstützung in Android Studio besser umsetzbar und vor allem komplexere Dinge wie Annotation Processors und ähnliches können somit ohne großen Aufwand weiter genutzt und erweitert werden. Angekündigt wurde das ganze schon vor 14 Tagen, somit kann man schon bald mit Anpassungen in Android Studio rechnen. Vielleicht wird die finale Version 2.4 schon mit den entsprechenden Änderungen beim Build Tooling ausgestattet sein.

Related Links

Lombok Probleme in Eclipse

event Erstellt am Mo. 27.03.17 - 21:08 Uhr von Boehrsi
Lombok Probleme in Eclipse Image Lombok Probleme in Eclipse Image

Ich nutze viel und umfangreich Lombok, ein Tool welches massiv die Erstellung von Boilerplate Code minimiert. Doch leider hatte ich nach den letzten Aktualisierungen von Eclipse (Neon.3) einige Probleme. In einem umfangreichen Spring Boot Projekt, mit Gradle als Build-Tool, wurden die von Lombok generierten Klassen nicht gefunden, allerdings nur wenn ich direkt in Eclipse alles ausführte. Via Shell oder via Gradle Task aus Eclipse heraus gab es keine Probleme. Da ich mit einem Spring Boot Projekt arbeite und dementsprechend auch die entsprechende Tool Suite nutze, war es mir aber durchaus wichtig, dass das direkte bauen und neustarten via Eclipse funktioniert. Somit habe ich gestern und heute sehr viel herumprobiert. Dies beinhaltete alles zu aktualisieren (Eclipse und alle Abhängigkeiten innerhalb des Projekts), den Workspace komplett neu zu erstellen und das GIT erneut zu klonen, Lombok neu zu installieren und Anpassungen an der eclipse.ini vorzunehmen. Letzteres brachte dann auch den Erfolg, denn so simple wie auch unnötig die Lösung erscheint, mir half nach all den oben genannten Schritten für den javaagent einen absoluten Pfad anzugeben. Dies gilt auch wenn Lombok direkt im Eclipse Verzeichnis liegt, denn -javaagent:lombok.jar funktionierte nicht -javaagent:C:\Path\To\Your\lombok\lombok.jar hingegen ohne Probleme. Ich bin mir nicht sicher ob einer der weiteren erwähnte Punkte mit zur Lösung beigetragen hat, deswegen habe ich sie zur Sicherheit mit aufgeführt, aber erst nach dem Umstellen auf einen absoluten Pfad funktionierte alles. Solltet ihr also ähnliche Probleme haben, versucht dies auch mal.

Related Links

I'm a coder - KW 11

event Erstellt am So. 26.03.17 - 12:09 Uhr von Boehrsi
I'm a coder - KW 11 Image I'm a coder - KW 11 Image

Die letzte I'm a coder News fiel aufgrund meines Urlaubs aus und genau dieser soll auch dieses Mal Thema meiner News sein. Denn Urlaub ist zwar eigentlich eine Zeit in der man nichts schafft, aber genau dies kann auch helfen. Dabei rede ich von richtigem Urlaub, außerhalb des eigenen Heims und somit auch außerhalb der Reichweite der eigenen privaten Projekte. Denn eine Pause in diesem Bereich kann Motivation und neue Ideen bringen. Bei mir hat beides tatsächlich funktioniert, denn nach dieser einwöchigen Pause habe ich nun einiges an neuen Ideen für verschiedene Projekte und zusätzlich habe ich wieder richtig Lust mal etwas in die Tasten zu hauen. Außerdem hat man durch einen Urlaub natürlich auch allgemein wieder neue Energie, zumindest wenn alles wie geplant lief. Somit kann ich nur sagen, auch ein Urlaub von den privaten Projekten kann helfen wieder besser voranzukommen. Um die ausgefallene I'm a coder News aufzuholen gibt es morgen direkt eine weitere für diese Woche, denn diese hier war entsprechend für die Woche davor.

Teil der Sammlung
Bildquelle: boehrsi.de

Ludum Dare 37 Retro - Spriter Animationssoftware

event Erstellt am Di. 21.03.17 - 20:40 Uhr von Boehrsi
Ludum Dare 37 Retro - Spriter Animationssoftware Image Ludum Dare 37 Retro - Spriter Animationssoftware Image

Es ist schon etwas her das der Ludum Dare 37 stattfand, doch vergessen habe ich nicht das ich ankündigte über ein paar meiner genutzten Tools und Techniken zu schreiben. Da diese weiterhin genauso relevant sind, hole ich dies nun nach. Anfangen werde ich mit der Software welche ich zur Erstellung von Animationen nutzte, denn dies war auch mein Vorgehen beim letzten Ludum Dare. Ich nutzte Spriter, eine kostenpflichtige, kleine und praktisch Software. Diese erlaubt es verschiedene Grafiken miteinander zu verbinden. Dabei sind verschiedene Ansätze möglich, ich entschied mich für Knochen basierte Animationen. Ich erstellte also zuerst simple 2D Grafiken, die ich als Bild-Set importierte und packte diese so oft wie benötigt in die jeweilige Szene. Den verschiedenen Elementen ordnete ich Knochen zu. Dadurch weiß das Programm wie es die verschiedenen Elemente physikalisch zu betrachten hat. Folgend stellte ich Verbindungen zwischen den Knochen her und setzte an verschiedenen Stellen in der Timeline Punkte. An diesen Keyframes hat man nun also feste Positionen für die verschiedenen Teile des zu animierenden Objekts und das Programm errechnet basierend darauf die Verbindungen und realistischen Übergänge. So sehen Schritte dann wie wirkliche Bewegungen aus oder Pflanzen wiegen sich passend im Wasserstrom. Dabei erreicht man selbst mit wenig Erfahrung einiges, etwas herumprobieren ist aber natürlich trotzdem nötig. Ich binde im unteren Teil ein Video meiner Fortschritte ein, welche zwar nicht gigantisch, aber für einen ersten Versuch durchaus brauchbar sind. Das Programm selbst hat eine übersichtliche UI und alle Funktionen die ich für den Anfang brauchte. Spriter Pro kostet knapp 60 Dollar, doch auch eine kostenlose Version mit abgespeckten Funktionen ist verfügbar. Falls ihr vorhabt Animationen zu erstellen, schaut euch Spriter ruhig mal an, den entsprechenden Link gibt es in den Related Links.

Weiterlesen…

Related Links
Bildquelle: boehrsi.de

I'm a coder - KW 10

event Erstellt am So. 12.03.17 - 23:08 Uhr von Boehrsi
I'm a coder - KW 10 Image I'm a coder - KW 10 Image

Warum bin ich eigentlich Programmierer oder warum wollte ich es werden? Dies ist das heutige Thema meiner I'm a Coder News. Irgendwie war für mich schon sehr früh klar das ich etwas im Bereich Informatik machen möchte. Ich interessierte mich schnell für Software und auch für Hardware. Während meiner Schulzeit nutzte ich IT bezogene Fächer und mein Informatikstudium brachte mich dann noch weiter auf den Weg in Richtung Softwareentwickler. Während meines Studiums arbeitete ich parallel als IT-Support, wo ich zu einem großen Teil Hardware bezogene Aufgaben übernahm und etwas programmierte. Dabei stellte ich fest das Hardware zwar interessant ist und ich gerne alle paar Jahre einen neuen Gaming-Rechner aufbaue und alle übrigen Teile in Systemen meiner Familie verbaue, ich es aber ungern auf Dauer täglich machen würde. Vor allem die Abwechslung und die nötige Herausforderung beim Erkennen und Lösen von Problemen fehlte mir, denn meistens tauschte ich lediglich Komponenten. Genau dieses Erkennen von Problemen und verschiedene Lösungswege zu erarbeiten ist nämlich meine Hauptmotivation bei der Entwicklung von Software. Ich oder jemand anders hat eine Aufgabe und um diese zu lösen müssen eine Reihe von Teilproblemen erkannt und entsprechend verteilt und gelöst werden. Genau dieses herangehen, welches auch bei sehr ähnlichen Problemen unterschiedlich sein kann und natürlich auch die schlussendliche Lösung sind für mich die Motivation hinter dem Programmieren.

Teil der Sammlung
Bildquelle: boehrsi.de

I'm a coder - KW 9

event Erstellt am Mo. 06.03.17 - 10:00 Uhr von Boehrsi
I'm a coder - KW 9 Image I'm a coder - KW 9 Image

Heutiges Thema meiner Coder News sind neue coole Techniken, wie z.B. Cloud Dienste, neue APIs und grundsätzlich alles was man mal ausprobieren möchte, aber dann auf Limitierungen stößt die einen zum eventuellen Umdenken zwingen. Denn aktuell bin ich in der Situation eine kleine App zu basteln und für diese habe ich mich entschieden auf Firebase zu setzen. Firebase ist Googles relativ neue Plattform für diverse Funktionen, darunter auch eine Realtime-Database welche ich für mein Projekt nutze. Dort werden Daten nicht relational, sondern als großes JSON Konstrukt abgelegt und verwaltet. Dies fordert einen zum Umdenken auf, wenn man vorher aus dem SQL Bereich kam. Soweit so gut, alles läuft nach einigen Anläufen und es geht wirklich gut von der Hand. Doch dann kommt man an Punkte an denen die neue Technik sich anders verhält als man es sich wünscht und Dinge schlicht nicht möglich sind. Dazu gehört bei mir der Wunsch nach einem Query, welches ähnlich dem LIKE %SEARCH_STRING% SQL Statement ist. Dies ist schlicht nicht möglich bzw. vorhanden. Dadurch habe ich nun eine neue Technik, die ich eigentlich nur ausprobieren will weil sie neu und interessant ist, auf der anderen Seite aber eigentlich nicht exakt das ist was ich brauche. Somit stelle ich mir quasi selbst ein Bein, denn ich möchte die Basis nun nicht mehr ändern. Ich vermute ich werde Mittel und Wege finden alles entsprechend zu implementieren, doch im Prinzip verfehle ich dadurch mitunter Einsatzgebiete der jeweiligen Tools oder Plattformen. Neues zu nutzen ist also gut zum Lernen, doch man verbeißt sich leider auch leicht. Zumindest mir geht es so, wie sieht es da bei euch aus? Schafft ihr den Absprung in solchen Situationen oder zieht ihr das Ganze dann auch eher durch? Für mich ist der Hauptgrund weiterzumachen übrigens das ich weiter lernen möchte mit Firebase umzugehen, denn die Plattform ist extrem mächtig und wird mir sicherlich noch einmal gute Dienste in Projekten leisten, wofür ich sie aber erst einmal wirklich durchdringen muss.

Teil der Sammlung
Bildquelle: boehrsi.de

ConstraintLayout 1.0 erschienen

event Erstellt am Mo. 27.02.17 - 10:00 Uhr von Boehrsi
ConstraintLayout 1.0 erschienen Image ConstraintLayout 1.0 erschienen Image

Das ConstraintLayout ist Googles Versuch komplizierte und tiefe Layout-Hierarchien zu vereinfachen. Dabei sollen dann gleich noch moderne Ideen des Bereichs Layout-Erstellung im Allgemeinen eingebracht werden. Automatische Anpassung von Größen und die dynamische Anordnung von Elementen sind hier Stichworte. Im Prinzip hat man ein stark optimiertes RelativeLayout vor sich, mit welchem umfangreiche Layouts responsive und simple erstellt werden können sollen. Dazu gibt es einen komplett neuen UI Editor in Android Studio. Das neue Layout wurde in den letzten Monaten immer weiter entwickelt und hat nun den 1.0 Status erreicht. Die beste Version des UI Editors ist aktuell in der Android Studio 2.3 RC 1 Version enthalten. Das ConstraintLayout selbst ist über das Support Repository nutzbar. Ich selbst habe bis dato noch nicht mit dem neuen Layout gearbeitet, werde es aber definitiv für eine meiner neuen Apps ausprobieren. Habt ihr schon mit den vorherigen Beta Version gearbeitet, falls ja meldet euch gerne in den Kommentaren. Weitere Informationen findet ihr in den Related Links.

Related Links

I'm a coder - KW 8

event Erstellt am So. 26.02.17 - 21:40 Uhr von Boehrsi
I'm a coder - KW 8 Image I'm a coder - KW 8 Image

Abwechslungsreiche Aufgaben sind heute das Thema, denn auch in der Softwareentwicklung gibt es nicht nur immer wieder dieselben Dinge. In diesem Kontext meine ich nicht den Unterschied zwischen Bug und Feature, sondern eher in welchem Bereich man gerade innerhalb der Anwendung unterwegs ist. Ich denke hier an Bereiche wie Netzwerk, User Interface, Business Logic, Abstraktions-Layer, Performance Optimierung und so weiter. Denn zum einen wird durch einen häufigen Wechsel die Vielfalt der Fähigkeiten der Entwickler verbessert und zum anderen lernt man die gesamte Anwendung kennen, wenn man gemeinsam Dinge implementiert. So entsteht weniger Inselwissen und falls einer der Entwickler mal ausfällt kann einer anderer besser einspringen. Vor allem im professionellen Bereich ist dies sehr wichtig. Deswegen begrüße ich es, dass in meinem Arbeitsleben aktuell darauf geachtet wird das zum einen das Wissen verteilt wird und zum anderen auch das quasi alle Entwickler gemeinsam über die Aufgabenverteilung nachdenken bzw. ein gewisses Mitspracherecht haben und der Lead nicht alles ohne weitere Rückfragen blind vergibt.

Teil der Sammlung
Bildquelle: boehrsi.de

Android Entwicklung - Meine Must Have Libraries

event Erstellt am Mo. 20.02.17 - 22:48 Uhr von Boehrsi
Android Entwicklung - Meine Must Have Libraries Image Android Entwicklung - Meine Must Have Libraries Image

Ich programmiere Android Apps und ich habe einen Blog, da sollte es doch eigentlich naheliegend sein das ich mal Libraries erwähne mit denen ich aktuell entwickle. Die Betonung liegt hier auf sollte, denn bis dato habe ich diesen Themenbereich tatsächlich eher spärlich behandelt. Dies soll sich innerhalb der nächsten Wochen ändern. Denn ich werde nun immer mal wieder Libraries vorstellen die ich gerne und häufig nutzte. Ihr seid herzlich eingeladen auch eure Favoriten in den Kommentaren zu erwähnen, denn ich schaue mir gerne neues an und probiere etwas herum. Solltet ihr also Vorschläge für Libraries haben die ihr gut findet, meldet euch doch einfach unter dieser News. Vielleicht habe ich sie ohnehin auf der Liste oder aber schaue sie mir mal an. Mit dabei sein werden z.B. Dagger, FragmentArgs, OkHttp, Retrofit, Butterknife und Project Lombok.

Bildquelle: boehrsi.de