Boehrsi.de - Blog

Weekly Coding Question - JavaScript hui oder pfui

Erstellt am event Uhr von account_circle Boehrsi in label Development
Weekly Coding Question - JavaScript hui oder pfui Bild

Ich hoffe die Überschrift klingt nicht zu reißerisch, denn allgemein ist JavaScript natürlich eine feine Sache. Dies gilt obwohl es von Werbenden und Virenverbreitern gerne mal unnötig verwendet wird. Unabhängig davon kann man mit JavaScript extrem interessante Sachen machen. Angefangen im Browser des Users und bis hin auf die Server-Ebene, durch Ansätze wie z.B. den MEAN Stack open_in_new. Ich selber hatte in den letzten Tagen häufiger das Vergnügen und konnte mit relativ wenig Aufwand einiges erreichen. Konkret angewendet habe ich AngularJS open_in_new, welches ja noch einmal einiges anders macht als “normales” JavaScript. Doch egal welche “Art” von JavaScript ich einsetzte und egal wie schnell man einiges erreichen kann, ich werde nicht richtig warm mit dieser Sprache. Ich finde den gesamten Aufbau irgendwie manchmal etwas sehr unklar, auch wenn er teilweise einfacher ist als man es von z.B. Java kennt. Ich denke mein Problem hier sind meine Wurzeln im Java Bereich, welche quasi meine gesamte Programmiererfahrung geprägt haben. Aber ich werde weiterhin versuchen JavaScript immer mal wieder eine Chance zu geben. In diesem Kontext interessiert mich sehr wie es bei euch aussieht, habt ihr JS genutzt oder nutzt ihr es noch und was ist eure allgemeine Meinung zu dieser Sprache?

Weekly Coding Question - Gute oder schlechte Libraries

Erstellt am event Uhr von account_circle Boehrsi in label Development
Weekly Coding Question - Gute oder schlechte Libraries Bild

Libraries gibt es viele, sogar sehr viele. Diverse klingen extrem interessant und hilfreich. Doch wie gut sind sie, wie stabil und verlässlich funktionieren sie und sollte man sie in produktiven Apps verwenden? Diese Frage stelle ich mir aktuell immer mal wieder, vor allem da ich mich zur Zeit aktiv bezüglich neuen Android Libraries umschaue. Teilweise für konkrete Anwendungsfälle und teilweise einfach weil sie interessant klingen. Mir fällt es dabei, abseits von den großen und bekannten Libraries, allerdings sehr schwer zu entscheiden was gut ist und was nicht. Natürlich kann ich selber in den Quellcode schauen, denn ich bin meistens auf GitHub unterwegs. Dafür fehlt allerdings meistens die Zeit und manchmal auch das Wissen. Was also tun wenn man über eine gute Idee stolpert, aber nicht weiß wie gut sie implementiert und durchdacht ist? Ich selbst teste dann meistens etwas und schaue grundlegend in den Code, doch das kostet besagte Zeit. Habt ihr bessere Ansätze oder Ideen bezüglich diesem Thema? Ich würde mich über Kommentare freuen.

Related Links

Weekly Coding Question - Zu viele Ideen und zu wenig Zeit

Erstellt am event Uhr von account_circle Boehrsi in label Development
Weekly Coding Question - Zu viele Ideen und zu wenig Zeit Bild

Dieses Mal gibt es eher ein Meta Thema, denn es geht nicht direkt um die Programmierung von Software. Ich habe aktuell das Problem, dass ich ein laufendes Projekt habe, welches ich gerne umfangreich aktualisieren würde und damit auch schon begonnen habe. Zusätzlich habe ich ein kleineres Projekt, welches ich gerne beginnen würde. An dritter Stelle steht ein weiteres, größeres Projekt, welches ich auch nicht komplett alleine umsetzen werden (Server - Client Struktur und einer der verfügbaren Clients wird von einem Kollegen / Kumpel entwickelt). Doch bekanntlich hat der Tag nur 24 Stunden, davon arbeitet man die eine oder andere und am Wochenende gibt es ja auch immer mehr zu tun als einem lieb ist. Deswegen nutze ich meistens die späten Abendstunden, nachdem ich eine Runde mit meinen Kumpels gezockt habe, um die Entwicklung zumindest etwas voran zu bringen. Doch wie priorisiere ich die internen Projekte? Rein nach Lust gehen ist keine gute Idee, denn dann würde ich wohl niemals mit einem konkreten Projekt fertig werden. Deswegen die Frage an euch da draußen, ob ihr für euch persönlich Prioritäten bei euren Projekten setzt und wenn ja wie. Ich denke aktuell es ist sehr gut das ich ein Projekt habe, bei welchem ich nicht alleine bin. Dadurch hat man doch noch etwas mehr Motivation und kommt hoffentlich kontinuierlicher voran. Trotz diesem Fakt sollten die anderen Projekte natürlich nicht vergessen werden. Irgendwie eine Zwickmühle für die ich das perfekte Vorgehen noch nicht gefunden habe.

Weekly Coding Question - Coding Conventions - Fluch oder Segen

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
Weekly Coding Question - Coding Conventions - Fluch oder Segen Bild

Vorweg will ich direkt anmerken, dass Coding Conventions natürlich mehr Fluch als Segen sind, aber vor kurzem hatte ich bei einem meiner privaten Projekte einen interessanten Moment. Es geht um meine App FileSize open_in_new, welche ich aktuell umfangreich überarbeite und erweitere, sodass ich nach Möglichkeit innerhalb dieses Monats die Version 3.0 veröffentlichen kann. Dafür setze ich auf neuere Techniken, wende mein neues Wissen an und versuche sowohl meine neuen “internen” Coding Conventions zu nutzen, wie auch gemäß den Google Design Guidelines open_in_new zu programmieren. Soweit klingt das meiner Meinung nach sinnvoll, doch nun komme ich zum oben erwähnten Moment. Ich programmierte gerade eine RecyclerView open_in_new, welche bei mir die normalen ListViews open_in_new ersetzen soll und alles funktionierte nach etwas Recherche gut. Doch dann wollte ich die verschiedenen involvierten Komponenten abstrahieren, sodass ich sie an anderen Stellen wiederverwenden kann. Früher hätte ich einfach die Klassen kopiert und entsprechend angepasst. Das ist natürlich unschön, doch es würde gehen. Bei meinem Versuch der Abstrahierung stoß ich auf diverse Probleme, da die Struktur der RecyclerView etwas komplexer ist. Somit verlor ich zwei Stunden, ohne wirklichen Fortschritt.

Weekly Coding Question - Neue Techniken ausprobieren - ReactiveX

Erstellt am event Uhr von account_circle Boehrsi in label Development
Weekly Coding Question - Neue Techniken ausprobieren - ReactiveX Bild

Eine neue Weekly Coding Question ist da und dieses mal soll es um neue Techniken gehen, die einfach so gut erscheinen, dass man sich direkt einen Einsatzzweck suchen will. Mir ist in diesem Kontext ReactiveX über den Weg gelaufen. Falls euch ReactiveX nichts sagt, im Prinzip ist es eine Möglichkeit, um mit diversen Sprachen asynchrone Programmierung auf eine optimierte und nachvollziehbare Art durchzuführen. Dabei wird das bekannte Observer Pattern open_in_new angepasst und mit Ansätzen des Iterator Pattern open_in_new und einigen Dingen aus der Funktionalen-Programmierung open_in_new kombiniert. Heraus kommen sogenannte Streams, welche Überwacht werden können und je nach Event reagiert das Programm. Dabei wir nicht das eigentliche Programm nicht geblockt und auch während der weiteren Event-Verarbeitung, in eigenen Threads, kann auf weitere Ereignisse reagiert werden. Die Rückmeldung erfolgt erst nach Bearbeitung des eigentlichen Ereignisses. Klingt grundsätzlich gar nicht so “neu”, doch wenn man sich das ganze ansieht und die Technik + Umsetzung versteht, bekommt man finde ich Lust es direkt zu nutzen. Vor allem wenn man die Möglichkeit der Manipulation der Streams selbst konkreter betrachtet. Ich werde es auf jeden Fall für mein kleines Bildbearbeitungs-Tool Resizy nutzen, denn es arbeitet auf vielen Bildern und durch eine quasi Parallelisierung dieser Aufgabe, kann alles massiv beschleunigt werden. Außerdem bietet sich dies bei einem solchen Programm an, da die Bearbeitung eines einzelnen Bildes unabhängig von allen anderen Bildern ist und es somit nicht zu Problemen kommen kann. Doch auch weitere Einsatzzwecke sind denkbar, vor allem weil ReactiveX unter anderem mit Java, Scala, C#, C++, Clojure, JavaScript, Python, Groovy und JRuby genutzt werden kann. Was sagt ihr zu diesem Ansatz und kanntet ihr ihn schon oder habt ihn sogar schon eingesetzt?

Related Links

Weekly Coding Question - less oder Sass

Erstellt am event Uhr von account_circle Boehrsi in label Development
Weekly Coding Question - less oder Sass Bild

Mit ein wenig Verspätung erscheint heute die zweite Coding Question (ich sollte mir vielleicht den Zusatz “Weekly” noch einmal durch den Kopf gehen lassen). Aber wie auch immer, hier nun mein zweiter Beitrag zu Dingen, die mich im Coding Bereich beschäftigten. Dieses Mal geht es um CSS und um genauer zu sein, um Präprozessoren für Cascading Style Sheets. Was diese machen ist recht einfach, sie ermöglichen euch CSS Code hoffentlich besser und schneller zu schreiben. Dabei bekommt ihr neue Möglichkeiten, erweitert die “Sprache” also quasi und bekommt am Ende trotzdem normalen und überall nutzbaren CSS Code. Dies geschieht durch die Verarbeitung durch z.B. Sass oder less, was meinem Empfinden nach die größten Präprozessoren im CSS Bereich sind. Nun nutze ich CSS für meine Homepage und dies wird sich in der nächsten Zeit wohl auch nicht ändern. Also stelle ich mir die Frage, wie ich die Erstellung meines CSS Codes optimieren kann.

Related Links

Weekly Coding Question - Webentwicklung mal anders

Erstellt am event Uhr von account_circle Boehrsi in label Development
Weekly Coding Question - Webentwicklung mal anders Bild

Das Thema der ersten Weekly Coding Question ist Webentwicklung mal anders. Dabei beziehe ich mich wie gewohnt auf mich selbst, soll heißen “anders” ist definiert durch das was ich bis dato gemacht habe. Meine Entwicklung, auf Webseiten bezogen, lief bis dato via HTML und CSS im Frontend und PHP und MySQL im Backend (via Apache Webserver und Linux als OS), kurz gesagt also der altbekannte LAMP open_in_new Stack. Doch es gibt bekanntlich mehr, viel mehr. Doch was schaut man sich an, was wird sich in der Zukunft durchsetzen oder hat sich vielleicht schon durchgesetzt?

Weekly Coding Question - Neue Reihe im Blog

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
Weekly Coding Question - Neue Reihe im Blog Bild

Ich programmiere auf der Arbeit und ich programmiere zu Hause. Dabei nutze ich Java für Android, PHP für die Homepage und diverse weitere Sprachen. Dazu die nötigen Tools, IDEs, Toolchains und was es nicht noch alles gibt. Außerdem schaue ich mir gerne neue Techniken an. Egal ob komplett neue Sprachen, Architekturmuster oder allgemeine Entwicklungsansätze. Doch es gibt unglaublich viel in diesem Bereich und man hat ja leider nur begrenzt Zeit. Aus diesem Grund muss man sich oft entscheiden. Diese Entscheidungen, die Wege zu diesen und vielleicht auch die eine oder andere Diskussion, die ich eigentlich mit mir selber führen würde, möchte ich gerne mit euch teilen. Dabei wird es nicht wie in den meisten News ein Problem mit einer Lösung oder eine reine Info geben, sondern meine Gedankengänge und meine Ideen. Nicht unbedingt abschließende Entscheidungen, sondern eher Ansätze und Möglichkeiten solltet ihr von News dieser Reihe erwarten. Ich persönlich erhoffe mir den einen oder anderen Kommentar und neue Ansichten zu Themen die ich interessant finde. Denn genau diese Gespräche in den Kommentaren sind für mich der Lohn den ich bekomme, wenn ich diesen Blog betreibe. Ich plane einmal pro Woche, zum Wochenende hin einen Beitrag zu veröffentlichen. Ca. fünf Themen habe ich bereits, falls ihr Vorschläge habt bin ich wie gewohnt aber auch offen für diese.