プログラミング

スポンサーリンク
JavaScript

JavaScript | ES6+ 文法:テンプレート文字列 – HTML 生成用途

テンプレート文字列で HTML を作る意味テンプレート文字列はバッククォートで囲み、${...} に式を埋め込めるため、“見た目どおり”に HTML 断片を組み立てられます。ここが重要です:複数行とイ...
JavaScript

JavaScript | ES6+ 文法:テンプレート文字列 – 関数呼び出し埋め込み

関数呼び出し埋め込みとは何かテンプレート文字列はバッククォートで囲み、${ ... } の中に“任意の式”を置けます。その式に関数呼び出しを書けば、戻り値が文字列の中にそのまま埋め込まれます。ここが重...
JavaScript

JavaScript | ES6+ 文法:テンプレート文字列 – 条件式埋め込み

条件式埋め込みとは何かテンプレート文字列はバッククォートで囲み、${...}の中に“式”を書いて評価結果を挿入できます。ここが重要です:if/else をそのまま書くのではなく、三項演算子や論理演算子...
JavaScript

JavaScript | ES6+ 文法:テンプレート文字列 – 改行保持

改行保持とは何かテンプレート文字列はバッククォートで囲むだけで、書いた改行や空白をそのまま保持します。ここが重要です:'\n' を手書きしなくても、テンプレート内の改行が実際の文字列に含まれるため、H...
JavaScript

JavaScript | ES6+ 文法:テンプレート文字列 – 式の埋め込み

式の埋め込みとは何かテンプレート文字列はバッククォートで囲み、${ ... } に“式”を入れて、その評価結果を文字列内に埋め込めます。ここが重要です:式は変数だけでなく、計算、関数呼び出し、条件(三...
JavaScript

JavaScript | ES6+ 文法:テンプレート文字列 – バッククォート

テンプレート文字列とは何かテンプレート文字列は、バッククォート()で囲む新しい文字列リテラルです。ここが重要です:式の埋め込み(${...})、複数行の文字列、可読性の高い整形が“素の文法”で書けます...
JavaScript

JavaScript | 1 日 120 分 × 7 日アプリ学習:ローカル保存対応メモ帳

この7日間のゴールと全体像この 7 日間は「ローカル保存対応メモ帳」を題材に、ブラウザだけで完結する“ちゃんとした”アプリを作りながら、次の3つを体に入れることがゴールです。localStorage ...
JavaScript

JavaScript | ES6+ 文法:関数の進化 – 高階関数との相性

高階関数とは何か高階関数は「関数を“引数として受け取る”、または“関数を返す”関数」のことです。関数を値として扱えることで、ロジックの差し替え・再利用・合成が簡単になります。ここが重要です:ES6+ ...
JavaScript

JavaScript | ES6+ 文法:関数の進化 – パラメータ分解

パラメータ分解(分割代入)とは何かパラメータ分解は、関数の引数に「オブジェクトや配列をその場で分解して、必要な部分だけ取り出す」ES6の構文です。ここが重要です:関数シグネチャ(引数の書き方)に“必要...
JavaScript

JavaScript | ES6+ 文法:関数の進化 – 残余引数(…args)

残余引数(...args)とは何か残余引数(rest parameters)は、関数の仮引数に ...args のように書くと、渡された引数を“配列としてまとめて”受け取る仕組みです。ここが重要です:...
JavaScript

JavaScript | ES6+ 文法:関数の進化 – デフォルト引数

デフォルト引数とは何かデフォルト引数は、関数のパラメータに「未指定(または undefined)のときに使われる初期値」を直接書ける仕組みです。ここが重要です:未指定・undefined のときだけ既...
JavaScript

JavaScript | ES6+ 文法:関数の進化 – メソッド短縮記法

メソッド短縮記法とは何かメソッド短縮記法は、オブジェクトやクラスの「関数プロパティ」を function キーワードなしで、name() { ... } の形で簡潔に定義できる ES6 の構文です。こ...
JavaScript

JavaScript | ES6+ 文法:関数の進化 – コールバックでの利点

コールバックとは何かコールバックは「関数に“後で呼んでね”と渡しておく関数」です。ES6+ では、アロー関数・レキシカル this・Promise/async との相乗効果で、コールバックが短く安全に...
JavaScript

JavaScript | ES6+ 文法:関数の進化 – 暗黙の return

暗黙の return とは何か暗黙の return は、アロー関数で本体が“1つの式”だけのときに、return キーワードを書かなくてもその式の評価結果が返る仕組みです。ここが重要です:波括弧 {}...
JavaScript

JavaScript | ES6+ 文法:関数の進化 – arguments 非対応

arguments 非対応とは何かアロー関数は「自分専用の arguments(可変長引数の擬似配列)」を持ちません。ここが重要です:従来の function なら arguments で渡された全引...
JavaScript

JavaScript | ES6+ 文法:関数の進化 – this の束縛差

this の束縛差とは何かthis は「関数が“どのオブジェクトを対象に動くか”を指す特別な値」です。ここが重要です:従来の function は“呼び出し方”で this が決まり、アロー関数は“定...
JavaScript

JavaScript | ES6+ 文法:関数の進化 – アロー関数構文

アロー関数とは何かアロー関数(arrow function)は、ES6 で導入された“短く書けて、this が静的(レキシカル)に決まる”新しい関数記法です。ここが重要です:function キーワー...
Java

Java | Java 詳細・モダン文法:ジェネリクス – ジェネリクスの制約

「ジェネリクスの制約」を一言でいうとJava のジェネリクスには、「こう書けたら便利そうだけど、仕様上あえて禁止されていること」 がいくつもあります。new T() が書けないT[](ジェネリック配列...
Java

Java | Java 詳細・モダン文法:ジェネリクス – ジェネリクスメソッド

ジェネリクスメソッドを一言でいうとジェネリクスメソッドは、「メソッドの“中だけ”で使える型パラメータを宣言して、そのメソッドを型安全に汎用化する仕組み」です。public static <T> T f...
Java

Java | Java 詳細・モダン文法:ジェネリクス – PECS 原則

PECS 原則を一言でいうとPECS 原則は、ジェネリクスのワイルドカードを使うときの合言葉です。Producer Extends, Consumer Super「値を“生産する(取り出す)側”には ...
Java

Java | Java 詳細・モダン文法:ジェネリクス – 下限境界(super)

下限境界(super)を一言でいうとジェネリクスの下限境界 ? super T は、「このコレクションは T か、その“親クラスたち”のどれかを要素型として持つ。だから、T を入れるのは安全だよ」と宣...
Java

Java | Java 詳細・モダン文法:ジェネリクス – 上限境界(extends)

上限境界(extends)を一言でいうとジェネリクスの上限境界(extends)は、「この型パラメータには、あるクラス T か、そのサブクラスだけを許可します」と制限をかけるための仕組みです。<T e...
JavaScript

JavaScript | 1 日 120 分 × 7 日アプリ学習:ToDoアプリ(設計力強化編)

この7日間のゴールと全体像この 7 日間は「ToDoアプリ」を題材に、ただ動くものではなく「設計できる人」になることを狙います。テーマは次の 3 つです。状態管理(state):アプリの「今の状態」を...
Java

Java | Java 詳細・モダン文法:ジェネリクス – ワイルドカード(?)

ワイルドカード(?)を一言でいうとジェネリクスのワイルドカード ? は、「ここには“何らかの型”が入るけど、具体的な型は気にしない・決めたくない」というときの “あいまいな型パラメータ”です。List...
Java

Java | Java 詳細・モダン文法:ジェネリクス – ジェネリクスと配列の違い

テーマの全体像を先にまとめるジェネリクス(List<String> など)と配列(String[])は、どちらも「同じ型の要素をたくさん持つ」ために使いますが、中身のルールやチェックのタイミングがかな...
Java

Java | Java 詳細・モダン文法:ジェネリクス – 型消去の概念

型消去を一言でいうと型消去(type erasure)は、「ジェネリクスの <T> みたいな型情報は“コンパイル時だけ”に使われて、コンパイル後のクラスファイル(実行時)からは消えてしまう」という仕組...
Java

Java | Java 詳細・モダン文法:ジェネリクス – 型パラメータの宣言

「型パラメータの宣言」を一言でいうと型パラメータの宣言は、「クラスやメソッドの“名前の横に” <T> などを書いて、ここには後で具体的な型をはめ込みますよ、と宣言すること」です。class Box<T...
Java

Java | Java 詳細・モダン文法:ジェネリクス – ジェネリクスとは

ジェネリクスを一言でいうとジェネリクス(generics)は、「クラスやメソッドの中に “型の穴” を開けておいて、使うときにその穴に好きな型をはめられる仕組み」です。List<String> や M...
JavaScript

JavaScript | ES6+ 文法:変数・宣言の進化 – グローバル汚染回避

グローバル汚染とは何かグローバル汚染は「意図せずグローバルスコープ(window/globalThis)に変数や関数が増えてしまい、別コードと衝突や上書きが起きる」状態です。衝突は“同じ名前”が複数フ...
JavaScript

JavaScript | ES6+ 文法:変数・宣言の進化 – for 文での let

for 文での let とは何かfor 文での let は「ループの各反復ごとに“新しい束縛”を作る」宣言です。ここが重要です:i のようなインデックスを let で宣言すると、反復ごとに独立した値が...
JavaScript

JavaScript | ES6+ 文法:変数・宣言の進化 – 定数オブジェクトの注意点

定数オブジェクトとは何かconst で宣言したオブジェクトは「変数がどのオブジェクトを指すか」が固定されます。ここが重要です:const は参照を固定するだけで、中身(プロパティや配列要素)は変更可能...
JavaScript

JavaScript | ES6+ 文法:変数・宣言の進化 – 再宣言エラー

再宣言エラーとは何か再宣言エラーは「同じスコープ内で、同じ名前の変数をもう一度宣言しようとすると起きるエラー」です。ES6 以降、let と const は“同スコープの再宣言”を禁止します。ここが重...
JavaScript

JavaScript | ES6+ 文法:変数・宣言の進化 – var との挙動差

var と ES6(let/const)の根本的な違いvar は“関数スコープ+巻き上げ(hoisting)あり、再宣言可能”という古い挙動、let/const は“ブロックスコープ+TDZ(宣言前ア...
JavaScript

JavaScript | ES6+ 文法:変数・宣言の進化 – TDZ(Temporal Dead Zone)

TDZ(Temporal Dead Zone)とは何かTDZ は「let/const で宣言される変数が、宣言位置まで“存在しない扱い”になるゾーン」のことです。ここが重要です:TDZ 中にその変数へ...
JavaScript

JavaScript | ES6+ 文法:変数・宣言の進化 – ブロックスコープ

ブロックスコープとは何かブロックスコープは「波括弧 { } で囲まれた“その範囲内だけ”有効な変数の生存範囲」です。ES6 以降、let と const はブロックスコープを持ち、宣言されたブロックの...
JavaScript

JavaScript | ES6+ 文法:変数・宣言の進化 – 再代入不可の意味

再代入不可とは何か「再代入不可」は、同じ変数名に“別の値(参照)をもう一度割り当てることができない”という意味です。ES6 の const はブロックスコープで、宣言した後にその変数へ新しい値を入れ直...
JavaScript

JavaScript | ES6+ 文法:変数・宣言の進化 – const の仕様

const とは何かconst は ES6 で導入された“ブロックスコープの再代入不可な変数宣言”です。ここが重要です:const は「宣言したブロック内でのみ有効」「同じスコープで再宣言できない」「...
JavaScript

JavaScript | ES6+ 文法:変数・宣言の進化 – let の仕様

let とは何かlet は ES6 で導入された“ブロックスコープの再代入可能な変数宣言”です。ここが重要です:let は「宣言されたブロック内でのみ有効」「同じスコープで再宣言できない」「宣言前に使...
Java

Java | 1 日 120 分 × 7 日アプリ学習:初級編

この初級編7日間プランの全体像この「1 日 120 分 × 7 日・初級編」は、あなたがすでにmain メソッド変数・if・forメソッド配列など「超初級」で触った前提で、そこから一段階レベルを上げる...
Java

Java | 1 日 60 分 × 7 日アプリ学習:超初級編

この7日間プランの全体像このプランは「Java はまったく初めて」「プログラミングもほぼ初めて」という人を想定しています。毎日 60 分 × 7 日で、コンソール(黒い画面)で動く小さなアプリを作れる...
Java

Java | Java 標準ライブラリ:CompletableFuture 基礎

CompletableFuture を一言でいうとCompletableFuture は、「将来終わる“非同期の計算結果”を表す箱(Future)に対して、『終わったらこれをして、その後これをして…』...
Java

Java | Java 標準ライブラリ:Future

Future を一言でいうとjava.util.concurrent.Future は、「別スレッドで走っている“将来の計算結果”を受け取るための“約束の箱”」です。時間のかかる処理を Executo...
Java

Java | Java 標準ライブラリ:ExecutorService 概要

ExecutorService を一言でいうとExecutorService は、「スレッドを自分で new せずに、”仕事(タスク)だけ” を投げれば、いい感じに別スレッドで実行してくれる仕組み」で...
Java

Java | Java 標準ライブラリ:Timer / TimerTask

Timer / TimerTask を一言でいうとTimer と TimerTask は、「指定した時間後に、あるいは一定間隔で、“別スレッドで” 処理を実行してくれるシンプルなタイマー機能」です。「...
Java

Java | Java 標準ライブラリ:Base64

Base64 を一言でいうとjava.util.Base64 は、「バイナリデータ(画像・PDF・任意のバイト列)を、テキスト(英数字+記号)だけで安全にやり取りできるように変換するためのクラス」です...
JavaScript

JavaScript | 配列・オブジェクト:パフォーマンス・設計 – 実務でのベストプラクティス

実務でのベストプラクティスとは何か「ベストプラクティス」とは、現場で繰り返し使われてきた“安全で効率的なやり方”のことです。JavaScript の配列・オブジェクト操作では、可読性・性能・安全性のバ...
JavaScript

JavaScript | 配列・オブジェクト:パフォーマンス・設計 – データ構造選択

データ構造選択とは何かデータ構造選択は「どの形(配列、オブジェクト、Map、Set、派生構造)でデータを持つか」を決めることです。ここが重要です:用途に合った構造を選ぶと、計算量が下がり、コードが短く...
JavaScript

JavaScript | 配列・オブジェクト:パフォーマンス・設計 – 関数分割

関数分割とは何か関数分割は「大きな処理を、明確な役割ごとの“小さな関数”に切り出して組み合わせる」設計です。ここが重要です:1つの関数は1つの責務(Single Responsibility)。入力と...
JavaScript

JavaScript | 配列・オブジェクト:パフォーマンス・設計 – 可読性優先 vs 速度優先

可読性優先 vs 速度優先とは何かコードには「誰が読んでも意図が分かる」「実行が速い」という2つの価値があります。ここが重要です:大半の業務コードでは“まず可読性”を優先し、速さは“必要な箇所だけ”最...
JavaScript

JavaScript | 配列・オブジェクト:パフォーマンス・設計 – 大量データ処理の考え方

大量データ処理とは何か大量データ処理は「配列やオブジェクトが数万〜数百万件規模になっても、時間とメモリを破綻させずに目的を果たす」ための考え方です。ここが重要です:やみくもに map や filter...
JavaScript

JavaScript | 配列・オブジェクト:パフォーマンス・設計 – メモリ参照の注意点

メモリ参照とは何かJavaScript の配列・オブジェクトは「参照型」です。ここが重要です:変数には“値そのもの”ではなく“値への参照(ポインタのようなもの)”が入ります。参照が同じだと、片方を変更...
JavaScript

JavaScript | 配列・オブジェクト:パフォーマンス・設計 – 破壊的 / 非破壊的操作

破壊的 / 非破壊的操作とは何か破壊的操作は「元の配列・オブジェクトを直接書き換える」こと、非破壊的操作は「元を保ったまま、新しい配列・オブジェクトを返す」ことです。ここが重要です:共有されているデー...
JavaScript

JavaScript | 配列・オブジェクト:パフォーマンス・設計 – reduce の使いどころ

reduce とは何かreduce は「配列を1回なめて、“累積器(accumulator)”に結果を積み上げ、最後に1つの値(数値・文字列・配列・オブジェクト)にまとめる」ための関数です。ここが重要...
JavaScript

JavaScript | 配列・オブジェクト:パフォーマンス・設計 – map / filter のコスト

map / filter のコストとは何かmap / filter は「要素ごとにコールバックを呼び、結果配列を新しく作る」処理です。ここが重要です:計算量は基本的に (O(n)) ですが、時間とメモ...
JavaScript

JavaScript | 配列・オブジェクト:パフォーマンス・設計 – 配列操作の計算量

配列操作の計算量とは何か「計算量」は、要素数を (n) としたとき操作に必要なステップ数の目安です。ここが重要です:操作ごとに増え方が違います。例えば末尾に追加(push)はほぼ一定時間ですが、先頭に...
Python

Python | Web フレームワーク:背景タスク

概要(背景タスク=「レスポンスの後で、裏でこっそり動く仕事」)背景タスクは、「HTTP レスポンスはすぐ返したいけど、そのあとにやりたい処理がまだ残っている」ときに使う仕組みです。例えば、ログを外部サ...
Python

Python | Web フレームワーク:CORS

概要(CORS は「別ドメインからの JS リクエストを許可するルール」)CORS(Cross-Origin Resource Sharing)は、「ブラウザ上の JavaScript が、別のドメイ...
Python

Python | Web フレームワーク:Cookie

概要(Cookie=「ブラウザ側にそっと置くメモ」)Cookie は一言でいうと、「サーバーがブラウザにそっと渡して、ブラウザ側に保存してもらう小さなメモ」です。ブラウザは、そのメモ(Cookie)を...
Python

Python | Web フレームワーク:認証(Bearer)

概要(Bearer 認証=「トークンを見せて通る入館証チェック」)Bearer 認証は、「HTTP ヘッダに“トークン”を入れて送り、サーバー側がそのトークンを確認して OK なら処理を続行する」とい...
Python

Python | Web フレームワーク:ミドルウェア

概要(ミドルウェア=「リクエストが通る廊下に置く共通処理」)ミドルウェアは一言でいうと、「すべてのリクエスト/レスポンスが必ず通る“共通の廊下”に共通処理を差し込むための仕組み」です。各エンドポイント...
スポンサーリンク