<?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>Objekte Archive - CEOsBay</title>
	<atom:link href="https://ceosbay.com/tag/objekte/feed/" rel="self" type="application/rss+xml" />
	<link>https://ceosbay.com/tag/objekte/</link>
	<description>It&#039;s all about Tech</description>
	<lastBuildDate>Sun, 16 Apr 2023 14:02:13 +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>Objekte Archive - CEOsBay</title>
	<link>https://ceosbay.com/tag/objekte/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">211828771</site>	<item>
		<title>Jasmine &#8211; JavaScript Testautomatisierung</title>
		<link>https://ceosbay.com/2023/04/16/erklaerung-jasmine/</link>
					<comments>https://ceosbay.com/2023/04/16/erklaerung-jasmine/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sun, 16 Apr 2023 06:23:35 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Automatisierung]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Anwendungen]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[Best]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CI]]></category>
		<category><![CDATA[CI/CD]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Ent-to-End]]></category>
		<category><![CDATA[Flexibilität]]></category>
		<category><![CDATA[Funktionsweise]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Integrationstests]]></category>
		<category><![CDATA[Jasmine]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Karma]]></category>
		<category><![CDATA[Konstrukt]]></category>
		<category><![CDATA[Mocking]]></category>
		<category><![CDATA[Mocks]]></category>
		<category><![CDATA[Objekt]]></category>
		<category><![CDATA[Objekte]]></category>
		<category><![CDATA[Open-Source]]></category>
		<category><![CDATA[Ops]]></category>
		<category><![CDATA[Practice]]></category>
		<category><![CDATA[Prozess]]></category>
		<category><![CDATA[Prozesse]]></category>
		<category><![CDATA[Qualität]]></category>
		<category><![CDATA[Qualitätsmanagement]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[Spec]]></category>
		<category><![CDATA[Specs]]></category>
		<category><![CDATA[Spy]]></category>
		<category><![CDATA[spyOn]]></category>
		<category><![CDATA[Struktur]]></category>
		<category><![CDATA[Strukturieren]]></category>
		<category><![CDATA[Suite]]></category>
		<category><![CDATA[Syntax]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Testabdeckung]]></category>
		<category><![CDATA[Testbeschreibung]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Unit]]></category>
		<category><![CDATA[Vorteile]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1483</guid>

					<description><![CDATA[<p>Die moderne Softwareentwicklung hat eine Vielzahl von Werkzeugen und Technologien, um Entwicklern bei der Gestaltung und Implementierung robuster Anwendungen zu helfen. Eines dieser Werkzeuge, dass ich in den letzten Tagen auf GitHub entdeckt habe, ist &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/04/16/erklaerung-jasmine/">Jasmine &#8211; JavaScript Testautomatisierung</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Die moderne Softwareentwicklung hat eine Vielzahl von Werkzeugen und Technologien, um Entwicklern bei der Gestaltung und Implementierung robuster Anwendungen zu helfen. Eines dieser Werkzeuge, dass ich in den letzten Tagen auf <a href="https://ceosbay.com/2022/11/19/erklaerung-github/" target="_blank" rel="noreferrer noopener">GitHub</a> entdeckt habe, ist <a href="https://jasmine.github.io" target="_blank" rel="noreferrer noopener">Jasmine</a>. Es ist ein bekanntes <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> zur Testautomatisierung für <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>. In diesem Blogbeitrag schaue ich mir an, was Jasmine ist, wie es funktioniert und welche Vorteile es bietet, wenn es um das Testen von <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>-Anwendungen geht.</p>



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



<p>Jasmine ist ein beliebtes Open-Source-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> für <a href="https://ceosbay.com/2023/03/12/erklaerung-behavior-driven-development/" target="_blank" rel="noreferrer noopener">Behavior-Driven Devel</a><a href="https://ceosbay.com/2023/03/12/erklaerung-behavior-driven-development/">opment</a> (<a href="https://ceosbay.com/2023/03/12/erklaerung-behavior-driven-development/" target="_blank" rel="noreferrer noopener">BDD</a>) Tests in <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>. Man verwendet es hauptsächlich, um das Verhalten von <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>-Code durch das Schreiben von Test-Spezifikationen zu überprüfen. Jasmine bietet eine saubere, leicht verständliche Syntax und ermöglicht Entwicklern, ihre Tests unabhängig von ihrer Implementierung auszuführen. Dadurch können sie schnell und effizient sicherstellen, dass ihr Code wie erwartet funktioniert.</p>



<h3 class="wp-block-heading">Vorteile:</h3>



<ul class="wp-block-list">
<li><strong>Einfachheit</strong>: Man hat Jasmine entwickelt, um leicht verständlich und zugänglich für Entwickler zu sein. Die Test-Syntax ist klar und einfach, sodass selbst Entwickler, die neu in der Testautomatisierung sind, schnell damit arbeiten können.</li>



<li><strong>Unabhängigkeit</strong>: Jasmine ist unabhängig von anderen <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>&#8211;<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Frameworks</a>, Browsern und DOM-Manipulationsbibliotheken, was bedeutet, dass man es praktisch jedem <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>-Projekt verwenden kann, unabhängig von der verwendeten Technologie.</li>



<li><strong>Flexibilität</strong>: Entwickler können Jasmine für Unit-Tests, Integrationstests und sogar für End-to-End-Tests verwenden. Dies gibt ihnen die Möglichkeit, das gesamte Verhalten ihrer Anwendung mit einem einzigen Tool abzudecken.</li>
</ul>



<h3 class="wp-block-heading">Wie funktioniert Jasmine?</h3>



<p>Jasmine basiert auf einer Hierarchie von Suites und Specs. Suites sind Gruppen von verwandten Tests, während Specs einzelne Testfälle sind. Diese Hierarchie ermöglicht es Entwicklern, ihre Tests klar zu strukturieren und den Code leicht zu organisieren.</p>



<p>Es verwendet das &#8222;describe&#8220;-Konstrukt, um Test-Suites zu definieren. Jede Suite kann mehrere Test-Spezifikationen (Specs) enthalten, die mit dem &#8222;it&#8220;-Konstrukt definiert werden. Diese Specs enthalten Erwartungen (Expectations) in Bezug auf das zu testende Verhalten des Codes.</p>



<h4 class="wp-block-heading">Ein einfaches Beispiel für eine Jasmine Test-Suite sieht wie folgt aus:</h4>



<pre class="wp-block-code"><code>describe("A suite is just a function", function() {
  let a;

  it("and so is a spec", function() {
    a = true;

    expect(a).toBe(true);
  });
});</code></pre>



<p>oder</p>



<pre class="wp-block-code"><code>describe('Array', () =&gt; {
  describe('#indexOf()', () =&gt; {
    it('sollte -1 zurückgeben, wenn der Wert nicht im Array vorhanden ist', () =&gt; {
      expect(&#91;1, 2, 3].indexOf(4)).toBe(-1);
    });
  });
});</code></pre>



<h3 class="wp-block-heading">Integration in die Softwareentwicklung</h3>



<p>Man kann Jasmine problemlos in moderne <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>-Projekte und Build-Tools integrieren. Mit Integrationen für Tools wie Grunt, Gulp und Webpack lässt es sich nahtlos in bestehende Entwicklungsprozesse einfügen. Darüber hinaus gibt es auch Jasmine-Plugins für gängige Entwicklungsumgebungen wie Visual Studio Code oder <a href="https://ceosbay.com/2023/03/10/erklaerung-intellij-idea/" target="_blank" rel="noreferrer noopener">IntelliJ</a>, die das Schreiben und Ausführen von Tests noch einfacher und bequemer gestalten.</p>



<p>Man kann es auch mit anderen Testing-Tools und Libraries kombinieren, um noch umfassendere Testlösungen zu schaffen. Beispielsweise kann man es mit Karma (einem <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>-Test-Runner) verwenden, um Tests in verschiedenen Browsern auszuführen, oder mit Protractor für End-to-End-Tests in Angular-Anwendungen.</p>



<h3 class="wp-block-heading">Best Practices für Jasmine-Tests</h3>



<p>Um das Beste aus Jasmine herauszuholen und effektive Tests zu erstellen, sind hier einige bewährte Vorgehensweisen:</p>



<ul class="wp-block-list">
<li><strong>Klare Testbeschreibungen</strong>: Man sollte aussagekräftige und präzise Beschreibungen für Suites und Specs verwenden. Dies erleichtert das Verständnis des Testzwecks und die Identifizierung von Fehlern.</li>



<li><strong>Kleine, fokussierte Tests</strong>: Es ist ratsam, Tests zu schreiben, die nur eine Funktion oder ein Verhalten testen. Dies erleichtert das Auffinden und Beheben von Fehlern, da man dadurch genau im Blick behält, welcher Teil des Codes betroffen ist.</li>



<li><strong>Testabdeckung</strong>: Man sollte sicherstellen, dass man eine ausreichende Testabdeckung für den Code hat. Dies bedeutet, dass man alle wichtigen Funktionen und Szenarien in den Tests berücksichtigt.</li>



<li><strong>Mocking und Spies</strong>: Es ist zu empfehlen, Mock-Objekte und Spies zu verwenden, um externe Abhängigkeiten zu isolieren und den Testfokus auf den zu testenden Code zu richten. Jasmine bietet dafür eingebaute Funktionen wie createSpy und spyOn.</li>



<li><strong>Regelmäßige Testausführung</strong>: Man sollte die Tests regelmäßig ausführen, um sicherzustellen, dass Änderungen im Code nicht zu unerwarteten Fehlern führen. Daher ist es ratsam, Jasmine in den <a href="https://ceosbay.com/2023/04/14/erklaerung-ci-cd/" target="_blank" rel="noreferrer noopener">Continuous Integration (CI) bzw. Continuous Deployment</a> (<a href="https://ceosbay.com/2023/04/14/erklaerung-ci-cd/" target="_blank" rel="noreferrer noopener">CI/CD</a>) Prozess integrieren, um automatisch Tests auszuführen, sobald man Codeänderungen vornimmt.</li>
</ul>



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



<p>Jasmine ist ein leistungsstarkes und vielseitiges <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> für das Testen von <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>-Anwendungen. Mit seiner klaren Syntax, Flexibilität und Integration in moderne Entwicklungsprozesse ist es ein unverzichtbares Werkzeug für jeden <a href="https://ceosbay.com/2022/11/12/javascript/">JavaScript</a>-Entwickler. Durch die Befolgung der Best Practices und die regelmäßige Ausführung von Tests können Entwickler sicherstellen, dass ihr Code zuverlässig und fehlerfrei funktioniert. Insgesamt trägt Jasmine dazu bei, die Qualität von <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>-Anwendungen zu verbessern und die Entwicklungszeit zu reduzieren.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/04/16/erklaerung-jasmine/">Jasmine &#8211; JavaScript Testautomatisierung</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/04/16/erklaerung-jasmine/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1483</post-id>	</item>
		<item>
		<title>Lombok &#8211; Entwicklerproduktivität steigern und Boilerplate-Code eliminieren für sauberen, effizienten Java-Code</title>
		<link>https://ceosbay.com/2023/03/28/erklaerung-lombok/</link>
					<comments>https://ceosbay.com/2023/03/28/erklaerung-lombok/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Tue, 28 Mar 2023 14:15:28 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Builder]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Equal]]></category>
		<category><![CDATA[Equals]]></category>
		<category><![CDATA[Getter]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[JAR]]></category>
		<category><![CDATA[Log]]></category>
		<category><![CDATA[Logging]]></category>
		<category><![CDATA[Lombok]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Objekt]]></category>
		<category><![CDATA[Objekte]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[pom]]></category>
		<category><![CDATA[Programmiersprache]]></category>
		<category><![CDATA[Setter]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[Sprache]]></category>
		<category><![CDATA[ToString]]></category>
		<category><![CDATA[Wert]]></category>
		<category><![CDATA[Zeit]]></category>
		<category><![CDATA[Zip]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1260</guid>

					<description><![CDATA[<p>Lombok ist ein Open Source Java-Framework, um die Entwicklungszeit von Java-Anwendungen zu verkürzen und um die Codequalität im Allgemeinen zu verbessern. Ins Leben gerufen durch die beiden Entwickler Eugen Paraschiv und Roel Spilker. Die Idee &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/28/erklaerung-lombok/">Lombok &#8211; Entwicklerproduktivität steigern und Boilerplate-Code eliminieren für sauberen, effizienten Java-Code</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Lombok ist ein Open Source <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>-Framework, um die Entwicklungszeit von <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>-Anwendungen zu verkürzen und um die Codequalität im Allgemeinen zu verbessern. Ins Leben gerufen durch die beiden Entwickler Eugen Paraschiv und Roel Spilker. Die Idee hinter Lombok ist es, Entwicklern das Schreiben von Boilerplate-Code zu ersparen, indem man Annotationen verwendet, um häufig verwendete Konstrukte wie Getter, Setter, Builder, Konstruktoren und vieles mehr automatisch zu generieren.</p>



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



<p>Lombok bietet eine Vielzahl von Funktionen, die Entwicklern helfen, effizienten Code zu schreiben. Hier sind einige der wichtigsten Funktionen:</p>



<p><strong>Getter und Setter:</strong></p>



<p>Lombok ermöglicht es Entwicklern, Getter und Setter-Methoden für Klassenvariablen automatisch zu generieren. Dies ist besonders nützlich, wenn man viele Klassenvariablen hat und nicht jedes Mal manuell Getter und Setter schreiben möchte.</p>



<p><strong>Konstruktoren:</strong></p>



<p>Entwickler können Konstruktoren für ihre Klassen automatisch generieren lassen. Dies ist besonders nützlich, wenn man eine Klasse mit vielen Variablen hat und einen Konstruktor erstellen möchte, der diese Variablen automatisch initialisiert.</p>



<p><strong>Builder:</strong></p>



<p>Mit dem Builder können Entwickler Builder-Klassen automatisch generieren lassen, die es einfach machen, komplexe Objekte zu erstellen. Der Builder generiert eine Methode für jede Klassenvariable, mit der man den Wert der Variable setzen kann. Sobald alle Variablen gesetzt sind, erfolgt die Rückgabe des Objekts.</p>



<p><strong>ToString:</strong></p>



<p>Entwickler können die toString-Methode automatisch generieren lassen. Dies macht es einfach, die Inhalte eines Objekts zu debuggen oder zu protokollieren.</p>



<p><strong>Equals und HashCode:</strong></p>



<p>Entwickler können equals- und hashCode-Methoden automatisch generieren lassen. Dies ist besonders nützlich, wenn man eine Klasse hat, die Verwendung in einer Hash-Map hat.</p>



<p><strong>Log:</strong></p>



<p>Es bietet eine Annotation, mit der Entwickler eine Logger-Variable automatisch generieren können. Dies macht es einfach, Protokolle in der Anwendung zu erstellen.</p>



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



<p>Um Lombok in einem Projekt zu verwenden, muss man es installieren. Es gibt mehrere Möglichkeiten, Lombok zu installieren, doch die einfachste Methode besteht darin, die Lombok-JAR-Datei in das Projektverzeichnis zu kopieren und diese dann zu der IDE-Konfiguration hinzuzufügen. Als IDE&#8217;s sind beispielsweise <a href="https://ceosbay.com/2023/03/10/erklaerung-intellij-idea/" target="_blank" rel="noreferrer noopener">IntelliJ</a> oder <a href="https://ceosbay.com/2023/03/19/erklaerung-eclipse/" target="_blank" rel="noreferrer noopener">Eclipse</a> zu erwähnen.</p>



<p>Wenn man <a href="https://ceosbay.com/2022/12/22/erklaerung-maven/" target="_blank" rel="noreferrer noopener">Maven</a> verwendet, kann man Lombok einfach zu der POM-File hinzufügen:</p>



<pre class="wp-block-code"><code>&lt;dependency&gt;

&nbsp;&nbsp;&nbsp;&lt;groupId&gt;org.projectlombok&lt;/groupId&gt;

&nbsp;&nbsp;&nbsp;&lt;artifactId&gt;lombok&lt;/artifactId&gt;

&nbsp;&nbsp;&nbsp;&lt;version&gt;X.XX.XX&lt;/version&gt;

&nbsp;&nbsp;&nbsp;&lt;scope&gt;provided&lt;/scope&gt;

&lt;/dependency&gt;</code></pre>



<p>Sobald es installiert ist, kann man die verschiedenen Annotationen verwenden, um den Code zu verbessern.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/28/erklaerung-lombok/">Lombok &#8211; Entwicklerproduktivität steigern und Boilerplate-Code eliminieren für sauberen, effizienten Java-Code</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/28/erklaerung-lombok/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1260</post-id>	</item>
		<item>
		<title>Spring Boot &#8211; Schnell und einfach Webanwendungen erstellen</title>
		<link>https://ceosbay.com/2023/03/22/erklaerung-spring-boot/</link>
					<comments>https://ceosbay.com/2023/03/22/erklaerung-spring-boot/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Wed, 22 Mar 2023 17:12:00 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Big-Data]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Abhängigkeiten]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[Boot]]></category>
		<category><![CDATA[Container]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Dependencies]]></category>
		<category><![CDATA[Dependency]]></category>
		<category><![CDATA[Frame]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Frei]]></category>
		<category><![CDATA[Freie]]></category>
		<category><![CDATA[Injection]]></category>
		<category><![CDATA[Injizieren]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[Lesitung]]></category>
		<category><![CDATA[Microservices]]></category>
		<category><![CDATA[Modular]]></category>
		<category><![CDATA[Objekte]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[Optionated]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Webanwendungen]]></category>
		<category><![CDATA[Work]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1057</guid>

					<description><![CDATA[<p>Java Spring Framework ist ein beliebtes Open-Source&#8211;Framework zur Erstellung eigenständiger, produktionsreifer Anwendungen, die auf der Java Virtual Machine (JVM) laufen. Spring Boot ist ein Tool, dass die Entwicklung von Webanwendungen und Microservices mit Spring Framework &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/22/erklaerung-spring-boot/">Spring Boot &#8211; Schnell und einfach Webanwendungen erstellen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> Spring <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> ist ein beliebtes <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open-Source</a>&#8211;<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> zur Erstellung eigenständiger, produktionsreifer Anwendungen, die auf der <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> Virtual Machine (JVM) laufen. Spring Boot ist ein Tool, dass die Entwicklung von Webanwendungen und Microservices mit Spring Framework durch drei Kernfunktionen beschleunigt und einfacher macht.</p>



<ol class="wp-block-list" type="1">
<li>Autokonfiguration</li>



<li>Ein Opinionated-Konfigurationsansatz</li>



<li>Die Fähigkeit, eigenständige Anwendungen zu erstellen</li>
</ol>



<p>Das Zusammenspiel dieser Funktionen ermöglicht die Installation einer Spring basierten Anwendung mit minimalem Konfigurations- bzw. Einrichtungsaufwand, worauf ich nachfolgend näher eingehe. Mit einem breiten Spektrum an Funktionalitäten ist es eine ganzheitliche Lösung, wobei die Entkopplung der Applikationskomponenten im Vordergrund steht.</p>



<h3 class="wp-block-heading">Was ist das Spring Framework und was stellt Spring Boot damit an?</h3>



<p>Ein Spring <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> bietet eine Abhängigkeitsinjektionsfunktion, mit der Objekte ihre eigenen Abhängigkeiten definieren können.Der Spring-Container injiziert diese nachfolgend. So kann man als Entwickler modulare Anwendungen erstellen, die aus losen verbundenen Komponenten bestehen. Diese eignen sich ideal für Microservices und verteilte Netzanwendungen.</p>



<p>Das Spring <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> bietet auch die integrierte Unterstützung für typische Aufgaben, die eine Anwendung ausführen muss. Beispiele hierfür sind Datenbindung, Typumsetzung, Prüfung und Bewertung, Ausnahmebehandlung, Ressourcen- und Ereignismanagement und vielem mehr. Darüber hinaus lässt es sich mit verschiedenen <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> EE-Technologien wie RMI (Remote Method Invocation), AMQP (Advanced Message Queuing Protocol), <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> Web Services und anderen integrieren. Alles in allem liefert das Spring <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> Entwicklern alle Tools und Funktionen, die man benötigt, um lose verbundene, plattformunabhängige <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> EE-Anwendungen zu erstellen, die man in den verschiedensten Umgebungen ausführen kann. So leistungsfähig und umfassend das Spring <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> auch ist, so viel Zeit und Know-How erfordert es, Spring-Anwendungen sauber zu konfigurieren, einzurichten und bereitzustellen. Spring Boot verringert diesen Aufwand mit den bereits zu Beginn erwähnten drei wichtigen Funktionen.</p>



<h3 class="wp-block-heading">Autokonfiguration in Spring Boot</h3>



<p>Unter der Autokonfiguration verstehen man die Initialisierung von Anwendungen mit voreingestellten Abhängigkeiten ohne den manuellen Eingriff eines Entwicklers. Da <a href="https://ceosbay.com/2023/03/16/erklaerung-java/">Java</a> Spring Boot über integrierte Autokonfigurationsfunktionen verfügt, konfiguriert es sowohl das zugrunde liegende Spring <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> als auch die Pakete von Drittanbietern automatisch auf der Grundlage der eigenen individuellen Einstellungen. Dies trägt auch zur grundlegenden Fehlervermeidung bei. Auch wenn man die Standardeinstellungen nach Abschluss der Initialisierung überschreiben kann, ermöglicht die Autokonfigurationsfunktion von <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> Spring Boot einen schnellen Start bei der Entwicklung von Spring-basierten Anwendungen. Dies reduziert die Möglichkeit menschlicher Fehler.</p>



<h3 class="wp-block-heading">Opinionated-Konfigurationsansatz</h3>



<p>Der Optionated-Ansatz bei Spring Boot findet Anwendung beim Hinzufügen und bei der Konfiguration von Steuer-Abhängigkeiten, basierend auf den Projektanforderungen. Spring Boot wählt nach eigenem Ermessen die passenden Pakete zur Installation aus und setzt auch die Standardwerte, ohne dass ein nachträgliches manuelles Eingreifen erforderlich ist.</p>



<p>Man kann die Anforderungen des jeweiligen Projekts während des Initialisierungsprozesses definieren. Dabei wählt man zwischen mehreren Starter-Abhängigkeiten (den Spring Starters) die typische Anwendungsfälle abdecken. Man startet den Spring Boot Initializr (Das ist kein Rechtschreibfehler 😉 ), indem man ein einfaches Webformular ausfüllt. Alles erst einmal ohne zu programmieren und ohne Code.</p>



<p>Mit der Starter-Abhängigkeit „Spring Web&#8220; kann man beispielsweise Spring-basierte Webanwendungen mit minimaler Konfiguration erstellen, indem man im Projekt alle erforderlichen Abhängigkeiten – wie den Apache Tomcat Webserver – hinzufügt. „Spring Security&#8220; ist eine weitere vielfach eingesetzte Starter-Abhängigkeit, die automatisch Authentifizierungs- und Zugriffskontrollfunktionen zur Verfügung stelllt. Spring Boot enthält von Haus aus über 50 Spring-Starter, und viele weitere Starter von Drittanbietern sind ebenfalls verfügbar.</p>



<h3 class="wp-block-heading">Eigenständige Anwendungen</h3>



<p>Spring Boot hilft Entwicklern, Anwendungen zu erstellen, die einfach funktionieren. Insbesondere kann man damit eigenständige Anwendungen erstellen, die ohne einen externen Webserver auskommen, indem man einen Webserver wie Tomcat oder Netty während des Initialisierungsprozesses in der eigenen Anwendung einbettet. So kann man die Anwendung auf jeder Plattform starten, indem man einfach auf den Befehl „Ausführen&#8220; klickt. Man kann aber auch auf diese Funktion verzichten, indem man dies in der Konfiguration deaktiviert.</p>



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



<p>In der Praxis ist die Verwendung von Spring Boot durchaus zu empfehlen. Außer man hat vor, eine sehr spezielle Konfiguration zu implementieren. Man kann weiterhin das vielfach eingesetzte Annotationssystem von Spring <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> verwenden, mit dem man auf einfache Weise zusätzliche Abhängigkeiten (deren Abdeckung nicht von Spring Starters gewährleistet ist) in die Anwendung implementieren kann. Auch hat man weiterhin Zugriff auf alle Spring <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a>-Funktionen, einschließlich der einfachen Ereignisverarbeitung, Prüfung und Bewertung, Datenbindung, Typumsetzung und der integrierten Sicherheits- und Testfunktionen. Kurz zusammengefasst &#8211; Wenn die Abdeckung des Projektumfangs lediglich ein Spring Starter gewährleistet, kann Spring Boot die Entwicklung signifikant rationalisieren.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/22/erklaerung-spring-boot/">Spring Boot &#8211; Schnell und einfach Webanwendungen erstellen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/22/erklaerung-spring-boot/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1057</post-id>	</item>
		<item>
		<title>JSON &#8211; Schönheit der einfachen Datenübertragung</title>
		<link>https://ceosbay.com/2023/03/14/erklaerung-json/</link>
					<comments>https://ceosbay.com/2023/03/14/erklaerung-json/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Tue, 14 Mar 2023 18:23:00 +0000</pubDate>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[8]]></category>
		<category><![CDATA[Anwendung]]></category>
		<category><![CDATA[Anwendungen]]></category>
		<category><![CDATA[Bibliotheken]]></category>
		<category><![CDATA[Daten]]></category>
		<category><![CDATA[Echtzeit]]></category>
		<category><![CDATA[Gründer]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[ISO]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Notation]]></category>
		<category><![CDATA[Objekt]]></category>
		<category><![CDATA[Objekte]]></category>
		<category><![CDATA[Parser]]></category>
		<category><![CDATA[Socket]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1071</guid>

					<description><![CDATA[<p>JSON JavaScript Object Notation, ist ein offenes Standard-Datei- und Datenaustauschformat, dass menschenlesbaren Text zur Speicherung und Übertragung (Serialisierung) von Datenobjekten, einschließlich dem von Webanwendungen mit Servern ermöglicht. JSON ist von JavaScript abgeleitet und Programmiersprachen unabhängig. &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/14/erklaerung-json/">JSON &#8211; Schönheit der einfachen Datenübertragung</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>JSON <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a> Object Notation, ist ein offenes Standard-Datei- und Datenaustauschformat, dass menschenlesbaren Text zur Speicherung und Übertragung (Serialisierung) von Datenobjekten, einschließlich dem von Webanwendungen mit Servern ermöglicht. JSON ist von <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a> abgeleitet und Programmiersprachen unabhängig. Parser und Generatoren existieren in allen verbreiteten Sprachen.&nbsp;</p>



<p>Insbesondere trifft man auf JSON bei Webanwendungen und mobilen Apps in Verbindung mit <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>, Ajax oder WebSockets zum Übertragen von Daten zwischen dem Client und dem Server.</p>



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



<p>Bei einer Abbildung von strukturierten Daten auf eine sequenzielle Darstellungsform, spricht man in der Informatik von einer Serialisierung. Die Serialisierung wird hauptsächlich für die Speicherung von Objekten in Dateien und für die Übertragung von Objekten über das Netzwerk bei verteilten Softwaresystemen verwendet.</p>



<p>Übliche Speichermedien sind nur in der Lage, Datenströme zu speichern. Serialisierung für die Persistenz von Objekten. Hier wird der komplette Zustand des Objektes, inklusive aller referenzierten Objekte, in einen Datenstrom umgewandelt, der anschließend auf ein Speichermedium geschrieben wird.</p>



<p>Nach der Serialisierung liegt ein Objekt mehrfach vor. Sowohl in der externen Darstellung, beispielsweise als Datei als auch im Arbeitsspeicher. Wird nach der Serialisierung eine Änderung am Objekt im Arbeitsspeicher vorgenommen, hat dieses keine Auswirkung auf das serialisierte Objekt in der externen Darstellung.</p>



<p>Die Umkehrung der Serialisierung, also die Umwandlung eines Datenstroms in Objekte, bezeichnet man als Deserialisierung.</p>



<p>In der Linguistik bezeichnet man mit Serialisierung die Art und Weise, wie hierarchische grammatikalische Strukturen in eine lineare Abfolge gebracht sind, damit sie in einer zeitlichen Abfolge sprachlicher Ausdrücke dargestellt werden kann. Diese Reihenfolge kann in verschiedenen Sprachen unterschiedlich sein.</p>



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



<p>JSON entstand aus der Notwendigkeit heraus, ein zustandsloses (stateless) Echtzeit-Kommunikationsprotokoll zwischen Server und Browser zu haben, ohne Browser-PlugIns wie Flash oder Java-Applets zu verwenden, die sich Anfang der 2000er Jahre als vorherrschende Methoden, im Einsatz befanden.</p>



<p>Crockford spezifizierte und verbreitete als Erster das JSON-Format. Das Akronym stammt von State Software, ein von Crockford und anderen im März 2001 gegründetes Unternehmen. Die Gründer hatten sich geeinigt, ein System zu entwickeln, dass Standard-Browser-Funktionen nutzte und eine Abstraktionsschicht für Web-Entwickler bereitstellte, um zustandsbehaftete (abstraction layer) Web-Anwendungen zu erstellen, die über eine dauerhafte Duplex-Verbindung zu einem Web-Server verfügten. Sie hielten dafür zwei Hypertext Transfer Protocol (https)-Verbindungen offen und bauten die Verbindung wieder auf, bevor die Standard-Browser-Timeouts eintraten, wenn kein Datenaustausch stattfand. Die Gründer stimmten darüber ab, ob das Datenformat JSML (<a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a> Markup Language) oder JSON (<a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a> Object Notation) genannt und unter welcher Lizenz die Verfügungstellung stattfinden sollte. Die Website JSON.org ging dann im Jahr 2002 online. Im Dezember 2005 begann Yahoo! damit, die ersten Webdienste (Web-Services) in JSON anzubieten.</p>



<h3 class="wp-block-heading">Vorgänger geht auf ein Spiel für Kinder</h3>



<p>Ein Vorläufer der JSON-Bibliotheken wurde in einem Projekt für Kinder, einem digitalen Trading-Spiel namens Cartoon Orbit bei Communities.com (Die Gründer von State hatten alle zuvor bei diesem Unternehmen gearbeitet), für Cartoon Network verwendet, dass ein browserseitiges Plugin mit einem proprietären Nachrichtenformat zur Manipulation von DHTML-Elementen nutzte (Dieses System gehört übriges 3DO). Nach der Entdeckung der frühen Ajax-Fähigkeiten verwendeten digiGroups, Noosh und andere, Frames, um Informationen in das visuelle Feld des Browsers zu übertragen, ohne den visuellen Kontext einer Webanwendung aktualisieren zu müssen. So hatten sie Rich-Web-Anwendungen in Echtzeit erstellt, die nur die Standard https-, <a href="https://ceosbay.com/2022/12/29/erklaerung-html/" target="_blank" rel="noreferrer noopener">HTML</a>&#8211; und <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>-Fähigkeiten von Netscape 4.0.5+ und IE 5+ verwendeten. Crockford fand darauf heraus, dass <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a> als objektbasiertes Nachrichtenformat für ein solches System verwendet werden kann. Das System wurde später an Sun Microsystems, Amazon.com und EDS verkauft.</p>



<p>JSON basiert teilweise auf <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a> und wird häufig auch mit <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a> verwendet. Dennoch ist es ein sprachunabhängiges Datenformat. Code zum Parsen und Generieren von JSON-Daten ist in vielen Programmiersprachen leicht verfügbar. Auf der JSON-Website sind die JSON-Bibliotheken nach Sprachen geordnet.</p>



<p>Im Oktober 2013 veröffentlichte Ecma International die erste Ausgabe seines JSON-Standards ECMA-404. Im selben Jahr verwendete RFC 7158 ECMA-404 als Referenz. 2014 wurde RFC 7159 zur Hauptreferenz für die Verwendung von JSON im Internet und löste RFC 4627 sowie RFC 7158 ab (wobei ECMA-262 und ECMA-404 als Hauptreferenzen beibehalten wurden). Im November 2017 veröffentlichte ISO/IEC JTC 1/SC 22 ISO/IEC 21778:2017 als internationalen Standard. Am 13. Dezember 2017 hat die Internet Engineering Task Force RFC 7159 durch die Veröffentlichung von RFC 8259, der aktuellen Version des Internet-Standards STD 90, überholt (ersetzt).</p>



<p>Crockford fügte der JSON-Lizenz eine Klausel hinzu, die besagt, dass &#8222;die Software für das Gute, nicht für das Böse verwendet werden soll&#8220;, um die JSON-Bibliotheken zu öffnen und sich gleichzeitig über Unternehmensjuristen und diejenigen lustig zu machen, die übermäßig pedantisch sind. Ironischer- und lustigerweise führte diese Klausel zu Konflikten der JSON-Lizenz mit anderen <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open-Source</a>-Lizenzen, da <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open-Source</a>-Software und freie Software in der Regel keine Einschränkungen hinsichtlich des Verwendungszwecks implizieren.</p>



<h3 class="wp-block-heading">Wie ist JSON aufgebaut?</h3>



<p>Die Daten können beliebig verschachtelt werden, beispielsweise ist ein Array (indizierte Liste) von Objekten möglich, die wiederum Arrays oder Objekte enthalten. Als Zeichenkodierung benutzt JSON standardmäßig UTF-8. Auch UTF-16 und UTF-32 werden unterstützt.</p>



<h3 class="wp-block-heading">JSON und die Typen von Elementen</h3>



<ul class="wp-block-list">
<li>null = Nullwert (Wird durch das Schlüsselwort null dargestellt.)</li>



<li>Boolean = Boolescher Wert (Wird durch die Schlüsselwörter true und false dargestellt. Dies sind keine Zeichenketten. Sie werden daher, wie null, nicht in Anführungszeichen gesetzt.</li>



<li>Number = Zahl (Ist eine Folge der Ziffern 0–9. Diese Folge kann durch ein negatives Vorzeichen &#8211; eingeleitet und durch einen Dezimalpunkt . unterbrochen sein. Die Zahl kann durch die Angabe eines Exponenten e oder E ergänzt werden, dem ein optionales Vorzeichen + oder &#8211; und eine Folge der Ziffern 0–9 folgt.)</li>



<li>String = Zeichenkette (Eine Folge von null oder mehr Unicode-Zeichen. Es beginnt und endet mit doppelten geraden Anführungszeichen (&#8222;). Es kann Unicode-Zeichen und durch \ eingeleitete Escape-Sequenzen enthalten.</li>



<li>Array = Anordnung (Beginnt mit [ und endet mit ]. Es enthält eine durch Kommata geteilte, indizierte Liste von Elementen gleichen oder verschiedenen Typen. Leere Arrays sind ebenfalls zulässig.</li>



<li>Object = Objekt (Beginnt mit { und endet mit }. Es enthält eine durch Kommata geteilte, ungeordnete Liste von Eigenschaften. Objekte ohne Eigenschaften („leere Objekte“) sind ebenfalls zulässig. Das Objekt besteht aus einem Schlüssel und einem Wert, getrennt durch einen Doppelpunkt (Schlüssel : Wert). Die Schlüssel sollten eindeutig sein, da unterschiedliche Parser mit mehrfach vorkommenden Schlüsseln unterschiedlich umgehen. Während ECMA-404 keine Eindeutigkeit voraussetzt, fordert RFC 7159, dass Schlüssel innerhalb eines Objekts eindeutig sind. Folglich ist der Schlüssel eine Zeichenkette und der Wert ein beliebiges Element.</li>
</ul>



<p>Nicht signifikante Leerraum-Zeichen sind erlaubt, also Leerzeichen (Unicode U+0020), horizontale Tabs (U+0009), Zeilenumbrüche mittels LF und / oder CR (U+000D und U+000A). Diese Zeichen werden außerhalb von Zeichenketten bei der Interpretation ignoriert.</p>



<h3 class="wp-block-heading">Die Grenzen von JSON</h3>



<p>JSON unterstützt nicht alle von JavaScript unterstützten Datentypen. Bei nicht unterstützten Datentypen wird folgendermaßen serialisiert:</p>



<ul class="wp-block-list">
<li>NaN, Infinity und -Infinity werden zu null serialisiert.</li>



<li>Date-Objekte werden in eine Zeichenkette konvertiert, die einer Datumsformatbeschreibung nach ISO-8601 genügt.</li>



<li>Function-, RegExp- und Error-Objekte werden verworfen.</li>
</ul>



<h3 class="wp-block-heading">Das folgende Beispiel zeigt eine mögliche JSON-Darstellung zur Beschreibung meiner Person.</h3>



<pre class="wp-block-code"><code>{
  "Unternehmen": "COEZBAY",
  "Nummer": "2023-23-23-777",
  "Waehrung": "BTC",
  "Inhaber": "CEO"
  {
    "Name": "Oezbay",
    "Vorname": "Cagatay",
    "maennlich": true,
    "Hobbys": &#91;"IT", "Schach", "Basketball"],
    "Alter": 38,
    "Kinder": &#91;],
    "Partner": null
  }
}</code></pre>



<h3 class="wp-block-heading">Das JSON-Schema</h3>



<p>Das JSON-Schema gibt ein JSON-basiertes Format an, um die Struktur von JSON-Daten für die Validierung, Dokumentation und Interaktionssteuerung zu definieren. Es enthält einen Contract für die JSON-Daten, die für eine bestimmte Anwendung erforderlich sind und wie diese Daten geändert werden können.</p>



<p>Das Schema basiert auf den Konzepten des <a href="https://ceosbay.com/2022/12/27/erklaerung-xml/" target="_blank" rel="noreferrer noopener">XML</a>-Schemas, ist jedoch JSON-basiert. Wie in XSD (<a href="https://ceosbay.com/2022/12/27/erklaerung-xml/" target="_blank" rel="noreferrer noopener">XML</a> Schema Definition) können dieselben Serialisierungs- und Deserialisierungsprogramme sowohl für das Schema als auch für die Daten verwendet werden. Es ist selbstbeschreibend und in einem Internet-Entwurf der <a href="https://www.ietf.org" target="_blank" rel="noreferrer noopener">Internet Engineering Task Force</a>&nbsp;festgelegt. Für verschiedene Programmiersprachen stehen mehrere Validatoren mit jeweils unterschiedlichen Konformitätsstufen zur Verfügung.</p>



<h3 class="wp-block-heading">Der Vergleich mit XML</h3>



<p>Sowohl JSON als auch <a href="https://ceosbay.com/2022/12/27/erklaerung-xml/" target="_blank" rel="noreferrer noopener">XML</a> beschreiben die Struktur eines Datensatzes. Der Datensatz kann weitere Datensätze enthalten. Dadurch sind beliebig tief verschachtelte Strukturen möglich.</p>



<p>In XML sind die einzelnen Knoten der Datenstruktur benannt, während die Knoten in JSON unbenannt bleiben.</p>



<p>Einfache Zeichenketten in <a href="https://ceosbay.com/2022/12/27/erklaerung-xml/" target="_blank" rel="noreferrer noopener">XML</a> können sowohl als Attribut eines Elements als auch als eigenständiges Element beschrieben sein. In JSON gibt es diese Unterscheidung nicht. Diese in den meisten Fällen irrelevante Flexibilität führt dazu, dass sich die Struktur von <a href="https://ceosbay.com/2022/12/27/erklaerung-xml/" target="_blank" rel="noreferrer noopener">XML</a>-Dokumenten häufig unnötigerweise unterscheidet.</p>



<p>Sowohl für JSON als auch für <a href="https://ceosbay.com/2022/12/27/erklaerung-xml/" target="_blank" rel="noreferrer noopener">XML</a> gibt es Beschreibungssprachen, um weiter einzugrenzen, wie „gültige“ Dokumente auszusehen haben. Ganz im Gegensatz zu „wohlgeformten“ Dokumenten.</p>



<p>Die Syntax von JSON ist einfacher gestaltet und erscheint daher oft lesbarer und insbesondere leichter schreibbar. In der Regel produziert JSON auch einen geringeren Overhead im Vergleich zu <a href="https://ceosbay.com/2022/12/27/erklaerung-xml/" target="_blank" rel="noreferrer noopener">XML</a>.</p>



<p>Sowohl JSON als auch <a href="https://ceosbay.com/2022/12/27/erklaerung-xml/" target="_blank" rel="noreferrer noopener">XML</a> müssen von einem speziellen Parser eingelesen werden. Traditionell ist jedes wohlgeformte JSON-Dokument ein gültiger <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>-Ausdruck. Das unaufmerksame Interpretieren von JSON-Dokumenten mit eval() führt jedoch zu Sicherheitslücken, die nicht zu unterschätzen sind.</p>



<p>Sowohl JSON als auch <a href="https://ceosbay.com/2022/12/27/erklaerung-xml/" target="_blank" rel="noreferrer noopener">XML</a> sind nicht gut zum Repräsentieren von Binärdaten geeignet, da beide Datenformate als Grundelement zeichenbasiert sind und nicht bytebasiert.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/14/erklaerung-json/">JSON &#8211; Schönheit der einfachen Datenübertragung</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/14/erklaerung-json/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1071</post-id>	</item>
		<item>
		<title>PHP &#8211; Die Sprache für dynamische und interaktive Webanwendungen</title>
		<link>https://ceosbay.com/2023/02/26/erklaerung-php/</link>
					<comments>https://ceosbay.com/2023/02/26/erklaerung-php/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sun, 26 Feb 2023 18:03:00 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Betriebssystem]]></category>
		<category><![CDATA[Big-Data]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Anwendungsgebiete]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[APIS]]></category>
		<category><![CDATA[Arrays]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Commerce]]></category>
		<category><![CDATA[Cookies]]></category>
		<category><![CDATA[Dateien]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[E-Commerce]]></category>
		<category><![CDATA[Einfach]]></category>
		<category><![CDATA[Entwicklungszeit]]></category>
		<category><![CDATA[Hombrew]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Hypertext]]></category>
		<category><![CDATA[Integer]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[Laravel]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Objekte]]></category>
		<category><![CDATA[Online]]></category>
		<category><![CDATA[Open-Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Preprocessor]]></category>
		<category><![CDATA[PrestaShop]]></category>
		<category><![CDATA[Programmiersprache]]></category>
		<category><![CDATA[Quelle]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Sprache]]></category>
		<category><![CDATA[Standardbibliothek]]></category>
		<category><![CDATA[Strings]]></category>
		<category><![CDATA[Syntax]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Web-Services]]></category>
		<category><![CDATA[Webhosting]]></category>
		<category><![CDATA[Webserver]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Zahlen]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1379</guid>

					<description><![CDATA[<p>PHP (Hypertext Preprocessor) ist eine weit verbreitete, serverseitige Skriptsprache, speziell für die Webentwicklung. Ursprünglich von Rasmus Lerdorf 1994 ins Leben gerufen, hat es sich zu einer der wichtigsten und einflussreichsten Skriptsprachen in der Webentwicklung entwickelt. &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/02/26/erklaerung-php/">PHP &#8211; Die Sprache für dynamische und interaktive Webanwendungen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>PHP (Hypertext Preprocessor) ist eine weit verbreitete, serverseitige Skriptsprache, speziell für die Webentwicklung. Ursprünglich von Rasmus Lerdorf 1994 ins Leben gerufen, hat es sich zu einer der wichtigsten und einflussreichsten Skriptsprachen in der Webentwicklung entwickelt. Es hat den Vorteil, dass man es leicht in <a href="https://ceosbay.com/2022/12/29/erklaerung-html/" target="_blank" rel="noreferrer noopener">HTML</a> einbetten kann und sich nahtlos in <a href="https://ceosbay.com/2023/02/28/erklaerung-cms/" target="_blank" rel="noreferrer noopener">Content-Management-Systeme</a> wie <a href="https://ceosbay.com/2023/03/01/erklaerung-wordpress/" target="_blank" rel="noreferrer noopener">WordPress</a>, Joomla und Drupal integrieren lässt.</p>



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



<p>Es ist eine serverseitige Sprache, was bedeutet, dass man PHP-Skripte ausschließlich auf einem Server ausführt, bevor es das Ergebnis an den Webbrowser des Clients sendet. Dies hat den Vorteil, dass man sensible Daten wie Passwörter oder Datenbankverbindungen nicht direkt im Quellcode des Clients preisgeben muss.</p>



<h4 class="wp-block-heading">Einige der grundlegenden Prinzipien:</h4>



<ul class="wp-block-list">
<li>Einfache Syntax: Es ist bekannt für seine einfache und leicht verständliche Syntax, die es sowohl Anfängern als auch erfahrenen Programmierern ermöglicht, relativ schnell produktiv zu sein.</li>
</ul>



<ul class="wp-block-list">
<li>Dynamisches Typisierungssystem: Im Gegensatz zu streng typisierten Sprachen erlaubt es Variablen, verschiedene Datentypen (z.B. Strings, Zahlen, Arrays und Objekte) während der Laufzeit zu speichern. Dies ermöglicht eine höhere Flexibilität und verkürzt die Entwicklungszeit.</li>
</ul>



<ul class="wp-block-list">
<li>Integration mit <a href="https://ceosbay.com/2022/12/29/erklaerung-html/" target="_blank" rel="noreferrer noopener">HTML</a>: Man kann PHP-Skripte direkt in <a href="https://ceosbay.com/2022/12/29/erklaerung-html/" target="_blank" rel="noreferrer noopener">HTML</a>-Dateien einbetten, wodurch es einfach ist, dynamische Inhalte innerhalb einer statischen <a href="https://ceosbay.com/2022/12/29/erklaerung-html/" target="_blank" rel="noreferrer noopener">HTML</a>-Seite zu erstellen.</li>
</ul>



<ul class="wp-block-list">
<li>Umfangreiche Standardbibliothek: Es bietet eine umfangreiche Sammlung von Funktionen und Klassen, die die Arbeit mit Dateien, Datenbanken, Sitzungen, Cookies, Netzwerkprotokollen und vielem mehr erleichtern.</li>
</ul>



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



<ul class="wp-block-list">
<li>Plattformübergreifend: Es ist kompatibel mit verschiedenen Betriebssystemen wie Windows, <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a> und MacOS. Dies macht es zu einer idealen Wahl für Webentwickler, die plattformunabhängige Anwendungen erstellen möchten. Bis vor einigen Iterationen von MacOS konnte man einen Server nativ über das Terminal starten. Dies hat man aber scheinbar aufgrund von Sicherheitsrisiken unterbunden. Möglich ist dies nun via <a href="https://ceosbay.com/2022/10/25/homebrew-der-fehlende-paketmanager-fuer-macos-lassen-wir-fluegel-wachsen/" target="_blank" rel="noreferrer noopener">Homebrew</a>. Hierzu verweise ich gerne auf den folgenden <a href="https://ceosbay.com/2022/10/25/homebrew-der-fehlende-paketmanager-fuer-macos-lassen-wir-fluegel-wachsen/" target="_blank" rel="noreferrer noopener">Artikel</a>.</li>
</ul>



<ul class="wp-block-list">
<li>Leistungsfähigkeit: Man kann komplexe und umfangreiche Webanwendungen verarbeiten und ist in der Lage, auch bei hoher Last stabile Leistung zu liefern.</li>
</ul>



<ul class="wp-block-list">
<li>Kostenfrei und Open Source: Es ist eine <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open-Source</a>-Software, was bedeutet, dass man sie kostenlos herunterladen, verwenden und modifizieren darf. Dies hat zu einer großen und engagierten Entwicklergemeinschaft geführt, die nach wie vor zur ständigen Verbesserung und Erweiterung der Sprache beiträgt.</li>
</ul>



<ul class="wp-block-list">
<li>Breite Unterstützung: Viele Webhosting-Unternehmen unterstützen PHP von Haus aus und man kann es leicht auf einem Webserver installieren.</li>
</ul>



<h3 class="wp-block-heading">Anwendungsgebiete von PHP</h3>



<p>Wie bereits erwähnt ist es ist eine vielseitige Programmiersprache. Man kann sie aus diesem Grund in einer Vielzahl von Anwendungsfällen einsetzen. Einige der wichtigsten Anwendungsgebiete von PHP sind:</p>



<ul class="wp-block-list">
<li>Content-Management-Systeme (CMS): PHP ist die treibende Kraft hinter einigen der beliebtesten <a href="https://ceosbay.com/2023/02/28/erklaerung-cms/" target="_blank" rel="noreferrer noopener">CMS</a> wie <a href="https://ceosbay.com/2023/03/01/erklaerung-wordpress/" target="_blank" rel="noreferrer noopener">WordPress</a>, Joomla und Drupal. Diese Systeme erleichtern die Erstellung und Verwaltung von Websites ohne tiefgreifende Programmierkenntnisse.</li>
</ul>



<ul class="wp-block-list">
<li>E-Commerce-Plattformen: Man verwendet es häufig zur Entwicklung von Online-Shops und E-Commerce-Plattformen. Beispiele hierfür sind WooCommerce, Magento oder PrestaShop. Die Skalierbarkeit und Flexibilität von PHP ermöglichen es Entwicklern, umfangreiche und leistungsfähige E-Commerce-Websites zu erstellen, die auf die individuellen Bedürfnisse der Kunden zugeschnitten sind.</li>
</ul>



<ul class="wp-block-list">
<li>Webanwendungen: PHP eignet sich hervorragend für die Entwicklung von benutzerdefinierten Webanwendungen und hat eine Vielzahl von <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Frameworks</a> wie Laravel, Symfony oder CodeIgniter, die den Entwicklungsprozess vereinfachen und beschleunigen.</li>
</ul>



<ul class="wp-block-list">
<li>APIs und Web-Services: Aufgrund seiner Fähigkeit, einfach und schnell mit verschiedenen Datenquellen und -formaten zu arbeiten, eignet sich PHP hervorragend zur Entwicklung von APIs und Web-Services, die als Brücke zwischen unterschiedlichen Anwendungen und Plattformen fungieren.</li>
</ul>



<ul class="wp-block-list">
<li>Social-Media-Plattformen: PHP ist die Grundlage einiger bekannter Social-Media-Plattformen wie Facebook, dass man ursprünglich in PHP entwickelt hat. PHP kann man aber auch bei der Entwicklung eigener Social-Media-Plattformen oder bei der Integration von Social-Media-Funktionalitäten in bestehende Anwendungen einsetzen.</li>
</ul>



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



<p>PHP hat sich als eine robuste, vielseitige und weit verbreitete serverseitige Skriptsprache etabliert, die man in einer Vielzahl von Anwendungsbereichen einsetzt. Mit seiner einfachen Syntax, den leistungsfähigen Funktionen und breiten Unterstützung durch Webhosting-Unternehmen, ist PHP eine ausgezeichnete Wahl für Webentwickler, die dynamische, interaktive und benutzerfreundliche Websites und Webanwendungen erstellen möchten. Die engagierte und wachsende Entwicklergemeinschaft garantiert die fortlaufende Verbesserung und Erweiterung der Sprache, was PHP zu einer attraktiven Option für Webentwickler auf der ganzen Welt macht.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/02/26/erklaerung-php/">PHP &#8211; Die Sprache für dynamische und interaktive Webanwendungen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/02/26/erklaerung-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1379</post-id>	</item>
		<item>
		<title>Blender &#8211; Kreativität in 3D, grenzenlos und kostenlos</title>
		<link>https://ceosbay.com/2023/02/20/blender-kreativitaet-in-3d-grenzenlos-und-kostenlos/</link>
					<comments>https://ceosbay.com/2023/02/20/blender-kreativitaet-in-3d-grenzenlos-und-kostenlos/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Mon, 20 Feb 2023 20:57:00 +0000</pubDate>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[4D]]></category>
		<category><![CDATA[Autodesk]]></category>
		<category><![CDATA[Benutzerfreundlichkeit]]></category>
		<category><![CDATA[Bevel]]></category>
		<category><![CDATA[Blender]]></category>
		<category><![CDATA[Comp]]></category>
		<category><![CDATA[Compositor]]></category>
		<category><![CDATA[Cycles]]></category>
		<category><![CDATA[Detailliert]]></category>
		<category><![CDATA[Enthusiasten]]></category>
		<category><![CDATA[Extrude]]></category>
		<category><![CDATA[Fazit]]></category>
		<category><![CDATA[Film]]></category>
		<category><![CDATA[Funktionen]]></category>
		<category><![CDATA[Gen]]></category>
		<category><![CDATA[Grafik]]></category>
		<category><![CDATA[Grafikanwendung]]></category>
		<category><![CDATA[Grenzenlos]]></category>
		<category><![CDATA[Komplexe]]></category>
		<category><![CDATA[Kostenlos]]></category>
		<category><![CDATA[Loop]]></category>
		<category><![CDATA[Maya]]></category>
		<category><![CDATA[Modelle]]></category>
		<category><![CDATA[Modellierungswerkzeuge]]></category>
		<category><![CDATA[Modellierungswerkzeugen]]></category>
		<category><![CDATA[Next]]></category>
		<category><![CDATA[Objekte]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[Render]]></category>
		<category><![CDATA[Rendern]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[Spektrum]]></category>
		<category><![CDATA[Spiele]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1438</guid>

					<description><![CDATA[<p>In der Welt der 3D-Computergrafik sind kostenpflichtige Programme wie Autodesk Maya und Cinema 4D die unbestrittenen Giganten. Doch es gibt eine leistungsstarke, kostenlose Alternative: Blender. Heute thematisiere ich Blender. Wie es in Bezug auf Features, &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/02/20/blender-kreativitaet-in-3d-grenzenlos-und-kostenlos/">Blender &#8211; Kreativität in 3D, grenzenlos und kostenlos</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In der Welt der 3D-Computergrafik sind kostenpflichtige Programme wie <a href="https://ceosbay.com/2023/02/24/erklaerung-autodesk-maya/" target="_blank" rel="noreferrer noopener">Autodesk Maya</a> und Cinema 4D die unbestrittenen Giganten. Doch es gibt eine leistungsstarke, kostenlose Alternative: Blender. Heute thematisiere ich Blender. Wie es in Bezug auf Features, Benutzerfreundlichkeit und Community mit den Branchengrößen mithält.</p>



<h3 class="wp-block-heading">Überblick über Blender</h3>



<p>Blender ist eine kostenlose, quelloffene 3D-Software, die von der Blender Foundation. Seit der Einführung im Jahr 1998 hat es sich zu einer der leistungsfähigsten 3D-Grafikanwendungen entwickelt, die es heutzutage gibt. Es bietet ein umfangreiches Spektrum an Funktionen, darunter Modellierung, Texturierung, Animation, Rendering, Bildbearbeitung, Compositing und sogar Videoschnitt. Dank der Vielseitigkeit und Flexibilität hat es eine breite Anwenderbasis gefunden, von Hobbyisten bis hin zu professionellen Studios.</p>



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



<ul class="wp-block-list">
<li><strong>Modellierung</strong>: Es bietet eine Vielzahl von Modellierungswerkzeugen, die es ermöglichen, sowohl organische als auch Objekte mit harten Oberflächen zu erstellen. Mit seinen mächtigen Werkzeugen wie Loop Cut, Bevel und Extrude kann man in kürzester Zeit detaillierte und komplexe Modelle erstellen.</li>



<li><strong>Texturierung</strong>: Die Texturierungswerkzeuge von Blender ermöglichen es, realistische Materialien für 3D-Modelle zu erstellen. Mit dem Node-basierten Materialsystem kann man komplexe Shader erstellen, die in Echtzeit oder während des Renderings angezeigbar sind.</li>



<li><strong>Animation</strong>: Es bietet ein leistungsstarkes Animationssystem. Es ermöglicht, sowohl einfache als auch komplexe Animationen zu erstellen. Mit den fortgeschrittenen Funktionen wie Inverse Kinematics, Shape Keys und dem NLA-Editor kann man beeindruckende Animationen erstellen. Diese erwecken dann die Modelle zum Leben.</li>



<li><strong>Rendering</strong>: Es verfügt über zwei leistungsstarke Render-Engines, Eevee und Cycles. Eevee ist ein Echtzeit-Renderer, der es ermöglicht, schnell und einfach beeindruckende Visualisierungen zu erstellen. Cycles hingegen ist ein fortschrittlicher, physikbasierter Renderer, der fotorealistische Bilder erzeugt.</li>



<li><strong>Compositing und Bildbearbeitung</strong>: Mit Blenders integriertem Compositor und Bildbearbeitungsfunktionen kann man die gerenderten Bilder nachbearbeiten. Ohne eine separate Software verwenden zu müssen. Man kann Farbkorrekturen vornehmen, Render-Pass-Kombinationen erstellen oder komplexe Compositing-Aufgaben ausführen.</li>



<li><strong>Videoschnitt</strong>: Es bietet auch eine voll funktionsfähige Videoschnittumgebung. Dies ermöglicht, Videos, Animationen und Audiodateien zusammenzufügen, zu bearbeiten und zu exportieren.</li>
</ul>



<h3 class="wp-block-heading">Skripte in Blender</h3>



<p>Man kann auch Skripte in Blender verwenden, um zusätzliche Funktionen, Automatisierung und Anpassungsmöglichkeiten zu ermöglichen. Blender unterstützt <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a> als Skriptsprache, die eines der beliebtesten und am weitesten verbreiteten Programmiersprachen ist. Mit <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a> lassen sich Skripte erstellen, die die Arbeitsabläufe optimieren, spezielle Funktionen hinzufügen, Interaktionen zwischen Objekten steuern oder sogar komplexe Animationen und Simulationen erstellen.</p>



<p>Es gibt einige wichtige Aspekte beim Umgang mit Skripten:</p>



<ul class="wp-block-list">
<li>Integrierte <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>-API: Es verfügt über eine umfangreiche <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>-API (Application Programming Interface), mit der man auf alle Funktionen und Datenstrukturen in Blender zugreifen kann. Die API ermöglicht es, Skripte zu erstellen, die auf eine Vielzahl von Funktionen zugreifen. Von der Erstellung und Manipulation von Objekten und Materialien bis hin zur Steuerung von Animationen und Rendering.</li>
</ul>



<ul class="wp-block-list">
<li>Text-Editor: Es verfügt über einen integrierten Texteditor, mit dem man <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>-Skripte direkt innerhalb der Anwendung schreiben, bearbeiten und ausführen kann. Der Texteditor bietet auch grundlegende Funktionen wie Syntaxhervorhebung und Autovervollständigung, um das Schreiben von Skripten zu erleichtern.</li>
</ul>



<ul class="wp-block-list">
<li>Add-ons: In Blender kann man <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>-Skripte als Add-ons erstellen und verwenden. Add-ons sind Erweiterungen, die zusätzliche Funktionen und Werkzeuge zur Verfügung stellen. Es gibt eine Vielzahl von Add-ons, die von der Community entwickelt sind, um bestimmte Aufgaben zu erleichtern oder spezialisierte Werkzeuge für bestimmte Anwendungsfälle bereitzustellen. Diese Add-ons kann man direkt in Blender installieren und aktivieren.</li>
</ul>



<ul class="wp-block-list">
<li>Lernressourcen: Die Blender-Community bietet eine Fülle von Ressourcen und Tutorials, um den Einstieg und das Erlernen der <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" rel="nofollow">Python</a>-Skripterstellung in Blender zu erleichtern. Man kann auf der offiziellen Blender-Website, in Foren, auf YouTube oder auf anderen Plattformen nach Ressourcen suchen, um die eigenen Skriptfähigkeiten zu erweitern.</li>
</ul>



<p>Insgesamt bietet der Einsatz von Skripten eine leistungsfähige Möglichkeit, die Kreativität weiter auszudehnen, Aufgaben zu automatisieren und die Arbeit effizienter und effektiver zu gestalten. Wenn man <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a> beherrscht oder bereit ist, es zu erlernen, kann die Skripterstellung ein wertvolles Werkzeug für Projekte sein.</p>



<h3 class="wp-block-heading">Community und Lernressourcen</h3>



<p>Eine der größten Stärken von Blender ist die engagierte und wachsende Community. Es gibt zahlreiche Online-Ressourcen, Foren und Tutorials, die sowohl Anfängern als auch fortgeschrittenen Anwendern helfen, ihre Fähigkeiten zu verbessern und das Beste herauszuholen. Einige der besten Ressourcen sind:</p>



<ul class="wp-block-list">
<li><strong>Blender.org</strong>: Die offizielle Website ist der beste Ort, um mit dem Programm zu beginnen. Hier findet man eine Vielzahl von Anleitungen, Handbüchern, Beispielprojekten und vielem mehr.</li>



<li><strong>Blender Stack Exchange</strong>: Die Stack Exchange Community ist ein großartiger Ort, um Antworten auf Blender-Fragen zu finden. Hier kann man Fragen stellen und erhält Antworten von erfahrenen Benutzern und Entwicklern.</li>



<li><strong>BlenderArtists.org</strong>: Diese Website ist ein großartiges Forum für Künstler, um ihre Arbeit zu teilen, Ratschläge einzuholen und sich gegenseitig zu unterstützen. Hier findet man außerdem wertvolle Tutorials und Ressourcen.</li>



<li><strong>YouTube</strong>: Auf YouTube gibt es eine riesige Menge an Blender-Tutorials von verschiedenen Künstlern und Studios. Einige der bekanntesten Kanäle sind Blender Guru, CG Geek und Gleb Alexandrov, um nur einige zu nennen.</li>
</ul>



<h3 class="wp-block-heading">Blender in der Industrie</h3>



<p>Während kommerzielle Programme wie Maya und Cinema 4D immer noch die dominierenden Kräfte in der 3D-Grafikindustrie sind, hat es in den letzten Jahren erheblichen Zuwachs erfahren. Immer mehr professionelle Studios und Künstler entscheiden sich für Blender aufgrund der beeindruckenden Funktionen und der Tatsache, dass es kostenlos ist.</p>



<p>Einige der bekanntesten Projekte, die Blender verwendet haben, sind der preisgekrönte Kurzfilm &#8222;Sintel&#8220;, die Netflix-Serie &#8222;Next Gen&#8220; und das Computerspiel &#8222;Dead by Daylight&#8220;. Diese Beispiele zeigen, dass Blender in der Lage ist, qualitativ hochwertige Ergebnisse zu liefern, die mit kommerzieller Software vergleichbar sind.</p>



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



<p>Blender ist zweifellos eine mächtige und vielseitige 3D-Grafiksoftware, die sich in den letzten Jahren enorm entwickelt hat. Mit dem breiten Spektrum an Funktionen, der aktiven Community und der Tatsache, dass es durch und durch kostenlos ist, ist es eine hervorragende Option für 3D-Künstler und Enthusiasten. Vollkommen losgelöst davon, ob man nun ein Anfänger oder Profi ist.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/02/20/blender-kreativitaet-in-3d-grenzenlos-und-kostenlos/">Blender &#8211; Kreativität in 3D, grenzenlos und kostenlos</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/02/20/blender-kreativitaet-in-3d-grenzenlos-und-kostenlos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1438</post-id>	</item>
	</channel>
</rss>
