Sie sind hier : sebastian1012.bplaced.net/ homepage-neu / neuigkeiten / Entwickler-Blog.php

aaaa5
RSS Reader

https://entwickler.de/feed/rss2

Windows 10 May 2019 ist da ? für private und kommerzielle Anwendung (22.05.2019 15:26:07)

Das neue Feature-Update ist da: Windows 10 May 2019 kann installiert werden, wenn die Suche nach Updates manuell angestoßen wird Auch für kommerzielle Zwecke ist die neue Version Windows 10 Version 1903 durch WSUS, VLSC und andere Systemmanagement-Software installierbar

Microsoft hat Windows 10 May 2019 zum Download freigegeben, sowohl für private als auch kommerzielle Nutzung Bisher war das Feature-Update nur für Insider und im Release Preview Ring verfügbar Um einen möglichst stabilen Build zu erhalten, war der Preview-Modus dieses Mal verlängert worden, und auch trotz der Verfügbarkeit wird das Update nicht wie bisher an alle Windows-10-Anwender ausgerollt

Windows 10 May 2019 installieren

Um das neue Feature-Update für Windows 10 zu installieren, muss zunächst manuell nach Updates gesucht werden Einstellungen > Update und Sicherheit > Nach Updates suchen Nach dem Herunterladen kann eine Zeit zur Installation ausgewählt werden

Unter Windows 10 Version 1803 oder 1809 kann vor dem Download zusätzlich ein Button zum Herunterladen und Installieren erscheinen, wenn das neueste Update vom 21 Mai oder später installiert ist Das neue Verfahren mit dem wählbaren Download-Zeitpunkt steht in Zusammenhang mit Microsofts neuer Update-Strategie, wir berichteten

Daneben gibt es auch einen anderen Weg, das Feature-Update zu installieren: Auf der Webseite zum Herunterladen von Windows 10 ist es schon gelistet

Kommerzielle Anwender

Windows 10 May 2019 Windows 10 Version 1903 hält einige neue Features für kommerzielle Nutzer bereit IT-Administratoren sollten zunächst sicherstellen, dass die benötigten Anwendungen, Geräte und Infrastrukturen mit dem neuen Update kompatibel sind Sie können zur Installation z B Windows Server Update Services WSUS oder Windows Update for Business verwenden Windows Update for Business erhält mit dem Update einige Neuerungen, die in einem Blogeintrag zusammengefasst wurden

Alle weiteren Informationen zur Installation des neuen Feature-Updates bietet der Windows-Blog

Der Beitrag Windows 10 May 2019 ist da ? für private und kommerzielle Anwendung ist auf entwicklerde erschienen


Ember 3.10: Spitze Klammern für weitere Komponenten-Arten nutzbar (22.05.2019 15:13:48)

Mit Ember 310 haben es vier neue Features in Emberjs geschafft Auch für das CLI sind zwei neue Features im Release enthalten Vor allem wurde an der Erweiterung der Einsatzbereiche für spitze Klammern gearbeitet

Ember 310 ist da Das Release umfasst wie immer neue Versionen von Emberjs, Ember Data und dem Ember CLI, die gemeinsam versioniert werden Bei Ember Data hat sich nichts getan: Hier stellt Ember 310 nur ein Re-Release von v393 dar Emberjs hat hingegen gleich vier neue Features bekommen Zwei davon betreffen die Invocation-Syntax mit spitzen Klammern, die als Alternative zu den geschweiften Klammern eingeführt wurde Die spitzen Klammern können nun auch für in einander geschachtelte Komponenten verwendet werden, sowie für drei Komponenten, die vorgefertigt mit Emberjs ausgeliefert werden Dabei handelt es sich um input, link-to und textarea, deren APIs der neuen Syntax entsprechend angepasst wurden

Ember 310: Neue Features für Emberjs und Ember CLI

In Emberjs kann RouteInfo nun außerdem Metadaten spezifisch für die jeweilige Anwendung enthalten Ein weiteres neues Feature von Emberjs stellt zugleich eine der beiden Neuerungen am CLI dar Beide Bestandteile von Ember unterstützen nun die Verwendung von nativen Decorators Beim zweiten neuen Feature für das CLI handelt es sich hingegen um eine wegfallende Funktion: Der Support für Node 6 wurde final entfernt

Weitere Informationen zu Ember 310 können dem offiziellen Blogpost zur Version entnommen werden

Der Beitrag Ember 310: Spitze Klammern für weitere Komponenten-Arten nutzbar ist auf entwicklerde erschienen


Women in Tech: ?Rückschläge und ?Misserfolge? sind in Wahrheit Lernmöglichkeiten? (22.05.2019 12:24:54)

In unserer Artikelserie ?Women in Tech? stellen wir inspirierende Frauen vor, die erfolgreich in der IT-Branche Fuß gefasst haben Heute im Fokus: Andrea Pretorian, Content Manager bei BitIRA

Die Tech-Industrie wird von Männern dominiert ? so weit, so schlecht Doch langsam, aber sicher bekommt der sogenannte Boys Club Gesellschaft von begabten Frauen: Immer mehr Frauen fassen in der Branche Fuß

Aus diesem Grund wollen wir hier spannenden und inspirierenden Frauen die Möglichkeit geben, sich vorzustellen und zu erzählen, wie und weshalb sie den Weg in die Tech-Branche gewählt haben Aber auch Themen wie Geschlechtervorurteile, Herausforderungen oder Förderungsmöglichkeiten kommen zur Sprache

Unsere Women in Tech: Andrea Pretorian, Content Manager bei BitIRA

Andrea Pretorian

Andrea ist eine gebürtige New Yorkerin, die sich kürzlich in der Stadt der brüderlichen Liebe niedergelassen hat Sie stattet Menschen leidenschaftlich gern mit ihrem Wissen und ihren Fakten aus, sodass sie sich vor nichts fürchten Wenn sie nicht den Content bei BitIRA verwaltet, kocht sie zu Hause wilde Abendessen-Menüs oder verfolgt ihren Traum von der dokumentarischen Filmproduktion

Was hat dein Interesse für die Tech-Branche geweckt?

Eine meiner ersten Kindheitserinnerungen ist die, dass meine Familie einen Computer bekam Zu der Zeit kannte ich sonst niemanden mit einem Computer Ich schaute meinem Vater dabei zu, wie er ihn auspackte und zusammenbaute, und beobachtete stundenlang fasziniert, wie er in Menüs navigierte und einfache Aufgaben ausführte Ich glaube, er hatte damals die MS Office Suite und brachte sich Visual Basic bei Von ihm hörte ich immer von neuen IT-Trends Ich erinnere mich lebhaft daran, wie aufgeregt ich war, als wir Lautsprecher bekamen und Ton abspielen konnten

Ich fürchte mich vor nichts, und ich denke, das sieht man

Durch das Zuschauen lernte ich so viel, dass ich meine Computerlehrerin in der Grundschule unterstützte Sie hatte diese Aufgabe zugewiesen bekommen, besaß jedoch nur minimale Erfahrung mit Computern Daher machte ich das Troubleshooting für auftretende Probleme und half, dafür zu sorgen, dass die Computer verbunden waren und richtig liefen Von da an ist der Rest Geschichte

Ein Tag in Andreas Leben

Mein Titel bei BitIRA lautet ?Content Manager? Es gibt keinen typischen Tag Es passiert viel Aufregendes, wenn man für eine Firma arbeitet, die sich um Investitionen in digitale Währungen kümmert Die Branche entwickelt sich rasend schnell und es gibt immer etwas neues, womit man sich beschäftigen  kann

Kryptowährungen haben sowohl technische als auch finanzielle/unternehmerische Implikationen, was in Verbindung mit der Vorstellung ?für die Rente zu investieren? auf die meisten Menschen einschüchternd wirkt Ich liebe es, dieses Thema leichter verdaulich zu machen, sodass Menschen sich selbst dazu befähigen können, die besten Entscheidungen für ihr Leben zu treffen Wir arbeiten daran, die soziale Auswirkung von Krypto zu berücksichtigen Ich bin unglaublich stolz auf unsere Veröffentlichung zu Women in Crypto, aber auch mit der Umwelt und sogar mit Non-profit Fundraising haben wir uns auseinandergesetzt

Ein starker Rückhalt

Ich habe unglaubliches Glück, eine Mutter zu haben, die in den sehr späten 60ern und den 70ern eine Karriere als Chemieingenieurin verfolgte, und das sogar in Europa Sie bestärkte mich darin, dass ich alles erreichen kann, was ich will ? und dass ich nicht eher aufhören sollte, bis ich mein Ziel erreicht hätte Der einzige Haken daran sei, dass ich dazu bereit sein muss, hart daran zu arbeiten; aber dann, so sagte sie, könne ich alles erreichen

Dass Geschlechterdiskriminierung überhaupt als Problem existiert, habe ich erst in der High-School wahrgenommen Während das sehr behütet wirken mag, war das wirklich hilfreich, da ich neben Gleichaltrigen Erfolge verbuchte, ohne mich als Frau gegen den Rest der Welt wahrzunehmen Diese Erfahrung hat sich in mir verfestigt

Gab es auf deinem Weg Hindernisse?

Für eine Weile habe ich mich von Computern entfernt und wollte Neurochirurgin werden, aber ich war von den hohen Anforderungen und geringen Belohnungen frustriert ? zumindest in Hinblick auf das, was ich in meinem Erwachsenenleben schätze ? und meine Erwartungen für diesen Berufsweg wurden nicht erfüllt Daher begab ich mich zurück in die Tech-Welt Ich habe einen zweiten Studiengang in Informatik angefangen und war wirklich gut darin, zumal ich mich für Datenstrukturen begeistern konnte Damit habe ich dann aber aufgehört, weil sich das Studienprogramm zu einem Netzwerkschwerpunkt verlagerte, im Vergleich zu Bio-Tech und KI-Anwendungen, die mich zu der Zeit mehr interessierten

Da sich Establishments Wandel widersetzen, sorgen sie für hohe Eintrittshürden

Im Informatikstudium habe ich eine wirklich kritische Erfahrung gemacht Ich hatte schon immer ein Interesse für die Wissenschaft gehegt, und mich traditioneller ? und unbeabsichtigter ?  Weise immer für männlich dominierte Karrierewege entschieden Das war für mich nichts Neues Aber ich erinnere mich deutlich daran, in Seminaren zu sitzen und von meinen männlichen Kommilitonen ?ausgeschlossen? zu werden Zwar sagten sie mir nicht ins Gesicht: ?Geh weg, du bist eine Frau und gehörst nicht hierher? Was in Wirklichkeit geschah, war stattdessen viel subtiler, aber genauso gefährlich: Niemand sprach mit mir Es gab diese unsichtbare Blase um mich und die drei anderen Studentinnen in meinen Kursen herum insgesamt, denn wir waren nicht alle in den gleichen Seminaren Die Männer arbeiteten gemeinsam an Problemstellungen und unterstützten sich gegenseitig, wenn sie die Antwort nicht wussten, aber ?irgendwie? wollte nie jemand mit mir zusammenarbeiten

Der Witz geht auf deren Kosten, denn ich erinnere mich noch lebhaft daran, in einer sehr schwierigen Klausur als Einzige über 85 Punkte erreicht zu haben Die Jungs haben versucht, herauszufinden, wer das war ? aber mich haben sie nicht in Betracht gezogen

Hat jemals jemand versucht, dich vom Lernen und von beruflichen Fortschritten abzuhalten?

Natürlich ? und das nicht einmal auf Arten, die unbedingt mit meinem Geschlecht zu tun hatten

Diese Frage impliziert ein ?Was hast du dagegen getan??, und so werde ich das beantworten Zunächst einmal gilt ?im Zweifel für den Angeklagten?, bis zu einem gewissen Punkt Fehler passieren, Menschen bemerken nicht, dass etwas auf eine bestimmte Weise wahrgenommen werden kann etc Ich würde nie zur Panikmacherin werden wollen, aber seid ehrlich mit euch: Wann wirkt solch ein Verhalten nicht mehr zufällig? An welchem Punkt beginnt es weh zu tun? Seid euch darüber im Klaren, wo eure Grenze liegt

Eines der schlimmsten Dinge an Diskriminierung ist, dass sie den Opfern ihre Selbstbestimmtheit raubt

Wenn diese Grenze überschritten wird, sollte man zuerst mit der Einzelperson auf angemessene Weise sprechen Ich arbeite meist in kleinen Teams und versuche, zu jedem Teammitglied von Beginn an eine Beziehung aufzubauen Daher fühle ich mich vollkommen wohl dabei, jemanden bezüglich meiner Bedenken anzusprechen Es ist wichtig, sicherzustellen, dass sich die andere Person nicht bedroht fühlt, denn das kann defensives Verhalten erzeugen Dann sollte man seinen Standpunkt darlegen Im besten Fall hat die andere Person einfach nicht wahrgenommen, was sie effektiv ausgesagt hat, und so kann sie ihr Verhalten ändern und beide können sich wieder anderen Dingen widmen

Aber was, wenn das Problem bestehen bleibt? Man kann entweder über institutionelle Instanzen die Eskalation anstreben, es ignorieren oder sich dazu entscheiden, wegzugehen Das kommt ganz darauf an, was für eine Person man ist und was für einen selbst am besten ist Eines der schlimmsten Dinge an jeglicher Form von Diskriminierung ist, dass sie den Opfern ihre Selbstbestimmtheit raubt Daher sollte man so handeln, dass man diese Selbstbestimmtheit wiedererlangt

Worauf bist du in deinem Berufsverlauf besonders stolz?

Ich fürchte mich vor nichts, und ich denke, das sieht man Sei es ein Wechsel meiner Ausrichtung oder die Annahme eines neuen, potenziell schwierigen Projekts ? ich nehme jede Herausforderung an, die sich mir bietet Es hat all diese Zeit gebraucht, um zu internalisieren, dass Rückschläge und ?Misserfolge? in Wahrheit Lernmöglichkeiten sind Wenn man diese Mentalität erst einmal akzeptiert hat, wird man dadurch befreit

Warum gibt es so wenige Frauen in der Tech-Branche?

Das ist schon oft umrissen worden und es ist ein recht komplexes Thema Meiner Meinung nach ist ein zu selten angesprochener Faktor, was wir an jedem Geschlecht wertschätzen, wenn sie ?Erfolg? haben Das ist wichtig, weil es zur Berufswahl von Einzelpersonen mit einer hohen beruflichen Ambition beiträgt Erfolgreiche Männer sind eindringlich und entscheidungsstark, aber erfolgreichen Frauen wird immer ein Element von Charisma nachgesagt Der Ruf der Tech-Branche war nicht immer besonders charmant Als Resultat dessen legte sie große Sprünge zurück, bevor Frauen wirklich die Möglichkeit hatten, in grundlegender Weise daran teilzunehmen

Welche Hindernisse gibt es für Women in Tech?

  • Ein Establishment, das sie ausschließt ? bestenfalls unbeabsichtigt Da sich jedoch Establishments Wandel widersetzen, sorgen sie für hohe Eintrittshürden
  • Selbst wenn Frauen teilnehmen dürfen, haben sie im Vergleich zu Männern meist ganz spezifische Berufsbezeichnungen Denkt nur daran, wie viele Frauen ihr in PR-Anstellungen kennt, im Vergleich zu Tech-Berufen

Die Diversitätsdiskussion nimmt an Fahrt auf Wann werden wir Ergebnisse der aktuellen Debatte sehen?

Diversität ist so komplex, dass diese Frage unmöglich zu beantworten ist, auch wenn wir uns auf Genderdiversität fokussieren Davon abgesehen denke ich, dass der Wandel in Wellen verlaufen wird Es ist einfacher, Richtlinien schlagartig zu ändern, als tief verankerte Vorstellungen und Einstellungen, die länger brauchen werden Sie erfordern auch Verstärkung und Selbsterkenntnis, weshalb wir uns alle dazu äußern müssen, wenn wir diese Probleme wahrnehmen

Tipps & Tricks

Während ich definitiv daran glaube, Probleme hervorzuheben und an ihrer Lösung zu arbeiten, agiere ich nicht aus einer ?wir vs sie?-Perspektive heraus Das macht es schwierig, diese Frage zu beantworten, denn jeder Rat, den ich geben kann, würde jeden betreffen Beliebtheit und Attraktivität kommen und gehen Es ist leicht, in Ungnade zu fallen Daher würde ich empfehlen, euch weniger darum zu sorgen, ob ihr beliebt seid oder was die Leute über euch sagen Konzentriert euch auf eure Arbeit Im Endeffekt ist eure Arbeit das, was Bestand hat Stellt sicher, dass ihr sie so exzellent macht, wie ihr könnt

Der Beitrag Women in Tech: ?Rückschläge und ?Misserfolge? sind in Wahrheit Lernmöglichkeiten? ist auf entwicklerde erschienen


Node.js 12.3: Experimenteller Support für Wasm-Module (22.05.2019 11:13:44)

Nodejs 123 ist da und bringt experimentellen Support für die ES-Modules-Integration von WebAssembly mit Damit folgt Node dem aktuellen Trend: Alle setzen auf WebAssembly!

WebAssembly kommt nach und nach in der JavaScript-Welt an Auch Nodejs hat mit dem Release von v123 nun einen ersten Support für Wasm-Module implementiert Noch befindet sich das Feature aber hinter einem Flag: --experimental-wasm-modules Bei den Wasm Modules handelt es sich um eine Integration der ES Modules in den Wasm-Standard, die derzeit selbst noch in Phase 1 der Standardisierung befindlich ist Ziel des Proposals ist, dass Wasm-Module per import-Statement oder <script type=module>-Tag in JavaScript geladen werden können Die Semantik der Integration in Nodejs 123 entspricht der, die im WebAssembly-Proposal vorgeschlagen wurde, wie Guy Bedford im entsprechenden Pull Request auf GitHub erklärt

Nodejs 123 bringt außerdem einige weitere neue Features und Bugfixes mit, die in den Release Notes auf dem Node-Blog nachgelesen werden können Dazu gehört beispielsweise die neue Utility-Methode Readablefrom, die async Iterators in lesbare Streams konvertiert

Der Beitrag Nodejs 123: Experimenteller Support für Wasm-Module ist auf entwicklerde erschienen


Synchronisation mit LIMBAS (22.05.2019 10:20:32)

Mit dem Limbas-Framework lassen sich ähnlich zu Access individuelle Datenbanklösungen in einer grafischen Umgebung umsetzen Vielfach wird es in den Bereichen CRM, Prüfmittelmanagement, Betriebsmittelmanagement, Access-Alternativen bis hin zu ERP-Systemen eingesetzt Dabei ist eine häufig gewünschte Funktionalität von Datenbankanwendungen die Verfügbarkeit verschiedener Arten der Synchronisation

Insbesondere im Enterprise-Umfeld darf ein Synchronisationsfeature nicht fehlen Das Limbas-Framework bietet dazu zwei eigenständige Lösungsansätze, die neben den klassischen Datenexport- und Importfunktionen das Publizieren von Projekten sowie eine Datensynchronisation im Master-und-Slave-Verfahren bietet Beide Funktionalitäten sind unabhängig voneinander, bilden aber zusammen ein wirkungsvolles Werkzeug, um ein Projekt auf mehreren Limbas-Instanzen gleichzeitig zu betreiben oder auch strukturierte Entwicklungsumgebungen zu erstellen

Das Limbas Deployment

Das Deployment-Modul ist ein Werkzeug, das es erlaubt, eine in Limbas erstellte Lösung, eine Applikation, ein Fachverfahren oder ein Projekt auf eine oder mehrere Instanzen zu klonen bzw zu veröffentlichen Nehmen wir als Beispiel eine Mitarbeiterverwaltung, die mit Limbas umgesetzt worden ist Diese Mitarbeiterverwaltung soll nun dezentral an mehrere Filialen weitergegeben werden Jede Niederlassung betreibt ihre eigene Limbas-Instanz Dazu muss die gesamte Datenbankstruktur wie Tabellen, Trigger oder Abfragen sowie Formulare, Berichte oder Erweiterungen mit dem Zielsystem abgeglichen und synchronisiert werden Die vorhandenen Datenbestände dürfen dabei nicht beeinflusst werden Händisch wäre dieser Vorgang sehr mühsam und würde die Gefahr bergen, leicht Dinge zu übersehen Das Deployment-Modul ermöglicht dagegen eine sichere und einfache Art der Synchronisation im Master-und-Slave-Verfahren, um eigenständige und unabhängige Limbas-Instanzen zu erstellen oder anzupassen Ebenso ist es damit möglich, die eigentliche Projektentwicklung auf unterschiedlichen Entwicklungsinstanzen bis hin zum Produktivsystem zu verwalten

Wie funktioniert nun dieses Deployment-Modul? Es wird ein kompletter Export aller Tabellenstrukturen, Systemtabellen sowie Skripterweiterungen erstellt, in ein Archiv gepackt, zum Slave geschickt, dort ausgepackt und wieder importiert Während dieses Vorgangs werden vorhandene Tabellenstrukturen abgeglichen und lokale Einstellungen, Nutzerdaten oder individuelle Anpassungen auf die Zielsysteme übertragen Administrieren kann man die Synchronisation als Administrator im Limbas-Toolmenü Dazu gibt es jeweils einen eigenen Funktionsreiter im Import- sowie im Exportmenü mit der Bezeichnung Sync-Export und Sync-Import

Migrating to PHP 7

by Stefan Priebsch thePHPcc

A practical introduction to Kubernetes

by Robert Lemke Flownative GmbH

Unter dem Reiter Sync-Export verbirgt sich die Administrationsoberfläche zum Erstellen und Exportieren eines Archivs Dieses Archiv kann entweder als Archivdatei gespeichert oder direkt an ein Zielsystem gesendet und dort importiert werden In diesem Fall beinhaltet die Exportfunktion auch die Importfunktion Nicht immer möchte man das gesamte System synchronisieren, so bietet sich die Möglichkeit, die Module auszuwählen, die in den Synchronisationsprozess mit einbezogen werden sollen Dazu gehören unter anderem Tabellen, Formulare, Berichte, aber auch Rechte, Systemtabellen oder Funktionen, die nach dem Import ausgeführt werden Praktische Funktionen sind beispielsweise das Löschen der Sessions oder das Überprüfen der Indizes nach erfolgtem Import Die Option ?Alle Sessions löschen? sollte man übrigens immer aktivieren, wenn man möchte, dass allen aktiven Usern die Änderungen sofort und nicht erst nach dem nächsten Anmelden zur Verfügung stehen Abb 1 Es ist zu beachten, dass ausgewählte Module in Zusammenhang stehen können Möglicherweise existieren in Formularen Tabellenelemente, die in der Ursprungstabelle fehlen In diesem Fall muss auch das Tabellenmodul mit exportiert werden, das dafür sorgt, dass fehlende Tabellenfelder oder gar ganze Tabellen angelegt werden

Abb 1: Sync Export

Auch ist es möglich, eigene Funktionen oder Erweiterungen Kasten: ?Limbas-Erweiterungen? zu schreiben, die nach dem Import ausgeführt werden Dazu gibt es auf der Oberfläche ein Eingabefeld mit der Beschriftung run Dort trägt man den Namen seiner Funktion wie zum Beispiel myExt_UpdateAfterImport ein, die nach dem Synchronisationsprozess ausgeführt werden soll Diese Funktion muss dazu in einer eigenen Erweiterung existieren Ein Beispiel: Wir möchten nach dem Synchronisationsprozess die Tabelle ?Kunde? mit einem neuen Feld ?Kundentyp? ergänzen Der Inhalt soll abhängig von verschiedenen Kriterien des Kunden initial gefüllt werden Obwohl innerhalb des Synchronisationsprozesses das Datenbankfeld ?Kundentyp? schon angelegt wurde, ist es noch leer Mit Hilfe einer eigenen Erweiterung kann das Feld nun nachträglich gefüllt werden

Limbas-Erweiterungen

Limbas-Erweiterungen sind ein wichtiger Bestandteil von Limbas Sie ermöglichen es, an vielen Stellen eigenen Code in das Framework zu integrieren und so den Funktionsumfang zu erweitern Mehr dazu findet man im Wiki unter http://wwwlimbasorg/wiki/Skript-Erweiterungen

Der Knopf export archiv erlaubt es, die generierten Exportdateien in ein Archiv zu packen und auf dem eigenen Rechner zu speichern, anstatt sie gleich zu einem anderen System zu übertragen Dieses Archiv kann händisch auf das Zielsystem kopiert und importiert siehe Sync-Import oder einfach nur archiviert werden

Der Knopf export config dagegen erzeugt einzig die Konfigurationsdatei, in der die zu exportierenden Module aufgelistet sind Sie kann dazu genutzt werden, immer wiederkehrende Konfigurationen nicht jedes Mal neu erstellen zu müssen Listing 1

<SCRIPT 1>
<?php $toSync = array 
  0 => 'tabs',
  1 => 'forms',
  2 => 'rep',
; ?>

Der Abschnitt ?Sync to remote host? bietet die Option, den Export direkt auf das Zielsystem zu laden und zu importieren Dazu gibt man den vollständigen URL inklusive Zielpfad des Zielsystems z B https://IP/meinlimbas/dependent/ und einen Administratorzugang mit Username und Passwort an Ein Klick auf den Knopf start remote precheck exportiert alle nötigen Daten und simuliert einen Import im Zielsystem Das Ergebnis ist eine Zusammenfassung Kasten: ?System-Jobs? aller auszuführenden Anpassungen und Änderungen Diese kann man überprüfen, sich als HTML-Übersicht herunterladen und durch den Knopf TODO bestätigen Erst jetzt werden die Änderungen im Zielsystem ausgeführt

System-Jobs

Über das GUI ist eine Vorprüfung mit Zusammenfassung Pflicht Man kann allerdings über die System-Jobs den Export direkt anstoßen bzw per Cronjob in regelmäßigen Abständen ausführen lassen, ohne explizit zustimmen zu müssen Mehr zu System-Jobs findet man unter http://wwwlimbasorg/wiki/System-Jobs

Zu guter Letzt bekommt man noch einmal eine Zusammenfassung Sollte ein Fehler aufgetreten sein, wird neben einer Fehlerbeschreibung das Zielsystem über die Transaktionen in den Ursprung zurückgesetzt Dabei ist eine Transaktionsfähigkeit der jeweils eingesetzten Datenbank Voraussetzung Eine Zusammenfassung der Anpassungen zeigt Abbildung 2 Das Beispiel zeigt ausschnittsweise, dass zwei neue Tabellen angelegt grün, ein Feld in seiner Größe geändert schwarz, ein Feld angelegt grün und mehrere Felder gelöscht rot werden Weiterhin wird ein Vergleich einer geänderten SQL-Abfrage gemacht

Abb 2: Create Tables

Nachdem wir weiter oben im Artikel den Funktionsreiter Sync-Export vorgestellt haben, hier noch eine ausführlichere Erklärung zum Funktionsreiter Sync-Import

Die schon angesprochene Funktion Sync-Import findet man im Importmenü Sie benötigt weder einen URL zu einem anderen Limbas-System, noch nutzt sie eine Socket-Verbindung Sie dient zum manuellen Importieren vorheriger exportierter und gespeicherter Archive, wie unter Sync-Export beschrieben Analog zum Export wird nach Auswahl und Upload eines gespeicherten Archivs zuerst eine Übersicht aller Anpassungen ausgegeben, die bestätigt werden muss Der Importprozess ist ab diesem Zeitpunkt analog zum Exportprozess auf einen Remote Host

Der Revisionsmanager

Eine weitere nützliche Funktion ist im Menü TOOL unter Revisions-Manager zu finden Werden Revisionen erstellt, werden sie analog zum Sync-Export in einem Archiv zusammengefasst und gespeichert Das Interessante dabei ist: Erzeugte Revisionen können miteinander verglichen werden So ist es möglich, schnell die Unterschiede im Datenmodell der Version 3 und des aktuellen Systems aufzuzeigen Theoretisch ist es auch machbar, auf alte Versionsstände zurück zu migrieren, was aber einer Erzeugung einer neuen Version mit entsprechenden Änderungen gleichkommt Mehr zum Thema Revisionsmanager findet man unter http://wwwlimbasorg/wiki/Revisions-Manager

Limbas-Datensynchronisation

Die Limbas-Datensynchronisation synchronisiert im Gegensatz zum Deployment-Modul nicht die Limbas-Applikation, sondern die echten Dateninhalte der Tabellen Es können alle in Limbas registrierten Tabellen synchronisiert werden, sofern man es will Dabei werden die Daten in beide Richtungen synchronisiert und nach unterschiedlichen Regeln priorisiert Die Besonderheit dieses Moduls besteht in seiner Flexibilität, unterschiedlichste Varianten Templates der Synchronisation zu erstellen und per Job oder manuell auszuführen

Die Synchronisation erfolgt über PHP Sockets Das schafft die Voraussetzung, zusammenhängende Aufgaben auszuführen, ohne den PHP-Prozess zu unterbrechen Das ermöglicht es wiederum, für den gesamten Prozess Datenbanktransaktionen zu nutzen und damit eine hohe Datenintegrität zu erreichen Insbesondere in einer Webumgebung ist die größte Gefahr, nach einem Verbindungsverlust oder Datenbankfehler inkonsistente Daten zu generieren Die Nutzung von Transaktionen gewährleistet auch bei Verlust der Datenverbindung eine Zurücksetzung begonnener Änderungen Der Ablauf der Synchronisation lässt sich wie folgt beschreiben:

  • Herstellung der Socketverbindung zum Slave
  • Prüfung auf Änderungen auf dem Slave
  • Auslesen der Änderungen und Senden an den Master
  • Prüfung und Einlesen im Master
  • Statusrückmeldung an den Slave
  • Log schreiben

Was genau wie und wann synchronisiert werden soll, entscheidet der Administrator Hierzu steht ihm der Menüpunkt Synchronisation mit unterschiedlichen Einstellungsmöglichkeiten zur Verfügung Dieser Menüpunkt besteht aus zwei Registern In dem Register Slaves werden alle Slave-Instanzen, mit denen synchronisiert werden soll, eingetragen Der Name ist frei wählbar Der beinhaltete Host ist der vollständige URL User und Passwort müssen die eines Admins sein

In dem Register Templates legt man die benötigten Synchronisationstemplates an Wurde ein Template mit beliebigen Namen angelegt, kann der Konfliktmodus Conflict Mode über ein Auswahlfeld festgelegt werden Es gibt die Wahlmöglichkeit zwischen master, slave, date und manuell Der Konfliktmodus entscheidet bei gleichzeitiger Änderung eines Datensatzes beider Instanzen, welche Änderung übernommen werden soll Die Unterschiede sind schnell beschrieben:

  • master: Master gewinnt immer
  • slave: Slave gewinnt immer
  • date: der zuletzt bearbeitete Datensatz gewinnt
  • manuell: es werden keine Änderungen durchgeführt und im Statusreport wird auf manuelle Prüfung hingewiesen

Das so erzeugte Template kann über das Editiersymbol bearbeitet werden Wer sich nun wundert, warum in seinem neu erzeugten Template keine Tabellen zur Auswahl stehen, der hat vergessen, für die Tabellen, die synchronisiert werden sollen, grundsätzlich die Synchronisation zu erlauben Dazu wird über den Tabelleneditor in einer beliebigen Tabellengruppe das Häkchen bei ?Sync? für die jeweiligen Tabellen aktiviert Abb 3

Abb 3: Sync für die jeweiligen Tabellen aktivieren

 

Ist das geschehen, sollte man nicht vergessen, im oberen Hauptmenü auf RESET zu klicken, denn ansonsten werden die Änderungen nicht in die aktuelle Darstellung übernommen Da eine Anmeldung und Generierung einer Session in Limbas abhängig vom Funktionsumfang auch mal über zwei Sekunden dauern kann, ist es immer dem Administrator überlassen, wann er Änderungen in seine Session übernehmen will ? spätestens allerdings nach dem nächsten Anmelden

Nach Abschluss des Prozesses erscheinen alle freigegeben Tabellen zur Auswahl Klappt man eine Tabelle über das Plus-Symbol auf, kommen alle Felder der Tabelle zum Vorschein, und man kann über die Checkboxen das Feld, dessen Inhalte synchronisiert werden sollen, aktivieren Dabei ist zu unterscheiden, ob Inhalte aus dem Master zum Slave oder vom Slave zum Master oder beides synchronisiert werden sollen Abb 4

Nach getaner Arbeit stehen dem Administrator nun ein oder mehrere Synchronisierungstemplates zur Verfügung, die manuell oder per Job gestartet werden können

Abb 4: Checkboxen aktivieren, um Inhalte zu synchronisieren

 

Fazit

Die Synchronisationstools von Limbas erlauben es einerseits, die Applikation selbst zu duplizieren, abzugleichen oder zu veröffentlichen Andererseits können auch die Datenbankinhalte im klassischen Sinne synchronisiert werden Auch der Deployment-Prozess einzelner Entwicklungsschritte kann effizient und konsistent abgewickelt werden Somit bietet Limbas alle Möglichkeiten, um mehrere Anwendungsinstanzen auf einfache Art und Weise synchron zu halten und sie dezentral zu nutzen

PHP Magazin

Dieser Artikel ist im PHP Magazin erschienen Das PHP Magazin deckt ein breites Spektrum an Themen ab, die für die erfolgreiche Webentwicklung unerlässlich sind

Natürlich können Sie das PHP Magazin über den entwicklerkiosk auch digital im Browser oder auf Ihren Android- und iOS-Devices lesen In unserem Shop ist das Entwickler Magazin ferner im Abonnement oder als Einzelheft erhältlich

Der Beitrag Synchronisation mit LIMBAS ist auf entwicklerde erschienen


Git für Einsteiger: Wie man das Versionskontrollsystem Git nutzt (22.05.2019 09:32:02)

Git ist ?hip? und gilt als Star unter den Versionskontrollsystemen Der Grund dafür ist einfach: Git ist schnell, leistungsfähig und plattformunabhängig Kein Wunder, dass immer mehr Teams vor allem auch aus der Microsoft-Welt den Umstieg planen Doch um Git optimal zu nutzen, ist fundiertes Hintergrundwissen nötig ? denn Git arbeitet von Grund auf anders als die bekannten ?klassischen? Systeme Richtig eingesetzt macht Git aber ordentlich Spaß ? durch mehr Performance, Produktivität und Flexibilität im täglichen Entwicklungsalltag

Eigentlich ? so schien es ? war das Thema Versionskontrolle in der Microsoft-Welt abgehakt: Team Foundation Version Control TFVC als ausgereiftes, stabiles System war gesetzt ? als Open-Source-Alternative stand Apache Subversion bereit ?, um den Rest des Kuchens stritten sich Systeme wie Perforce und Rational ClearCase Doch dann kam Git und eroberte die Welt im Sturm: Nach der aktuellen Umfrage des Entwicklerportals Stack Overflow nutzen rund 87 Prozent der Entwickler Git; Subversion und TFVC landen mit 16,1 und 10,9 Prozent abgeschlagen auf Platz zwei und drei

Was ist der Grund für den kometenhaften Aufstieg von Git? Was macht Git anders als die etablierten Platzhirsche? Und was gibt es zu beachten, wenn man das eigene Team auf Git migrieren will? Die wichtigsten Antworten auf diese Fragen möchte ich Ihnen im Folgenden liefern

Zentral versus dezentral

Wer sich ein Git Cheat Sheet wie es diesem Heft beiliegt besorgt, könnte den Eindruck bekommen, dass Git eigentlich nur eine Variante des bereits bekannten Musters darstellt: Befehle zum Sichern des Versionsstands, zum Abrufen früherer Versionen sowie zum Verwalten von Varianten mittels Branching und Merging

Aber der Schein trügt: Git funktioniert intern komplett anders, denn es ist als dezentrales System ausgelegt Das bedeutet: Während TFVC und Subversion auf eine zentral verwaltete Datenbank setzen Abb 1, kommt Git auch gut ohne zentrale Datenbank aus Jeder Nutzer hat vielmehr seine eigene Datenbank, unter Git ?Repository? oder kurz ?Repo? genannt Abb 2

Abb 1: Zentrale Versionskontrolle

 

Abb 2: Verteilte Versionskontrolle

 

Unter Git arbeitet man die meiste Zeit mit dieser lokalen Datenbank und kann dann die erzeugten Änderungen Commits mit den anderen Projektbeteiligten austauschen Obwohl Git dies nicht erfordert, wird hier dann doch wieder auf die bewährte Architektur mit einem Zentralserver Blessed Repository zurückgegriffen

Schnell, sicher, flexibel

Das lokale Arbeiten bringt einige Vorteile mit sich: Git reagiert generell extrem schnell auf Benutzereingaben ? es müssen ja nicht für jede Aktion langsame Netzwerkzugriffe durchgeführt werden Diese gute Performance ist in der täglichen Praxis deutlich spürbar

?Völlig losgelöst? vom Server arbeiten zu können, erhöht auch die Flexibilität bei der Arbeit mit der Versionskontrolle Kein Netzwerk? Kein Problem, auch wenn man an einem Ort am Sourcecode arbeitet, an dem keine Verbindung zum Server besteht So ist es beispielsweise im Zug, in abgeschotteten Sicherheitsbereichen, bei Ausfall der DSL-Leitung und in ähnlichen Szenarien trotzdem möglich, den vollen Funktionsumfang der Versionsverwaltung zu nutzen ? ein Plus für Service-Ingenieure, Consultants und alle anderen örtlich mobilen Entwickler

Entity Framework Core 30: Das ist neu!

mit Dr Holger Schwichtenberg, wwwIT-Visionsde/5Minds IT-Solutions

Visual Studio hidden Treasures

mit Cecilia Wirén Active Solution

C# Code Quality ? Tipps und Tricks

mit Rainer Stropek software architects/wwwIT-Visionsde

Ein weiterer Bonus der dezentralen Auslegung von Git: Änderungen am Repository sind zunächst einmal privat, bis sie auf den Server übertragen werden So ist es unter Git üblich, bei der Arbeit eigene, private Branches anzulegen, die vor der Übernahme in das zentrale Repository oft auch wieder gelöscht werden So lassen sich im Alltag leicht Experimente am Code vornehmen, die dann sehr einfach wieder zurückgerollt werden können ? sozusagen ein ?Undo auf Stereoiden? Auch diese erhöhte Flexibilität bei der Codeerstellung ist ein Feature, das die meisten Git-Nutzer nicht mehr missen wollen

Nicht zuletzt bietet die dezentrale Datenspeicherung auch noch einen weiteren Vorteil: Da die einzelnen lokalen Repos in der Praxis oft synchronisiert werden, hat jeder Entwickler sozusagen eine Sicherheitskopie, was zu einer extrem hohen physischen Datensicherheit führt ? und das ganz ohne explizite Back-ups auf einem Server

Clevere Datenspeicherung

Apropos Flexibilität: Um die dezentrale Datenspeicherung möglich zu machen, setzt Git auf ein flexibles grafenbasiertes Speichermodell Die Versionsgeschichte wird durch eine einfach verkette Liste abgebildet, die einzelnen Nodes repräsentieren die Commits Änderungsdatensätze mitsamt der Metadaten wie Name, Datum und Eincheckkommentar Branches und Label werden durch leichtgewichtige Pointer realisiert Die Integrität der Commits wird durch Hash-Werte sichergesellt, die über jedes Commit berechnet werden und diese gleichzeitig eindeutig identifizieren Abb 3

 

Abb 3: Versionsgeschichte als Abfolge von Commits, identifiziert durch Hash-Werte

 

Dieses Speichermodell macht Git in jeder Hinsicht noch flexibler Das Erstellen von Branches geht extrem schnell und einfach, da intern nur ein weiterer Listen-Pointer eingefügt werden muss Die interne Datenstruktur von Git ermöglicht die Manipulation der Versionsgeschichte auf jede erdenkliche Weise Commits können zusammengefasst, entfernt und verändert werden, durch spezielle Manipulationen am Datenmodell können ?technische? Commits, wie sie bei anderen Systemen beispielsweise beim Mergen zwangsläufig entstehen, komplett vermieden werden Diese Commits sind deshalb oft unerwünscht, weil sie keine inhaltliche Weiterentwicklung des Codes darstellen, sondern einfach nur markieren, dass eine technische Aktion wie ein Merge Zusammenführen von Branches oder ein Revert Rückgängigmachen von Änderungen auf dem Repo durchgeführt wurde

Dadurch ist es unter Git möglich, eine sehr saubere und aufgeräumte Versionsgeschichte zu erstellen Diese ist dann sehr gut les- und wartbar ? im Gegensatz zur oft chaotischen Historie konventioneller Systeme Viele Git-Nutzer sehen die Versionsgeschichte deshalb als organisch entstandenes Changelog an, das die logisch-semantische Projektgeschichte erzählt, und investieren entsprechend viel Aufwand in dessen Pflege

Power und Komplexität

Doch, um es mit den Worten von Spidermans Onkel zu sagen: ?With Great Power Comes Great Responsibility? Das clevere Datenmodell bedeutet eben auch, dass ein erhöhter Lernaufwand nötig ist, um mit Git sicher und produktiv arbeiten zu können Die vielen Möglichkeiten möchten beherrscht werden, und das geht nicht ohne ein intensives Studium der internen Funktionsweise von Git

Viele Einsteiger stellen fest, dass der Einstig zwar sehr leichtfällt, es aber eine unsichtbare Barriere gibt, auf die man dann trifft, wenn man fortgeschrittene Techniken anwenden will oder in ungewohnte Situationen gerät Auch ist es bei Git durchaus möglich, Daten zu ?verlieren? Meistens sind diese dann nicht wirklich gelöscht, aber bedingt durch den aktuellen Zustand des Datenmodells gerade einfach nicht sichtbar Git überrascht Anfänger oft mit nicht gerade intuitivem Ausgang von Operationen ? etwa, wenn nach Anzeige eines historischen Commits die neueren Commits verschwunden zu sein scheinen Ich habe einmal in einem Forum gelesen: ?Git can smell your Fear!? Zudem ermöglicht Git es, bestimmte Operation ?mit Gewalt? durchzuführen, die bei den Mitbewerbern schlicht und ergreifend unmöglich sind ? der Parameter ?force macht?s möglich Wer hier nicht genau versteht, was er oder sie tut, und einfach blind einem Rezept aus dem Internet folgt, läuft unter Umständen geradewegs ins Verderben Also ist eine kurze, intensive Lernphase für jeden Ein- und Umsteiger Pflicht Kasten: ?Der 3-Schritte-Plan zum Umstieg?

Der 3-Schritte-Plan zum Umstieg

  1. Informieren und Lernen: Das beste Buch zu Git ?Pro Git? findet sich auf der offiziellen Git-Website ? auch als E-Book für alle gängigen Reader Ein sehr gutes Tutorial bietet auch die Firma Atlassian auf ihrer Website ? und es gibt zahlreiche Videotutorials und Quickstarts Wichtig: Nicht nur Befehle lernen, sondern sich intensiv mit der Funktionsweise von Git vertraut machen Git ist anders!
  2. Üben: Es empfiehlt sich, zunächst mit der Kommandozeile und einem einfachen Projekt zu üben, bis man die grundlegenden Operationen sicher beherrscht Eine große Hilfe hierbei ist das kleine Tool GitViz, das die internen Vorgänge in einem Git-Repo visualisiert und so beim Verständnis hilft
  3. Migrieren: Es ist möglich, Datenbanken von bestehenden Systemen wie Subversion und TFS nach Git zu migrieren ? Git bietet direkten Support für den Import von SVN-Repos und auch Team Foundation Server hat eine eingebaute Importfunktion allerdings nur für maximal 30 Tage Versionsgeschichte Open-Source-Projekte wie beispielsweise git-tf helfen weiter Viele Teams checken den Sourcecode aber einfach zu einem Stichtag aus dem bestehenden System aus und in Git wieder ein ? so gibt es zwar einen Bruch in der Historie, aber dafür ist der Aufwand minimal Das alte System kann dann zur Referenz in einen Read-only-Modus versetzt werden

Plattformübergreifend

Git hat seinen Ursprung in der Linux-Welt Es wurde als Ersatz für das bis dahin vom Linux-Kernel-Team genutzte BitKeeper einem kommerziellen Pionier der dezentralen Versionsverwaltung entwickelt Die Linux-Gemeinde hatte sich mit dem Hersteller von BitKeeper überworfen und brauchte eine Alternative Der Legende nach schloss sich Linus Thorwalds im stillen Kämmerchen ein und codierte die erste Version von Git in wenigen Tagen kurzerhand selbst

Aufgrund der offensichtlichen Vorteile verbreitete sich das System sehr schnell Überall auf der Welt fanden sich Mitarbeiter für die Weiterentwicklung ? und innerhalb weniger Jahr hatte sich Git zum De-facto-Standard entwickelt Heute sind Git-Implementierungen und Clients für praktisch alle wichtigen Betriebssysteme und integrierten Entwicklungsumgebungen verfügbar Kasten: ?Gute Git-Clients? Git ist schnell, kompakt, einfach zu installieren und sofort einsetzbar Sämtliche Operationen lassen sich über die Kommandozeile ausführen und es gibt zahlreiche freie und kommerzielle graphische Git-Clients für Windows, Mac, Linux und Co Egal ob Visual Studio, Visual Studio Code, Eclipse, Android Studio oder XCode ? überall ist die integrierte Git-Unterstützung längst Standard

All das macht Git auch in der aktuellen Cross-Plattform-Entwicklungswelt zu einem idealen Tool Unter Windows mit Xamarin entwickeln, auf einem Mac bauen und im Apple Store veröffentlichen? Kein Problem Ein zentrales Repo für alle Skripte im Unternehmen, egal ob Bash oder PowerShell? Kein Problem! Git standardisiert die Welt der Versionsverwaltung

Gute Git-Clients

Atlassian Sourcetree: Kostenlos nach Registrierung, verfügbar für Windows und Mac; der Klassiker unter den grafischen Git-Clients Bietet alle Grundoperationen in einer relativ modernen Oberfläche, enthält aber keinen Merge-Editor Abb 4

Abb 4: Atlassian Sourcetree

 

fournova Tower: 59?79 ? pro User und Jahr; ursprünglich nur für Mac erhältlich, jetzt auch mit einer Windows-Version vertreten; sehr intuitiv mit guter Übersicht bei anspruchsvollen Operationen wie Merges Abb 5

Abb 5: fournova Tower

Axosoft GitKraken: 49 $ pro User und Jahr; frei verfügbar für nichtkommerzielle Arbeit und Open Source; erhältlich für Windows, Mac und Linux Abb 6

Abb 6: Axosoft GitKraken

Grenzen und Fallstricke

Wo Licht ist, ist auch Schatten Erwähnt habe ich schon, dass Git eine steile Lernkurve hat Weitere Limitationen liegen genau in dem oben gelobten dezentralen Datenmodell Was, wenn mein Repository sehr groß ist und ich es nicht in kleinere, modularere Teile aufspalten kann? Schließlich muss das Repo auf jedem Entwicklerrechner repliziert werden und dort der entsprechende Speicherplatz zur Verfügung stehen Was das bedeutet, zeigt sich an einem extremen Beispiel: Das Windows-Team bei Microsoft wollte auf Git umsteigen ? und musste feststellen, dass dies aufgrund der Größe des monolithischen Windows-Sourcecodes mit 3,5 Millionen Files und 300 GB Repo-Größe praktisch unmöglich war Operationen dauerten teils Stunden ? ein unhaltbarer Zustand Microsoft reagierte auf die Probleme mit der Entwicklung von Git Virtual File System ? einer Erweiterung von Git, die das System zumindest teilweise wieder in eine Client-Server-Software zurückverwandelt

Der Prozess der Pull Requests ist zum Quasistandard in Softwareteams geworden

GitHub empfiehlt, ein einzelnes Repo unter 1 GB und einzelne Files unter 100 MB zu halten ? klassische Versionskontrollsysteme ermöglichen hingegen riesige Petabyte-Versionsdatenbanken ? schließlich können Nutzer hier auch nur wenige Files aus dem Zentralserver auschecken, ohne gleich die ganze Datenbank kopieren zu müssen

Zugegeben, auch unter Git existieren teilweise Lösungen für dieses Problem ? Stichworte sind hier Grafting und Shallow Checkouts, Git Submodules und Subtrees Diese Workarounds sind aber nur bis zu einem gewissen Grad praktikabel und performant Wer also sehr große Repos hat, sollte sich den Umstieg auf Git gut überlegen und zunächst einmal Performancetests durchführen

Ein weiteres Feature, das Git prinzipbedingt nicht unterstützen kann, ist das exklusive Auschecken von Dateien Check-out Locks, sodass diese nur von einer Person zu einem Zeitpunkt geändert werden können Gerade CAD- und Engineering-Systeme verlassen sich oft noch auf diese Funktionalität, die nur bei den klassischen Versionskontrollsystemen zu haben ist

Neue Workflows

Die neuen technischen Möglichkeiten von Git ebneten den Weg für neue Workflows in der Teamzusammenarbeit Kollaborationsplattformen wie GitHub und Azure DevOps vormals Team Foundation Server bieten neue Wege, die Qualität und Transparenz von gemeinsam erstelltem Code zu steigern Der Prozess der Pull Requests, ebenfalls aus der Open-Source-Szene übernommen, ist zum Quasistandard in modernen Softwareteams geworden Dabei wird zunächst dezentral an Features und Bugfixes in eigenen, sogenannten Topic Branches gearbeitet ? die Überführung in geschützte, qualitätsgesicherte Codelinien geschieht dann über einen kollaborativen Prozess, in dem automatisierte Tests und Builds ausgeführt werden können und das Team den Code in gemeinsamen Reviews bewerten und bearbeiten kann Pull Requests sind kein Teil von Git, werden aber durch die Flexibilität der Git-Architektur erst praktikabel

Fazit: Widerstand ist zwecklos

Git ist ein schnelles, leistungsfähiges und revolutionäres System zur Versionskontrolle, das sich in der Softwareindustrie durchgesetzt hat In Zukunft dürfte Git das faktische Monopol für Versionsverwaltung besitzen Wer sich noch nicht mit Git beschäftigt hat, sollte das schnell nachholen ? es lohnt sich Mit dem nötigen Respekt vor der Mächtigkeit des Systems, ein bis zwei Tagen Studium oder Seminar und ein bis zwei Wochen Zeit für die Umgewöhnung gelingt der Umstieg sicher und schnell Go Git!

Windows Developer

Dieser Artikel ist im Windows Developer erschienen Windows Developer informiert umfassend und herstellerneutral über neue Trends und Möglichkeiten der Software- und Systementwicklung rund um Microsoft-Technologien

Natürlich können Sie den Windows Developer über den entwicklerkiosk auch digital im Browser oder auf Ihren Android- und iOS-Devices lesen In unserem Shop ist der Windows Developer ferner im Abonnement oder als Einzelheft erhältlich

Der Beitrag Git für Einsteiger: Wie man das Versionskontrollsystem Git nutzt ist auf entwicklerde erschienen


V8 7.5: Neues für WebAssembly in der JavaScript Engine (21.05.2019 14:55:02)

Vor jedem Chrome-Release kommt die entsprechende Version der JavaScript Engine So ist es auch mit Chrome 75: V8 75 steht ab sofort im Beta-Channel zur Verfügung, bis die entsprechende Browserversion da ist Neu im Release ist unter anderem das Caching bereits kompilierter WebAssembly-Artefakte

Im Abstand von etwa sechs Wochen werden neue Versionen von V8 veröffentlicht Nun ist Version 75 da: Das neuste Release befindet sich derzeit im Beta-Status, bis die korrespondierende Chrome-Version 75 veröffentlicht und die Engine somit final implementiert wird Neu in V8 75 ist, dass kompilierte WebAssembly-Artefakte nun im Cache vorgehalten werden Dadurch muss der Code nicht erneut kompiliert werden, wenn ein Nutzer eine Seite zum zweiten Mal besucht, sondern kann in vergleichbarer Weise wie JavaScript-Code aus dem Cache geladen werden

Ebenfalls für WebAssembly ist nun die Option memorycopy verfügbar Damit ist es möglich, große Speicherbereiche auf einmal zu aktualisieren, indem der Bereich kopiert wird Die gleiche Option existiert auch für Tabellen

Für den Kernbereich der Engine, den JavaScript-Sprachsupport, bringt V8 ebenfalls Neuigkeiten mit: Mit der neuen Version wurden Separationszeichen für Ziffernsymbole mit vielen Stellen im Code eingeführt, die die Lesbarkeit erhöhen sollen Außerdem wurde an der Performance gearbeitet: Der Datenverkehr des Netzwerks wird direkt mit der JavaScript Engine verbunden, sodass Daten direkt während des Stream Parsings gelesen werden können, ohne darauf warten zu müssen, dass der Hauptthread frei ist

Weitere Informationen zu V8 75 können dem Blogpost zum Release entnommen werden V8 75 wird final mit dem Release von Chrome 75 veröffentlicht

Der Beitrag V8 75: Neues für WebAssembly in der JavaScript Engine ist auf entwicklerde erschienen


Microsoft Edge für macOS: Erste Preview-Version erscheint im neuen Design (21.05.2019 11:52:20)

Die erste Preview-Version von Microsoft Edge für macOS ist da Für den ersten Auftritt von Edge auf macOS wurde die User Experience entsprechend angepasst, denn bisher war die Desktop-Version des Browsers nur für Windows als Preview verfügbar

Der neue Microsoft Edge, der auf Chromium basiert, soll cross-platform laufen ? soviel hatte Microsoft bereits angekündigt Bisher standen Previews für Windows 10, Android und iOS zur Verfügung, nun steht auf einem neuen Canary Channel der erste Build von Microsoft Edge für macOS bereit Er soll eine überarbeitete, auf macOS-User zugeschnittene User Experience und Designsprache mitbringen

Features von Microsoft Edge für macOS

In Microsoft Edge für macOS sollen wie in der Windows-Version installierbare, standardbasierte Progressive Web Apps PWA unterstützt werden Dazu zählen Inspektion und Debugging von PWAs mithilfe der Developer Tools im Browser Zudem sollen installierte PWAs in Dock, App Switcher und Spotlight wie eine native App aufgeführt werden

Die User Experience wurde im neuen Preview-Browser überarbeitet, denn sie soll Einstellungen bieten, die macOS-Nutzern vertraut sind So sollen etwa Schriftarten, Menüs und Tastatur-Shortcuts angepasst worden sein Mithilfe des Smileys neben der Adressleiste kann Feedback dazu gesendet werden

Einen Screenshot der Canary-Version hält Microsoft schon parat:

Microsoft Edge für macOS; Quelle: Microsoft

Laut Microsoft wurde neben der UX auch die spezifische Hardware auf Apple-Geräten berücksichtigt In der Edge-Preview soll die Touch Bar Webseiten-Shortcuts, das Wechseln zwischen Tabs und Videosteuerung unterstützen Die gewohnte macOS-Bedienung mithilfe von Trackpad-Gesten soll ebenfalls aktiviert sein

Touch Bar in Microsoft Edge für macOS; Quelle: Microsoft

Der neue Canary Channel läuft unter macOS 1012 und neuer Auch ein Dev Channel soll bald hinzukommen und kann parallel betrieben werden Der Canary Channel wird täglich mit Updates versorgt, der Developer Channel dagegen wöchentlich mit dem stabilsten Build aus der Canary-Reihe

Weitere Informationen zum neuen Canary Channel für Microsoft Edge für macOS gibt es auf dem Windows-Blog Der erste Canary Build steht zum Download bereit

Der Beitrag Microsoft Edge für macOS: Erste Preview-Version erscheint im neuen Design ist auf entwicklerde erschienen


Microsoft stellt Try .NET Open Source: Interaktive Markdowns für .NET Core (21.05.2019 11:04:28)

Der Dokumentationsgenerator Try NET für NET-Code wurde von Microsoft auf GitHub Open Source gestellt Er erlaubt das Erstellen interaktiver Markdowns für NET Core und unterstützt derzeit C#

Microsoft hat den Quelltext zu Try NET auf GitHub Open Source gestellt Der Generator für interaktive Code-Dokumentation in NET führt Code im Browser clientseitig durch Blazor und WebAssembly aus Er kann online und ? als frühe Preview ? offline verwendet werden Derzeit wird nur C#-Dokumentation unterstützt

Try NET: Interaktive C#-Dokumentation

Try NET ist ein Code-Dokumentationsgenerator für NET Core Damit sollen NET-Entwickler ausführbare C#-Snippets für ihre Webseiten oder interaktive Markdown-Dateien erstellen können, die Anwender auf ihrem Rechner ausführen können Der Generator läuft online und durch das experimentelle dotnet try Global Tool, das als NuGet Package verfügbar ist, auch offline

Erstmalig wurde Try NET im Jahr 2017 veröffentlicht Zunächst wurde der in Try NET eingegebene Code serverseitig mithilfe von Azure Container Instances ausgeführt Innerhalb der letzten Monate wurde das geändert: Inzwischen findet die Ausführung des Codes clientseitig durch Blazor und WebAssembly statt

Derzeit werden keine Pull Requests auf GitHub angenommen, jedoch soll das Einreichen in Zukunft möglich sein

Alle weiteren Informationen zu Try NET gibt es auf dem NET-Blog

Der Beitrag Microsoft stellt Try NET Open Source: Interaktive Markdowns für NET Core ist auf entwicklerde erschienen


TypeScript 3.5 angekündigt: Regression aus v3.4 behoben (21.05.2019 10:08:37)

Der Release Candidate von TypeScript 35 ist da und die neue Version damit fast fertig Die Features für die neue Sprachversion stehen also fest Dieses Mal mit dabei: der Helper-Type Omit, Verbesserungen für die Performance, das --allowUmdGlobalAccess Flag uvm

TypeScript 35 wurde als Release Candidate veröffentlicht Damit stehen die Features für das finale Release fest und es geht ans Testen, bevor die Version in wenigen Wochen final ausgerollt werden soll Neuerungen bringt die Version in verschiedenen Bereichen mit So stehen nun der Helper-Type Omit und das Flag --allowUmdGlobalAccess zur Verfügung Auch an der in v34 veröffentlichten Compiler-Option --incremental wurde noch einmal gearbeitet, sowie an der Geschwindigkeit des Type Checkings, die durch eine Regression im vorherigen Release negativ beeinflusst worden war

TypeScript 35: Neuer Helper-Type

Mit Omit steht in TypeScript 35 ein neuer Helper-Type zur Verfügung, der nun nicht mehr manuell definiert werden muss Über Omit können nun standardmäßig Werte aus einer Definition ausgeschlossen werden Für --incremental hat das TypeScript-Team am Caching gearbeitet Damit soll nun eine Verbesserung der zum Compiling notwendigen Zeit um bis zu 68 Prozent gegenüber TypeScript 34 erreicht werden

Ebenfalls beschleunigt wurde das Type Checking in TypeScript 35 Dabei handelt es sich allerdings nicht um ein neues Feature, sondern um einen Bugfix Eine der Änderungen an TypeScript 34 hatte zu einer Regression geführt, die eine massive Verlängerung der zum Compiling notwendigen Zeit zur Folge hatte Dieser Fehler wurde nun behoben, sodass TypeScript 35 nun sogar schneller sei als Version 33, die noch nicht vom Bug betroffen war Neu ist darüber hinaus, dass das Type Checking in der neuen TypeScript-Version nun erweiterte Möglichkeiten zur Analyse von Union Types mitbringt

Free: React Cheat Sheet

You want to improve your knowledge in React or just need some kind of memory aid? We have the right thing for you: the iJS React Cheat Sheet written by Joel Lord Now you will always know how to React!

Download here

Zu den weiteren Neuerungen in TypeScript 35 gehört das Flag -?allowUmdGlobalAccess Damit ist es nun möglich, UMD Global Declarations von überall aus zu referenzieren Das betrifft vor allem die Arbeit mit Libraries, die ihre Global Declarations nicht konditional setzen, aber im Modulsystem registriert sind Weitere Informationen dazu können dem Blogpost zum Release Candidate von TypeScript 35 entnommen werden

TypeScript 35 soll Ende Mai final veröffentlicht werden Weitere Informationen können dem Blogpost von Daniel Rosenwasser Program Manager, TypeScript bei Microsoft entnommen werden

Der Beitrag TypeScript 35 angekündigt: Regression aus v34 behoben ist auf entwicklerde erschienen


Ziellose Ziele ? warum Zielvereinbarung oft ins Leere laufen (21.05.2019 09:24:23)

Führen mit Zielen Das ist nach wie vor eine gängige Führungsmethode in Unternehmen ? ganz gleich welcher Größenordnung Dazu werden mindestens einmal im Jahr im Mitarbeitergespräch ?gemeinsame? Ziele vereinbart, und die Zielerreichung vom letzten Jahr wird überprüft Smart sollen die Ziele sein: spezifisch, messbar, attraktiv, realistisch, terminiert Aber sind sie das auch immer und reicht das wirklich aus, um zufrieden und erfolgreich im Job zu sein?

Wer ein Ziel vor Augen hat, arbeitet strukturierter, vielleicht sogar motivierter als jemand, der eben nur stur seine Aufgaben abarbeitet ? ohne Ziel Oder ist es dann letztlich das Ziel, einfach die Arbeit endlich abzuschließen? Kann man ohne Ziel überhaupt arbeiten? Und motivieren die Zielvereinbarungen wirklich oder setzen sie einen nur noch zusätzlich unter Druck?

Schauen wir uns zunächst an, was smarte Ziele sind und welche Ambitionen diese Methode verfolgt Die SMART-Methode kommt aus dem Projektmanagement und wird zudem in der Personalentwicklung als Instrument der Leistungssteigerung eingesetzt

  • Spezifisch: Die vereinbarten Ziele sollten zur Verantwortung des Mitarbeiters passen und klar und verständlich formuliert sein Sie sollten sowohl vom Mitarbeiter als auch vom Vorgesetzten gleichermaßen verstanden werden, sodass keine Missverständnisse auftreten
  • Messbar: Oft findet man die Unterscheidung in quantitative und qualitative Ziele Hier geht es um die quantitativen Ziele, also solche, die man überprüfen und messen kann Vor allem solche messbaren Ziele können im Hinblick auf die Zielerreichung mit der Auszahlung eines leistungsorientierten Bonussystems verknüpft werden
  • Attraktiv und akzeptabel: Attraktiv für wen? Selbstverständlich für das Unternehmen und den Mitarbeiter Fühlt sich dieser von einem unattraktiven Belohnungssystem nicht angesprochen, wird die Leistung nicht wie gewünscht hundertprozentig erfolgen Vielmehr ist genau hier die ganze Methode schnell zum Scheitern verurteilt Ganz nach dem Motto ?Warum soll ich mich eigentlich anstrengen?? Das Gleiche gilt, wenn die Ziele einseitig festgelegt wurden und der Mitarbeiter sich mit seinen Interessen und Kompetenzen nicht angemessen wertgeschätzt fühlt
  • Realistisch: Gerade amerikanische Unternehmen tendieren häufig dazu, ihre Mitarbeiter mit zum Teil übertriebenen Zielvorstellungen zu überfordern Der Sinn dahinter: Man versucht zumindest, so dicht wie möglich an das Ziel heranzukommen Das Leistungsniveau soll somit erhebliche Anstrengungen motivieren und zu ?Best Results? führen Wirtschaftlich gesehen ist das verständlich, wird der Mitarbeiter aber permanent solchen unerreichbaren Zielen ausgesetzt, führt dies zwangsläufig entweder ins Burn-out oder in die Resignation
  • Terminiert: Ziele müssen einen Zeitrahmen besitzen, innerhalb dessen man sie erreichen soll Werden Ziele immer wieder nach hinten geschoben, weil sich die Prioritäten verändert haben, verlieren sie ihren Sinn und ihre Glaubhaftigkeit

So weit die Theorie und die zugehörige Herausforderung Kommen wir nun zur Realität Jeder, der mit seinem Chef jährlich ein Zielvereinbarungsgepräch führt, kennt die Formulare und Vorgaben, die im Rahmen des Gesprächs ausgefüllt und erfüllt sein müssen Neben quantitativen Zielen werden häufig auch qualitative Ziele vereinbart Neben unternehmensspezifischen Zielen gibt es noch individuelle, persönliche Ziele, z B zur Karriereplanung oder persönlichen Weiterentwicklung, zur eigenen Work-Life-Balance usw So weit, so gut Nur ist unsere Arbeitswelt heute eben oft so dynamisch, dass sich die Prioritäten im Laufe eines Jahres mehrfach ändern können ? und das nicht nur im agilen IT-Umfeld Wer kann heute schon sagen, was in ein paar Monaten passiert? Ist daher wirklich alles planbar, messbar und vorhersehbar? Sicher nicht

Viele Unternehmen machen daher zur Mitte des Geschäfts-Jahres eine erste Erhebung, um zu überprüfen, ob die Ziele noch der SMART-Methode entsprechen, vor allem aber, ob sie noch relevant sind Und so kann es schnell passieren, dass die Liste der Ziele sich um drei weitere Ziele verlängert Auch wenn diese alle wieder der SMART-Methode entsprechen, kommt möglicherweise so langsam die Frage auf, ob man wirklich alle Ziele erreichen muss oder kann Das ganze System gerät ins Wanken Auch hier wird oft vorgebeugt, indem die maximale Anzahl der Ziele festgelegt ist Häufig trifft man zu jeder Kategorie die Option für drei bis fünf Ziele an ? aber sind das nicht schon zu viele? Verliert man diese Ziele im Laufe des Jahres und im täglichen Aktionismus nicht schnell aus den Augen?

Wie attraktiv sind die Ziele wirklich, wenn man im Mitarbeitergespräch euphorisch über neue Perspektiven und Verantwortlichkeiten gesprochen hat, wenn man Ziele vereinbart hat, die über die bisherigen Ziele hinausgehen, aber letztlich doch alles beim Alten bleibt? Warum? Weil eben auch die Menschen, mit denen man tagtäglich zu tun hat, ihre Ziele verfolgen Nicht nur, dass Ziele innerhalb und außerhalb des Unternehmens schnell auch kollidieren können, oft ist man in seiner alltäglichen Routine so gefangen, dass man für die eigentlich großen Aufgaben kaum Zeit findet Somit müssen die Ziele direkt mit Maßnahmen und Vereinbarungen verankert sein, die eine volle Leistungsbereitschaft überhaupt zulassen Das ist leider nicht immer der Fall

Aber selbst wenn der Vorgesetzte vorbildlich die Ziele mit dem Mitarbeiter und dem gesamten Team abgestimmt hat ? gerade in einem großen Unternehmen ist auch er an Prozesse und Entscheidungen von oben gebunden Die SMARTen Ziele enden daher leider allzu oft in einem Leistungsdruck, der sich über das Jahr hinweg mehr und mehr aufbaut Zum Stichtag des Berichts zur Zielerreichung und Leistungserhebung erreicht er seinen Höhepunkt Denn wer jetzt bemerkt, dass er seine Ziele, die eventuell auch noch an eine Bonuszahlung gebunden sind, nicht erreicht, gerät ins Straucheln Führung mit Zielen ist daher auch in die Kritik geraten, Burn-outs zu fördern statt Motivation und Leistung der Mitarbeiter zu steigern Was also wäre eine Alternative?

Innovativ geführte Unternehmen gehen heute oft schon neue Wege Klassische Zielvereinbarungen sind geradezu verpönt Vielmehr bespricht man mit seinem Vorgesetzten, was man selbst zum Unternehmenserfolg beitragen möchte und wie man dazu vorgehen will Dabei stehen jedoch nicht die rein wirtschaftlichen Aspekte im Vordergrund, sondern auch Themen wie die folgenden:

  • Nachhaltigkeit: Wie kann ich dazu beitragen, dass das Unternehmen nachhaltiger agiert?
  • Soziales Engagement: Wie kann ich im Unternehmen und außerhalb des Unternehmens anderen helfen?
  • Bodenständigkeit: Was und wer kann mir bei neuen Themen helfen?
  • Unternehmensentwicklung: Wie stelle ich mir das Unternehmen in fünf Jahren vor?
  • ?

Bleibt also festzuhalten, dass Zielvereinbarungen sicher nach wie vor ein sinnvolles Instrument zur Leistungssteigerung, Motivation der Mitarbeiter sowie für den Erfolg eines Unternehmens sein können Leider wird dieses Instrument aber häufig als Standard angewandt, der nicht mehr reflektiert wird In Zeiten, in denen Unternehmen sich einem enormen kulturellen Wandel ausgesetzt sehen, ist es durchaus an der Zeit, das eigene Personalentwicklungskonzept sowie das System zur Leistungserhebung und Belohnung auf einen Prüfstand zu stellen Dabei wird man sicher wieder zu dem Ergebnis kommen, dass für eine zielorientierte Arbeitsweise eben auch Ziele nötig sind Wie diese aussehen und ob die SMART-Methode hier noch die richtige ist, sei aber kritisch begutachtet Steht bei Ihnen also demnächst wieder mal ein Mitarbeitergespräch bzw Zielvereinbarungsgespräch an, schlagen Sie doch mal das eine oder andere neue Kriterium für Ihren nachhaltigen Beitrag zum Unternehmenserfolg vor

Windows Developer

Dieser Artikel ist im Windows Developer erschienen Windows Developer informiert umfassend und herstellerneutral über neue Trends und Möglichkeiten der Software- und Systementwicklung rund um Microsoft-Technologien

Natürlich können Sie den Windows Developer über den entwicklerkiosk auch digital im Browser oder auf Ihren Android- und iOS-Devices lesen In unserem Shop ist der Windows Developer ferner im Abonnement oder als Einzelheft erhältlich

Der Beitrag Ziellose Ziele ? warum Zielvereinbarung oft ins Leere laufen ist auf entwicklerde erschienen


VS Code, JavaScript-Modules & Freelancer-Infografik ? Die Top-Themen der Woche (20.05.2019 12:16:47)

Es ist wieder einmal Zeit für einen Blick auf die Top-Themen der letzten Woche Einerseits stand sie im Zeichen unserer JavaScript-Konferenz iJS, andererseits haben es zwei Beiträge über VS Code in die Wochencharts geschafft Doch Platz 1 geht an etwas ganz anderes

Infografik: Fachkräftemangel in der IT – Angestellte vs Freelancer

In wenigen Branchen ist das Arbeiten als Freelancer so attraktiv wie im Bereich der IT Im Interview klärt Thomas Maas über verschiedene Gehaltsfaktoren für Freiberufler auf Die Infografik zeigt zudem, welchen Einfluss der Fachkräftemangel ausübt und wie sich der Arbeitsmarkt zukünftig entwickeln könnte Schaut doch einfach nochmal nach!

?Das Klassensystem von ES6+ ist einer der Hauptgründe dafür, dass JavaScript so beliebt geworden ist“…

… sagt JavaScript-Expertin Olga Petrova im Interview, das wir anlässlich der International JavaScript-Konferenz geführt haben Den Nerv der Leserschaft hat sie damit getroffen – und landet auf Platz 2 unserer Wochencharts

ES-Modules in Nodejs

Und nochmals hat es JavaScript in die Top 5 der Woche geschafft: Tobias Nießen erklärt in seinem Artikel, warum sich Nodejs schwer tut, die ECMAScript Modules einzuführen Wie ist hier der aktuelle Stand der Dinge?

Visual Studio Code 134 ist da

Visual Studio Code 134 ist erschienen und bringt Erweiterungen für Remote Development als Preview mit Daneben sind neue Features für den Editor und das Debugging sowie eine neue Dokumentation mit an Bord

Microsoft Web Template Studio: Full-Stack-Webentwicklung mit VS Code

Auch Microsofts Editor VS Code ist zweimal vertreten: Die Visual-Studio-Code-Erweiterung Web Template Studio WebTS vorgestellt soll das Entwickeln cloudbasierter Web-Apps vereinfachen Was steckt dahinter?

Weitere Must-Reads der Woche:

  • Git Ransom: Gemeinsame Erklärung von BitBucket, GitHub und GitLab
  • Planet Android: Google Reisen geht an den Start, OnePlus 7 und OnePlus 7 Pro im Überblick & WhatsApp gehackt
  • Architekturtrend Microservices: „Die Effekte der Verteilung werden sehr oft sehr stark unterschätzt“

 

Der Beitrag VS Code, JavaScript-Modules & Freelancer-Infografik ? Die Top-Themen der Woche ist auf entwicklerde erschienen


Diese Seite wurde in 1.164582 Sekunden geladen