Wieso das ganze?! Suizid oder auch besser bekannt als Selbstmord. Ein Thema was gerne vermieden wird. Genauso wie Tod an sich. Viele weigern sich, darüber zu sprechen. Manche bezeichnen diese Art zu sterben als dämlich oder unnötig. Ich selbst hatte schon oft Berührungen mit Suizid. Sowohl bei mir selbst oder auch bei Freunden. Deshalb habe ich mich entschlossen heute über das Thema zu sprechen. DISCLAIMER Gleich zu Beginn möchte ich jedoch betonen das dies ausschliesslich meine persönliche Meinung ist und keine wissenschaftliche Ansicht oder ein unfehlbares Gesamtbild. Zudem besteht bei mir selbst keine Suizidgefahr. Also an dieser Stelle keine Sorgen :) Die Sicht der Hinterbliebenen Viele, oft auch Angehörige stellen sich nach dem Selbstmord eines Bekannten oder Freundes viele Fragen. Oft zweifelt man an sich selbst, wieso man nicht erkannt hat, dass jemand die Absicht hat, sich das Leben zu nehmen. Nicht jedem Menschen sieht man an, dass er keine Motivation hat weiterzuleben. Bei manchen ist es nur eine kurze Phase durch Depressionen, wie sie vorallem Jugendliche heutzutage oft erleben. Oft wird dies verursacht durch eine ungefestigte Rolle in der Gesellschaft oder allgemein einem instabilen Umfeld. Meistens sieht man kein Licht am Ende des Tunnels. Sei es Ausbildung, Studium oder Freunde, …



Anfangs bla bla Als erster Post des Tag Vorstellungsrunde möchte ich mit Vue.js beginnen. Ein stabiles und leicht zu erlernenedes Framework. Schnell zum einarbeiten, debuggen und benutzen. Und trotzdem flexibel genug um erweitert oder angepasst zu werden. Ich nutze es beruflich und privat und muss sagen das der Workflow mit Vue.js wirklich ungeschlagen ist. Das ganze nun mittlerweile seit gut einem Jahr und so möchte ich auch mal meine Erfahrungen mit dem Framework teilen. Einstieg Der Einstieg in Vue ist extrem simpel. Es gibt eine exzellente Onlinedokumentation in der man sich schnell und unkompliziert zu recht findet. Parallel zu der bloßen Theorie kann ich nur empfehlen die vue-cli gleich zu installieren und live mit zu testen und parallel zu lesen. Mit den Grundzügen ist man dann eigentlich nach ein paar Stunden gut vertraut. Bei tiefer gehenden Fragen und Problemen auf die man zu Beginn stößt lassen sich ebenfalls gut nachlesen. Für was kann ichs nutzen? Simpel gesagt für Browseranwendungen. Am besten eignet sich Vue.js für Single Page Applications oder auch um seine Website mit kleinen dynamischen Elementen aufzuhübschen oder die Serveranwendung ein kleines Stück feedbackreicher zu gestalten und dem Nutzer einen Mehrwert zu bieten. Grundsätzlich kann sie …



Beweggründe für diesen Post Anstoß für diesen Post ist ein Beitrag von heise.de: colspan=6: Über den Nachteil der Entwicklerwerkzeuge. Nach dem Lesen der Überschrift zweifelte ich doch sehr an der Sinnhaftigkeit dieses Beitrags. Doch nach lesen des Artikels wurde mir bewusst, dass noch sehr viel Wahrheit hinter dem ganzen steckt. Es ist fast selbstverständlich geworden alles so weit es geht zu automatisieren oder mit Tools zu vereinfachen. Ich selbst bin von allemdem ein sehr großer Fan. Automation and Tools everywhere Automatisierung ist gerade heute ein großes Thema, am besten den Vorgang einmal modelliert für immer autarg im Einsatz. Das ganze trifft natürlich nicht nur auf die IT-Branche zu. An dieser Stelle ist nur Industrie 4.0 zu sehen, doch auch im Kleinen, in Handwerksbetrieben. Die Maschinen übernehmen immer mehr arbeiten und manuelle Vorgänge. Damit ergeben sich natürlich enorme Zeiteinsparungen und eine höhere Effizienz unserer Arbeit. Man kann sich um die eigentliche Aufgabe kümmern statt um stupide Teilschritte. Doch für welchen Preis das alles? Machen wir uns abhängig von den Tools und dem Automatisierungswahn? Ich ertappe mich doch recht oft dabei, manche Fehler sehr oft zu wiederholen und diese anschliessend durch die IDE korrigieren zu lassen. Oft ist es …



Intro Das ist eine der wohl häufigsten Fragen die zwischen Anfängern aber auch erfahrernen Programmierern heiß diskutiert wird. Gerade im akademischen Umfeld und der Ausbildung hört man oft "die Sprache ist grundsätzlich egal". Würde eine Sprache reichen? Doch warum gibt es dann so viele von Ihnen? Warum programmieren wir dann nicht alle mit C oder C++? Gibt es vielleicht doch Unterschiede? - Natürlich gibt es Unterschiede. Ob es nun die besonderen Funktionen sind, die bei Nebenläufigkeit unterstützen oder eine bestimmte darunter liegende Architektur, wie das z. B. nur ein Kern genutzt wird oder breitere APIs mitgeliefert werden. Jede Sprache entstand aus einer Problemstellung heraus. Prominentestes Beispiel hierfür ist wohl Java. Eine Sprache die geschaffen wurde, um verschiedene Plattformen abzudecken. "Write once - Run anywhere". Ziel war die Schaffung einer einheitlichen Plattform für alle gängigen Betriebssysteme, aber am Besten für jedes. Dieses Ziel wurde sehr gut erreicht, aber es hat den Nachteil, dass man eben nicht spezifisch auf jedes Betriebssystem eingehen kann. Also eher ungeeignet für sehr auf das OS oder die Hardware ausgerichtete Einsatzzwecke. Grundsätzlich ist sie ja eine "general purpose language", zu gut Deutsch eine "Universelle Sprache". Egal ob man ne …



Einführung Zuerst einmal zum Begriff "Cross Plattform UI". Ich verstehe darunter grundsätzlich "Eine UI für alle gängigen Plattformen". Im nativen Bereich meint man hier so gut wie immer ein Betriebssystem (Windows, Linux, Mac, Android ...) oder eine Laufzeitumgebung (Java Runtime Environment, .NET Runtime, Python, ....). Oder im Web von einem Browser (Chrom[ium]/Firefox, Safari, ...). Soweit so gut, also viele Plattformen, selbe Benutzeroberfläche. Wo liegen jetzt Probleme? Nativ und doch plattformunabhängig Klingt doch toll oder? - Ich designe eine Oberfläche genau einmal und verwende sie auf allen meinen Zielplattformen. Doch nicht immer will der Nutzer auf jeder Platftorm die gleiche UI sehen, vielleicht will er nicht mal merken das er gerade eine Systemanwendung verlässt. Es soll sich heimisch anfühlen aber trotzdem ohne große Einarbeitungszeit funktionieren. Das lässt sich natürlich nicht auf jede Software anwenden und ist nicht immer eine explizite Anforderung aber doch ein indirektes Bedürfnis vieler Nutzer. Size matters Und dann wär da noch das Problem mit der Plattform. Die Anwendung soll ja relativ klein sein, wenn wir von der Dateigröße reden und natürlich möglichst wenig Abhängigkeiten haben und am besten auch auf einer neuen aufstrebendenen Plattform funktionieren. Doch natürlich hat jede Anwendung Anforderungen die sehr speziell …



Einführung Nerd. Ein Begriff den man in der heutigen Zeit recht oft verwendet. Man kann was gut, ist vielleicht nicht so sozialfähig und zack man ist ein Nerd. Nerds kann man eigentlich überall finden. Doch die meisten verbinden damit Leuten, die Computerspiele spielen oder "Zeugs am PC machen". Als Softwareentwickler hört man sowas doch schon relativ häufig. Ob von Bekannten, Freunden oder Kunden. Das ist ja gerundsätzlich mal ganz ok. Man wird eben so bezeichnet. Man gewöhnt sich dran. Man liebt einfach was man tut. Ob man wie ich einfach die Erstellung von Softwaresystemen, Programmen und Tools oder vielleicht das rumlöten an irgendwelchen Platinen extrem gerne tut. Für jeden gibt es eine Sache die man unheimlich gerne tut und der wir uns einfach gerne vertiefen und vielleicht auch oft verlieren. Ohne diese Menschen wäre die Welt vielleicht nicht so wie sie heute ist. Wir prägen den Alltag. Ob es nun wir Softwareentwickler sind die den Alltag mit Apps, Software und Homepages erleichtern oder die Hardwaretüftler die Grundsteine für neue Maßstäbe legen. Sie sind der Teil der Gesellschaft der oft belächtet wird. Und doch sind wir so wichtig. Wir treiben Innovation. Trauen uns an neue Dinge. Und vorallem suchen …



Dieses Tutorial soll dabei helfen ein simples und rudimentäres SSO-System zu implementieren, bei dem nginx selbst die Authentifizierung übernimmt, hierbei ist der Login nur einmal für verschiedene Anwendungen möglich. Vorraussetzungen Für das Tutorial benötigst du PHP 7+ sowie nginx mit aktivierem Auth Modul Login-System mit PHP vorbereiten Zuerst benötigen wir eine öffentlich erreichbare Domain zum Login. Ich habe mich hierbei für folgende Struktur entschieden: public_html Document root |--- www Website root |--- index.php Einstiegspunkt |--- access_denied.php Fehler bei unzureichender Berechtigungen |--- change_password.php Self-Service zur Passwortänderung |--- headless_check.php Check für Nginx Loginstatus |--- login.php Login-Formular und Logik |--- logout.php Logout und deren Logik |--- util.php Hilfsfunktionen util.php Zuerst einmal die Hilfsfunktionsdummies: access_denied.php Diese Datei kann nach komplett eigen gestaltet werden, hier reicht eine statische Seite im Normalfall aus. headless_check.php Diese Datei wird aufgerufen, wenn nginx den Loginstatus abrpüft, hierbei muss entsprechend ein 403 - Access Denied, 200 - für Login ok und 401 für nicht angemeldet zurückgegeben werden. Ein optionaler Gruppencheck wird über den X-Groups-Header veranlasst der mit Komma getrennt die unterschiedlichen Gruppennamen enthält. login.php und logout.php Diese beiden Seiten können grundsätzlich auch …






Programmieren. Der Hype um IT und Programmierung ist ungebrochen. Industrie 4.0 hat wahrscheinlich jeder schon mal gehört, vielleicht sogar etwas zu oft. Ja Programmierung und Digitalisierung ist die nächste Revolution nach der Erfindung der Dampfmaschine. Und Industrie 4.0 ist das Schlagwort mit dem Manager und Steuergelder magisch angezogen werden. Das Wundermittel für die Zukunft: die IT. Viele fangen nicht direkt im Firmenumfeld mit der Programmierung an, eingeschlossen mir. Es beginnt oft ganz einsam und alleine im stillen Zimmer. Dann mausert man sich, findet Interesse und beginnt eine Ausbildung oder programmiert einfach nur privat. Man beginnt beim harmlosen Taschenrechner bis man irgendwann mit wichtigen Daten wie Passwörtern arbeiten muss. Der Umgang mit solch sensiblen Daten wird von vielen schlicht und ergreifend unterschätzt. Die sichere Speicherung von Benutzerdaten ist aber im Falle eines Angriffes die letzte Möglichkeit die Benutzerdaten vor Unbefugten noch einigermaßen sicher zu halten. So soll es wenigstens nicht leicht sein Passwörter und vieles mehr zu knacken. Persönliche Daten hingegen müssen meist in Klartext gespeichert werden. Und genau hier liegt das Problem. Man sollte sich bei jeder Erfassung von Daten fragen ob die Daten wirklich benötigt werden oder sich die Erfassung auch ersparen lässt, muss ich jede Anmeldung …



Was willst du von mir? Passwörter sind so etwas wie die digitalen Schlüssel in unsere virtuellen Häuser und Bruchbuden. Dabei sind sie genauso umstritten wie die Schlüssel in der "realen Welt". Ein beispiel für so eine Kritik mit Fakten ist hier zu finden. Ironischerweise setzt diese Website auf keine Verschlüsselung. Das aber nur am Rande. Und jetzt? Ob wir wollen oder nicht, Passwörter sind und bleiben wohl auf absehbare Zeit ein fundamentaler Bestandteil der Sicherung von Benutzerkonten. Und es werden immer mehr, am Besten für jedes Konto einzigartig, nicht zu einfach aber trotzdem leicht merkbar. Manche Dienste erfordern sogar in einem regelmäßigen Zyklus die Vergabe eines komplett neuen Passwortes, das nicht einmal ansatzweise dem Alten ähneln sollte. Und die Anzahl der Benutzerkonten und Dienste steigt täglich. Eine mögliche Lösung für dieses Problem des Spagat zwischen Sicherheit und Einfachheit will ich heute vorstellen. Sie nennt sich "Passwort-Manager". Wie funktioniert das? Bei Passwort-Managern handelt es sich um Tools/Programme. Das Prinzip von solchen Tools ist recht simpel. Man merkt sich ein Masterpasswort, dieses dient als Schlüssel zu seinen gesamten Passwörtern, für alle Konten. Das ganze funktioniert aber nur so gut, so sicher das Masterpasswort ist. Das Masterpasswort ist …



Vorwort Gerade für Beginner ist oft nicht leicht erkennbar ob es sich bei dem durch die Suchmaschine seines geringsten Misstrauens gefundenen Ergebnisse um seriöse handelt oder nicht. Das kann so pauschal auch nicht einfach beantwortet werden. Grundsätzlich sollte darauf geachtet werden ob die Antwort Quellen auf offizielle Dokumentation etc. der Sprache oder des Frameworks handelt. Entspricht der Inhalt der Quelle dem der Antwort ist diese meist als seriös einzustufen. Stackoverflow.com Eine der wohl wichtigsten Plattformen für Fragen und Probleme von Entwicklern ist stackOverflow.com. Hierbei ist es möglich als registrierter Benutzer mit gewisser Aktivität Antworten hoch- und runter zu voten. Hiermit sind die Antworten, die Nutzer für am sinnvollsten halten weit oben und unglaubwürdigere Antworten weiter unten. Sollte einen Antwort sogar im Minus sein, wird diese entsprechend ausgegraut. Das ist schon einmal eine grobe Vorsortierung. Die richtige Frage ist zudem mit einem grünen Haken als solche erkennbar. Das heißt aber nicht automatisch das diese auch "richtig" ist, denn sie wurde vom Fragesteller als solche markiert. Gerade für Anfänger stellt das aber eine gute Orientierung dar. Oft lohnt sich auch ein Blick in die Kommentare, dort werden oft Ungereimtheiten angesprochen. Ansonsten lohnt sich auch immer ein Blick in …