Co je EJS a proč jej potřebuji?

Co je EJS a proč jej potřebuji?

Při vývoji webu existuje mnoho nástrojů, ze kterých si mohou vývojáři vybrat. Výběr správných nástrojů a technologií může mít významný vliv na efektivitu a funkčnost projektů. Jedním z populárních nástrojů ve vývoji webových aplikací je EJS, což je zkratka pro Embedded JavaScript . EJS je jednoduchý šablonovací jazyk JavaScript, který generuje HTML s jednoduchým JavaScriptem. V tomto článku se budeme zabývat tím, co je EJS, proč je potřeba, jeho funkcemi, jak jej nainstalovat a poskytneme příklad s výstupem.

Co je EJS

EJS nebo Embedded JavaScript je šablonový engine pro JavaScript, který se používá pro vývoj webových aplikací, který umožňuje uživatelům generovat dynamické HTML značky pomocí JavaScript kódu v HTML šablonách. Je navržen tak, aby zjednodušil proces vykreslování dynamického obsahu ve webových aplikacích. Obsahuje směs HTML a JavaScriptu, která usnadňuje generování dynamického obsahu na základě dat z vaší aplikace.

Vlastnosti EJS

  • Jednoduchá syntaxe: EJS nabízí přímou syntaxi, která kombinuje HTML a JavaScript, takže se snadno učí a používá.
  • Dynamický obsah: EJS umožňuje generování obsahu HTML a JavaScript dynamicky v rámci značek HTML, což zvyšuje flexibilitu při vytváření obsahu.
  • Rozložení a části: EJS podporuje rozvržení a částečky, což uživatelům umožňuje rozdělit šablony na opakovaně použitelné komponenty, což snižuje duplicitu kódu a zlepšuje udržovatelnost.
  • Vypořádání se s chybou: EJS poskytuje chybové zprávy, které pomáhají vývojářům při ladění a zlepšují celkový vývoj.

Proč potřebujete EJS?

  • Dynamické generování HTML: EJS umožňuje generovat dynamický obsah HTML na základě proměnných, podmínek, smyček a další logiky JavaScriptu. To je užitečné zejména pro vykreslování dynamických dat načtených z databází nebo rozhraní API.
  • Znovupoužitelnost kódu: Pomocí šablon EJS můžete vytvářet opakovaně použitelné komponenty nebo části, které lze zahrnout na více stránek. To podporuje modularitu kódu a snižuje duplicitu ve vašich webových aplikacích.
  • Vykreslování na straně serveru: S EJS můžete provádět server-side rendering (SSR) webových stránek. SSR je přínosem pro SEO (Search Engine Optimization), protože umožňuje vyhledávačům procházet a indexovat váš obsah efektivněji ve srovnání s vykreslováním na straně klienta (CSR), které provádějí rámce jako React nebo Angular.
  • Snadná integrace s Node.js a Express.js: EJS se hladce integruje s Node.js a Express.js, díky čemuž je oblíbenou volbou pro vývojáře pracující na serverových aplikacích JavaScript. Je snadné jej nastavit a používat v rámci projektu Express.js.
  • Známá syntaxe: Pokud jste již obeznámeni s HTML a JavaScriptem, učení a používání EJS je jednoduché. Syntaxe je podobná HTML s vloženým kódem JavaScript > tagy, takže je přístupný vývojářům s různou úrovní dovedností.
  • Dědičnost šablony a rozvržení: EJS podporuje dědičnost šablon a rozvržení, což vám umožňuje vytvářet konzistentní rozvržení pro vaše webové stránky. Můžete definovat základní rozvržení a rozšířit je v jiných šablonách, což usnadňuje udržení konzistentního vzhledu a chování v celé aplikaci.

Jak používat EJS?

Krok 1: Nainstalujte EJS jako závislost ve svém projektu

 npm install ejs 

Krok 2: Vytvořte složku „views“ v adresáři projektu, pokud ještě neexistuje. Ve složce views vytvořte nový soubor s příponou .ejs, například index.ejs

Krok 3: Chcete-li integrovat EJS s Express v aplikaci Express.js, nastavte EJS jako zobrazovací modul v konfiguraci aplikace Express. Tato konfigurace umožňuje Express používat EJS pro vykreslování pohledů.

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

Krok 4: Vykreslit šablonu EJS, ve vašich obslužných rutinách expresní cesty vykreslíme šablonu EJS pomocí „res.render()“ a poskytnout nezbytná data, která mají být předána šabloně.

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

Struktura projektu:

adresář_projektu

Aktualizované závislosti v package.json soubor bude vypadat takto:

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

Příklad: Implementace k předvedení použití ejs s příkladem.

HTML
          Příklad EJS> hlava> <body>  <h1>Ahoj, <%= name %>!h1> tělo> 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('ahoj', { jméno: 'Geeks' }); }); app.listen(port, () => { console.log(`Server běží na http://localhost:${port}`); }); </pre>  </code>  <p dir='ltr'>  <b>  <strong>Krok ke spuštění aplikace: </strong>  </b>  <span>Spusťte aplikaci pomocí následujícího příkazu z kořenového adresáře projektu </span> </p>  <pre>node index.js </pre> <p dir='ltr'>  <b>  <strong>Výstup: </strong>  </b>  <span>Váš projekt se zobrazí na adrese URL http://localhost:3000/ </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='výstup'> </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>
                                Podíl                              </h4>
                             
                              <div class="flex flex-wrap justify-center gap-3">
                                 <!-- Twitter -->
                                 <a href="https://twitter.com/intent/tweet?text=Co je EJS a proč jej potřebuji?&url=https://www.techcodeview.com/cs/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/cs/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/cs/what-is-ejs-why-do-i-need-it&title=Co je EJS a proč jej potřebuji?" 
                                   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">
                        Mohlo By Se Vám Líbit                     </h3>
                     <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
                         <div class="group">
                              <a href="/cs/types-software-testing" 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/software-testing/50/types-software-testing.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Typy testování softwaru" 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="/cs/types-software-testing">Typy testování softwaru </a>
                              </h4>
                         </div> <div class="group">
                              <a href="/cs/how-find-downloads-android" 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/android-tutorial/69/how-find-downloads-android.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Jak najít soubory ke stažení na Androidu" 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="/cs/how-find-downloads-android">Jak najít soubory ke stažení na Androidu </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>
                Nejlepší Články             </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="/cs/cp-command-linux-unix-linux-copy-file">
						 <img src="https://techcodeview.com/img/linux-files/31/cp-command-linux-unix-linux-copy-file.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="cp Command v Linuxu/Unixu | Linux Kopírovat soubor" 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="/cs/cp-command-linux-unix-linux-copy-file" class="hover:text-tech-500 transition-colors line-clamp-3">cp Command v Linuxu/Unixu | Linux Kopírovat soubor </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="/cs/javascript-formdata">
						 <img src="https://techcodeview.com/img/javascript-tutorial/01/javascript-formdata.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="JavaScript FormData" 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="/cs/javascript-formdata" class="hover:text-tech-500 transition-colors line-clamp-3">JavaScript FormData </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="/cs/ap-psychology-practice-tests-1311270">
						 <img src="https://techcodeview.com/img/blog/09/ap-psychology-practice-tests.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Praktické testy AP Psychologie: Kompletní kolekce" 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="/cs/ap-psychology-practice-tests-1311270" class="hover:text-tech-500 transition-colors line-clamp-3">Praktické testy AP Psychologie: Kompletní kolekce </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="/cs/80-interesting-questions-ask-people-any-situation-1311524">
						 <img src="https://techcodeview.com/img/blog/09/80-interesting-questions-ask-people-any-situation.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="80 zajímavých otázek, které můžete položit lidem v jakékoli situaci" 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="/cs/80-interesting-questions-ask-people-any-situation-1311524" class="hover:text-tech-500 transition-colors line-clamp-3">80 zajímavých otázek, které můžete položit lidem v jakékoli situaci </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="/cs/screen-command-linux-with-examples">
						 <img src="https://techcodeview.com/img/linux-command/68/screen-command-linux-with-examples.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="screen příkaz v Linuxu s příklady" 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="/cs/screen-command-linux-with-examples" class="hover:text-tech-500 transition-colors line-clamp-3">screen příkaz v Linuxu s příklady </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="/cs/serialization-annotations-jackson">
						 <img src="https://techcodeview.com/img/jackson-tutorial/82/serialization-annotations-jackson.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Serializační anotace v Jacksonu" 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="/cs/serialization-annotations-jackson" class="hover:text-tech-500 transition-colors line-clamp-3">Serializační anotace v Jacksonu </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="/cs/how-create-dropdown-list-using-javascript">
						 <img src="https://techcodeview.com/img/javascript-tutorial/55/how-create-dropdown-list-using-javascript.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Jak vytvořit rozevírací seznam pomocí JavaScriptu?" 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="/cs/how-create-dropdown-list-using-javascript" class="hover:text-tech-500 transition-colors line-clamp-3">Jak vytvořit rozevírací seznam pomocí JavaScriptu? </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="/cs/how-make-navigation-bar-html">
						 <img src="https://techcodeview.com/img/html-tutorial/04/how-make-navigation-bar-html.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Jak vytvořit navigační panel v Html" 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="/cs/how-make-navigation-bar-html" class="hover:text-tech-500 transition-colors line-clamp-3">Jak vytvořit navigační panel v Html </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="/cs/python-def-keyword">
						 <img src="https://techcodeview.com/img/picked/63/python-def-keyword.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Klíčové slovo Python def" 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="/cs/python-def-keyword" class="hover:text-tech-500 transition-colors line-clamp-3">Klíčové slovo Python def </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="/cs/mysql-common-table-expression">
						 <img src="https://techcodeview.com/img/mysql-tutorial/80/mysql-common-table-expression.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="MySQL Common Table Expression (CTE)" 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="/cs/mysql-common-table-expression" class="hover:text-tech-500 transition-colors line-clamp-3">MySQL Common Table Expression (CTE) </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="/cs/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="/cs/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 Konverze
             </a> <a href="/cs/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">
                Matematika
             </a> <a href="/cs/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">
                Kolekce Java
             </a> <a href="/cs/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">
                Rozdíly
             </a> <a href="/cs/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">
                Řetězec Java
             </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">Zajímavé Články </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/blog/80/229-common-english-verbs-with-examples.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="229 Běžná anglická slovesa s příklady" 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="/cs/blog/">Blog </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/cs/229-common-english-verbs-with-examples-13134">229 Běžná anglická slovesa s příklady </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/html-questions/85/how-center-contents-an-html-table.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Jak vycentrovat obsah HTML tabulky?" 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="/cs/html-questions/">Html Otázky </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/cs/how-center-contents-an-html-table">Jak vycentrovat obsah HTML tabulky? </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/jquery-tutorial/69/jquery-ready-function.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="funkce jQuery ready()." 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="/cs/jquery-tutorial/">Výukový Program Jquery </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/cs/jquery-ready-function">funkce jQuery ready(). </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/mysql-tutorial/25/mysql-replace.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="VYMĚNIT MySQL" 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="/cs/mysql-tutorial/">Výukový Program Mysql </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/cs/mysql-replace">VYMĚNIT MySQL </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/java-tutorial/41/override-equals-method-java.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Přepsat se rovná metodě v Javě" 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="/cs/java-tutorial/">Výukový Program Java </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/cs/override-equals-method-java">Přepsat se rovná metodě v Javě </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/binary-tree/89/difference-between-full.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Rozdíl mezi úplným a úplným binárním stromem" 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="/cs/binary-tree/">Binární Strom </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/cs/difference-between-full">Rozdíl mezi úplným a úplným binárním stromem </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 Všechna Práva Vyhrazena | 
                 <a href="//www.techcodeview.com/ro/">techcodeview.com </a> | 
                 <a href="/disclaimer" rel="nofollow noopener noreferrer" target="_blank">Vyloučení Odpovědnosti </a> | 
                 <a href="/about-us" rel="nofollow noopener noreferrer" target="_blank">O Nás </a> | 
                 <a href="/privacy-policy" rel="nofollow noopener noreferrer" target="_blank">Zásady Ochrany Osobních Údajů </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>