EJS とは何ですか? なぜ必要ですか?

EJS とは何ですか? なぜ必要ですか?

Web 開発では、開発者が選択できるツールが多数あります。適切なツールとテクノロジーを選択すると、プロジェクトの効率と機能に大きな影響を与える可能性があります。 Web 開発で人気のあるツールの 1 つは EJS (Embedded の略) です。 JavaScript 。 EJS は、以下を生成する単純な JavaScript テンプレート言語です。 HTML プレーンな JavaScript を使用します。この記事では、EJS とは何か、EJS が必要な理由、その機能、インストール方法について説明し、出力例を示します。

EJSとは

EJS または Embedded JavaScript は、Web 開発に使用される JavaScript のテンプレート エンジンで、ユーザーは HTML テンプレート内の JavaScript コードを使用して動的な HTML マークアップを生成できます。これは、Web アプリケーションで動的コンテンツをレンダリングするプロセスを簡素化するように設計されています。これには HTML と JavaScript が混合して含まれており、アプリケーションからのデータに基づいて動的コンテンツを簡単に生成できます。

EJSの特徴

  • 単純な構文: EJS は、HTML と JavaScript を組み合わせた単純な構文を提供するため、学習と使用が簡単になります。
  • 動的コンテンツ: EJS を使用すると、HTML タグ内で HTML および JavaScript コンテンツを動的に生成できるようになり、コンテンツ作成の柔軟性が向上します。
  • レイアウトと部分: EJS はレイアウトとパーシャルをサポートしているため、ユーザーはテンプレートを再利用可能なコンポーネントに分割して、コードの重複を減らし、保守性を高めることができます。
  • エラー処理: EJS は、開発者のデバッグを支援するエラー メッセージを提供し、全体的な開発エクスペリエンスを向上させます。

なぜ EJS が必要なのでしょうか?

  • 動的HTMLの生成: EJS を使用すると、変数、条件、ループ、およびその他の JavaScript ロジックに基づいて動的な HTML コンテンツを生成できます。これは、データベースまたは API から取得した動的データをレンダリングする場合に特に便利です。
  • コードの再利用性: EJS テンプレートを使用すると、複数のページに含めることができる再利用可能なコンポーネントまたは部分を作成できます。これにより、コードのモジュール化が促進され、Web アプリケーションの重複が削減されます。
  • サーバー側のレンダリング: EJS を使用すると、Web ページのサーバー側レンダリング (SSR) を実行できます。 SSR は、React や Angular などのフレームワークによって実行されるクライアント側レンダリング (CSR) と比較して、検索エンジンがコンテンツをより効率的にクロールしてインデックス付けできるため、SEO (検索エンジン最適化) にとって有益です。
  • Node.js および Express.js との簡単な統合: EJS は Node.js および Express.js とシームレスに統合されるため、サーバーサイド JavaScript アプリケーションに取り組む開発者にとって人気の選択肢となっています。 Express.js プロジェクト内でのセットアップと使用は簡単です。
  • よく知られた構文: HTML と JavaScript にすでに慣れている場合は、EJS を学習して使用するのは簡単です。構文は HTML に似ており、JavaScript コードが埋め込まれています。 > タグを使用すると、さまざまなスキル レベルの開発者がアクセスできるようになります。
  • テンプレートの継承とレイアウト: EJS はテンプレートの継承とレイアウトをサポートしているため、Web ページに一貫したレイアウトを作成できます。基本レイアウトを定義して他のテンプレートに拡張できるため、アプリケーション全体で一貫したルック アンド フィールを維持しやすくなります。

EJSの使い方は?

ステップ1: EJS を依存関係としてプロジェクトにインストールする

 npm install ejs 

ステップ2: プロジェクト ディレクトリに「views」フォルダーが存在しない場合は作成します。 views フォルダー内に、拡張子が .ejs の新しいファイル (たとえば、index.ejs) を作成します。

ステップ 3: Express.js アプリケーションで EJS を Express と統合するには、Express アプリ構成で EJS をビュー エンジンとして設定します。この構成により、Express はビューのレンダリングに EJS を使用できるようになります。

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

ステップ 4: EJS テンプレートをレンダリングします。Express ルート ハンドラーでは、次を使用して EJS テンプレートをレンダリングします。 「res.render()」 テンプレートに渡す必要なデータを提供します。

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

プロジェクトの構造:

プロジェクトディレクトリ

更新された依存関係 パッケージ.json ファイルは次のようになります:

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

例: ejs の使用法を例とともに紹介する実装。

HTML
          EJS の例title> head> <body>  <h1>こんにちは、 <%= name %>!h1> 本文> 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', { 名前: 'Geeks' }); }); app.listen(port, () => { console.log(`サーバーは http://localhost:${port}` で実行されています); });> </pre>  </code>  <p dir='ltr'>  <b>  <strong>アプリケーションを実行する手順: </strong>  </b>  <span>プロジェクトのルート ディレクトリから次のコマンドを使用してアプリケーションを実行します。 </span> </p>  <pre>node index.js </pre> <p dir='ltr'>  <b>  <strong>出力: </strong>  </b>  <span>プロジェクトは 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='出力'> </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>
                                共有                              </h4>
                             
                              <div class="flex flex-wrap justify-center gap-3">
                                 <!-- Twitter -->
                                 <a href="https://twitter.com/intent/tweet?text=EJS とは何ですか? なぜ必要ですか?&url=https://www.techcodeview.com/ja/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/ja/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/ja/what-is-ejs-why-do-i-need-it&title=EJS とは何ですか? なぜ必要ですか?" 
                                   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">
                        あなたにおすすめ                     </h3>
                     <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
                         <div class="group">
                              <a href="/ja/this-keyword-java" 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/java-object-class/07/this-keyword-java.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Java のこのキーワード" 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="/ja/this-keyword-java">Java のこのキーワード </a>
                              </h4>
                         </div> <div class="group">
                              <a href="/ja/what-is-good-gpa-whats-bad-gpa-131630" 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/blog/98/what-is-good-gpa-whats-bad-gpa.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="良い GPA とは何ですか?大学にとって悪い GPA とは何ですか?" 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="/ja/what-is-good-gpa-whats-bad-gpa-131630">良い GPA とは何ですか?大学にとって悪い GPA とは何ですか? </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>
                トップ記事             </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="/ja/get-and-post-requests-using-python">
						 <img src="https://techcodeview.com/img/python/28/get-and-post-requests-using-python.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Python を使用した GET および POST リクエスト" 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="/ja/get-and-post-requests-using-python" class="hover:text-tech-500 transition-colors line-clamp-3">Python を使用した GET および POST リクエスト </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="/ja/find-whether-a-subarray-is-in-form-of-a-mountain-or-not">
						 <img src="https://techcodeview.com/img/mathematical/76/find-whether-a-subarray-is-in-form-of-a-mountain-or-not.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="部分配列が山の形になっているかどうかを調べる" 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="/ja/find-whether-a-subarray-is-in-form-of-a-mountain-or-not" class="hover:text-tech-500 transition-colors line-clamp-3">部分配列が山の形になっているかどうかを調べる </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="/ja/what-is-enter">
						 <img src="https://techcodeview.com/img/computer/68/what-is-enter.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="エンターとは何ですか?" 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="/ja/what-is-enter" class="hover:text-tech-500 transition-colors line-clamp-3">エンターとは何ですか? </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="/ja/python-functions">
						 <img src="https://techcodeview.com/img/picked/49/python-functions.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Python 関数" 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="/ja/python-functions" class="hover:text-tech-500 transition-colors line-clamp-3">Python 関数 </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="/ja/introduction-java-swing">
						 <img src="https://techcodeview.com/img/java-swing/21/introduction-java-swing.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Java Swing の概要" 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="/ja/introduction-java-swing" class="hover:text-tech-500 transition-colors line-clamp-3">Java Swing の概要 </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="/ja/hyperparameters-machine-learning">
						 <img src="https://techcodeview.com/img/machine-learning/28/hyperparameters-machine-learning.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="機械学習のハイパーパラメータ" 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="/ja/hyperparameters-machine-learning" class="hover:text-tech-500 transition-colors line-clamp-3">機械学習のハイパーパラメータ </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="/ja/bash-loop">
						 <img src="https://techcodeview.com/img/bash-tutorial/09/bash-loop.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="Bash For ループ" 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="/ja/bash-loop" class="hover:text-tech-500 transition-colors line-clamp-3">Bash For ループ </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="/ja/area-triangle-formula">
						 <img src="https://techcodeview.com/img/math-concepts/26/area-triangle-formula.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="三角形の面積 |式と例" 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="/ja/area-triangle-formula" class="hover:text-tech-500 transition-colors line-clamp-3">三角形の面積 |式と例 </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="/ja/vector-projection-formula">
						 <img src="https://techcodeview.com/img/maths-class-12/21/vector-projection-formula.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="ベクトル投影 - 式、導出、および例" 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="/ja/vector-projection-formula" class="hover:text-tech-500 transition-colors line-clamp-3">ベクトル投影 - 式、導出、および例 </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="/ja/whats-average-sat-essay-score-1311546">
						 <img src="https://techcodeview.com/img/blog/22/whats-average-sat-essay-score.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="SATエッセイの平均スコアはどのくらいですか?" 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="/ja/whats-average-sat-essay-score-1311546" class="hover:text-tech-500 transition-colors line-clamp-3">SATエッセイの平均スコアはどのくらいですか? </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">カテゴリ </h2>
		 </div>
		 <div class="flex flex-wrap gap-2">
             <a href="/ja/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">
                ブログ
             </a> <a href="/ja/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変換
             </a> <a href="/ja/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">
                数学
             </a> <a href="/ja/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 コレクション
             </a> <a href="/ja/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">
                違い
             </a> <a href="/ja/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文字列
             </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">興味深い記事 </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/78/9-literary-elements-youll-find-every-story.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="すべての物語に含まれる 9 つの文学的要素" 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="/ja/blog/">ブログ </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/ja/9-literary-elements-youll-find-every-story-131138">すべての物語に含まれる 9 つの文学的要素 </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/get-informed/61/explainer-what-is-tumblr.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="説明者: Tumblr とは何ですか?" 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="/ja/get-informed/">情報を得る </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/ja/explainer-what-is-tumblr-24216">説明者: Tumblr とは何ですか? </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/66/what-is-specific-heat-water.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="水の比熱とは何ですか?どのように特別ですか?" 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="/ja/blog/">ブログ </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/ja/what-is-specific-heat-water-131224">水の比熱とは何ですか?どのように特別ですか? </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/69/parts-cpu.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="CPUの部品" 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="/ja/blog/">ブログ </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/ja/parts-cpu">CPUの部品 </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/07/first-class-functions-in-python.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="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="/ja/python/">パイソン </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/ja/first-class-functions-in-python">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/computer/60/what-is-right-click.webp" onerror="this.onerror=null; this.src='https://techcodeview.com/template/assets/images/unnamed.webp'" alt="右クリックとは何ですか?" 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="/ja/computer/">コンピューター </a> </div>
						 <h4 class="text-sm font-bold text-white leading-tight"> <a href="/ja/what-is-right-click">右クリックとは何ですか? </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 全著作権所有 | 
                 <a href="//www.techcodeview.com/it/">techcodeview.com </a> | 
                 <a href="/disclaimer" rel="nofollow noopener noreferrer" target="_blank">免責事項 </a> | 
                 <a href="/about-us" rel="nofollow noopener noreferrer" target="_blank">私たちについて </a> | 
                 <a href="/privacy-policy" rel="nofollow noopener noreferrer" target="_blank">プライバシーポリシー </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>