Serverarchitektur Jupyter Notebook

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Brando
User
Beiträge: 171
Registriert: Donnerstag 28. Januar 2016, 15:36

Hallo,

wie erkläre ich die Serverarchitektur von Jupyter Notebook. Bislang habe ich folgenden Text:

In den Anforderungen ist klar geworden, dass zum einen das Lehrskript dargestellt werden soll, welches von interaktiven Aufgaben unterbrochen wird und nach einer Aufgabe wieder fortgesetzt werden soll. Um diese Anforderungen zu bewältigen wurde Jupyter Notebook herangezogen.
Notebook documents
Notebook documents sind Dokumente, die von der Jupyter Notebook App erzeugt warden und entweder Computercode oder Textelemente(Paragraphen, Gleichungen, Figuren etc.) enthalten. Diese Dokumente sind lesbar für Menschen und enthalten die Textelemente als auch ausführbare Elemente um bspw. Datenanalyse durchzuführen, oder im vorliegenden Fall interaktive Aufgaben darzustellen.
Jupyter Notebook App
Die Jupyter Notebook App ist eine Server-Client Applikation, die es erlaubt Dokumente auf Jupyter Notebook zu editieren oder auszuführen in einem Webbrowser. Diese App kann von einem lokalen Desktop aus ausgeführt werden ohne Internetzugang oder auf einem Remote-Server installiert werden und über Internet zur Verfügung gestellt werden. Auf dem Server werden auch die für interaktive Widgets wichtigen Daten abgelegt, in unserem Falle das Interface, welches hier entwickelt wurde.
Kernel
Ein Notebook Kernel ist eine Computermaschine, die Code ausführt, welcher im Notebook Dokument enthalten ist. Der ipython Kernel, den ich nutze, führt Pythoncode aus. Es gibt aber Kernel für viele andere Sprachen wie bspw. R (für statistische Berechnungen und Graphik) oder Julia (numerisches und wissenschaftliches Rechnen) und C++.
Wenn ein Notebook Dokument geöffnet wird, wird automatisch der Kernel aktiviert. Wenn ein Notebook ausgeführt wird führt der Kernel die Berechnungen aus und stellt die Ergebnisse dar.

Das Notebook Dashboard

Das Notebook Dashboard ist eine Komponente, die sich zeigt, wenn man die Jupyter Notebook App startet – mit dem Terminalbefehl jupyter notebook. Es nützt um Notebook Dokumente zu öffnen, einen Kernel zu starten. Andere Features sind ein File Manager um zwischen Ordnern zu navigieren oder Files umzubenennen oder zu löschen.
Ein Notebook ausführen

Zuerst muss die Jupyter Notebook App gestartet werden durch den Terminalbefehl jupyter notebook. Dann hat man das Jupyter Dashboard vor Augen. Ein Notebook, welches man erstellt hat, steht dort. Man klickt auf es und ein neuer Tab mit dem gewählten Notebook startet. Mit shift+enter kann man einzelne Zellen des Notebooks ausführen, oder aber das ganze Notebook ausführen mit dem Befehl Cell-> Run All. Um den kernel neu zu starten klickt man auf Kernel->Restart.
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

@Brando: In welchen Anforderungen ist was klar geworden? Wenn es ein »zum Einen« gibt, wo ist das »zum Anderen«?

Die Jupyter Notebook App (die wird aber erst im nächsten Abschnitt erklärt) erzeugt keine Dokumente sondern stellt sie nur dar. Und damit sind sie auch für Menschen lesbar. Was »ausführbare Elemente« sind, kommt mir hier zu kurz.

Die Sätze sind manchmal etwas holprig. Also als Anfang: "Die Jupyter Notebook App besteht aus zwei Teilen, einem der lokal oder auf einem entfernten Server läuft, und einem der im Webbrowser ausgeführt wird (Client-Server-Applikation)." Und dann kannst Du noch genauer darauf eingehen, dass im Browser sowohl das Dokument editiert als auch Programm-Code geschrieben wird, der aber auf dem Server im sogenannten Kernel (siehe nächsten Abschnitt) ausgeführt wird. Was sind »wichtige Daten«?

Was ist eine »Computermaschine«? Vielleicht sollte nochmal klarer gemacht werden, dass der Kernel den gesamten Code mit allen Daten ausführt und das Notebook nur für die Darstellung dient.

Das mit den Widgets, die für Dich ja anscheinend so wichtig sind, kommen viel zu kurz. Was soll denn die Zielgruppe sein? Was sind denn die Kernbotschaften, die Du übermitteln willst? Welche Fragen soll der Leser am Schluß beantworten können?
Antworten