<?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>Entwickler Archive - CEOsBay</title>
	<atom:link href="https://ceosbay.com/tag/entwickler/feed/" rel="self" type="application/rss+xml" />
	<link>https://ceosbay.com/tag/entwickler/</link>
	<description>It&#039;s all about Tech</description>
	<lastBuildDate>Mon, 17 Apr 2023 21:51:31 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://i0.wp.com/ceosbay.com/wp-content/uploads/2022/11/image.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Entwickler Archive - CEOsBay</title>
	<link>https://ceosbay.com/tag/entwickler/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">211828771</site>	<item>
		<title>Scrum &#8211; Kontinuierliche Verbesserung und Anpassungsfähigkeit</title>
		<link>https://ceosbay.com/2023/04/17/scrum-kontinuierliche-verbesserung-und-anpassungsfaehigkeit/</link>
					<comments>https://ceosbay.com/2023/04/17/scrum-kontinuierliche-verbesserung-und-anpassungsfaehigkeit/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Mon, 17 Apr 2023 21:51:23 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Bildung]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Adaption]]></category>
		<category><![CDATA[Agil]]></category>
		<category><![CDATA[Artefakte]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Entwicklerteam]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Fazit]]></category>
		<category><![CDATA[Inspektion]]></category>
		<category><![CDATA[Kontinuierlich]]></category>
		<category><![CDATA[Kontinuierliche]]></category>
		<category><![CDATA[Kontinuität]]></category>
		<category><![CDATA[Owner]]></category>
		<category><![CDATA[Prinzipien]]></category>
		<category><![CDATA[Produktentwicklung]]></category>
		<category><![CDATA[Projektmanagement]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Transparenz]]></category>
		<category><![CDATA[Verbesserung]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1763</guid>

					<description><![CDATA[<p>Scrum ist ein Rahmenwerk für agiles Projektmanagement und Produktentwicklung, aus den 90er Jahren von Ken Schwaber und Jeff Sutherland. Es bietet einen iterativen und inkrementellen Ansatz für die Planung und Steuerung von Projekten und ermöglicht &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/04/17/scrum-kontinuierliche-verbesserung-und-anpassungsfaehigkeit/">Scrum &#8211; Kontinuierliche Verbesserung und Anpassungsfähigkeit</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Scrum ist ein Rahmenwerk für agiles Projektmanagement und Produktentwicklung, aus den 90er Jahren von Ken Schwaber und Jeff Sutherland. Es bietet einen iterativen und inkrementellen Ansatz für die Planung und Steuerung von Projekten und ermöglicht es Teams, schnell auf Veränderungen zu reagieren und bessere Ergebnisse zu erzielen. In diesem Beitrag geht es um die Grundprinzipien von Scrum, die Rollen und Artefakte, die es umfasst, und wie es zur erfolgreichen Umsetzung von Projekten beitragen kann.</p>



<h3 class="wp-block-heading">Die Grundprinzipien von Scrum</h3>



<p>Scrum basiert auf drei grundlegenden Säulen: Transparenz, Inspektion und Adaption. Diese Säulen stellen sicher, dass alle Beteiligten über den Projektstatus informiert sind, kontinuierlich überprüfen, wie die Arbeit voranschreitet, und bei Bedarf Anpassungen vornehmen, um die Ziele zu erreichen.</p>



<p><strong>Transparenz</strong>: Alle Projektinformationen müssen für alle Teammitglieder sichtbar und zugänglich sein. Dazu gehören Fortschritt, Hindernisse und Änderungen am Projektplan.</p>



<p><strong>Inspektion</strong>: Das Team prüft regelmäßig die Fortschritte und identifiziert Probleme oder Verbesserungspotenziale. Dies geschieht durch verschiedene Meetings und Feedback-Loops.</p>



<p><strong>Adaption</strong>: Hat man Probleme identifiziert, müssen Maßnahmen folgen, um diese zu beheben und den Prozess zu verbessern. Die Umsetzung der Änderungen sollte schnell und effektiv erfolgen.</p>



<h3 class="wp-block-heading">Rollen in Scrum</h3>



<p><strong>Product Owne</strong>r: Der Product Owner ist für die Definition und Priorisierung der Anforderungen an das Produkt verantwortlich. Verantwortlich für den sogenannten &#8222;Product Backlog&#8220;, eine Liste von Aufgaben und Funktionen, deren Implementierung in das Produkt erforderlich ist.</p>



<p><strong>Scrum Master:</strong> Der Scrum Master ist ein Coach und Vermittler für das Team. Verantwortlich für die Einhaltung der Scrum-Prinzipien und -Praktiken. Hilft bei der Beseitigung von Hindernissen, die die Arbeit des Teams beeinträchtigen können.</p>



<p><strong>Entwicklerteam</strong>: Das Entwicklerteam ist eine Gruppe von Fachleuten, die zusammenarbeiten, um die Aufgaben des Product Backlogs in funktionsfähige Produktinkremente umzusetzen.</p>



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



<p>Scrum verwendet mehrere Artefakte, um die Planung und den Fortschritt des Projekts zu verfolgen:</p>



<p><strong>Product Backlog:</strong> Eine Liste aller gewünschten Funktionen, Anforderungen und Verbesserungen, deren Umsetzung im Produkt erforderlich ist. Der Product Owner ist für die Priorisierung und Aktualisierung des Backlogs verantwortlich.</p>



<p><strong>Sprint Backlog:</strong> Eine Liste der Aufgaben, die das Team im aktuellen Sprint (einem festgelegten Zeitraum von normalerweise zwei bis vier Wochen) abgeschließt. Die Erstellung des Sprint Backlogs ist die Aufgabe des Entwicklerteams und basiert auf den Prioritäten des Product Backlogs.</p>



<p><strong>Inkrement</strong>: Das Ergebnis eines jeden Sprints, ein potenziell auslieferbares Stück des Produkts, das neue oder verbesserte Funktionen bietet. Inkremente sollen den Wert des Produkts für den Kunden kontinuierlich steigern.</p>



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



<p>Scrum definiert verschiedene Events oder Meetings, um den Kommunikationsfluss und die Zusammenarbeit im Team zu fördern und um den Fortschritt zu überwachen:</p>



<p><strong>Sprint Planning:</strong> Zu Beginn jedes Sprints trifft sich das gesamte Team, um den Umfang des nächsten Sprints zu planen. Dabei wählen sie die wichtigsten Elemente aus dem Product Backlog aus und erstellen das Sprint Backlog.</p>



<p><strong>Daily Scrum:</strong> Ein tägliches, kurzes Stand-up-Meeting, bei dem jedes Teammitglied den Fortschritt, die Pläne für den Tag und mögliche Hindernisse teilt. Dies fördert die Transparenz und hilft, Probleme frühzeitig zu identifizieren.</p>



<p><strong>Sprint Review</strong>: Am Ende jedes Sprints präsentiert das Team das fertige Inkrement dem Product Owner und den Stakeholdern, um Feedback zu erhalten und den Fortschritt zu bewerten.</p>



<p><strong>Sprint Retrospektive:</strong> Nach dem Sprint Review reflektiert das Team intern über den Sprint und identifiziert Verbesserungsmöglichkeiten für zukünftige Sprints.</p>



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



<p>Scrum ist ein agiles Rahmenwerk, das den Fokus auf Transparenz, Inspektion und Adaption legt, um den Projekterfolg zu fördern. Durch die Definition klarer Rollen, Artefakte und Events unterstützt Scrum die effektive Zusammenarbeit innerhalb des Teams und die kontinuierliche Verbesserung der Arbeitsprozesse. Die Implementierung von Scrum kann zu einer erhöhten Produktivität, schnelleren Anpassungsfähigkeit an Veränderungen und einer besseren Kundenzufriedenheit führen. Unternehmen und Projektteams, die sich für einen agilen Ansatz entscheiden, können Scrum als wertvolles Instrument in Betracht ziehen, um ihre Ziele zu erreichen.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/04/17/scrum-kontinuierliche-verbesserung-und-anpassungsfaehigkeit/">Scrum &#8211; Kontinuierliche Verbesserung und Anpassungsfähigkeit</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/04/17/scrum-kontinuierliche-verbesserung-und-anpassungsfaehigkeit/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1763</post-id>	</item>
		<item>
		<title>Test-Harnisch &#8211; Qualität und Zuverlässigkeit von Anfang an durch effektive Teststrategien</title>
		<link>https://ceosbay.com/2023/04/15/erklaerung-test-harnisch/</link>
					<comments>https://ceosbay.com/2023/04/15/erklaerung-test-harnisch/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sat, 15 Apr 2023 13:47:35 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Analyse]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Automatisieren]]></category>
		<category><![CDATA[CD/CI]]></category>
		<category><![CDATA[Continious]]></category>
		<category><![CDATA[Continous Delivery]]></category>
		<category><![CDATA[Continous Integration]]></category>
		<category><![CDATA[Continuous]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Effizienz]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Ergebnisse]]></category>
		<category><![CDATA[Fazit]]></category>
		<category><![CDATA[Frame]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Harness]]></category>
		<category><![CDATA[Harnische]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Jasmine]]></category>
		<category><![CDATA[Kontinuierlich]]></category>
		<category><![CDATA[Kontinuierliches]]></category>
		<category><![CDATA[Manuell]]></category>
		<category><![CDATA[NG]]></category>
		<category><![CDATA[NUnit]]></category>
		<category><![CDATA[Ops]]></category>
		<category><![CDATA[Pytest]]></category>
		<category><![CDATA[Sammlung]]></category>
		<category><![CDATA[Sec]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Skripte]]></category>
		<category><![CDATA[Softwareanwendungen]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Testdaten]]></category>
		<category><![CDATA[Testergebnisse]]></category>
		<category><![CDATA[TestNG]]></category>
		<category><![CDATA[Testtreiber]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Unit]]></category>
		<category><![CDATA[Vereinfachung]]></category>
		<category><![CDATA[Wiederverwendbarkeit]]></category>
		<category><![CDATA[Work]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1476</guid>

					<description><![CDATA[<p>In der Welt der Softwareentwicklung ist Qualitätssicherung ein zentrales Thema. Um die Stabilität, Leistung und Effizienz von Softwareanwendungen zu gewährleisten, müssen Entwickler und Tester den Code durch eine Vielzahl von Tests validieren. Eine effiziente Methode &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/04/15/erklaerung-test-harnisch/">Test-Harnisch &#8211; Qualität und Zuverlässigkeit von Anfang an durch effektive Teststrategien</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In der Welt der Softwareentwicklung ist Qualitätssicherung ein zentrales Thema. Um die Stabilität, Leistung und Effizienz von Softwareanwendungen zu gewährleisten, müssen Entwickler und Tester den Code durch eine Vielzahl von Tests validieren. Eine effiziente Methode zur Automatisierung und Verwaltung dieser Tests ist der Einsatz von Test-Harnischen.</p>



<h3 class="wp-block-heading">Was ist ein Test-Harnisch?</h3>



<p>Ein Test-Harnisch (engl. test harness) ist ein <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> oder eine Sammlung von Tools, die dazu beitragen, das Testen von Softwareanwendungen zu automatisieren, zu koordinieren und zu überwachen. Im Wesentlichen stellt ein Test-Harnisch eine Umgebung bereit, in der Entwickler und Tester den Code einer Anwendung testen und sicherstellen können, dass er korrekt funktioniert und die Anforderungen erfüllt. Man kann Test-Harnische sowohl für manuelles als auch für automatisiertes Testen verwenden.</p>



<h3 class="wp-block-heading">Funktionsweise eines Test-Harnisch</h3>



<h4 class="wp-block-heading">Ein Test-Harnisch besteht aus vier Hauptkomponenten:</h4>



<ol class="wp-block-list" type="1">
<li><strong>Testtreiber</strong>: Der Testtreiber ist für die Ausführung der Tests verantwortlich. Er stellt die Schnittstelle zur Verfügung, über die die Tester die Testfälle ausführen und die Ergebnisse erfassen können.</li>



<li><strong>Testdaten</strong>: Testdaten sind die Eingaben, die man während des Testprozesses verwendet. Sie bestehen in der Regel aus verschiedenen Datentypen, die man verwendet, um die verschiedenen Funktionen und Komponenten der Anwendung zu testen.</li>



<li><strong>Testskripte</strong>: Testskripte sind Skripte, die den Testprozess automatisieren. Sie enthalten Anweisungen, wie die Tests ausgeführt und die Analyse der Ergebnisse stattfinden soll.</li>



<li><strong>Testergebnisse</strong>: Testergebnisse sind die gesammelten Informationen, die aus dem Testprozess resultieren. Sie enthalten Daten über die Leistung der Anwendung, Fehler, die während des Testprozesses aufgetreten sind, und Informationen über die Korrektheit der Funktionen.</li>
</ol>



<h3 class="wp-block-heading">Vorteile von Test-Harnischen</h3>



<ul class="wp-block-list">
<li><strong>Automatisierung</strong>: Test-Harnische automatisieren den Testprozess und reduzieren so den Zeitaufwand und die Mühe, die mit manuellem Testen verbunden sind. Dies ermöglicht es Entwicklern und Testern, sich auf die Analyse der Testergebnisse und die Verbesserung der Softwarequalität zu konzentrieren.</li>



<li><strong>Wiederverwendbarkeit</strong>: Test-Harnische ermöglichen es, Testfälle und Testdaten wiederverwendbar zu gestalten, sodass man sie in verschiedenen Projekten und Anwendungen einsetzen kann.</li>



<li><strong>Vereinfachung</strong>: Test-Harnische vereinfachen den Testprozess, indem sie alle Testaktivitäten zentralisieren und eine einheitliche Testumgebung bereitstellen.</li>



<li><strong>Effizienz</strong>: Test-Harnische steigern die Effizienz des Testprozesses, indem sie die Testabdeckung erhöhen, den Testaufwand reduzieren und eine schnellere Fehlerbehebung ermöglichen.</li>



<li><strong>Kontinuierliche Integration</strong>: Test-Harnische unterstützen kontinuierliche Integration (CI) und kontinuierliche Bereitstellung (CD) in der Softwareentwicklung, indem sie die automatisierte Ausführung von Tests bei jedem Commit oder Build sicherstellen. Siehe hierzu den <a href="https://ceosbay.com/2023/04/14/erklaerung-ci-cd/" target="_blank" rel="noreferrer noopener">Beitrag</a> über <a href="https://ceosbay.com/2023/04/14/erklaerung-ci-cd/" target="_blank" rel="noreferrer noopener">CI/CD</a>.</li>



<li><strong>Berichterstattung und Analyse</strong>: Test-Harnische bieten umfangreiche Berichtsfunktionen, die es Entwicklern und Testern ermöglichen, den Fortschritt und den Status der Tests zu überwachen, Fehler und Schwachstellen schnell zu identifizieren und fundierte Entscheidungen über die Softwarequalität zu treffen.</li>
</ul>



<h3 class="wp-block-heading">Gängige Test-Harnisch-Tools in der Softwarebranche</h3>



<p>Es gibt viele Test-Harnisch-Tools und <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Frameworks</a> auf dem Markt, die verschiedene Programmiersprachen und Anforderungen unterstützen. Einige der bekanntesten sind:</p>



<p><strong>JUnit</strong>: <a href="https://ceosbay.com/2023/03/18/erklaerung-junit/" target="_blank" rel="noreferrer noopener">JUnit</a> ist ein weit verbreitetes Testframework für Java-Anwendungen, das Test-Harnisch-Funktionalitäten wie Testausführung, Testdatenverwaltung und Ergebnisberichterstattung bietet.</p>



<p><strong>TestNG</strong>: TestNG ist ein Testframework für Java-Programme, das auf <a href="https://ceosbay.com/2023/03/18/erklaerung-junit/" target="_blank" rel="noreferrer noopener">JUnit</a> basiert und erweiterte Funktionen wie Paralleltestausführung, Testkonfiguration und flexible Testskripterstellung bietet.</p>



<p><strong>NUnit</strong>: NUnit ist ein Testframework für .NET-Anwendungen, das Test-Harnisch-Funktionen wie Testausführung, Testdatenverwaltung und Berichterstattung bietet.</p>



<p><strong>Pytest</strong>: Pytest ist ein Testframework für Python-Anwendungen, das Test-Harnisch-Funktionalitäten wie Testausführung, Testdatenverwaltung und Ergebnisberichterstattung bietet.</p>



<p><strong>Jasmine</strong>: Jasmine ist ein Testframework für JavaScript-Anwendungen, das Test-Harnisch-Funktionalitäten wie Testausführung, Testdatenverwaltung und Ergebnisberichterstattung bietet.</p>



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



<p>Test-Harnische spielen eine entscheidende Rolle in der Softwareentwicklung, indem sie den Testprozess automatisieren, vereinfachen und effizienter gestalten. Durch den Einsatz von Test-Harnischen können Entwickler und Tester sicherstellen, dass ihre Anwendungen die gewünschte Qualität erfüllen und potenzielle Fehler frühzeitig identifiziert und behoben sind, bevor der Release stattfindet. Mit der wachsenden Anzahl von Test-Harnisch-Tools und <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Frameworks</a> auf dem Markt können Entwickler und Tester leicht eine Lösung finden, die ihren spezifischen Anforderungen und Projektzielen entspricht.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/04/15/erklaerung-test-harnisch/">Test-Harnisch &#8211; Qualität und Zuverlässigkeit von Anfang an durch effektive Teststrategien</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/04/15/erklaerung-test-harnisch/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1476</post-id>	</item>
		<item>
		<title>Unit Tests &#8211; Fundament für stabile und effiziente Software</title>
		<link>https://ceosbay.com/2023/03/26/erklaerung-unit-tests/</link>
					<comments>https://ceosbay.com/2023/03/26/erklaerung-unit-tests/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sun, 26 Mar 2023 17:50:20 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Betriebssystem]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Algorithmen]]></category>
		<category><![CDATA[Algorithmus]]></category>
		<category><![CDATA[Anwendung]]></category>
		<category><![CDATA[Architektur]]></category>
		<category><![CDATA[Auto]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[Baustein]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Codebasis]]></category>
		<category><![CDATA[Contract]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Driven]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Fehler]]></category>
		<category><![CDATA[Jacoco]]></category>
		<category><![CDATA[Klassen]]></category>
		<category><![CDATA[Kompilierung]]></category>
		<category><![CDATA[Komponenten]]></category>
		<category><![CDATA[Komponententest]]></category>
		<category><![CDATA[Lauffähigkeit]]></category>
		<category><![CDATA[Modul]]></category>
		<category><![CDATA[Modultest]]></category>
		<category><![CDATA[Nachteil]]></category>
		<category><![CDATA[Nachteile]]></category>
		<category><![CDATA[Ops]]></category>
		<category><![CDATA[Produkt]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Sprache]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Testarten]]></category>
		<category><![CDATA[Teststufe]]></category>
		<category><![CDATA[Unit]]></category>
		<category><![CDATA[Unittests]]></category>
		<category><![CDATA[Vertrag]]></category>
		<category><![CDATA[Vorteil]]></category>
		<category><![CDATA[Vorteile]]></category>
		<category><![CDATA[Weise]]></category>
		<category><![CDATA[Zehnerregel]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1246</guid>

					<description><![CDATA[<p>Ein Unit Test, auch Modul- oder Komponententest bezeichnet, ist ein Test, mit dem man in der Architektur eines Systems einzelne, abgrenzbare Teile (z. B. ausgewählte Codeabschnitte, Module, Unterprogramme, Units oder im Fall objektorientierter Programmierung als &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/26/erklaerung-unit-tests/">Unit Tests &#8211; Fundament für stabile und effiziente Software</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Ein Unit Test, auch Modul- oder Komponententest bezeichnet, ist ein Test, mit dem man in der Architektur eines Systems einzelne, abgrenzbare Teile (z. B. ausgewählte Codeabschnitte, Module, Unterprogramme, Units oder im Fall objektorientierter Programmierung als Klassen), meist auf niedrigster Ebene überprüft. Ziel dieser häufig durch den Softwareentwickler selbst durchgeführten Softwaretests ist, deren technische Lauffähigkeit und die Korrektheit ihrer fachlichen (Teil-)Ergebnisse nachzuweisen.</p>



<p>Man verwendet den Ausdruck Modultest unter anderem bei frühen Teststufen, in denen man die inneren, detailliertesten Komponenten der Software testet. Gemäß Software Validation &amp; Verification Plan sind diese Tests nur für Module mit geringer Kritikalität nicht notwendig. Im Grunde genommen bei Fehlern, die dem User nur geringfügige Unannehmlichkeiten bereiten.</p>



<p>In einer Abstraktion der verwendeten Programmiersprache, spricht man von Komponente oder Softwarebaustein. Den Test eines solchen einzelnen Softwarebausteins bezeichnet man auch allgemeiner als Komponententest.</p>



<p>Als Testbasis kann man in der Regel die komponentenspezifische Anforderung und das Softwaredesign der Komponente (auch Komponentenspezifikation genannt) heranziehen. Für Whitebox-Testfälle oder um Aussagen zur Codeüberdeckung zu erhalten, kann man zusätzlich den Sourcecode einer Komponente analysieren und diesen als Testbasis verwenden. Wobei dabei auch Tools wie <a href="https://ceosbay.com/2023/03/25/erklaerung-jacoco/" target="_blank" rel="noreferrer noopener">Jacoco</a> helfen können. Ob die Komponente auf einen Testfall richtig reagiert, muss man allerdings auch hier auf Basis der Design- und Anforderungsdokumente beurteilen.</p>



<p>Typische Testobjekte sind wie bereits beschrieben Programmunits, -Module bzw. Klassen. Aber auch Kommandozeilenskripte des Betriebssystems (Shell-Skripte), Datenbankskripte, Datenkonvertierungs- oder Migrationsprozeduren, Datenbankinhalte sowie Konfigurationsdaten können Testobjekte sein. Kennzeichnend ist in der Regel der isolierte Test eines einzelnen Softwarebausteins. Dies dient primär, um komponentenexterne Einflüsse beim Testen auszuschließen. Alle so ermittelten Fehler kann man so dem spezifischen Modul zuordnen.</p>



<p>Klar zu unterscheiden ist auf jeden Fall der Integrationstest, den ich in einem separaten Beitrag thematisiere. Bei einem Integrationstest konzentriert man sich auf die Wechselwirkung mit Nachbarkomponenten.</p>



<p>Die Erstellung solcher Tests ist in der Regel die Aufgabe eines Programmierers. Dies liegt zum einen daran, dass man ein ausgeprägtes Verständnis für die Programmiersprache in der die Anwendung geschrieben ist haben muss. Und zum anderen daran, dass man meist auch einen Testtreiber benötigt, dessen Programmierung in der Regel auch der Entwickler übernimmt.</p>



<h3 class="wp-block-heading">Einordnung im Testprozess</h3>



<p>Algorithmen auf Unitebene besitzen meist nur eine begrenzte Komplexität und man kann sie über klar definierte Schnittstellen aktivieren. Daher kann sie mit relativ wenigen Testfällen weitgehend vollständig testen. Dies gilt als Voraussetzung für die anschließende Teststufe. Dem Integrationstest, um dort die Testfälle auf das integrierte Zusammenwirken größerer Funktionsteile oder der gesamten Anwendung ausrichten zu können. Die modulspezifischen Detailkonstellationen lassen sich damit auf Stichproben beschränken, was die Anzahl der erforderlichen Testfälle signifikant reduziert.</p>



<p>Zum Vergleich: Ein Gerät wird erst dann als Ganzes getestet, wenn die Funktionsfähigkeit seiner Einzelteile gesichert ist.</p>



<h3 class="wp-block-heading">Test des Vertrages und nicht der Algorithmen</h3>



<p>Man testet bei Modultests gemäß dem Design-by-contract-Prinzip möglichst nicht die Interna einer Methode, sondern nur ihre externen Auswirkungen (Rückgabewerte, Ausgaben, Zustandsänderungen, Zusicherungen). Sind die internen Details der Methode geprüft (dies wird als White-Box-Testing bezeichnet), kann der Test fehlschlagen, obwohl sich die externen Auswirkungen nicht geändert haben. Daher empfiehlt man in der Regel das sogenannte Black-Box-Testing, bei dem man sich auf das Prüfen der externen Auswirkungen beschränkt.</p>



<h3 class="wp-block-heading">Was sind die Vorteile von Unit Tests?</h3>



<ul class="wp-block-list">
<li>Mittels automatisierter Unittests kann man im Schnitt 30 % der Fehler erkennen. Bei der Verwendung von <a href="https://ceosbay.com/2023/03/13/erklaerung-test-driven-development/" target="_blank" rel="noreferrer noopener">TDD</a> (<a href="https://ceosbay.com/2023/03/13/erklaerung-test-driven-development/">Test Driven Development</a>) kann man im Schnitt 45 % und im besten Fall 85 % der Fehler vermeiden.</li>



<li>Fehler erkennt man durch Modultests bereits während der Entwicklung. Die durch Unittests vermiedenen Fehlerkosten sind daher gemäß der Rule of Ten (Dazu später mehr) um ein Vielfaches höher als bei späteren Teststufen, was Unittests zur effizientesten Teststufe machen.</li>



<li>Im Falle eines Fehlers kann man diesen sehr viel genauer eingrenzen und damit schneller finden und beheben.</li>



<li>Die Tests erfüllen den Zweck einer lebenden Dokumentation. In Kombination mit einer sinnvollen Benamung der Objekte (Clean Code) können zusätzliche Dokumentationsmaßnahmen entfallen.</li>



<li>Da einzelne Module nur wenige mögliche Codeausführungspfade besitzen, muss man viel weniger mögliche kombinatorische Ausführungspfade berücksichtigen als bei anderen Testarten. Bei übergeordneten Tests kann man sich dann stichprobenartig auf die wichtigsten Ausführungspfade konzentrieren und damit die Anzahl dieser Tests deutlich reduzieren.</li>



<li>Da man nur einzelne Module testet, kann man Modultests, oft um mehrere Größenordnungen, schneller und damit öfter (bzw. kontinuierlich) ausführen als andere Testarten.</li>



<li>Wenn man Fehler mit einem Test absichert, kann man den erneuten Auftritt des gleichen Fehlers verhindern.</li>



<li>Durch die Fehlerreduktion ergeben sich Geschwindigkeitsvorteile in der Entwicklung in mittleren bis großen Softwareprojekten.</li>



<li>Da man Abhängigkeiten zwingend vermeiden muss, um einen Modultest zu ermöglichen, bleibt der Code verhältnismäßig schnell änderbar. Hierdurch kann man schneller auf wechselnde Anforderungen reagieren. Siehe <a href="https://ceosbay.com/2023/03/20/erklaerung-das-agile-manifest/" target="_blank" rel="noreferrer noopener">Agile Manifest</a> 😉</li>



<li>Da automatisch ausgeführte Tests um mehrere Größenordnungen schneller sind als manuelle Tests, reduziert sich der Zeitaufwand für das Testen deutlich. Hierdurch kann man die Entwicklungsstufen schneller durchlaufen und die Release-Zyklen signifikant verkürzen.</li>
</ul>



<h3 class="wp-block-heading">Was sind die Nachteile von Unit Tests?</h3>



<ul class="wp-block-list">
<li>Bei der Implementierung neuer Funktionen muss man nicht nur die Funktion implementieren, sondern auch die dazugehörenden Tests vorbereiten bzw. definieren. Dadurch ergibt sich ein oft mehrfacher Implementierungsaufwand.</li>



<li>Bei Änderungen muss man nicht nur die geänderten Funktionen, sondern auch die dazugehörenden Tests anpassen. Insbesondere bei der Entwicklung von Prototypen, bei der sich die Codebasis schnell verändert, ist das Testen daher oft eher ein Hindernis.</li>



<li>Da man die Funktionalität der Tests verwendet, ist in den IDEs schwerer ersichtlich, ob eine Funktionalität keine Verwendung mehr findet und ob man es daher entfernen kann.</li>



<li>Weisen die Tests untereinander Abhängigkeiten auf (z. B. durch gemeinsame Testdaten), so können einzelne Änderungen an der Codebasis eine Vielzahl von Tests beeinflussen, was den Änderungsaufwand mit der Größe der Codebasis exponentiell erhöht.</li>
</ul>



<h3 class="wp-block-heading">Fehlerkosten 10er Regel (Rule of ten)</h3>



<p>Die Zehnerregel der Fehlerkosten besagt, dass je weiter ein Fehler sich unentdeckt in die späten Phasen des Werdegangs eines Produktes oder Prozesses bewegt – oder gar bis zum Kunden –, desto höher steigen die Kosten zur Behebung des Fehlers. Eindrucksvoll untermauert durch die Ergebnisse einiger Studien aus den 70er Jahren in Japan, USA und Großbritannien, die sich mit den Ursachen von Produkt- bzw. Qualitätsmängeln beschäftigten. Alle Analysen lieferten nahezu die gleichen Ergebnisse: Ca. 70 % aller Produktmängel hatten ihre Ursache bereits in der Entwicklung, Konstruktion und Arbeitsvorbereitung. Der Herstellungsprozess selbst hat bezüglich der Endqualität des Produktes offensichtlich eher einen sekundären Einfluss. Eine VDMA-Studie zum Thema „Qualitätsbezogene Kosten“ Anfang der 90er Jahre in der Bundesrepublik Deutschland bestätigt dieses Ergebnis.</p>



<p>Die Zehnerregel der Fehlerkosten oder „Rule of ten“ sagt aus, dass sich die Fehlerkosten für einen nicht entdeckten Fehler von Stufe zu Stufe der Wertschöpfung um den Faktor 10 erhöhen. Je früher ein Fehler entdeckt und beseitigt wird, desto kostengünstiger ist dies für die Organisation und schlussendlich auch für den User bzw. Kunden.</p>



<p>Ansonsten sind diese auch in der DIN 55350-11 im Rahmen des Qualitätsmanagements festgehalten. Doch darauf gehe ich in einem separaten Beitrag ein.</p>



<h3 class="wp-block-heading">Wo sind die Grenzen der Unit Tests?</h3>



<p>Unit Tests können (wie jeder Test) die Fehlerfreiheit der getesteten Units, Module usw. nicht garantieren oder nachweisen, sondern lediglich unterstützen. Die Grenzen von Unit Tests liegen primär nur in den Fällen vor in denen man Fehler finden kann, zu deren Entdeckung die verwendeten Tests geeignet sind. Eine Softwarekomponente, die „grün“ testet, ist also nur bedingt fehlerfrei.</p>



<p>Das Merkmal von Code, „grün“ zu testen, und durchaus auch der Wunsch nach diesem Ergebnis, kann dazu führen, dass man tatsächlich (unbewusst) nur so viel testet, bis alle Tests „grün“ sind. Module, die keine fehlschlagenden Modultests haben, als fehlerfrei zu behandeln, ist ein Fehlschluss in der Praxis des (<a href="https://ceosbay.com/2023/03/13/erklaerung-test-driven-development/" target="_blank" rel="noreferrer noopener">TDD</a>) <a href="https://ceosbay.com/2023/03/13/erklaerung-test-driven-development/" target="_blank" rel="noreferrer noopener">Test Driven Development</a>.</p>



<p>Um eine ausreichende Testabdeckung zu erzielen, lohnt es sich u.U., vor dem Erstellen der Testfälle Refactoring-Maßnahmen anzuwenden. Dies erst nach abgeschlossenen Unit Tests (für den alten Code) zu tun, schafft Raum (wie jede Änderung im Code) für neue Fehlerrisiken und kann deshalb wiederholtes Testen erforderlich machen.</p>



<p>Wenn der Autor von Unit Tests mit dem Autor der Module identisch ist, können Denkfehler in der Implementierung auch im Test erscheinen und verpasst gegebenenfalls die Chance, diese aufzudecken. Wenn es sich um dieselbe Person handelt, kann man die vorrangige Entwicklung der Tests ebenfalls nicht garantieren, da sowohl die beabsichtigte Funktionsweise des Codes als auch die zukünftige Gestalt bereits im Gedankengut des Testautors und späteren Codeautors präsent sein können. Dies kann im Extreme Programming durch „Test Ping-Pong“ abgefangen werden, bei der sich Entwickler bei der Implementierung der Funktionalität und der Tests abwechseln.</p>



<p>Bei der Entwicklung von Modultests können Testfälle entstehen, die der Zielsetzung und dem Charakter von Modultests nicht oder nur zum Teil entsprechen. Wie bei der Programmierung existieren daher auch für die Entwicklung von Modultests Anti-Pattern, die man möglichst vermeiden sollte.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/26/erklaerung-unit-tests/">Unit Tests &#8211; Fundament für stabile und effiziente Software</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/26/erklaerung-unit-tests/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1246</post-id>	</item>
		<item>
		<title>WordPress &#8211; Das CMS für unendliche Möglichkeiten und grenzenlose Kreativität</title>
		<link>https://ceosbay.com/2023/03/01/erklaerung-wordpress/</link>
					<comments>https://ceosbay.com/2023/03/01/erklaerung-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Wed, 01 Mar 2023 20:36:00 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Datenschutz]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Content]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[org]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plattform]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Press]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Site]]></category>
		<category><![CDATA[Word]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP]]></category>
		<category><![CDATA[www]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=312</guid>

					<description><![CDATA[<p>WordPress (WP oder WordPress.org) ist ein kostenloses und Open Source Content-Management-System (CMS). Es ist in der Hypertext-Preprocessor (PHP)-Sprache geschrieben und mit einer MySQL&#8211; oder MariaDB-Datenbank sowie unterstütztem https kombiniert. Zu den Funktionen gehören eine Plugin-Architektur &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/01/erklaerung-wordpress/">WordPress &#8211; Das CMS für unendliche Möglichkeiten und grenzenlose Kreativität</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>WordPress (WP oder WordPress.org) ist ein kostenloses und Open Source Content-Management-System (CMS). Es ist in der Hypertext-Preprocessor (PHP)-Sprache geschrieben und mit einer <a href="https://ceosbay.com/2022/10/31/ubuntu-linux-starten-und-nutzen-mysql-server/" target="_blank" rel="noreferrer noopener">MySQL</a>&#8211; oder MariaDB-Datenbank sowie unterstütztem https kombiniert. Zu den Funktionen gehören eine Plugin-Architektur und ein Vorlagensystem, dass man innerhalb von WordPress als &#8222;Themes&#8220; bezeichnet. Ursprünglich hat man WordPress als Blog-Veröffentlichungssystem entwickelt. Es hat sich jedoch weiterentwickelt. Heute unterstützt es auch andere Web-Inhaltsarten wie traditionellere Mailinglisten und Internetforen, Mediengalerien, Mitgliederseiten, Lernmanagementsysteme (LMS) und Online-Shops. Ungefähr 40% der Top-10-Millionen-Websites verwenden derzeit WordPress.</p>



<h3 class="wp-block-heading">Was ist WordPress?</h3>



<p>WordPress ist ein <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open Source</a> CMS, dessen Entwicklung im Jahr 2003 Matt Mullenweg und Mike Little übernommen haben. Ursprünglich als Blogging-Plattform konzipiert, hat es sich im Laufe der Jahre zu einer umfassenden Lösung für das Erstellen und Verwalten von Websites jeder Größe und Art entwickelt. Tatsächlich basieren mehr als 40% aller Websites auf der WordPress-Plattform, und das aus gutem Grund. Doch dazu in Kürze mehr.</p>



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



<p>Wie bereits erwähnt entstand WordPress aus dem Bedürfnis heraus, eine benutzerfreundliche, flexible und anpassungsfähige Blogging-Plattform zu schaffen. Die Geschichte von WordPress beginnt im Jahr 2001 mit einer Blogging-Software namens b2/cafelog. Der französische Programmierer Michel Valdrighi hat es entwickelt. b2/cafelog war ein einfaches, aber dennoch funktionales CMS. Zu dieser Zeit nutzten es eine wachsende Anzahl von Bloggern.</p>



<p>Im Jahr 2003 war die Weiterentwicklung von b2/cafelog ungewiss, da Michel Valdrighi sich aus der Entwicklung zurückzog. Zwei Personen, ein Blogger und Webentwickler beschlossen, dies in die Hand zu nehmen. Matt Mullenweg und Mike Little, griffen das Projekt auf und einigten sich darauf, selbst eine neue Blogging-Plattform zu entwickeln. Am 27. Mai 2003 veröffentlichten sie die erste Version von WordPress, die auf dem b2/cafelog-Code basierte. Ihr Ziel war es, eine einfachere und benutzerfreundlichere Blogging-Plattform zu schaffen, die gleichzeitig hochgradig anpassbar und erweiterbar ist.</p>



<p>Seit der ersten Version hat sich WordPress kontinuierlich weiterentwickelt und ist heute das weltweit am häufigsten verwendete Content Management System. Neben seiner ursprünglichen Funktion als Blogging-Plattform hat sich WordPress zu einer umfassenden Lösung für die Erstellung und Verwaltung von Websites entwickelt. Die aktive und engagierte Entwickler-Community von WordPress, die ständig neue Funktionen und Verbesserungen einbringt, trägt maßgeblich zum Erfolg der Plattform bei.</p>



<p>Ein entscheidender Moment in der Geschichte von WordPress ist die Einführung der Plugin-Architektur im Jahr 2004. Dadurch konnte man die Funktionalität von WordPress einfach und schnell erweitern, indem Benutzer zusätzliche Softwaremodule (Plugins) installieren konnten. Dies förderte die Entwicklung einer Vielzahl von Plugins, die heute in der riesigen WordPress-Plugin-Bibliothek verfügbar sind.</p>



<p>Heute ist WordPress ein leistungsstarkes und vielseitiges CMS, das Millionen von Websites weltweit nutzen. Von persönlichen Blogs bis hin zu großen Unternehmenswebsites und E-Commerce-Plattformen. Die kontinuierliche Weiterentwicklung der Plattform und die wachsende Unterstützung durch die Entwickler-Community sichern den Erfolg von WordPress in der Zukunft.</p>



<h3 class="wp-block-heading">Warum WordPress?</h3>



<ul class="wp-block-list">
<li><strong>Benutzerfreundlichkeit</strong>: WordPress ist bekannt für die einfache Installation und benutzerfreundliche Oberfläche. Selbst Anfänger können innerhalb weniger Minuten eine Website erstellen und anpassen. Die Admin-Oberfläche ist übersichtlich und leicht verständlich, sodass Benutzer schnell auf alle erforderlichen Funktionen zugreifen können.</li>



<li><strong>Anpassungsfähigkeit</strong>: Mit tausenden von Themes und Plugins bietet WordPress eine Fülle von Anpassungsmöglichkeiten. Themes sind vorgefertigte Designvorlagen, die die Optik und Haptik Ihrer Website beeinflussen, während Plugins zusätzliche Funktionen und Tools bereitstellen. So kann man fast jede Website auf die individuellen Bedürfnisse anpassen.</li>



<li><strong>Open-Source und Community-getrieben</strong>: Da WordPress Open-Source ist, gibt es eine große und engagierte Community von Entwicklern und Designern, die ständig an Verbesserungen und neuen Funktionen arbeiten. Dies gewährleistet eine stetige Weiterentwicklung der Plattform und hilft dabei, sie auf dem neuesten Stand der Technik zu halten.</li>



<li><strong>SEO-freundlich: </strong>WordPress ist bekannt für die SEO-Freundlichkeit. Besonders, weil es saubere, gut strukturierte URLs generiert und es ermöglicht, Meta-Tags, Titel und Beschreibungen einfach hinzuzufügen. Außerdem gibt es zahlreiche SEO-Plugins, wie Yoast SEO und All in One SEO, die dabei helfen, Websites für Suchmaschinen zu optimieren.</li>
</ul>



<h3 class="wp-block-heading">WordPress.com vs. WordPress.org</h3>



<p>Eine der ersten Entscheidungen, die man treffen muss, wenn man mit WordPress arbeiten möchte, ist die Wahl zwischen WordPress.com und WordPress.org.</p>



<p>WordPress.com ist eine gehostete Plattform, die die Erstellung und Verwaltung einer Website vereinfacht. Man muss sich im Grunde genommen nicht um technische Aspekte wie Webhosting oder Sicherheitsupdates kümmern. Allerdings sind einige Funktionen eingeschränkt. Möglicherweise muss man für bestimmte Premium-Funktionen bezahlen.</p>



<p>WordPress.org hingegen ist die selbst gehostete Version, bei der man die volle Kontrolle über die Website hat. Einschließlich der Möglichkeit, benutzerdefinierte Themes und Plugins zu installieren.</p>



<p>Um eine Website mit WordPress.org zu erstellen, benötigt man ein Webhosting-Konto und eine Domain. Obwohl es technisches Know-how erfordert, bietet es mehr Freiheit und Flexibilität bei der Gestaltung einer Website.</p>



<h3 class="wp-block-heading">Muss man das wirklich selbst machen?</h3>



<p>Nein. Oft macht es Sinn einen Webdesigner bzw. eine Agentur zu beauftragen. Die übernehmen dann in Abstimmung die Konzeption, Gestaltung und schlussendlich die Erstellung. Vor allem, wenn man einen kommerziellen professionellen Auftritt im Internet haben möchte und sich wenig bis keine Gedanken über die Sicherheit und den Datenschutz usw. machen möchte bietet sich dieser Weg an.</p>



<h3 class="wp-block-heading">Wieso einen Webdesigner oder einer Agentur beauftragen?</h3>



<p>Es gibt verschiedene Gründe, warum man eine Website von einem professionellen Webdesigner oder von einer Agentur erstellen lassen sollte. Hier sind einige der wichtigsten Gründe:</p>



<ul class="wp-block-list">
<li><strong>Professionelles Design und Qualität:</strong> Ein erfahrener Webdesigner oder eine Agentur verfügt über umfassendes Wissen und Erfahrung in der Gestaltung von Websites. Sie wissen, wie man eine ansprechende, benutzerfreundliche und funktionale Website erstellt, die den aktuellen Design-Trends und Best Practices entspricht. Wenn man die Website selbst erstellt, kann es schwierig sein, dieselbe Qualität und Professionalität zu erreichen. Vor allem wenn man kein Experte im Bereich der Entwicklung und des Webdesigns ist.</li>



<li><strong>Zeiteffizienz:</strong> Eine professionelle Agentur oder ein Webdesigner kann den Prozess der Website-Erstellung beschleunigen und wertvolle Zeit sparen. Wenn man eine Website selbst erstellt, kann es viel Zeit in Anspruch nehmen. Vor allem, weil man die notwendigen Fähigkeiten erst erlernen muss.</li>



<li><strong>Technisches Know-how:</strong> Die Erstellung einer Website erfordert nicht nur ein gutes Design, sondern auch technisches Wissen, wie z. B. <a href="https://ceosbay.com/2022/12/29/erklaerung-html/" target="_blank" rel="noreferrer noopener">HTML</a>, CSS, <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>, PHP, Datenbanken, Webhosting und mehr. Ein professioneller Webdesigner oder eine Agentur verfügt über die notwendigen Kenntnisse. Dies ist erforderlich, um technische Probleme zu vermeiden und eine Website auf dem neuesten Stand der Technik zu betreiben.</li>



<li><strong>Suchmaschinenoptimierung (SEO):</strong> Ein wichtiger Aspekt einer erfolgreichen Website ist ihre Sichtbarkeit in Suchmaschinen wie Google. Eine professionelle Agentur oder ein Webdesigner verfügen über Fachwissen im Bereich der Suchmaschinenoptimierung. So kann man sicherstellen, dass Suchmaschinen die Website finden und im besten Fall hoch einstufen.</li>



<li><strong>Wartung und Support:</strong> Eine Website benötigt regelmäßige Wartung und Updates, um sicherzustellen, dass sie funktioniert und sicher bleibt. Wenn man die Website von einem Profi erstellen lässt, erhält man häufig Wartungs- und Supportdienste. So kann man sicherstellen, dass die Website immer auf dem neuesten Stand der Technik und vor Sicherheitsbedrohungen geschützt ist.</li>



<li><strong>Anpassungen und Erweiterungen:</strong> Eine professionelle Agentur oder ein Webdesigner kann die Website an individuelle Anforderungen anpassen und diese bei Bedarf erweitern. Dies passiert, indem man zusätzliche Funktionen und Integrationen hinzufügt. Wenn man eine Website selbst erstellt, kann es schwierig sein, diese Anpassungen und Erweiterungen ohne entsprechendes Fachwissen vorzunehmen.</li>
</ul>



<p>Letztendlich kann die Entscheidung, eine Website von einem Profi erstellen zu lassen, eine lohnende Investition sein, die einem enorme Zeit spart. Auch die Qualität und Funktionalität der Website sind dann besser und die Online-Präsenz des Unternehmens oder Projekts sind hoch.</p>



<h3 class="wp-block-heading">Ist es mit der Beauftragung getan?</h3>



<p>Keineswegs! Man sollte sich zumindest bei der Konzeption und Gestaltung aktiv beteiligen. Vor allem, weil es das Aushängeschild des eigenen Projekts bzw. der eigenen Unternehmung ist. Folglich sind viele Fragen hinsichtlich der Gestaltung und der Inhalte zu beantworten, damit der Designer bzw. Entwickler eine Vorstellung davon erhält, was zu tun ist.</p>



<h3 class="wp-block-heading">Was kostet die Realisierung?</h3>



<p>Hier gelten dieselben Regeln wie bei der Erstellung einer Website. Folglich können die Kosten für eine Website je nach Umfang, Funktionalität, Designanforderungen und den gewählten Dienstleistern erheblich variieren. Hier sind einige Faktoren, die bei der Kosteneinschätzung einer Website behilflich sein können:</p>



<ul class="wp-block-list">
<li><strong>Domain und Hosting: </strong>Die Kosten für die Registrierung einer Domain (z. B. www.beispiel.de) variieren je nach TLD (Top-Level-Domain) und Anbieter. Der initiale Kauf kann zwischen 10 und verständlicher Weise unendlich kosten. Die Hosting-Kosten, also die laufenden Kosten, hängen von dem gewählten Hosting-Paket und Anbieter ab. Sie können aber zwischen 5 und mehreren tausend Euro pro Monat liegen.</li>
</ul>



<ul class="wp-block-list">
<li><strong>Website-Typ:</strong> Die Art der Website, die man erstellen möchte, hat einen großen Einfluss auf die Kosten. Eine einfache Website oder ein Blog kann wesentlich günstiger sein als eine komplexe E-Commerce-Plattform oder eine Mitgliederseite. Besonders dann, wenn man eine Ausfallsicherheit voraussetzt. Im größeren Maßstab spricht man dann von SLA&#8217;s (Service Level Agreements). Doch darauf gehe ich in einem separaten Beitrag ein.</li>
</ul>



<ul class="wp-block-list">
<li><strong>Webdesign: </strong>Wenn man ein individuelles Design für die Website wünscht, muss man die Kosten für die Dienstleistungen eines Webdesigners oder einer Agentur berücksichtigen. Die Preise variieren je nach Erfahrung und Spezialisierung des Designers bzw. der Agentur. Diese können von einigen Hundert bis zu mehrstelligen Tausend Euro Beträgen reichen.</li>
</ul>



<ul class="wp-block-list">
<li><strong>CMS und Themes: </strong>Abhängig vom verwendeten Content-Management-System (CMS) und den gewählten Themes oder Vorlagen können weitere Kosten anfallen. Premium-Themes können zwischen 30 und 200 Euro kosten, während einige CMS-Plattformen (z. B. Wix oder Squarespace) monatliche Gebühren erheben.</li>
</ul>



<ul class="wp-block-list">
<li><strong>Plugins und Erweiterungen:</strong> Je nach gewünschter Funktionalität und den verwendeten Plugins können zusätzliche Kosten entstehen. Viele Plugins sind kostenlos, während Premium-Plugins in der Regel eine einmalige oder jährliche Gebühr erfordern. Die Preise bewegen sich dahingehend zwischen 10 und mehreren Hundert Euro.</li>
</ul>



<ul class="wp-block-list">
<li><strong>Entwicklung und Programmierung:</strong> Für individuelle Funktionen oder Anpassungen, die über die Möglichkeiten von vorgefertigten Themes und Plugins hinausgehen, muss man möglicherweise die Dienste eines Entwicklers in Anspruch nehmen. Die Kosten hierfür variieren je nach Komplexität der Anforderungen und der Erfahrung des Entwicklers. Da ist man in der Regel bei einem mittelmäßigen bis guten Programmierer, aus Deutschland, mit einem Stundensatz ab ca. 80 Euro dabei. Alles andere ist auch für den Entwickler selbst nicht wirtschaftlich 😉</li>
</ul>



<ul class="wp-block-list">
<li><strong>Wartung und Support: </strong>Die fortlaufende Wartung und Aktualisierung der Website kann zusätzliche Kosten verursachen. Viele Webdesigner und Agenturen bieten Wartungspakete an, die zwischen mehreren hundert bzw. tausend Euro pro Monat liegen können.</li>
</ul>



<p>Insgesamt können die Kosten für eine Website von weniger als 100 Euro, für eine einfache Do-it-yourself-Lösung, bis zu mehreren Tausend Euro, für eine komplexe, professionell erstellte Website reichen.</p>



<p>Es ist wichtig, die eigenen Bedürfnisse und Anforderungen im Vorfeld sorgfältig zu prüfen und die Kosten verschiedener Optionen zu vergleichen. Um am ende des Tages die beste Lösung für das passende Budget und der eigenen Zielsetzung zu erhalten.</p>



<h3 class="wp-block-heading">Zukünftige Entwicklungen und Trends in WordPress</h3>



<p>Mit der ständigen Weiterentwicklung der Technologie und des Internets ist es wichtig, auf dem Laufenden zu bleiben und sich über neue Funktionen und Trends in der WordPress-Welt zu informieren. Hier sind einige zukünftige Entwicklungen und Trends, die man im Auge behalten kann:</p>



<p><strong>Gutenberg-Editor: </strong>Der Gutenberg-Editor wurde 2018 eingeführt und ist ein wichtiger Schritt in der Weiterentwicklung von WordPress. Der Block-basierte Editor ermöglicht es Benutzern, Inhalte auf einfache und intuitive Weise zu erstellen und zu bearbeiten. Es ist zu erwarten, dass man den Gutenberg-Editor in den kommenden Jahren weiterhin verbessert und erweitert, um noch mehr Flexibilität und Benutzerfreundlichkeit zu bieten.</p>



<p><strong>Künstliche Intelligenz und maschinelles Lernen:</strong> Die Integration von künstlicher Intelligenz (KI) und maschinellem Lernen in WordPress wird voraussichtlich in den nächsten Jahren ebenfalls an Bedeutung gewinnen. Das kann beispielsweise dazu führen, dass Plugins zur Textgenerierung oder Bildoptimierung automatisch bessere Ergebnisse liefern, basierend auf den spezifischen Anforderungen und Präferenzen der Benutzer.</p>



<p><strong>Headless CMS und JAMstack:</strong> Headless CMS ist ein Ansatz, bei dem das Backend (Datenverwaltung und APIs) vom Frontend (Benutzeroberfläche) getrennt ist. Dies ermöglicht es Entwicklern, mehr Kontrolle über die Darstellung von Inhalten zu haben und diese über verschiedene Plattformen hinweg konsistent zu gestalten. In Kombination mit dem JAMstack (JavaScript, APIs und Markup) kann dies zu schnelleren, sichereren und besser skalierbaren Websites führen.</p>



<p><strong>Progressive Web-Apps (PWAs): </strong>PWAs sind Webanwendungen, die das Aussehen und Verhalten von nativen mobilen Apps nachahmen und somit eine bessere Benutzererfahrung bieten. Es ist zu erwarten, dass WordPress in Zukunft verstärkt auf PWAs setzen wird, um eine schnellere und nahtlosere Interaktion zwischen Benutzern und Websites zu ermöglichen.</p>



<p>Indem man diese Trends im Auge behält und sich kontinuierlich weiterbildet, kann man sicherstellen, dass die eigene WordPress-Website immer auf dem neuesten Stand der Technik und den Anforderungen der Benutzer gerecht bleibt.</p>



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



<p>WordPress ist zweifellos eine leistungsstarke und flexible Plattform. Es ermöglicht, sowohl die Realisierung einfacher Blogs als auch komplexer Unternehmenswebsites. Mit der Benutzerfreundlichkeit, Anpassungsfähigkeit und einer engagierten Community, die ständig an Verbesserungen arbeitet, ist es leicht zu verstehen, warum so viele Menschen auf der ganzen Welt WordPress als ihre bevorzugte Lösung für das Erstellen und Verwalten von Websites wählen.</p>



<p>Unabhängig vom technischen Hintergrund oder den Anforderungen, bietet WordPress eine Fülle von Möglichkeiten, um eine Online-Präsenz aufzubauen und zu erweitern. Ich hoffe, dass dieser Beitrag einen detaillierten Überblick über die Möglichkeiten von WordPress gegeben hat und dabei hilft, die eigene Website zu erstellen bzw. zu verwalten. Ansonsten erstelle ich bereits seit meiner Jugend Websites bzw. heutzutage Software und habe mehrere Ausbildungen in dem Bereich. Doch für geschäftliche Anfragen gibt es meine Unternehmenswebsite. Auch mit WordPress erstellt 😉 <br>Auf meinem privaten Blog geht es lediglich um die Wissenserweiterung, Wissensvermittlung und den Austausch.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/01/erklaerung-wordpress/">WordPress &#8211; Das CMS für unendliche Möglichkeiten und grenzenlose Kreativität</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/01/erklaerung-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">312</post-id>	</item>
		<item>
		<title>Selenium &#8211; Zur Automatisierung von Web-Tests für zuverlässige Webanwendungen</title>
		<link>https://ceosbay.com/2022/11/25/selenium/</link>
					<comments>https://ceosbay.com/2022/11/25/selenium/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Fri, 25 Nov 2022 12:36:09 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Automatisierung]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CD]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Core]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java Script]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Selenium Core]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Web-Dev]]></category>
		<category><![CDATA[Werkzeug]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=685</guid>

					<description><![CDATA[<p>Selenium ist ein Open Source Framework für automatisierte Softwaretests von Webanwendungen. Entwickelt und von der Firma ThoughtWorks unter der Apache-2.0-Lizenz veröffentlicht. Mit Selenium kann man Interaktionen, in der Regel Testsequenzen, mit einer Webanwendung aufnehmen und &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/25/selenium/">Selenium &#8211; Zur Automatisierung von Web-Tests für zuverlässige Webanwendungen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Selenium ist ein <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> Framework für automatisierte Softwaretests von Webanwendungen. Entwickelt und von der Firma ThoughtWorks unter der <a href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank" rel="noreferrer noopener">Apache-2.0-Lizenz</a> veröffentlicht.</p>



<p>Mit Selenium kann man Interaktionen, in der Regel Testsequenzen, mit einer Webanwendung aufnehmen und diese Tests automatisiert beliebig oft wiederholen. Es nimmt vor allem Entwicklern sehr viel Arbeit ab, da beispielsweise beim Ausfüllen von Webformularen das Testen wesentlich schneller, flexibler und verlässlicher abläuft.</p>



<p>Selenium basiert rein auf HTML und JavaScript. Für einen schnellen Einstieg kann man direkt die Selenium-IDE z. B. als Browser-Add-on installieren und mit dem Testing beginnen. Der Benutzer interagiert ausschließlich mit Firefox, während Selenium die Aufnahme und das Abspielen der Tests übernimmt.</p>



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



<p>Im Jahr 2003 fing Jason Huggins, der bereits einige Testing Tools entwickelt hatte, mit der Entwicklung von Selenium an.</p>



<p>Damals war ThoughtWorks weltweit vertreten, aber jeder, der sich außerhalb des Hauptsitzes befand, hatte mit enormen Latenzzeiten zu kämpfen. Allein die Erfassung von Stundenzetteln dauerte eine Ewigkeit. Um diese Einschränkungen zu überwinden, beschloss Jasons Team, JavaScript im Browser zu verwenden, um die Arbeit zu erledigen, anstatt den Server zu verwenden.</p>



<p>Zu dem Zeitpunkt war JavaScript noch nicht zum Standard geworden. Der von Jason geschriebene Code lief zwar in dem Browser Internet Explorer aber nicht auf Mozilla. Die Anpassung des Codes für Mozilla, hätten den Code für Internet Explorer beschädigen können und umgekehrt. Ganz abgesehen von all den zukünftigen Updates für beide Browser gleichzeitig. Dies hätte mehr Schaden als Nutzen verursacht.</p>



<p>Jasons Team brauchte eine zuverlässige Methode, um die Anwendung in den Browsern zu testen. Also recherchierten Jason und zwei weitere Kollegen bei ThoughtWorks ob es irgendwelche Tools gab, die sie verwenden konnten. Wie es meistens so ist, war nichts zu finden, was den eigenen Anforderungen entsprach. So ging es an die Entwicklung von Selenium. Das Tool, welches sie programmiert hatten, konnte Daten eingeben und Schaltflächen auf einer Reihe von Webseiten anklicken, um verschiedene Testszenarien zu durchlaufen dies in mehreren Browsern gleichzeitig.</p>



<p>Im Laufe der Zeit schlossen sich immer mehr Mitarbeiter von ThoughtWorks seiner Arbeit an, bis Paul Hammant dem Team beitrat und die Entwicklung des Programms in die Richtung des heutigen &#8222;Selenium Remote Control&#8220; (RC) leitete. Dabei handelt es sich mittlerweile um ein veraltetes Modul.</p>



<p>2007 wechselte Huggins zum Softwarekonzern Google, wo er die Weiterentwicklung und die Fehlerausbesserung des Programms zusammen mit anderen Programmierern vorantrieb. Zur gleichen Zeit entwickelte Simon Stewart bei ThoughtWorks die Browsersteuerung Webdriver (Darüber schreibe ich voraussichtlich auch noch einen Beitrag). Da es für die Entwickler beider Projekte nicht sinnvoll erschien, zwei separate Projekte voranzutreiben, beschlossen sie die beiden Projekte zu &#8222;Selenium Webdriver&#8220; bzw. &#8222;Selenium 2.0&#8220; zu vereinen.</p>



<p>2008 entwickelte Philippe Hanrigou &#8222;Grid&#8220;, welches die Ausführung multipler Instanzen ermöglichte. So konnte man das Tool auf einer unbegrenzten Anzahl von Rechnern laufen lassen. Dies führte dazu, dass die Ausführungszeit für große Teststrukturen drastisch verkürzt wurde.</p>



<h3 class="wp-block-heading">Randnotiz 😀</h3>



<p>Der Name Selenium entstand aus einer scherzhaften Bemerkung von Huggins, der in einer E-Mail seine Mitbewerber Mercury damit verspottete, dass eine Quecksilbervergiftung (Mercury poisoning) durch die Einnahme von Selenium geheilt werden kann.</p>



<h3 class="wp-block-heading">Bestandteile von Selenium</h3>



<h4 class="wp-block-heading">Selenium Core</h4>



<p>Das Core-Modul enthält die komplette Basisfunktionalität von Selenium. Die Testbefehl-API und den TestRunner. Unter Verwendung des Core-Modules kann die TestRunner.html-Webseite mit verschiedenen Browsern geöffnet werden. Dadurch werden Kompatibilitätstests mit verschiedenen Browsertypen ermöglicht.</p>



<h4 class="wp-block-heading">Selenium IDE</h4>



<p>Das Selenium IDE ist ein Add-on für Google Chrome und Mozilla Firefox, mit dem man direkt im Browser durch die Interaktion mit einer Webanwendung Testfälle aufnehmen und wieder abspielen kann. Neben der reinen Capture-Replay-Funktionalität lassen sich weitere Überprüfungen mittels „verify“ und „assert“ einbinden. Zudem wird das schrittweise Abspielen von Testfällen, das Setzen von Breakpoints zur Überprüfung der Testfälle und die Wiederverwendung von geteilten Testabläufen unterstützt. Einzelne Testfälle lassen sich zu Testsuites kombinieren und wiederverwenden.</p>



<h4 class="wp-block-heading">Selenium WebDriver</h4>



<p>Selenium WebDriver ist der Nachfolger von Remote Control. Auf Remote Control werde ich nicht weiter eingehen, da dieses Modul veraltet ist. Es akzeptiert Befehle in Selenese oder über die Client-API und leitet diese an den jeweiligen Browser weiter. Eine Besonderheit bildet HtmlUnit. Ab Version 3.0 ist HtmlUnit nicht mehr Bestandteil des WebDrivers. Es handelt sich dabei um einen Webbrowser ohne grafische Anzeige (Headless). Der Selenium WebDriver ist über den Browser Driver implementiert, wodurch die gängigsten Browser unterstützt werden.</p>



<h4 class="wp-block-heading">Selenium Grid</h4>



<p>Selenium Grid ist eine Erweiterung von RC und ermöglicht die parallele Ausführung von Tests auf mehreren Servern, um die Dauer der Testdurchführung zu verkürzen. Der Client-Treiber verbindet sich dabei mit dem Hub anstatt mit dem Server. Der Hub wiederum leitet die Tests auf freie Selenium-Server weiter.</p>



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



<p>Selenium ermöglich, wie mehrfach angesprochen, das direkte Aufzeichnen diverser Test-Szenarien. Bei der Aufzeichnung solcher Testszenarien ist auf jeden Fall Vorsicht geboten, da sich bei einer unkonzentrierten Arbeitsweise Fehler einschleichen können, die einem nachfolgend eventuell nicht auffallen. Die Nutzung von Testsuites kann Sinn machen, da man dadurch eine Gliederung in separate Module erreicht. Die Auswirkungen von Änderungen innerhalb der Applikation können so einfacher auf bestehende Tests übertragen werden, was zu einer besseren Wartung und Wiederverwendbarkeit führt. Sicherlich kann man auch die Arbeit damit wesentlich optimierter und angenehmer realisieren, indem man einiges automatisiert. Aber dazu vielleicht in der Zukunft mehr.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/25/selenium/">Selenium &#8211; Zur Automatisierung von Web-Tests für zuverlässige Webanwendungen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/11/25/selenium/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">685</post-id>	</item>
		<item>
		<title>GitHub &#8211; Das Zentrum kollaborativer Softwareentwicklung und der Ort, um Code, Ideen und Innovationen zu teilen</title>
		<link>https://ceosbay.com/2022/11/19/erklaerung-github/</link>
					<comments>https://ceosbay.com/2022/11/19/erklaerung-github/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sat, 19 Nov 2022 05:30:00 +0000</pubDate>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Soziale Medien]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[2008]]></category>
		<category><![CDATA[Apfel]]></category>
		<category><![CDATA[BBC]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[Cloud Service]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Repo]]></category>
		<category><![CDATA[Repository]]></category>
		<category><![CDATA[Smartphone]]></category>
		<category><![CDATA[Syntax]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[Versionskontrollsystem]]></category>
		<category><![CDATA[Zusammenarbeit]]></category>
		<category><![CDATA[Zweige]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=563</guid>

					<description><![CDATA[<p>Nachdem ich im gestrigen Beitrag über Git geschrieben habe, widme ich mich heute kurzerhand GitHub. Im Grunde genommen ist es ein Cloud-basierter Dienst, der Entwicklern dabei hilft, Code zu speichern und zu verwalten sowie Änderungen &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/19/erklaerung-github/">GitHub &#8211; Das Zentrum kollaborativer Softwareentwicklung und der Ort, um Code, Ideen und Innovationen zu teilen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Nachdem ich im gestrigen Beitrag über Git geschrieben habe, widme ich mich heute kurzerhand <a href="https://github.com" target="_blank" rel="noreferrer noopener">GitHub</a>. Im Grunde genommen ist es ein Cloud-basierter Dienst, der Entwicklern dabei hilft, Code zu speichern und zu verwalten sowie Änderungen darin zu verfolgen und zu kontrollieren. Im Prinzip macht es ja an sich nicht viel anders als <a href="https://ceosbay.com/2022/11/18/erklaerung-git/">Git</a> &#8211; Oder?</p>



<p>Da die Programmierung so stark auf einer exakten Syntax beruht, sind die Namenskonventionen für Programmiersprachen und Ressourcen alles andere als intuitiv. Java und JavaScript sind in etwa so eng miteinander verwandt wie Äpfel und Birnen, und das Python-Logo mag zwar ein Bild von ineinander verschlungenen Schlangen sein, aber eigentlich ist es nach &#8222;Monty Python&#8217;s Flying Circus&#8220;, einer BBC-Comedy-Serie aus den 70er Jahren benannt. Aber dies ist nur die Spitze des Eisbergs :). Für jemanden, der zum ersten Mal von Git und GitHub hört, ist die offensichtliche Verbindung vielleicht nicht ganz so offensichtlich.</p>



<p>Ist es nun dasselbe? Wenn nicht, sind sie in irgendeiner Weise miteinander verbunden? Oder ist die Verbindung, wie bei Java und JavaScript, nur oberflächlich?</p>



<p>Dies sind durchaus gerechtfertigte Fragen. Immerhin war Microsoft im Jahr 2018 bereit, 7,5 Milliarden Dollar für die Übernahme auszugeben, sodass Entwickler aller Qualifikationsstufen aufhorchen sollten. Die Wahrheit ist, dass Beiden viel enger miteinander verbunden sind als Java und JavaScript &#8211; aber mit einigen wichtigen Unterschieden, die sie voneinander unterscheiden. Nachdem ich gestern bereits über Git geschrieben habe, hier die Eigenschaften von GitHub.</p>



<h3 class="wp-block-heading">Was ist GitHub?</h3>



<p>In der Diskussion wurde oft der Vergleich gezogen, dass GitHub für <a href="https://ceosbay.com/2022/11/18/erklaerung-git/">Git</a> das ist, was Facebook für das tatsächliche Gesicht ihrer Nutzer ist. Folglich ist Facebook eine Art Online-Gesichtsdatenbank und GitHub ist als Hosting-Service für Git-Repositories konzipiert.</p>



<h3 class="wp-block-heading">Und was genau ist ein Git-Repository-Hosting-Dienst? </h3>



<p>Es handelt sich um eine Online-Datenbank, mit der Git-Versionskontrollprojekte außerhalb des lokalen Computers/Servers gemeinsam genutzt werden können. Während Git lokal betrieben bzw. selbst gehosted werden muss, ist GitHub ausschließlich Cloud-basiert und ein kostenpflichtiger Dienst (Die grundlegenden Repository-Hosting-Funktionen sind kostenlos verfügbar, wenn man ein Profil erstellt ;). Was GitHub zu einer beliebten Wahl für <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Projekte macht).</p>



<p>Das liegt daran, dass es nicht nur alle Funktionen und Vorteile von Git bietet, sondern auch die Grundfunktionen von Git erweitert. Es bietet eine äußerst intuitive, GUI (Graphical User Interface &#8211; Grafische Benutzeroberfläche) und stellt Programmierern integrierte Kontroll- und Aufgabenverwaltungswerkzeuge zur Verfügung. Zusätzliche Funktionen können über den Marketplace-Dienst implementiert werden. Und da GitHub cloudbasiert ist, kann jede autorisierte Person von jedem Computer oder Smart-Device, ja, auch mit dem Smartphone, überall auf der Welt auf die Git-Repositories zugreifen (Vorausgesetzt, die Person verfügt über eine Internetverbindung).</p>



<p>Man kann darüber den eigenen Code mit anderen teilen und im Zuge der Kollaboration die Möglichkeit nutzen, Überarbeitungen an den verschiedenen Git-Zweigen vorzunehmen. Auf diese Weise können sich ganze Teams in Echtzeit in diversen Projekten abstimmen. Wenn Änderungen vorgenommen werden, werden neue Zweige erstellt, so dass das Team den Code weiter überarbeiten kann, ohne die Arbeit der anderen zu überschreiben. Diese Zweige sind wie Kopien, und die darin vorgenommenen Änderungen werden nicht in den Hauptverzeichnissen auf den Rechnern der anderen Benutzer wiedergegeben, es sei denn, die Benutzer entscheiden sich dafür, die Änderungen zu pushen (schieben) oder zu pullen (ziehen), um sie zu übernehmen. Es gibt auch eine Desktop-Anwendung, die einige zusätzliche Funktionen für erfahrene Entwickler bietet. </p>



<p>Es gibt auch andere Git-Repository-Hosting-Dienste wie GitLab, BitBucket und SourceForge, die allesamt brauchbare Alternativen darstellen und mit denen ich auch schon in verschiedenen Projekten gearbeitet habe. GitLab bietet sogar eine integrierte Option, mit der die Nutzer ihre Projekte direkt nach GitLab migrieren können.</p>



<h3 class="wp-block-heading">Tabellarische Gegenüberstellung</h3>



<figure class="wp-block-table"><table><tbody><tr><td>Git ist eine Software.</td><td>GitHub ist ein Dienst.</td></tr><tr><td>Git ist ein Befehlszeilenwerkzeug</td><td>GitHub hat eine grafische Benutzeroberfläche</td></tr><tr><td>Git wird lokal auf dem System installiert</td><td>GitHub wird im Internet gehostet</td></tr><tr><td>Git wird von Linux verwaltet</td><td>GitHub wird von Microsoft verwaltet.</td></tr><tr><td>Git konzentriert sich auf Versionskontrolle und Code-Sharing</td><td>GitHub konzentriert sich auf das zentralisierte Hosting von Quellcode</td></tr><tr><td>Git ist ein Versionskontrollsystem zur Verwaltung der Quellcode-Historie</td><td>GitHub ist ein Hosting-Dienst für Git-Repositories</td></tr><tr><td>Git wurde erstmals 2005 veröffentlicht</td><td>GitHub wurde 2008 eingeführt</td></tr><tr><td>Git hat keine Funktion zur Benutzerverwaltung</td><td>GitHub verfügt über eine integrierte Benutzerverwaltungsfunktion</td></tr><tr><td>Git ist <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-lizenziert</td><td>GitHub umfasst eine kostenlose und eine kostenpflichtige Ebene</td></tr><tr><td>Git hat eine minimale externe Werkzeugkonfiguration</td><td>GitHub hat einen aktiven Marktplatz für die Integration von Tools</td></tr><tr><td>Git bietet eine Desktop-Oberfläche namens Git Gui</td><td>GitHub bietet eine Desktop-Oberfläche namens GitHub Desktop</td></tr><tr><td>Git konkurriert mit CVS, Azure DevOps Server, Subversion, Mercurial, etc.</td><td>GitHub konkurriert mit GitLab, Git Bucket, AWS Code Commit, usw.</td></tr></tbody></table><figcaption class="wp-element-caption">Tabellarischer Vergleich Git und GitHub</figcaption></figure>



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



<p>Alles in allem ist Git ein Versionskontrollsystem, mit dem man den Quellcode verwalten und verfolgen kann. GitHub ist ein Cloud-basierter Hosting-Dienst, mit dem man die Git-Repositories verwalten kann. Wenn man ein <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Projekt hat, welches Git verwendet, dann soll es helfen, dieses einfacher zu verwalten.</p>



<p>Schließlich sind die Namenskonventionen in der Welt der Programmierung nicht immer intuitiv. Deshalb lohnt es sich, die Verbindungen und Unterschiede zwischen den ähnlich benannten Lösungen zu erkennen. Beide bieten Programmierern wertvolle Versionskontrollfunktionen, sodass man laufend Software erstellen kann, ohne die Befürchtung zu haben, dass alles durcheinander kommt, da viele Menschen daran arbeiten. In diesem Fall verderben viele Köche nicht wirklich den Brei. GitHub geht nur ein bisschen weiter als Git. Es bietet ein paar Funktionen mehr sowie Ressourcen wie den Online-Speicherplatz und erleichtert die Zusammenarbeit an Projekten durch eine einfach zu bedienende Benutzeroberfläche.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/19/erklaerung-github/">GitHub &#8211; Das Zentrum kollaborativer Softwareentwicklung und der Ort, um Code, Ideen und Innovationen zu teilen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/11/19/erklaerung-github/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">563</post-id>	</item>
		<item>
		<title>Git &#8211; Die Codeverwaltung für effiziente Zusammenarbeit revolutionieren</title>
		<link>https://ceosbay.com/2022/11/18/erklaerung-git/</link>
					<comments>https://ceosbay.com/2022/11/18/erklaerung-git/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Fri, 18 Nov 2022 11:30:00 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Arch]]></category>
		<category><![CDATA[Branch]]></category>
		<category><![CDATA[Distribution]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[equo]]></category>
		<category><![CDATA[Fork]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[GitKraken]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[Kollaboration]]></category>
		<category><![CDATA[Kraken]]></category>
		<category><![CDATA[Lizenz]]></category>
		<category><![CDATA[Manager]]></category>
		<category><![CDATA[Merge]]></category>
		<category><![CDATA[Offener]]></category>
		<category><![CDATA[Offiziell]]></category>
		<category><![CDATA[Ops]]></category>
		<category><![CDATA[Pakete]]></category>
		<category><![CDATA[Paketmanager]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[Quelle]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[Repo]]></category>
		<category><![CDATA[Repository]]></category>
		<category><![CDATA[Repository Manager]]></category>
		<category><![CDATA[Sabayon]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[Source Control Manager]]></category>
		<category><![CDATA[Stupid Content Tracker]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Versionskontrolle]]></category>
		<category><![CDATA[Zusammenarbeit]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=609</guid>

					<description><![CDATA[<p>Git ist eine freie und Open Source Software für die verteilte Versionskontrolle. Es hilft Entwicklern dabei, Code zu speichern, zu verwalten, Änderungen darin zu verfolgen und zu kontrollieren. Zu den weiteren Zielen gehören Geschwindigkeit, Datenintegrität &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/18/erklaerung-git/">Git &#8211; Die Codeverwaltung für effiziente Zusammenarbeit revolutionieren</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Git ist eine freie und <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> Software für die verteilte Versionskontrolle. Es hilft Entwicklern dabei, Code zu speichern, zu verwalten, Änderungen darin zu verfolgen und zu kontrollieren. Zu den weiteren Zielen gehören Geschwindigkeit, Datenintegrität und Unterstützung für verteilte, nicht-lineare Arbeitsabläufe (Dabei können tausende von parallelen Zweigen auf verschiedenen Systemen entstehen &#8211; Dies ist keine Metapher sondern wörtlich gemeint! 😉 ).</p>



<p>Git wurde ursprünglich von Linus Torvalds im Jahr 2005 für die Entwicklung des Linux-Kernels entwickelt, wobei andere Kernel-Entwickler zur anfänglichen Entwicklung wesentliche Beiträge geleistet haben. Seit 2005 ist Junio Hamano der Hauptverantwortliche. Wie bei den meisten anderen verteilten Versionskontrollsystemen und im Gegensatz zu den meisten Client-Server-Systemen ist jedes Git-Verzeichnis auf jedem Computer ein vollwertiges Repository mit einer vollständigen Historie und vollständigen Versionsverfolgungsfunktionen, unabhängig vom Netzwerkzugang oder einem zentralen Server. Git ist, wie Anfangs angesprochen, freie und <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source Software</a>, die unter der <a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html" target="_blank" rel="noreferrer noopener">GPL-2.0-Lizenz</a> vertrieben wird.</p>



<h3 class="wp-block-heading">Eine kurze Anekdote über Git und dessen Abbreviatur</h3>



<p>Linus Torvalds witzelte sarkastisch über den Namen git (was im britischen Slang &#8222;unangenehme Person&#8220; bedeutet): &#8222;Ich bin ein egoistischer Mistkerl und benenne alle meine Projekte nach mir selbst. Erst &#8222;Linux&#8220;, jetzt &#8222;Git&#8220;. Die Manpage beschreibt Git als &#8222;the stupid content tracker&#8220; Die Read-me-Datei des Quellcodes führt weiter aus:<br>&#8222;Git&#8220; kann alles Mögliche bedeuten, je nach Laune (Ich werde dies in der englischen Sprache belassen, da es so wahrscheinlich mehr Sinn macht 😉 ).</p>



<ul class="wp-block-list">
<li>Random three-letter combination that is pronounceable, and not actually used by any common UNIX command. The fact that it is a mispronunciation of &#8222;get&#8220; may or may not be relevant.</li>



<li>Stupid. Contemptible and despicable. Simple. Take your pick from the dictionary of slang.</li>



<li>&#8222;Global information tracker&#8220;: you&#8217;re in a good mood, and it actually works for you. Angels sing, and a light suddenly fills the room.</li>



<li>&#8222;Goddamn idiotic truckload of sh*t&#8220;: when it breaks.</li>
</ul>



<p>Um Git zu verstehen sind im Prinzip 8 Begriffe relevant. Repository (Kurz: Repo), die Versionskontrolle, Fork bzw. Forking (Gabel bzw. Gabelung), Branch (Verzweigung), Stage (Phase oder Stadium), Modified (modifiziert), Commit (Verbindlichkeit) und Merge (Zusammenführung). Diese Begriffe werde ich nachfolgend beschreiben.</p>



<h3 class="wp-block-heading">Was ist eine Repository?</h3>



<p>Eine Repository, kurz Repo genannt, ist ein Speicherort für Softwarepakete. Oft wird auch ein Inhaltsverzeichnis zusammen mit Metadaten (Metainformationen bzw. -daten sind strukturierte Daten, die Informationen über Merkmale anderer Daten enthalten) gespeichert. Eine Software-Repository wird in der Regel von Source-Control-Managern (SCM) oder Repository-Managern (Ein Repository-Manager ist eine dedizierte Server-Anwendung, die für die Verwaltung von Repositories mit binären Komponenten entwickelt wurde) verwaltet &#8211; Dazu teilweise mehr in der Versionskontrolle und in späteren Beiträgen. Paketmanager ermöglichen die automatische Installation und Aktualisierung von Repositories (Deshalb auch &#8222;Pakete&#8220; genannt).</p>



<p>Viele Organisationen und Softwarehersteller unterhalten zu diesem Zweck Server im Internet, teilweise kostenlos oder gegen eine Gebühr. Repositories können können verschiedene Programmiersprachen, Betriebssysteme, Spiele oder andere Anwendungen sowie Dokumente und Daten beherbergen. Die Betreiber solcher Repositories stellen in der Regel ein Paketverwaltungssystem zur Verfügung. Folglich Werkzeuge, mit denen Softwarepakete aus den Repositories gesucht, installiert und anderweitig bearbeitet werden können. Viele Linux-Distributionen (Der Begriff Distribution stammt aus dem Lateinischen &#8222;distributio&#8220; und hat im Zusammenhang mit Software zwei unterschiedliche Bedeutungen: Softwarepaketierung und Softwareverteilung) verwenden z. B. das Advanced Packaging Tool (APT), das häufig in Debian-basierten Distributionen zu finden ist oder yum in Red Hat-basierten Distributionen. Es gibt auch mehrere unabhängige Paketverwaltungssysteme, wie z. B. pacman, dass in Arch Linux verwendet wird und equo, welches in Sabayon Linux zu finden ist. Ich bin primär mit Debian-basierten Distributionen unterwegs. Werde ich aber in zukünftigen Beiträgen ausführlicher thematisieren.</p>



<h3 class="wp-block-heading">Was ist Versionskontrolle?</h3>



<p>Die Versionskontrolle unterstützt Entwickler bei der Verfolgung und Verwaltung von Änderungen am Quellcode eines Softwareprojekts. Wenn ein Projekt und die Anzahl der Programmierer wachsen, wird die Versionskontrolle unabdingbar. Doch in der Regel kommen sowohl bei kleineren als auch größeren Softwareprojekten mehrere Personen zum Einsatz, die gemeinsam an dem Quellcode arbeiten. Wenn man beispielsweise als Core-Entwickler an einem bestimmten Teil der Codebasis arbeiten möchte, ist es nicht förderlich oder effizient, wenn der Quellcode direkt bearbeitet wird, da zeitgleich noch andere die an dem Projekt beteiligt sind und daran arbeiten. Dies kann am Ende des Tages für ein enormes Durcheinander sorgen 😀</p>



<p>Da man auf dieses Durcheinander gut verzichten kann, arbeitet man als Entwickler mit einer Versionskontrolle &#8222;sicher&#8220; durch branching (Verzweigungen) und merging (Zusammenführungen). &#8222;Sicher&#8220; in Anführungszeichen, da es auch da einige Stolpersteine gibt 😉</p>



<p>Beim branching dupliziert ein Entwickler den Teil des Quellcodes (Das so genannte Repository bzw. die Repo), der für ihn relevant ist und kann die Änderungen genau an diesem Teil des Codes vornehmen, ohne den Rest des Projekts zu beeinträchtigen. Sobald der Entwickler seinen Teil des Codes ordnungsgemäß fertiggestellt hat, kann er diesen Code wieder in den Hauptquellcode mergen (einbinden), um es offiziell zu machen. All diese Änderungen werden protokolliert, kommentiert und können bei Bedarf eingesehen, kontrolliert oder rückgängig gemacht werden.</p>



<h3 class="wp-block-heading">Was ist Fork. bzw. Forking?</h3>



<p>Ein Fork ist eine Kopie einer Repository. Das Forken einer Repository ermöglicht es, frei mit Änderungen zu experimentieren, ohne das Originalprojekt zu beeinträchtigen. Dieser Begriff wird auch anderweitig genutzt, doch darauf werde ich jetzt nicht weiter eingehen 😀</p>



<h3 class="wp-block-heading">Was ist Branch bzw. Branching?</h3>



<p>Ein Branch (Zweig) ist ein hervorstehender Teil eines Baumes. Etwas, dass aus einem Hauptteil herausragt. So, auch in unserem Kontext. Ein Zweig stellt eine unabhängige Entwicklungslinie dar. Zweige dienen als Abstraktion für den Prozess der Bearbeitung (Stage/Commit). Man kann sie sich als eine Möglichkeit vorstellen, ein neues Arbeitsverzeichnis, einen Bereitstellungsbereich und/oder einen Projektverlauf anzufordern.</p>



<h3 class="wp-block-heading">Was ist Modified bzw. Modifying?</h3>



<p>Modified (Geändert) bedeutet, dass die Datei(en) geändert wurden aber noch nicht in die Datenbank bzw. Repository übertragen wurden.</p>



<h3 class="wp-block-heading">Was ist Stage bzw. Staging?</h3>



<p>Staged (Phase/Stadium) bedeutet, dass eine geänderte Datei in ihrer aktuellen Version markiert wurde, um sie in dem nächsten Commit-Snapshot (Schnappschuss) zu übernehmen.</p>



<h3 class="wp-block-heading">Was ist Commit bzw. Committing ?</h3>



<p>Commits (Verbindlichkeiten) sind die zentralen Bausteineinheiten einer Git-Projektzeitleiste. Sie können als Schnappschüsse oder Meilensteine entlang der Zeitachse eines Git-Projekts betrachtet werden. Commits werden mit dem Befehl &#8222;git commit&#8220; erstellt, um den Zustand eines Projekts zu diesem Zeitpunkt festzuhalten. Im Endeffekt wie das Zwischenspeichern mit F5 bei Spielen oder Strg + S bei der regulären Arbeit am Computer. In der Betrachtungsweise einiger interessanter und manchmal nervtötender Zeitgenossen &#8211; Lediglich etwas fundamentaler 😉</p>



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



<p>Mit dem Merging-Befehl fügt Git einen geforkten (aufgegabelten) Verlauf wieder zusammen. Mit dem Befehl &#8222;git merge&#8220; kann man die unabhängigen Entwicklungslinien, die mit dem Befehl &#8222;git branch&#8220; erstellt wurden, in einen einzigen Zweig integrieren.</p>



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



<p>Alles in allem sollte dies für eine kurze Erklärung reichen. In naher Zukunft werde ich auch ein Tutorial über die Nutzung von Git schreiben. Sicherlich gibt es heutzutage auch kommerzielle Cloud-Lösungen wie GitHub oder GitKraken, die diese Schritte auf wenige Mausklicks reduzieren und so eine nahtlosere Zusammenarbeit ohne etwaige Vorkenntnisse ermöglichen, doch dies werde ich auch in zukünftigen Beiträgen thematisieren.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/18/erklaerung-git/">Git &#8211; Die Codeverwaltung für effiziente Zusammenarbeit revolutionieren</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/11/18/erklaerung-git/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">609</post-id>	</item>
		<item>
		<title>Mastodon &#8211; Open Source Twitter Alternative</title>
		<link>https://ceosbay.com/2022/11/15/open-source-twitter-alternative-mastodon/</link>
					<comments>https://ceosbay.com/2022/11/15/open-source-twitter-alternative-mastodon/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Tue, 15 Nov 2022 12:40:50 +0000</pubDate>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Soziale Medien]]></category>
		<category><![CDATA[Anwendungsentwicklung]]></category>
		<category><![CDATA[Applikation]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[Clone]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Federation]]></category>
		<category><![CDATA[Finanzamt]]></category>
		<category><![CDATA[Förderation]]></category>
		<category><![CDATA[Gemeinnützig]]></category>
		<category><![CDATA[Gesellschaft]]></category>
		<category><![CDATA[gGmbH]]></category>
		<category><![CDATA[GmbH]]></category>
		<category><![CDATA[Gründungsurkunde]]></category>
		<category><![CDATA[Haftung]]></category>
		<category><![CDATA[Mastodon]]></category>
		<category><![CDATA[Medien]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[Post]]></category>
		<category><![CDATA[Posting]]></category>
		<category><![CDATA[Protonmail]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Twitter-Klon]]></category>
		<category><![CDATA[UX-Designer]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=556</guid>

					<description><![CDATA[<p>Aufgrund der aktuellen Gegebenheiten bei Twitter, sind in jüngster Zeit viele Nutzer zu Mastodon gewechselt. Einer Open Source-Twitter-Alternative, die sich als Microblog zu erkennen gibt. Seit dem 27. Oktober hat Mastodon viele neue Nutzer gewonnen &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/15/open-source-twitter-alternative-mastodon/">Mastodon &#8211; Open Source Twitter Alternative</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Aufgrund der aktuellen Gegebenheiten bei Twitter, sind in jüngster Zeit viele Nutzer zu Mastodon gewechselt. Einer <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a>-Twitter-Alternative, die sich als Microblog zu erkennen gibt. Seit dem 27. Oktober hat Mastodon viele neue Nutzer gewonnen und damit seine Nutzerbasis signifikant vergrößert. Zum Zeitpunkt der Erstellung dieses Beitrags, also am 15.11.2022, 12:02 Uhr, beträgt die Anzahl der monatlich aktiven Nutzer stolze ca. 1,8 Millionen.</p>



<h3 class="wp-block-heading">Was ist Mastodon?</h3>



<p>Mastodon, 2016 von dem deutschen Softwareentwickler, Eugen Rochko, aus Berlin, gegründet. Im Gegensatz zu den beliebten kommerziellen Social-Media-Plattformen, ist Mastodon <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a>. Folglich dient die Anwendung im Idealfall dem Ziel, der Öffentlichkeit einen Mehrwert zu schaffen und nicht primär irgendwelchen Aktionären. </p>



<p>Den Begriff <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> habe ich bereits mehrfach in meinen Beiträgen erwähnt und werde es in einem der nachfolgenden Beiträge genauer erklären. Laut seiner Aussagen in seinem Blog arbeitete Eugen Rochko 5 Jahre lang als Einzelunternehmer an dem Projekt, mit dem er unter anderem auch seinen Lebensunterhalt bestritt, bevor er sich als Angestellter des gegründeten Unternehmens ein Gehalt ausgezahlt hat. 8 Jahre sollen die juristischen Angelegenheiten für die ordnungsgemäße Gründung gefressen haben.</p>



<p>(Hatte ich schon erwähnt, wie toll Deutschland als Gründungsland und Tech-Standort funktioniert? 😉) </p>



<p>Laut seiner Aussagen, konnten mehr Ressourcen für Dinge wie die Einstellung zusätzlicher Entwickler, UX-Designer, die Entwicklung offizieller Apps usw. aufgebracht werden. Im Juni 2021 konnte dann die Mastodon gGmbH (gemeinnützige Gesellschaft mit beschränkter Haftung) offiziell eingetragen werden. Eine kurze Erklärung, was eine gGmbH ist, erfolgt gleich im Anschluss.</p>



<h3 class="wp-block-heading">Was ist eine gGmbH?</h3>



<p>Eine gemeinnützige Gesellschaft mit beschränkter Haftung ist im Grunde genommen ähnlich strukturiert wie eine gewinnorientierte Gesellschaft mit beschränkter Haftung. </p>



<p>Mit ein paar wichtigen Unterschieden:</p>



<ul class="wp-block-list">
<li>Die Gründungsurkunde der Gesellschaft ist so verfasst, dass die Tätigkeit der Gesellschaft auf Ziele ausgerichtet ist, die der Allgemeinheit zugute kommen</li>



<li>Die Gesellschafter dürfen keine Einkünfte aus der Tätigkeit der Gesellschaft erhalten und können höchstens die Gelder abheben, die sie ursprünglich eingezahlt haben</li>



<li>Die Mitarbeiter dürfen keine außerordentlich hohen Löhne erhalten und die Gesellschaft kann Spenden erhalten, die dann steuerfrei sind, obwohl alle anderen Einkünfte, die nicht der Definition einer Spende entsprechen, weiterhin mit verschiedenen Steuern belegt werden</li>



<li>Um eine solche juristische Person zu gründen, muss die Gründungsurkunde einer Prüfung durch das Finanzamt standhalten und die Gründer müssen ein Startkapital von 25.000 EUR einzahlen, wie es bei einer GmbH üblich ist.</li>
</ul>



<h3 class="wp-block-heading">Weiter mit &#8222;Was Mastodon eigentlich ist&#8230;&#8220;</h3>



<p>Mastodon mag auf den ersten Blick wie ein Twitter-Klon aussehen aber das System hinter der Microblogging-Plattform ist etwas komplexer. Der Dienst ist dezentralisiert. Nicht im Sinne einer Blockchain. Die werde ich auch noch genauer unter die Lupe nehmen und in einem Beitrag thematisieren. Sie beschreibt sich selbst als &#8222;Federation&#8220;. Mit Föderation, in diesem Kontext, ist eine Form der Dezentralisierung gemeint, die anstelle eines zentralisierten Dienstes, den alle Menschen nutzen, mehrere Dienste, die von einer beliebigen Anzahl von Menschen zur Verfügung gestellt und genutzt werden kann. </p>



<p>Eine Mastodon-Webseite kann selbstständig funktionieren. Genau wie bei einer herkömmlichen Webseite, melden sich die Benutzer*Innen an, posten Nachrichten, laden Bilder hoch und sprechen miteinander. Im Gegensatz zu einer herkömmlichen Webseite können jedoch Mastodon-Webseiten mit den Nutzern interagieren und auch ihre Nutzer können untereinander kommunizieren. So als ob man eine E-Mail von einem Gmail-Konto an jemanden schickt, der bei beispielsweise bei Fastmail, ProtonMail oder einem anderen E-Mail-Anbieter registriert ist. Solange man die Adresse des Empfängers kennt, kann man jeden auf einer beliebigen Seite mit seiner Adresse erwähnen oder benachrichtigen.</p>



<h3 class="wp-block-heading">Wie läuft die Sache mit der Registrierung/Anmeldung?</h3>



<p>Wenn man ein Konto zum ersten Mal erstellt, wählt man einen Server aus (Ähnlich wie bei der Eröffnung eines E-Mail-Kontos bei einem Provider), der die Adresse des Profils generiert. Wenn man sich zum Beispiel über den &#8222;ioc.exchange&#8220; bei Mastodon anmeldet, lautet die Adresse @[Benutzername]@ioc.exchange. Unabhängig davon, bei welchem Server man sich anmeldet, kann man mit Benutzern von anderen Servern kommunizieren, so wie Gmail-Nutzer beispielsweise Protonmail-Nutzer anschreiben und umgekehrt. Allerdings kann es sein, dass einige Server andere Server blockieren, da sie nicht so ganz miteinander klarkommen (Gründe hierfür sind beispielsweise Interessenkonflikte). Folglich kann mit niemandem eines blockierten Servers kommunizieren werden.</p>



<h3 class="wp-block-heading">Das Mastodon Jargon bzw. die Fachsprache</h3>



<p>Mastodon-Benutzer bezeichnen die einzelnen Gemeinschaften im Allgemeinen als &#8222;Instanzen&#8220; oder Server. Diese Mastodon-Server können von Einzelpersonen, Gruppen oder Organisationen erstellt und betrieben werden, die jeweils ihre eigenen Regeln für die Anmeldung von Benutzern sowie ihre eigenen Moderationsrichtlinien haben. Bei einigen Servern kann jeder mitmachen, während andere nur auf Einladung oder mit Genehmigung eines Administrators betrieben werden. Ein Server für professionelle Wissenschaftler verlangt beispielsweise, dass die Bewerber einen Link zu ihrer Forschung angeben, um zu zeigen, dass sie tatsächlich in einem professionellen akademischen Kontext bzw. Umfeld arbeiten.</p>



<p>Die Wahl des Servers, auf dem man das eigene Konto registrieren möchte, mag aufwändig erscheinen &#8211; Aber es ist möglich, das Konto später wieder zu verschieben. Aus diesem Grund ist die Auswahl des Servers nicht fundamental bzw. unumkehrbar. Außerdem kann man nach wie vor anderen Personen folgen, unabhängig davon, auf welchem Server man sich befindet.</p>



<p>Mastodon verwendet ein standardisiertes, offenes Protokoll zur Umsetzung des Verbunds. Es wird als ActivityPub bezeichnet. Jede Software, die von und durch die Federation über ActivityPub implementiert wird, kann nahtlos mit Mastodon kommunizieren, genau wie Mastodon-Webseiten miteinander kommunizieren.</p>



<p>Das Fediverse (&#8222;federated universe&#8220;) ist die Bezeichnung für alle Webseiten, die über ActivityPub und das www (World Wide Web) miteinander kommunizieren können. Dazu gehören alle Mastodon-Server und auch andere Implementierungen wie:</p>



<ul class="wp-block-list">
<li>Pleroma &#8211; Ein modulares Microblogging-System</li>



<li>Pixelfed &#8211; Eine föderierte Plattform für die gemeinsame Nutzung von Bildern, mit der man Medienbeiträge teilen und konsumieren kann</li>



<li>Misskey &#8211; Das neben Microblogging auch ein anpassbares Dashboard enthält</li>



<li>PeerTube &#8211; Mit dem man Videos in Kanäle hochladen kann</li>



<li>Plume &#8211; Mit dem man längere Artikel veröffentlichen kann</li>



<li>Und viele mehr, da es sich um individuelle und persönliche Webseiten handelt</li>
</ul>



<p>Mastodons Äquivalent von Tweets werden als &#8222;Toots&#8220; bezeichnet. Doch dieser Begriff scheint nicht mehr so beliebt zu sein und wird von den Nutzern eher als &#8222;Posts&#8220; bezeichnet. Dennoch wird der Begriff &#8222;Toot&#8220; immer noch auf älteren Clients von Drittanbietern verwendet. </p>



<p>Es unterstützt eine Reihe von Twitter-Konventionen wie Antworten, Retweets, Favoriten, Lesezeichen und Hashtags. Aber Retweets werden als &#8222;Boosts&#8220; bezeichnet und es unterstützt nicht das Konzept der Zitat-Tweets. Dies war eine bewusste Entscheidung des Gründers. Seiner Meinung nach ermutigt es das Individuum mit der Audienz zu interagieren, statt mit einer spezifischen Person.</p>



<p>Auch die Mastodon-Listen scheinen etwas anders zu funktionieren als bei Twitter, da man nur Personen zu einer Liste hinzufügen kann, denen man bereits folgt. Und Direktnachrichten auf Mastodon sind nur Beiträge mit dem @Benutzernamen, keine privaten Nachrichten, die in einem DM-Posteingang landen.</p>



<h3 class="wp-block-heading">Was klassifiziert Mastodon als Open Source?</h3>



<p>Jeder kann Mastodon herunterladen, verändern und auf seinem eigenen Server installieren &#8211; Das Urheberrecht liegt nicht bei den Entwicklern der Plattform.</p>



<p>Dies bedeutet jedoch nicht, dass man den Code von Mastodon ohne Quellenangabe einfach so übernehmen kann, wie die Social-Media-Plattform des ehemaligen Präsidenten Donald Trump, &#8222;Truth&#8220; im Jahr 2021, die Runde machte. Freie Software steht in der Regel unter der Lizenz <a rel="noreferrer noopener" href="https://www.fsf.org/news/agplv3-pr" target="_blank">AGPL</a>. Diese erlaubt es, den Code zu benutzen und zu verändern, wenn man sich dabei an die Lizenzvereinbarungen hält. Die AGPL-Lizenz schreibt vor, dass die Software auch nach ihrer Veränderung öffentlich zugänglich bleibt. Das soll verhindern, dass kommerzielle Anbieter*Innen sich den Code aneignen, ohne der Allgemeinheit etwas zurückzugeben.</p>



<h3 class="wp-block-heading">Gibt es im Vergleich zu Twitter irgendwelche Nachteile?</h3>



<p>Soweit ich es beurteilen kann, ist die Nutzerbasis von Mastodon im Vergleich zu Twitter immer noch sehr klein. Es ist vergleichsweise auch weitaus weniger intuitiv zu bedienen, da es nicht für ein großes globales Publikum wie Twitter ausgelegt ist. Dies kann sich aber mit der Zeit ändern. Vor allem dann, wenn sich dem Projekt mehr Entwickler anschließen.</p>



<p>Und da die Ausstattung, damit sind die Hardware-Ressourcen gemeint, von Mastodon noch nicht so gut ist wie die von Twitter, funktioniert es scheinbar hin und wieder nicht so gut. In den letzten Tagen war der Dienst zeitweise träge, wenn nicht sogar völlig zum Stillstand gekommen, da sich die Server an den massiven Zustrom neuer Nutzer erst anpassen mussten. Dies kann sich auch auf andere Bereiche der Nutzung auswirken. Vor allem wenn man versucht, auf die Schnelle eine Reihe von Freunden auf dem Dienst zu folgen, und feststellt, dass man zwischendurch warten muss, weil Restriktionen auftreten.</p>



<h3 class="wp-block-heading">Was sind die Vorteile von Mastodon im Vergleich zu Twitter?</h3>



<p>Allem voran, es ist <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> und vor allem dezentral. Ob es dem Twitter-Hype gleichkommt, kann ich mir persönlich nicht vorstellen. Einige Nutzer können Mastodon jedoch Twitter vorziehen, da es von Natur aus individueller anpassbar ist. Im Gegensatz zu Twitter haben die einzelnen Communities unterschiedliche Inhaltsrichtlinien, die eine Vielzahl von unterschiedlichen Nutzererfahrungen ermöglichen, die man so bei Twitter nicht hat. Und obwohl die Nutzerbasis auf Mastodon kleiner ist, kann dies manchmal zu persönlicheren und direkteren Gesprächen führen, als wenn man sozusagen ins Leere tweetet.</p>



<h3 class="wp-block-heading">Wie steht es mit der Sicherheit?</h3>



<p>Mastodon ist das, was man daraus macht. Aufgrund des dezentralen Charakters von Mastodon, kann man den eigenen Wünschen entsprechend, ein kontrolliertes Online-Erlebnis, mit strengeren Schutzmaßnahmen gegen Belästigungen erschaffen, wenn man einen Server erstellt. Einige Mastodon Funktionen existieren explizit für die Eindämmung von Belästigungen. Man kann zum Beispiel nur nach Hashtags suchen. Nicht aber nach Wörtern, die in einem Beitrag vorkommen. Wenn man also möchte, dass ein Beitrag auffindbar ist, kann man es taggen. Wenn das Publikum eingeschränkt werden soll, kann niemand den Tweet über beispielsweise &#8222;Teureres Parfüm&#8220; finden, indem nach &#8222;Teureres Parfüm&#8220; gesucht wird, wenn es nicht getagged wurde.</p>



<p>Eine textbasierte Suche kann jedoch Beiträge anzeigen, die man selbst geschrieben, favorisiert oder geboosted hat. Auch sind die Beiträge auffindbar, in denen jemand die eigene Person erwähnt oder getagged hat..</p>



<p>Der Dienst verfügt über eine weitere praktische Funktion, die es Nutzern ermöglicht, direkt im Erstellungsfeld eine Inhaltswarnung zu einem Beitrag hinzuzufügen. Einige Mastodon-Nutzer haben sich in letzter Zeit einen Spaß daraus gemacht und andere gewarnt, dass ihr Beitrag ein Twitter-Drama zum Inhalt hat.</p>



<h3 class="wp-block-heading">Können Bilder/Medien gepostet werden?</h3>



<p>Wie bereits erwähnt, unterstützt Mastodon viele Twitter-Konventionen. Die Unterstützung für Medien ist jedoch relativ begrenzt. Twitter untertützt eine Vielzahl von Medien und anderen Daten, die man an Tweets angehängten kann. Einschließlich der eignen sozialen &#8222;Spaces&#8220;, die Audio, Fotos, Videos, GIFs, Umfragen, genaue Ortsangaben und experimentelle &#8222;Status&#8220;-Tags enthalten. Mastodon unterstützt lediglich Bilder, Videos, Audio und Umfragen.</p>



<p>Man kann einem Beitrag bis zu vier Bilder mit einer Größe von bis maximal 8 Megabyte hinzufügen. Videos und Audiodateien können beliebig lang sein, die Dateigröße ist jedoch auf 40 Megabyte begrenzt.</p>



<h3 class="wp-block-heading">Kann man privat Freunden schreiben/posten?</h3>



<p>Ähnlich wie bei Twitter soll es den Nutzern möglich sein, die Sichtbarkeit der Tweets durch die &#8222;Circle-Funktion&#8220; einzuschränken. So bietet Mastodon die Möglichkeit, die Privatsphäre eines Beitrags zum Zeitpunkt der Erstellung festzulegen. Beiträge können so eingestellt werden, dass sie für alle sichtbar sind. Auch so, dass sie nicht gelistet werden. Man kann sie von den &#8222;discovery features&#8220; ausschließen. Nur für die eignen Follower sichtbar machen oder nur für die ausschließlich erwähnten Nutzer sichtbar machen.</p>



<h3 class="wp-block-heading">Kann man wie bei &#8222;Twitter-Blue&#8220; verifiziert werden?</h3>



<p>Es gibt kein universelles Verifizierungssystem wie bei Twitter. Einige Server überprüfen die Benutzeranmeldungen und man kann sich in gewisser Weise selbst verifizieren. Dies macht man, indem man Links zu dem eigenen Mastodon-Profil hinzufügt. Diese müssen ein bestimmtes Attribut (rel=&#8220;me&#8220;) haben, um zu beweisen, dass man die Person ist, die man vorgibt zu sein.</p>



<p>Einige Server machen sich zurzeit mit der Verifizierung auf eine weniger offizielle Art und Weise einen Spaß. Auf dem Server mstdn.social kann man beispielsweise dem Anzeigenamen blau-weiße Häkchen und andere Emoji hinzufügen, die einen verifiziert aussehen lassen, obwohl diese Emojis keinerlei Bedeutung haben &#8211; So ähnlich wie das neue Verifizierungssystem von Twitter, nur kostenlos! 😉</p>



<h3 class="wp-block-heading">Ist Mastodon hier, um zu bleiben?</h3>



<p>Mastodon erfährt einen massiven Zustrom neuer Nutzer von Twitter. So viel ist jedenfalls klar. Ob sich dieses Wachstum fortsetzen kann, wird sich zeigen. Mit nur 1,8 Millionen Nutzern am Tag ist Mastodon weitaus kleiner als Twitter, welches Stand heute über 206 Millionen täglich aktive Nutzer zählt, die darüber hinaus auch noch monetisiert werden können. Dennoch sind nicht alle sozialen Netzwerke gleich und vielleicht zieht man es auch vor, auf einem eigenen Server über Spiele zu plaudern, anstatt in ein Reich des Wahnsinns zu twittern. Oder aber man ist fasziniert von dezentralisierten Systemen und macht allein schon aus diesem Grund mit.</p>



<h3 class="wp-block-heading">Kann man von Twitter zu Mastodon cross-posten?</h3>



<p>Ja, dies scheint mithilfe von Tools von Drittanbietern möglich zu sein. So kann man mit den gängigen Autorisierungen, Twitter-Posts direkt zu Mastodon weiterleiten. Hierzu gibt es bereits einige Repositories auf GitHub, die man dafür nutzen kann. Auf GitHub und Repositories gehe ich in einem späteren Beitrag ein.</p>



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



<p>Alles in allem finde ich <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> Anwendungen grundsätzlich gut. Ob sich Mastodon durchsetzen wird, lässt sich in diesem Augenblick wohl eher schlecht als recht sagen. Auch sollte man nicht vergessen, dass sich im Jahr 2019 das rechtsradikale Netzwerk „Gab“ mit ungefähr einer Millionen Nutzer*Innen auf Mastodon niederließ und damit eines der größten Knotenpunkte darstellte. Aus diversen Foren habe ich erfahren, dass Administratoren vieler Instanzen Gab blockiert haben (Hierfür ist ein einfacher Eintrag in den Einstellungen der jeweiligen Instanz nötig). </p>



<p>Folglich wurden Nachrichten &#8222;Toots&#8220; von Gab nicht mehr weitergeleitet, man konnte die Nachrichten auch nicht mehr in der öffentlichen Timeline sehen und man konnte Gab Nutzer nicht suchen bzw. finden.&nbsp;Die Entwickler*Innen von Mastodon selbst distanzierten sich umgehend von Gab. Ich bin jetzt auf jeden Fall mal dabei und werde mich die Tage, falls ich etwas Zeit finde, mehr damit beschäftigen. So gesehen, war ich bereits ende 2018 mal online, doch irgendwie wurde der Server scheinbar gelöscht. Heute findet man mich auf Mastodon über @coezbay@ioc.exchange &#8211; Erst einmal nicht so aktiv und eher aus Forschungszwecken dabei 😉</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/15/open-source-twitter-alternative-mastodon/">Mastodon &#8211; Open Source Twitter Alternative</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/11/15/open-source-twitter-alternative-mastodon/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">556</post-id>	</item>
		<item>
		<title>ERC-20 Token &#8211; Universeller Standard für die Erstellung von dezentralen Finanzanwendungen</title>
		<link>https://ceosbay.com/2022/10/24/erc-20-token/</link>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Mon, 24 Oct 2022 09:21:00 +0000</pubDate>
				<category><![CDATA[Blockchain]]></category>
		<category><![CDATA[Krypto]]></category>
		<category><![CDATA[20]]></category>
		<category><![CDATA[Coins]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[ERC]]></category>
		<category><![CDATA[ERC-20]]></category>
		<category><![CDATA[Ether]]></category>
		<category><![CDATA[Ethereum]]></category>
		<category><![CDATA[Funktionen]]></category>
		<category><![CDATA[Smart Contract]]></category>
		<category><![CDATA[Token]]></category>
		<category><![CDATA[Transaktionen]]></category>
		<category><![CDATA[Währung]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=61</guid>

					<description><![CDATA[<p>Was ist ein ERC-20 Token? Zunächst muss vielleicht noch der Begriff Token näher erläutert werden. Ethereum basiert auf der Nutzung von Tokens, die Anwender kaufen, verkaufen oder handeln können. Diese dürfen nicht verwechselt werden mit &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/10/24/erc-20-token/">ERC-20 Token &#8211; Universeller Standard für die Erstellung von dezentralen Finanzanwendungen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">Was ist ein ERC-20 Token?</h3>



<p>Zunächst muss vielleicht noch der Begriff Token näher erläutert werden. <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ethereum</a> basiert auf der Nutzung von Tokens, die Anwender kaufen, verkaufen oder handeln können. Diese dürfen nicht verwechselt werden mit <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ether</a>, welches die natürliche Währung der <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ethereum</a> <a href="https://ceosbay.com/2022/11/28/blockchain/">Blockchain</a> ist. Tokens sind digitale Assets oder Dienstprogramme, die auf der <a href="https://ceosbay.com/2022/11/28/blockchain/">Blockchain</a> basieren. Ihnen kann ein bestimmter Wert zugeschrieben werden. Diese Werte können ganz unterschiedlich sein, wie zum Beispiel Schuldscheine, Services oder reale Objekte. Damit sind sie also genauer betrachtet keine <a href="https://ceosbay.com/2022/11/01/erklaerung-crypto-bzw-kryptowaehrung/">Kryptowährung</a>. Token sind Smart Contracts, die im Fall von ERC-20, auf der Ethereum-<a href="https://ceosbay.com/2022/11/28/blockchain/">Blockchain</a> ausgeführt werden.</p>



<p>Der am weitesten verbreitete Token-Standard ist der ERC-20. <a href="https://ethereum.org">Ethereum</a> gab 2015 erstmals technische Spezifikationen für einen Token auf ihrer <a href="https://ceosbay.com/2022/11/28/blockchain/">Blockchain</a> aus. Dabei steht ERC für „<a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ethereum</a> Request for Comments“. Die Zahl 20 steht für die eindeutige Identifikationsnummer, die diesem Standard einmal erteilt wurde, um ihn von anderen zu unterscheiden. ERC-20 ist also ein Standardprotokoll, der die Regeln und die Funktionsweise eines Tokens auf der <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ethereum</a> <a href="https://ceosbay.com/2022/11/28/blockchain/">Blockchain</a> vorgibt.</p>



<h3 class="wp-block-heading">Funktionen des ERC-20 Tokens</h3>



<p>ERC-20 definiert eine Liste von Regeln für alle auf diesem Standard beruhenden Token. Dadurch können Entwickler leichter neue Token erstellen, ohne jedes mal von vorne anfangen zu müssen. Die vom <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ethereum</a>-Team festgelegten Regeln bieten dabei genug Freiraum, um Entwicklern die nötige Flexibilität in der Gestaltung des Tokens zu ermöglichen.</p>



<p>Der Token-Standard besteht aus insgesamt 6 Funktionen und 2 Ereignissen. Er wurde geschaffen, um die Interoperabilität zwischen Anwendungen, Austauschknoten und Schnittstellen zu ermöglichen. Die Funktionen beschreiben, wie Token übertragen und wie auf tokenbezogene Daten zugegriffen werden kann und soll. Die Ereignisse hingegen enthalten Formatierungsrichtlinien für Transaktionen und Genehmigungen. Die <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Smart Contracts</a> von <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ethereum</a>, einschließlich aller Token-Verträge, sind in der Programmiersprache Solidity geschrieben.</p>



<h3 class="wp-block-heading">Vorteile des ERC-20 Tokens</h3>



<ul class="wp-block-list">
<li>Einheitliche und schnelle Transaktionen</li>



<li>Effizientere Transaktionsbestätigungen</li>



<li>Reduziert das Risiko des Vertragsbruchs durch ein <a href="https://ceosbay.com/2022/11/27/erklaerung-smart-contracts/">Smart Contract</a></li>



<li>Die in ERC-20 implementierte Funktion hilft dem Web-Client, effizienter und schneller mit anderen Token und der <a href="https://ceosbay.com/2022/11/28/blockchain/">Blockchain</a> zu interagieren</li>
</ul>



<h3 class="wp-block-heading">Wer verwendet den ERC-20 Standard?</h3>



<p><a href="https://etherscan.io/tokens" target="_blank" rel="noreferrer noopener">Etherscan</a> dokumentiert die Anzahl der <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ethereum</a> Tokens, die auf dem ERC-20 Standard basieren. Demzufolge gibt es zum Zeitpunkt der Erstellung dieses Artikels insgesamt 683501 ERC-20 Token Contracts. Diese Zahl ist stetig am wachsen, zumal immer wieder neue Token erstellt werden. Der Token-Standard wurde aufgrund des gestiegenen Interesses an&nbsp;ICO&#8217;s&nbsp;eingeführt. Denn der größte Vorteil, liegt in der Interoperabilität mit anderen konformen Token und dezentralen Anwendungen auf <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ethereum</a>. Dadurch können sie auf allen Plattformen gehandelt werden, die <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ethereum</a>-Standards unterstützen.</p>



<h3 class="wp-block-heading">Wohin mit den Token?</h3>



<p>Token werden in der Regel in Wallets und / oder diversen Handelsplattformen gespeichert. Einige davon sind folgende:</p>



<ul class="wp-block-list">
<li>Ledger – Eine persönliche Empfehlung als gute Hardware Wallet<br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">(Beim Kauf über diesen <a href="https://ledger.refr.cc/cagatayoezbay" target="_blank" rel="noreferrer noopener">Empfehlungslink</a> gibt es einen Rabatt in Höhe von 20%)</mark></li>



<li>Trezor – Eine persönliche Empfehlung als gute Hardware Wallet</li>



<li>Trust – Eine Wallet App für Android und iOS</li>



<li>Parity – Ein Desktop Client für Mac OS, Windows und Linux</li>



<li>Mist – Eine Standardwallet von <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ethereum</a></li>



<li>Metamask – Sehr gute Web-Lösung für <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ethereum</a> und ERC-20 Token die auch mit Hardware Wallets wie <a href="https://ceosbay.com/2022/11/05/hardware-wallet-trezor/">Trezor</a> oder <a href="https://ceosbay.com/2022/11/08/hardware-wallet-ledger/">Ledger</a> gesichert werden kann</li>
</ul>



<h3 class="wp-block-heading">Gibt es andere ERC-Token-Standards?</h3>



<p>Der ERC-20 hat auch die ein oder andere Schwachstelle. Wenn beispielsweise ein Token verwendet wird, um <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ether</a> an einen anderen Smart Contract zu senden, der nicht kompatibel ist, wird die Transaktion nicht abgelehnt, da die eingehende Transaktion nicht erkannt wird. Die versendeten <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ether</a> liegen in der Schwebe und sind für den Benutzer im Grunde verloren. <a href="https://github.com/Dexaran/ERC223-token-standard" target="_blank" rel="noreferrer noopener">Laut dem letzten dokumentierten Stand</a> vom 31.12.2017 gingen auf diese Weise Token im Wert von etwa 3,33 Millionen USD flöten.</p>



<p>Aus diesem Grund wurden neue Standards ausgearbeitet. Einer davon ist der ERC223 Token-Standard. Dieser löst das Problem, indem es nicht-kompatible Transaktionen ablehnt. Ein weiterer Standard ist der ERC721. Er unterscheidet sich vom ERC-20, weil er nicht fungibel ist. Ein so genannter <a href="https://ceosbay.com/2022/11/04/erklaerung-nft/">Non Fungible Token bzw. NFT</a>. Es ermöglicht Token oder Assets zu erzeugen, die einzigartig und nicht beliebig austauschbar sind. Dies ist zum Beispiel bei In-Game-Assets oder für Plattformen wie <a href="https://www.cryptokitties.co/" target="_blank" rel="noreferrer noopener">Cryptokitties</a> (Ich liebe die kleinen Kätzchen 🐱) wichtig.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/10/24/erc-20-token/">ERC-20 Token &#8211; Universeller Standard für die Erstellung von dezentralen Finanzanwendungen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">61</post-id>	</item>
	</channel>
</rss>
