Topics

Git Bash の仕組み

## 概要 Git Bash は Windows 上で Git を使うために配布される端末エミュレータ・シェル環境。内部では **MinGW-w64** と **MSYS2** という移植レイヤーを利用し、Windows ネイティブな実行環境の上に Unix 互換の Bash シェルと GNU コ...

Ansible

## 概要 Ansible は Red Hat が開発するオープンソースの IT 自動化・構成管理ツール。サーバーのプロビジョニング、アプリケーションのデプロイ、ネットワーク機器の設定、ワークフローのオーケストレーションを自動化する。 Red Hat が掲げるコンセプトは **「Simple, ...

Windowsバッチファイルのベストプラクティス

## 概要 Windowsバッチファイル(`.bat`または`.cmd`)は、Windows環境でのシンプルな自動化タスクに適したスクリプト形式。複雑なワークフローではPowerShellが推奨されるが、インストール不要で素早く実行できるバッチファイルは、小規模な自動化タスクにおいて依然として有効...

Java EEアプリケーションサーバー

## 概要 Java EEアプリケーションサーバーは、Java EE(Jakarta EE)仕様のFull Profileを実装し、EJB、JMS、JPAなどのエンタープライズ機能を提供するサーバーソフトウェア。サーブレットコンテナ(Tomcat, Jetty等)とは異なり、エンタープライズ機能の...

Java EE

## 概要 Java EE(Java Platform, Enterprise Edition)は、大規模なエンタープライズアプリケーションを開発するためのJavaプラットフォーム。 ## Java EEとは Java EEは、Webアプリケーションや分散システムを構築するための標準仕様の集合...

Siemens Teamcenter

## 概要 Siemens Teamcenterは、Siemens Digital Industries Software(DISW)が提供する製品ライフサイクル管理(PLM)ソフトウェアです。 ## PLM(製品ライフサイクル管理)とは PLM(Product Lifecycle Manag...

Claude Code の歴史と特徴

## 概要 Claude Code は Anthropic が開発したターミナルベースの AI コーディングエージェント。CLI から直接タスク指示を受けて自動実行し、Git との深い統合により効率的な開発ワークフローを実現する。 ## 歴史・リリースタイムライン | 時期 | イベント | ...

SCCM (System Center Configuration Manager)

## 概要 SCCM(System Center Configuration Manager)は、Microsoftが提供するエンタープライズ向けのシステム管理ツールである。企業のIT管理者がWindows PCやサーバーを大規模に管理するためのソフトウェアで、数百〜数万台規模の端末管理に使用され...

Claude Code の Web ツール(WebFetch・WebSearch)

## 概要 Claude Code には Web 上の情報を取得・分析するための 2 つのツールが用意されている。**WebFetch** は特定の URL からコンテンツを取得して分析し、**WebSearch** は検索エンジン経由で複数サイトの情報を取得する。 ## WebFetch #...

Apache Lucene

Apache Lucene(ルーシーン)は、Javaで開発されたオープンソースの高性能な全文検索エンジンライブラリです。多くの検索アプリケーションの基盤として使用されており、ElasticsearchやApache Solrなどの検索プラットフォームもLuceneをベースにしています。 ## 概要...

Embedding APIの選択

## 概要 Embedding(埋め込み)は、テキストを数値ベクトルに変換する技術です。セマンティック検索やレコメンデーション、類似度計算などで使用されます。 Embedding APIには大きく分けて2つの選択肢があります: | 選択肢 | 概要 | |--------|------| | ...

pgvector

## 概要 pgvectorは、PostgreSQLでベクトル(埋め込み / Embedding)を保存し、類似性検索を行うための拡張機能です。AIや機械学習アプリケーションでセマンティック検索(意味的な検索)を実現するために使用されます。 **pgvectorの特徴:** - PostgreS...

セマンティック検索の実装パターン

## 概要 セマンティック検索(意味的検索)は、キーワードの完全一致ではなく、意味的な類似性に基づいて検索結果を返す技術です。この記事では、セマンティック検索を実装する際の代表的なパターンを解説します。 **セマンティック検索の利点:** - 「Docker」で検索 → 「コンテナ仮想化」関連記...

Supabase + pgvector

## 概要 Supabaseは公式にpgvector拡張をサポートしており、PostgreSQLベースのバックエンドでセマンティック検索(意味的な検索)を簡単に実現できます。 **Supabase + pgvectorのメリット:** - Supabaseダッシュボードからワンクリックでpgve...

検索エンジン選定ガイド

このドキュメントは、プロジェクトで検索機能を実装する際の技術選定の検討事項をまとめたものです。単純な文字列マッチングから始まり、検索エンジン技術がどのように進化してきたかを理解することで、各技術の本質的な特徴と適切な用途が見えてきます。 検索技術の基礎知識(転置インデックス、形態素解析、N-gra...

検索技術の基礎

検索エンジンを理解するために必要な基本概念を解説します。これらの概念は、Solr、Elasticsearch、Meilisearchなどの検索エンジンや、Fuse.js、Lunr.jsなどのクライアントサイド検索ライブラリを理解・選定する際の基礎知識となります。 ## 転置インデックス(Inver...

FQDN(完全修飾ドメイン名)

## FQDNとは **FQDN(Fully Qualified Domain Name:完全修飾ドメイン名)** とは、インターネットやネットワーク上でコンピューターを一意に識別するための「完全な名前」です。 ホスト名の後ろに `.example.com` や `.local` などがつく形式...

HTML AST(抽象構文木)とは

HTML AST(Abstract Syntax Tree、抽象構文木)は、HTMLドキュメントを木構造のデータとして表現したものです。Web開発において、HTMLの解析・変換・生成を行う際の基盤技術として広く使われています。 ## ASTとは **AST(Abstract Syntax Tre...

Windowsのユーザー名表記(DOMAIN\user形式)

## はじめに Windowsでログインするときや、ネットワーク共有にアクセスするときに `CORP\john.doe` のような表記を見たことがあるかもしれません。この記事では、この表記の意味と背景を基本から解説します。 ## 前提知識:Windowsのアカウント管理 ### ローカルアカウ...

AstroでのMarkdown処理とプラグイン

Astroでは、Markdownファイルを処理する際に`remark`や`rehype`プラグインを使用して、コンテンツを変換・拡張できます。これにより、リンクの自動変換、コードハイライト、目次の自動生成など、様々な機能を追加できます。 ## remarkとrehypeとは AstroはMark...

フォームサービス技術選定ガイド

このドキュメントは、プロジェクトでフォーム・アンケートサービスを選定する際の検討事項をまとめたものです。各サービスの特徴、メリット・デメリット、用途別の選定指針を解説します。 ## フォームサービスの進化の歴史 各技術は、前世代の技術が抱えていた課題を解決するために生まれてきました。紙のアンケー...

Google Forms

Google Formsは、Googleが提供する無料のオンラインフォーム作成・アンケートツールです。Googleアカウントがあれば誰でも利用でき、アンケートや要望収集、申し込みフォームなど幅広い用途に活用できます。 ## 主な用途 ### アンケート・調査 - 顧客満足度調査 - 市場調査 ...

Supabaseセルフホスティング - 複数サーバーからの利用

## 概要 Supabaseをセルフホスティングし、1台のサーバーにセットアップしたインスタンスを**複数の異なるサーバー(アプリケーション)から利用する構成**について解説します。 **結論: この構成は有効であり、一般的なユースケースです。** Supabaseは標準的なクライアント-サー...

VMの状態保存とスナップショット

## 概要 仮想マシン(VM)の状態保存(サスペンド)機能とスナップショット機能の特性を理解し、安定した運用を実現するための知識をまとめる。 ## 状態保存(サスペンド)の問題点 ### 状態保存とは VMの「状態保存」または「サスペンド」は、実行中のメモリ状態をディスクに保存し、後で同じ状...

Xserverレンタルサーバーの用途と限界

## 概要 Xserverレンタルサーバーは、いわゆる「共有ホスティング」サービスであり、VPS(Virtual Private Server)とは根本的に異なる。このドキュメントでは、レンタルサーバーの特性、適した用途、そしてVPSとの違いによる限界について解説する。 ## レンタルサーバーと...

Windows net use コマンド

## 概要 `net use` は Windows のコマンドラインツールで、ネットワーク上の共有フォルダやプリンターに接続するために使用します。ドライブレターを割り当てることで、ネットワークリソースをローカルドライブのように扱えます。 ## 基本構文 ```cmd net use [ドライブ...

CMS運用負荷比較

このドキュメントは、CMSの運用形態(自己ホスト vs マネージド)による運用負荷の違いをまとめたものです。「作った後は手をかけたくない」という要件を満たせるかどうかの判断材料として活用できます。 ## 運用形態の分類 ### マネージドサービス 運営会社がインフラ・セキュリティ・バックアップ...

スモールビジネス向けCMS選定

このドキュメントは、スモールビジネス(飲食店、小売店など)向けにウェブサイトを構築する際のCMS選定についてまとめたものです。「一度作ったら運用者が自分で更新でき、制作者の手がかからない」という要件を軸に検討します。 ## 前提:よくある要件の矛盾 スモールビジネス向けのウェブサイト制作では、以...

ダイアグラム・フロー図ライブラリ選定ガイド

このドキュメントは、マインドマップ、フローチャート、ネットワーク図などのダイアグラム・フロー図を表示するライブラリを選定する際の検討事項をまとめたものです。技術の進化の流れを理解することで、各ライブラリの本質的な特徴と適切な用途が見えてきます。 ## ダイアグラム・フロー図ライブラリの進化の歴史 ...

Mermaid

Mermaidは、テキストベースでダイアグラムを記述できるJavaScriptライブラリです。マークダウンライクな記法で、フローチャート、シーケンス図、ER図、ガントチャートなど様々なダイアグラムを作成できます。 ## 概要 ### Mermaidとは Mermaidは、2014年にKnut ...

React Flow

React Flowは、Reactアプリケーションでノードベースのエディタやインタラクティブなダイアグラムを構築するためのライブラリです。ワークフローエディタ、マインドマップ、データパイプライン設計ツールなどの構築に適しています。 ## 概要 ### React Flowとは React Fl...

Apache Solr

Apache Solrは、Apache Luceneをベースにしたオープンソースの全文検索プラットフォームです。大量のテキストデータに対して高速な検索を提供し、エンタープライズ向けの検索機能を構築するために広く使用されています。 ## 概要 ### Solrとは Solr(ソーラー、発音は"S...

Tomcat WARファイルデプロイ

## 概要 WARファイル(Web Application Archive)は、JavaのWebアプリケーションをパッケージ化したファイル形式。[Apache Tomcat](/topics/tomcat)では、WARファイルをwebappsディレクトリに配置するか、管理コンソールからアップロード...

Oracle Database 認定資格

Oracle Database の知識を客観的に証明するための認定資格についてまとめる。 > **注意**: 資格の詳細(試験番号、受験料、出題範囲など)は変更される可能性があるため、必ず公式サイトで最新情報を確認すること。 ## 公式情報源 Oracle認定資格の最新情報は、以下の公式サイト...

Oracle Database を学ぶ価値

Oracle Databaseを学ぶことは、Oracle固有の知識だけでなく、**データベース一般の技術力向上**と**客観的なスキル証明**につながる。このドキュメントでは、その価値を詳しく説明する。 ## 結論 **Oracle DBを学ぶことは、DB一般の技術を高め、資格として客観的に証明...

Oracle Database のエンタープライズ市場における立ち位置

Oracle Databaseはデータベース選定ガイドではあまり登場しないが、エンタープライズ市場では圧倒的な存在感を持つ。このドキュメントでは、Oracle DBの立ち位置と、なぜ個人開発者向けガイドに登場しにくいのかを説明する。 ## Oracle Database とは Oracle Da...

フロントエンドビルドツール選定ガイド

このドキュメントは、プロジェクトでフロントエンドビルドツールを選定する際の検討事項をまとめたものです。技術の進化の流れを理解することで、各ツールの本質的な特徴と適切な用途が見えてきます。 ## フロントエンドビルドツールの進化の歴史 各技術は、前世代の技術が抱えていた課題を解決するために生まれて...

MySQL 8.0

MySQL 8.0は、2018年にリリースされたMySQLのメジャーバージョンです。本番環境での実績が豊富で、エコシステムも成熟しているため、多くのプロジェクトで採用されています。 ## MySQL 8.0を推奨する理由 ### エコシステムの成熟度 - **2018年リリース(7年以上の実績...

Oracle Database 基本用語

Oracle Databaseを使用する上で理解しておくべき基本用語をまとめる。 ## CDB / PDB Oracle Database 12c以降で導入されたマルチテナントアーキテクチャの概念。 - **CDB (Container Database)**: コンテナデータベース。複数のP...

Oracle Enterprise Manager Database Express (EM Express)

## EM Expressとは Oracle Database 12c以降に組み込まれている**Webベースのデータベース管理ツール**。従来のOracle Enterprise Manager (OEM)の軽量版として、単一データベースの管理に特化している。 ## 主な特徴 - **ブラウザ...

Oracle Database Express Edition (XE)

## Oracle XEとは Oracleが提供する**無料の軽量版データベース**。開発、テスト、学習、小規模本番環境向け。 ## リソース制限(XE 21c) | リソース | 制限 | |----------|------| | CPU | 2スレッドまで | | RAM | 2GBまで...

phpMyAdmin

phpMyAdminは、MySQL/MariaDBデータベースをWebブラウザから管理するためのオープンソースのツールです。SQLクエリの実行、テーブルの作成・編集、データのインポート・エクスポートなど、データベース管理に必要な機能をGUIで提供します。 ## 主な機能 - **データベース管理...

ポート番号

## 概要 ポート番号は、コンピュータ上で動作するアプリケーションやサービスを識別するための番号。IPアドレスが「建物の住所」なら、ポート番号は「部屋番号」に相当する。 ## ポート番号の範囲 ポート番号は **0〜65535** の範囲(16ビット符号なし整数)。 | 範囲 | 名称 | ...

SQL*Plus

## 概要 SQL*Plus(SQLPlusとも表記)は、Oracleデータベースに付属するコマンドラインインターフェース(CLI)ツールです。 ## SQL*Plusとは SQL*Plusは、Oracleデータベースと対話するための標準的なツールです。SQLクエリの実行、PL/SQLプログラ...

Subversion (SVN)

Subversion(SVN)は、集中型バージョン管理システムです。Gitと異なり、中央リポジトリを中心とした管理方式を採用しています。 ## Subversionとは Subversionは、Apache Software Foundationが開発・管理するオープンソースのバージョン管理シス...

Catalina(Tomcatサーブレットコンテナ)

## 概要 Catalinaは、[Apache Tomcat](/topics/tomcat) のコアコンポーネントで、**サーブレットコンテナ**(Java Servletの実行環境)として機能する。Tomcatの「心臓部」とも言える存在。 ## 名前の由来 カリフォルニア沖にある**サンタ...

Coyote(Tomcat HTTPコネクタ)

## 概要 Coyoteは、[Apache Tomcat](/topics/tomcat) のHTTPコネクタコンポーネント。クライアントからのHTTPリクエストを受け付け、[Catalina](/topics/tomcat-catalina)(サーブレットコンテナ)に渡す役割を担う。 ## 名...

Jasper(Tomcat JSPエンジン)

## 概要 Jasperは、[Apache Tomcat](/topics/tomcat) のJSP(JavaServer Pages)エンジン。JSPファイルをJavaサーブレットにコンパイルし、[Catalina](/topics/tomcat-catalina) で実行可能な形式に変換する。...

Apache Tomcat

## 概要 Apache Tomcatは、Java ServletとJavaServer Pages (JSP) を実行するためのオープンソースのWebサーバー/サーブレットコンテナ。Apache Software Foundationが開発・管理している。 ## 主要コンポーネント Tomc...

VMネットワーキング

## 概要 仮想マシン(VM)のネットワーク設定に関する知識とメモ。 ## ネットワークモードの種類 仮想マシンには主に3つのネットワークモードがある。 | モード | 外部からのアクセス | インターネット接続 | ホストとの通信 | 使用例 | |--------|------------...

Tailwind CSS ダークモードの使い方

Tailwind CSSでダークモードを実装する際の設定方法とベストプラクティスをまとめます。 ## ダークモードの設定方法 Tailwind CSSでは、`tailwind.config.mjs`(または`.js`)でダークモードの動作を設定します。 ### 設定オプション ```java...

Astro データ取得

Astroでは、frontmatter内でデータを取得し、テンプレートで使用できます。すべてのデータ取得はサーバー側(ビルド時またはリクエスト時)で実行されます。 ## 基本的なデータ取得 frontmatter内で`fetch()`やファイル読み込みを行い、テンプレートで使用します。 ###...

Astro コンポーネント

Astroコンポーネントは、Astroプロジェクトの基本的な構成要素です。HTMLテンプレートとサーバー側ロジックを組み合わせた、再利用可能なUI部品を作成できます。 ## Astroコンポーネントの構造 Astroコンポーネント(`.astro`ファイル)は、frontmatterとテンプレー...

Astro ビルドとデプロイ

Astroプロジェクトのビルドと各種プラットフォームへのデプロイ方法について説明します。 ## ビルドコマンド ```bash # 本番ビルド npm run build # ビルド結果のプレビュー npm run preview ``` ビルド結果は`dist/`ディレクトリに出力されます...

Astro Content Collections

Content Collectionsは、Astroで構造化されたコンテンツ(Markdown、MDX、JSON、YAML)を型安全に管理するための機能です。ブログ、ドキュメント、製品カタログなど、同じ構造のコンテンツを扱う場合に最適です。 ## Content Collectionsとは - ...

Astro MDX

MDX(Markdown + JSX)は、MarkdownにJSXコンポーネントを埋め込める形式です。Astroでは`@astrojs/mdx`インテグレーションを追加することでMDXを使用できます。 ## MDXとは MDXを使用すると、以下のことが可能になります: - Markdown内で...

Astro Docker

Astroプロジェクトをコンテナ化するためのDocker設定について説明します。 ## 静的サイトのDocker化 静的ビルド(`output: 'static'`)の場合、ビルド結果を軽量なWebサーバーで配信します。 ### Nginxを使用 ```dockerfile # Docker...

Astro インテグレーション

Astroインテグレーションは、プロジェクトに機能を追加するための拡張機能です。UIフレームワーク、スタイリング、最適化、デプロイなど、様々なインテグレーションが公式・コミュニティから提供されています。 ## インテグレーションの追加 ### astro add コマンド(推奨) ```bas...

Astro ページとルーティング

Astroはファイルベースルーティングを採用しており、`src/pages/`ディレクトリ内のファイルが自動的にURLにマッピングされます。 ## 基本的なルーティング `src/pages/`ディレクトリ内のファイルパスがそのままURLになります。 | ファイルパス | URL | |---...

Astro プロジェクト作成とディレクトリ構成

Astroプロジェクトの作成方法と基本的なディレクトリ構成について説明します。 ## プロジェクト作成 `create astro` コマンドを使用して対話的にプロジェクトを作成します。 ```bash # 対話的に新規プロジェクトを作成 npm create astro@latest # ...

Astro SSR(サーバーサイドレンダリング)

AstroはデフォルトでSSG(静的サイト生成)ですが、アダプターを使用することでSSR(サーバーサイドレンダリング)やハイブリッドレンダリングに対応できます。 ## SSRとは SSR(Server-Side Rendering)では、ページをリクエスト時にサーバーでレンダリングします。 *...

Astro TypeScript設定

AstroプロジェクトでTypeScriptを使用するための設定方法を説明します。Astroは標準でTypeScriptをサポートしており、`.ts`ファイルと`.astro`ファイル内でTypeScriptを使用できます。 ## TypeScriptの有効化 ### プロジェクト作成時 `c...

Webサーバー技術選定ガイド

このドキュメントは、プロジェクトでWebサーバー(HTTPサーバー、アプリケーションサーバー、リバースプロキシ等)を選定する際の検討事項をまとめたものです。技術の進化の流れを理解することで、各技術の本質的な特徴と適切な用途が見えてきます。 ## Webサーバー技術の分類 Webサーバー技術は、主...

CMS選定ガイド

このドキュメントは、プロジェクトでCMS(Content Management System)を選定する際の検討事項をまとめたものです。従来型CMSからヘッドレスCMS、GitベースCMS、ファイルベースCMSまで、技術の進化の流れを理解することで、各技術の本質的な特徴と適切な用途が見えてきます。 ...

CSSスタイリング手法選定ガイド

このドキュメントは、プロジェクトでCSSスタイリング手法を選定する際の検討事項をまとめたものです。技術の進化の流れを理解することで、各手法の本質的な特徴と適切な用途が見えてきます。 ## CSSスタイリング手法の進化の歴史 各技術は、前世代の技術が抱えていた課題を解決するために生まれてきました。...

データ保存方法選定ガイド

このドキュメントは、プロジェクトでデータを保存する方法を選定する際の検討事項をまとめたものです。テキストファイルから始まり、データベース技術がどのように進化してきたかを理解することで、各技術の本質的な特徴と適切な用途が見えてきます。 ## データ保存方法の進化の歴史 各技術は、前世代の技術が抱え...

フロントエンドフレームワーク選定ガイド

このドキュメントは、プロジェクトでフロントエンドフレームワークを選定する際の検討事項をまとめたものです。技術の進化の流れを理解することで、各フレームワークの本質的な特徴と適切な用途が見えてきます。 ## フロントエンドフレームワークの進化の歴史 各技術は、前世代の技術が抱えていた課題を解決するた...

静的サイトジェネレーター選定ガイド

このドキュメントは、プロジェクトで静的サイトジェネレーター(SSG)を選定する際の検討事項をまとめたものです。技術選定の一般的なフレームワークに基づき、実践的な評価基準と比較情報を提供します。 ## 静的サイトジェネレーターの進化の歴史 各技術は、前世代の技術が抱えていた課題を解決するために生ま...

ユースケース別技術スタック選定ガイド

このドキュメントは、実際のプロジェクトでフロントエンド、バックエンド、データベースなどの技術を組み合わせて選定する際のガイドです。典型的なユースケースごとに、推奨される技術スタックの組み合わせとその理由を説明します。 ## ブログ・コンテンツサイト(読み取り中心) **特徴**: 読み取りが中心...

URL

## 概要 URL(Uniform Resource Locator)は、インターネット上のリソースの場所を示すアドレス。Webページ、画像、APIエンドポイントなど、あらゆるリソースを一意に識別する。 ## URLの構造 URLは以下の要素で構成される: ``` https://examp...

C++ 参照渡し

## 概要 C++における参照渡し(Pass by Reference)に関する知識とメモ ## 基本概念 ### 値渡し(Pass by Value)との違い **値渡し(Pass by Value):** - 関数に引数を渡す際、値のコピーが作成される - 関数内で引数を変更しても、呼び出...

BaaS (Backend as a Service) 技術比較

## BaaSとは **BaaS (Backend as a Service)** は、アプリケーションのバックエンド機能(データベース、認証、ストレージ、APIなど)をクラウド上で提供するサービスです。開発者はサーバー管理やインフラ構築をせずに、バックエンド機能を利用できます。 **BaaSの...

Supabase

## 概要 Supabaseは、オープンソースのバックエンドプラットフォームで、**PostgreSQLを基盤とした**リレーショナルデータベース、認証、ストレージ、リアルタイム通信などの機能を提供します。Firebaseのオープンソース代替として2020年に設立されました。 **Supabas...

開発ツール定番まとめ

## 目的 / 観点 - OSの対応状況 - 定番度(どの層・用途でよく使われるか) - ツールの種類(何を解決するか) - 競合/代替(乗り換え候補) 最終確認日: 2025-12-21 凡例(定番度): - ◎: 事実上の標準 / 選定率が高い - ○: よく使われる定番 - △: 用途や環...

用語メモ

最終確認日: 2025-12-21 ## SIP - System Integrity Protection の略 - macOSの保護機構で、システム領域への変更(特に /System や /usr/bin など)を制限する - root権限でも書き換えできない範囲があるため、システムの安定性・...

Homebrew

最終確認日: 2025-12-21 ## 概要 macOS(およびLinux)向けのパッケージマネージャ。CLIツールだけでなくGUIアプリ(cask)も扱える。 ## 用語 - formula: 略語ではなく「処方/レシピ」を意味する言葉。CLIツールやライブラリの定義を指す - cask: ...

macOS ディレクトリ構成の基礎

最終確認日: 2025-12-21 ## 目的 macOSの主要ディレクトリの役割と、/usr や /opt の位置づけを理解する。 ## 大枠(macOSの特徴) - 近年のmacOSは「システム領域」と「データ領域」が分離されている - システム領域は基本的に読み取り専用(SIPにより保護)...

パッケージ管理ツール

最終確認日: 2025-12-21 ## 分類(ざっくり) - OSパッケージ管理: OS全体にソフトを入れる(例: brew/apt/dnf/pacman/winget) - 言語/ランタイム管理: バージョンや依存関係を管理(例: asdf/mise/nvm/pyenv) - アプリ配布: G...

Tailwind CSS + Astro メモ

## なぜ PostCSS / Autoprefixer が出てくるのか Tailwind は **PostCSS プラグイン**として実装されているため、ビルド時に PostCSS の処理パイプラインを通してユーティリティクラスを展開(`@tailwind base;` など)します。その際、互換...

Astro 概要

Astroは、コンテンツ駆動型のWebサイト構築に最適化された静的サイトジェネレーター/Webフレームワークです。 ## Astroとは Astroは以下の特徴を持つWebフレームワークです: - **コンテンツ重視**: ブログ、ドキュメント、マーケティングサイトなど、コンテンツ中心のサイト...

Certbot(Let's Encrypt クライアント)メモ(APT 版)

このページは Ubuntu で「APT 版の Certbot」を使う前提で、インストール/証明書取得/自動更新/アンインストールと、関連ファイルの場所を簡潔にまとめます。 ## インストール(APT 版) ```bash sudo apt update sudo apt install -y ce...

Firebase

## 概要 Firebaseは、Googleが提供するモバイルおよびウェブアプリケーション開発のためのプラットフォーム。バックエンドサービス、SDK、UIライブラリを通じて、開発者が迅速かつ効率的にアプリケーションを構築できるよう支援する。 BaaS全般の比較については `topics/baas....

GitHub Actions 入門

## 概要 GitHub リポジトリのイベント(push/PR/Release/cron など)をトリガーにして CI/CD を自動化する仕組み。設定はリポジトリ内の `.github/workflows/*.yml` に記述する。 ## 基本用語 - Workflow: 実行単位(YAMLファイ...

Ubuntu の Nginx 運用メモ

このページは Ubuntu で Nginx をインストール/起動/停止/アンインストールする方法と、関連ファイルの場所を手短にまとめたものです。 ## インストール - パッケージの更新とインストール ```bash sudo apt update sudo apt install -...

Ubuntu サーバーでの Docker 複数プロジェクト運用ベストプラクティス

## 基本方針(FHSに沿った配置) - コード(Git管理)とランタイムデータ(永続化)を分離 - 設定(/etc)・データ(/var/lib, /srv)・ログ(/var/log)を意識した配置 - Secrets はGitに含めない(.env, docker secrets, 外部Secret...

Traefik

## 概要 Traefik(トラフィック)は、クラウドネイティブなリバースプロキシ/エッジルーター。Docker や Kubernetes などのプロバイダから動的に設定を取得し、ルーティング・TLS 終端・ヘルスチェック・ミドルウェア適用などを自動化できる。 ## TLS 終端とは TLS 終端...

Docker よく使うコマンド

Dockerでよく使うコマンドのリファレンスです。 ## 基本操作 ```bash # コンテナ一覧 docker ps # 実行中のコンテナ docker ps -a # すべてのコンテナ...

Docker Compose

複数のコンテナを定義・管理するためのツール。YAMLファイルでサービス構成を定義し、一括で起動・停止できます。 ## マルチサービス構成の基本 ### app + web の一般的な構成パターン **典型的な構成:** - **web**: リバースプロキシ(Nginx など)- 静的ファイル...

Docker Dangling(ダングリング)リソース

Dangling(ダングリング)とは「ぶら下がっている」という意味で、**参照されなくなった孤立したリソース**を指します。ディスク容量を無駄に消費するため、定期的にクリーンアップが必要です。 ## Dangling Images(ダングリングイメージ) - 同じタグで新しいイメージをビルドした...

Docker ボリューム

Dockerコンテナのデータを永続化するための仕組み。コンテナが削除されてもデータが保持され、ホストとコンテナ間でファイルを共有できます。 **重要な概念:** - **コンテナ自体はデータを永続化できない** - コンテナ削除でデータも消失 - **ボリュームでデータの永続化を実現** - コン...

Docker

## 概要 Dockerに関する知識とメモ ## 基本概念 ### コンテナとは コンテナは、アプリケーションとその依存関係をパッケージ化した軽量な実行環境です。仮想マシンと異なり、ホストOSのカーネルを共有するため、起動が速く、リソース消費も少ない特徴があります。 ### イメージとは ...

Dockerfile

Dockerイメージを構築するための設定ファイル。Dockerfileを使用して、アプリケーションの実行環境を定義します。 ## マルチステージビルド ### マルチステージビルドとは 1つのDockerfile内で複数のビルドステージを定義し、最終的なイメージを軽量化する手法。 ### 典...

Git

## 概要 Gitに関する知識とメモ ## 基本概念 ### リポジトリ ### ブランチ ### コミット ## よく使うコマンド ```bash # 初期化 git init # ステージング git add . # コミット git commit -m "message" #...

WebSocket

## 概要 WebSocketに関する知識とメモ ## WebSocketとは WebSocketは、クライアントとサーバー間で双方向のリアルタイム通信を可能にする通信プロトコルです。2011年にRFC 6455として標準化されました。 従来のHTTP通信では、クライアントがリクエストを送信...

Strapi 概要

Strapi(ストラピ)は、オープンソースのヘッドレスCMS(Content Management System)です。RESTful APIやGraphQL APIを自動生成し、フロントエンドフレームワークと組み合わせて使用します。 ## Strapiとは Strapiは以下の特徴を持つヘッド...

Windows 8.3形式(Short File Name)

## 概要 8.3形式(8.3 filename / Short File Name)は、MS-DOS時代のファイル命名規則。Windowsは長いファイル名を自動的にこの形式に変換し、古いプログラムとの互換性を維持している。 ## 8.3形式の構造 ``` FILENAME.EXT ├────...

Windowsパスにおける「~」(チルダ)の意味

## 概要 Windowsのパスで「~」(チルダ)が現れるケースは主に2つある。 ## 1. 8.3形式の短いファイル名 最も一般的なケース。Windowsは長いファイル名・フォルダ名を古いDOS互換の「8.3形式」に自動変換する。 | 長いファイル名 | 短いファイル名 | |------...

ドメイン戦略

## 概要 複数のウェブサイトやサービスを1台のサーバーで運用する際、ドメイン構成の設計は重要な意思決定となる。サブドメイン、サブディレクトリ、別ドメインの3つの選択肢があり、それぞれにメリット・デメリットがある。 ## 3つの選択肢 ### 1. サブドメイン方式 ``` https://...

マルチサイトホスティング

## 概要 マルチサイトホスティングとは、1台のサーバー(VPS やレンタルサーバー)で複数のウェブサイトを運用する構成のこと。コスト削減とリソースの有効活用を目的として、個人開発や小規模プロジェクトで広く採用されている。 ## なぜ1台のサーバーで複数サイトを運用するのか ### メリット ...

Nginx SSL/TLS 証明書管理

## 概要 Nginx で HTTPS を有効にするには、SSL/TLS 証明書の取得と設定が必要。Let's Encrypt + Certbot を使えば無料で自動化可能。 ## 証明書管理の基本概念 ### SSL/TLS 証明書とは - **公開鍵証明書**: サーバーの身元を証明し、...

リバースプロキシ選定

## 概要 リバースプロキシは、クライアントとバックエンドサーバーの間に位置し、リクエストの振り分け、TLS 終端、負荷分散などを担うコンポーネント。1台のサーバーで複数サイトを運用する際の要となる技術。 ## リバースプロキシの役割 ``` [インターネット] ↓ [リバースプロ...

Webアプリケーションのパス戦略

## 概要 Web アプリケーションでリソース(画像、CSS、JS、リンク)を参照する際、パスの指定方法によって動作が変わる。特にサブディレクトリでホスティングする場合、パス戦略の理解が重要。 ## パスの種類 ### 1. 絶対パス(Absolute Path) ルート(`/`)から始まる...

API技術選定ガイド

このドキュメントは、プロジェクトでAPI技術を選定する際の検討事項をまとめたものです。技術の進化の流れを理解することで、各技術の本質的な特徴と適切な用途が見えてきます。 ## API技術の進化の歴史 各技術は、前世代の技術が抱えていた課題を解決するために生まれてきました。リモートプロシージャコー...

GraphQL

## 概要 GraphQLに関する知識とメモ ## GraphQLとは GraphQLは、APIのためのクエリ言語およびランタイムです。2012年にFacebook(現Meta)が社内で開発し、2015年にオープンソースとして公開されました。 クライアントが必要なデータを正確に指定でき、過不...

REST API

## 概要 REST APIに関する知識とメモ ## RESTとは REST(Representational State Transfer)は、Webサービスを設計するためのアーキテクチャスタイルです。2000年にRoy Fieldingによって博士論文で提唱されました。 ## RESTの...