Boehrsi.de - IT und Gaming Blog

I'm a coder - Die Ein-Sterne-Bewertungs-Fraktion

Erstellt am event 19.10.2019 - 17:00 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Die Ein-Sterne-Bewertungs-Fraktion Bild

Das Internet bietet viele Möglichkeiten und vor allem als Softwareentwickler ist es die Basis die eigene Software zu verteilen und eine breitere Masse zu erreichen. Dies ist sehr positiv, aber es gibt auch diverse Schattenseiten in diesem konkreten Bereich, die ich heute einfach mal ansprechen möchte.
Mir geht es vor allem um die Art und Weise wie mit Software und Apps umgegangen wird, wenn mal etwas nicht funktioniert. Dabei sollte man vor allem im Hinterkopf behalten, dass man die meiste Software in diesem Bereich gratis bekommt und genau auf diese möchte ich speziell auch eingehen. Hier bekommen Nutzer also kostenlos Software, die ihnen hilft, sie unterhält oder was auch immer für einen Zweck hat und der jeweilige Nutzer entdeckt ein Problem.

Weiterlesen…

I'm a coder - Vergangenheits-Daniel nervt

Erstellt am event 14.10.2019 - 19:00 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Vergangenheits-Daniel nervt Bild

Heute gibt es mal wieder neue Geschichten aus der Welt der Softwareentwicklung. Denn am Wochenende war ich mal wieder fleißig und wollte Googles Bitte nach einem Update meiner Android App FileSize nachkommen. Selbige ist aktuell meine einzige gelistete PlayStore App open_in_new und es wurde mal wieder Zeit die Target-Android-Version anzupassen.
Im Rahmen dieser Aktualisierung dachte ich es wäre eine gute Idee Abhängigkeiten zu aktualisieren, Gradle open_in_new einem Update zu unterziehen und diverse kleinere Aufräumarbeiten durchzuführen. Außerdem wollte ich einen seit langem existierenden Bug beheben und ein neues Feature einbauen. Hier und dort gab es bei diesem Plan natürlich Probleme, doch das eigentliche Problem, welches auch Thema dieses Beitrags ist, ist Vergangenheits-Daniel und im Ernst der nervt mich wirklich.

Weiterlesen…

I'm a coder - Lessons Learned anwenden

Erstellt am event 24.08.2019 - 14:30 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Lessons Learned anwenden Bild

Während der Software Entwicklung lernt man viel, teils in Bezug auf neue Programmiersprachen und ähnliches und teils allgemeine Dinge. Zu letzteren zähle ich so etwas wie: “Keine IDE Updates kurz vor einem Release”, nicht “einfach so Libraries aktualisieren” und “das sollte einfach so funktionieren” ist meistens nicht wahr. Die Liste geht noch weiter, quasi unendlich lang, doch worum es mir geht ist diese Lesson Learned auch anzuwenden.
Wir wissen diese Dinge, doch wir vergessen, wir sind im Stress und missachten eigentlich klare Abläufe und dadurch machen wir Fehler. Ich selber habe erst vor kurzem auf meinem privaten System ein Update von IntelliJ Idea 18.1 auf 19.2 gemacht, ohne auch nur eine Sekunde über aktuelle Projekte nachzudenken. Dies wurde natürlich prompt damit quittiert, dass das Projekt nicht mehr baute und ich erstmal das Projekt und die IDE debuggen musste, statt ein neues Feature zu entwickeln.
Um Lessons Learned anwenden zu können muss man sich erst einmal an sie erinnern, somit hilft es im ersten Schritt sie aufzuschreiben. Egal ob in einem Wiki oder auf einem Post-It am Monitor, man sollte den für sich persönlich richtigen Platz finden. Denn hier geht es vor allem um Sichtbarkeit im Alltag. Im nächsten Schritt versuche ich aktuell meine Aufzeichnungen zu bestimmten Kontexten von Zeit zu Zeit erneut zu betrachten, denn was hilft die beste Dokumentation, wenn man sie nicht liest. Um die entsprechenden Dinge dann final anwenden zu können bleibt eigentlich nur der gesunde Menschenverstand. Nicht überstürzt handeln, Backups erstellen, erst prüfen ob z.B. mit Updates Probleme bekannt sind und ähnliches kann helfen Probleme zu vermeiden. Auch Automatisierung in Form von Skripten oder ähnlichem kann hier und da vor Fehlern schützen. Generell fasse ich für mich die Abläufe in Document (z.B. Wiki), Repeat (regelmäßig erneut lesen), Apply (denken und anschließend handeln) und Protect (Skripte, Berechtigungen restriktiv setzen) zusammen.
Mich würden eure Lesson Learned im Bereich der IT interessieren und ich würde mich freuen einige in den Kommentaren finden zu können, denn wir alle lernen nicht aus.

I'm a coder - Der Wert einer guten Community

Erstellt am event 26.07.2019 - 09:00 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Der Wert einer guten Community Bild

Niemand weiß alles und deswegen ist es in der Softwareentwicklung meiner Meinung nach sehr wichtig eine aktive Community zu haben. In einer solchen kann man sich bezüglich der genutzten Sprache, Frameworks und ähnlichen Dingen austauschen. Denn auch wenn es Dokumentationen gibt, die erklären wie man performant eine Sprache nutzt oder wie man in einem Framework konkrete Use-Cases umsetzen kann, so gibt es zu viele unterschiedliche Aufgaben, als das alles dokumentiert sein könnte.
Community-Portale wie Stack Overflow open_in_new, Gitter open_in_new oder auch öffentliche Slack oder RocketChat Channels bieten hier eine Möglichkeit sich asynchron oder synchron auszutauschen und sich gegenseitig zu helfen. Vor allem Stack Overflow dürfte fast jedem Entwickler ein Begriff sein, denn z.B. im Android Bereich findet man quasi alles was man braucht dort.

Weiterlesen…

I'm a coder - Grafiken sagen mehr als Texte

Erstellt am event 26.06.2019 - 09:00 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Grafiken sagen mehr als Texte Bild

Obwohl ich aktuell eigentlich viel im Coding Bereich zu sagen hätte, komme ich zurzeit leider nicht wirklich dazu umfangreiche I’m a coder Beiträge zu erstellen. Doch heute nehme ich mir, bei entspannten 32°, einfach mal wieder etwas Zeit.
Thema ist heute die Erstellung von Grafiken und Diagrammen zur Erklärung von Konzepten oder Abläufen innerhalb von Software. Denn wer kenn es nicht, man hat Software entwickelt, verschiedene Konzepte und Ansätze angewendet und dann vergehen einige Monate und vieles gerät in Vergessenheit oder aber ein neues Teammitglied möchte eingearbeitet werden. Bei mir trifft aktuell beides zu, denn bei meinen privaten Projekten vergesse ich durch häufige Kontextwechsel gerne Dinge und auf der Arbeit versuche ich gerade neue Kollegen in mein aktuelles Projekt einzubinden.

Weiterlesen…

I'm a coder - Die Architektur

Erstellt am event 16.12.2018 - 20:00 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Die Architektur Bild

Es wird mal wieder Zeit für eine I’m a Coder News und heute ist das Thema die Architektur einer Software. Einer der Themenbereich in denen ich in den letzten Jahren wohl am meisten gelernt habe, allem voran auf der Arbeit, aber auch im privaten von eigenen Projekten. Der Aufbau der Architektur mag nach Arbeitsaufwand aussehen, aber selbiger lohnt sich meiner Meinung nach immer.
Selbst bei kleinen App gibt es immer mal wieder Momente in denen man Dinge erweitern oder ändern will und hat man eine stabile Basis geschaffen, also eine gute Grundarchitektur erstellt, geht dies um ein vielfaches leichter als bei einem großen Klumpen Software. Ebenfalls praktisch ist eine gute Architektur im Bereich Dokumentation, denn gerade bei privaten Projekten bleibt die Doku oft auf der Strecke und nach ein paar Monaten versteht man den eigenen Code nicht mehr. Hat man hier aber mit einem verständlichen Entwicklungskonzept gearbeitet, findet man viel schneller wieder in existierenden Code hinein.

Weiterlesen…

I'm a coder - Nervige Dinge beim Programmieren

Erstellt am event 29.09.2018 - 12:30 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Nervige Dinge beim Programmieren Bild

Ich entwickle gerne Software, sowohl professionell, wie auch privat, doch manchmal gibt es einfach unschöne Aufgaben, nervige Bugs oder andere Situationen auf die man lieber verzichten würde. Die Top 5 der nervigsten Dinge beim Programmieren - für mich persönlich - möchte ich heute im Rahmen einer weiteren I’m a coder News vorstellen.
Unklare / nicht durchdachte Aufgabenstellung: Egal in welchem Kontext, immer mal wieder stolpert man über nicht fertig gedachte Ideen und Ansätze. Daraus resultiert dann oft eine Änderung der eigentlichen Aufgabe, noch während man initial dabei ist. Dadurch ändern sich auch gerne grundlegende Dinge, sodass ordentlich Hirnschmalz benötigt wird, um entsprechende Anpassungen zu machen ohne komplett neu beginnen zu müssen. Solche Dinge kann man durch ordentliche Planung einschränken, aber leider niemals komplett ausschließen. Gerade im privaten Bereich empfehle ich in diesem Kontext alles zu notieren und ein paar Tage reifen zu lassen, denn wenn man blind drauflos schreibt, landet man häufig in besagter Situation.
Trial and Error Bugfixing: Ein Bug wird entdeckt und die Jagd nach Ursache und Lösung geht los. Auf dem Weg zu Lösung gibt es einige Zwischenschritte und manchmal hat man das Pech einen nicht reproduzierbaren und entsprechend auch nicht wirklich lösbaren Bug zu finden. Dabei kann man dann nur herumprobieren, um sich an eine Lösung anzunähern. Ebenso sieht es aus wenn man zwar genau weiß wo das Problem ist, aber eine klare Lösung nicht erkennbar oder gar möglich ist. Somit kann man auch hier nur via Trial and Error Ansatz versuchen das Problem zu lösen. Am frustriertesten finde ich dabei die Menge an Zeit die man investiert ohne Fortschritte zu machen und ohne Code zu erstellten. Meistens kommt man trotzdem zu einer Lösung und alles ist wieder gut, es gibt allerdings definitiv dankbarere Aufgaben. Wirklich tun kann man gegen diese Art von Problemen leider auch nichts, denn diese Art von Bugs kommt bei der Entwicklung einfach auch vor.

Weiterlesen…

I'm a coder - Aktualisierungen von Third-Party-Libraries

Erstellt am event 21.09.2018 - 19:00 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Aktualisierungen von Third-Party-Libraries Bild

Der letzte I’m a coder Beitrag ist schon länger her, was nicht zwangsweise daran liegt das es nicht neues in diesem Bereich bei mir gibt, sondern eher daran das die Beiträge in anderen Sammlungen einsortiert werden. Doch wie ich auch immer, ich habe mal wieder etwas allgemeines, was gut in diese Sammlung passt.
Zuletzt kam ich durch die Droidcon auf das heutige Thema. Es geht um die Aktualisierung von Third-Party-Libraries, welche man in seinen Programmen, Tools oder Apps nutzt. Denn häufig hat man kleine praktische Bibliotheken, die einem Arbeit abnehmen und Funktionen verlässlich und schnell zur Verfügung stellen, ohne dass man das Rad andauernd neu erfinden muss. Ob man dabei alle Nase lang Fremdbibliotheken nutzt oder lieber alles selber schreibt, kommt auf das Projekt und die generelle Einstellung an. Das man bereits eingebundene Libraries aber aktualisieren sollte, sofern man welche nutzt, ist denke ich klar.
Doch warum fällt dies so schwer? Never Change a Running System, denn es funktioniert alles, ist häufig ein guter Grund. Auch häufig ist das fehlende Bewusstsein für diese Bibliotheken, denn wenn alles funktioniert schaut man oft gar nicht mehr nach diesen Inhalten und eventuell verfügbaren Updates. Damit einher gehen dann natürlich diverse Probleme, wie z.B. Abstürze. Unter Android sind häufig Plattformupdates ein guter Grund für ein Update von Libraries, denn oft gibt es nach größeren Systemänderungen Probleme. Doch häufig entdeckt man diese Probleme erst nach längerer Zeit und nach einigen unzufriedenen Nutzern. Reaktiv reagieren ist eben nur eine Notlösung und sollte nicht der permanente Zustand sein.

Weiterlesen…

I'm a coder - Kotlin für die Android Entwicklung

Erstellt am event 19.04.2018 - 18:13 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Kotlin für die Android Entwicklung Bild

Wer in der Android-Welt unterwegs ist dürfte bereits über Kotlin gestolpert sein, die neue moderne Sprache von JetBrains open_in_new (IntelliJ und Android Studio Entwickler). Die Sprache kompiliert zu JVM kompatiblen Code und wird offiziell von Google unterstützt. Aufgrund der Herkunft ist natürlich auch Android Studio in der Lage Kotlin Code zu erstellen und zu kompilieren.
Ich persönlich habe mir die Sprache etwas angeschaut und auf der Arbeit einer Kotlin Teaching Session beigewohnt. Die Sprache ist interessant, hat wirklich gute Konzepte und dürfte Boilerplate Code teilweise massiv minimieren. Doch es ist und bleibt eine neue Sprache, die gelernt und vor allem verstanden werden will. Für mich würde Java Programmierung an anderer Stelle weiterhin Pflicht sein (in Projekten abseits von Android), sodass ich diverse Kontextwechsel kompensieren müsste.

Weiterlesen…

Related Links

I'm a coder - Guards - Fluch oder Segen

Erstellt am event 15.02.2018 - 18:51 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Guards - Fluch oder Segen Bild

Eine App sollte keine Crashes produzieren. Diese Aussage ist denke ich für jeden erfassbar und verständlich. Um dies zu erreichen programmiert man natürlich sicher und effektiv. Doch hin und wieder kommt dann doch ein Crash rein und man muss ihn fixen. Doch reicht ein Guard um Crashes / Bugs wirklich zu beheben? Von Zeit zu Zeit sicherlich, doch dies hängt natürlich von der Situation ab und oft ist selbige durchaus komplexer und bedarf etwas mehr Zuwendung. Mit Guard ist in diesem Kontext z.B. ein null Check gemeint, welcher einen Code-Block vor Ausführung schützt.

Weiterlesen…

format_list_numbered  Seite 1 Nächste navigate_next