diff --git a/src/pages/nodejs/000-introduction.mdx b/src/pages/nodejs/000-introduction.mdx deleted file mode 100644 index cc29f6c..0000000 --- a/src/pages/nodejs/000-introduction.mdx +++ /dev/null @@ -1,69 +0,0 @@ ---- -layout: "@/layouts/MarkdownLayout.astro" ---- - -import Toc from "../../components/Toc.astro"; - -export const title = "Node.jsとは?"; - -# {title} - -## TOC - -## JavaScriptでパソコンを動かす - -JavaScriptはもともと、ウェブブラウザの中でだけ動くプログラミング言語として生まれました。 -HTMLのボタンをクリックしたときに何かを動かしたり、入力内容を検証したりするために使われてきました。 - -**Node.js**は、この「JavaScriptを実行する仕組み」をブラウザの外に取り出したものです。 -2009年にRyan Dahlによって作られ、これによってJavaScriptはパソコン上で直接動かせるようになりました。 - -パソコン上で動くということは、ファイルの読み書き、ネットワーク通信、他のプログラムの起動など、 -**パソコンに対するあらゆる操作をJavaScriptで書ける**ということを意味します。 - -## Node.jsの主な用途 - -Node.jsがパソコンを自由に操作できる力を持つことで、さまざまな用途に使われています。 - -### ① Webサーバーとして動かす - -Node.jsはWebサーバーとして動作させることができます。 -PHPと同様に、ブラウザからのリクエストを受け取り、処理を行ってレスポンスを返す役割を担えます。 - -実際の現場では、ApacheやNginxといった既存のWebサーバーと組み合わせて、 -Node.jsが特定の処理を担う形で使われることが多いです。 - -### ② ブラウザを自動操作してテストする - -Node.jsはChromeなどのブラウザをプログラムから操作することができます。 -実際にブラウザを動かしながら「このボタンをクリックしたら正しく動くか」といったテストを自動で行えます。 - -`Playwright`や`Puppeteer`といったツールがこの用途に使われており、 -人の手では追いきれない大量のテストを効率よく実行できます。 - -### ③ 別の言語をJavaScriptに変換する - -Node.jsは、開発者が書いたコードをブラウザが読める形に変換する「ツール」としても広く使われています。 - -- **TypeScriptのコンパイル** — 人間が書きやすいTypeScriptを、ブラウザが理解できるJavaScriptに変換する -- **ファイルのバンドル** — 開発のために分割した複数のファイルを1つにまとめる -- **コードの最適化** — 空白やコメントを取り除き、ブラウザが素早く読み込めるように圧縮する - -実はこのドキュメントサイト自体もその一例です。 -このサイトは`Astro`という独自の書き方で作られており、JavaScriptとは異なる文法を使っています。 -それを`Vite`というNode.js上で動くツールが処理し、ブラウザが読めるHTMLやJavaScriptに変換しています。 -あなたが今見ているページも、そうして生成されたものです。 - -## npmとエコシステム - -Node.jsには**npm**(Node Package Manager)というパッケージ管理ツールが付属しています。 -世界中の開発者が作ったツールやライブラリを、コマンド一つでインストールして使えるようになる仕組みです。 - -```bash -npm install パッケージ名 -``` - -先ほど例に挙げたPlaywright、TypeScriptのコンパイラ、ViteやAstroも、 -すべてnpmを通じてインストールして使います。 - -Node.jsを学ぶことは、こうした開発ツールの使い方を理解することにもつながります。 diff --git a/src/pages/nodejs/010-well-known-library.mdx b/src/pages/nodejs/010-well-known-library.mdx deleted file mode 100644 index 6573777..0000000 --- a/src/pages/nodejs/010-well-known-library.mdx +++ /dev/null @@ -1,203 +0,0 @@ ---- -layout: "@/layouts/MarkdownLayout.astro" ---- - -import Toc from "../../components/Toc.astro"; -import ExampleWrapper from "@/components/ExampleWrapper.astro"; -import TailwindExample from "@/components/example/TailwindExample"; -import ReactExample from "@/components/example/ReactExample"; -import DayjsExample from "@/components/example/DayjsExample"; -import CombinedExample from "@/components/example/CombinedExample"; - -export const title = "有名なライブラリ"; - -# {title} - -## TOC - -npmには世界中の開発者が作ったライブラリが公開されており、その数は100万を超えています。 -ここでは特によく使われる代表的なライブラリを紹介します。 - -## UIを作る - -### React - -**React**はMeta(旧Facebook)が開発したUIライブラリです。 -ウェブページの画面を「コンポーネント」という部品に分けて管理できるようにしたもので、 -現在最もよく使われているフロントエンドライブラリのひとつです。 - -ボタンやフォームなどのUI部品を再利用しやすい形で作れるため、大規模なウェブアプリケーションの開発に特に力を発揮します。 -また、`useState`のような仕組みを使うことで、クリックや入力といった操作に応じて画面を自動で更新できます。 - -Reactのコードをよく見ると、JavaScriptの中にHTMLのような記述が混ざっていることに気づくと思います。 -これは**JSX**と呼ばれる、Reactのための独自の書き方です。 - -```tsx -// これはJavaScriptではなく、JSXという書き方 -return ( -
クリック数: {count}
-クリック数: {count}
- - -Tailwind CSSのクラスを組み合わせるだけで作れます。
-- {dayjs().format("YYYY年MM月DD日(ddd)")} -
-{done} / {tasks.length} 完了
-クリック数: {count}
+クリック数: {count}
+ + +Tailwind CSSのクラスを組み合わせるだけで作れます。
++ {dayjs().format("YYYY年MM月DD日(ddd)")} +
+{done} / {tasks.length} 完了
+