<?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>Werkzeuge Archive - CEOsBay</title>
	<atom:link href="https://ceosbay.com/tag/werkzeuge/feed/" rel="self" type="application/rss+xml" />
	<link>https://ceosbay.com/tag/werkzeuge/</link>
	<description>It&#039;s all about Tech</description>
	<lastBuildDate>Sun, 16 Apr 2023 07:50:51 +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>Werkzeuge Archive - CEOsBay</title>
	<link>https://ceosbay.com/tag/werkzeuge/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">211828771</site>	<item>
		<title>JaCoCo &#8211; Messen und Optimieren von Testabdeckung für robuste Java-Anwendungen</title>
		<link>https://ceosbay.com/2023/03/25/erklaerung-jacoco/</link>
					<comments>https://ceosbay.com/2023/03/25/erklaerung-jacoco/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sat, 25 Mar 2023 20:22:00 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Abdeckung]]></category>
		<category><![CDATA[Analyse]]></category>
		<category><![CDATA[City]]></category>
		<category><![CDATA[Co]]></category>
		<category><![CDATA[Codeabdeckungsanalyse]]></category>
		<category><![CDATA[Coverage]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[Ecl]]></category>
		<category><![CDATA[EclEmma]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[EMMA]]></category>
		<category><![CDATA[Fälle]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Gradle]]></category>
		<category><![CDATA[Grün]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[IDEA]]></category>
		<category><![CDATA[Intelli]]></category>
		<category><![CDATA[IntelliJ]]></category>
		<category><![CDATA[J]]></category>
		<category><![CDATA[Ja]]></category>
		<category><![CDATA[Jacoco]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Modular]]></category>
		<category><![CDATA[Modulare]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[Qube]]></category>
		<category><![CDATA[Rot]]></category>
		<category><![CDATA[Softwareentwicklung]]></category>
		<category><![CDATA[Sonar]]></category>
		<category><![CDATA[SonarQube]]></category>
		<category><![CDATA[Studio]]></category>
		<category><![CDATA[TCP]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Team]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Testfall]]></category>
		<category><![CDATA[Testfälle]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Visual]]></category>
		<category><![CDATA[Werkzeuge]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1238</guid>

					<description><![CDATA[<p>JaCoCo ist ein Open-Source-Toolkit zur Analyse und Anzeige der Java-Codeabdeckung. Es wird unter der Eclipse Public License vertrieben. Man hat es als Ersatz für EMMA entwickelt, unter dem Dach des EclEmma Plugins für Eclipse. Im &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/25/erklaerung-jacoco/">JaCoCo &#8211; Messen und Optimieren von Testabdeckung für robuste Java-Anwendungen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>JaCoCo ist ein <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open-Source</a>-Toolkit zur Analyse und Anzeige der <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>-Codeabdeckung. Es wird unter der <a href="https://ceosbay.com/2023/03/19/erklaerung-eclipse/" target="_blank" rel="noreferrer noopener">Eclipse</a> Public License vertrieben. Man hat es als Ersatz für EMMA entwickelt, unter dem Dach des EclEmma Plugins für <a href="https://ceosbay.com/2023/03/19/erklaerung-eclipse/" target="_blank" rel="noreferrer noopener">Eclipse</a>.</p>



<p>Im Grunde genommen handelt es sich dabei um zwei Arten von Tools, die zum einen Anweisungen dem <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>-Quellcode hinzufügen und dessen Neukompilierung einfordern und zum anderen Tools, die den Bytecode entweder vor oder während der Ausführung instrumentieren. Das Ziel von JaCoCo ist es, herauszufinden, welche Teile des Codes getestet werden, indem es die Codezeilen registriert, die man bei der Ausführung eines Tests ausführt. <a href="https://ceosbay.com/2023/03/13/erklaerung-test-driven-development/" target="_blank" rel="noreferrer noopener">TDD</a> bzw. <a href="https://ceosbay.com/2023/03/13/erklaerung-test-driven-development/" target="_blank" rel="noreferrer noopener">Test Driven Development</a> ist diesbezüglich ebenfalls ein gutes Stichwort.</p>



<h3 class="wp-block-heading">Features von JaCoCo</h3>



<ul class="wp-block-list">
<li>Abdeckungsanalyse von Anweisungen (C0), Verzweigungen (C1), Zeilen, Methoden, Typen und zyklomatischer Komplexität (McCabe-Metrik).</li>



<li>Basiert auf <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>-Bytecode und funktioniert daher auch ohne Quelldateien.</li>



<li>Einfache Integration durch <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>-Agent-basierte On-the-fly-Instrumentierung. Andere Integrationsszenarien wie benutzerdefinierte class loader sind über die API möglich.</li>



<li><a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a>-unabhängig: Reibungslose Integration in <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> <a href="https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/" target="_blank" rel="noreferrer noopener">VM</a>-basierte Anwendungen wie einfache <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>-Programme, OSGi-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Frameworks</a>, Web-Container oder EJB-Server.</li>



<li>Kompatibel mit allen freigegebenen <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>-Klassendateiversionen.</li>



<li>Unterstützung für verschiedene JVM-Sprachen.</li>



<li>Verschiedene Berichtsformate (<a href="https://ceosbay.com/2022/12/29/erklaerung-html/" target="_blank" rel="noreferrer noopener">HTML</a>, <a href="https://ceosbay.com/2022/12/27/erklaerung-xml/" target="_blank" rel="noreferrer noopener">XML</a>, CSV).</li>



<li>Remote-Protokoll und JMX-Steuerung zur Anforderung von Ausführungsdaten-Dumps vom Coverage Agent zu jedem beliebigen Zeitpunkt.</li>



<li>Ant-Tasks zum Sammeln und Verwalten von Ausführungsdaten und zum Erstellen strukturierter Abdeckungsberichte.</li>



<li><a href="https://ceosbay.com/2022/12/22/erklaerung-maven/" target="_blank" rel="noreferrer noopener">Maven</a>-Plug-in zum Sammeln von Abdeckungsinformationen und Erstellen von Berichten in <a href="https://ceosbay.com/2022/12/22/erklaerung-maven/" target="_blank" rel="noreferrer noopener">Maven</a>-Builds.</li>
</ul>



<p>JaCoCo bietet die Instructions, Line- und Branchabdeckung. Im Gegensatz zu beispielsweise Atlassian Clover und OpenClover, die eine Instrumentierung des Quellcodes erfordern, kann JaCoCo <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> Bytecode mit zwei verschiedenen Ansätzen instrumentieren:</p>



<ol class="wp-block-list" type="1">
<li>JCov on the fly, während der Code mit einem <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>-Agenten ausgeführt wird beispielsweise wie Cobertura und JCov vor der Ausführung (offline)</li>



<li>Man kann es aber auch so konfigurieren, dass man die gesammelten Daten in einer Datei speichert oder via TCP versendet. Im Gegensatz zu Cobertura und EMMA ist die Unterstützung von so ziemlich allen <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> Versionen ab der <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> Version 7 gewährleistet.</li>
</ol>



<h3 class="wp-block-heading">Tools, die JaCoCo verwenden oder enthalten</h3>



<p>Einige davon habe ich bereits in diversen Beiträgen thematisiert. Mit einem Klick auf das jeweilige Tool kommt man auf den jeweiligen Beitrag.</p>



<ul class="wp-block-list">
<li><a href="https://ceosbay.com/2023/03/17/erklaerung-sonarqube/" target="_blank" rel="noreferrer noopener">SonarQube</a> JaCoCo Plugin &#8211; Standardmäßig für Code Abdeckungsanalysen innerhalb der Code-Qualitätsmanagement-Plattform</li>



<li>EclEmma <a href="https://ceosbay.com/2023/03/19/erklaerung-eclipse/" target="_blank" rel="noreferrer noopener">Eclipse</a> (Software) Code Coverage Plugin</li>



<li><a href="https://ceosbay.com/2022/12/18/erklaerung-jenkins/" target="_blank" rel="noreferrer noopener">Jenkins</a> JaCoCo Plugin</li>



<li>Netbeans JaCoCo support</li>



<li><a href="https://ceosbay.com/2023/03/10/erklaerung-intellij-idea/" target="_blank" rel="noreferrer noopener">IntelliJ IDEA</a> (Seit Version 11)</li>



<li>Gradle JaCoCo Plugin</li>



<li>Visual Studio Team Services</li>



<li>TeamCity</li>
</ul>



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



<p>JaCoCo bietet sich für die Codeabdeckungsanalyse bei der modularen Softwareentwicklung bzw. bei den Unit Tests an. Die Abdeckungsgrade geben an, wie viele Anweisungen, Zweige usw. die Tests durchlaufen. Auf Basis der so gewonnenen Erkenntnisse kann man weitere sinnvolle Testfälle ermitteln oder aber nicht beanspruchten bzw. toten Code entfernen. Es gibt kein allgemeingültiges Mindestmaß an Codeabdeckung. Man definiert die jeweils erforderliche Testabdeckung in Anbetracht des Anwendungsfalls nach einer Risikoeinschätzung sowie der eigenen Entwickler-Fähigkeiten.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/25/erklaerung-jacoco/">JaCoCo &#8211; Messen und Optimieren von Testabdeckung für robuste Java-Anwendungen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/25/erklaerung-jacoco/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1238</post-id>	</item>
		<item>
		<title>Eclipse &#8211; Die flexible Entwicklungsumgebung</title>
		<link>https://ceosbay.com/2023/03/19/erklaerung-eclipse/</link>
					<comments>https://ceosbay.com/2023/03/19/erklaerung-eclipse/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sun, 19 Mar 2023 20:47:00 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[CDT]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[DPP]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Entwicklungsumgebung]]></category>
		<category><![CDATA[Erweiterungen]]></category>
		<category><![CDATA[Fazit]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[GEF]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[IntelliJ]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JFace]]></category>
		<category><![CDATA[Jupiter]]></category>
		<category><![CDATA[Jupyter]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[Kern]]></category>
		<category><![CDATA[Machine]]></category>
		<category><![CDATA[Mylyn]]></category>
		<category><![CDATA[oasp4j]]></category>
		<category><![CDATA[Oomph]]></category>
		<category><![CDATA[Ops]]></category>
		<category><![CDATA[OSGi]]></category>
		<category><![CDATA[Perspektiven]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[PP]]></category>
		<category><![CDATA[Programmiersprache]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[Quellcode]]></category>
		<category><![CDATA[Rich]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Saros]]></category>
		<category><![CDATA[Scala]]></category>
		<category><![CDATA[Sichten]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[Speicher]]></category>
		<category><![CDATA[Sprache]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[UML]]></category>
		<category><![CDATA[Werkzeug]]></category>
		<category><![CDATA[Werkzeuge]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[Yatta]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1190</guid>

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p>Die grafische Oberfläche von Eclipse ist auf eine effiziente Arbeitsweise ausgerichtet. Der konzeptionelle Aufbau durch Views, Editoren und Perspektiven sorgt für eine anpassbare Optik und eine bequeme Arbeitsweise mit und in der IDE. Man kann sowohl die Funktionalitäten als auch die GUI von Eclipse durch die manuelle oder automatische Installation von Plugins bzw. Erweiterungen anpassen. Entsprechende Möglichkeiten finden sich in dem standardmäßig integrierten Market Place von Eclipse.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/19/erklaerung-eclipse/">Eclipse &#8211; Die flexible Entwicklungsumgebung</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/19/erklaerung-eclipse/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1190</post-id>	</item>
		<item>
		<title>BDD &#8211; Behavior Driven Development &#8211; Software, die den Anforderungen der Kunden entspricht</title>
		<link>https://ceosbay.com/2023/03/12/erklaerung-behavior-driven-development/</link>
					<comments>https://ceosbay.com/2023/03/12/erklaerung-behavior-driven-development/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sun, 12 Mar 2023 19:18:20 +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[Internet]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Automatisierung]]></category>
		<category><![CDATA[BDD]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Domain]]></category>
		<category><![CDATA[Driven]]></category>
		<category><![CDATA[Einsatz]]></category>
		<category><![CDATA[Entwickeln]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Mock]]></category>
		<category><![CDATA[Ops]]></category>
		<category><![CDATA[Praxis]]></category>
		<category><![CDATA[Problemraum]]></category>
		<category><![CDATA[Skript]]></category>
		<category><![CDATA[Sprache]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Überprüfung]]></category>
		<category><![CDATA[Werkzeuge]]></category>
		<category><![CDATA[Zusammenarbeit]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1096</guid>

					<description><![CDATA[<p>In der Softwaretechnik ist die verhaltensorientierte Entwicklung (BDD = Behavior Driven Development) ein agiler Softwareentwicklungsprozess. Sie optimiert die Zusammenarbeit zwischen Stakeholder, Entwickler, Qualitätssicherungsexperten und Kundenvertretern in einem Softwareprojekt. Darüber hinaus ermutigt es Teams, Gespräche und &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/12/erklaerung-behavior-driven-development/">BDD &#8211; Behavior Driven Development &#8211; Software, die den Anforderungen der Kunden entspricht</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In der Softwaretechnik ist die verhaltensorientierte Entwicklung (BDD = Behavior Driven Development) ein agiler Softwareentwicklungsprozess. Sie optimiert die Zusammenarbeit zwischen Stakeholder, Entwickler, Qualitätssicherungsexperten und Kundenvertretern in einem Softwareprojekt. Darüber hinaus ermutigt es Teams, Gespräche und konkrete Beispiele zu nutzen, um ein gemeinsames Verständnis dafür zu entwickeln, wie sich eine Anwendung verhalten soll. Es ist aus der testgetriebenen Entwicklung (TDD = Test Driven Development) hervorgegangen.</p>



<p>Die verhaltensgetriebene Entwicklung kombiniert die allgemeinen Techniken und Prinzipien von TDD. Unter Anderem auch mit Ideen aus dem bereichsgetriebenen Design, der objektorientierten Analyse und dem objektorientierten Design, um Softwareentwicklungs- und Managementteams gemeinsame Tools und einen gemeinsamen Prozess für die Zusammenarbeit bei der Softwareentwicklung zur Verfügung zu stellen.</p>



<p>So wie man die Softwareentwicklung sowohl von geschäftlichen Interessen als auch von technischem Verständnis voranbringt, setzt die BDD-Praxis den Einsatz spezieller Softwaretools zur Unterstützung des Entwicklungsprozesses voraus. Obwohl man diese Tools oft speziell für den Einsatz in BDD-Projekten entwickelt, kann man sie als spezialisierte Formen der Tools zur Unterstützung der testgetriebenen Entwicklung betrachten. Diese Tools dienen dazu, die allgegenwärtige Sprache, die ein zentrales Thema von BDD ist, zu automatisieren.</p>



<p>BDD wird weitestgehend durch die Verwendung einer einfachen domänenspezifischen Sprache (DSL = Domain-Specific-Language) mit natürlichen sprachlichen Konstrukten (z.B. deutsch- oder englischsprachige Sätze) erleichtert, mit denen man das Verhalten und die erwarteten Ergebnisse ausdrückt. Testskripte sind seit langem eine beliebte DSLs mit unterschiedlichem Grad an Raffinessen. BDD gilt als effektive technische Praxis, insbesondere wenn der &#8222;Problemraum&#8220; des zu lösenden Geschäftsproblems komplex ist.</p>



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



<p>Im Grunde genommen besteht Behavior Driven Development aus den folgenden Elementen:</p>



<ul class="wp-block-list">
<li>Starke Einbeziehung der Stakeholder in den Prozess durch sogenannte Outside-In-Softwareentwicklung. Diese ist fokussiert auf die Erfüllung der Anforderungen der Auftraggeber, der Enduser, des Betriebs und von Insidern.</li>



<li>Textuelle Beschreibung des Verhaltens der Software und von Softwareteilen durch Fallbeispiele. Verwendung genormter Schlüsselwörter zur Markierung von Vorbedingungen, des externen Verhaltens und des gewünschten Verhaltens der Software.</li>



<li>Automatisierung der Fallbeispiele unter Verwendung von Mock-Objekten zur Simulation von noch nicht implementierten Softwareteilen.</li>



<li>Sukzessive Implementierung der Softwareteile und dem Ersetzen der Mock-Objekte.</li>
</ul>



<p>Dadurch entsteht eine automatisiert prüfbare Beschreibung der zu entwickelnden Software, die jederzeit die Richtigkeit der bereits umgesetzten Teile der Software überprüfen lässt.</p>



<p>Wichtig ist hierbei, dass die Beschreibung nicht die Implementierung der Anwendung vorgibt, sondern den Zweck der Anwendung in Form von Anwendungsbeispielen.</p>



<p>Beim Behavior Driven Development werden die Anforderungen an die Software mittels Beispiele, sogenannten Szenarien beschrieben. Üblicherweise wird für die Beschreibung dieser Szenarien ein bestimmtes Format vorgegeben, damit später die automatisierte Überprüfung der Szenarien einfach umzusetzen ist. Eines dieser Formate ist die Beschreibungssprache „Gherkin“. Man kann es auch in verschiedenen Behavior-Driven-Development-Implementierungen verwenden. Diese Sprache gibt es sowohl mit englischen Schlüsselwörtern (Given, When, Then, And, …), deutschen (Gegeben, Wenn, Dann, Und, …) und in weiteren Sprachen. Mehr dazu in meinem Beitrag über <a href="https://ceosbay.com/2023/03/11/erklaerung-cucumber/" target="_blank" rel="noreferrer noopener">Cucumber bzw. Gherkin</a>.</p>



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



<p>Behavior Driven Development (BDD) ist eine agile Softwareentwicklungs-Methode, die sich auf die Zusammenarbeit zwischen Entwicklern, Business Analysten und Kunden konzentriert, um sicherzustellen, dass die erstellte Software den Bedürfnissen der Anwender entspricht. BDD ist eine Erweiterung des Test Driven Developments (TDD) und legt den Schwerpunkt auf die Definition von klaren, verständlichen Anforderungen und Tests, die das Verhalten der Anwendung aus der Perspektive des Nutzers beschreiben. Durch die Verwendung von gemeinsamer Sprache und konkreten Beispielen kann man die Kommunikation zwischen den Stakeholdern verbessern und Missverständnisse vermeiden. Das Ergebnis ist eine höhere Qualität der Software, eine schnellere Markteinführung und eine höhere Kundenzufriedenheit.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/12/erklaerung-behavior-driven-development/">BDD &#8211; Behavior Driven Development &#8211; Software, die den Anforderungen der Kunden entspricht</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/12/erklaerung-behavior-driven-development/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1096</post-id>	</item>
		<item>
		<title>Autodesk Maya &#8211; Für grandiose Welten und atemberaubende visuelle Effekte</title>
		<link>https://ceosbay.com/2023/02/24/erklaerung-autodesk-maya/</link>
					<comments>https://ceosbay.com/2023/02/24/erklaerung-autodesk-maya/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Fri, 24 Feb 2023 20:42:00 +0000</pubDate>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[3ds Max]]></category>
		<category><![CDATA[Anfänger]]></category>
		<category><![CDATA[Animationen]]></category>
		<category><![CDATA[Animationsindustrie]]></category>
		<category><![CDATA[Animationssoftware]]></category>
		<category><![CDATA[Area]]></category>
		<category><![CDATA[Autodesk]]></category>
		<category><![CDATA[Benutzerfreundlichkeit]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Devs]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[Einstellung]]></category>
		<category><![CDATA[Einstellungen]]></category>
		<category><![CDATA[Embedded]]></category>
		<category><![CDATA[Fehlererkennung]]></category>
		<category><![CDATA[Films]]></category>
		<category><![CDATA[Fortgeschritten]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[HDR]]></category>
		<category><![CDATA[HDRI]]></category>
		<category><![CDATA[Hervorhebung]]></category>
		<category><![CDATA[JPEG]]></category>
		<category><![CDATA[JPG]]></category>
		<category><![CDATA[Komplex]]></category>
		<category><![CDATA[Komplexe]]></category>
		<category><![CDATA[Komplexer]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[Light]]></category>
		<category><![CDATA[Mapping]]></category>
		<category><![CDATA[Maya]]></category>
		<category><![CDATA[MEL]]></category>
		<category><![CDATA[Modelle]]></category>
		<category><![CDATA[Modellierung]]></category>
		<category><![CDATA[Modellierungswerkzeuge]]></category>
		<category><![CDATA[NURBS]]></category>
		<category><![CDATA[Paint]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[PNG]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Realismus]]></category>
		<category><![CDATA[Realistisch]]></category>
		<category><![CDATA[Realistischer]]></category>
		<category><![CDATA[Rendering]]></category>
		<category><![CDATA[Ressourcen]]></category>
		<category><![CDATA[Skript]]></category>
		<category><![CDATA[Skripten]]></category>
		<category><![CDATA[Skripting]]></category>
		<category><![CDATA[Smoke]]></category>
		<category><![CDATA[Spiele]]></category>
		<category><![CDATA[Spieleentwicklung]]></category>
		<category><![CDATA[Spot]]></category>
		<category><![CDATA[Sprachen]]></category>
		<category><![CDATA[Subdivision]]></category>
		<category><![CDATA[Surface]]></category>
		<category><![CDATA[Syntax]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Texturen]]></category>
		<category><![CDATA[Texturieren]]></category>
		<category><![CDATA[Texturierung]]></category>
		<category><![CDATA[TIFF]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Werkzeuge]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1427</guid>

					<description><![CDATA[<p>Autodesk Maya ist eine führende 3D-Animationssoftware, die viele professionelle Animationsdesigner und -Entwickler verwenden, um realistische und interaktive 3D-Modelle sowie Animationen zu erstellen. Die Software bietet eine umfangreiche Palette von Funktionen und Werkzeugen, die es Benutzern &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/02/24/erklaerung-autodesk-maya/">Autodesk Maya &#8211; Für grandiose Welten und atemberaubende visuelle Effekte</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Autodesk Maya ist eine führende 3D-Animationssoftware, die viele professionelle Animationsdesigner und -Entwickler verwenden, um realistische und interaktive 3D-Modelle sowie Animationen zu erstellen. Die Software bietet eine umfangreiche Palette von Funktionen und Werkzeugen, die es Benutzern ermöglichen, komplexe 3D-Projekte zu erstellen und zu realisieren.</p>



<h3 class="wp-block-heading">Tools bzw. Werkzeuge in Maya</h3>



<p>Eine der wichtigsten Funktionen von Autodesk Maya ist die 3D-Modellierung. Die Software bietet verschiedene Arten von Modellierungswerkzeugen. Einschließlich Polygon-Modellierung, NURBS-Modellierung und Subdivision-Surface-Modellierung. Diese Werkzeuge ermöglichen es Benutzern, 3D-Modelle mit verschiedenen Geometrien und Strukturen zu erstellen. Die Modellierungswerkzeuge in Autodesk Maya sind äußerst intuitiv und einfach zu bedienen, was es Anfängern erleichtert, ihre ersten 3D-Modelle zu erstellen.</p>



<p>Eine weitere wichtige Funktion von Autodesk Maya ist die Texturierung. Die Software bietet verschiedene Texturierungswerkzeuge, die Benutzern die Möglichkeit geben, realistische Texturen auf ihre 3D-Modelle anzuwenden. Texture Paint, 2D- und 3D-Mapping-Tools sowie eigene Texturen sind nur einige der Funktionen, die in Autodesk Maya zur Verfügung stehen. Dadurch können Benutzer die Texturen auf ihre 3D-Modelle anpassen und ihr Projekt so realistischer gestalten.</p>



<p>Die Beleuchtung ist ein weiterer wichtiger Aspekt bei der Erstellung von realistischen 3D-Modellen und -Animationen. Autodesk Maya bietet eine Vielzahl von Beleuchtungswerkzeugen, einschließlich Point-Light, Spot-Light, Area-Light und Ambient-Light. Diese Werkzeuge ermöglichen es Benutzern, realistische Lichteffekte in ihre 3D-Projekte zu integrieren. Durch die Anwendung von Beleuchtungseffekten können 3D-Modelle und -Animationen realistischer wirken und eine höhere visuelle Qualität erreichen.</p>



<p>Das Animationswerkzeug in Autodesk Maya ist eine weitere wichtige Funktion. Die Software bietet verschiedene Arten von Animationswerkzeugen, einschließlich Keyframe-Animation, Motion-Capture-Animation und dynamischer Simulation. Dies ermöglicht es Benutzern, komplexe Bewegungen und Interaktionen zwischen verschiedenen 3D-Objekten zu erstellen. Die Animationswerkzeuge sind sehr leistungsfähig und können Anfängern und erfahrenen Animationsdesignern gleichermaßen helfen, ihre Projekte zu erstellen.</p>



<p>Der Rendering-Prozess ist ein weiterer wichtiger Schritt bei der Erstellung von 3D-Modellen und -Animationen. Darüber lassen sich ganze Bücher schreiben doch hier läuft es eher auf einen separaten Beitrag hinaus. Autodesk Maya bietet eine Vielzahl von Rendering-Optionen, einschließlich der Integration von anderen Autodesk-Produkten wie Autodesk 3ds Max und Autodesk Smoke. Auch ist es möglich Drittanbieter Software, wie VRay einzubinden. Doch dazu mehr in einem anderen Beitrag. Die Software ermöglicht es Benutzern, ihre Renderings in verschiedenen Dateiformaten zu exportieren, darunter JPEG, TIFF, PNG und andere. Dadurch können Benutzer ihre 3D-Projekte in verschiedenen Anwendungen verwenden und die gewünschte visuelle Qualität erreichen.</p>



<h3 class="wp-block-heading">Erweiterte bzw. erweiterbare Funktionen</h3>



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



<p>Mel für (Maya Embedded Language) ist eine von Autodesk Maya unterstützte Skriptsprache. Es ist eine interpretierte Sprache, die es Benutzern ermöglicht, benutzerdefinierte Skripte und Plugins zu erstellen, um Arbeitsabläufe zu automatisieren und Projekte zu optimieren.</p>



<p>Die Einbindung von Mel in Autodesk Maya ist relativ einfach und unkompliziert. Die Software bietet eine integrierte Mel-Shell, mit der Benutzer Mel-Code direkt in der Benutzeroberfläche von Autodesk Maya ausführen können. Diese Mel-Shell bietet auch eine Vielzahl von Tools und Funktionen, die Benutzern helfen, ihre Skripte zu debuggen und zu testen.</p>



<p>Neben der Mel-Shell bietet es auch eine integrierte Skript-Editor-Umgebung, in der Benutzer ihre Mel-Skripte erstellen, bearbeiten und debuggen können. Der Skript-Editor bietet eine Vielzahl von Tools und Funktionen, darunter Syntax-Hervorhebung, Codevervollständigung, Fehlererkennung und automatische Formatierung. Benutzer können ihre Mel-Skripte auch speichern und in der Zukunft wiederverwenden.</p>



<p>Autodesk Maya unterstützt auch die Erstellung von benutzerdefinierten Mel-Plugins. Diese Plugins kann man mit Mel-Skripts erstellen, um benutzerdefinierte Funktionen und Werkzeuge in Autodesk Maya zu integrieren. Die Erstellung von Mel-Plugins erfordert jedoch fortgeschrittene Kenntnisse in Mel und in der Programmierung im Allgemeinen.</p>



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



<p>Auch <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a> lässt sich als weitere Skriptsprache, in Autodesk Maya verwenden. Es ist eine sehr leistungsfähige und einfach zu erlernende Sprache, die sich in vielen Bereichen der Programmierung einsetzen lässt. Hier geht es zu dem Beitrag über <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>. Die Integration von <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a> in Autodesk Maya ermöglicht es Benutzern, ihre Arbeitsabläufe zu automatisieren und benutzerdefinierte Werkzeuge und Plug-Ins zu erstellen.</p>



<p>Die Integration von <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a> in Autodesk Maya ist sehr einfach. Die Software bietet eine integrierte <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>-Shell, mit der Benutzer <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>-Code direkt in der Benutzeroberfläche von Autodesk Maya ausführen können. Die <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>-Shell bietet auch eine Vielzahl von Tools und Funktionen, die Benutzern helfen, ihre Skripte zu debuggen und zu testen.</p>



<p>Neben der <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>-Shell bietet Maya auch eine integrierte <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>-Skript-Editor-Umgebung, in der Benutzer ihre <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>-Skripte erstellen, bearbeiten und debuggen können. Der Skript-Editor bietet eine Vielzahl von Tools und Funktionen, darunter Syntax-Hervorhebung, Codevervollständigung, Fehlererkennung und automatische Formatierung. Benutzer können ihre <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>-Skripte speichern, in der Zukunft wiederverwenden und mit anderen Benutzern teilen.</p>



<p>Maya unterstützt die Erstellung von benutzerdefinierten <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>-Plugins. Diese Plugins kann man mit <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>-Skripts erstellen, um benutzerdefinierte Funktionen und Werkzeuge in Autodesk Maya zu integrieren. Die Erstellung von <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>-Plugins erfordert jedoch fortgeschrittene Kenntnisse in <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a> und in der Programmierung im Allgemeinen.</p>



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



<p>Insgesamt ist Autodesk Maya eine leistungsstarke 3D-Animationssoftware, die es Benutzern ermöglicht, komplexe 3D-Modelle und -Animationen zu erstellen. Es ist immer noch ein unverzichtbares Werkzeug für professionelle Animationsdesigner und -Entwickler, die hochwertige 3D-Projekte erstellen möchten. Ich selbst, arbeite bereits seit Ende der 90er Jahren damit. Sei es anfangs noch für Hobby-Projekte oder aber im professionellen Umfeld. Autodesk Maya ist mir ans Herz gewachsen. Darüber hinaus ist es auch sehr beliebt in der Film-, Fernseh- und Spieleindustrie, da es eine Vielzahl von Funktionen bietet, um realistische und interaktive 3D-Modelle und -Animationen zu erstellen. Viele Feature Filme und Werbefilme gehen auf die Kappe von Autodesk Maya.</p>



<p>Die Benutzeroberfläche von Autodesk Maya ist sehr benutzerfreundlich und intuitiv gestaltet. Die meisten Werkzeuge und Funktionen sind leicht zugänglich und einfach zu bedienen. Die Software bietet auch eine Vielzahl von Tutorials, Online-Ressourcen und Schulungen, um Benutzern zu helfen, die verschiedenen Funktionen und Werkzeugen zu verstehen und zu nutzen.</p>



<p>Autodesk Maya wird ständig aktualisiert und weiterentwickelt, um den sich ständig ändernden Anforderungen der Animationsindustrie gewachsen zu sein. Neue Funktionen kommen regelmäßig hinzu, um die Benutzerfreundlichkeit und Effizienz der Software zu verbessern. Die Community ist ebenfalls sehr aktiv und bietet den Benutzern eine Plattform, um ihre Arbeit zu teilen und Feedback zu erhalten.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/02/24/erklaerung-autodesk-maya/">Autodesk Maya &#8211; Für grandiose Welten und atemberaubende visuelle Effekte</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/02/24/erklaerung-autodesk-maya/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1427</post-id>	</item>
		<item>
		<title>Kali Linux &#8211; Die ultimative Waffe für Cybersicherheit</title>
		<link>https://ceosbay.com/2022/12/31/erklaerung-kali-linux/</link>
					<comments>https://ceosbay.com/2022/12/31/erklaerung-kali-linux/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sat, 31 Dec 2022 15:49:52 +0000</pubDate>
				<category><![CDATA[Betriebssystem]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Aircrack]]></category>
		<category><![CDATA[Attacke]]></category>
		<category><![CDATA[Black]]></category>
		<category><![CDATA[Boot]]></category>
		<category><![CDATA[Burp]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Cyber]]></category>
		<category><![CDATA[Cyberkriminalität]]></category>
		<category><![CDATA[Cybersicherheit]]></category>
		<category><![CDATA[Daten]]></category>
		<category><![CDATA[Datenverlust]]></category>
		<category><![CDATA[Dekstop]]></category>
		<category><![CDATA[Engineer]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Ethisch]]></category>
		<category><![CDATA[Ghidra]]></category>
		<category><![CDATA[Grenzen]]></category>
		<category><![CDATA[Hat]]></category>
		<category><![CDATA[IDA Pro]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Kali]]></category>
		<category><![CDATA[Korrekt]]></category>
		<category><![CDATA[Legal]]></category>
		<category><![CDATA[Legaler]]></category>
		<category><![CDATA[live]]></category>
		<category><![CDATA[Malware]]></category>
		<category><![CDATA[Metasploit]]></category>
		<category><![CDATA[mobil]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Newbie]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[OWASP]]></category>
		<category><![CDATA[Pen]]></category>
		<category><![CDATA[Penetration]]></category>
		<category><![CDATA[Penetrationstest]]></category>
		<category><![CDATA[Penetrationstests]]></category>
		<category><![CDATA[Pentesting]]></category>
		<category><![CDATA[Radare2]]></category>
		<category><![CDATA[Rahmen]]></category>
		<category><![CDATA[Reverse]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Sicherung]]></category>
		<category><![CDATA[Skills]]></category>
		<category><![CDATA[Smartphone]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQLMap]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Tool-Sammlung]]></category>
		<category><![CDATA[Verantwortung]]></category>
		<category><![CDATA[Webanwendungssicherheit]]></category>
		<category><![CDATA[Werkzeug]]></category>
		<category><![CDATA[Werkzeuge]]></category>
		<category><![CDATA[White]]></category>
		<category><![CDATA[Whitehat]]></category>
		<category><![CDATA[Wireshark]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[ZAP]]></category>
		<category><![CDATA[Ziel]]></category>
		<category><![CDATA[Zielcomputer]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1488</guid>

					<description><![CDATA[<p>In der dynamischen Welt der Informationstechnologie und der zunehmenden Abhängigkeit von vernetzten Systemen ist es wichtiger denn je, sich mit IT-Sicherheit und den Werkzeugen zur Sicherung unserer Infrastruktur vertraut zu machen. In diesem Blogbeitrag nehme &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/12/31/erklaerung-kali-linux/">Kali Linux &#8211; Die ultimative Waffe für Cybersicherheit</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In der dynamischen Welt der Informationstechnologie und der zunehmenden Abhängigkeit von vernetzten Systemen ist es wichtiger denn je, sich mit IT-Sicherheit und den Werkzeugen zur Sicherung unserer Infrastruktur vertraut zu machen. In diesem Blogbeitrag nehme ich mir Kali Linux vor, ein mächtiges und weit verbreitetes Open-Source-Betriebssystem für IT-Sicherheitsexperten und Hacker.</p>



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



<p>Kali Linux ist ein <a href="https://ceosbay.com/2022/12/05/erklaerung-debian-linux/" target="_blank" rel="noreferrer noopener">Debian</a>-basiertes Betriebssystem, das ursprünglich von Offensive Security entwickelt wurde. Es hat seinen Ursprung in BackTrack Linux. Einem anderen beliebten Penetrationstesting-Betriebssystem, welches 2006 Mati Aharoni und Max Moser ins Leben gerufen haben. BackTrack Linux kombinierte die besten Werkzeuge aus verschiedenen <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/" target="_blank" rel="noreferrer noopener">Linux</a>-Distributionen. Man konzentrierte sich damit ebenfalls auf die Sicherheit und bot sie in einem einzigen Paket an. 2013 wurde BackTrack eingestellt und durch Kali Linux ersetzt, das heute als Standard für IT-Sicherheitsanwendungen und -lösungen gilt.</p>



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



<p>Kali Linux ist speziell für IT-Sicherheitszwecke entwickelt. Es verfügt über eine Fülle von vorinstallierten Tools und Anwendungen, die für verschiedene Aufgaben wie Penetrationstests, forensische Analysen, Reverse Engineering und vieles mehr nützlich sind. Einige der Hauptmerkmale von Kali Linux sind:</p>



<ul class="wp-block-list">
<li>Umfangreiche Werkzeugsammlung: Kali Linux bietet über 600 vorinstallierte Tools, die auf verschiedene Sicherheitsbereiche abzielen. Zu diesen Tools gehören Nmap, <a href="https://ceosbay.com/2022/11/24/erklaerung-wireshark/" target="_blank" rel="noreferrer noopener">Wireshark</a>, Metasploit Framework, Burp Suite, Aircrack-ng und viele mehr.</li>



<li>Regelmäßige Updates: Es wird ständig aktualisiert, um sicherzustellen, dass es über die neuesten Sicherheitspatches und Tools verfügt. Benutzer können sich auf eine aktive Community und eine engagierte Entwicklergruppe verlassen. Denn diese ist stets bemüht, die beste Erfahrung zu bieten.</li>



<li>Anpassungsfähigkeit: Es ist hochgradig anpassbar und man kann es auf einer Vielzahl von Geräten sowie Plattformen installieren. Einschließlich Desktops, Laptops, <a href="https://ceosbay.com/2023/03/04/erklaerung-raspberry-pi/" target="_blank" rel="noreferrer noopener">Raspberry Pi&#8217;s</a>, BeagleBone Black und sogar auf Smartphones (Mithilfe von Kali NetHunter) 😉</li>



<li>Live-Boot-Option: Man kann es direkt von einem USB-Stick oder einer DVD booten, ohne es auf dem Zielcomputer zu installieren.</li>



<li>Multilingual: Es unterstützt mehrere Sprachen, was den Zugang und die Zusammenarbeit für Benutzer aus verschiedenen Ländern erleichtert.</li>
</ul>



<h3 class="wp-block-heading">Anwendungsfälle</h3>



<p>Kali Linux wird hauptsächlich von Sicherheitsfachleuten, Pentestern, Netzwerkadministratoren und Cybersecurity-Enthusiasten genutzt. Einige der häufigsten Anwendungsfälle für Kali Linux sind:</p>



<ul class="wp-block-list">
<li>Penetrationstests: Es ist ein hervorragendes Werkzeug für Penetrationstests, bei denen man Schwachstellen in Netzwerken, Anwendungen und Systemen identifizieren kann. Mit den vorinstallierten Tools können IT-Sicherheitsexperten sicherheitsrelevante Tests durchführen, um potenzielle Angriffsvektoren zu entdecken und entsprechende Abwehrmaßnahmen zu ergreifen.</li>



<li>Forensische Analysen: Es enthält auch eine Reihe von Tools für forensische Analysen und Untersuchungen, die man in Fällen von Datenverlust, Cyberkriminalität oder Sicherheitsverletzungen einsetzen kann. Solche Tools ermöglichen es Sicherheitsexperten, digitale Spuren und Beweise zu finden, um Cyberkriminelle zur Rechenschaft zu ziehen und zukünftige Angriffe zu verhindern.</li>



<li>Reverse Engineering: Kali Linux enthält Tools wie Ghidra, IDA Pro und Radare2, die man für Reverse Engineering und Malware-Analysen verwenden kann. Reverse Engineering kann dazu beitragen, die Funktionsweise von Malware oder Software zu verstehen und Sicherheitslücken zu identifizieren.</li>



<li>Webanwendungssicherheit: Es bietet eine Vielzahl von Tools zur Analyse von Webanwendungen, wie beispielsweise Burp Suite, OWASP ZAP und SQLMap. Diese Tools ermöglichen das Auffinden von Schwachstellen in Webanwendungen, das Testen von Sicherheitsmechanismen und das Aufdecken von Datenlecks.</li>



<li>Drahtlose Netzwerksicherheit: Mit Kali Linux können Sicherheitsexperten auch drahtlose Netzwerke überwachen und analysieren. Tools wie Aircrack-ng, <a href="https://ceosbay.com/2022/11/24/erklaerung-wireshark/">Wireshark</a> und Kismet helfen dabei, Schwachstellen in WLANs aufzudecken und Gegenmaßnahmen zu entwickeln.</li>
</ul>



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



<p>Kali Linux ist eine mächtige und vielseitige Linux-Distribution, speziell für IT-Sicherheitsexperten. Mit einer umfangreichen Sammlung von Tools und Anwendungen ermöglicht es eine gründliche Untersuchung und Analyse von Netzwerken, Anwendungen und Systemen. Dies bietet sich an, um Schwachstellen zu identifizieren und Sicherheitsmaßnahmen zu ergreifen. Obwohl Kali Linux in erster Linie für Fachleute konzipiert ist, können auch IT-Enthusiasten und Neulinge im Bereich der Cybersicherheit von diesem Betriebssystem profitieren. Es ist ausgezeichnet um die eigenen Fähigkeiten zu erweitern und um Systeme besser zu schützen. Dennoch ist es wichtig, die Verantwortung und rechtlichen Rahmenbedingungen bei der Nutzung von Kali Linux und seinen Tools zu beachten, um ausschließlich im Rahmen legaler und ethischer Grenzen zu agieren.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/12/31/erklaerung-kali-linux/">Kali Linux &#8211; Die ultimative Waffe für Cybersicherheit</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/12/31/erklaerung-kali-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1488</post-id>	</item>
	</channel>
</rss>
