Boehrsi.de - Blog and Community

Boehrsi.de Header Image

Empfohlen in Projekte

Weitere Kategorien

Blog Beiträge

I'm a coder - KW 23

event Erstellt am So. 25.06.17 - 18:00 Uhr von Boehrsi
I'm a coder - KW 23 Image I'm a coder - KW 23 Image

Heute geht es um Programmierbereiche die man immer mal wieder betritt und in welchen man eigentlich erfahren ist. Trotzdem macht man gerne Fehler, denn tut man etwas häufig wird man oft etwas unachtsam. Mir ist ähnliches beim Modellieren und Implementieren einer SQLite Datenbank für eine meiner neuen Android Apps aufgefallen. Denn ich hatte verschiedene Dinge einfach nicht bedacht, da ich die Datenbank sehr iterative und pro Feature erstellte. Da sie relativ schlicht ist dachte ich dies funktioniert, obwohl ich mir sehr bewusst bin das eine Datenbank definitiv vorab stark durchdacht und geplant werden will. Somit fiel mir dann bei einer eigentlich kleinen Änderung auf, dass ich diverse Beziehungen ändern muss und in diesem Zug baute ich die gesamte Datenbank einmal ordentlich auf. Wesentlich mehr Zeit ging dadurch ins Land und ich hätte dies einfach von Anfang an machen sollen. Deswegen der Hinweis an euch alle da draußen und natürlich auch an mich selbst, auch Dinge die wir häufig implementieren, planen oder designen wollen ordentlich und mit voller Konzentration durchgeführt werden. Habt ihr zuvor bei einem konkreten Feature erst geplant, dann implementiert und dann getestet, bleibt dabei und lasst keine Schritte weg. Am Ende hat man sonst vielleicht Pech und macht Fehler oder aber braucht wesentlich länger.

Teil der Sammlung
Bildquelle: boehrsi.de

I'm a coder - KW 22

event Erstellt am Mo. 19.06.17 - 20:55 Uhr von Boehrsi
I'm a coder - KW 22 Image I'm a coder - KW 22 Image

Ich programmiere gerne und dazu gehört es für mich auch Skripte zu schreiben, denn lieber das Skript auf der Platte, als die Zeit auf der Uhr. Dies gilt natürlich nur für häufiger nötige Aufgaben, denn Dinge die man nur einmal macht sind meistens natürlich nicht sinnvoll und zeitsparend via Skript umsetzbar. Dabei setzte ich vor allem auf die Shell unter Ubuntu. Sowohl mein Server, wie auch meine Umgebung auf der Arbeit sind entsprechend aufgesetzt. Auf meinem Desktop läuft zwar Windows, aber durch die neuen Windows 10 Funktionen und die Git Bash ist auch unter Windows einiges mit der Shell möglich. Die Kommandozeile unter Windows kommt für mich aufgrund der wirklich nervigen Syntax meistens nicht in Frage und zur Powershell habe ich bis dato noch nicht so den Zugang gefunden. Um übrigens ein paar konkrete Beispiele zu nennen wofür ich Skripte nutzte, sei z.B. die Updatefunktion meines Servers erwähnt, diverse Dinge mit Bezug auf meine Android-Entwicklung, z.B. ein kleines Skript welches Libraries + Abhängigkeiten auflistet und genutzte Versionen mit angibt und auch Backups auf meinem Desktop PC löse ich auf diesem Weg. Die Liste ist wesentlich länger und mein aufwendigstes Skript war vermutlich die automatische Integration von Ubuntu Rechnern in ein Active Directory, inklusive diversen weiteren Softwareinstallationen, Updates, Konfigurationen und Einstellungsmöglichkeiten für das Skript selbst. Wie sieht es bei euch aus schreibt ihr auch gerne mal ein Skript oder agiert ihr lieber manuell?

Teil der Sammlung
Bildquelle: boehrsi.de

I'm a coder - KW 21

event Erstellt am So. 11.06.17 - 10:52 Uhr von Boehrsi
I'm a coder - KW 21 Image I'm a coder - KW 21 Image

Ich spiele gerne mit neuen Tools und Techniken herum, doch bekomme ich leider echt wenige von meinen Projekten fertig oder schaffe es überhaupt mit ihnen anzufangen. Das stört mich sehr und ich will versuchen dies zu ändern. Eines meiner Hauptprobleme ist, dass ich zwar vieles auf meine TODO Liste packe, aber nicht die Zeit finde damit wirklich zu arbeiten. Deswegen überlege ich aktuell alle zwei Wochen einen "Prototyp-Tag" einzulegen. Soll heißen ein Tag an dem ich, sofern allgemein Zeit zum Programmieren an eigenen Projekten ist, mir neue Dinge von meiner TODO Liste anschaue und dann entsprechend entscheiden kann ob ich sie nutzen will oder eben nicht. Somit kann ich verhindern das meine Liste immer länger wird und der Blick auf die Liste alleine schon demotivierend wirkt. Alternativ hatte ich überlegt direkt wenn ich neue Dinge entdecke damit herum zu probieren, aber dies funktioniert einfach nicht. Denn was ist wenn ich gerade in der Bahn oder dergleichen sitze während ich mir ein neues Framework anschaue? Da gefällt mir die Idee mit der PTT (Prototype Time) doch wesentlich besser. Wie geht ihr mit dieser Art von Problemen um?

Teil der Sammlung
Bildquelle: boehrsi.de

I'm a coder - KW 20

event Erstellt am So. 04.06.17 - 13:25 Uhr von Boehrsi
I'm a coder - KW 20 Image I'm a coder - KW 20 Image

Es wird mal wieder Zeit und eigentlich müsste ich direkt mehrere I’m a coder News an den Start bringen, denn ich bin leider schon wieder etwas ins Hintertreffen geraten. Diesbezüglich die Frage an euch, was wollte ihr denn gerne lesen? Denn ich habe mir diverse Themen bereits von der Seele geschrieben und mir fällt es aktuell nicht mehr so leicht passende Themen für diese Newsreihe zu finden. Solltet ihr also eine Idee haben, meldet euch doch bitte in den Kommentaren. Doch nun zur heutigen News, für die ich selbstverständlich ein Thema gefunden habe. Es geht um die Aktualisierung von bereits veröffentlichten Anwendungen.

Weiterlesen…

Teil der Sammlung
Bildquelle: boehrsi.de

I'm a coder - KW 19

event Erstellt am So. 21.05.17 - 19:15 Uhr von Boehrsi
I'm a coder - KW 19 Image I'm a coder - KW 19 Image

Diese Woche geht es um beliebte und weniger beliebte Bereiche beim Programmieren. Denn Softwareentwicklung ist vielseitig und vor allem wenn man alleine arbeitet, häufig aber auch im professionellen Umfeld, muss man diverse Bereiche abdecken können. Dazu gehören Arbeiten am Netzwerk, Backend Aufgaben und natürlich auch die Erstellung und Erweiterung der UI. All diese Bereiche sind wichtig, doch man hat natürlich seine persönlichen Präferenzen. Ich persönlich setze mich trotz der Komplexität gerne mit Netzwerkaufgaben auseinander. Die Interaktionen über egal welche Art von Netz finde ich extrem interessant, auch wenn es nicht immer ein Spaß ist mit APIs zu reden, vor allem wenn sie nicht unter der eigenen Kontrolle stehen. Auch der Kern einer App, mit all den Models, Interaktionen und Abstraktionen, gefällt mir durchaus gut. Hier sieht man zwar selten was man exakt tut direkt auf dem Bildschirm, aber das Funktionen im Kern tun was sie sollen ist durchaus erfüllend. Interessanterweise ist meine Achillesverse die UI Entwicklung und das obwohl ich sehr gerne direkt sehe was meine Änderungen aktiv tun. Ich bin nicht sonderlich kreativ in diesem Bereich und vor allem stört es mich sehr immer wieder herumprobieren zu müssen, wenn Dinge minimal vom Design abweichen. Durch dieses hin und her bin ich von der UI Entwicklung oft frustriert und das obwohl mir das XML Konstrukt, welches Android nutzt, gut gefällt. Am Ende läuft alles, aber der Zeitaufwand ist meiner Meinung nach häufig unverhältnismäßig, auch wenn die UI natürlich extrem wichtig ist, denn sie ist das was der Nutzer sieht und was er nutzen soll. Wie sieht es bei euch aus, was sind eure Favoriten und wo würdet ihr lieber die Finger von lassen?

Teil der Sammlung
Bildquelle: boehrsi.de

I'm a coder - KW 18

event Erstellt am Di. 09.05.17 - 10:00 Uhr von Boehrsi
I'm a coder - KW 18 Image I'm a coder - KW 18 Image

Heute geht es darum wie schwer es mir manchmal fällt private Projekte fertigzustellen. Das der Start schwer ist hatte ich bereits erwähnt, doch wenn man diesen überwunden hat läuft es meistens. Interessanterweise fällt mir allerdings der Abschluss von Projekten ähnlich schwer. Vielleicht will ich einfach nicht fertig werden oder aber mich stört eventuelles negatives Feedback, doch beides sollte ja eigentlich kein Problem sein. Denn ein Abschluss eines Projektes bedeutet mehr Zeit für neues und negatives Feedback ist meistens am hilfreichsten, denn nur so kann man sich wirklich gut verbessern. Trotzdem habe ich unterbewusst das eine oder andere Problem mit diesen Situationen. Ich selber versuche mir Deadlines zu setzen und mich strikt an dieser zu halten, sodass ich nach Abschluss der Coding Phase den Release innerhalb weniger Wochen mache und nicht Monate lang warte. Dies klappt nicht immer, aber es hilft mir auf jeden Fall. Manchmal erwähne ich den Release auch bewusst z.B. hier im Blog, um einen gewissen Druck für mich selbst aufzubauen. Wie sieht es bei euch aus, geht es euch ähnlich und falls ja wie geht ihr dagegen vor?

Teil der Sammlung
Bildquelle: boehrsi.de

Eclipse Neon - Meine Einsatzbereiche - Spring Boot Projekte

event Erstellt am Sa. 06.05.17 - 20:14 Uhr von Boehrsi
Eclipse Neon - Meine Einsatzbereiche - Spring Boot Projekte Image Eclipse Neon - Meine Einsatzbereiche - Spring Boot Projekte Image

Eines meiner größeren aktuellen Projekte ist eine Webplattform. Diese stellt eine API zur Verfügung und ist zusätzlich auch als Website verfügbar. Die API wird mittels einer Android und iOS App bedient. Das Ganze ist umfangreich, muss flexibel sein und eine gewisse Portion Sicherheit sollte auch an Bord sein. Dadurch das ich auf der Arbeit bereits Erfahrungen mit Spring Boot sammeln konnte, war dies auch meine erste Wahl für dieses Projekt. Ich hatte mich vorher zwar bezüglich Alternativen umgeschaut, aber Spring erschien mir am passendsten. Durch die umfangreiche Integration der Spring Tool Suite in Eclipse ist letzteres auch meine erste Wahl für die Entwicklung von Spring Boot Projekten. IntelliJ Idea schließt zwar auf, doch diverse Kleinigkeiten, wie z.B. der automatische Neustart des Servers, Anzeige der Beans und diverse weitere Dinge, machen Eclipse hier etwas effektiver für mich. Ich schaue zwar immer wieder mal über den Tellerrand, aber die nahezu nahtlose Integration in Eclipse ist wirklich praktisch.

Teil der Sammlung
Related Links
Bildquelle: boehrsi.de

I'm a coder - KW 17

event Erstellt am Di. 02.05.17 - 20:44 Uhr von Boehrsi
I'm a coder - KW 17 Image I'm a coder - KW 17 Image

Nachdem ich bereits seit einigen Wochen versuche die vor einiger Zeit ausgelassene I'm a Coder News aufzuholen, will ich dies nun endlich nachholen. Das Thema sind Annotations. Also kleine, meistens durch ein @ gekennzeichnete, Strings an Klassen, Methoden, Feldern und wo man sie nicht noch alles findet. Sie erlauben uns diverse Dinge einfacher umzusetzen und ersparen meistens unnötigen Boilerplate Code. Allerdings sollte man immer aufpassen alle Annotations unter allen Entwicklern gleichermaßen bekannt zu machen, denn sonst wird der Code unverständlich. Sofern aber alle Entwickler eines Projekts mit Annotations arbeiten, wird der Code schnell übersichtlich und teilweise sogar besser verständlich. Allem voran wird er aber minimiert und entsprechend auch die Schreibarbeit. Beispiele sind hier Butter Knife, eine Annotation basierte Möglichkeit, um diverse Operationen rund um Views in Android zu vereinfachen. Ebenfalls im Android Bereich, allerdings wesentlich tiefgehender, ist Dagger unterwegs. Dagger wird für Dependency Injection genutzt und nutzt dabei umfangreich Annotations. Beide Libraries verwende ich ausgiebig in privaten, wie auch in professionellen Projekten. Ich kann euch nur raten Annotations mal genauer unter die Lupe zu nehmen, vor allem im Java und Android Bereich sind selbige schon umfangreich in Nutzung.

Teil der Sammlung
Bildquelle: boehrsi.de

I'm a coder - KW 16

event Erstellt am Sa. 29.04.17 - 15:12 Uhr von Boehrsi
I'm a coder - KW 16 Image I'm a coder - KW 16 Image

Heute geht es um Reviews, denn auch wenn sie häufig eher störend oder langwierig scheinen, so haben sie durchaus ihre Berechtigung. In meinen privaten Projekten gibt es sie nicht wirklich, höchstens Tests durch Freunde oder Kollegen gibt es. Aber niemand schaut sich meinen Code an. Auf der Arbeit sieht dies anders aus, denn nur nach dem Vier-Augen-Prinzip landet etwas auf dem Entwicklungs-Branch. Mit dieser Haltung verhindert man Unachtsamkeitsfehler und auch die Code Guidelines werden mit höherer Wahrscheinlichkeit eingehalten. Manchmal ergibt sich daraus Mehrarbeit, aber dafür ist der Code hoffentlich ordentlicher und vor allem richtiger. Privat fände ich dies von Zeit zu Zeit glaube ich auch praktisch, allerdings nicht dauerhaft. Denn wenn ich für mich ein paar Zeilen schreibe, möchte ich nicht unbedingt auf Kleinigkeiten hingewiesen werden, welche mir vielleicht sogar klar oder eventuell auch egal waren. Wie sieht es bei euch aus, macht ihre Reviews und wie findet ihr dieses Vorgehen?

Teil der Sammlung
Bildquelle: boehrsi.de

I'm a coder - KW 15

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

Diese Woche möchte ich ein paar Worte darüber verlieren warum ich eigentlich Android als Plattform meiner Wahl gewählt habe. Selbiges war schon recht früh klar, da meine ersten Smartphones durchweg Android Geräte waren. Kombiniert man dies nun damit das ich gerne entwickle, begann automatisch das Interesse am selber Erstellen von Apps. Zu Beginn eher minimal, doch später wurde es mehr. Innerhalb des Studiums konnte ich dann noch einige Chancen ergreifen Android Code zu schreiben und somit festigte sich das Interesse. Java Vorwissen aus dem schulischen Umfeld erleichterte den Einstieg hier immens. Konkurrenten waren bekanntlich Microsoft, was mich leider noch nie wirklich reizte, zusätzlich waren sie etwas zu spät für mich dran und Apple. Letztere ist nicht gerade meine Lieblingsfirma und somit standen die Chancen schlecht, dass ich für diese Plattform entwickle. Den Todesstoß für eine eventuelle Entwicklung von iOS Apps war aber definitiv die Hürde einen Mac besitzen zu müssen. Denn nur so kann man die Apps ordentlichen bauen und deployen. Das ist der Hauptgrund warum ich immer einen großen Bogen um iOS gemacht habe. Somit werden wohl auch kleinere Experimente im Gaming-Bereich, welche ich tatsächlich mal vorhabe irgendwann in die freie Wildbahn zu entlassen, nie auf iOS landen, außer sie sollten in irgendeiner Art und Weise erfolgreich sein. Alles in allem blieb ich bei meiner Hauptplattform also einfach bei den von mir genutzten Geräten und den bekannten Sprachen. Etwas langweilig könnte man nun sagen, allerdings beschäftige ich mich nebenbei ja mit diversen anderen Sprachen und Themen im Bereich Entwicklung. Ich persönlich bin mit einer festen Basis (Java + Android) und einem größeren Blick über den Tellerrand übrigens meistens gut gefahren und kann diese Art der Fokussierung nur empfehlen. Dabei meine ich nicht die konkrete Plattform + Sprache, sondern die gute Basis und zusätzlich der Sprung in fremde Gewässer.

Teil der Sammlung
Bildquelle: boehrsi.de