スポンサーリンク
Java

Java | オブジェクト指向:static とインスタンスの違い

全体像static は「クラスに属するもの」、インスタンスは「オブジェクト(個体)に属するもの」です。static フィールドやメソッドは全インスタンスで共有され、クラスがロードされた時点で使えます。...
Java

Java | オブジェクト指向:インスタンス変数のスコープ

全体像インスタンス変数(フィールド)は「オブジェクトがずっと覚えている状態」で、クラスの中に宣言します。スコープは「どこからその変数が見えるか」を意味し、インスタンス変数は基本的に同じクラスの全メソッ...
Java

Java | オブジェクト指向:メソッド内ローカル変数

ローカル変数の全体像メソッド内ローカル変数は「メソッドの中だけで使える一時的なメモ」。メソッドが呼ばれている間だけ存在し、終わったら消えます。オブジェクトの状態(フィールド)とは別物で、外から見えませ...
Java

Java | オブジェクト指向:フィールド初期化

フィールド初期化の全体像フィールド初期化は「オブジェクトの状態を安全に立ち上げる」ための最初の設計作業です。Java では、フィールドは宣言時の初期化式、インスタンス初期化子、コンストラクタの順で整え...
Java

Java | オブジェクト指向:this キーワード

this の全体像this は「今まさに動いている、そのオブジェクト自身」を指すキーワードです。インスタンスメソッドやコンストラクタの中で使えて、フィールドへのアクセス、他のコンストラクタの呼び出し、...
Java

Java | オブジェクト指向:引数付きコンストラクタ

引数付きコンストラクタの全体像引数付きコンストラクタは、生成時に必要な情報を受け取って「正しい初期状態」を確立するための入口です。クラス名と同名で定義し、new クラス名(必要な値…) の形で呼びます...
Java

Java | オブジェクト指向:デフォルトコンストラクタ

デフォルトコンストラクタの全体像デフォルトコンストラクタは「引数なしのコンストラクタ」です。クラスにコンストラクタを1つも定義していない場合、Javaコンパイラが自動で用意します。役割は「そのクラスの...
Java

Java | オブジェクト指向:コンストラクタの役割

コンストラクタの全体像コンストラクタは「オブジェクトの初期状態を正しく確立するための特別なメソッド」です。返り値型を書かずクラス名と同名で定義し、new とともに呼ばれます。役割は「必要な値を受け取り...
Java

Java | オブジェクト指向:メソッド(振る舞い)

メソッドの全体像メソッド(振る舞い)は、オブジェクトが「何ができるか」を表す動作の定義です。フィールド(状態)に対して、検証しながら安全に操作したり、結果を計算して返したりします。Java では「イン...
Java

Java | オブジェクト指向:フィールド(メンバ変数)

フィールドの全体像フィールド(メンバ変数)は、オブジェクトが「覚えておく状態」です。クラスの中に宣言し、各オブジェクトがそれぞれの値を持ちます。Java では「インスタンスフィールド(個体ごと)」と「...
Java

Java | オブジェクト指向:インスタンス生成(new)

インスタンス生成の全体像インスタンス生成は「クラスという設計図から、具体的な“もの”をメモリ上に作る」行為です。Java では new クラス名(引数…) を呼ぶと、必要なメモリが確保され、フィールド...
Java

Java | オブジェクト指向:クラス定義の構文

クラス定義の全体像クラスは「状態(フィールド)と振る舞い(メソッド)」をひとまとめにする設計図です。基本構文は「パッケージ宣言→import→クラス宣言→フィールド→コンストラクタ→メソッド→ネスト型...
Java

Java | オブジェクト指向:クラスとオブジェクトの違い

全体像「クラス」は設計図、「オブジェクト」は設計図から作られた実体です。クラスはフィールド(状態)とメソッド(振る舞い)を定義し、new でインスタンス化すると、その時点の具体的な状態を持つオブジェク...
Java

Java | オブジェクト指向:オブジェクト指向とは何か

オブジェクト指向の全体像オブジェクト指向は「もの(オブジェクト)に状態と振る舞いを持たせ、役割ごとに分けて協調させる」考え方です。ものの設計図がクラスで、実体がオブジェクト。複雑さは“責務の分割”で小...
Java

Java | 基礎文法:小さなアプリの構築

小さなアプリ構築の全体像小さなアプリは「起動の配電盤(main)」「入力(CLI/ファイル)」「ドメインロジック」「永続化(ファイル/メモリ)」「出力(標準出力/ファイル)」の5点を薄く分けると、読み...
Java

Java | 基礎文法:例題をコードに落とす練習

コードに落とす練習の全体像「例題をコードに落とす」とは、文章で書かれた問題を、入力・出力・処理手順・境界条件に分解して、テスト可能な小さな関数やプログラムに組み立てることです。重要なのは「考える順序」...
Java

Java | 基礎文法:文字コード

文字コードの全体像文字コードは「文字をバイト列に変換・復元するための規則」です。Java の内部表現は Unicode を採用し、文字列は UTF-16(コードユニット)で保持されます。一方、ファイル...
Java

Java | 基礎文法:Intellij の自動補完

自動補完の全体像IntelliJ IDEA の自動補完は、書いている途中で「次にあり得る候補」を提示して、入力を短縮し、ミスを防ぎます。基本は Ctrl+Space(Mac は ⌃Space)で起動し...
Java

Java | 基礎文法:コマンドライン引数

コマンドライン引数の全体像Java のプログラムは main(String[] args) から始まり、args に「起動時に渡された文字列」が順番どおり入ります。引数はすべて文字列で渡されるので、必...
Java

Java | 基礎文法:main クラスの役割

main クラスの全体像Java アプリは「エントリポイント」である main メソッドから始まります。main を持つクラス(便宜上「main クラス」)は、起動時に必要な初期化を行い、コマンドライ...
Java

Java | 基礎文法:メソッドチェーン

メソッドチェーンの全体像メソッドチェーンは「メソッドの戻り値に対して、さらにメソッドを続けて呼ぶ」書き方です。オブジェクトが「次も同じ型(または関連型)を返す」ように設計されていると、ドットを繋いで流...
Java

Java | 基礎文法:可変長引数

可変長引数の全体像可変長引数(varargs)は、メソッドに「0個以上の引数」を渡せる仕組みです。シグネチャでは Type... name と書き、呼び出し側は m()、m(a)、m(a, b, c)...
Java

Java | 基礎文法:定数クラス(軽く)

定数クラスの全体像定数クラスは「アプリ全体で共有する変わらない値」を一か所にまとめて、意味のある名前で再利用するための入れ物です。マジックナンバーや散らばった文字列を排除し、変更箇所を一か所に集約でき...
Java

Java | 基礎文法:バッドパターン例(巨大メソッドなど)

バッドパターンの全体像バッドパターンは「動くけど、壊れやすく、読みにくく、直しにくい」コードの形です。巨大メソッド、深いネスト、長すぎる引数、フラグ引数、マジックナンバー、神クラス(God Class...
Java

Java | 基礎文法:コメントの適切な量

コメントの考え方の全体像「適切な量のコメント」は、コードの理解を速め、変更を安全にするための最小限の説明です。コメントは“何をしているか”より“なぜそうしているか”を伝えるのが核で、コードで表現できる...
Java

Java | 基礎文法:コーディングスタイル

コーディングスタイルの全体像コーディングスタイルは「読みやすさ」「一貫性」「変更に強い設計」をコードに刻むための約束事です。Java では命名・インデント・括弧・行の構成・コメント(Javadoc)・...
Java

Java | 基礎文法:ブロック構造

ブロック構造の全体像ブロック構造は、波括弧 { ... } で囲まれた「まとまり」です。Java のコードはブロックの入れ子でできており、スコープ(見える範囲)とライフタイム(生きている期間)、制御の...
Java

Java | 基礎文法:ローカル変数のスコープ

ローカル変数のスコープの全体像「スコープ」は、ローカル変数が「どこから見えて、どこまで使えるか」の範囲です。Java のローカル変数は「宣言されたブロック({ })の内側」でだけ有効で、ブロックを出た...
Java

Java | 基礎文法:System.out.printf

System.out.printf の全体像System.out.printf は「書式指定子(フォーマット)」を使って、値を整形して出力するためのメソッドです。プレースホルダ(例:%d, %s, %...
Java

Java | 基礎文法:配列のソート(Arrays.sort)

配列ソートの全体像Arrays.sort は配列を「その場で」昇順に並べ替える標準APIです。プリミティブ配列(int や任意クラスの配列)で動作や拡張性が少し異なります。基本は自然順(数値の昇順、文...
Java

Java | 基礎文法:配列のコピー

配列コピーの全体像「配列のコピー」は、既存の配列から新しい配列を作って中身を複製することです。Java では System.arraycopy、Arrays.copyOf、Arrays.copyOfR...
Java

Java | 基礎文法:文字列比較

文字列比較の全体像Javaでの文字列比較は「参照が同じか(==)」と「内容が同じか(equals)」の二軸があります。日常的に必要なのは内容比較です。さらに「大文字小文字を無視」「辞書順で並べる」「ユ...
Java

Java | 基礎文法:hashCode の基礎

hashCode の全体像hashCode は「オブジェクトを整数に写像する関数」で、主に HashMap/HashSet が高速に探索するために使います。equals が「意味として同じか」を判定す...
Java

Java | 基礎文法:equals の基礎

equals の全体像Java の equals は「二つのオブジェクトが“意味として”同じか」を判定するメソッドです。参照が同じか(同一性)は ==、意味が同じか(同値性)は equals で比べま...
Java

Java | 基礎文法:ランタイムエラーとコンパイルエラー

全体像Java のエラーは大きく「コンパイルエラー」と「ランタイムエラー」に分かれます。コンパイルエラーは「プログラムに文法・型・宣言の誤りがあり、そもそも実行ファイルを作れない」状態です。ランタイム...
Java

Java | 基礎文法:VSCode / IntelliJ の基本操作

IDE の全体像VSCode と IntelliJ IDEA は、Java の開発・実行・テスト・デバッグ・リファクタリングを一気通貫で支える統合開発環境です。VSCode は拡張機能で軽量に始められ...
Java

Java | 基礎文法:break ポイント

ブレークポイントの全体像ブレークポイントは「この行で一度、必ず止まって中身を観測する」ための印(デバッグの要」です。IDE(IntelliJ IDEA、Eclipse、VS Code など)で指定した...
Java

Java | 基礎文法:ステップ実行

ステップ実行の全体像ステップ実行は、プログラムを一行ずつ進めて「流れ」と「その瞬間の状態」を目で確認するデバッグ手法です。IDE(IntelliJ IDEA、Eclipse、VS Code など)でブ...
Java

Java | 基礎文法:変数ウォッチ

変数ウォッチの全体像変数ウォッチは、プログラムを一時停止して「いまこの瞬間の変数や式の値」を安全に観測するデバッグ技法です。IDE(IntelliJ IDEA、Eclipse、VS Code など)の...
Java

Java | 基礎文法:デバッグの基本

デバッグの全体像デバッグは「バグの原因を特定して、意図どおりに直す」作業です。Javaでは、再現手順の固定、ログやスタックトレースの読み取り、IDEのブレークポイントでの実行停止・変数観察、最小化した...
Java

Java | 基礎文法:API リファレンスの読み方

API リファレンスの全体像API リファレンスは「クラスやメソッドが何をし、どう使うべきか」を正確に伝える公式資料です。Java では標準ライブラリ(java.base など)の各クラスに対して、概...
Java

Java | 基礎文法:フロー制御の設計

フロー制御の全体像フロー制御は「どの順番で、どの条件で、どこまで処理するか」を設計することです。Javaでは if/switch、for/while、break/continue、early retu...
Java

Java | 基礎文法:early return

early return の全体像early return(早期リターン)は、関数の冒頭で「前提違反・エラー・不要条件」をすぐに判定して、処理を中断し、直ちに戻り値を返す書き方です。深い if/els...
Java

Java | 基礎文法:条件分岐のネスト

条件分岐のネストの全体像条件分岐のネストは、if/else を入れ子にして複数の前提やケースを順に判定する書き方です。複雑なロジックを表現できますが、深くなるほど読みづらく、バグが入りやすくなります。...
Java

Java | 基礎文法:繰り返しのネスト

繰り返しのネストの全体像「繰り返しのネスト」は、for/while/foreach などのループを入れ子にして、2次元以上のデータ(表、グリッド、組み合わせ)を処理する書き方です。外側のループが“行”...
Java

Java | 基礎文法:IndexOutOfBoundsException

IndexOutOfBoundsException の全体像IndexOutOfBoundsException(IOBE)は「インデックスが有効範囲の外」を指したときに投げられる実行時例外です。配列、...
Java

Java | 基礎文法:ArithmeticException

ArithmeticException の全体像ArithmeticException は「算術計算が不正で続行できない」ときに投げられる実行時例外です。代表例は整数の 0 除算(割り算・剰余の分母が...
Java

Java | 基礎文法:NullPointerException

NullPointerException の全体像NullPointerException(NPE)は「参照が null のまま、メソッド呼び出しやフィールド参照など“あるはずのもの”を使おうとした時...
Java

Java | 基礎文法:throw

throw の全体像throw は「ここで例外を発生させる」という明示的な合図です。コードが不正な状態や契約違反を検知した瞬間に処理を中断し、例外オブジェクトを投げて呼び出し側へ失敗を伝えます。使いど...
Java

Java | 基礎文法:throws

throws の全体像throws は「このメソッドは特定の例外を投げる可能性がある」と呼び出し側へ宣言するための構文です。主にチェック例外(IOException など)に使われ、呼び出し側に「捕ま...
Java

Java | 基礎文法:finally

finally の全体像finally は「例外が起きても起きなくても、最後に必ず実行したい後始末」を書くための節です。try で本処理、必要なら catch で失敗時の対応を行い、最後に final...
Java

Java | 基礎文法:catch

catch の全体像catch は、try ブロックで発生した例外を「受け止めて、意味のある対処をする」ための節です。例外の型ごとに複数の catch を並べ、具体的な回復やメッセージ出力、再スロー(...
Java

Java | 基礎文法:try

try の全体像try は「失敗しうる処理を囲み、例外が起きたときに安全に対応する」ための構文です。基本は try の中に通常処理を書き、失敗したら catch で受け止め、最後の後始末を final...
Java

Java | 基礎文法:例外とは

例外の全体像例外(Exception)は「通常の処理の流れを中断して、異常事態を安全に伝える仕組み」です。ファイルがない、ネットワークが切れた、引数が不正、ゼロ除算など「このまま続けると壊れる」状況で...
Java

Java | 基礎文法:コーディング規約

コーディング規約の全体像コーディング規約は「チーム全体でコードの見た目と書き方を揃えるための約束事」です。読みやすさ、保守性、バグ回避、ツール連携を高めます。Javaでは命名、インデント、改行、波括弧...
Java

Java | 基礎文法:可読性の高い変数名

可読性の高い変数名の全体像変数名は「コードの意味を最短で伝えるラベル」です。可読性の高い名前は、型や実装に頼らず「何を表し、どの単位・範囲・状態か」を一目で分かるようにします。Java では小文字のキ...
Java

Java | 基礎文法:final

final の全体像final は「再代入や変更を禁止する」ためのキーワードです。対象は変数・フィールド・メソッド・クラスで、付ける場所によって意味が変わります。基本は「変数なら再代入不可」「メソッド...
Java

Java | 基礎文法:定数の宣言

定数の全体像定数は「値を変えない」と約束した識別子です。Javaでは final を使って再代入を禁止します。クラス全体で共有する不変の値は static final にし、インスタンスごとに不変の値...
Java

Java | 基礎文法:ガベージコレクションの概念

ガベージコレクションの全体像ガベージコレクション(GC)は「もう使われないオブジェクトを自動で見つけてメモリを回収する仕組み」です。Javaではメモリ解放を手動で書く必要がなく、プログラムは「必要なと...
Java

Java | 基礎文法:Boolean の扱い

Boolean の全体像Javaの真偽値は「プリミティブの boolean」と「ラッパー型の Boolean」の2種類があります。boolean は値そのもの(true/false)、Boolean ...
Java

Java | 基礎文法:null

null の全体像null は「参照がどのオブジェクトも指していない」ことを表す特別な値です。プリミティブ型(int、double、boolean など)には存在せず、参照型(String、配列、クラ...
Java

Java | 基礎文法:ラッパークラス

ラッパークラスの全体像ラッパークラスは、プリミティブ型(int、long、double など)をオブジェクトとして扱うためのクラス群です。代表は Integer、Long、Double、Float、S...
Java

Java | 基礎文法:型変換(キャスト)

型変換(キャスト)の全体像キャストは「コンパイラが自動で変換しない型へ、開発者の意図で変換を命じる」操作です。プリミティブ間の縮小変換(double → int など)や、参照型の上下変換(親子関係の...
Java

Java | 基礎文法:型変換(自動)

型変換(自動)の全体像Java の「自動型変換」は、コンパイラが安全だと判断できる範囲で型を広げたり(拡大変換)、式の計算前に統一の型へ昇格させたりする仕組みです。代表は「拡大プリミティブ変換(wid...
Java

Java | 基礎文法:エスケープシーケンス

エスケープシーケンスの全体像エスケープシーケンスは、文字列リテラルの中に「そのまま書けない特殊な文字」や「見えない制御文字」を埋め込むための約束です。Javaではバックスラッシュ(\)から始まる記法で...
Java

Java | 基礎文法:文字列結合

文字列結合の全体像Javaの文字列結合は「複数の値をひとつの文字列にまとめる」操作です。もっとも基本は + 演算子ですが、用途によって StringBuilder、String.join、String...
Java

Java | 基礎文法:Math クラス基礎

Math クラスの全体像Math クラスは「数値計算の基本ツール」をまとめたユーティリティです。すべて static メソッドと定数で構成され、インスタンス化せず Math.メソッド名(...) で使...
Java

Java | 基礎文法:標準出力

標準出力の全体像標準出力(stdout)は「プログラムの結果やメッセージを画面(コンソール)へ出す」ための出力先です。Java では System.out(型は PrintStream)を使って行い、...
Java

Java | 基礎文法:Scanner 入力

Scanner 入力の全体像Scanner は「テキストをトークン(単語・数値など)に分解して読み取る」ためのユーティリティです。標準入力(キーボード)だけでなく、文字列、ファイル、入力ストリームから...
Java

Java | 基礎文法:JavaDoc コメント

JavaDoc コメントの全体像JavaDoc コメントは「コードから自動生成できる公式ドキュメント」のためのコメントです。/** ... */ の形式で書き、メソッドやクラスの「目的」「前提」「戻り...
Java

Java | 基礎文法:コメントの書き方

コメントの全体像コメントは「コードの意図や背景を言葉で補う」ためのものです。Java では「行コメント」「ブロックコメント」「ドキュメンテーションコメント(Javadoc)」の3種類があり、用途に応じ...
Java

Java | 基礎文法:パッケージ

パッケージの全体像パッケージは「クラスを論理的にグループ化し、名前が衝突しないようにする仕組み」です。ファイルの先頭に package com.example.app; のように宣言し、ディレクトリ構...
Java

Java | 基礎文法:import 文

import 文の全体像import 文は「他のパッケージにあるクラスやインターフェースを、短い名前で使えるようにする宣言」です。書かなくても「完全修飾名(package.クラス名)」で使えますが、コ...
Java

Java | 基礎文法:static フィールド

Static フィールドの全体像static フィールド(クラス変数)は「クラスに属する共有の状態」です。インスタンスを何個作っても、static フィールドは1つだけ存在し、全インスタンスから同じ値...
Java

Java | 基礎文法:static メソッド

Static メソッドの全体像static メソッドは「クラスに属するメソッド」で、インスタンス(new で作るオブジェクト)を介さずに呼び出せます。数値計算や文字列整形など「個別の状態に依存しない処...
Java

Java | 基礎文法:オーバーロード

オーバーロードの全体像オーバーロードは「同じメソッド名に、引数の型・個数・並びが異なるバリエーションを定義する」仕組みです。呼び出し時の引数からコンパイラが最適な版を選びます。意味が近い処理を一つの名...
Java

Java | 基礎文法:戻り値

戻り値の全体像戻り値は「メソッドが処理の結果として外へ返す値」です。定義時に「戻り値の型」を決め、return で値を返します。値を返さない場合は型に void を指定します。戻り値は「関数型思考の中...
Java

Java | 基礎文法:引数

引数の全体像引数は「メソッドが外から受け取る入力」です。Java では、メソッド定義側で「型と名前」を宣言し、呼び出し側がその順番に値を渡します。戻り値は結果、引数は材料。設計の核心は「正しい型」「順...
Java

Java | 基礎文法:メソッド呼び出し

メソッド呼び出しの全体像メソッド呼び出しは「名前のついた処理を実行し、必要なら結果を受け取る」行為です。Java では「インスタンスメソッド(対象オブジェクトに対して呼ぶ)」と「static メソッド...
Java

Java | 基礎文法:メソッド定義

メソッド定義の全体像メソッドは「処理に名前をつけて再利用できるようにする単位」です。入力(引数)を受け取り、必要なら結果(戻り値)を返します。Java では「戻り値の型」「メソッド名」「引数の並び」「...
Java

Java | 基礎文法:for-each 文

for-each 文の全体像for-each(拡張 for 文)は「配列やコレクションの全要素を順に取り出して処理する」ための最短記法です。書式は for (要素の型 変数 : 配列またはIterab...
Java

Java | 基礎文法:2次元配列

2次元配列の全体像2次元配列は「配列の配列」です。行(外側)と列(内側)という2軸を持つ構造で、matrix のように2つの添字で要素へアクセスします。Java の2次元配列は「固定長の1次元配列を複...
Java

Java | 基礎文法:配列の長さ

配列の長さの基礎Java の配列は「固定長」です。作成時に決めた要素数は後から増減できません。長さはフィールド length で参照し、先頭の添字は 0、最後の添字は length - 1 です。配列...
Java

Java | 基礎文法:配列の要素アクセス

配列要素アクセスの全体像配列の要素アクセスは「添字(インデックス)で特定の位置の値を読み書きする」操作です。Java の配列は 0 始まりで、最後の要素の添字は length - 1。arr の形でア...
Java

Java | 基礎文法:配列の初期化

配列初期化の全体像配列の初期化は「配列オブジェクトを作る」と「要素に初期値を入れる」の2ステップです。Java の配列は長さが固定で、生成直後は型に応じたデフォルト値(数値は 0、boolean は ...
Java

Java | 基礎文法:配列の宣言

配列宣言の全体像配列は「同じ型の要素を並べて管理する入れ物」です。Java の配列は「長さが固定」「0 始まりの添字」「参照型(配列そのものはオブジェクト)」という3点が基本です。宣言は「型+角括弧+...
Java

Java | 基礎文法:無限ループ

無限ループの全体像無限ループは「終了条件が永遠に満たされず、ループが止まらない状態」です。Java では while (true) や for(;;) のように意図的に書くこともできますが、初心者が陥...
Java

Java | 基礎文法:do-while

do-while の全体像do-while は「本体を必ず1回実行してから条件を判定し、条件が true の間は繰り返す」構文です。通常の while と違い、最初の1回は無条件で実行されます。ユーザ...
Java

Java | 基礎文法:while 文

while 文の全体像while 文は「条件が true のあいだ、繰り返し続ける」ための基本構文です。回数が決まっていない繰り返し(入力が尽きるまで、成功するまで、条件が変わるまで)に向いています。...
Java

Java | 基礎文法:for 文

for 文の全体像for 文は「繰り返し」を最もコンパクトに書ける基本構文です。回数を決めて処理する、配列やリストを順番に処理する、といった場面で頻出します。伝統的な for (初期化; 条件; 更新...
Java

Java | 基礎文法:三項演算子

三項演算子の全体像三項演算子(条件演算子)は「条件に応じて値を一つ選ぶ」ための最短記法です。書式は 条件 ? 真のときの値 : 偽のときの値。if-else を1行で「値として」書けるのが強みで、変数...
Java

Java | 基礎文法:continue

continue の全体像continue は「現在の反復(1周)をスキップして、すぐ次の周回へ進む」ための制御文です。ループ本体の途中で「この条件なら残りは処理しなくていい」と判断したときに使います...
Java

Java | 基礎文法:break

break の全体像break は「いま実行中の繰り返し(ループ)や switch の処理を、途中でただちに打ち切る」ための制御文です。よく使う場面は「条件を満たした瞬間に探索終了」「エラー検知でそれ...
Java

Java | 基礎文法:switch 文

switch 文の全体像Java の switch 文は「ある値に応じて複数の分岐から一つを選んで実行する」ための構文です。if-else if 連鎖を簡潔に書けるのが特徴で、特に「定数や列挙値に応じ...
Java

Java | 基礎文法:else if

else if の全体像else if は「複数の条件を上から順に評価して、最初に一致した処理だけを実行する」ための構文です。if と else の間に挟み、分岐を段階的に重ねられます。評価は上から下...
Java

Java | 基礎文法:else 文

else 文の役割と基本else 文は、if の条件が false のときに実行する「もう一方の手」を明示します。分岐は「A ならこうする、そうでないなら別のこうする」という二者択一をシンプルに書ける...
Java

Java | 基礎文法:if 文

If 文の全体像Java の if 文は「条件が true のときだけ処理を実行する」ための最基本の制御構文です。条件は必ず boolean 型(true/false)で、C のように数値を真偽として...
Java

Java | 基礎文法:デクリメント

デクリメントの全体像デクリメントは「数値を 1 減らす」最短記法で、-- を使います。Java では「前置(--n)」と「後置(n--)」があり、式として使ったときの結果が異なります。対象は数値プリミ...
Java

Java | 基礎文法:インクリメント

インクリメントの全体像インクリメントは「数値を1つ増やす」ための最短記法です。++ を使うと、x = x + 1; を1文字で書けます。Java では「前置」と「後置」の2種類があり、式として使ったと...
Java

Java | 基礎文法:複合代入演算子

複合代入演算子の全体像複合代入演算子は「計算して、その結果を同じ変数に代入する」操作を一行で書ける記法です。x += y は x = x + y、x *= y は x = x * y と同義で、読みや...
Java

Java | 基礎文法:代入演算子

代入演算子の全体像代入演算子は「右側の式を評価して、その結果を左側の変数に入れる」ための基本ツールです。最も基本は =(代入)で、派生として「加算して代入」の += や「乗算して代入」の *= などの...
Java

Java | 基礎文法:論理演算子

論理演算子の全体像Java の論理演算子は条件を組み合わせて真偽を計算するための道具です。中心は短絡評価の &&(AND)と ||(OR)、反転の !(NOT)で、結果は必ず boolean(true...
Java

Java | 基礎文法:比較演算子

比較演算子の全体像Java の比較演算子は「式の真偽を判定して boolean を返す」ための基本ツールです。代表は ==、!=、<、>、<=、>= で、数値や文字の大小、同値性を判定します。重要なの...
Java

Java | 基礎文法:算術演算子

算術演算子の全体像Java の算術演算子は、足し算・引き算・掛け算・割り算・余り(剰余)を行うための基本ツールです。整数と小数で挙動が異なる点、型の自動拡張やオーバーフロー、ゼロ割りの結果など、初心者...
Java

Java | 基礎文法:真偽値

真偽値の全体像Java の真偽値は boolean 型で、取りうる値は true と false の二つだけです。C 言語のように 0 や非 0 を真偽として扱うことはできません。条件分岐(if)、繰...
Java

Java | 基礎文法:文字列リテラル

文字列リテラルの全体像Java の文字列リテラルは、ダブルクォートで囲んだ "..." の形でコードに直接書くテキストです。型は String クラスで、不変(immutable)なので作成後の内容は...
Java

Java | 基礎文法:数値リテラル

数値リテラルの全体像Java の「数値リテラル」は、コードに直接書く数値のことです。たとえば 42 や 3.14 のように書いたものがリテラルです。整数リテラルのデフォルト型は int、小数リテラルの...
Java

Java | 基礎文法:文字列型

文字列型の全体像Java の文字列は String クラスで表現され、テキストを扱うための最重要型です。String は不変(immutable)で、一度作った文字列の内容は変わりません。この不変性に...
Java

Java | 基礎文法:データ型(プリミティブ)

データ型(プリミティブ)の全体像Java のプリミティブ型は「値そのもの」を扱う最小単位のデータ型です。メモリ効率が良く、速度も速いので、数値計算やフラグ管理などの基礎に使われます。プリミティブは参照...
Java

Java | 基礎文法:変数の定義

変数の定義の全体像Java で「変数の定義」は、値にラベルを貼ってプログラム中で再利用できるようにする作業です。基本形は「型 名称 = 値;」で、型が先に来るのがポイントです。たとえば int age...
Java

Java | 基礎文法:コンパイルと実行

コンパイルと実行の全体像Java のプログラムは「ソースコード(.java)→ バイトコード(.class)→ JVM で実行」という三段構成で動きます。まず javac がソースをコンパイルして O...
Java

Java | 基礎文法:main メソッド

Main メソッドの役割Java の「プログラムの入口」は main メソッドです。JVM は指定されたクラスを読み込み、最初に public static void main(String[] ar...
Java

Java | 基礎文法:JDK と JRE

JDK と JRE の全体像Java を動かすには「実行環境」と「開発のための道具」が必要です。ここで登場するのが JRE(Java Runtime Environment)と JDK(Java De...
Java

Java | 基礎文法:Java の特徴

Java の特徴Java は「一度書けばどこでも動く(Write Once, Run Anywhere)」を目指して設計された言語です。プログラムはまず「バイトコード」にコンパイルされ、Java 仮想...
Java

Java 逆引き集 | ストリーム処理の設計ガイドライン(副作用禁止等) — 保守性向上

ねらいと基本原則ストリーム処理の保守性は「副作用を禁じる」「遅延評価を味方にする」「結合可能な集約を選ぶ」の三本柱で決まります。中間操作は純粋関数(入力だけに依存し、外部状態を変更しない)に徹し、副作...
Java

Java 逆引き集 | Stream を用いたデータ整形パイプライン設計 — パイプラインアーキテクチャ

ねらいと基本方針データ整形パイプラインは「取り込み → 正規化 → 検証 → 集約/変換 → 出力」の流れを、安全に、短く、遅延評価で組み立てる設計です。Stream を軸にすると、巨大データでもメモ...
Java

Java 逆引き集 | parallelStream のベンチマーク方法 — 実運用での検証

ねらいと前提parallelStream は「並列化すれば常に速い」魔法ではありません。効果が出る条件と落とし穴を理解し、順次と並列を同じ環境・同じ入力で比較するのが基本です。並列ストリームは For...
Java

Java 逆引き集 | Stream を使った CSV → オブジェクト変換 — ETL の簡潔化

ねらいと前提CSV をオブジェクトへ変換する ETL は「読み取り → クリーニング → 変換 → 検証 → 出力」の流れです。Stream を使えば、行を遅延で処理しながら宣言的に書けるため、巨大フ...
Java

Java 逆引き集 | lazy evaluation の理解(中間操作は遅延) — 無駄な処理回避

ねらいと前提Stream の中間操作(filter, map, sorted など)は「遅延評価」です。つまり、終端操作(collect, forEach, count など)が呼ばれるまで実行されま...
Java

Java 逆引き集 | Stream と Optional の良い組み合わせ — 値の有無ハンドリング

ねらいと前提値が「あるかもしれない/ないかもしれない」場面で、Optional は null 安全を保ちながら表現できます。Stream は「たくさんの値」を宣言的に流せます。この二つをうまく組み合わ...
Java

Java 逆引き集 | Stream API によるツリー/グラフ探索(再帰を使わないパターン) — 非再帰探索

ねらいと前提ツリー/グラフ探索は「親→子(隣接)」へ辿る処理です。再帰は直感的ですが、スタックあふれや制御の難しさが出ます。非再帰パターンでは、キュー(BFS)やスタック(DFS)を使って自分で「探索...
Java

Java 逆引き集 | reduce で複合オブジェクト集約 — ドメイン集計

ねらいと前提reduce は「ストリームの全要素をひとつの結果へ畳み込む」終端操作です。ドメイン集計では単なる数値の和ではなく、複数フィールドを持つ複合オブジェクト(件数・合計・最小・最大・補助メモな...
Java

Java 逆引き集 | ストリームでの並列グループ化(groupingByConcurrent) — 並列集計

ねらいと前提並列ストリームで「キーごとに集計」するなら、Collectors.groupingByConcurrent が最短で安全です。並列対応の ConcurrentHashMap を内部に使い、...
Java

Java 逆引き集 | キャッシング Collector(memoizing)パターン — 重い計算の最適化

目的と前提「重い計算」をストリームの中で何度も呼ぶと、CPUが燃え、待ち時間が伸び、並列化しても効果が出ません。キャッシング(memoizing)パターンは、同じ入力に対する結果を再利用して、計算を最...
Java

Java 逆引き集 | ストリームのデバッグ技(ログ出力・中間確認) — トラブルシュート

ねらいと前提「ストリームがどこでどう変わっているか」を素早く可視化できると、原因特定が一気に速くなります。中間確認の王道は peek と「小さく材質化(toList など)」の使い分けです。重要なのは...
Java

Java 逆引き集 | Stream と SQL の比較(いつ DB で処理すべきか) — 負荷分散判断

目的と前提「アプリ側で Stream に流すか、DB 側で SQL に任せるか」を正しく判断できると、性能・コスト・保守性が一気に安定します。根本の考え方はシンプルです。データ量が大きいほど「近いとこ...
Java

Java 逆引き集 | 組み合わせ生成(combinatorics via stream) — テストデータ作成

ねらいと基本指針テストデータを作るとき、組み合わせ(直積・順列・組合せ)を手早く生成できると検証の幅が一気に広がります。Java の Stream は「宣言的・短絡・遅延実行」が武器。巨大な結果を丸ご...
Java

Java 逆引き集 | Windowing(スライディング窓)パターン実装 — 時系列処理

目的と前提大量データを Stream で処理するとき、ボトルネックは「CPUよりメモリ」になりがちです。推定でも十分なので、どれだけメモリを消費するかを見積もり、材質化(toList/toMap)を最...
Java

Java 逆引き集 | Windowing(スライディング窓)パターン実装 — 時系列処理

目的と前提時系列処理で「連続 N 件」「直近 N 秒」のように、一定範囲のデータを滑らせながら集計するのがスライディング窓(windowing)です。Java 標準の Stream API には専用ウ...
Java

Java 逆引き集 | イテレータ→ストリームの変換(StreamSupport) — 外部API統合

目的と前提外部APIが Iterator(または Iterable)しか返さないときでも、Stream に変換すれば filter・map・collect などの強力な処理を宣言的に書けます。鍵になる...
Java

Java 逆引き集 | 並列 reduce の適切な設計(結合可能な演算) — 正しさの担保

目的と前提並列 reduce を正しく設計する鍵は「結合可能(結合律を満たす)な演算」と「適切な単位元(identity)」、そして「accumulator と combiner の整合性」です。並列...
Java

Java 逆引き集 | Stream サプライヤーパターン(Supplier を用いる) — 再生成可能性

目的と前提ストリームは「一度流したら終わり」の一回性を持ちます。同じパイプラインで複数の終端操作(count と toList など)をしたい、あるいは同じフィルタや変換を繰り返し適用したい場面では、...
Java

Java 逆引き集 | ストリームチェーンの分割と再利用 — 可読性/保守性

ねらいと基本原則ストリームは「1回流して終わり」の使い捨てモデルです。可読性と保守性を高めたいなら、再利用すべきはストリームそのものではなく「処理の定義(Predicate/Function/Coll...
Java

Java 逆引き集 | ストリームでのランダムアクセスの落とし穴 — パフォーマンス評価

概要と本質ストリームは「順次走査」に強く、「ランダムアクセス」に弱い仕組みです。配列や ArrayList のようなランダムアクセス向きのデータ構造でも、ストリームに乗せるとインデックス指定は基本的に...
Excel VBA逆引き

Excel VBA 逆引き集 | 実務テンプレ完全版(超再利用部品) – フォルダ内CSV連結テンプレ

ねらい:フォルダ内の複数CSVを「安全に連結」して、毎日の取り込みを一撃で自動化する実務では「毎日たくさんのCSVを同じ列構成で連結したい」「ファイルごとのヘッダをスキップしたい」「途中で列数が違うC...
Excel VBA逆引き

Excel VBA 逆引き集 | 実務テンプレ完全版(超再利用部品) – マスタ同期テンプレ

ねらい:マスタ同期を「差分抽出+安全反映」の型にして、常に最新状態を保つマスタ同期は「旧データ」と「新データ」を比べて、追加・削除・変更を正しく見極め、旧マスタを最新に更新する作業です。Excel関数...
Excel VBA逆引き

Excel VBA 逆引き集 | 実務テンプレ完全版(超再利用部品) – 差分抽出テンプレ

ねらい:差分抽出を「速く・正確・壊れない」型にして、毎日の更新チェックを自動化する差分抽出は「追加・削除・変更」を正しく切り分ける作業です。Excelの目視や関数だと抜けが出ますが、VBAなら“配列I...
Excel VBA逆引き

Excel VBA 逆引き集 | 実務テンプレ完全版(超再利用部品):重複処理テンプレ

ねらい:重複を「見つける・残す・消す・まとめる」を型にして、速く安全に処理する重複処理は現場で最も事故が多い領域です。VBAでは「配列I/O+Dictionary+正規化」で、検出・マーキング・除去・...
Excel VBA逆引き

Excel VBA 逆引き集 | 実務テンプレ完全版(超再利用部品):集計テンプレ

ねらい:配列I/O+Dictionaryで「速く・壊れない」集計を標準化する集計は「グループ化→集計→並べ替え→出力」の型にすれば、10万行級でも安定して一瞬で終わります。Excel関数の複雑な組み合...
Excel VBA逆引き

Excel VBA 逆引き集 | 実務テンプレ完全版(超再利用部品):JOIN高速テンプレ

ねらい:SQLのJOINを「配列I/O+Dictionary」で爆速・堅牢に再現するExcelでシート関数や手作業の結合は遅く、列変更に弱く、壊れやすい。VBAなら「片側を辞書化→配列で一括結合→一括...
Excel VBA逆引き

Excel VBA 逆引き集 | 実務テンプレ完全版(超再利用部品):XLOOKUP高速テンプレ

ねらい:XLOOKUP相当の機能を「配列I/O+辞書+二分探索」で爆速・堅牢に再現するExcelのXLOOKUPは柔軟ですが、式が増えると管理が重くなり、大量データでは再計算が遅くなります。VBAで「...
Excel VBA逆引き

Excel VBA 逆引き集 | 実務テンプレ完全版(超再利用部品):VLOOKUP高速テンプレ

ねらい:VLOOKUPの“遅い・不安定”を捨て、配列I/O+Dictionaryで爆速・堅牢にするVLOOKUPは大量行や複合キーで遅く、式管理が崩れがちです。実務では「片側を辞書化→一括照合→配列で...
Excel VBA逆引き

Excel VBA 逆引き集 | マニアック・高度技術:大規模テンプレライブラリ

ねらい:大規模でも「貼って動く」テンプレを共通ライブラリ化し、拡張しても壊れない運用へ規模が大きくなるほど、関数やモジュールの“型”が揃っているかが品質と速度を左右します。ここでは、大規模エクセルに必...
Excel VBA逆引き

Excel VBA 逆引き集 | ログ設計高度版

ねらい:Excelで「壊れない・追跡できる」高度ログ設計を標準化するログは“後から真実を再現するための証拠”です。大規模や自動化の現場では、単なるテキスト出力では足りません。レベル、タイムスタンプ、カ...
Excel VBA逆引き

Excel VBA 逆引き集 | テスト自動化

ねらい:Excelで「テスト自動化」を仕組みにして、毎回同じ品質を素早く確認する人手のチェックは抜けやすく、時間もかかります。VBAでもテスト枠を最初に入れておけば、ブックを開くだけで自動テストが走り...
Excel VBA逆引き

Excel VBA 逆引き集 | 品質保証(テスト)

ねらい:Excelで「品質保証(テスト)」を仕組みにして、拡張しても壊れないようにする手作業の確認は限界があります。Excel VBAでも「テストの型」を最初に入れておくと、機能追加や修正のたびに自動...
Excel VBA逆引き

Excel VBA 逆引き集 | 大規模エクセルの設計

ねらい:大規模エクセルを「壊れない・速い・分かりやすい」設計にする大規模エクセルは「機能が増えるほど遅く・壊れやすく・読みづらく」なりがちです。設計の型を先に決め、配列I/O、明確な責務分割、設定外出...
Excel VBA逆引き

Excel VBA 逆引き集 | 完全自動システム構築

ねらい:Excelだけで「完全自動」を構築し、毎日止まらず成果物を出し続ける人手を介さずに、定時起動→入力取り込み→検証・加工→集計・出力→ログ記録→通知まで流れる“自動ライン”をVBAで作ります。初...
Excel VBA逆引き

Excel VBA 逆引き集 | UUID生成

ねらい:VBAで安全・簡単にUUID(GUID)を生成し、キー・ID管理を楽にするUUIDは世界中で重複しない識別子です。マスタ行の一意キー、ログのトレーサビリティ、外部連携のIDとして実務で大活躍し...
Excel VBA逆引き

Excel VBA 逆引き集 | ハッシュ生成

ねらい:VBAで「ハッシュ生成」を道具化し、改ざん検知・差分・キー作成を一気に楽にするハッシュは、内容を固定長の指紋(ダイジェスト)に変換する技術です。ファイルやテキストが「同じか・変わったか」を一瞬...
Excel VBA逆引き

Excel VBA 逆引き集 | 暗号化

ねらい:VBAで“実務的な暗号化”を安全に使い分ける暗号化は「守る対象」によって最適解が変わります。ファイルを配布するならZIPのAESやExcelのパスワード保存、テキストや設定値を隠すならOS標準...
Excel VBA逆引き

Excel VBA 逆引き集 | 圧縮・展開

ねらい:VBAから「圧縮・展開」を安定運用し、配布やバックアップを一気に楽にする圧縮・展開は、成果物の配布、ログの保管、バックアップの軽量化などに直結します。Excel VBAでは「Windows標準...
Excel VBA逆引き

Excel VBA 逆引き集 | ソートアルゴリズム

ねらい:VBAで「速く・正しく」並べ替えるための実践テンプレートソートは、集計・重複排除・ランキング・差分の前処理として最重要です。Excelの並べ替え機能は便利ですが、大量データや複雑な条件では「配...
Excel VBA逆引き

Excel VBA 逆引き集 | 差分アルゴリズム実装

ねらい:Excelで「差分」を正確・高速に出す仕組みをVBAで持つ差分アルゴリズムは、ファイルや表の「何が変わったか」を正しく示し、レビューや監査、データ同期を楽にします。初心者でも扱えるように、貼っ...
Excel VBA逆引き

Excel VBA 逆引き集 | ハッシュマップ高速化

ねらい:VBAでハッシュマップ(Dictionary)を使い倒し、照合・集計・検索を爆速化するハッシュマップはキーから値へ即座にアクセスできるデータ構造です。VBAでは Scripting.Dicti...
Excel VBA逆引き

Excel VBA 逆引き集 | Trie構造

ねらい:VBAでTrie(トライ)を実装し、前方一致検索やオートコンプリートを高速化するTrieは文字列の「共有された接頭辞」を一度だけ保持する木構造です。Excelでの大量ワード検索、商品コードの前...
Excel VBA逆引き

Excel VBA 逆引き集 | 正規表現の高度利用

ねらい:VBAで正規表現を「高度利用」し、複雑な文字処理を一瞬で片付けるExcel VBAは標準の文字列関数(Left, Mid, InStrなど)でも処理できますが、複雑なパターン抽出や置換は正規表...
Excel VBA逆引き

Excel VBA 逆引き集 | 高速ファイル走査

ねらい:VBAで「高速ファイル走査」を実現し、数十万件でも固まらず完走する大量ファイルの走査は、再帰やループの書き方次第で極端に遅くなります。Excelでは「Dirの連続呼び出し+配列バッファ+一括書...
Excel VBA逆引き

Excel VBA 逆引き集 | WMI 呼び出し

ねらい:VBAからWMIを呼び出し、PCの「見えない情報」を一気に可視化するWMI(Windows Management Instrumentation)は、OS・ハードウェア・ネットワーク・プロセス...
Excel VBA逆引き

Excel VBA 逆引き集 | 疑似並列

ねらい:VBAで「疑似並列」を作り、複数処理を同時進行の体感で回すVBAはシングルスレッドですが、処理を小さなチャンクに分割して短時間で区切り、次回実行を予約(Application.OnTime)し...
Excel VBA逆引き

Excel VBA 逆引き集 | マルチスレッド風実装

ねらい:VBAを「協調的に分割」して、マルチスレッド風に同時進行させるVBAはシングルスレッドですが、処理を小さなチャンクに分けて短時間で区切り、次の呼び出しを予約(Application.OnTim...
Excel VBA逆引き

Excel VBA 逆引き集 | システム情報取得

ねらい:VBAで「システム情報」を素早く集め、トラブル切り分けを速くするシステム情報取得は、Excelの不具合や速度低下の原因を見極める最短ルートです。OS・Excel/Officeのビット数・バージ...
Excel VBA逆引き

Excel VBA 逆引き集 | 画面キャプチャ

ねらい:Excelで「画面キャプチャ」を安定して撮り、PNGに保存する画面キャプチャは、報告画像の作成、エビデンス保存、手順書の作成などに直結します。VBAでは「範囲やグラフを画像としてコピー→PNG...
Excel VBA逆引き

Excel VBA 逆引き集 | クリップボード操作

ねらい:VBAでクリップボードを自在に操り、貼り付け・共有をスマートにするクリップボード操作は「選択範囲をコピーして他アプリへ」「文字列やHTMLを生成して貼り付け」「画像を取り込んで保存」など、現場...
Excel VBA逆引き

Excel VBA 逆引き集 | Win32 API呼び出し

ねらい:VBAからWin32 APIを呼んで「できない」を減らすWin32 APIは、Excel標準では届かない領域(高精度タイマー、ウィンドウ制御、ネイティブのファイル操作、システム情報)に手を伸ば...
Excel VBA逆引き

Excel VBA 逆引き集 | Shell拡張

ねらい:VBAから「WindowsのShell」を使いこなし、外部処理を安全に操るShell拡張は、VBAからWindowsのコマンド、エクスプローラ、既定アプリ、ZIP、ショートカットなど“OS標準...
Excel VBA逆引き

Excel VBA 逆引き集 | Excel以外のアプリ制御

ねらい:Excelの外へ手を伸ばし、他アプリを「安全に・確実に」動かすExcel VBAから他アプリを制御する方法は大きく3系統です。COMオートメーション(Word/PowerPoint/Outlo...
Excel VBA逆引き

Excel VBA 逆引き集 | Power Automate連携

ねらい:VBAとPower Automateをつないで「人手いらずの定時運用」を実現するPower Automateはクラウド側の「起動・連携・通知」を担い、VBAはローカルExcelの「高速前処理・...
Excel VBA逆引き

Excel VBA 逆引き集 | Office Scripts連動

ねらい:VBAとOffice Scriptsを連動させ、ローカルとクラウドを使い分けるVBAはデスクトップExcelでの高速・柔軟な自動化、Office ScriptsはExcel on the we...
Excel VBA逆引き

Excel VBA 逆引き集 | COM Add-in

ねらい:COM アドインで「Excel常駐の拡張」を作り、現場で確実に動かすCOM アドインは、Excelのプロセスに常駐して機能を提供する拡張です。XLAM(VBAアドイン)が「ブックに近い」存在な...
Excel VBA逆引き

Excel VBA 逆引き集 | Excel Add-in化

ねらい:ブック依存を卒業し、どこでも使える「Excelアドイン(XLAM)」へアドイン化は「よく使うVBAを、どのブックでも同じ操作で使えるようにする」ための最短ルートです。機能を共通ライブラリ化し、...
Excel VBA逆引き

Excel VBA 逆引き集 | Excel外からVBA呼び出し

ねらい:Excelの外からVBAを呼び出し、ヘッドレスで安全に実務を回す「Excel外からVBA呼び出し」は、ユーザー操作なしに処理を起動するための基礎です。代表手段はCOMオートメーション(VBSc...
Python

Python | OOP:クラス単位のテスト

概要(クラス単位のテストは「1つの責務を独立して検証する」)クラス単位のテストは、クラスの公開メソッドと外部との約束を中心に「入れたらこう返る」を独立して確かめる手法です。狙いは、仕様のズレや副作用の...
Python

Python | OOP:コード分割

概要(コード分割は「役割ごとに小さな部品へ分け、見通しと変更を楽にする」)コード分割は、1つの巨大ファイルや巨大クラスに詰め込まず、責務ごとにモジュール・パッケージ・クラスへ分ける設計です。目的は読み...
Python

Python | OOP:単一責任の原則

概要(単一責任の原則は「そのクラスを変える理由をひとつに絞る」)単一責任の原則(Single Responsibility Principle, SRP)は、「クラス(モジュール)が変更される理由はひ...
Python

Python | OOP:デザインパターン(Factory)

概要(Factoryは「作り方をひとまとめにして差し替える窓口」)Factory(ファクトリ)パターンは、オブジェクトの“生成方法”を呼び手から切り離し、共通の窓口にまとめる設計です。呼び手は「何を作...
Python

Python | OOP:デザインパターン(Strategy)

概要(Strategyは「アルゴリズムを入れ替える差し替え口」を用意する設計)Strategy(ストラテジー)パターンは、処理のアルゴリズムを独立した“戦略オブジェクト”に切り出し、実行時に差し替えら...
Python

Python | OOP:コンポジション

概要(コンポジションは「小さな部品を組み合わせて振る舞いを作る」設計)コンポジション(合成)は、継承に頼らず「部品(オブジェクト)を持つ」ことで機能を組み立てる設計です。車が“エンジンを持つ”、クライ...
Python

Python | OOP:Mixin

概要(Mixinは「小さな能力」を後から混ぜ込むための設計)Mixin(ミックスイン)は、クラスに“特定の機能だけ”を薄く追加するための補助クラスです。単体で使う前提の「完全な親クラス」ではなく、既存...
Python

Python | OOP:メソッドチェーン

概要(メソッドチェーンは「操作をつなげて一気に書く」設計)メソッドチェーンは、複数のメソッド呼び出しをドットで連ねて、処理の流れをそのまま一行で表現する書き方です。ポイントは“次のメソッドを呼べる値を...
Python

Python | OOP:依存性注入(簡単版)

概要(依存性注入は「必要な相手を外から渡す」だけでコードが劇的に扱いやすくなる)依存性注入(DI)は、クラスが必要とする相手(例:メール送信、DB接続、HTTPクライアント)を自分の中で作らず、外から...
Python

Python | OOP:インターフェース的設計

概要(「インターフェース的設計」は“共通の窓口”で差し替え可能にすること)インターフェースは、異なる実装を“同じやり方で使えるようにする共通の約束”です。PythonにはJavaのようなinterfa...
Python

Python | OOP:抽象クラス(ABC)

概要(抽象クラスは「必ず実装してほしい共通の約束」を形にする設計図)抽象クラス(ABC: Abstract Base Class)は、直接インスタンス化できない「設計図」です。サブクラスが必ず実装すべ...
Python

Python | OOP:yield

概要(yieldは「一つ返して一時停止、次に再開」する魔法のスイッチ)yieldは、関数を“ジェネレーター”に変えるキーワードです。yieldに到達すると値を一つ返して処理を一時停止し、次に呼ばれたと...
Python

Python | OOP:ジェネレーター

概要(ジェネレーターは「必要な分だけ、順に値を生む」仕組み)ジェネレーターは、yieldを使って「次の値」を一つずつ返し、呼び出しのたびに前回の続きから再開できる関数(またはオブジェクト)です。全デー...
Python

Python | OOP:イテレーター

概要(イテレーターは「次を返して尽きたら止まる“反復器”」)イテレーターは「要素を一つずつ順番に返す」オブジェクトです。イテレーターは必ずiterとnextを持ち、nextは次の要素を返し、もう要素が...
Python

Python | OOP:next

概要(nextは「次の要素」を返し、尽きたらStopIterationで終了する)nextは“イテレータ”が持つ特別メソッドで、呼ぶたびに次の要素を返します。要素がもうないときはStopIterati...
Python

Python | OOP:iter

概要(iterは「forで回せるオブジェクト」を作る入口)iterは、そのクラスを「イテラブル(forで回せるもの)」にする特別メソッドです。戻り値は“イテレータ”で、イテレータは次の要素を返すnex...
Python

Python | OOP:getitem

概要(getitemは「objやスライス」を使えるようにする特別メソッド)getitemは、obj や obj のようなインデックス・スライスアクセスを可能にする入口です。シーケンスっぽいクラス(li...
Python

Python | OOP:len

概要(lenは「そのオブジェクトの“サイズ”を即座に返す」ための特別メソッド)lenは、len(obj)が呼ばれたときに使われる“サイズ取得”の入口です。数や件数など「直感的に数えられるもの」を、非負...
Python

Python | OOP:repr

概要(reprは「開発者向けの公式な文字列表現」)reprは、オブジェクトの“正確で曖昧さのない”文字列表現を返す特別メソッドです。REPLやデバッグ、ログでの診断に使われ、可能ならその文字列からオブ...
Python

Python | OOP:str

概要(strは「人に見せる文字列表現」を返す特別メソッド)strは、オブジェクトをprintしたり、str()に渡したときの“人向けの文字列表現”を定義します。これを実装しておくと、ログやUI、コンソ...
Python

Python | OOP:staticmethod

概要(staticmethodは「クラスに属するけれど、状態に依存しない純粋な関数」)@staticmethodは、self(インスタンス)やcls(クラス)に触れない“補助関数”をクラスの中にまとめ...
Python

Python | OOP:クラスメソッド

概要(クラスメソッドは「クラスに紐づく操作」—工場・設定・系統別挙動に効く)@classmethodは、第1引数にインスタンスではなくクラス自身(cls)を受け取るメソッドです。インスタンスの状態には...
Python

Python | OOP:setter

概要(setterは「値の更新に検証を挟む安全な入口」)setterは、オブジェクトの属性を更新するときにルール(検証・整合性維持)を必ず通過させるための仕組みです。Pythonでは@property...
Python

Python | OOP:プロパティ(@property)

概要(@propertyは「属性のように使える安全な窓口」)@propertyは、見た目は属性アクセスなのに、裏側で関数(メソッド)が実行される仕組みです。値の取得(getter)、設定(setter...
Python

Python | OOP:private 的記述

概要(Pythonの“private”的記述は「強制」ではなく“合図”と“窓口設計”)PythonにはJavaのprivateのような強制的なアクセス修飾子はありません。代わりに「内部用」を示す命名規...
Python

Python | OOP:カプセル化

概要(カプセル化は「中身を守り、外からは使いやすい窓口だけ見せる」設計)カプセル化は、オブジェクトの内部状態(属性)と内部処理(ヘルパーメソッド)を隠し、外部には安全な操作方法だけを提供する考え方です...
Python

Python | OOP:オーバーライド

概要(オーバーライドは「親の振る舞いを、子で意図通りに差し替える」技術)オーバーライドは、継承した親クラスのメソッドを子クラスで同じ名前で再定義して、振る舞いを変更・拡張する仕組みです。共通部分は親に...
Python

Python | OOP:super()

概要(superは「親の処理を安全に呼び継ぐためのバトン」)super()は、継承チェーンの中で「次に呼ぶべきクラス」のメソッドへバトンを渡す仕組みです。単なる“親クラス呼び出し”ではなく、Pytho...
Python

Python | OOP:継承

概要(継承は「既存の設計を引き継ぎ、拡張・差し替えする」ための仕組み)継承は、親クラス(基底クラス)の属性・メソッドを子クラス(派生クラス)が受け継ぎ、必要な部分だけ追加や上書き(オーバーライド)する...
Python

Python | OOP:インスタンス変数

概要(インスタンス変数は「各オブジェクト固有の状態」)インスタンス変数は、クラスから作られた各インスタンスが個別に持つデータです。同じクラスでも、インスタンスごとに値が違ってよい(むしろ違うのが普通)...
Python

Python | OOP:クラス変数

概要(クラス変数は「全インスタンスで共有する設定・定数」)クラス変数は、クラスに属する値で、作られたすべてのインスタンスから共有されます。対してインスタンス変数は各個体専用。初心者がまず押さえるべきは...
Python

Python | OOP:属性

概要(属性は「オブジェクトが持つデータ」。設計と使い分けが要)属性はクラスやインスタンスが持つデータで、振る舞い(メソッド)と対になる要素です。まず理解すべきは、インスタンス属性とクラス属性の違い、可...
Python

Python | OOP:メソッド

概要(メソッドは「そのオブジェクトができること」を表す操作)メソッドは、クラスに属する関数で「オブジェクトの振る舞い」を定義します。インスタンスの状態(属性)を読み書きしたり、外部と連携したり、目的に...
Python

Python | OOP:init

概要(initは「生まれた直後の初期設定」を行う特別なメソッド)initは、インスタンス生成時に自動で呼ばれる“コンストラクタ”で、属性の初期化や前提チェックを行います。Pythonではメソッドの第1...
Python

Python | OOP:class 定義

概要(classは「データ+振る舞い」をひとまとめにする設計図)クラスは、関連するデータ(属性)と処理(メソッド)をまとめる「設計図」です。設計図から作る具体物がインスタンス。初心者がまず身につけるべ...
Python

Python | Web / API:GitHub でコード管理基礎

概要(GitHubは「変更履歴を安全に共有・同期する場所」、Gitはそのエンジン)Gitはローカルでコードの変更履歴を管理するツール、GitHubはその履歴をクラウドで共有・レビュー・公開する場です。...
Python

Python | Web / API:API キーの扱い

概要(APIキーは「本人確認の鍵」。扱いは最小露出・安全保管・適切送信)APIキーはサービスを利用するための秘密の識別子です。コードに直書きせず、環境変数やシークレット管理で安全に保管し、HTTPヘッ...
Python

Python | Web / API:エラーの再スロー

概要(エラーの再スローは「原因を記録して、正しい層へ渡す」ための技術)再スロー(re-raise)は、捕まえた例外を処理(ログや補足)したうえで、呼び出し元へ再び投げ直して「適切な場所で判断」させるた...
Python

Python | Web / API:assert

概要(assertは「前提が破れたら即座に止める」ための開発時チェック)assertは「この時点では必ず条件が成り立つはず」という前提をコードに埋め込み、破れたら AssertionError を投げ...
Python

Python | Web / API:print デバッグ

概要(printデバッグは「流れと値」をその場で可視化する最短手段)printデバッグは、疑わしい箇所にprintを挿入して「いつ、どの分岐で、どんな値になっているか」を直接出力し、原因に近づく方法で...
Python

Python | Web / API:デバッグ基礎

概要(デバッグは「原因を特定して直すための再現と観察」)デバッグの核心は、問題を確実に再現し、プログラムの状態を正しく観察して、原因に最短で辿り着くことです。初心者は「再現条件を固定する」「トレースバ...
Python

Python | Web / API:PEP8 の基礎

概要(PEP8は「読みやすさと一貫性」をコードに宿すための基本ルール)PEP8はPythonの公式スタイルガイドで、見た目の揃え方や命名、インデント、改行など「どう書くと読みやすいか」を定めています。...
Python

Python | Web / API:ライブラリのドキュメント参照

概要(「正しいドキュメントを、正しいバージョンで読む」ことが9割)ライブラリのドキュメントは「使い方の唯一の正解」に近い情報源です。まず意識すべきは、あなたが使っているライブラリのバージョンに対応する...
Python

Python | Web / API:モジュールの分割

概要(モジュールの分割は「責務で切り分けて再利用性と保守性を上げる」技術)モジュール分割は、1つの長いスクリプトを機能ごとにファイルへ分け、明確な境界でインポートし合う設計です。初心者がまず押さえるの...
Python

Python | Web / API:Python のパッケージ構造

概要(Pythonのパッケージ構造は「関連機能を階層で整理する入れ物」)Pythonのパッケージは、関連する複数のモジュール(.pyファイル)をディレクトリ階層でまとめ、再利用性と保守性を高める仕組み...
Python

Python | Web / API:pip freeze

概要(pip freezeは「今の環境を丸ごと再現するためのスナップショット」)pip freezeは、現在のPython環境に入っているライブラリをname==version形式で完全に列挙します。...
Python

Python | Web / API:pip list

概要(pip listは「今の環境に入っているライブラリを一望する鏡」)pip listは、現在のPython(できれば仮想環境)にインストールされているパッケージとバージョンを一覧表示します。環境の...
Python

Python | Web / API:pip install

概要(pip installは「必要なライブラリを安全に取り込む」ための入口)pipはPythonのパッケージ管理ツール。pip installで外部ライブラリを追加し、アップグレードやアンインストー...
Python

Python | Web / API:requirements.txt

概要(requirements.txtは「同じ環境を誰でも瞬時に再現するための依存リスト」)requirements.txtは、そのプロジェクトで使う外部ライブラリ名とバージョンを列挙したテキストファ...
Python

Python | Web / API:仮想環境 venv

概要(venvは「プロジェクトごとに独立したPython環境」を作る標準機能)venvはPython標準の仮想環境機能で、各プロジェクトが別々のライブラリやバージョンを使えるように分離します。これによ...
Python

Python | Web / API:dotenv

概要(dotenvは「設定と秘密をコードから切り離す」開発の定番)dotenvは、.envファイルに書いた設定値(APIキーやDB接続文字列など)をPython実行時に環境変数へ読み込むための軽量ライ...
Python

Python | Web / API:環境変数

概要(環境変数は「設定や秘密をコード外で持つための保管場所」)環境変数は、OSが管理する名前つきの設定値です。Pythonでは os.environ や os.getenv を使って取り出し、APIキ...
Python

Python | Web / API:logging のレベル

概要(loggingのレベルは「重要度のフィルタ」で情報量を制御する仕組み)Pythonのloggingには重要度を表す5段階のレベル(DEBUG/INFO/WARNING/ERROR/CRITICA...
Python

Python | Web / API:logging のフォーマット

概要(loggingのフォーマットは「いつ・どこで・何が起きたか」を一行に凝縮する設計)ログの価値は、後から原因に直行できること。フォーマットはそのための骨組みです。日付・レベル・発生箇所・メッセージ...
Python

Python | Web / API:ログ出力 logging

概要(loggingは「あとから原因を特定できる記録」を残すための標準手法)printは一瞬の確認、loggingは運用と原因追跡のための記録です。ログレベルで重要度を切り替え、フォーマットで「いつ・...
Python

Python | Web / API:ファイル添付メール

概要(ファイル添付は「正しいMIMEと暗号化」で確実に届ける)Python標準のsmtplibとemail.message.EmailMessageを使えば、PDFや画像、Excelなどを安全に添付し...
Python

Python | Web / API:IMAP 読み取り

概要(IMAPは「受信箱から安全に読み取る」ための標準プロトコル)IMAPは、メールサーバ上の受信箱(INBOX)からメールを検索・取得・既読化・移動・削除するためのしくみです。Python標準のim...
Python

Python | Web / API:SMTP の基本

概要(SMTPは「メールをサーバ経由で届ける」ための標準プロトコル)SMTPは、メールを送信側から受信側へ「サーバを介して転送する」ための仕組みです。Pythonでは標準ライブラリのsmtplibを使...
Python

Python | Web / API:Python でメール送信

概要(Pythonでメール送信は「smtplib+EmailMessage」が基本の型)Python標準のsmtplibとemailパッケージを使えば、テキストメール、HTMLメール、添付ファイル、複...
Python

Python | Web / API:WebDriverWait

概要(WebDriverWaitは「準備が整ってから動く」ための安定化の核)WebDriverWaitは、Seleniumで「要素が見える」「クリック可能」「URLが変わる」などの状態になるまで待って...
Python

Python | Web / API:自動入力

概要(自動入力は「正しく見つけ、待って、確実に送る」型づくり)Seleniumでの自動入力は、フォームや検索欄、ログイン画面などへ文字を入れる操作をコード化することです。重要なのは、要素の特定(ロケー...
Python

Python | Web / API:自動クリック

概要(自動クリックは「見えてから、正しく、確実に押す」の型づくり)Seleniumでの自動クリックは、ボタンやリンクをプログラムから押す操作です。重要なのは、要素の特定(ロケータ)、明示的待機(表示・...
Python

Python | Web / API:ChromeDriver

概要(ChromeDriverは「SeleniumがChromeを動かすための運転手」)ChromeDriverは、SeleniumがChromeブラウザをプログラムから操作するための仲介役です。要点...
Python

Python | Web / API:セッション管理

概要(セッション管理は「同じ条件を保ったまま、速く安定して通信する」ための基礎)Pythonのrequestsでセッション管理をすると、接続の再利用(Keep-Alive)、クッキーやヘッダーの持続、...
Python

Python | Web / API:CSS セレクタ

概要(CSS セレクタは「構造を短く正確に指定する」最強の抽出術)BeautifulSoupのCSSセレクタ(select / select_one)は、タグ名・class・id・親子関係をひとつの文...
Python

Python | Web / API:HTML の構造

概要(HTML の「骨組み」を理解すると、スクレイピングが一気に楽になる)HTML はタグで構造化されたテキストです。ページは head(設定やメタ情報)と body(画面に見える内容)に分かれ、要素...
Python

Python | Web / API:find / find_all

概要(find / find_all は「欲しい要素を的確に拾う」基本手段)BeautifulSoup の find は「最初の1件」、find_all は「該当する全件」を返す検索メソッドです。タグ...
Python

Python | Web / API:スクレイピング基本(BeautifulSoup)

概要(BeautifulSoupは「HTMLから欲しい所だけ抜く」ための定番)BeautifulSoupは、取得したHTMLを“読みやすい木構造”にして、タグ名・クラス名・CSSセレクタで必要部分だけ...
Python

Python | Web / API:レスポンスコード

概要(レスポンスコードは「今どういう状態か」を示す信号)HTTPのレスポンスコードは、APIから返ってくる「成功か失敗か、次に何をすべきか」を表す番号です。200番台は成功、300番台はリダイレクト、...
Python

Python | Web / API:API エラー処理

概要(APIエラー処理は「失敗を見落とさない・止めない・壊さない」ための型づくり)APIは必ず失敗します。通信が詰まる、サーバが落ちる、仕様が変わる、レート制限に当たる。だから「すべて成功前提」で書く...
Python

Python | Web / API:JSON API

概要(JSON APIは「辞書のやり取り」で短く、安全に)JSON APIは、サーバとクライアントがJSON(辞書・配列ベースのテキスト)を送受信する仕組みです。Pythonでは標準のjsonモジュー...
Python

Python | Web / API:クエリパラメータ

概要(クエリパラメータは「URLに条件を添える」最短手段)クエリパラメータは、URLの末尾に ?key=value の形で付ける追加情報です。検索条件やページ番号、並び順などをサーバへ伝えるために使い...
Python

Python | Web / API:requests.post

概要(requests.postは「サーバへデータを送る」ための最短ルート)requests.postは、フォーム送信やJSONの投稿、ファイルアップロードなど「データをサーバへ渡す」場面で使います。...
Python

Python | Web / API:requests.get

概要requests.get は「URLへアクセスしてデータを取得する」ための最短ルートです。インストールは簡単で、使い方も直感的。重要なのは、ステータスコードの確認、タイムアウト設定、例外処理、レス...
JavaScript

JavaScript | DOM 操作:DOM 基礎 – 静的 NodeList とライブ HTMLCollection の違い

静的 NodeList とライブ HTMLCollection とは何か静的 NodeList とライブ HTMLCollection は、DOM から複数ノードを集めた「コレクション」を表します。違...
JavaScript

JavaScript | DOM 操作:DOM 基礎 – DOM API の基本概念

DOM API とは何かDOM API は、ブラウザが作る「HTML の木構造(DOM ツリー)」を JavaScript から読み書きするための関数やプロパティ群です。document を起点にノー...
JavaScript

JavaScript | DOM 操作:DOM 基礎 – HTML と JavaScript の紐づけ

HTML と JavaScript の紐づけとは何かHTML は「見た目と構造」、JavaScript は「動きと振る舞い」を担当します。紐づけとは、HTML の要素を JavaScript から選び...
JavaScript

JavaScript | DOM 操作:DOM 基礎 – DOM の読み込み順序

DOM の読み込み順序とは何かDOM の読み込み順序は、ブラウザが HTML を上から解析し、DOM ツリーを構築していく過程の時間軸です。重要なのは「ブラウザは文書を一気に読み終えてから作るのではな...
JavaScript

JavaScript | DOM 操作:DOM 基礎 – window と document の違い

window と document の違いwindow は「ブラウザタブ(ウィンドウ)そのもの」を表す最上位のオブジェクトです。タイマー、画面サイズ、スクロール、イベント、ストレージ、ネットワークなど...
JavaScript

JavaScript | DOM 操作:DOM 基礎 – DOMContentLoaded

DOMContentLoaded とは何かDOMContentLoaded は、「ブラウザが HTML の構文解析を終えて、DOM ツリーの構築が完了した瞬間」に発火するイベントです。ここが重要です:...
JavaScript

JavaScript | DOM 操作:DOM 基礎 – 要素ノード / テキストノード

要素ノード / テキストノードとは何か要素ノードは HTML のタグそのもの(div, p, a など)を表し、属性(id, class, style など)や子ノードを持てます。テキストノードは、要...
JavaScript

JavaScript | DOM 操作:DOM 基礎 – ドキュメントツリーの構造

ドキュメントツリーとは何かドキュメントツリーは、HTML文書を「ノード(要素・テキスト・コメント)」の入れ子で表した木構造です。最上位の document を根にして、html、head、body と...
JavaScript

JavaScript | DOM 操作:DOM 基礎 – ノードとは何か

ノードとは何かDOMの「ノード」は、HTML文書を構成する最小パーツのことです。要素(div、p、aなど)、テキスト(文字列)、コメント、属性など、画面に関係するすべてがノードとして木構造に並びます。...
JavaScript

JavaScript | DOM 操作:DOM 基礎 – DOM とは何か

DOM とは何かDOM(Document Object Model)は、ブラウザが「HTML や XML の文書をプログラムから操作できるようにした、木構造のデータモデル」です。ページは「ノード(要素...
JavaScript

JavaScript | 基礎構文:オブジェクト - Object.keys / values / entries

Object.keys / Object.values / Object.entries は「オブジェクトを配列に変換する道具」オブジェクトは「名前付きの引き出しがたくさんあるタンス」でした。Obje...
JavaScript

JavaScript | 基礎構文:オブジェクト - in 演算子

in 演算子って何者?in 演算子は、「このオブジェクトに、このプロパティ名は“存在しているか?”」を調べるための道具です。ポイントは、「値が何か」ではなく「その名前のプロパティがあるかどうか」だけを...
JavaScript

JavaScript | 基礎構文:オブジェクト - Freeze(凍結)

Object.freeze は「オブジェクトを氷漬けにする魔法」Object.freeze は、「このオブジェクト、もう二度と書き換えられないようにしたい」というときに使う機能です。一言でいうと、その...
JavaScript

JavaScript | 基礎構文:オブジェクト - スプレッド構文による浅いコピー

スプレッド構文による「浅いコピー」って何者?スプレッド構文 { ...obj } は、「既存のオブジェクトの中身を“広げて”、新しいオブジェクトを作る書き方」 です。そしてここで超重要なのが、このコピ...
JavaScript

JavaScript | 基礎構文:オブジェクト - オブジェクトのコピー

オブジェクトのコピーって何者?「オブジェクトのコピー」は、「元のオブジェクトとは独立した“もう一つのオブジェクト”を作ること」 です。ここで一番ハマりやすい落とし穴が、const original =...
JavaScript

JavaScript | 基礎構文:オブジェクト - メソッド

メソッドって何者?メソッドは、「オブジェクトにくっついている関数」 です。オブジェクトが「データ(状態)」を持っているとしたら、メソッドはそのデータに対して「できること(振る舞い)」を表します。人で言...
JavaScript

JavaScript | 基礎構文:オブジェクト - プロパティアクセス(. と [])

「プロパティアクセス」は“タンスの引き出しを開ける”動作オブジェクトは「名前付きの引き出しがたくさんあるタンス」のようなものです。プロパティアクセスは、その引き出しを「開ける」「中身を入れる」ための書...
JavaScript

JavaScript | 基礎構文:オブジェクト - プロパティの削除(delete)

delete は「引き出しごと取り外す」イメージオブジェクトは「名前付きの引き出しがたくさんあるタンス」のようなものです。delete は、その引き出し(プロパティ)を“丸ごと取り外す”ための演算子 ...
JavaScript

JavaScript | 基礎構文:オブジェクト - プロパティの追加

「プロパティの追加」は“あとから引き出しを増やす”イメージオブジェクトは「名前付きの引き出しがたくさんあるタンス」のようなものです。プロパティの追加は、「そのタンスにあとから新しい引き出しを増やす」イ...
JavaScript

JavaScript | 基礎構文:オブジェクト - オブジェクトリテラル

オブジェクトリテラルって何者?オブジェクトリテラルは、「波カッコ {} を使って、その場で“まとまりのあるデータ”を作る書き方」 です。人間の世界でいうと、「名前・年齢・住所がセットになった“1人の人...
JavaScript

JavaScript | 基礎構文:スコープ・実行コンテキスト - 変数解決の仕組み(順序)

「変数解決の仕組み」って何を指しているかここでいう「変数解決の仕組み(順序)」は、「ある名前(変数名)を書いたときに、JavaScript が“どの値を使うか”をどう決めているかという話です。同じ名前...
JavaScript

JavaScript | 基礎構文:スコープ・実行コンテキスト - TDZ(Temporal Dead Zone)

TDZ(Temporal Dead Zone)って何者?TDZ は「変数が“まだ使えない時間帯”のことです。もっと砕くと、let / const で宣言された変数は、「スコープに入った瞬間から宣言行ま...
JavaScript

JavaScript | 基礎構文:スコープ・実行コンテキスト - this の基礎

this は「今、誰のことを指しているか」を表すキーワードthis は、「このコードを“実行している主体(オブジェクト)”は誰か?」を指す特別なキーワードです。よく「自分自身」と説明されますが、Jav...
JavaScript

JavaScript | 基礎構文:スコープ・実行コンテキスト - 関数スコープ

関数スコープって何者?関数スコープは、「その関数の中だけで有効な“専用の部屋”」 のことです。関数の中で宣言した変数や関数は、基本的にその関数の外からは見えません。「関数ごとに、自分だけの小さな世界を...
JavaScript

JavaScript | 基礎構文:スコープ・実行コンテキスト - 変数のシャドーイング

変数のシャドーイングって何者?変数のシャドーイングは、「内側のスコープで同じ名前の変数を宣言して、外側の変数を“影に隠してしまう”こと」 です。“shadow(影)”という名前の通り、外側にある同じ名...
JavaScript

JavaScript | 基礎構文:スコープ・実行コンテキスト - クロージャの基礎(応用はまだ不要)

クロージャって何者?クロージャは、「外側のスコープの変数を“覚えたまま”生きている関数」 です。もう少しだけ丁寧に言うと、ある関数の中で定義された関数が、その外側の変数にアクセスし続けられる仕組みこれ...
JavaScript

JavaScript | 基礎構文:スコープ・実行コンテキスト - レキシカルスコープ

レキシカルスコープって何者?レキシカルスコープは、「変数がどこから見えるかは、“コードが書かれている場所”で決まる」というルールのことです。もう少し砕くと、「どの変数が使えるか」は「どこでその関数を“...
JavaScript

JavaScript | 基礎構文:スコープ・実行コンテキスト - ブロックスコープ

ブロックスコープって何者?ブロックスコープは、「{}(ブロック)の中だけで有効な“ミニスコープ”」 のことです。if、for、while、単なる {} など、波カッコで囲まれた範囲ごとに「その中だけで...
JavaScript

JavaScript | 基礎構文:スコープ・実行コンテキスト - ローカルスコープ

ローカルスコープって何者?ローカルスコープは、「その中だけで有効な“自分だけの部屋”みたいな領域」 です。グローバルスコープが「家全体」だとしたら、ローカルスコープは「自分の部屋」。部屋の中のもの(変...
JavaScript

JavaScript | 基礎構文:スコープ・実行コンテキスト - グローバルスコープ

スコープってそもそも何?その中の「グローバルスコープ」とはまず前提として、スコープとは「変数や関数が“どこから見えるか(使えるか)”の範囲 のことです。その中で「グローバルスコープ」は、「プログラム全...
Excel VBA逆引き

Excel VBA 逆引き集 | 自動バックグラウンド処理

ねらい:Excelで「自動バックグラウンド処理」を安全に回し、UIを固めずに完走させる自動バックグラウンド処理とは、ユーザー操作に依存せず、一定間隔や条件で軽く監視しながら、重い処理は分割して少しずつ...
Excel VBA逆引き

Excel VBA 逆引き集 | タスク管理

ねらい:Excelで「タスク管理」を安全に運用し、誰が使っても同じ結果にするExcelでのタスク管理は、入力シートの項目、状態遷移、担当者、期限、優先度、ログ、通知などが絡みます。VBAで仕組み化すれ...
Excel VBA逆引き

Excel VBA 逆引き集 | バッチ実行

ねらい:VBAで「バッチ実行」を安全に回し、長時間でも落ちない仕組みを作るバッチ実行は「人の操作なしに、複数の処理を決まった順でまとめて走らせる」ことです。Excelでも、タスクの並べ方、開始・終了の...
Excel VBA逆引き

Excel VBA 逆引き集 | ウォッチャー

ねらい:Excelの「ウォッチャー」で変化を検知し、素早く安全に処理するウォッチャーは「何かが起きたら見張って反応する仕組み」です。Excel VBAでは、シートの値変更、タイマー、ファイル更新、計算...
Excel VBA逆引き

Excel VBA 逆引き集 | イベントクラス

ねらい:イベントを「クラス」で受け止め、暴走せず拡張しやすいVBAへイベントクラスは、散らばりがちなイベント処理(Workbook/Worksheet/アプリ/フォーム)をクラスに閉じ込めて一元管理す...
Excel VBA逆引き

Excel VBA 逆引き集 | コールバック

ねらい:VBAで「コールバック」を使い、処理の途中で任意の動きを差し込めるようにするコールバックは「ある処理の途中で、外から渡された関数(やメソッド)を呼び返す」仕組みです。Excel VBAでも、関...
Excel VBA逆引き

Excel VBA 逆引き集 | 依存性注入(DI風)

ねらい:Excel VBAで「依存性注入(DI風)」を取り入れ、差し替えやすく壊れにくい設計にする依存性注入(DI)は「使う側が必要な部品を自分で作らず、外から渡してもらう」設計です。VBAにはDIコ...
Excel VBA逆引き

Excel VBA 逆引き集 | MVC風構造

ねらい:ExcelでMVC風構造にして「読みやすく・壊れにくく・拡張しやすく」するExcel VBAは、シート操作や業務ルール、フォームの入力が混ざりやすく、少しの変更で全体が崩れがちです。MVC風構...
Excel VBA逆引き

Excel VBA 逆引き集 | Repositoryパターン

ねらい:Excelで「読み書きの責務」を分離し、壊れないVBAへRepositoryパターンは「どこから読み、どこへ書くか」の責務をクラスに閉じ込め、業務ロジックやUIから切り離す設計です。これにより...
Excel VBA逆引き

Excel VBA 逆引き集 | マニアック・高度技術:クラスによるレイヤー設計

ねらい:クラスで「レイヤー」を分け、壊れにくく拡張しやすいVBAへ業務VBAは、UI・入出力・業務ロジック・設定などが混ざりがちで、少しの変更で全体が壊れます。クラスによるレイヤー設計は、役割ごとに境...
Excel VBA逆引き

Excel VBA 逆引き集 | 便利Tips・実務小技:最強テンプレ構造

ねらい:どの業務でも「壊れず速く保守しやすい」最強テンプレ構造を手に入れる最強テンプレ構造とは、VBAをどの業務にも安全に載せ替えられる「設計の型」です。開始・終了の共通枠、設定の外出し、配列I/O、...
Excel VBA逆引き

Excel VBA 逆引き集 | 業務フローにVBAを組み込む

ねらい:業務フローにVBAを安全に組み込み、現場で回る仕組みにする業務フローは「入力→検証→処理→出力→通知→記録→次工程へ引き渡し」という連鎖です。VBAを入れるポイントは、手順を壊さず、事故が起き...
Excel VBA逆引き

Excel VBA 逆引き集 | マクロのログレベル設計

ねらい:マクロの「ログレベル設計」で運用を見える化する業務マクロを長期運用すると「どこで失敗したか」「どこまで進んだか」「何が起きたか」が分からないと困ります。ログを設計する際に重要なのは「レベル分け...
Excel VBA逆引き

Excel VBA 逆引き集 | メモリ管理

ねらい:VBAのメモリ管理を理解して「速く・安定して・落ちない」コードへExcel VBAは、Rangeを1セルずつ触るより「配列でまとめて」扱った方が速い一方で、配列やオブジェクトの寿命・解放を誤る...
Excel VBA逆引き

Excel VBA 逆引き集 | VBAでリファクタリング

ねらい:動作は変えずに「読みやすく・直しやすく・速く」するVBAのリファクタリングは、機能を増やすことではありません。今の動作を維持したまま、構造を整えて保守性と速度を上げます。安全に進める鍵は、小さ...
Excel VBA逆引き

Excel VBA 逆引き集 | 大規模運用のトラブル例

ねらい:大規模運用で「よく起きるトラブル」を具体例と対処テンプレで潰す大量データ、複数人運用、長期利用。現場で本当に起きる失敗は、速度やメモリだけではありません。設定誤り、同時実行、バージョン違い、イ...
Excel VBA逆引き

Excel VBA 逆引き集 | 実務システム化のコツ

ねらい:VBAを「実務システム」に仕立てるための設計・運用のコツ業務で長く使えるVBAは、コードの巧みさだけでなく「設計と運用の仕組み」が要です。壊れにくい構成、設定の外出し、ログ・進捗・停止、エラー...
Excel VBA逆引き

Excel VBA 逆引き集 | 高速化設定の定石

ねらい:高速化設定の「定石」を一括で押さえ、どの処理にも迷わず適用するExcel VBAの速度は「設定スイッチ」で大きく変わります。まず環境を最適化(描画・イベント・再計算を止める)、処理は配列でまと...
Excel VBA逆引き

Excel VBA 逆引き集 | 遅い原因の切り分け

ねらい:Excel VBAの「遅い原因」を素早く特定して、的確に直す遅さの犯人は、ほぼ「セルへの往復」「描画・再計算」「イベント」「型変換」「文字列連結」のどれかです。感覚ではなく、計測→切り分け→A...
Excel VBA逆引き

Excel VBA 逆引き集 | 大量データの扱い方

ねらい:大量データでも「速く・安全・見える化」して処理する設計と実装Excelで数万〜数十万行を扱うと、画面が固まる、遅い、落ちる、壊れる…が起きがち。大量データの基本は「読みは一括」「処理はメモリ」...
Excel VBA逆引き

Excel VBA 逆引き集 | 命名規則(業務Excel向け)

ねらい:業務Excelに最適な「命名規則」で迷いゼロ・保守ラク業務Excelは、人とマクロが長く使います。名前が統一されていないと「どれが何か分からない」「修正で壊れる」原因に。命名規則を決めて守るだ...
Excel VBA逆引き

Excel VBA 逆引き集 | コメント規約

ねらい:コメント規約で「読みやすく・直しやすく・引き継ぎやすい」コードにするVBAは簡単に書ける分、コメントがないと「何をしているのか分からない」「修正が怖い」状態になりがちです。コメント規約を決めて...
Excel VBA逆引き

Excel VBA 逆引き集 | フォームテンプレート化

ねらい:ユーザーフォームを「テンプレ化」して、どのプロジェクトでも即使える状態へユーザーフォームは「入力」「確認」「進捗」「設定」などのUIを提供します。毎回ゼロから作ると時間も品質もバラつきます。フ...
Excel VBA逆引き

Excel VBA 逆引き集 | シートテンプレート化

ねらい:シートテンプレート化で「毎回同じ形からスタート」できる安心設計業務でよくあるのが「毎回同じ帳票を作る」「入力欄やヘッダーを揃える」「フォーマットを崩さない」。これを人手で整えるとミスが出ます。...
Excel VBA逆引き

Excel VBA 逆引き集 | 部品ライブラリ化

ねらい:よく使う処理を「部品化」して、どのブックでも再利用できる状態へ毎回ゼロから書くと、品質も速度も安定しません。部品ライブラリ化とは、共通処理を「小さな、よく磨かれたモジュール」にまとめ、どのブッ...
Excel VBA逆引き

Excel VBA 逆引き集 | クラスモジュール活用

ねらい:クラスモジュールで「型」を作り、VBAを一段強くするVBAは手軽ですが、値やRangeが行き交うだけだと複雑化しがち。クラスモジュールは「自分専用の型(モノ)を作る」仕組みです。社員、注文、ル...
Excel VBA逆引き

Excel VBA 逆引き集 | 標準モジュール整理

ねらい:標準モジュールを「整理・分離・見える化」して保守を軽くするVBAは増築しやすい反面、「同じ処理が散らばる」「責務が混ざる」「どこに何があるか分からない」になりがち。標準モジュールを意図的に整理...
Excel VBA逆引き

Excel VBA 逆引き集 | ロジック分離

ねらい:ロジック分離で「壊れにくく、直しやすい」VBAへExcel VBAは「セル操作」と「ビジネス処理」が混ざりやすく、修正が難しくなりがちです。ロジック分離とは、画面(UI)・データアクセス(シー...
Excel VBA逆引き

Excel VBA 逆引き集 | Configシート運用

ねらい:Configシートで「設定をコードから切り離す」運用を作る毎回コードを書き換えずに、シート名・保存先・閾値・ON/OFFなどを変更できたら運用は格段に楽になります。Configシートは「人が編...
Excel VBA逆引き

Excel VBA 逆引き集 | マクロの設計テンプレ

ねらい:壊れにくいマクロを量産する「設計テンプレ」現場で長く使えるVBAは、コードの巧みさより「設計」が命です。開始・検証・処理・ログ・進捗・停止・後片付けを統一フレームにすると、再利用性・保守性・信...
Excel VBA逆引き

Excel VBA 逆引き集 | 非同期実行(擬似)

ねらい:VBAで「止まらないUI」を作る擬似・非同期実行VBAは基本「同期(直列)処理」です。しかし実務では「長い処理をしつつ、UIは応答してほしい」「途中でキャンセルしたい」「進捗を見せたい」という...
Excel VBA逆引き

Excel VBA 逆引き集 | マクロ停止ボタン

ねらい:マクロ停止ボタンで「ユーザーが安心して中断できる」仕組みを作るExcel VBAの長い処理では「やっぱり止めたい」と思うことがあります。通常は Escキー で中断できますが、初心者や利用者にと...
Excel VBA逆引き

Excel VBA 逆引き集 | プログレスバー

ねらい:プログレスバーで「今どれくらい進んだか」を直感表示長い処理では、ただ待つより「進捗が目で見える」方が安心です。プログレスバーは、進捗率をバーの長さで表す仕組み。初心者でも貼ってすぐ使えるように...
Excel VBA逆引き

Excel VBA 逆引き集 | 進捗率表示

ねらい:進捗率を「見える化」して不安をなくす長い処理でも「今どれくらい進んでいるか」が分かれば、ユーザーは安心して待てます。ここでは初心者でも扱える進捗表示のテンプレを、重要ポイントを深掘りしながら紹...
Excel VBA逆引き

Excel VBA 逆引き集 | 便利Tips・実務小技:完了メッセージ

ねらい:処理完了を「分かりやすく伝える」完了メッセージマクロが終わったのかどうか分からないと、初心者は「止まった?」「失敗した?」と不安になります。そこで 完了メッセージ を表示して「処理が正常に終わ...
Excel VBA逆引き

Excel VBA 逆引き集 | バックアップ自動生成

ねらい:バックアップを「自動で」「安全に」作る基盤大事なブックやデータを壊さない最短ルートは、変更前に必ずバックアップを残すことです。ここでは初心者でも使えるテンプレを揃え、「保存のたびに自動バックア...
Excel VBA逆引き

Excel VBA 逆引き集 | 便利Tips・実務小技:ファイル名を日付付きに

ねらい:ファイル名に「日付」を自動付与して整理と追跡を楽にする業務で「毎日出力」「世代管理」「監査」をするなら、ファイル名に日付や時刻を入れるのが最短ルールです。初心者でも迷わないように、保存・コピー...
Excel VBA逆引き

Excel VBA 逆引き集 | 便利Tips・実務小技:初期値リセット

ねらい:初期値リセットで「いつでも同じ状態からスタート」Excelマクロを使うときに「前回の値や色が残っていて誤動作する」「入力欄を毎回手で消すのが面倒」という経験はありませんか?そこで便利なのが 初...
Excel VBA逆引き

Excel VBA 逆引き集 | 便利Tips・実務小技:シート構成検査

ねらい:シート構成を「自動検査」して壊れない運用にする「必要なシートが揃っているか」「ヘッダーが正しいか」「保護・表示状態は適切か」――こうした”構成の前提”が崩れると、処理は簡単に壊れます。人の目で...
Excel VBA逆引き

Excel VBA 逆引き集 | 便利Tips・実務小技:隠しシート

ねらい:隠しシートを安全・計画的に扱う業務ブックでは「見せたくない設定シート」「中間計算の結果」「操作ミスを防ぐための非表示」など、隠しシートの活用が欠かせません。初心者が混乱しやすいポイントは「通常...
Excel VBA逆引き

Excel VBA 逆引き集 | 便利Tips・実務小技:一括解除

ねらい:一括解除で「一気に元に戻す」「保護が掛かった多数シート」「大量のデータ検証・条件付き書式」「結合セル・ハイパーリンク・フィルタ」などを、手作業で解除していませんか?一括解除のテンプレを使えば、...
Excel VBA逆引き

Excel VBA 逆引き集 | 便利Tips・実務小技:一括色付け

ねらい:一括色付けで効率的に見やすいシートを作るExcelで「条件に合うセルをまとめて色付けしたい」「範囲全体を一気に塗りたい」という場面は多いです。初心者がよくやるのはセルを1つずつループして色を塗...
Excel VBA逆引き

Excel VBA 逆引き集 | 便利Tips・実務小技:処理対象シートを自動判定

ねらい:処理対象シートを「自動判定」して人手をゼロに帳票名が毎回変わる、インポートファイルのシート順が一定でない、不要なシートが混ざる。こういう現場で手作業の選択はミスの温床です。自動判定の枠組みを用...
Excel VBA逆引き

Excel VBA 逆引き集 | 便利Tips・実務小技:処理対象列を自動判定

ねらい:処理対象列を「自動判定」して人手を減らす毎回「この列を処理する」と手で指定していませんか?大規模や可変フォーマットのシートでは、列位置が変わる、ヘッダー名が違う、空列が混ざる…などでミスが増え...
Excel VBA逆引き

Excel VBA 逆引き集 | 便利Tips・実務小技:最終行の高速取得

ねらい:最終行の高速取得とは?Excel VBAで「データがどこまで入っているか」を調べるときに必ず出てくるのが 最終行の取得 です。初心者がよくやるのは UsedRange や CurrentReg...
Excel VBA逆引き

Excel VBA 逆引き集 | 便利Tips・実務小技:書式だけコピー

ねらい:書式だけコピーするとは?Excelで「セルの値はそのままにして、書式だけを別のセルにコピーしたい」場面はよくあります。例えば、見た目(フォント、色、罫線)は揃えたいが、数値や文字は変えたくない...
Excel VBA逆引き

Excel VBA 逆引き集 | 便利Tips・実務小技:時刻ログ

時刻ログのねらいマクロを実行した「日時」を記録しておくと、監査(いつ誰が動かしたか)障害調査(どのタイミングで止まったか)性能測定(処理開始から終了までの所要時間)に役立ちます。初心者でも簡単に「時刻...
Excel VBA逆引き

Excel VBA 逆引き集 | 便利Tips・実務小技:PC名取得

ねらいと使い分けPC名(コンピューター名)は「どの端末で実行したか」を記録するための必須情報です。監査や障害調査、権限確認に役立ちます。初心者でも迷わないように、最短の取得方法から、企業ネットワーク向...
Excel VBA逆引き

Excel VBA 逆引き集 | 便利Tips・実務小技:実行者名取得

実行者名取得「誰がマクロを実行したか」を記録できると、監査・トレーサビリティ・権限確認がグッと楽になります。初心者でも迷わないように、取得方法の選び方とコードテンプレを丁寧に解説します。要点は「Win...
Excel VBA逆引き

Excel VBA 逆引き集 | 便利Tips・実務小技:マクロ実行時間計測

マクロ実行時間計測動作が遅いと感じたら「どこで時間がかかっているか」を数値で掴むのが最短の改善ルートです。初心者でもすぐ使える計測テンプレートを用意し、重要ポイントを深掘りします。キーワードは Tim...
Python

Python | ファイル・OS 操作:プロット種類(折れ線・棒)

概要(折れ線・棒の基本と使い分けの軸)折れ線は「連続した推移」を、棒は「カテゴリ間の比較」を見せるのに向いています。まず「横軸は時間かカテゴリか」を決め、折れ線なら値の変化の形、棒なら差の大きさが即読...
Python

Python | ファイル・OS 操作:図保存

概要(図保存は「伝える場面に合わせた形式と解像度」を選ぶのが核心)Matplotlibの図保存は、plt.savefig または fig.savefig を使って画像ファイルへ出力します。重要なのは「...
Python

Python | ファイル・OS 操作:グリッド線

概要(グリッド線は「値の位置と比較」を一瞬でわかるようにする補助線)グリッド線(grid)は、目盛りに沿った薄い罫線で、値の位置を正確に読み取りやすくし、系列どうしの比較を助けます。Matplotli...
Python

Python | ファイル・OS 操作:軸ラベル

概要(軸ラベルは「数値の意味」を伝える最短の一言)軸ラベルは、横軸・縦軸が何を表すのか、単位は何かを一瞬で伝えるための要です。設定はシンプルですが、位置・余白・フォント・単位・目盛りとの整合を丁寧に整...
Python

Python | ファイル・OS 操作:グラフタイトル

概要(グラフタイトルは「何を見せるか」を一瞬で伝える最短手段)タイトルは、グラフの意味や対象範囲を明確にし、見る人の理解負担を下げます。Matplotlibでは「図全体のタイトル(suptitle)」...
Python

Python | ファイル・OS 操作:Matplotlib 基本

概要(Matplotlibは「データを見える化」するための定番)MatplotlibはPythonでグラフを描く基本ライブラリです。折れ線・棒・散布・ヒストグラムなどを素早く作れ、細かい見た目の調整も...
Python

Python | ファイル・OS 操作:NumPy の条件抽出

概要(NumPyの条件抽出は「ブール配列で一発フィルタ」する最短ルート)NumPyの条件抽出(Boolean indexing)は、配列に対する比較結果(True/Falseの配列)をそのままインデッ...
Python

Python | ファイル・OS 操作:NumPy の sum / mean

概要(sum / mean は「配列を一発で集計」するための核機能)NumPy の np.sum と np.mean は、配列全体や行・列ごとに合計と平均を高速に計算する基本関数です。重要なのは「ax...
Python

Python | ファイル・OS 操作:NumPy のブロードキャスト

概要(ブロードキャストは「形が違っても自然に計算させる」仕組み)NumPy のブロードキャストは、形状(shape)が違う配列どうしの演算を可能にする仕組みです。ポイントは「末尾の次元から見て、同じ長...
Python

Python | ファイル・OS 操作:NumPy の reshape

概要(reshapeは「要素数はそのまま、形だけ変える」ための基本テク)NumPy の reshape は、配列の総要素数を変えずに「形(次元・行数・列数)」だけを変える関数です。処理の型は「配列を作...
Python

Python | ファイル・OS 操作:NumPy array

概要(NumPy 配列は「速く・簡潔に・大量データ」を扱うための土台)NumPy 配列(ndarray)は、同じ型の要素を連続メモリに格納する「数値計算専用の配列」です。Pythonのリストより圧倒的...
Python

Python | ファイル・OS 操作:pandas の欠損値処理

概要(pandas の欠損値処理は「検出→方針決定→削除/補完→型整備」の順で進める)欠損値は NaN(Not a Number)や None で表現されます。集計・可視化・機械学習で誤差やエラーの原...
Python

Python | ファイル・OS 操作:pandas.plot

概要(pandas.plotは「DataFrameを即グラフ化」する最短ルート)pandasのplotは、DataFrameやSeriesから折れ線・棒・散布図などを1行で描ける可視化機能です。内部で...
Python

Python | ファイル・OS 操作:pandas.groupby

概要(groupbyは「カテゴリごとにまとめて計算」するための核機能)pandas.groupbyは、列(カテゴリ)でデータをグループ化して、合計・平均・件数などの集計を一気に行う仕組みです。SQLの...
Python

Python | ファイル・OS 操作:pandas の列操作

概要(pandas の列操作は「列名で考える」が合言葉)pandas の列操作は「列名を軸」に発想すると迷いません。列の選択・追加・更新・削除・並べ替え・型変換・文字列処理・条件列の作成まで、ほぼ1〜...
Python

Python | ファイル・OS 操作:pandas.DataFrame.to_excel

概要(to_excelは「DataFrameをExcelに保存」する最短ルート)pandas.DataFrame.to_excelは、表(DataFrame)を.xlsxへ書き出す標準メソッドです。基...
Python

Python | ファイル・OS 操作:pandas.DataFrame の基本

概要(DataFrameは「行と列の表」をコードで扱うための基本型)pandas.DataFrameは、Excelのような表(行・列)をPythonで扱うための中心データ構造です。列名(カラム)と行ラ...
Python

Python | ファイル・OS 操作:pandas.read_csv

概要(pandas.read_csvは「CSVをDataFrameに変換」する最短ルート)pandas.read_csvは、CSV(テキスト表)を一発でDataFrameへ読み込む関数です。初心者がま...
Python

Python | ファイル・OS 操作:Excel 書き込み(openpyxl)

概要(openpyxlで「Excelを書き出す」基本と落ちない勘所)openpyxlは.xlsxのExcelをPythonから生成・追記・整形できるライブラリです。初心者がまず掴むべき流れは「Work...
Python

Python | ファイル・OS 操作:Excel 読み込み(openpyxl)

概要(openpyxlで「Excelを安全に読み取る」基本と勘所)openpyxlは.xlsx形式のExcelをPythonで読み書きできる定番ライブラリです。読み込みでは「どのシートを読むか」「セル...
Python

Python | ファイル・OS 操作:JSON の ensure_ascii

概要(ensure_ascii は「ASCIIだけにするか、日本語をそのまま出すか」を決めるスイッチ)json.dumps/json.dump の ensure_ascii は、非ASCII文字(日本...
Python

Python | ファイル・OS 操作:CSV DictWriter

概要(DictWriterは「列名で書ける」CSV出力の定番)csv.DictWriterは、辞書(dict)をそのままCSVの行として書き込める標準機能です。列順やヘッダーを明示できるため、インデッ...
Python

Python | ファイル・OS 操作:CSV DictReader

概要(DictReaderは「列名でアクセスできる」CSV読み込みの定番)csv.DictReaderは、CSVの各行を「ヘッダーをキーにした辞書」として読み込める標準機能です。列名で参照できるので、...
Python

Python | ファイル・OS 操作:tarfile

概要(tarfile は「フォルダを丸ごと束ねて圧縮・展開」できる標準機能)tarfile は .tar、.tar.gz、.tar.bz2、.tar.xz などのアーカイブを作成・追記・一覧・解凍でき...
Python

Python | ファイル・OS 操作:ZIP 圧縮 zipfile

概要(zipfile は「作る・入れる・取り出す」をひとまとめにする標準機能)zipfile は ZIP アーカイブの作成・追加・一覧取得・解凍を行う標準ライブラリです。外部インストール不要で、ファイ...
Python

Python | ファイル・OS 操作:shutil.rmtree

概要(shutil.rmtree は「ディレクトリ丸ごと削除」を一発で行う強力な関数)shutil.rmtree は、ディレクトリとその中身(ファイル・サブディレクトリ)を再帰的にすべて削除します。空...
Python

Python | ファイル・OS 操作:shutil.move

概要(shutil.move は「移動・リネーム」を1行で安全にやる標準関数)shutil.move は、ファイル/ディレクトリを別の場所へ移動したり、名前を変更(リネーム)するための標準ライブラリの...
Python

Python | ファイル・OS 操作:glob

概要(glob は「パターンに合うファイルを一気に列挙」する標準手段)glob は、ワイルドカードを使って「条件に合うファイルやフォルダ」をまとめて取得する仕組みです。拡張子が .csv のファイルだ...
Python

Python | ファイル・OS 操作:mkdir(parents=True)

概要(mkdir(parents=True) は「途中の親も含めて安全に作る」ための一手)pathlib の Path.mkdir はディレクトリを作るメソッドです。parents=True を付ける...
Python

Python | ファイル・OS 操作:pathlib の結合

概要(pathlib の結合は「/ 演算子」で直感的に安全に書く)pathlib はファイルパスをオブジェクトとして扱う標準ライブラリです。結合は os.path.join を忘れて「/ 演算子」か ...
Python

Python | データ構造強化:速度計測(timeit)

概要(timeit は「公平に何度も走らせて平均速度を測る」ための標準ツール)timeit は、コードの実行時間を正確に測るための標準モジュールです。1回だけの計測はノイズに弱いので「複数回・同じ条件...
Python

Python | データ構造強化:不変性とバグ

概要(不変性は「勝手に変わらない」ことでバグの連鎖を止める安全装置)不変性(immutable)は「作った後に中身が変わらない」性質です。勝手に変わらないという保証は、参照共有や関数の副作用でデータが...
Python

Python | データ構造強化:mutable / immutable

概要(mutable と immutable は「変更できるかどうか」を決める重要な性質)Python のオブジェクトは、作成後に中身を変更できるもの(mutable)と、変更できないもの(immut...
Python

Python | データ構造強化:データ構造の選択基準

概要(「何をしたいか」から逆算してデータ構造を選ぶ)データ構造は「どんな操作を、どれくらいの規模で、どんな制約の下で行うか」で選びます。最重要ポイントは、必要な操作(検索・追加・削除・並べ替え・集計)...
Python

Python | データ構造強化:any / all 条件判定

概要(any / all は「ひとつでも満たす」「全部満たす」を一瞬で判定する心臓部)any と all は、並んだ条件の集合から「ひとつでも満たすか(any)」「全部満たすか(all)」を短く判定す...
Python

Python | データ構造強化:内包表記で条件付き

概要(内包表記の「条件付き」は“選ぶ・変換する”を1行で完結させる技)内包表記に条件を組み込むと、要素を選び(フィルタ)ながら、必要に応じて変換(if-else)までを1行で書けます。for+appe...
Python

Python | データ構造強化:スタック

概要(スタックは「最後に入れたものが最初に出る」LIFOの基本構造)スタックは LIFO(Last-In, First-Out)で要素を管理するデータ構造です。直前の操作を元に戻す「Undo」、括弧の...
Python

Python | データ構造強化:キュー

概要(キューは「先に入れたものが先に出る」安全な順序制御の基本構造)キューは、FIFO(First-In, First-Out)で要素を管理するデータ構造です。タスクの順序制御、イベントの順序処理、ス...
Python

Python | データ構造強化:辞書内のリスト操作

概要(辞書の値にリストを持たせて「グループ化・順次追加」を安全に扱う)辞書の中にリストを入れると、「キーごとに複数の要素」を自然に管理できます。たとえばカテゴリごとの商品一覧、ユーザーごとの履歴、タグ...
Python

Python | データ構造強化:タプルのアンパック

概要(タプルのアンパックは「並んだ値を並んだ変数へ一度に割り当てる」)タプルのアンパックは、複数の値を一度に複数の変数へ代入する文法です。インデックスを使わず「意味のある名前」に直で割り当てられるので...
Python

Python | データ構造強化:二次元リストのループ

概要(二次元リストのループは「外側=行、内側=列」を丁寧にまわすのが基本)二次元リストは「リストの中にリスト」を持つ入れ子構造です。ループは外側で行(row)を、内側で列(value)を走査するのが基...
Python

Python | データ構造強化:リストの二次元構造

概要(二次元リストは「表形式(行×列)」を素直に表す入れ子構造)二次元リストは「リストの中にリスト」を入れる構造で、表や行列のようなデータを自然に扱えます。行は外側リストの要素、列は内側リストの要素と...
Python

Python | データ構造強化:sorted の key

概要(sorted の key は「並べ替えの基準」を自由に設計するための心臓部)sorted は「イテラブルを並べ替えて新しいリストを返す」関数で、key は「要素から並べ替えの基準値を取り出す関数...
Python

Python | データ構造強化:dict の更新

概要(dict の更新は「追加・上書き・統合」を最短で安全に行う技法)辞書 dict はキーと値のペアを扱う可変データ構造です。更新は「代入で1件」「updateで複数件」「マージ演算子で統合」の3本...
Python

Python | データ構造強化:zip のアンパック

概要(zip のアンパックは「行と列をひっくり返す」基本テクニック)zip は複数のイテラブルを「対応する位置でペア化」する関数です。アンパック(*演算子)を組み合わせると、zip で作ったペアを「元...
Python

Python | データ構造強化:list の内包最適化

概要(「内包表記」を正しく使えば“短く・速く・安全”に書ける)リスト内包表記は、既存データから新しいリストを「1行」で作るための記法です。for と append を並べるより、処理の意図が明確で速く...
Python

Python | データ構造強化:ディープコピー(copy.deepcopy)

概要(ディープコピーは「入れ物も中身も全部“別物”にする」コピー)copy.deepcopy は、リストや辞書などの入れ子構造を含むオブジェクトを「最上位から末端まで」再帰的にコピーして、完全に独立し...
Python

Python | データ構造強化:リストのシャローコピー

概要(シャローコピーは「外側だけ新しく、中身は同じものを指す」コピー)リストのシャローコピー(浅いコピー)は、リストそのもの(外側の入れ物)だけを新しく作り、要素がオブジェクトならその参照をそのままコ...
Python

Python | データ構造強化:set の排他的論理和

概要(set の排他的論理和は「片方にしかない要素だけ」をまとめる)排他的論理和(symmetric difference)は、集合 A と集合 B のうち「どちらか一方にしか含まれない要素」だけを取...
Python

Python | データ構造強化:set の差集合

概要(set の差集合は「片方だけにある要素」を取り出す基本操作)差集合(difference)は、集合 A から集合 B に含まれる要素を取り除いた結果です。順序はなく、重複は自動的に排除されます。...
Python

Python | データ構造強化:set の和集合

概要(set の和集合は「重複を除いて全部まとめる」基本操作)和集合(union)は、複数の集合の要素を重複なしでまとめた結果を返します。順序は保証されず、同じ値は1つに統合されます。Python で...
Python

Python | データ構造強化:set の積集合

概要(set の積集合は「共通して含まれる要素だけ」を取り出す基本操作)積集合(intersection)は、複数の集合に共通して含まれる要素だけを取り出します。重複は自動的に排除され、順序はありませ...
Python

Python | データ構造強化:itertools.groupby

概要(groupby は「連続する同じキーでまとまりを作る」ための基本ツール)itertools.groupby は、並んだデータを「キーが同じものが連続している区間」ごとにグループ化するイテレータで...
Python

Python | データ構造強化:itertools.combinations

概要(combinations は「順番を無視した取り合わせ」を遅延生成する)itertools.combinations は、イテラブルから要素を r 個選ぶすべての“組み合わせ”を順に返すイテレー...
Python

Python | データ構造強化:itertools.permutations

概要(permutations は「順番を考慮した並べ方」を遅延生成で作る)itertools.permutations は、イテラブルの要素を「順番を考慮して並べ替えたすべての並び(順列)」を順に返...
Python

Python | データ構造強化:itertools.product

概要(product は「直積=すべての組み合わせ」を省メモリで生成する)itertools.product は複数のイテラブル(リスト、文字列、range など)から「取りうるすべての組み合わせ(デ...
Python

Python | データ構造強化:collections.OrderedDict

概要(OrderedDict は「挿入順や並べ替えを意図的に扱える辞書」)collections.OrderedDict は「辞書の順序」を明確に扱うための拡張辞書です。Python 3.7以降、通常...
Python

Python | データ構造強化:collections.deque

概要(deque は両端から高速に追加・削除できる「双方向キュー」)collections.deque(デック)は、先頭と末尾のどちら側からでも高速に要素を追加・削除できるデータ構造です。リストが先頭...
Python

Python | データ構造強化:collections.defaultdict

概要(defaultdict は「未登録キーに自動で初期値を入れる」辞書)collections.defaultdict は、存在しないキーにアクセスした瞬間に「初期値」を自動作成してくれる辞書です。...
Python

Python | データ構造強化:collections.Counter

概要(Counter は「要素の出現回数」を一瞬で数える専用辞書)collections.Counter は、リストや文字列など「繰り返し可能なデータ」に含まれる各要素が何回出てきたかを数えるためのク...
JavaScript

JavaScript | 基礎構文:関数 – コールバック関数の基礎

コールバック関数って何者?コールバック関数は、「あとで呼び出してもらうために“渡しておく関数”」 です。ふつうは「関数を“呼び出す”側」と「呼び出される側」がはっきり分かれていますが、コールバックでは...
JavaScript

JavaScript | 基礎構文:関数 – 早期 return

早期 return を一言でいうと早期 return(early return)は、「ダメな条件のときは、関数の途中でさっさと抜けてしまう書き方」 です。これを意識して書けるようになると、if が何重...
JavaScript

JavaScript | 基礎構文:関数 – 戻り値

戻り値ってそもそも何者?戻り値は、「関数が“仕事を終えたあとに外に渡す結果”」 です。関数は「何かをして終わり」のときもあれば、「計算して、その結果を返してほしい」ときもあります。その「結果」を外に返...
JavaScript

JavaScript | 基礎構文:関数 – 可変長引数(…args)

可変長引数って何者?可変長引数(かへんちょうひきすう)は、「引数が何個来るか分からないけど、とりあえず全部受け取りたい」 ときに使う仕組みです。JavaScript では ...args のように、引...
JavaScript

JavaScript | 基礎構文:関数 – デフォルト引数

デフォルト引数って何者?デフォルト引数は、「引数が渡されなかったときに使う“あらかじめ決めておく値”」 です。「この引数は省略されることもあるけど、そのときはこの値を使ってね」という“保険”を関数側で...
JavaScript

JavaScript | 基礎構文:関数 – 引数

引数ってそもそも何者?引数(ひきすう)は、「関数に渡す“入力”」 です。関数は「処理のレシピ」ですが、毎回まったく同じことしかしないと不便ですよね。「誰に挨拶するか」「いくつ足すか」「どのメッセージを...
JavaScript

JavaScript | 基礎構文:関数 – アロー関数

アロー関数って何者?アロー関数は、「関数をもっと短く・スッキリ書くための新しい記法」 です。見た目はこういうやつです。const greet = (name) => { console.log("こん...
JavaScript

JavaScript | 基礎構文:関数 – 関数式

関数式って何者?関数式は、「関数そのものを“値”として扱い、変数に代入したり、他の関数に渡したりする書き方」 です。これだけだと少し抽象的なので、まずは「関数宣言」との違いから見ていきます。関数宣言と...
JavaScript

JavaScript | 基礎構文:関数 – 関数宣言

関数宣言とは何か関数宣言とは「関数を定義するための基本的な書き方」のことです。JavaScript では function キーワードを使って関数を宣言します。宣言した関数はプログラムのどこからでも呼...
JavaScript

JavaScript | 基礎構文:関数 – 関数定義

関数ってそもそも何者?関数は、「処理に名前をつけて、あとから何度でも呼び出せるようにしたもの」 です。同じような処理を何回も書くのはダルいし、ミスの元です。そこで「この処理に名前をつけておいて、必要な...
Python

Python | ファイル操作など:プログラム構造の基本

概要(「読みやすく、壊れにくい」プログラム構造の土台を作る)プログラム構造の基本は、役割ごとにコードを分けて、入口と出口を明確にし、外部資源(ファイル・フォルダ)を安全に扱い、失敗に備えることです。初...
Python

Python | ファイル操作など:例外の種類

概要(「例外」は失敗を安全に扱うための仕組み)例外は、処理が想定外の状態になったときに「止める/切り替える」ための信号です。Python では try/except/else/finally で「失敗...
Python

Python | ファイル操作など:エスケープシーケンス

概要(エスケープシーケンスは「文字列の中で特別な文字を表す」仕組み)エスケープシーケンスは、文字列の中に直接書きにくいもの(改行、タブ、クォート、バックスラッシュなど)を、バックスラッシュ「\」を使っ...
Python

Python | ファイル操作など:format

概要(format は「見せ方を指定して、値を文字列に埋め込む」ための基本)format は2つあります。ひとつは文字列のメソッド str.format()("{}" に値を差し込む)、もうひとつは組...
Python

Python | ファイル操作など:round

概要(round は「数値を指定桁で丸める」ための基本関数)round は、数値を最も近い値へ丸める組み込み関数です。小数点以下の桁数を指定でき、桁数を省略すると整数へ丸めます。重要なのは「Pytho...
Python

Python | ファイル操作など:timedelta

概要(timedelta は「時間差・期間」を安全に計算するための基本)timedelta は「何日・何時間・何分」などの“時間の長さ”や“差”を表すオブジェクトです。date/datetime と足...
Python

Python | ファイル操作など:datetime 基本

概要(datetime は「日付と時刻」を安全・正確に扱うための標準ツール)datetime は、今日の日時取得、足し算引き算、表示形式への変換、文字列からのパース、タイムゾーン対応までを一通りこなせ...
Python

Python | ファイル操作など:shutil.copy

概要(shutil.copy は「ファイルを別の場所へコピーする」高レベル関数)shutil.copy は、指定した1つの“ファイル”を別のパスへコピーする標準ライブラリの関数です。コピー先が「ファイ...
Python

Python | ファイル操作など:os.remove

概要(os.remove は「ファイルを1つ削除する」ための基本関数)os.remove は、指定したパスの“ファイル”を削除する関数です。直感的ですが、重要なのは「削除対象はファイルのみ(ディレクト...
Python

Python | ファイル操作など:os.mkdir

概要(os.mkdir は「新しいフォルダを1つ作る」ための基本関数)os.mkdir は、指定した場所にディレクトリ(フォルダ)を1つ作成する関数です。作る場所の親フォルダが存在していることが前提で...
Python

Python | ファイル操作など:os.listdir

概要(os.listdir は「フォルダの中身の名前一覧」を取得する基本関数)os.listdir は、指定したディレクトリに存在する「ファイル名やサブディレクトリ名」をまとめてリストで返します。中身...
Python

Python | ファイル操作など:pathlib.Path

概要(pathlib.Path は「パスを文字列ではなくオブジェクトで扱う」現代的なやり方)pathlib は標準ライブラリで、ファイルやフォルダの“パス”を Path オブジェクトとして安全・直感的...
Python

Python | ファイル操作など:JSON 読み書き

概要(JSON は「辞書やリストをそのまま保存・交換できる」テキスト形式)JSON は、辞書やリストをそのままテキストにしたようなデータ形式です。Python では標準ライブラリの json モジュー...
Python

Python | ファイル操作など:CSV 読み書き

概要(CSV は「表データをテキストでやり取りする」最小で強力な形式)CSV はカンマ区切りのテキストで表データを保存する形式です。Python では標準ライブラリの csv モジュールで、追加インス...
Python

Python | ファイル操作など:with 文

概要(with 文は「後片付けを自動化して安全にする」ための構文)with 文は、ファイルやネットワーク接続など「使ったら必ず片付けが必要」な資源を、安全・簡潔に扱うための構文です。ブロックを抜けるタ...
Python

Python | ファイル操作など:write

概要(write は「ファイルに内容を書き込む」ための基本メソッド)write は、open で開いたファイルオブジェクトに文字列(テキスト)または bytes(バイナリ)を書き込むメソッドです。テキ...
Python

Python | ファイル操作など:readlines

概要(readlines は「全ての行を一度にリストで受け取る」ためのメソッド)readlines は、open で開いたファイルオブジェクトから「全行」をまとめて読み込み、各行を要素とするリストを返...
Python

Python | ファイル操作など:readline

概要(readline は「ファイルを1行ずつ取り出す」ための基本メソッド)readline は、open で開いたファイルオブジェクトから「次の1行」を文字列(テキスト)または bytes(バイナリ...
Python

Python | ファイル操作など:read

概要(read は「ファイルから内容を取り出す」ための基本メソッド)read は、open で開いたファイルオブジェクトから中身を取り出すメソッドです。テキストなら文字列、バイナリなら bytes を...
Python

Python | ファイル操作など:open()

概要(open は「ファイルを開いて読み書きする入口」)open() はファイルを開いて「ファイルオブジェクト」を返す組み込み関数です。読み込み、書き込み、追記、バイナリ操作までこれ一つで行えます。重...
Python

Python | 関数:help()

概要(help は「その場で公式説明を表示する」学習の最強の入口)help() は、関数・クラス・モジュールなどの「公式説明(docstring)」を即座に表示する組み込み関数です。Web検索に行かな...
Python

Python | 関数:dir()

概要(dir は「そのオブジェクトが持つ名前一覧」を教えてくれる内省の基本)dir() は、オブジェクトが持つ属性名(メソッド、プロパティ、定数など)をリストで返す組み込み関数です。初めて触るモジュー...
Python

Python | 関数:標準ライブラリを見る方法

概要(標準ライブラリは「電池付き」=追加インストールなしで使える便利な道具箱)Pythonはインストール直後から大量の便利モジュールを同梱しています。数学計算、日付時刻、ファイル操作、文字列処理などが...
Python

Python | 関数:from import

概要(from import は「必要な名前だけを直接使えるようにする」ための記法)from import は、モジュール全体ではなく“特定の関数・クラス・定数”だけを取り出して、前置なしで直接使える...
Python

Python | 関数:import の基本

概要(import は「他のファイルやライブラリの機能を使えるようにする」仕組み)import は、他のモジュール(Pythonファイル)やライブラリにある関数・クラス・定数を自分のコードで使えるよう...
Python

Python | 関数:モジュールとは

概要(モジュールは「機能ごとに分けた Python ファイル」で再利用の単位)モジュールとは、関数・クラス・定数などをひとまとめにした Python ファイル(.py)のことです。目的別にコードを分割...
Python

Python | 関数:再帰

概要(再帰は「自分自身を呼び出して問題を小さく解く」ための仕組み)再帰は、関数の中でその関数自身を呼び出すテクニックです。ポイントは、問題を「少し小さい同じ形」に分解し、最終的に簡単に答えられる“基底...
Python

Python | 関数:id

概要(id は「そのオブジェクトだけに割り当てられた識別値」を返す)id は、渡したオブジェクトの“同一性”を表す識別値(identity)を返す組み込み関数です。これにより「2つの変数が同じオブジェ...
Python

Python | 関数:isinstance

概要(isinstance は「型やサブクラスまで含めた安全な型チェック」)isinstance は、渡した値が指定した型(クラス)か、またはそのサブクラスであるかを真偽値で返す組み込み関数です。Py...
Python

Python | 関数:type()

概要(type は「その値が何者か」を一瞬で教えてくれる基本関数)type は、オブジェクト(数値、文字列、リスト、関数、クラスのインスタンスなど)の「型(クラス)」を返す組み込み関数です。Pytho...
Python

Python | 関数:ドキュメンテーション文字列

概要(docstring は「使い方」をコードの中に残す公式な説明書)ドキュメンテーション文字列(docstring)は、関数・メソッド・クラス・モジュールの定義直後に書く、三重引用符で囲まれた説明文...
Python

Python | 関数:クロージャ

概要(クロージャは「外側の値を覚えた関数」をつくる仕組み)クロージャは、関数の中で定義した内側関数が「外側の関数の変数」を覚えたまま動く仕組みです。外側関数の実行が終わっても、その値を保持し続けます。...
Python

Python | 関数:関数内関数

概要(関数内関数は「外側の処理専用の小さな関数」をその場で持つための仕組み)関数内関数(ネスト関数)は、ある関数の内部で別の関数を定義する書き方です。外側の関数にだけ関係する処理を内側に閉じ込めること...
Python

Python | 関数:ラムダ式

概要(ラムダ式は「その場で一行の小さな関数」を作るための構文)ラムダ式は、def を使わずに“その場で”一行で定義できる小さな関数(無名関数)です。書式は「lambda 引数: 式」。戻り値はその“式...
Python

Python | 関数:スコープ

概要(スコープは「変数が見える範囲」)スコープとは「変数や関数がどこから参照できるか」を決めるルールです。Python では ローカルスコープ(関数の中)、グローバルスコープ(ファイル全体)、さらに ...
Python

Python | 関数:**kwargs

概要(**kwargs は「名前付きの任意個の引数」を辞書で受け取る仕組み)**kwargs は、関数に渡された「キーワード引数(名前=値)」を、任意の個数まとめて受け取るための記法です。関数内では普...
Python

Python | 関数:可変長引数 *args

概要(*args は「いくつでも受け取れる位置引数」をまとめる仕組み)*args は、関数が受け取る「位置引数」を任意の個数まとめて受け取るための記法です。関数内ではタプルとして扱われ、合計・連結・ル...
Python

Python | 関数:デフォルト引数

概要(デフォルト引数は「省略しても動くための既定値」)デフォルト引数は、関数定義の引数に初期値を設定しておき、呼び出し時にその引数を省略できる仕組みです。使いどころは「ほとんどのケースで同じ値」「オプ...
Python

Python | 関数:引数と返り値

概要(引数は「入力」、返り値は「出力」——関数の往復の道筋)関数は「処理に名前をつけて再利用」する仕組みです。その入口が引数(関数に渡す値)、出口が返り値(return で返す結果)。引数で必要な材料...
Python

Python | 関数:def

概要(def は「処理に名前をつけて再利用」するためのキーワード)def は、よく使う処理をひとまとめにして名前をつけ、何度でも呼び出せるようにするためのキーワードです。関数化すると、重複コードが減っ...
JavaScript

JavaScript | 基礎構文:ループ – ループ vs 高階関数(比較だけ)

ループと高階関数の違いとはプログラミングでは「繰り返し処理」を書く方法として ループ構文(for, while など) と 高階関数(map, filter, forEach など) の2つがあります...
JavaScript

JavaScript | 基礎構文:ループ – for…of

for...of 文とは何かfor...of 文は、配列や文字列など「繰り返し可能なデータ(イテラブル)」の要素を順番に取り出すためのループ構文です。インデックス番号を意識せずに「中身だけ」を扱えるの...
JavaScript

JavaScript | 基礎構文:ループ – for…in

for...in 文とは何かfor...in 文は、オブジェクトのプロパティ名(キー)を順番に取り出すためのループ構文です。配列や文字列にも使えますが、基本的には「オブジェクトの中身を調べる」場面でよ...
JavaScript

JavaScript | 基礎構文:ループ – ループの最適化

ループの最適化とは何かループの最適化とは、「同じ結果を保ったまま、ループの中で行う仕事量を減らす」工夫のことです。1回の処理が少し重くても、ループで何千・何万回と繰り返されると全体の速度に大きく響きま...
JavaScript

JavaScript | 基礎構文:ループ – ネストしたループ

ネストしたループとは何か「ネストしたループ」とは、ループの中にさらにループを書くことです。入れ子構造になっているため「ネスト」と呼ばれます。これを使うと、二重・三重の繰り返し処理ができ、表や配列の組み...
JavaScript

JavaScript | 基礎構文:ループ – break

break を一言でいうとbreak は、「今やっているループ(繰り返し)を、その場で強制終了する」ためのキーワードです。for や while の途中で「もうこれ以上回さなくていい」と判断した瞬間に...
JavaScript

JavaScript | 基礎構文:ループ – continue

continue を一言でいうとcontinue は、ループの中で「この周(イテレーション)の残りはスキップして、すぐ次の周に進む」ためのキーワードです。ループ自体をやめるわけではありません。「この回...
JavaScript

JavaScript | 基礎構文:ループ – do…while 文

do…while 文を一言でいうとdo...while 文は、「必ず 1 回は実行してから、“まだ続ける?” と後で確認するループ」 です。普通の while 文は「最初に条件をチェックして、OK な...
JavaScript

JavaScript | 基礎構文:ループ – while 文

while 文を一言でいうとwhile 文は、「ある条件が true のあいだ、ずっと同じ処理を繰り返す仕組み」 です。for 文は「何回回すか」を自分で設計するイメージでしたが、while 文は「こ...
JavaScript

JavaScript | 基礎構文:ループ – for 文

for 文を一言でいうとfor 文は、「同じような処理を、決まった回数だけ繰り返すための仕組み」です。たとえば「1〜10 までの数字を順番に表示したい」「配列の中身を先頭から順に処理したい」といったと...
JavaScript

JavaScript | 基礎構文:条件分岐 – ガード節(早期 return)

ガード節(早期 return)を一言でいうとガード節は、「ダメな条件を先に弾いて、良いパターンだけを最後にスッキリ書くための書き方」 です。関数の最初で、「この条件なら、ここで終わり(return)」...
JavaScript

JavaScript | 基礎構文:条件分岐 – 条件の分解

条件の分解を一言でいうと「条件の分解」は、“ごちゃごちゃした if の条件を、意味のある小さな塊に分けて整理すること” です。1 行でなんとか書けるけど、読むときに「うっ…」となる長い条件自分で書いた...
JavaScript

JavaScript | 基礎構文:条件分岐 – 複雑な条件式

複雑な条件式を一言でいうと「複雑な条件式」は、「いくつかの条件を組み合わせて “このときだけ true にしたい” を表現した式」 です。例えば、「ログインしていて、かつ管理者」「点数が 70 以上 ...
JavaScript

JavaScript | 基礎構文:条件分岐 – default

default を一言でいうとdefault は、switch 文の中で使う 「どの case にも当てはまらなかったときの、最後の受け皿」 です。if 文でいうと else にあたります。「値が A...
JavaScript

JavaScript | 基礎構文:条件分岐 – break の役割

break を一言でいうとbreak は、「いま実行中の switch 文 や ループ(for / while)を、その場で“ブチッ”と抜けるためのキーワード」 です。今回のテーマは「条件分岐」なので...
JavaScript

JavaScript | 基礎構文:条件分岐 – switch 文の基本

switch 文を一言でいうとswitch 文は、「1つの値に対して、“いくつもの候補”の中からどの処理をするか選ぶための条件分岐」 です。同じ変数を何度も if (x === "A") ... el...
JavaScript

JavaScript | 基礎構文:条件分岐 – ネストした条件

「ネストした条件」を一言でいうとネストした条件(ネストした if 文)は、「ある条件の中で、さらに条件を分けたいときに、if の中に if を入れ子にする書き方」 です。日本語にすると、もし A なら...
JavaScript

JavaScript | 基礎構文:条件分岐 – else

else を一言でいうとelse は、「if の条件が成り立たなかったときに実行する“もう一方の処理”」を書くためのキーワードです。日本語で言うと、「もし条件を満たしていれば A をする。そうでなけれ...
JavaScript

JavaScript | 基礎構文:条件分岐 – else if

else if を一言でいうとelse if は、「if がダメだったときに、別の条件を順番に試していくためのもの」 です。日本語にすると、もし 条件A なら A の処理そうでなくて、もし 条件B な...
JavaScript

JavaScript | 基礎構文:条件分岐 – if 文の基本

if 文を一言でいうとif 文は、「ある条件が成り立つときだけ、特定の処理を実行するための文」です。日本語にすると、もし(条件)が成り立つなら、この処理をしなさいという意味になります。JavaScri...
JavaScript

JavaScript | 基礎構文:比較・論理 – 三項演算子

三項演算子を一言でいうと三項演算子(さんこうえんざんし)は、「if ~ else を 1 行で書ける “条件付きの値” の式」 です。書き方はこの形です。条件式 ? 条件がtrueのときの値 : 条件...
JavaScript

JavaScript | 基礎構文:比較・論理 – falsy / truthy

falsy / truthy を一言でいうとJavaScript の falsy / truthy は、「if 文などで、その値が “偽っぽい” か “真っぽい” か」 を表す言葉です。if (値) ...
JavaScript

JavaScript | 基礎構文:比較・論理 – 真偽値への型変換

真偽値への型変換を一言でいうとJavaScript の「真偽値への型変換」は、数値・文字列・オブジェクトなど “何でも”、if 文などの条件として評価するときに true / false に読み替える...
JavaScript

JavaScript | 基礎構文:比較・論理 – 論理演算子の優先順位

論理演算子の「優先順位」を一言でいうと論理演算子の優先順位は、「!、&&、|| が混ざっているとき、どの順番で計算されるかのルール」 です。JavaScript では基本的に!(NOT)→ &&(AN...
JavaScript

JavaScript | 基礎構文:比較・論理 – NOT

論理 NOT を一言でいうと論理 NOT(ノット)は、「true を false に、false を true にひっくり返す演算子」 です。記号は !(びっくりマーク)を使います。!true → f...
JavaScript

JavaScript | 基礎構文:比較・論理 – 論理 OR

論理 OR を一言でいうと論理 OR(オア)は、「条件 A または 条件 B のどちらか一方でも満たされていれば OK(true)」にする演算子 です。記号は ||(縦棒2つ)を使います。「A または...
JavaScript

JavaScript | 基礎構文:比較・論理 – 論理 AND

論理 AND を一言でいうと論理 AND(アンド)は、「条件 A も条件 B も、どちらも満たされているときだけ OK(true)にする」ための演算子 です。記号は &&(アンパサンド2つ)を使います...
JavaScript

JavaScript | 基礎構文:比較・論理 – 不等号

不等号を一言でいうと「不等号(ふとうごう)」は、2つの値の「大小関係」を比べて、結果を true / false(真偽値)で返す記号 です。数学でおなじみの> より大きい< より小さい>= 以上<= ...
JavaScript

JavaScript | 基礎構文:比較・論理 – == と === の違い

== と === の違いを一言でいうと== と === の一番大事な違いは、これだけです。== … 型を「勝手に変換」してから比較する(ゆるい比較)=== … 型も値も「そのまま」比べる(厳密な比較)...
JavaScript

JavaScript | 基礎構文:比較・論理 – 比較演算子(> < == ===)

比較演算子を一言でいうと比較演算子は、「2つの値を比べて、その結果を true / false(真偽値)で返すための記号」 です。JavaScript でよく使うのは主にこのあたりです。> より大きい...
Python

Python | データ構造:コレクションのコピー

概要(「代入」と「コピー」をまず分けて考える)コレクションのコピーは、元データを壊さず安全に加工するための基本です。まず重要なのは「= はコピーではない」ということ。= は“同じオブジェクトへの参照を...
Python

Python | データ構造:多重ループ

概要(多重ループは「ループの中でループ」を回す仕組み)多重ループ(ネストしたループ)は、ある集合を外側で順に処理しつつ、各要素ごとにさらに内側の集合を繰り返す書き方です。定番の例は「行×列の走査」や「...
Python

Python | データ構造:内包表記(set)

概要(セット内包表記は「重複なしの集合」を一行で作る)セット内包表記は、for と if を“内側”に書いて、重複を自動的に排除する集合(set)を一行で作る記法です。基本は「{式 for 変数 in...
Python

Python | データ構造:内包表記(dict)

概要(辞書内包表記は「キーと値を同時に作る」を一行で)辞書内包表記は、for と if を“内側”に書いて、新しい辞書を一行で作る記法です。基本は「{キー式: 値式 for 変数 in イテラブル}」...
Python

Python | データ構造:内包表記(list)

概要(リスト内包表記は「作る・選ぶ・変換する」を一行で)リスト内包表記は、for と if を“内側”に書いて、リストを一行で作る記法です。基本は「式 for 変数 in イテラブル」で、必要なら最後...
Python

Python | データ構造:filter

概要(filter は「条件を満たす要素だけ」を取り出す基本関数)filter は、リストやタプルなどの各要素に「判定関数」を適用し、True と評価された要素だけを取り出すための組み込み関数です。戻...
Python

Python | データ構造:map

概要(map は「全要素に同じ処理」を適用して返す)map は、リストやタプルなどの各要素に「指定した関数」を適用し、その結果を順に返す組み込み関数です。戻り値は「map オブジェクト」(イテレータ)...
Python

Python | データ構造:sorted

概要(sorted は「並び替えた新しいリスト」を返す基本関数)sorted は、リスト・タプル・文字列などの「反復可能なデータ」を並び替えて“新しいリスト”として返す組み込み関数です。元のデータは変...
Python

Python | データ構造:all

概要(all は「すべてが真なら True」を返す基本関数)all は、リスト・タプル・集合・辞書・ジェネレータなどのイテラブルの中の「全ての要素が True と評価されるか」を判定する組み込み関数で...
Python

Python | データ構造:any

概要(any は「ひとつでも真なら True」を返す基本関数)any は、リスト・タプル・集合・辞書・ジェネレータなどのイテラブルの中に「True と評価される要素が1つでもあるか」を調べ、あれば T...
Python

Python | データ構造:sum

概要(sum は「合計」を返す基本関数)sum は、リスト・タプル・集合・range など“足し算できる要素の集まり”から合計を求める組み込み関数です。数値はもちろん、True/False(1/0とし...
Python

Python | データ構造:min

概要(min は「一番小さいもの」を返す基本関数)min は、与えた複数の値や、リスト・タプル・集合などのイテラブルの中から「最小の要素」を返す組み込み関数です。数値だけでなく文字列やタプルなど“比較...
Python

Python | データ構造:max

概要(max は「一番大きいもの」を返す基本関数)max は、与えた複数の値や、リスト・タプル・集合などのイテラブルの中から「最大の要素」を返す組み込み関数です。数値だけでなく文字列やタプルなど“比較...
Python

Python | データ構造:len

概要(len は「大きさ」を返す基本関数)len は、文字列・リスト・タプル・辞書・集合などの「長さ(要素数)」を整数で返す組み込み関数です。書き方は len(対象) とシンプルで、辞書ならキーの数、...
Python

Python | データ構造:in / not in

概要(in / not in は「含まれるか」を判定する所属検査演算子)in / not in は、ある値がリスト・タプル・文字列・セット・辞書などの「中に含まれているか」を真偽値で返す演算子です。i...
Python

Python | データ構造:dict.values

dict.values の概要(値だけを“コピーせず”参照するビュー)dict.values は、辞書に入っている「値」の一覧を参照できるメソッドです。戻り値は dict_values という“ビュー...
Python

Python | データ構造:dict.keys

dict.keys の概要(キー一覧を“コピーせず”参照するビュー)dict.keys は、辞書に存在する「キー」をまとめて参照するためのメソッドです。戻り値は dict_keys という“ビュー”で...
Python

Python | データ構造:dict.items

dict.items の概要(キーと値を同時に扱うための“ビュー”)dict.items は、辞書の「キーと値のペア」をひとつずつ取り出すためのメソッドです。戻り値は dict_items という“ビ...
Python

Python | データ構造:dict.get

dict.get の概要(安全に値を取り出す“優しい参照”)dict.get は、辞書からキーに対応する値を「エラーなく」取り出すためのメソッドです。存在しないキーを指定すると、例外(KeyError...
Python

Python | データ構造:dict

辞書の概要(名前で値を取り出す「キーと値のペア」)dict(辞書)は「キー」と「値」をペアで管理するデータ構造です。リストが“番号(インデックス)”で取り出すのに対して、辞書は“名前(キー)”で直に参...
Python

Python | データ構造:set

set の概要(重複なし・順序なし・高速な「集まり」)set は「重複を許さない要素の集まり」を表すデータ構造です。要素の順序は保持されません(取り出す順番は不定)。同じ値を追加しても1つにまとまり、...
Python

Python | データ構造:tuple

タプルの概要(順序があり、変更できない「箱」)Pythonのタプルは、複数の値を順序付きでまとめる不変(イミュータブル)なデータ構造です。小括弧 () で作り、一度作成したら中身を追加・削除・変更でき...
Python

Python | データ構造:list のスライス

スライスの概要(リストの一部を取り出す・作り替える)スライスは、リストの「部分」を取り出したり、まとめて置き換えたり、挿入・削除したりできる強力な機能です。基本構文は a で、start から始め、s...
Python

Python | データ構造:list.remove

list.remove の概要(値で指定して最初の一致だけ削除)list.remove は、リスト内の「指定した値」と一致する最初の要素を削除するメソッドです。位置(インデックス)ではなく値で指定する...
Python

Python | データ構造:list.pop

list.pop の概要(要素を取り出しつつ削除する)list.pop は、リストから要素を取り出して同時に削除するメソッドです。戻り値として「取り出した要素」を返します。引数を省略すると末尾の要素、...
Python

Python | データ構造:list.reverse

list.reverse の概要(リストの順序をその場で逆にする)list.reverse は、リストの要素順を“その場で”逆順に並べ替えるメソッドです。元のリストが直接変更され、戻り値は None ...
Python

Python | データ構造:list.sort

list.sort の概要(リストを“その場で”並べ替える)list.sort は、リストの要素を指定した順序で並べ替えるメソッドです。元のリストを直接変更するインプレース操作で、戻り値は None(...
Python

Python | データ構造:list.insert

list.insert の概要(指定した位置に要素を挿入する)list.insert は「リストの任意の位置に新しい要素を挿入する」メソッドです。書式は list.insert(index, elem...
Python

Python | データ構造:list.append

list.append の概要(末尾に“1つだけ”追加する)append は、リストの末尾に要素を「1つ」追加するメソッドです。リストを可変に拡張する最も基本的な手段で、戻り値は返しません(None)...
Python

Python | データ構造:list

リストの概要(順序がある、後から変えられる「箱」)Pythonのリストは、複数の値を順序付きで並べて保持できる基本データ構造です。角括弧 [] で作り、整数・文字列・他のリストなど、異なる型を混ぜて入...
Python

Python | 文法の基本:finally

finally の概要(成功・失敗に関わらず必ず実行される後始末)finally は、try/except と組み合わせて使い、「例外が起きても起きなくても、最後に必ず実行したい処理」を書くためのブロ...
Python

Python | 文法の基本:try / except

try/except の概要(エラーを安全に処理してプログラムを続行)try/except は、処理中に起きる例外(実行時エラー)を捕まえて、プログラムを安全に続行したり、分かりやすいメッセージを出し...
Python

Python | 文法の基本:基本的なエラー

基本的なエラーの全体像(構文エラーと実行時エラー)Pythonの「エラー」は大きく、実行前に検出される構文エラーと、実行中に起きる例外(実行時エラー)に分かれます。構文エラーは文法違反が原因で、プログ...
Python

Python | 文法の基本:zip()

zip() の概要(複数の並びを“横に束ねる”)zip() は、複数のイテラブル(リスト、タプル、文字列など)を「同じ位置の要素どうし」で束ね、タプルの連続として返す関数です。for ループで「並行処...
Python

Python | 文法の基本:enumerate()

enumerate() の概要(要素とインデックスを同時に扱う)enumerate() は、イテラブル(リスト、タプル、文字列など)をループするときに「要素の値」と「インデックス番号」を同時に受け取れ...
Python

Python | 文法の基本:range()

range() の概要(整数の並びを効率的に作る)range() は「連続する整数のシーケンス」を生成するための組み込み関数です。for ループと相性が良く、指定した範囲の整数を必要なときに1つずつ取...
Python

Python | 文法の基本:pass

pass の概要(「何もしない」ための文)Python の pass は「その場で何も処理をしない」という意味を持つ文です。構文上「中身が必要」な場所に置くことで、プログラムをエラーなく通すための“空...
Python

Python | 文法の基本:continue

continue の概要(その周回だけをスキップする)continue は、for や while のループの「現在の周回の残り処理」を飛ばして、すぐ次の周回へ進む命令です。ループ自体は続行されます。...
Python

Python | 文法の基本:break

break の概要(ループをその場で抜ける)break は、for や while の「ループを途中で直ちに終了」させる命令です。実行された瞬間、そのループのブロックを抜けて、ループの次の行へ処理が移...
Python

Python | 文法の基本:while ループ

while ループの概要(条件が成り立つ間くり返す)while ループは「条件式が True の間、ブロック内の処理をくり返す」構文です。回数が事前に決まらないとき(入力待ち、一定状態になるまでの待機...
Python

Python | 文法の基本:for ループ

for ループの概要(反復処理の基本)for ループは「並び(イテラブル)の要素を先頭からひとつずつ取り出して処理する」ための構文です。リスト、タプル、文字列、辞書、集合、range() などに対して...
Python

Python | 文法の基本:else

else の概要(条件が外れたときの“受け皿”)else は、if(や elif)の条件がすべて成り立たなかった場合に実行する処理を書きます。分岐の「最後の受け皿」として、想定外や通常ケースの扱いを明...
Python

Python | 文法の基本:elif

elif の概要(複数条件を順番に判定する)elif は「else if」の略で、ひとつの分岐の中で条件を順番に並べ、最初に合致したブロックだけを実行するための構文です。if の直後、または別の el...
Python

Python | 文法の基本:if

if の概要(条件による分岐の基本)if は「もし条件が成り立つなら、この処理をする」を書くための文法です。条件式は True/False を返し、True のときだけブロック内のコードが実行されます...
Python

Python | 文法の基本:Python のインデント

インデントの役割(Pythonで「見た目」が文法になる)Pythonのインデントは、コードの「まとまり(ブロック)」を示すための文法そのものです。if、for、while、def、class、try ...
Python

Python | 文法の基本:f 文字列

f 文字列の概要(読みやすく速い文字列整形)f 文字列(f-strings)は、文字列の先頭に f を付け、波括弧 {} の中に変数や式を直接書ける仕組みです。Python 3.6 以降で使え、可読性...
Python

Python | 文法の基本:print() の基本

print() の概要(基本動作と戻り値)print() は、与えた値を「見やすい文字列」に変換して標準出力(画面)へ表示します。複数の値を並べて渡すと、間は半角スペースで区切られます。表示後は改行さ...
Python

Python | 文法の基本:input() の使い方

input() の概要(基本動作と戻り値)input() は、ユーザーがキーボードで入力した1行を読み取り、文字列(str)として返します。プログラムはユーザーが Enter を押すまで待機します。戻...
Python

Python | 文法の基本:型変換(int / str / float)

型変換の概要(int / float / str の基本)Pythonでは、数値や文字列などの「型」を状況に応じて変換できます。よく使うのは int(整数)、float(小数)、str(文字列)の相互...
Python

Python | 文法の基本:論理演算子

論理演算子の概要Pythonの論理演算子は and(論理積)、or(論理和)、not(否定)の3つです。条件式を組み合わせて「複雑な判定」を短く、読みやすく表現できます。結果は必ず真偽値(True/F...
Python

Python | 文法の基本:比較演算子

比較演算子の概要Pythonの比較演算子は、2つの値を比べて結果を真偽値(True/False)で返します。基本は「等しい(==)」「等しくない(!=)」「より小さい(<)」「より大きい(>)」「以下...
Python

Python | 文法の基本:代入演算子

代入演算子の概要(= と「値に名前をつける」)Pythonの代入演算子は「=」です。右辺の式を評価し、その結果オブジェクトへ左辺の名前を結びつけます。数学の「等しい」ではなく「割り当てる」の意味です。...
Python

Python | 文法の基本:算術演算子

算術演算子の概要Pythonの算術演算子は、足し算・引き算・掛け算・割り算に加えて、剰余(あまり)や冪乗(べき乗)、整数除算(切り捨て)まで含む「計算の道具箱」です。代表的なものは +, -, *, ...
Python

Python | 文法の基本:真偽値(bool)

真偽値の概要(bool の基本)Pythonの真偽値は True と False の2つだけで、条件分岐やループの「動かす/止める」を決める軸になります。型名は bool で、比較や論理演算の結果とし...
Python

Python | 文法の基本:文字列型(str)

文字列型の概要(str の基本)Pythonの文字列型(str)は、テキストデータを表現・操作するための基本データ型です。シングルクォート(')やダブルクォート(")で囲むだけで作れ、画面表示やファイ...
Python

Python | 文法の基本:数値型(int, float)

数値型の概要(int と float)Pythonの数値型には、主に整数を表す int と、小数を表す float があります。int は桁数の制限がなく、非常に大きな数でも桁あふれせずに扱えます。f...
Python

Python | 文法の基本:変数の基本

変数とは変数は「値に名前をつけて、あとから参照したり差し替えたりできる仕組み」です。Pythonでは型の宣言なしに、名前に値を代入するだけで使い始められます。変数はプログラムの途中結果や設定値、外部か...
Python

Python | 文法の基本:コメント記法

コメントとはコメントは、コードの意味や意図、注意点を「未来の自分や他人」に伝えるための説明文です。Pythonインタプリタはコメントを完全に無視するので、動作や出力には影響しません。わかりやすいコメン...
Python

Python | 文法の基本:インタプリタと実行方法

インタプリタとはPythonの「インタプリタ」は、あなたが書いたコードを1行ずつ読み取り、その場で実行してくれる通訳のようなソフトウェアです。書いてすぐ試せるので、初心者が「動く感覚」を掴みやすく、失...
Python

Python | 文法の基本:Python の特徴

Python の特徴Pythonは読みやすさと書きやすさを重視した言語で、初心者でも直感的にコードを書けるのが大きな魅力です。インデント(字下げ)でコードのまとまりを表すため、見た目が整理され、処理の...
JavaScript

JavaScript | 基礎構文:数値・演算 – 数値変換

数値変換を一言でいうとJavaScript の「数値変換」は、文字列や真偽値などの値を、number 型として計算に使える形にすること です。特に Web では、ユーザー入力・フォーム・URL パラメ...
JavaScript

JavaScript | 基礎構文:数値・演算 – parseInt / parseFloat

parseInt / parseFloat を一言でいうとparseInt / parseFloat は、「文字列の“先頭から読める数字の部分”を数値として取り出す関数」 です。parseInt("1...
JavaScript

JavaScript | 基礎構文:数値・演算 – isNaN

isNaN を一言でいうとisNaN は、「その値を数値として扱えるか? 扱えないか?」をざっくり判定するための関数 です。isNaN(値) がtrue → 数値として扱えない(=NaN 相当)fal...
JavaScript

JavaScript | 基礎構文:数値・演算 – NaN

NaN を一言でいうとNaN(ナン)は「Number(数値)型なんだけど、“正しい数ではない” という特別な値」 です。名前は Not a Number の略ですが、「数値じゃない」と言いつつ、型とし...
JavaScript

JavaScript | 基礎構文:数値・演算 – 指数表現

指数表現を一言でいうとJavaScript の「指数表現」は、とても大きい数・とても小さい数を、e を使ってコンパクトに書くための書き方 です。数学で見る1.23×1045×10-3みたいなものを、J...
JavaScript

JavaScript | 基礎構文:数値・演算 – 乱数

乱数を一言でいうと乱数(らんすう)は、「実行するたびに結果が読めない“ランダムな値”」 のことです。JavaScript では、乱数を作るときにほぼ必ずMath.random()を使います。ここが重要...
JavaScript

JavaScript | 基礎構文:数値・演算 – 四捨五入

四捨五入を一言でいうと四捨五入は、「小数のある数値を、キリのいい数(だいたい整数)に“丸める”操作」 です。JavaScript では主にMath.round(四捨五入)Math.floor(切り捨て...
JavaScript

JavaScript | 基礎構文:数値・演算 – Math オブジェクト

Math オブジェクトを一言でいうとMath オブジェクトは、「よく使う数学の関数や定数をまとめた“計算ツール箱”」 です。四捨五入したい絶対値をとりたい最大値・最小値を知りたいランダムな数を作りたい...
JavaScript

JavaScript | 基礎構文:数値・演算 – インクリメント・デクリメント

インクリメント・デクリメントを一言でいうとインクリメント・デクリメントは、数値を「1 だけ増やす」または「1 だけ減らす」ための専用の記号 です。++ がインクリメント(+1)-- がデクリメント(−...
JavaScript

JavaScript | 基礎構文:数値・演算 – 算術演算子(+ – * / %)

算術演算子を一言でいうと算術演算子(さんじゅつえんざんし)は、数値に対して「足し算・引き算・掛け算・割り算・余り」を行うための記号 です。JavaScript では次の 5 つが基本になります。+ 足...
JavaScript

JavaScript | 基礎構文:文字列操作 – トリミング

トリミングを一言でいうとトリミングは、「文字列の前後にくっついている、いらない空白(スペースや改行など)を取り除くこと」 です。ユーザー入力やファイルから読んだ文字列には、よく先頭にスペース行末にスペ...
JavaScript

JavaScript | 基礎構文:文字列操作 – 大文字小文字変換

大文字小文字変換を一言でいうと「大文字小文字変換」は、英字の文字列を、全部大文字にしたり、全部小文字にしたりする操作 です。JavaScript では主にtoUpperCase():全部大文字にするt...
JavaScript

JavaScript | 基礎構文:文字列操作 – 結合(concat / +)

文字列の「結合」を一言でいうと文字列の結合は、「バラバラの文字列をつなげて、1つの長い文字列を作ること」 です。JavaScript では主に+ 演算子("A" + "B")concat メソッド("...
JavaScript

JavaScript | 基礎構文:文字列操作 – 分割(split)

split を一言でいうとsplit は、「1つの文字列を、区切り文字で“バラして配列にする”メソッド です。「カンマ区切りの文字列を、1つずつに分けたい」「スペースごとに単語に分けたい」「URL を...
JavaScript

JavaScript | 基礎構文:文字列操作 – 置換(replace)

replace を一言でいうとreplace は、「文字列の中の一部を、別の文字列に置き換えた“新しい文字列”を返すメソッド」 です。const text = "I like JavaScript";...
JavaScript

JavaScript | 基礎構文:文字列操作 – 検索(indexOf / includes)

文字列の「検索」を一言でいうと文字列の検索は、「この文字(文字列)が含まれているか?」「含まれているなら、どの位置にあるか?」を調べることです。JavaScript では、そのために主にindexOf...
JavaScript

JavaScript | 基礎構文:文字列操作 – 部分取得(slice / substring)

部分取得を一言でいうと(slice / substring の役割)文字列の「部分だけ」を取り出したいことは、実務でも学習でも山ほど出てきます。先頭3文字だけ欲しい後ろから2文字だけ欲しい5文字目から...
JavaScript

JavaScript | 基礎構文:文字列操作 – length

length を一言でいうとlength は、「この文字列の“文字数”はいくつか」を教えてくれるプロパティ です。JavaScript では、文字列に対して 文字列.length と書くだけで、その文...
JavaScript

JavaScript | 基礎構文:文字列操作 – エスケープシーケンス

エスケープシーケンスを一言でいうとエスケープシーケンスは、「文字列の中で、そのまま書けない“特殊な意味をもつ文字”を表現するための書き方」 です。例えば、改行したいタブを入れたいダブルクォート " や...
JavaScript

JavaScript | 基礎構文:文字列操作 – テンプレートリテラル

テンプレートリテラルを一言でいうとテンプレートリテラルは、「変数や式を、文字列の中にそのまま埋め込める新しい書き方」 です。"こんにちは、" + name + "さん" のように+ でつなぎまくる昔の...
JavaScript

JavaScript 逆引き集 | ResizeObserver の利用(DOM サイズ監視)

ResizeObserver の利用(DOM サイズ監視) — new ResizeObserver(cb).observe(el)Web ページで「要素のサイズが変わったら処理をしたい」ときに便利な...
JavaScript

JavaScript 逆引き集 | IntersectionObserver の基本

IntersectionObserver の基本 — 要素が見えた時のコールバック利用Web ページで「ある要素が画面に入ったかどうか」を調べたいときに便利なのが IntersectionObserv...
JavaScript

JavaScript 逆引き集 | 無限スクロール(IntersectionObserver)

無限スクロール(IntersectionObserver) — const obs = new IntersectionObserver(cb); obs.observe(el)Web ページで「下ま...
JavaScript

JavaScript 逆引き集 | ページネーションの実装(オフセット)

ページネーションの実装(オフセット方式) — limit, offset パラメータ利用大量のデータを一度に表示すると重くなるので、ページネーション(ページ分割表示)を使います。初心者は「limit ...
JavaScript

JavaScript 逆引き集 | OAuth フローの基本(認可コード)

OAuth フローの基本(認可コード方式) — サーバー・クライアントの連携が必要OAuth は「外部サービスの認証・認可」を安全に行う仕組みです。初心者は「OAuth = 他サービスのアカウントを使...
JavaScript

JavaScript 逆引き集 | JWT の検証(Node)

JWT の検証(Node.js) — jwt.verify(token, secret)(jsonwebtoken ライブラリ)Web アプリや API では「ログイン済みかどうか」を確認するために ...
JavaScript

JavaScript 逆引き集 | Bearer トークン利用

Bearer トークン利用 — headers: { 'Authorization': 'Bearer ' + token }Web API にアクセスするときに「Bearer トークン認証」を使う場...
JavaScript

JavaScript 逆引き集 | Basic 認証ヘッダ

Basic 認証ヘッダ — Authorization: 'Basic ' + btoa(user + ':' + pass)Web API にアクセスするときに「Basic 認証」を使う場合がありま...
JavaScript

JavaScript 逆引き集 | CORS の基礎知識(ブラウザ側)

ポイントまとめCORS(Cross-Origin Resource Sharing)は「異なるオリジン(ドメイン・ポート・プロトコル)の間で安全にリソースを共有する仕組み」です。ブラウザの fetch...
JavaScript

JavaScript 逆引き集 | CSRF トークンの送信(ヘッダ)

CSRF トークンの送信(ヘッダ) — fetch(url, { headers: { 'X-CSRF-Token': token } })Web アプリでは CSRF(Cross-Site Requ...
JavaScript

JavaScript 逆引き集 | 型のランタイムチェック(zod 等)

型のランタイムチェック(Zod ライブラリ) — z.string().parse(x)JavaScript は柔軟ですが「型の間違い」によるバグが起きやすいです。TypeScript を使えばコンパ...
JavaScript

JavaScript 逆引き集 | バリデーション(簡易)

バリデーション(簡易) — if (!data.name) throw new Error('name required')プログラムでは「入力データが正しいかどうか」を確認する処理が必要です。これを...
JavaScript

JavaScript 逆引き集 | JSON Schema でバリデーション(AJV 等)

JSON Schema でバリデーション(AJV ライブラリ)Web アプリや API では「受け取ったデータが正しい形かどうか」をチェックする必要があります。そこで便利なのが JSON Schema...
JavaScript

JavaScript 逆引き集 | multipart/form-data の扱い(FormData)

multipart/form-data の扱い(FormData)Web アプリで「ファイルやフォームデータをサーバーに送る」ときによく使われるのが multipart/form-data です。これ...
JavaScript

JavaScript 逆引き集 | ファイルアップロード(fetch, FormData)

ファイルアップロード(fetch + FormData) — const fd = new FormData(); fd.append('file', file); fetch(url, { meth...
JavaScript

JavaScript 逆引き集 | 並列 HTTP リクエスト制御(同時 N 件)

並列 HTTP リクエスト制御(同時 N 件) — pMap(arr, fn, { concurrency: 5 })(p-map ライブラリ)Web API を複数呼び出すとき、一度に大量のリクエス...
JavaScript

JavaScript 逆引き集 | オブジェクトの配列をグルーピング

オブジェクトの配列をグルーピング — arr.reduce((g,x)=>{(g||=(g=[])).push(x);return g},{})配列の要素を「カテゴリごとにまとめたい」場面はよくありま...
JavaScript

JavaScript 逆引き集 | 配列をオブジェクトのマップに変換

配列をオブジェクトのマップに変換 — arr.reduce((m, x) => { m = x; return m; }, {})JavaScript で「配列をオブジェクトに変換」したい場面はよくあ...
JavaScript

JavaScript 逆引き集 | コメントアウトのスタイル

コメントアウトのスタイル — // / /* ... */JavaScript では コメントアウトを使って「コードの説明」や「一時的な無効化」を行います。初心者は「// は1行コメント、/* ......
JavaScript

JavaScript 逆引き集 | JSDoc でドキュメント注釈

JSDoc でドキュメント注釈 — /** @param {number} x */ function f(x){}JavaScript では JSDoc という「コメントで書くドキュメント注釈」を使...
JavaScript

JavaScript 逆引き集 | 型チェックに TypeScript を導入(基本)

型チェックに TypeScript を導入(基本) — tsc --init(設定手順)JavaScript は柔軟ですが「型の間違い」によるバグが起きやすいです。そこで TypeScript を導入...
JavaScript

JavaScript 逆引き集 | ESLint / Prettier の導入(品質)

ESLint / Prettier の導入(コード品質向上) — eslint --init(設定手順)JavaScript の開発では コード品質チェック(Lint) と コード整形(Format)...
JavaScript

JavaScript 逆引き集 | モジュールトップでの strict(ESM はデフォルト)

モジュールトップでの Strict Mode(ESM はデフォルト)JavaScript には Strict Mode(厳格モード) という「安全にコードを書くためのチェック機能」があります。通常は ...
JavaScript

JavaScript 逆引き集 | Strict mode の有効化

Strict mode の有効化 — 'use strict';JavaScript の Strict mode(厳格モード) は「コードの書き方をより厳しくチェックする」ための仕組みです。初心者は「...
JavaScript

JavaScript 逆引き集 | 開発時のデバッグ(debugger)

開発時のデバッグ(debugger ステートメント) — debuggerJavaScript には debugger ステートメントという特別な命令があります。初心者は「ここでプログラムを一時停止し...
JavaScript

JavaScript 逆引き集 | console.table で配列表現

console.table で配列表現 — console.table(data)JavaScript の console.table は「配列やオブジェクトを表形式で見やすく表示する」ための便利な関...
JavaScript

JavaScript 逆引き集 | 性能計測(console.time)

性能計測(console.time / console.timeEnd) — console.time('t'); console.timeEnd('t')JavaScript には 処理時間を計測す...
JavaScript

JavaScript 逆引き集 | Proxy でオブジェクト挙動をカスタム

Proxy でオブジェクト挙動をカスタム — new Proxy(obj, { get(target, k) { } })JavaScript の Proxy は「オブジェクトの操作を横取りしてカスタ...
JavaScript

JavaScript 逆引き集 | Reflect API(動的操作)

Reflect API(動的操作) — Reflect.get(obj, 'k') / Reflect.set(...)JavaScript の Reflect API は「オブジェクトを動的に操作す...
JavaScript

JavaScript 逆引き集 | Symbol を key とするオブジェクトプロパティ

Symbol を key とするオブジェクトプロパティ — obj = 1JavaScript の Symbol は「ユニークな識別子」を作るための型です。オブジェクトのプロパティキーに Symbol...
JavaScript

JavaScript 逆引き集 | Symbol を key とするオブジェクトプロパティ

Symbol を key とするオブジェクトプロパティ — obj = 1JavaScript の Symbol は「ユニークな識別子」を作るための型です。オブジェクトのプロパティキーに Symbol...
JavaScript

JavaScript 逆引き集 | Symbol の基本

Symbol の基本 — const s = Symbol('desc')JavaScript の Symbol は「一意(ユニーク)な値」を作るための型です。初心者は「他と絶対にかぶらない特別なラベ...
JavaScript

JavaScript 逆引き集 | 文字列テンプレートで複数行

文字列テンプレートで複数行 — line1\nline2複数行の文字列は「改行コードを埋め込む方法」と「テンプレートリテラルでそのまま改行を書く方法」の2通りあります。初心者は、まず「\n は改行コー...
JavaScript

JavaScript 逆引き集 | 短絡評価(&&/||)を利用した条件実行

短絡評価(&& / ||)を利用した条件実行 — cond && fn()JavaScript の 論理演算子 && と || は「真偽値の判定」だけでなく、短絡評価(ショートサーキット)を利用して「...
JavaScript

JavaScript 逆引き集 | 論理演算子で既定値(|| の注意)

論理演算子で既定値(|| の注意) — const v = a || 'def'('' や 0 も代替される)JavaScript では 論理演算子 || を使って「左側が falsy(falseっぽ...
JavaScript

JavaScript 逆引き集 | Nullish coalescing(??)

Nullish coalescing(??) — const v = a ?? 'default'JavaScript の Nullish coalescing 演算子 ?? は「値が null また...
JavaScript

JavaScript 逆引き集 | Optional chaining の利用(安全なネスト参照)

Optional chaining の利用(安全なネスト参照) — a?.b()JavaScript の オプショナルチェイニング演算子 ?. は「存在しないかもしれないプロパティや関数を安全に参照す...
JavaScript

JavaScript 逆引き集 | 配列の入れ子の安全アクセス(?.)

配列の入れ子の安全アクセス(オプショナルチェイニング ?.) — obj?.a?.bJavaScript の オプショナルチェイニング演算子 ?. は「存在しないかもしれないプロパティに安全にアクセス...
JavaScript

JavaScript 逆引き集 | 引数のデフォルト値に関数

引数のデフォルト値に関数 — function f(x = Date.now()) {}JavaScript では 引数のデフォルト値に「関数の呼び出し結果」を指定できます。初心者は「引数が渡されなか...
JavaScript

JavaScript 逆引き集 | 可変長引数の扱い

可変長引数の扱い — (...args) => argsJavaScript では 可変長引数(いくつでも引数を受け取れる仕組み)を rest 引数 ...args で書けます。初心者は「渡された引数...
JavaScript

JavaScript 逆引き集 | rest 引数と spread 構文

rest 引数と spread 構文 — function f(...args) {} / f(...arr)JavaScript には rest 引数 と spread 構文 という似た書き方があり...
JavaScript

JavaScript 逆引き集 | オブジェクトのデフォルト引数

オブジェクトのデフォルト引数 — function f(a = 1, b = {}) {}関数の引数に「値が渡されなかったときの既定値(デフォルト)」を設定できます。初心者は「未指定や undefin...
JavaScript

JavaScript 逆引き集 | parseInt/parseFloat の使い方

parseInt / parseFloat の使い方 — parseInt('12', 10)(基数指定)JavaScript では文字列を数値に変換する方法として parseInt と parseF...
JavaScript

JavaScript 逆引き集 | 型変換(Number/String/Boolean)

型変換(Number / String / Boolean) — Number('1'), String(1), Boolean(0)JavaScript では値の型を 明示的に変換 するために Nu...
JavaScript

JavaScript 逆引き集 | isNaN と Number.isNaN の違い

isNaN と Number.isNaN の違い — Number.isNaN(x) 推奨JavaScript で「値が NaN (Not a Number) かどうか」を判定する方法は2つあります。...
JavaScript

JavaScript 逆引き集 | typeof 判定(原始型)

typeof 判定(原始型) — typeof x === 'string'JavaScript の typeof 演算子は「変数や値の型」を文字列で返します。初心者は「この値は文字?数?それとも別の...
JavaScript

JavaScript 逆引き集 | instanceof 判定

instanceof 判定 — obj instanceof ClassJavaScript の instanceof 演算子は「あるオブジェクトが特定のクラス(コンストラクタ関数)から生成されたかど...
JavaScript

JavaScript 逆引き集 | static メソッド

static メソッド — static build(){}JavaScript の static メソッドは「インスタンスを作らなくてもクラスから直接呼び出せる関数」です。初心者は「クラスの便利関数...
JavaScript

JavaScript 逆引き集 | getter/setter(アクセサ)

getter / setter(アクセサ) — get v() {} / set v(x) {}JavaScript の getter / setter は「プロパティにアクセスしたときの動作」を自由...
JavaScript

JavaScript 逆引き集 | super の使用

super の使用 — super() / super.method()JavaScript の super は「親クラス(基底クラス)」を呼び出すためのキーワードです。extends で継承したクラ...
JavaScript

JavaScript 逆引き集 | extends 継承

extends 継承 — class B extends A {}JavaScript の extends は「クラスの継承」を表します。親クラス(基底クラス)の機能を子クラス(派生クラス)が引き継ぎ...
JavaScript

JavaScript 逆引き集 | class 構文

class 構文 — class A { constructor(x){ this.x = x } method(){} }JavaScript の class 構文は、オブジェクト指向プログラミング...
JavaScript

JavaScript 逆引き集 | プロトタイプ継承(古典)

プロトタイプ継承(古典) — Child.prototype = Object.create(Parent.prototype)JavaScript には「プロトタイプ継承」という仕組みがあります。こ...
JavaScript

JavaScript 逆引き集 | モジュールパターン(名前空間)

モジュールパターン(名前空間) — const My = (()=>{ return { fn(){} } })()JavaScript では昔から「モジュールパターン」という書き方がありました。これ...
スポンサーリンク
タイトルとURLをコピーしました