jhipster und der Springframeworkguru

Wärmste Empfehlungen für tolle Technik: JHipster und für tiefes Verständnis des Springframeworks John Thompson. Bei JHipster finden die clientseitigen Webframeworks Angular oder React Verwendung, der Springframeworkguru John Thompson arbeitet in seinen Schulungsvideos mit der serverseitigen thymeleaf-Interpretation.

Und immer an die Sicherheit und Wartbarkeit nicht nur der Programmierungen, sondern auch der darunter liegenden Technologiestacks denken. Von getrennten Serverdiensten in Containern bis ganz runter hin zu den chinesischen und taiwanesischen elektronischen Fischernetzen in den Integrierten Schaltkreisen.

Ist Full-Service-Development nicht ein spannendes und interessantes Berufsbild? Aber sicher!

Meine Basteleien finden sich auf GitLab und GitHub – und die ganz privaten Sachen auf meinem gogs-Server.

Hier noch der Link zum recht aktiven Springframeworkguru-Slackchannel

Programmierung heutzutage…

In meiner kleinen Welt gibt es neben meinen Aufgaben mit Server-Betriebssystemen und Serverdiensten im Intranet und Internet das Wurschteln im MS Dynamics NAV 2015 – Development-Environment. Dessen „funktionale Programmierung“ empfinde ich nicht mehr als zeitgemäß: tausende Programmierer fangen immer wieder von vorne an, den gleichen Code zu schreiben, um weiteren Programmierer-Horden dadurch die neue Aufgabe erwachsen zu lassen, wieder überall in verschiedensten Ecken des „Development Environments“ umherzuklicken, um diese Codeschnipsel zu finden, die sie dann ausschneiden und an anderer Stelle ergänzt einsetzen. Dann wird ein paar Monate später alles nochmal in tagelanger C&P-Arbeit angefasst, wenn ein Upgrade der kompletten Installation gefahren werden soll – falls es nach den notwendigen, individuellen Firmenanpassungen überhaupt noch möglich ist, ein Upgrade zu fahren.

Daneben existiert die WordPress- (u.a. OpenSource-CMS-, Webshop- und Blog-) Systemwelt unter php mit Javascript-Anbauten, hier wird ähnlich krude gecodet, upgedated, upgegraded und fleißig alt zu neu migriert.

Die Evolution in der Programmierung wird in Systemen verankert, die selbstverständlich veralten. Evolution in der Programmierung bedeutet, dass die Erkenntnisse im Laufe der Jahre der Programmierer-Generationen auch in die Technik umgesetzt werden. Die neuen Techniken OOP, AOP, IoC bzw. DI, Convention over Configuration, Continuous integration und Iteration, d.h. u.a. Entwicklung nah an den Ansprüchen und teilweise irrigen Vorstellungen der Kunden, Microservices uva. können in alten Systemen nur unter unmäßigem Aufwand integriert werden – wobei mit Microservices zum Teil alte Systeme neben neuen Systemen lauffähig gemacht und gehalten werden können.

Und was bringen die neuen, wesentlich modulareren Ansätze der Programmierung? Viele, viele, viele Bibliotheken, die von Buildtools zusammengehalten und von Frameworks herangezogen werden und mit denen dann in Stufen (in einfachster Form: development, staging, production) entwickelt, geprüft und veröffentlicht wird. Wieder selbstverständlich wird „24/7 – international“ an den Bibliotheken, Buildtools, Überwachungs- und Deployment-Serverdiensten gefeilt, weswegen das Updaten und Upgraden bereits in die Entwicklungsphase gehört und einiges an Zeit frisst. Wehe dem, der sich dabei noch um Lizenzen einzelner Teile des Systems kümmern muss!

Für den Entwickler bedeutet der erste Schritt des Kampfes, sich für Plattform-Unabhängigkeit, mobile-first und PWA, Kombination verschiedener Frontend- und Backend-Technologien, VM’s und Linux-Containern in die „Configuration of your IDE“ zu stürzen, und zwar auf dem MacBook unter Darwin, unter verschiedenen Linux-Systemen und den sturen Windows-Versionen, die bestenfalls Linux-Container zu unterstützen versuchen. Daneben liegt neben dem immer neuesten iPad ein altes Gerade-so-Smartphone mit Drosselsoftware drauf, die die Datenrate drückt, um die Realitäten „im Busch“ oder in Deutschland nachzustellen.

Und eine einfache Webpräsenz wird unter Usability-Aspekten, i18n (Internationalisation) und Localisation, Security-Conception und SEO-Maßnahmen ein Höllending. Aber jhipster ist halt einfach auch geil 🙂

„Des is‘ wie wenn’de vom IKEA Kleinkind-Bällebad endlich zur Kindergarten-Gruppe hochrutschst, die schon mit Lego spielen darf…“

Jochen@jhipster.de
Jochen@hochzeit.gebsattel.rocks

Mit Open Source siegt die Vernunft

Gerald Pfeifer sieht die Sache ganz pragmatisch: „Die Kunden brauchen Software, die funktioniert“, sagt der Österreicher, der bei der Nürnberger Software-Firma Suse die Bereiche Produkte und Services leitet. „Wenn’s nicht tut oder zu langsam arbeitet, ist es keine Option.“ Es, das ist Software, die man auch in Fachkreisen noch vor einigen Jahren vielfach belächelt hat. Oder, wie der Windows-Hersteller Microsoft, mit Krebs verglichen und bekämpft hat, wo es nur ging: Open-Source-Software, auch freie Software genannt.

Software also, deren Quellcode jedermann zur Verfügung steht, die jeder verändern darf. Man übertreibt kaum, wenn man feststellt: Diese Software regiert inzwischen die Welt. Und ja, sie ist eine Option, eine Option, die immer häufiger gezogen wird.

„Open-Source-Software ist in vielen Bereichen zum Standard geworden“, sagt Peter Ganten, Chef der Bremer Open-Source-Softwarefirma Univention und Chef der Open Source Business Alliance. „Google, Facebook, Amazon – sie alle basieren auf Open-Source-Software“, sagt Ganten, „auch Android“, also Googles Betriebssystem, das die weitaus meisten Smartphones antreibt sowie viele andere Geräte.

Weiterlesen…

Quelle: Die Süddeutsche Zeitung

Weichzielscheibenkleister

Was bin ich, wenn sich das Da-Sein unzähliger menschlicher Individuen auf den Begriff "Weichziele" reduziert?

View Results

Loading ... Loading ...

Check SELinux…

…via:

  • /etc/selinux/config (symlinked to /etc/sysconfig/selinux)
  • /usr/sbin/sestatus
  • /usr/sbin/getenforce

Nicht vergessen:

  • ls -dZ /path/to/directory zeigt SELinux Label des Ordners
  • ps axZ | grep ftpd zur Kontrolle der Labels des Prozesses
  • sudo netstat -tnlpZ | grep ftp zur Kontrolle der Labels des/der Ports
    (see: semanage port -l | grep ftp)
  • firewall-cmd –zone=public –list-ports bzw. firewall-cmd –zone=public –list-services

CentOS, Docker und SELinux

Mit verlangsamter Geschwindigkeit gekuckt: Docker and SELinux by Daniel Walsh from Red Hat führte mich auf folgende, wichtige Seiten zu docker im Rahmen eines professionellen Linux-Systems:

und weiterführend Docker and SELinux.

Dabei kaue ich schon die ganze Zeit an meinem System, per ftp (tls & mod_auth_file.c – enforced) upgeloadete Files über https an ein Java-Modul übergeben zu können. Teile davon finden sich z.B. unter Mesqualito/docker-proftpd (GitHub). Davor hatte ich verschiedene proftpd-docker-images anderer Administratoren durchprobiert und blieb jedesmal irgendwo stecken…

Und bei aller gewünschten Funktionalität immer beachten: http://stopdisablingselinux.com!

Hier findet sich auch eine gute Erklärung zur „Discretionary Access Control (DAC)“ mit den gewohnten Lese-/Schreib-/Ausführungsrechten für Prozesse und Benutzer und der durch den Kernel kontrollierten „Mandatory Access Control (MAC)“, bei der anhand „policies“ festgesetzt wird, welcher Typ von Prozess (oder Benutzer) welche Berechtigungen in Bezug auf welches Objekt hat. SELinux‘ MAC kann auch Rechte ausschließen, die Linux‘ DAC scheinbar freigegeben hat (z.B. rwxrwxrwx – /home/user_home bleibt für user2 und ggf. auch für root dennoch gesperrt).

In diesem Kontext muss ebenso auf die „Capabilities“ (=> pscap) geachtet werden, die docker (aka Linux-Container lxc) heranzieht.

Wichtig ebenso: SELinux type-enforcement (“ a process running with the label ftpd_t  can have read access to a file labeled ftpd_config_t…“) – siehe auch: SELinux check…