Was ist EJS und warum brauche ich es?

Was ist EJS und warum brauche ich es?

Bei der Webentwicklung stehen Entwicklern viele Tools zur Auswahl. Die Wahl der richtigen Tools und Technologien kann einen erheblichen Einfluss auf die Effizienz und Funktionalität von Projekten haben. Eines der beliebtesten Tools in der Webentwicklung ist EJS, was für Embedded steht JavaScript . EJS ist eine einfache JavaScript-Vorlagensprache, die generiert HTML mit einfachem JavaScript. In diesem Artikel erklären wir, was EJS ist, warum es benötigt wird, welche Funktionen es hat, wie man es installiert und ein Beispiel mit Ausgabe bereitstellt.

Was ist EJS?

EJS oder Embedded JavaScript ist eine Vorlagen-Engine für JavaScript, die für die Webentwicklung verwendet wird und es Benutzern ermöglicht, dynamisches HTML-Markup mithilfe von JavaScript-Code in HTML-Vorlagen zu generieren. Es soll den Prozess der Darstellung dynamischer Inhalte in Webanwendungen vereinfachen. Es enthält eine Mischung aus HTML und JavaScript, die es einfach macht, dynamische Inhalte basierend auf Daten aus Ihrer Anwendung zu generieren.

Funktionen von EJS

  • Einfache Syntax: EJS bietet eine unkomplizierte Syntax, die HTML und JavaScript kombiniert und so das Erlernen und Verwenden erleichtert.
  • Dynamischer Inhalt: EJS ermöglicht die dynamische Generierung von HTML- und JavaScript-Inhalten innerhalb von HTML-Tags und erhöht so die Flexibilität bei der Inhaltserstellung.
  • Layout und Teiltexte: EJS unterstützt Layouts und Partials, sodass Benutzer Vorlagen in wiederverwendbare Komponenten aufteilen können, wodurch Codeduplizierungen reduziert und die Wartbarkeit verbessert werden.
  • Fehlerbehandlung: EJS stellt Fehlermeldungen bereit, die Entwicklern beim Debuggen helfen und so das Entwicklungserlebnis insgesamt verbessern.

Warum brauchen Sie EJS?

  • Dynamische HTML-Generierung: Mit EJS können Sie dynamische HTML-Inhalte basierend auf Variablen, Bedingungen, Schleifen und anderer JavaScript-Logik generieren. Dies ist besonders nützlich für die Darstellung dynamischer Daten, die aus Datenbanken oder APIs abgerufen werden.
  • Wiederverwendbarkeit des Codes: Mithilfe von EJS-Vorlagen können Sie wiederverwendbare Komponenten oder Teilkomponenten erstellen, die in mehrere Seiten eingebunden werden können. Dies fördert die Codemodularität und reduziert Duplikate in Ihren Webanwendungen.
  • Serverseitiges Rendering: Mit EJS können Sie ein serverseitiges Rendering (SSR) von Webseiten durchführen. SSR ist für SEO (Suchmaschinenoptimierung) von Vorteil, da es Suchmaschinen ermöglicht, Ihre Inhalte effektiver zu crawlen und zu indizieren als beim clientseitigen Rendering (CSR), das von Frameworks wie React oder Angular durchgeführt wird.
  • Einfache Integration mit Node.js und Express.js: EJS lässt sich nahtlos in Node.js und Express.js integrieren und ist daher eine beliebte Wahl für Entwickler, die an serverseitigen JavaScript-Anwendungen arbeiten. Die Einrichtung und Verwendung innerhalb eines Express.js-Projekts ist einfach.
  • Vertraute Syntax: Wenn Sie bereits mit HTML und JavaScript vertraut sind, ist das Erlernen und Verwenden von EJS unkompliziert. Die Syntax ähnelt HTML mit eingebettetem JavaScript-Code > Tags, die es Entwicklern mit unterschiedlichem Erfahrungsniveau zugänglich machen.
  • Vorlagenvererbung und Layouts: EJS unterstützt die Vererbung von Vorlagen und Layouts, sodass Sie konsistente Layouts für Ihre Webseiten erstellen können. Sie können ein Basislayout definieren und es in anderen Vorlagen erweitern, wodurch es einfacher wird, ein einheitliches Erscheinungsbild in Ihrer gesamten Anwendung beizubehalten.

Wie verwende ich EJS?

Schritt 1: Installieren Sie EJS als Abhängigkeit in Ihrem Projekt

 npm install ejs 

Schritt 2: Erstellen Sie in Ihrem Projektverzeichnis einen Ordner „Ansichten“, falls dieser noch nicht vorhanden ist. Erstellen Sie im Ordner „views“ eine neue Datei mit der Erweiterung „.ejs“, zum Beispiel „index.ejs“.

Schritt 3: Um EJS mit Express in eine Express.js-Anwendung zu integrieren, legen Sie EJS als Ansichts-Engine in Ihrer Express-App-Konfiguration fest. Diese Konfiguration ermöglicht es Express, EJS zum Rendern von Ansichten zu verwenden.

app.set('view engine', 'ejs'); 

Schritt 4: EJS-Vorlage rendern: In Ihren Express-Routenhandlern rendern wir die EJS-Vorlage mithilfe von „res.render()“ und stellen Sie die erforderlichen Daten bereit, die an die Vorlage übergeben werden sollen.

res.render('hello', { name: 'Geeks' }); 

Projektstruktur:

Projektverzeichnis

Die aktualisierten Abhängigkeiten in package.json Die Datei sieht folgendermaßen aus:

'dependencies': {  'ejs': '^3.1.9',  'express': '^4.18.2'  } 

Beispiel: Implementierung zur Veranschaulichung der Verwendung von EJS anhand eines Beispiels.

HTML
          EJS-Beispieltitel> Kopf> <body>  <h1>Hallo, <%= name %>!h1> body> html> </pre>  </code>JavaScript <code>  <pre>// index.js  const express = require('express'); const app = express(); const port = 3000; app.set('view engine', 'ejs'); app.get('/', (req, res) =>{ res.render('hello', { name: 'Geeks' }); }); app.listen(port, () => { console.log(`Server läuft auf http://localhost:${port}`); }); </pre>  </code>  <p dir='ltr'>  <b>  <strong>Schritt zum Ausführen der Anwendung: </strong>  </b>  <span>Führen Sie die Anwendung mit dem folgenden Befehl aus dem Stammverzeichnis des Projekts aus </span> </p>  <pre>node index.js </pre> <p dir='ltr'>  <b>  <strong>Ausgabe: </strong>  </b>  <span>Ihr Projekt wird unter der URL http://localhost:3000/ angezeigt. </span> </p>  <p dir='ltr'> <img src='//techcodeview.com/img/ejs-templating-language/39/what-is-ejs-why-do-i-need-it-2.webp' alt='Ausgabe'> </p>  <br>  <br>
                     </div>

                     <!-- Article Footer with Prominent Share Buttons -->
                     <div class="px-6 md:px-8 py-8 bg-slate-50 dark:bg-slate-900/50 border-t border-slate-200 dark:border-slate-700/50">
                          <div class="flex flex-col sm:flex-row items-center justify-between gap-6">
                              <h4 class="text-base font-bold text-slate-700 dark:text-slate-300 uppercase tracking-wide flex items-center gap-2">
                                 <i class="fa fa-share-alt text-tech-500"> </i>
                                Aktie                              </h4>
                             
                              <div class="flex flex-wrap justify-center gap-3">
                                 <!-- Twitter -->
                                 <a href="https://twitter.com/intent/tweet?text=Was ist EJS und warum brauche ich es?&url=https://www.techcodeview.com/de/what-is-ejs-why-do-i-need-it" 
                                   target="_blank" rel="noopener noreferrer" 
                                   class="flex items-center gap-2 px-6 py-3 rounded-xl bg-[#1DA1F2]/10 text-[#1DA1F2] hover:bg-[#1DA1F2] hover:text-white transition-all duration-300 font-bold text-sm">
                                     <i class="fa fa-twitter text-lg"> </i>
                                     <span class="hidden sm:inline">Twitter </span>
                                 </a>

                                 <!-- Facebook -->
                                 <a href="https://www.facebook.com/sharer/sharer.php?u=https://www.techcodeview.com/de/what-is-ejs-why-do-i-need-it" 
                                   target="_blank" rel="noopener noreferrer"
                                   class="flex items-center gap-2 px-6 py-3 rounded-xl bg-[#4267B2]/10 text-[#4267B2] hover:bg-[#4267B2] hover:text-white transition-all duration-300 font-bold text-sm">
                                     <i class="fa fa-facebook text-lg"> </i>
                                     <span class="hidden sm:inline">Facebook </span>
                                 </a>
                                
                                 <!-- LinkedIn -->
                                 <a href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.techcodeview.com/de/what-is-ejs-why-do-i-need-it&title=Was ist EJS und warum brauche ich es?" 
                                   target="_blank" rel="noopener noreferrer"
                                   class="flex items-center gap-2 px-6 py-3 rounded-xl bg-[#0077b5]/10 text-[#0077b5] hover:bg-[#0077b5] hover:text-white transition-all duration-300 font-bold text-sm">
                                     <i class="fa fa-linkedin text-lg"> </i>
                                     <span class="hidden sm:inline">LinkedIn </span>
                                 </a>
                              </div>
                          </div>
                     </div>
                </article>

                <!-- Comments Placeholder / Random Articles -->
                <div class="mt-8 bg-white dark:bg-slate-800 border border-slate-200 dark:border-slate-700 rounded-xl p-6 md:p-8 shadow-sm">
                     <h3 class="text-xl font-bold text-slate-900 dark:text-white mb-6 uppercase tracking-wide border-b border-slate-200 dark:border-slate-700 pb-2">
                        Das Könnte Ihnen Gefallen                     </h3>
                     <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
                         <div class="group">
                              <a href="/de/making-div-vertically-scrollable-using-css" class="block aspect-video rounded-lg overflow-hidden bg-slate-200 dark:bg-slate-700 mb-3">
                                 <img loading="lazy" src="https://techcodeview.com/img/css-questions/17/making-div-vertically-scrollable-using-css.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Mit CSS ein Div vertikal scrollbar machen" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500">
                              </a>
                              <h4 class="font-bold text-slate-900 dark:text-white leading-tight group-hover:text-tech-500 transition-colors">
                                 <a href="/de/making-div-vertically-scrollable-using-css">Mit CSS ein Div vertikal scrollbar machen </a>
                              </h4>
                         </div> <div class="group">
                              <a href="/de/git-add" class="block aspect-video rounded-lg overflow-hidden bg-slate-200 dark:bg-slate-700 mb-3">
                                 <img loading="lazy" src="https://techcodeview.com/img/git-tutorial/87/git-add.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Git hinzufügen" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500">
                              </a>
                              <h4 class="font-bold text-slate-900 dark:text-white leading-tight group-hover:text-tech-500 transition-colors">
                                 <a href="/de/git-add">Git hinzufügen </a>
                              </h4>
                         </div>
                     </div>
                </div>
             </div>

             <!-- SECONDARY COLUMN (SIDEBAR) -->
             <!-- Aside Column -->
 <div class="lg:col-span-4 space-y-8">
	
	 <!-- Best Articles Widget -->
	 <div class="rounded-xl bg-white dark:bg-slate-800 border border-slate-200 dark:border-slate-700 p-6 shadow-sm">
		 <div class="mb-4 border-b border-slate-100 dark:border-slate-700 pb-2">
			 <h2 class="text-lg font-bold text-slate-900 dark:text-white uppercase tracking-wide flex items-center">
                 <span class="mr-2 h-2 w-2 rounded-full bg-tech-500"> </span>
                Top Artikel             </h2>
		 </div>
		
		 <!-- Owl Carousel Preserved Container -->
		 <div id="owl-carousel-3" class="owl-carousel owl-theme center-owl-nav">
			 <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/de/myflixer-alternatives">
						 <img src="https://techcodeview.com/img/alternatives/75/myflixer-alternatives.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="MyFlixer-Alternativen" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/de/myflixer-alternatives" class="hover:text-tech-500 transition-colors line-clamp-3">MyFlixer-Alternativen </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/de/misty-copeland">
						 <img src="https://techcodeview.com/img/biography/33/misty-copeland.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Misty Copeland" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/de/misty-copeland" class="hover:text-tech-500 transition-colors line-clamp-3">Misty Copeland </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/de/database-schemas">
						 <img src="https://techcodeview.com/img/dbms-relational-model/65/database-schemas.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Datenbankschemata" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/de/database-schemas" class="hover:text-tech-500 transition-colors line-clamp-3">Datenbankschemata </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/de/difference-between-hijab">
						 <img src="https://techcodeview.com/img/differences/03/difference-between-hijab.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Unterschied zwischen Hijab und Burka" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/de/difference-between-hijab" class="hover:text-tech-500 transition-colors line-clamp-3">Unterschied zwischen Hijab und Burka </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/de/how-long-does-it-take-send-sat-scores-1311622">
						 <img src="https://techcodeview.com/img/blog/28/how-long-does-it-take-send-sat-scores.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Wie lange dauert es, SAT-Ergebnisse zu senden?" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/de/how-long-does-it-take-send-sat-scores-1311622" class="hover:text-tech-500 transition-colors line-clamp-3">Wie lange dauert es, SAT-Ergebnisse zu senden? </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/de/usc-vs-ucla-which-is-right-131716">
						 <img src="https://techcodeview.com/img/blog/35/usc-vs-ucla-which-is-right.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="USC vs. UCLA: Welches ist das Richtige für Sie?" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/de/usc-vs-ucla-which-is-right-131716" class="hover:text-tech-500 transition-colors line-clamp-3">USC vs. UCLA: Welches ist das Richtige für Sie? </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/de/what-is-internet">
						 <img src="https://techcodeview.com/img/computer/36/what-is-internet.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Was ist das Internet?" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/de/what-is-internet" class="hover:text-tech-500 transition-colors line-clamp-3">Was ist das Internet? </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/de/program-to-find-all-mersenne-primes-till-n">
						 <img src="https://techcodeview.com/img/mathematical/64/program-to-find-all-mersenne-primes-till-n.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Programm zum Finden aller Mersenne-Primzahlen bis N" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/de/program-to-find-all-mersenne-primes-till-n" class="hover:text-tech-500 transition-colors line-clamp-3">Programm zum Finden aller Mersenne-Primzahlen bis N </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/de/15-best-merit-scholarships-131416">
						 <img src="https://techcodeview.com/img/blog/89/15-best-merit-scholarships.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Die 15 besten Leistungsstipendien für Hochschulstudenten" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/de/15-best-merit-scholarships-131416" class="hover:text-tech-500 transition-colors line-clamp-3">Die 15 besten Leistungsstipendien für Hochschulstudenten </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE --> <!-- ARTICLE -->
			 <article class="flex items-start gap-4 p-2 hover:bg-slate-50 dark:hover:bg-slate-700/50 rounded-lg transition-colors">
				 <div class="w-20 h-20 shrink-0 overflow-hidden rounded-md bg-slate-200 dark:bg-slate-700">
					 <a href="/de/itoa-function-c">
						 <img src="https://techcodeview.com/img/c-tutorial/58/itoa-function-c.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="itoa-Funktion in C" class="w-full h-full object-cover">
					 </a>
				 </div>
				 <div class="flex-1 min-w-0">
					 <h4 class="text-sm font-semibold text-slate-800 dark:text-slate-200 leading-snug">
                         <a href="/de/itoa-function-c" class="hover:text-tech-500 transition-colors line-clamp-3">itoa-Funktion in C </a>
                     </h4>
				 </div>
			 </article>
			 <!-- /ARTICLE -->
		 </div>
		

         <!-- Categories -->
		 <div class="mt-8 mb-4 border-b border-slate-100 dark:border-slate-700 pb-2">
			 <h2 class="text-lg font-bold text-slate-900 dark:text-white uppercase tracking-wide">Kategorie </h2>
		 </div>
		 <div class="flex flex-wrap gap-2">
             <a href="/de/blog/" class="inline-block px-3 py-1 bg-slate-100 dark:bg-slate-700 text-xs font-medium text-slate-600 dark:text-slate-300 rounded-full hover:bg-tech-500 hover:text-white transition-colors">
                Blog
             </a> <a href="/de/java-conversion/" class="inline-block px-3 py-1 bg-slate-100 dark:bg-slate-700 text-xs font-medium text-slate-600 dark:text-slate-300 rounded-full hover:bg-tech-500 hover:text-white transition-colors">
                Java-Konvertierung
             </a> <a href="/de/maths/" class="inline-block px-3 py-1 bg-slate-100 dark:bg-slate-700 text-xs font-medium text-slate-600 dark:text-slate-300 rounded-full hover:bg-tech-500 hover:text-white transition-colors">
                Mathe
             </a> <a href="/de/java-collections/" class="inline-block px-3 py-1 bg-slate-100 dark:bg-slate-700 text-xs font-medium text-slate-600 dark:text-slate-300 rounded-full hover:bg-tech-500 hover:text-white transition-colors">
                Java-Sammlungen
             </a> <a href="/de/differences/" class="inline-block px-3 py-1 bg-slate-100 dark:bg-slate-700 text-xs font-medium text-slate-600 dark:text-slate-300 rounded-full hover:bg-tech-500 hover:text-white transition-colors">
                Unterschiede
             </a> <a href="/de/java-string/" class="inline-block px-3 py-1 bg-slate-100 dark:bg-slate-700 text-xs font-medium text-slate-600 dark:text-slate-300 rounded-full hover:bg-tech-500 hover:text-white transition-colors">
                Java-String
             </a>
         </div>

         <!-- Interesting Articles Widget -->
		 <div class="mt-8">
			 <div class="mb-4 border-b border-slate-100 dark:border-slate-700 pb-2">
				 <h2 class="text-lg font-bold text-slate-900 dark:text-white uppercase tracking-wide">Interessante Artikel </h2>
			 </div>
			
			 <div id="owl-carousel-4" class="owl-carousel owl-theme">
				 <!-- ARTICLE -->
				 <article class="relative aspect-video rounded-lg overflow-hidden group mb-2">
					 <div class="absolute inset-0">
						 <img src="https://techcodeview.com/img/java/46/arrays-sort-in-java.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Arrays.sort() in Java" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500">
                         <div class="absolute inset-0 bg-gradient-to-t from-black/80 to-transparent"> </div>
					 </div>
					 <div class="absolute bottom-0 left-0 p-4">
						 <div class="text-xs text-tech-400 font-bold mb-1"> <a href="/de/java/">Java </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/de/arrays-sort-in-java">Arrays.sort() in Java </a> </h4>
					 </div>
				 </article>
				 <!-- /ARTICLE --> <!-- ARTICLE -->
				 <article class="relative aspect-video rounded-lg overflow-hidden group mb-2">
					 <div class="absolute inset-0">
						 <img src="https://techcodeview.com/img/artificial-intelligence/34/upper-confidence-bound-algorithm-reinforcement-learning.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Algorithmus mit oberer Konfidenzgrenze beim Reinforcement Learning" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500">
                         <div class="absolute inset-0 bg-gradient-to-t from-black/80 to-transparent"> </div>
					 </div>
					 <div class="absolute bottom-0 left-0 p-4">
						 <div class="text-xs text-tech-400 font-bold mb-1"> <a href="/de/artificial-intelligence/">Künstliche Intelligenz </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/de/upper-confidence-bound-algorithm-reinforcement-learning">Algorithmus mit oberer Konfidenzgrenze beim Reinforcement Learning </a> </h4>
					 </div>
				 </article>
				 <!-- /ARTICLE --> <!-- ARTICLE -->
				 <article class="relative aspect-video rounded-lg overflow-hidden group mb-2">
					 <div class="absolute inset-0">
						 <img src="https://techcodeview.com/img/python-tutorial/89/caesar-cipher-python.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Caesar-Chiffre in Python" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500">
                         <div class="absolute inset-0 bg-gradient-to-t from-black/80 to-transparent"> </div>
					 </div>
					 <div class="absolute bottom-0 left-0 p-4">
						 <div class="text-xs text-tech-400 font-bold mb-1"> <a href="/de/python-tutorial/">Python-Tutorial </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/de/caesar-cipher-python">Caesar-Chiffre in Python </a> </h4>
					 </div>
				 </article>
				 <!-- /ARTICLE --> <!-- ARTICLE -->
				 <article class="relative aspect-video rounded-lg overflow-hidden group mb-2">
					 <div class="absolute inset-0">
						 <img src="https://techcodeview.com/img/blog/79/defining-good-sat-score.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Definieren eines guten SAT-Scores" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500">
                         <div class="absolute inset-0 bg-gradient-to-t from-black/80 to-transparent"> </div>
					 </div>
					 <div class="absolute bottom-0 left-0 p-4">
						 <div class="text-xs text-tech-400 font-bold mb-1"> <a href="/de/blog/">Blog </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/de/defining-good-sat-score-1311030">Definieren eines guten SAT-Scores </a> </h4>
					 </div>
				 </article>
				 <!-- /ARTICLE --> <!-- ARTICLE -->
				 <article class="relative aspect-video rounded-lg overflow-hidden group mb-2">
					 <div class="absolute inset-0">
						 <img src="https://techcodeview.com/img/computer-network/33/tcp-vs-udp.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="TCP vs. UDP" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500">
                         <div class="absolute inset-0 bg-gradient-to-t from-black/80 to-transparent"> </div>
					 </div>
					 <div class="absolute bottom-0 left-0 p-4">
						 <div class="text-xs text-tech-400 font-bold mb-1"> <a href="/de/computer-network/">Computernetzwerk </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/de/tcp-vs-udp">TCP vs. UDP </a> </h4>
					 </div>
				 </article>
				 <!-- /ARTICLE --> <!-- ARTICLE -->
				 <article class="relative aspect-video rounded-lg overflow-hidden group mb-2">
					 <div class="absolute inset-0">
						 <img src="https://techcodeview.com/img/blog/01/is-digital-sat-easier.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Ist das digitale SAT einfacher oder schwieriger als die Papierversion?" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500">
                         <div class="absolute inset-0 bg-gradient-to-t from-black/80 to-transparent"> </div>
					 </div>
					 <div class="absolute bottom-0 left-0 p-4">
						 <div class="text-xs text-tech-400 font-bold mb-1"> <a href="/de/blog/">Blog </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/de/is-digital-sat-easier-131484">Ist das digitale SAT einfacher oder schwieriger als die Papierversion? </a> </h4>
					 </div>
				 </article>
				 <!-- /ARTICLE -->
			 </div>
		 </div>
	 </div>
 </div>
 <!-- /Aside Column -->         </div>
        </div>
     </div>

 <footer class="site-footer">
         <div class="container">
             <span class="footer-links">
                Copyright ©2026 Alle Rechte Vorbehalten | 
                 <a href="//www.techcodeview.com/it/">techcodeview.com </a> | 
                 <a href="/disclaimer" rel="nofollow noopener noreferrer" target="_blank">Haftungsausschluss </a> | 
                 <a href="/about-us" rel="nofollow noopener noreferrer" target="_blank">Über Uns </a> | 
                 <a href="/privacy-policy" rel="nofollow noopener noreferrer" target="_blank">Datenschutzrichtlinie </a> 
             </span>
         </div>
     </footer>
 
     <script type="text/javascript" src="https://techcodeview.com/template/assets/plugins/jquery-1.11.3.min.js"> </script>
     <script type="text/javascript" src="https://techcodeview.com/template/assets/plugins/bootstrap/js/bootstrap.min.js"> </script>    
     <script type="text/javascript" src="https://techcodeview.com/template/assets/js/main.js"> </script>     
	 <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/highlight.min.js"> </script>
	 <script>
    !function(){"use strict";let t=document.createElement("button");t.id="toTopBtn",t.innerHTML="↑";let e=`
        #toTopBtn {
            position: fixed; bottom: 25px; right: 25px; z-index: 9999; opacity: 0; visibility: hidden; background-color: #0ea5e9; color: white; border: none; border-radius: 8px; width: 50px; height: 50px; font-size: 24px; cursor: pointer; transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
        }
        #toTopBtn:hover { background-color: #0284c7; }
    `,i=document.createElement("style");i.type="text/css",i.innerText=e,document.head.appendChild(i),document.body.appendChild(t),window.addEventListener("scroll",()=>{let e=window.scrollY||document.documentElement.scrollTop;e>300?(t.style.opacity="1",t.style.visibility="visible"):(t.style.opacity="0",t.style.visibility="hidden")}),t.addEventListener("click",()=>{window.scrollTo({top:0,behavior:"smooth"})})}();
     </script>
 </body>
 </html>