Boehrsi.de - Blog and Community

Boehrsi.de Header Image

Empfohlen in Projekte

Weitere Kategorien

Blog Beiträge

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

Eclipse Mars - Migration zu Neon und IntelliJ Idea

event Erstellt am Mo. 22.08.16 - 19:24 Uhr von Boehrsi
Eclipse Mars - Migration zu Neon und IntelliJ Idea Image Eclipse Mars - Migration zu Neon und IntelliJ Idea Image

Für einige mag diese Überschrift etwas verwirrend klingen, aber ich denke man wird sie schnell verstehen. Doch worum soll es hier eigentlich gehen? Ich entwickle Software, sowohl für Android (Java), wie auch für meine Webseite (PHP, HTML, CSS, JS) und auch allgemeine Java Projekte sind dabei. Während meiner Uni-Zeit brauchte ich zusätzlich noch LaTeX. Hin und wieder gab es dann noch alternative Projekte und kleinere Tests. Alles in allem wird denke ich relativ schnell klar, dass ich eine vielseitige Lösung brauchte und diese fand ich mit Eclipse. Alle genannten Sprachen und Einsatzgebiete konnte ich dort abdecken. Doch über die letzten Jahre gab es viel neues, einige alte Dinge brauchte ich nicht mehr und mein riesiges Eclipse (ein Eclipse für alles, inklusive allen Plugins, welches ich meistens aktuell hielt, auch über Major Releases hinweg) wurde auch nicht schneller. Somit schaute man etwas über den Tellerrand, teilweise freiwillig und teilweise gezwungenermaßen (Stichwort: Android Studio). Nach einer gewissen Gewöhnungsphase muss ich gestehen Android Studio (IntelliJ Idea ist die Basis) gefällt mir wirklich gut. Aus diesem Grund überlege ich aktuell mehr auf dieser Plattform aufzubauen und da kam das Update von Eclipse Mars auf Neon gerade richtig. Denn dieses Update lässt sich nicht über die internen Eclipse Update-Prozesse regeln, eine komplett neue Installation ist fällig. Somit werde ich innerhalb der nächsten Zeit meine Projekte teilweise unter Eclipse Neon und teilweise unter IntelliJ Idea neu einrichten. Über das Für und Wider und ein wenig auch über den Update-Prozess und die darin enthaltenen Hürden, möchte ich in dieser kleinen neuen News-Reihe berichten. Sollte ihr konkrete Fragen haben, nur raus damit und ich versuche sie zu beantworten. Meldet euch einfach direkt in den Kommentaren.

Teil der Sammlung
Related Links
Bildquelle: boehrsi.de

Resizy - Version 0.5 Multithread Release

event Erstellt am Sa. 13.08.16 - 23:01 Uhr von Boehrsi
Resizy - Version 0.5 Multithread Release Image Resizy - Version 0.5 Multithread Release Image

Bereits vor einiger Zeit hatte ich es angekündigt und nun ist die neue Resizy Version 0.5 da. Sie bringt vor allem Multithread Support mit sich. Zusätzlich gab es aber auch noch ein umfangreiches Code Cleanup. Dieses konnte ich nicht komplett durchziehen, aber zumindest im Ansatz ist jetzt alles etwas sortierter. Dadurch sollten neue Funktionen besser implementierbar und Fehler besser behebbar sein. Einiges an Code wurde durch die Nutzung der Lombok Library eingespart, welche ich euch nur empfehlen kann. Zusätzlich suche ich nun noch nach Features für einen großen nächsten 1.0 Release. Diverse UI Optimierungen sind ebenfalls für diese kommende Version geplant, konkrete Pläne gibt es aber noch nicht. Falls ihr Vorschläge habt, meldet euch einfach in den Kommentaren oder aber direkt auf GitHub. Dort könnt ihr die aktuellen Versionen nun übrigens auch herunterladen.

Related Links
Bildquelle: boehrsi.de

Droidcon 2016 - Die Sessions - Teil 5

event Erstellt am Mo. 01.08.16 - 23:22 Uhr von Boehrsi
Droidcon 2016 - Die Sessions - Teil 5 Image Droidcon 2016 - Die Sessions - Teil 5 Image

Gegen 12:30 ging es weiter auf der Droidcon. Die Headline war Half way to clean architecture und Thema war hier der Aufbau eurer Anwendung und wie ihr diesen nutzen könnt, um alles klar strukturiert und gut separiert aufbauen zu können. Eines der Kernkonzepte war dabei Divide and Conquer und allgemein der Aufbau in modularen Layern, anstatt in monolithischen Activities. Ein weiterer sehr relevanter Punkt war das MVP Pattern, welches auch ich aktuell einsetze. Dieser Talk war definitiv sehr interessant und hilfreich. Weiter ging es nach dem Mittag um 14:00 mit Professional Data Persistence and Synchronization. Hier gab es sehr viel zur SQLite ORM Lösung GreenDAO. Auch andere Ansätze wurden gezeigt, doch alles in allem hatte GreenDAO die Nase vorn. Im Rahmen der Session wurde auch die neue Version 3 vorgestellt. Um 14:45 wurde es dann wirklich anspruchsvoll mit der Session Adoption of RxJava on the Airbnb Android app. RxJava verfolgt relativ neue Ansätze wenn es um die Umsetzung von Aktion / Reaktion Abläufen geht. Darüber berichtete ich bereits in einem anderen Artikel. Hier wurden diverse spannende Dinge gezeigt und erläutert, diese waren wie erwähnt aber auch durchaus fordernd. Dies war dann leider auch schon mein letzter Talk, denn die letzten beiden, welche nach der Kaffeepause gestartet wären, konnte ich nicht mehr wahrnehmen. Grund dafür war die Abfahrtszeit meines Busses. Alles in allem habe ich viel gelernt und viele spannende Eindrücke gesammelt, falls euch mein allgemeines Fazit interessiert folgt einfach diesem Link.

Teil der Sammlung
Related Links
Bildquelle: de.droidcon.com

Droidcon 2016 - Die Sessions - Teil 4

event Erstellt am Mo. 25.07.16 - 20:59 Uhr von Boehrsi
Droidcon 2016 - Die Sessions - Teil 4 Image Droidcon 2016 - Die Sessions - Teil 4 Image

Nach einer kurzen Pause geht es heute weiter mit den Sessions des zweiten Tags. Dieser begann mit der zweiten Keynote Android Development Yesterday and Today (and maybe even Tomorrow). Zu dieser findet ihr im unteren Teil der News übrigens direkt das eingebettete Youtube Video. Hier gab es diverse Einblicke in das Android Ökosystem und auch einige persönliche Eindrücke des Google Android Teams. Mir gefiel dieser kleine "Schwank aus der Vergangenheit" gut, wenn er auch nicht viel technische Informationen vermittelte. Weiter ging es um 11 Uhr mit dem Talk Contextual communications and why you should care. Dieser ging wie der Name schon sagt darauf ein, dass es für Apps extrem sinnvoll ist, den Nutzer im Kontext der App zu halten. Ich hatte hier erwartet, dass es etwas mehr darum geht den Kontext des Nutzers selbst zu erkennen, aber der Talk war trotzdem interessant. Denn er zeigte mit diversen Techniken, wie z.B. den neuen eingebetteten WebViews, wie man dem Nutzer externe Funktionen bietet, ohne die App aus dem Vordergrund entfernen zu müssen. Um 11:45 Uhr ging es weiter mit Building simple and secure account systems on Android. Hier gab es diverse Informationen zu Googles Login Systemen und wie man mit Hilfe von diesen dem Nutzer das Leben einfacher machen kann. Definitiv eine sehr interessante Sache, wenn man die freie Wahl an Diensten hat. Ich persönlich hatte mir hier noch etwas mehr zu allgemeingültigen Ansätzen erhofft. Der Talk brachte trotzdem einige neue Informationen und vor allem im Bezug auf UI und UX gab es den einen oder anderen hilfreichen Tipp. Die weiteren Talks folgen im laufe dieser Woche.

Weiterlesen…

Teil der Sammlung
Related Links
Bildquelle: de.droidcon.com

Droidcon 2016 - Die Sessions - Teil 3

event Erstellt am Sa. 16.07.16 - 13:40 Uhr von Boehrsi
Droidcon 2016 - Die Sessions - Teil 3 Image Droidcon 2016 - Die Sessions - Teil 3 Image

Weiter ging es um 16:00 Uhr mit der Testing made sweet with a Mockito Session. Mockito ist ein Testing-Framework mit diversen Möglichkeiten. Unter Android nutze ich dies auf professioneller Ebene, privat eher wenig, da ich dort einfach nur in einem sehr geringen Maße teste. Mockito erlaubt auf verschiedene Arten zu testen, unterstützt Annotations und bringt diverse Hilfsfunktionen für Vergleiche mit. Auch asynchrone Dinge lassen sich einbauen und validieren. Meiner Meinung nach und ich muss anmerken, dass ich im Testbereich wenig Ahnung habe, ist Mockito wirklich gut und vor allem auch verständlich nutzbar. Schaut es euch also mal an wenn ihr Tests für Android erstellen wollt. Um 16:45 ging es weiter mit Are you coordinating already?. In dieser Session war das Thema das CoordinatorLayout aus der Google Design Support Library. Es erlaubt das Ein- und Ausblenden von Elementen z.B. beim scrollen innerhalb einer Liste (Stichwort: Appbar) und ist ein erweitertes FrameLayout, welches umfassend angepasst und erweitert werden kann. Dafür können Behaviors genutzt werden. Der Talk war sehr interessant und hat mir einige Einblicke bezüglich dieser UI Komponente gegeben. Abgeschlossen wurde der Tag um 17:30 mit der Effective Android Development Session. Hier ging es vor allem um Effizienz. Dies beinhaltet Shortcuts und Funktionen von Android Studio, Tipps bezüglich Testgeräten und welchen Versionen man am besten testen sollte und auch externe Developer Tools wurden angesprochen. Dabei gab es alles vom Deployment einer APK auf multiple Emulator-Instanzen, bis hin zu besseren Logging-Systemen. Abgeschlossen wurde der Talk durch Tipps bezüglich der Analyse der final entstehenden APK, denn dies wird oft vernachlässigt. Vor allem das Manifest sollte hier geprüft werden, wobei der ab Android Studio 2.2 vorhandene APK Analyzer helfen kann. Die Sessions des zweiten Tages folgen wie gewohnt innerhalb der nächsten Tage und bei Fragen meldet euch einfach in den Kommentaren.

Teil der Sammlung
Related Links
Bildquelle: de.droidcon.com

Droidcon 2016 - Die Sessions - Teil 2

event Erstellt am Di. 12.07.16 - 20:57 Uhr von Boehrsi
Droidcon 2016 - Die Sessions - Teil 2 Image Droidcon 2016 - Die Sessions - Teil 2 Image

Der nächste Talk auf meiner Liste war Modular Android Development. Meine Gedanke waren hier auf Module innerhalb des Codes bezogen und in diese Richtung ging es dann auch. Als Beispiel gab es eine extrem große App, welche Stück für Stück umgebaut worden war. Innerhalb des Vortrags wurde dann viel über das dabei gelernte gesprochen. Beginnen solle man mit isolierbaren Features und dann immer in kleinen Schritten, auf keinen Fall alles auf einmal. Man sollte auch neuen und alten Code nebeneinander tolerieren, anstatt mit einem großen Schuss die Tür für Fehler zu öffnen. Die Nutzung von starken Build-Diensten und den Fähigkeiten von Gradle sollte forciert werden, da diese gut bei derartigen Aufgaben helfen können. Danach gab es erst einmal Mittagessen und folgend einen leichten Start in den Nachmittag, mit dem What's new in Android Talk. Hier wurde einiges von der Google I/O aufgegriffen und vieles im Highlevel-Bereich behandelt, technisch interessant war für mich dann die nähere Erläuterung des neuen Constraint Layouts, welches ich extrem interessant finde. Auch spannenden waren Neuigkeiten zur Art und Weise wie man Dateizugriffe in Zukunft umsetzen soll, die Möglichkeit zum ändern der Sprache, bessere Notifications und natürlich einige neue und optimierte Sicherheitsfunktionen. Abschließen möchte ich die heutige News mit einem sehr interessanten und unterhaltsamen, wenn auch technisch für mich nicht wirklich relevanten Talk. Diesen wählte ich bewusst, weil ich das Thema interessant finde, auch wenn ich nicht vor habe in eine derartige Richtung zu entwickeln. Augmented Reality and VisualFX with Project Tango hieß der Talk und wie der Name schon sagt ging es um Augmented Reality mit Googles Projekt Tango Hardware. Eine sehr interessante Technik und spannend was man damit bereits machen kann. Gerade die Erfassung der Umgebung fand ich sehr spannend. Weiter geht es mit den nächsten Sessions am morgigen Mittwoch.

Teil der Sammlung
Related Links
Bildquelle: de.droidcon.com

Droidcon 2016 - Die Sessions - Teil 1

event Erstellt am Mo. 11.07.16 - 21:57 Uhr von Boehrsi
Droidcon 2016 - Die Sessions - Teil 1 Image Droidcon 2016 - Die Sessions - Teil 1 Image

Meine Droidcon begann natürlich mit der Keynote, welche ich im unteren Teil als Youtube Video verlinkt habe. Thema war Android is the world phone von Corey Leigh Latislaw. Es ging darum was man abseits der bekannten Märkte, z.B. in Afrika mit Smartphones erreichen und bewirken kann. Ein interessanter Talk, den man durchaus allgemein anschauen kann, technisch gab es hier wenig "neues". Der erste technische Vortag begann direkt um 11 Uhr und das Thema war Deep dive into Android Data Binding. Falls euch dieses Thema interessiert, folgt diesem Link, denn dort gibt es die Slides und ebenfalls einen Audiomitschnitt. Databinding ist eine Möglichkeit, um dynamische Inhalte ohne großen Aufwand in eure Views zu stopfen. Tools wie Butter Knife helfen hier, doch trotzdem bleibt einiges an Boilerplate Code. Dieser wird hier direkt in die XML Dateien ausgelagert und ermöglicht relativ saubere View Dateien im Java Bereich. Die Möglichkeiten sind dabei wirklich vielseitig, bringen aber auch Gefahren mit sich. Denn eigentlich ist eines der Grund-Mantras der Android-Entwicklung, Views möglichst dumm und austauschbar zu halten, was mit einer solchen Technik natürlich in Bedrängnis geraten kann, sofern man sich nicht explizit an selbstgesetzte Coding-Standards hält. Professionell setzte ich diese Technik aktuell nicht ein, aber für mich private werde ich auf jeden Fall damit experimentieren. Der Vortrag brachte gute Einblicke in die allgemeinen Funktionen und auch einige tiefer gehende Informationen.
Um 11:45 ging es mit Offline-First Apps for an Always-On UX weiter. Auch zu diesem Talk findet ihr alle Informationen auf der Droidcon Homepage unter diesem Link. Hier hatte ich mir allgemeine Informationen und Herangehensweisen erhofft, welche grundsätzlich mit Android + Server Strukturen umsetzbar sind. Leider war dies nicht der Fall bzw. nur teilweise. Es ging um eine Lösung von IBM, welche man einsetzen kann, um Offline-First Strategien zu realisieren. Dies ist allerdings weder im professionellen, noch im privaten Bereich aktuell eine Option für mich und deswegen hörte ich hier nur aus allgemeinem Interesse zu. Die nächsten Sessions gibt es in der morgigen News zum Thema und solltet ihr Fragen haben, nur raus damit.

Weiterlesen…

Teil der Sammlung
Related Links
Bildquelle: de.droidcon.com