<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jupyter Archive - CEOsBay</title>
	<atom:link href="https://ceosbay.com/tag/jupyter/feed/" rel="self" type="application/rss+xml" />
	<link>https://ceosbay.com/tag/jupyter/</link>
	<description>It&#039;s all about Tech</description>
	<lastBuildDate>Sun, 16 Apr 2023 07:53:22 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/ceosbay.com/wp-content/uploads/2022/11/image.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Jupyter Archive - CEOsBay</title>
	<link>https://ceosbay.com/tag/jupyter/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">211828771</site>	<item>
		<title>Eclipse &#8211; Die flexible Entwicklungsumgebung</title>
		<link>https://ceosbay.com/2023/03/19/erklaerung-eclipse/</link>
					<comments>https://ceosbay.com/2023/03/19/erklaerung-eclipse/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sun, 19 Mar 2023 20:47:00 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[CDT]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[DPP]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Entwicklungsumgebung]]></category>
		<category><![CDATA[Erweiterungen]]></category>
		<category><![CDATA[Fazit]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[GEF]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[IntelliJ]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JFace]]></category>
		<category><![CDATA[Jupiter]]></category>
		<category><![CDATA[Jupyter]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[Kern]]></category>
		<category><![CDATA[Machine]]></category>
		<category><![CDATA[Mylyn]]></category>
		<category><![CDATA[oasp4j]]></category>
		<category><![CDATA[Oomph]]></category>
		<category><![CDATA[Ops]]></category>
		<category><![CDATA[OSGi]]></category>
		<category><![CDATA[Perspektiven]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[PP]]></category>
		<category><![CDATA[Programmiersprache]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[Quellcode]]></category>
		<category><![CDATA[Rich]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Saros]]></category>
		<category><![CDATA[Scala]]></category>
		<category><![CDATA[Sichten]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[Speicher]]></category>
		<category><![CDATA[Sprache]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[UML]]></category>
		<category><![CDATA[Werkzeug]]></category>
		<category><![CDATA[Werkzeuge]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[Yatta]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1190</guid>

					<description><![CDATA[<p>Eclipse „Sonnenfinsternis“, ist ein Open Source Programm zur Entwicklung von Software verschiedener Art. Ihren Ursprung hat Eclipse als integrierte Entwicklungsumgebung (IDE) für die Programmiersprache Java. Mittlerweile nutzt man es aufgrund der Erweiterbarkeit auch für viele &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/19/erklaerung-eclipse/">Eclipse &#8211; Die flexible Entwicklungsumgebung</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Eclipse „Sonnenfinsternis“, ist ein <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open Source</a> Programm zur Entwicklung von Software verschiedener Art. Ihren Ursprung hat Eclipse als integrierte Entwicklungsumgebung (IDE) für die Programmiersprache <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>. Mittlerweile nutzt man es aufgrund der Erweiterbarkeit auch für viele andere Entwicklungsaufgaben. Für Eclipse gibt es eine Vielzahl sowohl quelloffener als auch kommerzieller Erweiterungen. Es selbst basiert auf <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>. Ab Version 3.0 auf dem OSGi-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> Equinox. Die OSGi Alliance (früher Open Services Gateway initiative) spezifizierte eine hardwareunabhängige dynamische Softwareplattform, die es erleichtert, Anwendungen und ihre Dienste per Komponentenmodell („Bundle“/„Service“) zu modularisieren und zu verwalten („Service Registry“). Die OSGi-Plattform setzt eine <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> Virtual Machine (JVM) voraus und bietet darauf aufbauend das OSGi-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a>. Während Equinox (Tag-und-Nacht-Gleiche) ein von der Eclipse Foundation entwickeltes <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>-basiertes <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> ist, dass die OSGi-Kernspezifikation implementiert und das Gerüst der integrierten Entwicklungsumgebung Eclipse bildet.</p>



<h3 class="wp-block-heading">Kurze Zeitreise</h3>



<p>Eclipse ist im Grunde genommen der Nachfolger von IBM Visual Age for <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> 4.0. Der Quellcode dafür wurde im Jahr 2001 von IBM freigegeben. Im Jahr 2004 beschloss das von IBM geführte Eclipse-Konsortium die Ausgründung der rechtlich eigenständigen Eclipse Foundation, die seitdem für die Entwicklung von Eclipse verantwortlich ist. Es unterstützt die <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>-Version 5 ab Version 3.1 und <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> 6 ab Version 3.2. Ab dem Jahr 2006 wurden die Veröffentlichungstermine neuer Versionen der wichtigsten Eclipse-Komponenten harmonisiert, um Versionskonflikte zu vermeiden und Eclipse-Anwendern die Nutzung zu erleichtern. Man hat den Veröffentlichungszyklus ab der Version 2018-09 auf Quartalsaktualisierungen verkürzt, da ab <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> 9 nicht mehr alle 3 Jahre, sondern alle 6 Monate eine neue <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> Version erscheint. Es folgt nun einem Rolling Release Modell.</p>



<h3 class="wp-block-heading">Rolling Release</h3>



<p>(„rollen“ und „veröffentlichen“. Sinngemäß handelt es sich dabei um die kontinuierliche Aktualisierung der Software und ist ein Begriff aus der Softwareentwicklung. Bei einem Betriebssystem, dass das Rolling-Release-Prinzip anwendet, gibt es keine Betriebssystem-Versionen, bei denen bei einem Versions-Upgrade eine große Menge an Software auf einmal aktualisiert wird. Die einzelnen Software-Pakete werden vielmehr immerfort aktualisiert. Dies schließt sogenannte Releases, also Veröffentlichungen des Betriebssystems, aber nicht aus. Im Gegensatz zu einem Betriebssystem ohne Rolling Releases sind die Veröffentlichungen jedoch keine Versionen, sondern sogenannte Snapshots. Dies bedeutet, eine Kopie aller im Moment im Repository liegenden Software-Versionen. Diese Snapshots dienen meistens auch als Installations-Medien.</p>



<p>Die Projektnamen waren bisher nach den Jupitermonden (Callisto, Europa und Ganymede), den Raumsonden Galileo und Helios, die Version 3.7 nach der für Eclipse typischen Farbe Indigo benannt. Die Anfangsbuchstaben der Projektnamen werden ab Version 3.5 in alphabetischer Reihenfolge vergeben. Die Version 3.8 erschien gleichzeitig mit der Version 4.2. Um mit dem schnelleren Release-Zyklus von <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> mitzuhalten, hat man 2018 von einem jährlichen Release auf vier Releases pro Jahr umgestellt. Damit hat man auch das Namensschema der Release-Versionen auf „{Jahreszahl}-{Monat}“ vereinfacht, also beispielsweise „2018-09“. Die einzelnen Versionen werden jeweils als Grundversion oder als Zusammenstellung aus verschiedenen Programmpaketen veröffentlicht. Einzelne Programmpakete kann man jedoch auch später noch nachinstallieren. Die Benutzeroberfläche von Eclipse ist standardmäßig englischsprachig. Es gibt jedoch zu jeder Version Babel-Language-Packs, die man sich in den entsprechenden Sprachen als Plugin installieren kann.</p>



<p>Darauf gehe ich so explizit ein, da ich mich in den letzten Tagen mit Kollegen über Eclipse ausgetauscht und in einem Quellcode verweise auf „Jupiter“ entdeckt habe. In der jüngsten Vergangenheit habe ich mich mit <a href="https://ceosbay.com/2022/12/30/erklaerung-projekt-jupyter/" target="_blank" rel="noreferrer noopener">Jupyter</a> beschäftigt. Daher auch hier ein Verweis auf den Beitrag damit es zu keiner Verwechslung der Themen kommt. Beides von Grund auf verschiedene Themen bzw. Dinge 😉</p>



<h3 class="wp-block-heading">Architektur</h3>



<p>Bis einschließlich zur Version 2.1 ist Eclipse als erweiterbare IDE konzipiert gewesen. Ab Version 3.0 ist es selbst nur der Kern, der die einzelnen Plug-ins lädt, die dann die eigentliche Funktionalität zur Verfügung stellt. Diese Funktionalität basiert, wie bereits erwähnt, auf Equinox. Sowohl Eclipse als auch die Plugins sind vollständig in <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> implementiert. Zur Erstellung der GUI (grafischen Benutzeroberfläche) wurde SWT verwendet. Zur Darstellung der GUI-Komponenten basiert SWT ähnlich wie AWT auf den nativen GUI-Komponenten des jeweiligen Betriebssystems. Eclipse steht für 14 verschiedene Systeme und Architekturen zur Verfügung und gilt somit als plattformunabhängig. Die Plugins lassen sich direkt von einem Update-Server, über den „Market Place“, oder durch Entpacken einer Installationsdatei installieren.</p>



<p>Das frei verfügbare Eclipse SDK umfasst die Eclipse-Plattform, Werkzeuge zur <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>-Entwicklung (<a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> Development Tools, JDT) und die Umgebung zur Entwicklung von Eclipse-Plugins (Plugin Development Environment, PDE).</p>



<h3 class="wp-block-heading">Rich Client Platform</h3>



<p>Eclipse bietet eine Rich Client Platform, welche es Anwendungsentwicklern ermöglicht, basierend auf dem Eclipse-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a>, von der Eclipse-IDE unabhängige Anwendungen zu schreiben. Die folgenden Komponenten (Plugins) werden typischerweise mindestens für eine Eclipse-Rich-Client-Platform-Anwendung verwendet:</p>



<ul class="wp-block-list">
<li>Eclipse Core Platform – steuert den Lebenszyklus einer Eclipse-Anwendung</li>



<li>Eclipse Platform UI – stellt die Workbench mit den Konzepten Sichten, Editoren, Perspektiven, Menüs und Toolbars zur Verfügung</li>



<li>Standard Widget Toolkit (SWT)</li>



<li>JFace</li>
</ul>



<p>Weitere Eclipse-Komponenten, wie das Hilfesystem oder das automatische Aktualisierungssystem, kann man ebenfalls einsetzen. In der Regel nutzt man das Eclipse-OSGi-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> Equinox zum Kombinieren (bundling) der Komponenten.</p>



<h3 class="wp-block-heading">Das UI (User Interface)</h3>



<p>Eclipse ist in Komponenten (parts) gegliedert, die in Sichten (views) und Editoren (editors) gegliedert sind. Wobei die Unterscheidung in view und editor sich an der Nutzung orientiert und nicht technischer Natur ist. Diese Fenster kann man durch Drag and Drop beliebig anordnen oder minimieren.</p>



<p><strong>Sichten</strong></p>



<p>Mit Hilfe der views kann man Daten direkt bearbeitet und darunterliegende Datenstrukturen verändern.</p>



<p>Beispiele für views sind die auch aus den meisten anderen Editoren bekannte Navigator-View, die im Projektverzeichnis enthaltene Dokumente anzeigt, der Klassenexplorer, der baumartig strukturiert Symbole für die Klassen, Funktionen, Variablen und Importe eines geöffneten Quelltextes anzeigt oder das Suchfenster, dass die Ergebnisse einer Suche auflisten kann.</p>



<p><strong>Editoren</strong></p>



<p>Editoren sind Komponenten, die nur das jeweils geöffnete Datenelement bearbeiten und in denen der Nutzer explizit speichern muss, um Daten zu verändern. Beispiele sind Fenster, die meist den Quelltext mit Syntaxhervorhebung anzeigen, wobei es für viele Programmiersprachen einen eigenen Editor gibt. Beispielsweise für <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>, C, PHP, <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>, <a href="https://ceosbay.com/2022/12/29/erklaerung-html/" target="_blank" rel="noreferrer noopener">HTML</a>, aber auch einen einfachen Texteditor. Genauso gibt es auch visuelle Editoren (beispielsweise UML-Editoren, GUI-Builder) oder solche, die Baumstrukturen anzeigen (etwa der <a href="https://ceosbay.com/2022/12/27/erklaerung-xml/" target="_blank" rel="noreferrer noopener">XML</a>-Editor). Editoren nehmen normalerweise den meisten Raum des Programmfensters in Anspruch. Mehrere geöffnete Quelltexte kann man als Reiter öffnen, die man dann über Tabs am oberen Rand in den Vordergrund bringen kann. Außerdem kann man Tabs fixieren, damit man beispielsweise den zugehörigen Quelltext nicht versehentlich schließt. Auch kann man die Editoren weitestgehend frei per Drag and Drop anordnen. Davon abgesehen ist es möglich, eine Datei in mehreren Editoren gleichzeitig zu öffnen.</p>



<p><strong>Perspektiven</strong></p>



<p>Perspektiven sind vollständige Anordnungen von parts. Ein editor bleibt beim Perspektivwechsel erhalten. Perspektiven sind weitestgehend frei konfigurierbar und man kann benutzerdefinierte Konstellationen speichern sowie laden. Meistens stellen Plugins, die man nachinstalliert, vorkonfigurierte Perspektiven zur Verfügung, diese passt man dann meisten den eigenen Wünschen und Vorlieben an.</p>



<h3 class="wp-block-heading">Plugins und Erweiterungen</h3>



<p>Es gibt zahlreiche Erweiterungen für Eclipse. Teils proprietär, teils frei verwendbar bzw. <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open Source</a>. Primär verwendet man es als <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> IDE. Dabei kommen vor allem die in den <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> Development Tools zusammengefassten Plugins zum Einsatz. Es existieren aber etliche Plugins für andere Sprachen, die ich bereits unter Editoren erwähnt habe. Hinzu kommt noch die Entwicklung von OSGi-Bundles. Dazu zählt vor allem das CDT-Projekt, welches C und C++ unterstützt und unter Anderem die GNU Compiler Collection sowie die LLVM (-Clang und -GCC) abdeckt. Darüber hinaus gibt es auch Plugins für Perl, PHP, ColdFusion, <a href="https://ceosbay.com/2022/12/19/erklaerung-ruby/" target="_blank" rel="noreferrer noopener">Ruby</a>, <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>, C#, Fortran, Ada2005, Scala usw. Diese kann man über ein Menü in Eclipse einbinden. Neben Plugins für konkrete Programmiersprachen gibt es auch solche, die allgemeine Entwicklungsprozesse unterstützen, wie beispielsweise Mylyn für „aufgabenorientierte Entwicklung“ oder Saros für Verteilte Paarprogrammierung auch Distributed Pair Programming, DPP oder Pair Programming, PP genannt. Oft sind diese Ergänzungen – anders als das Kernprogramm – ausschließlich in der englischen Sprache erhältlich.</p>



<p>Neben den <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> Development Tools gibt es viele weitere Projekte, die man ebenfalls auf der Eclipse-Website koordiniert. Ein solches Projekt ist das Eclipse Tools Project, dass verschiedene Hilfsmittel entwickelt, die Entwickler erweitern können. Weitere Projekte sind das Eclipse Modeling <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> (EMF), das Graphical Editing <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> (GEF) und die eingestellte Eclipse Riena Platform (Riena). Mit EMF lässt sich ein Datenmodell erstellen, das zum Beispiel auf UML basieren kann. GEF ist ein Projekt, dass es Entwicklern erlaubt, mit Hilfe eines existierenden Datenmodells schnell einen grafischen Editor zu erstellen. Riena unterstützt Entwickler bei der Ausstattung einer Anwendung mit einem benutzerfreundlichen Interaktionskonzept und ansprechenden Oberflächenelementen.</p>



<p>Basierend auf diesen Erweiterungen und dem modularen Aufbau von Eclipse selbst, lassen sich für Projekte spezifische Eclipse-Bundles erstellen. Diese enthalten alle für ein bestimmtes Projekt notwendigen Teile und Erweiterungen von Eclipse, ohne mit unnötigen Teilen Hauptspeicher und Rechenleistung zu verbrauchen.</p>



<p>Inzwischen gibt es auch <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open Source</a>-Erweiterungen, die eine automatisierte Bereitstellung und Konfiguration erheblich erleichtern. Dazu zählen oasp4j-ide, Oomph und Yatta Profiles, von denen ich einige in zukünftigen Beiträgen thematisiere.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p>Durch den quelloffenen Ansatz und der kostenfreien Nutzungsmöglichkeit ist Eclipse neben <a href="https://ceosbay.com/2023/03/10/erklaerung-intellij-idea/" target="_blank" rel="noreferrer noopener">IntelliJ</a> eines der beliebteren IDEs. Man kann durch Plugins und Erweiterungen viele Programmiersprachen bedienen. Der Programmkern von Eclipse stellt in dem Zusammenhang die einzige versionsübergreifende Konstante dar. Jede Aktualisierung führt Neuerungen in den Kern ein und die integrierten Plugins bzw. Erweiterungen erfordern dadurch meist eine Anpassung an die neue Version.</p>



<p>Die grafische Oberfläche von Eclipse ist auf eine effiziente Arbeitsweise ausgerichtet. Der konzeptionelle Aufbau durch Views, Editoren und Perspektiven sorgt für eine anpassbare Optik und eine bequeme Arbeitsweise mit und in der IDE. Man kann sowohl die Funktionalitäten als auch die GUI von Eclipse durch die manuelle oder automatische Installation von Plugins bzw. Erweiterungen anpassen. Entsprechende Möglichkeiten finden sich in dem standardmäßig integrierten Market Place von Eclipse.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/19/erklaerung-eclipse/">Eclipse &#8211; Die flexible Entwicklungsumgebung</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/19/erklaerung-eclipse/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1190</post-id>	</item>
		<item>
		<title>Projekt Jupyter &#8211; Plattform für interaktive Datenanalyse und kollaboratives Arbeiten</title>
		<link>https://ceosbay.com/2022/12/30/erklaerung-projekt-jupyter/</link>
					<comments>https://ceosbay.com/2022/12/30/erklaerung-projekt-jupyter/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Fri, 30 Dec 2022 18:23:00 +0000</pubDate>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Admin]]></category>
		<category><![CDATA[Artificial]]></category>
		<category><![CDATA[Benutzeroberfläche]]></category>
		<category><![CDATA[Berechnungen]]></category>
		<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[DevKit]]></category>
		<category><![CDATA[DevKits]]></category>
		<category><![CDATA[Diagramme]]></category>
		<category><![CDATA[Fazit]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Hub]]></category>
		<category><![CDATA[Intelligence]]></category>
		<category><![CDATA[Intelligenz]]></category>
		<category><![CDATA[IPython]]></category>
		<category><![CDATA[Journalismus]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Jupyter]]></category>
		<category><![CDATA[JupyterHub]]></category>
		<category><![CDATA[JupyterLab]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[KI]]></category>
		<category><![CDATA[Künstlich]]></category>
		<category><![CDATA[Künstliche]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[MathJax]]></category>
		<category><![CDATA[NVIDIA]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[Tornado]]></category>
		<category><![CDATA[TX1]]></category>
		<category><![CDATA[Wissenschaft]]></category>
		<category><![CDATA[Xavier]]></category>
		<category><![CDATA[ZeroMQ]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1111</guid>

					<description><![CDATA[<p>Project Jupyter ist Herausgeber (Non-Profit-Organisation) von Open Source Softwareprodukten für interaktive wissenschaftliche Datenauswertung und wissenschaftliche Berechnungen. Der Name Jupyter bezieht sich auf die drei wesentlichen Programmiersprachen Julia, Python und R und ist auch eine Hommage &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/12/30/erklaerung-projekt-jupyter/">Projekt Jupyter &#8211; Plattform für interaktive Datenanalyse und kollaboratives Arbeiten</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Project Jupyter ist Herausgeber (Non-Profit-Organisation) von <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open Source</a> Softwareprodukten für interaktive wissenschaftliche Datenauswertung und wissenschaftliche Berechnungen. Der Name Jupyter bezieht sich auf die drei wesentlichen Programmiersprachen Julia, <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a> und R und ist auch eine Hommage an Galileos Notizbucheinträge zur Entdeckung der Jupitermonde, bei denen Galileo Beobachtungen und Messdaten zusammen mit Metadaten darstellte. Project Jupyter hat die Produkte Jupyter Notebook, JupyterHub und JupyterLab entwickelt.</p>



<h3 class="wp-block-heading">Kurze Zeitreise</h3>



<p>Project Jupyter entstand 2014 als Ausgliederung, aus dem von Fernando Pérez initiierten Projekts IPython. Wobei IPython nach wie vor existiert. Lediglich eher bekannt als <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a> Shell und Kernel für Jupyter, während das Notebook und andere sprachunabhängige Teile nun unter dem Namen Jupyter weiterentwickelt werden. Jupyter ist sprachenunabhängig und unterstützt die Ausführung vieler verschiedener Sprachen wie Julia, R, Haskell, <a href="https://ceosbay.com/2022/12/19/erklaerung-ruby/" target="_blank" rel="noreferrer noopener">Ruby</a> und <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>.</p>



<p>Im Jahr 2015 gaben <a href="https://ceosbay.com/2022/11/19/erklaerung-github/" target="_blank" rel="noreferrer noopener">GitHub</a> und das Project Jupyter bekannt, dass das Dateiformat des Jupyter Notebooks auf der <a href="https://ceosbay.com/2022/11/19/erklaerung-github/" target="_blank" rel="noreferrer noopener">GitHub</a>-Plattform unterstützt wird.</p>



<p>Ich selbst kam zwar bereits im Jahr 2015 als Producer mit Jupyter in Berührung, doch dies ist eine andere Geschichte. Wirklich gearbeitet, habe ich mit Jupyter Notebook in Bezug auf die künstliche Intelligenz bzw. dem maschinellen Lernen und dem NVIDIA Jetson bzw. dem Xavier und TX1 in Selbstregie. An dieser Stelle mein herzliches Dankeschön an Fernando Pérez und seinem unermüdlichen Einsatz für die Wissenschaft und der <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open Source</a> Szene und natürlich an NVIDIA, für die zur Verfügungstellung der DevKits (Development Kits). Wobei ich an dieser Stelle nicht garantieren kann, ob es in Ordnung ist, diese beiden im Zusammenhang zu erwähnen. Falls nicht, möchte ich mich bereits jetzt dafür entschuldigen.</p>



<h3 class="wp-block-heading">Jupyter Notebook</h3>



<p>Jupyter Notebook (früher IPython Notebooks) ist eine web-basierte interaktive Umgebung, mit der Jupyter-Notebook-Dokumente erstellt werden können. Ein Jupyter-Notebook-Dokument ist ein JSON-Dokument mit einem versionierten Schema, dass aus einer Liste von Eingabe- und Ausgabezellen besteht, die jeweils Code, Text und Plots enthalten können. Die Dateinamensendung ist „.ipynb“. Ein Jupyter Notebook kann aus der Browseroberfläche heraus in verschiedene Formate konvertiert werden (<a href="https://ceosbay.com/2022/12/29/erklaerung-html/" target="_blank" rel="noreferrer noopener">HTML</a>, PDF, LaTeX und Folien für Präsentationen). Es bietet im Browser eine Schleife aus Eingabe, Ausführung/Ausgabe und baut dabei auf weit verbreitete <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open-Source</a>-Bibliotheken wie IPython, ZeroMQ, Tornado, <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>, jQuery, Bootstrap und MathJax.</p>



<p>Jupyter Notebook kann verschiedene Kernels aufrufen, um die Programmierung bzw. interaktive Ausführung von Anweisungen in verschiedenen Sprachen zu unterstützen.</p>



<h3 class="wp-block-heading">Jupyter Kernel</h3>



<p>Der Kernel ist ein Programm, dass verschiedene Arten von Anfragen bearbeitet. Da Kernels über ZeroMQ kommunizieren, können sie auf der gleichen Maschine oder auf anderen Maschinen im Netzwerk in Betrieb genommen werden. Kernels erkennen nicht, mit welchem Dokument sie verbunden sind, und können von vielen Clients gleichzeitig aufgerufen werden. In der Regel ist ein Kernel für eine Programmiersprache ausgelegt. Der Kernel für <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a> wird mit ausgeliefert. Die Menge an Kernels mit der Unterstützung verschiedenster Programmiersprachen nimmt stetig zu.</p>



<h3 class="wp-block-heading">JupyterHub</h3>



<p>JupyterHub bringt die Leistungsfähigkeit von Notebooks zu Benutzergruppen und ist als Multi-User-Server zu sehen. Es gibt den Nutzern Zugang zu Rechenumgebungen und Ressourcen, ohne sie mit Installations- und Wartungsaufgaben zu belasten. Benutzer &#8211; einschließlich Studenten, Forscher und Datenwissenschaftler &#8211; können ihre Arbeit in ihren eigenen Arbeitsbereichen auf gemeinsam genutzten Ressourcen erledigen, die von Systemadministratoren effizient verwaltet werden können.</p>



<p>JupyterHub läuft in der Cloud oder auf der eigenen Hardware und ermöglicht es, jedem Benutzer auf der Welt eine vorkonfigurierte Data-Science-Umgebung zur Verfügung zu stellen. Es ist anpassbar und skalierbar und eignet sich für kleine und große Teams, akademische Kurse und groß angelegte Infrastrukturen.</p>



<h3 class="wp-block-heading">JupyterLab</h3>



<p>JupyterLab ist die webbasierte interaktive Entwicklungsumgebung für Notebooks, Code und Daten und damit das Nachfolgeprodukt für die GUI (Benutzeroberfläche). Mit der flexiblen Oberfläche können Benutzer Arbeitsabläufe in den Bereichen Datenwissenschaft, wissenschaftliche Berechnungen, Computerjournalismus und maschinelles Lernen konfigurieren und gestalten.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p>Ein objektives Fazit fällt mir an dieser Stelle schwer, da ich die Lösungen nur für mich und allein verwendet habe. Interessant wäre es gewesen, dies in einem Team zu machen. Ich kann mir vorstellen, dass es bei der Versionierung durchaus einige Herausforderungen geben kann. Auch beim Mergen (Zusammenführen) von Code, kann sich dieses Unterfangen wahrscheinlich etwas komplizierter gestalten. Daher enthalte ich mich in diesem Fall bis auf Weiteres. Ich bin davon überzeugt, dass ich auch in Zukunft Berührungspunkte damit habe und diesen Artikel dementsprechend erweitere oder zumindest auf neue Artikel verweise.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/12/30/erklaerung-projekt-jupyter/">Projekt Jupyter &#8211; Plattform für interaktive Datenanalyse und kollaboratives Arbeiten</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/12/30/erklaerung-projekt-jupyter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1111</post-id>	</item>
	</channel>
</rss>
