Freie Einführung in JavaScript

Einführungen in JavaScript gibt es viele. Meist werden bestimmte Themen beleuchtet und dann ist die Einführung auch schon wieder vorbei. Die sich an Einsteiger richtende Einführung in JavaScript, welche unter molily.de/js/ zu finden ist, versucht alle essenziellen und wichtigen Themen rund um JavaScript zu beleuchten.

Die freie Einführung in JavaScript

Die Themen reichen von der Syntax von JavaScript, über die Einbindung zu fortgeschritteneren Themen, wie Browserübergreifende Entwicklung und Sicherheit im Kontext von JavaScript. Neben der Webseite sind die Quellen der Einführung auf GitHub zu finden. Lizenziert ist die Einführung unter der Creative Commons-Lizenz CC-BY-SA.

Gutenberg; ungeeignet zum Schreiben?

Der neue Editor für WordPress wird Gutenberg heißen. Für Blogger die einen Text schreiben möchten und eventuell noch ein Bild einfügen möchten ist er, aus meiner Sicht gesehen, unbrauchbar.

Der Gutenberg-Editor in seiner aktuellen Plugin-Version

Veröffentlicht werden soll Gutenberg offiziell mit WordPress 5.0. Diese Version wird zirka April 2018 erscheinen. Zur Zeit kann der Editor als Plugin installiert und getestet werden.

Gutenberg
Preis: Kostenlos

Während Markdown seinen Siegeszug angetreten hat und dafür sorgt das wir ablenkungsfrei schreiben können, baut Automatic einen Editor der den Pagebuildern aller Wix und Konsorten entgegen kommt. Alles in Gutenberg ist ein Block. Es gibt Textblöcke, Bildblöcke, Videoblöcke, Listenblöcke und so weiter. Für denjenigen der täglich versucht ablenkungsfrei Text zu produzieren, ist das Ding in seiner jetzigen Form unbrauchbar. Ich möchte keine Blöcke und hunderte Möglichkeiten meine Seite zu gestalten, ich möchte ein großes weißes Blatt Papier und dieses mit meinem Text füllen. Man vernichtet mit Gutenberg praktisch die Trennung zwischen Design und Inhalt.

Aktivieren Sie JavaScript um das Video zu sehen.
Video-Link: https://www.youtube.com/watch?v=Xcxtno1bdg0

Ja WordPress ist mittlerweile ein vollwertiges CMS. Aber die Entwickler sollten die Ursprünge als Werkzeug für Blogger und Autoren nicht vergessen. Wenn man sich denn Quelltext der Blöcke anschaut, wird einem als Markdown-Fan leicht übel:

<!-- wp:core/paragraph -->
<p>Lorem ipsum dolor sit amet, consectetur, ...</p>
<!-- /wp:core/paragraph -->

<!-- wp:core/video -->
<figure class="wp-block-video"><video controls="" src="https://www.youtube.com/watch?v=Xcxtno1bdg0"></video>
<figcaption>Testvideo</figcaption>
</figure>
<!-- /wp:core/video -->

<!-- wp:core/paragraph -->
<p>Lorem ipsum dolor sit amet, consectetur, ...<br/></p>
<!-- /wp:core/paragraph -->

<!-- wp:core/list -->
<ul>
<li>Lorem </li>
<li>Ipsum</li>
<li>sit </li>
<li>dolor </li>
<li>amet</li>
</ul>
<!-- /wp:core/list -->

Die Bewertungen des Gutenberg-Plugins reichen von Begeisterung bis hin zu strikter Ablehnung. Ich kann durchaus beide Seiten verstehen. Auf der einen Seite ist es ein einfacher und visueller Editor mit welchem die Textentwürfe umgesetzt werden können. Natürlich kann man nun schöne Beiträge bauen. Das ist allerdings aus meiner Sicht ein Problem. Viele Autoren und Blogger möchten keine Beiträge bauen, sondern Texte schreiben. Buchstabe für Buchstabe, Wort für Wort, Satz für Satz. Stattdessen darf ich mich bei Gutenberg mit den Blöcken herumschlagen.

Es bleibt nur zu hoffen, dass es, wie schon jetzt, eine Möglichkeit geben wird direkt einen Text zu schreiben. Interessant zu der Thematik ist eine entsprechende Diskussion auf der Review-Seite. In der FAQ wird eine solche Möglichkeit angesprochen:

We are looking at ways to make Gutenberg configurable for many use cases, including disabling different aspects (like blocks, panels, etc.). There is also be a “Classic” block, which is virtually the same as the current editor, except in block form. There’s also likely to be a very popular plugin in the repository to replace Gutenberg with the classic editor.

Auch den klassischen Editor, gibt es mittlerweile in Form eines Plugins:

Classic Editor
Preis: Kostenlos

Es wird spannend zu sehen in welche Richtung Automattic mit seinem Page-Builder-Ansatz steuert und wie die Community darauf reagieren wird. Wie man den Bewertungen des Gutenberg-Editors entnehmen kann, ist sie im Moment gespalten.

Einführung in die uncomplicated firewall

Wenn man unter Linux eingehende und abgehende Pakete kontrollieren, umleiten oder blockieren möchte, so kann man für diese Aufgabe iptables nutzen. Das Problem an iptables ist das es relativ kompliziert in der Anwendung ist.

Damit man hier nicht im Regen steht, gibt es (neben vieler anderer Firewall-Lösungen für Linux) die uncomplicated firewall kurz ufw. Technisch gesehen handelt es sich bei ufw um ein Frontend für iptables. Seit der Version 8.04 (Hardy Hedon) ist ufw ein Bestandteil der Ubuntu-Distribution. Neben Ubuntu ist ufw unter anderem auch für Debian verfügbar. Installiert werden kann ufw mittels des Befehls:

apt-get install ufw

Standardmäßig ist ufw deaktiviert, so das die Installation im ersten Schritt keinerlei Auswirkungen hat. Den aktuellen Status sowie die definierten Regeln können dabei mittels:

ufw status

eingesehen werden. Das könnte dann z.B. so aussehen:

Status: Aktiv

Zu                   Aktion      Von
--                   ------      ---
8080/tcp             DENY        Anywhere                                
22/tcp               ALLOW       Anywhere                            
22/tcp (v6)          ALLOW       Anywhere (v6)

Ist der Status auf inaktiv gesetzt, so muss ufw erst mit dem Befehl:

ufw enable

aktiviert werden. Hierbei muss man beachten das eine unbedachte Aktivierung von ufw dazu führen kann das man sich aus dem Rechner aussperrt. Dies liegt daran das am Anfang keinerlei Regeln definiert sind – so werden Pakete an Port 22 ignoriert; dies führt dazu das keine Verbindung per SSH möglich ist. Um dem vorzubeugen sollte eine Regel für SSH definiert werden, bevor ufw aktiviert wird:

ufw allow 22/tcp

Bei dieser Schreibweise handelt es sich um die vereinfachte Form zum Anlegen einer Regel. Neben allow, sind dabei auch die Werte deny und reject möglich. Während bei allow die Pakete passieren können, werden sie bei deny blockiert – im Gegensatz dazu wird bei reject der Absender darüber informiert das die Pakete abgelehnt wurden. Möchte man komplexere Regeln definieren nutzt man ufw nach folgendem Schema:

ufw allow proto tcp from any to 127.0.0.1 port 1234

Damit werden alle Verbindungen per TCP von beliebigen IP-Adressen an die spezifizierte IP-Adresse weitergeleitet. Als Port wird als Eingangs- und Zielport Port 1234 genutzt. Die Regeln welche ufw verwaltet werden in drei Dateien gespeichert:

/etc/ufw/before.rules
/var/lib/ufw/user.rules
/etc/ufw/after.rules

Abgearbeitet werden die Regeln in der Reihenfolge wie oben angegeben – somit könnte eine Regel in der user.rules-Datei definiert sein, welche anschließend von einer anderen Regel in der after.rules-Datei überschrieben wird. Die selbst definierten Regeln sind dabei in der user.rules zu finden. Neben dem Anlegen ist es natürlich auch möglich Regeln wieder zu löschen. Für obige SSH-Regel würde das dabei so aussehen:

ufw delete allow 22/tcp

Daneben ist es möglich ufw auf die Standardeinstellungen zu setzen. Dazu dient der Befehl:

ufw reset

Alle Regeln werden dabei auf die Standardeinstellungen zurückgesetzt. Für die bestehenden Regeln wird ein Backup im Verzeichnis /etc/ufw/ angelegt. Möchte man ufw wieder deaktivieren, so nutzt man den Befehl:

ufw disable

Beim beschriebenen reset-Befehl wird ufw ebenfalls deaktiviert. Damit sind die grundlegenden Konfigurationsschritte erklärt – für die weitergehende Konfiguration empfiehlt sich der entsprechende Artikel bei ubuntuusers.