© Pixels Hunter/Shutterstock.com
Computational Notebooks für jedermann

Nützliche Notizbücher


Was haben Leonardo da Vinci, Galileo Galilei und Nikola Tesla gemeinsam? Klar: Sie alle waren Erfinder und, wie man heute sagen würde, Ingenieure. Eine weitere Gemeinsamkeit: Sie haben für ihre Forschungsarbeit dasselbe Tool benutzt und über ihre Experimente, Beobachtungen und Ideen Buch geführt. Doch was hat das mit Software zu tun? Dieser Artikel gibt eine Antwort auf diese Frage und zeigt Ihnen die moderne Form dieses Tools und, wie Sie als Entwickler davon profitieren können.

Wer im beruflichen Kontext oder auch privat eine neue Programmieridee realisieren möchte, produziert dabei in aller Regel viel mehr als nur Code. Die Umsetzung vom initialen Gedanken bis zum funktionierenden Programm ist ein anspruchsvoller, kreativer und iterativer Prozess. Dabei entstehen neben dem Quellcode reichlich Notizen und Skizzen; Ausgaben in Form von Zahlen, Text oder Grafiken werden generiert und bei der Onlinerecherche sammelt sich schnell eine größere Menge von Links. Rasch werden die Dinge unübersichtlich. Abhilfe schafft hier das Konzept der Jupyter Notebooks. [1] Es ermöglicht die Kombination von Notizen, Grafiken, Videos und dergleichen mit editier- und ausführbarem Code. Dieser Artikel zeigt anhand eines Beispiels aus der Digitalisierung, wie Sie davon profitieren können.

Notebooks – ist das nicht etwas für Data Analytics?

Falls Sie bereits von Jupyter Notebooks gelesen haben, ist es wahrscheinlich, dass Sie sich im Kontext von Machine Learning oder Data Analytics bewegen. Tatsächlich sind Notebooks hier bestens geeignet [2] und finden bereits rege Verwendung. Notebooks sind aber gewiss nicht auf diese Anwendungsfelder beschränkt, sondern bieten sich auch fernab der Implementierung mathematischer Verfahren als vielseitiges Werkzeug an.

Woher bekomme ich ein Notebook?

Ein Notebook bedienen Sie vollständig im Browser Ihrer Wahl. Doch wie gelangt es dorthin? Prinzipiell gibt es dafür zwei Möglichkeiten: Sie hosten einen lokalen Notebook-Server oder nutzen einen Cloud-Service. Bei letzterer Variante haben Sie die Wahl zwischen einer Vielzahl von Diensten [3], wie zum Beispiel Google Colaboratory [4] oder Microsoft Azure Notebooks [5].

Dieser Artikel beleuchtet die Variante des Notebook-Servers, den Sie lokal auf Ihrem Computer betreiben. Dafür empfiehlt Projekt Jupyter die Installation über Anaconda [6]. Diese Python-Distribution enthält Jupyter Notebooks out of the box. Weitere Bibliotheken fügen Sie mit dem integrierten Paketmanager Conda hinzu. Nachdem der Jupyter-Server installiert und gestartet ist, läuft er im Hintergrund und Sie brauchen sich nicht weiter um ihn zu kümmern.

In Ihrem Browser öffnet sich automatisch eine Oberfläche analog zu einem Dateiexplorer. Hier wählen Sie zunächst das Arbeitsverzeichnis aus, in dem Ihre Notebooks im JSON-Format gespeichert werden. Anschließend können Sie direkt ein neues Notebook erzeugen. Jupyter stellt dabei unterschiedliche Kernels zur Verfügung. Unter einem Kernel (Abb. 1) versteht man in diesem Zusammenhang einen Prozess, der interaktiven Code in einer bestimmten Sprache ausführt – die prominentesten sind Julia, Python und R.

hoffmann_windisch_notebooks_1.tif_fmt1.jpgAbb. 1: Zusammenhang zwischen Notebook und Kernel

Diese drei Programmiersprachen sind übrigens namensgebend für das Project Jupyter: Julia, Python und (e)R. Durch die Open-Source-Community steht eine Vielfalt an Kernels von A wie Ansible bis Z wie zShell bereit. [7] Für unsere Fallstudie wählen wir jedoch den in der Standardinstallation bereits verfügbaren Kernel Python3. Das frisch initialisierte Notebook begrüßt Sie in einem neuen Browsertab mit einem blinkenden Cursor. Er steht in einem Kasten, der im Notebook-Jargon als Zelle bezeichnet wird. Ab diesem Zeitpunkt können Sie sämtliche Funktionalitäten von Python – oder genauer: IPython – nutzen. [8] Stellen Sie sich dabei die Zellen einfach als Miniskripte vor, die einen oder mehrere Befehle ausführen, genau wie es der Python-Interpreter auf der Kommandozeile tun würde. Abbildung 2 zeigt exemplarisch ein Notebook zur Berechnung von Kubikzahlen. Um darin eine Zelle auszuführen, klicken Sie den Run-Button oder drücken SHIFT + RETURN.

hoffmann_windisch_notebooks_2.tif_fmt1.jpgAbb. 2: Notebook Interface mit einfachem Programmierbeispiel

Erste Notizschritte

Die Ausgabe ei...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang