プログラミング

スポンサーリンク
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - ポーリング

ポーリングを一言でいうとポーリング(polling)は、「サーバー側の状態が変わったかどうかを、クライアント側から定期的に“様子見”しに行く仕組み」です。サーバーから「変わったよ!」と通知してくれるの...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - スロットリング

スロットリングを一言でいうとスロットリング(throttle)は、「どれだけ連続でイベントが発生しても、“一定間隔ごとにしか処理を実行させない”テクニック です。スクロール、マウス移動、リサイズなどは...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - デバウンス

デバウンスを一言でいうとデバウンスは、「連続して何度も呼ばれる処理を、“最後の1回だけ”にまとめるテクニック」 です。ユーザーがキーボードを連打したり、入力ボックスに高速で文字を打ち込んだりすると、イ...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - キャンセル処理(AbortController)

キャンセル処理(AbortController)を一言でいうとAbortController は、「一度投げた非同期処理(特に fetch)を、あとから“やっぱりやめる”と止めるための仕組み」 です。...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - 多重送信防止

多重送信防止を一言でいうと多重送信防止は、「ユーザーが同じ操作を連打しても、サーバーには“1 回分だけ”しか飛ばさないようにする仕組み」 です。非同期処理(特にフォーム送信やボタン押下)では、ユーザー...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - ローディング表示

ローディング表示を一言でいうとローディング表示は、「今、アプリはちゃんと動いているよ。止まっているんじゃなくて“待っているだけ”だよ」とユーザーに伝えるためのサインです。非同期処理(fetch / A...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - 明示的に型を指定するケース

ゴール:「ふだんは推論に任せる。でも“ここだけは型を言語化したい”場面を見抜けるようになる」ジェネリクスは基本的に「型推論に任せる」のが正解です。それでも、あえて <T> を書いた方がいい場面がいくつ...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - 関数とジェネリクスの推論

ゴール:「<T> を書かなくても、勝手に T を決めてくれる感覚をつかむジェネリクスの一番おいしいところのひとつが、「型パラメータをほとんど書かなくていい」ことです。TypeScript が、関数の引...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - デフォルト型パラメータ

ゴール:「毎回 <T, string> と書かなくても済む“親切なジェネリクス”を書けるようになるデフォルト型パラメータは一言でいうと、「ジェネリクスに“デフォルトの型”を用意しておく仕組み」です。関...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - 制約付きジェネリクス関数

ゴール:「なんでも T」ではなく「こういう T だけOK」を自分でコントロールできるようになる制約付きジェネリクス関数は一言でいうと、「ジェネリクスの“自由さ”に、ちょっとだけ“条件”を足した関数」で...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - 型パラメータの制約(extends)

ゴール:「T はなんでもアリ」から「T は“こういう型だけ”に絞る」感覚をつかむジェネリクスに制約(extends)をつける一番の目的は、「T はなんでもいいわけじゃなくて、“この条件を満たす型だけ”...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - 複数型パラメータ

ゴール:「T だけじゃ足りないときに、自然に型パラメータを増やせるようになる」ジェネリクスに慣れてくると、「T だけじゃ足りないな…もう1種類、型を扱いたい」という場面が必ず出てきます。複数型パラメー...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - ジェネリクスとanyの違い

ゴール:「どっちも“なんでも受け取れる”のに、なぜジェネリクスが偉いのか」を腑に落とすジェネリクスも any も、一見どちらも「どんな型でも受け取れる」ように見えます。だからこそ初心者ほどこう思いやす...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - 型パラメータの命名規則

ゴール:「T って何?を“意味のある名前”にできるようになる」ジェネリクスを書き始めると、まず最初に出てくる疑問がこれです。「T って、なんでみんな T って書いてるの?U とか K とか、あれ何?」...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - ジェネリック関数の基本

ゴール:「型だけ違う同じ関数」を、1本のジェネリック関数で書けるようになるジェネリック関数の本質はとてもシンプルです。「型だけ違って、やっていることは同じ関数」を、1本にまとめるための書き方です。<T...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - ジェネリクスとは何か

ゴール:「型を“あとから差し込める穴”として扱う感覚をつかむ」ジェネリクス(Generics)は一言でいうと、「型に“変数”を導入して、あとから具体的な型を差し込める仕組み」です。関数でいうと、(x:...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 14日目

14日目のゴールとテーマ14日目のテーマは「2週間で作ってきたものを“振り返りながら仕上げる”」です。今日は新しい文法をどんどん増やす日ではなく、今ある診断アプリを「自分の手で少し改造してみる」2週間...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 13日目

13日目のゴールとテーマ13日目のテーマは「エラーに強いアプリにする(例外処理とメニュー化)」です。ここまでで、機能としてはかなり“それっぽい”アプリになってきましたが、まだ弱いところがあります。ファ...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 12日目

12日目のゴールとテーマ12日目のテーマは「クラス同士に“役割分担”をさせて、アプリ全体を整理する」です。10〜11日目で、Result クラスと List<Result>、LINQ を使って「データ...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 11日目

10日目のテーマとゴール10日目は「複数の診断結果(Result オブジェクト)をまとめて扱い、集計や検索ができるようにする」ことがテーマです。昨日は Result クラスを作り、ログ1行を Resu...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 10日目

10日目のゴールとテーマ10日目のテーマは「クラスとオブジェクトで“自分の型”を作る」です。ここまでは、int や string、DateTime のような「既に用意されている型」を使ってきました。今...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 9日目

9日目のゴールとテーマ9日目のテーマは「“記録”を少しだけ本格的にする」です。8日目で、診断結果をファイルに保存して「履歴」を持てるようになりました。今日はそこから一歩進めて、日付と時刻も一緒に保存す...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 8日目

8日目のゴールとテーマ8日目のテーマは「ファイルに保存して“アプリの記憶”を持たせる」です。これまでのアプリは、実行している間だけ動き、終了するとすべて消えていました。今日はここに一歩踏み込んで、テキ...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 7日目

7日目のゴールとテーマ7日目のテーマは「ここまでの全部を使って、1つの“ちゃんとしたミニアプリ”を完成させる」です。1〜6日目で学んだのは、入力、出力、if、for、配列、メソッド。今日はそれらをバラ...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 6日目

6日目のゴールとテーマ6日目のテーマは「メソッドでコードを“部品化”する」です。ここまでで、入力・条件分岐・繰り返し・配列・クイズアプリの土台まで来ました。今日はそこに「メソッド」という考え方を足して...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 5日目

5日目のゴールとテーマ5日目のテーマは「文字列の配列を使って、クイズアプリの土台を作る」です。4日目までは「数値の配列」で点数を扱いましたが、今日は質問文や選択肢、答えを「文字列の配列」で管理するfo...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 4日目

4日目のゴールとテーマ4日目のテーマは「配列で“まとめて”データを扱う」です。3日目までは、点数や年齢などを「1 個ずつ」変数に入れていました。今日はここを一気にレベルアップさせて、複数の点数を「配列...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 3日目

3日目のゴールとテーマ3日目のテーマは「繰り返し(ループ)で、同じ処理を自動化する」です。1日目は「表示と入力」、2日目は「条件分岐(if)」でした。今日はそこに「同じことを何回もやる」を足して、アプ...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 2日目

2日目のゴールとテーマ2日目のテーマは「条件分岐(if 文)で、アプリに“判断”をさせる」です。昨日は「入力してもらったものを、そのまま表示する」だけでした。今日はそこに一歩踏み込んで、「入力された内...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 1日目

この2週間コースと「1日目」のゴール1日目のテーマは、難しいことを全部横に置いて「C# のコードを自分の手で書いて、コンソールアプリを1つ動かす」ここまで行くことです。今日のゴールは次の3つです。C#...
JavaScript

JavaScript | 1 日 120 分 × 7 日アプリ学習:モーダルウィンドウ管理

1日目のゴールと今日やること1日目のテーマは「モーダルウィンドウを“クラス”として設計し、きれいに開閉を制御できるようになる」ことです。今日のゴールは、ざっくり言うとこの3つです。モーダルを「1つのク...
PHP

PHP Tips | 文字列処理:ログ・表示向け - デバッグ用 var_export 文字列化

「デバッグ用 var_export 文字列化」とは何をしたいのかデバッグしているとき、「この変数の中身、今どうなってるの?」って何度も思いますよね。配列、オブジェクト、ネストしたデータ構造……目で確認...
PHP

PHP Tips | 文字列処理:ログ・表示向け - 長文をログ向け短縮

なぜ「長文をログ向け短縮」する必要があるのか業務システムのログには、ときどき「とんでもなく長い文字列」が流れてきます。巨大な JSON、ユーザーの長文入力、外部 API のレスポンス全文などが典型です...
PHP

PHP Tips | 文字列処理:ログ・表示向け - ログ用 1 行整形

なぜ「ログ用 1 行整形」が必要なのかログって、本来は「あとから原因を追いやすくするための情報」ですよね。でも、何も考えずに文字列をそのまま error_log() に投げていると、こうなりがちです。...
PHP

PHP Tips | 文字列処理:ログ・表示向け - エラーメッセージ整形

なぜ「エラーメッセージ整形」が必要なのかエラーメッセージって、放っておくとすぐに「バラバラ」になります。同じようなエラーなのに、「必須です」「入力してください」「この項目は必須です」みたいに表現が揺れ...
PHP

PHP Tips | 文字列処理:ログ・表示向け - 表示安全文字列生成

「表示安全文字列生成」とは何をするものかここで言う「表示安全文字列」は、ざっくり言うとこういう文字列です。画面に出してもレイアウトが壊れない。ログに出してもビューアが変にならない。HTML やターミナ...
PHP

PHP Tips | 文字列処理:ログ・表示向け - 制御文字除去

なぜ「制御文字除去」が必要になるのか業務で外部システムやユーザー入力の文字列を扱っていると、ときどき「見えない変な文字」が紛れ込みます。コピー&ペーストしたテキスト、外部 API のレスポンス、古いシ...
PHP

PHP Tips | 文字列処理:ログ・表示向け - 伏字変換

「伏字変換」で何をしたいのか伏字変換は、「文字列の一部を別の文字(*や●など)に置き換える」ことです。目的はだいたい 2 つあります。1つ目は「見せたくない情報を隠す」こと。NG ワード、暴言、機密情...
PHP

PHP Tips | 文字列処理:ログ・表示向け - 表示用マスク(名前)

「表示用マスク(名前)」で何を守りたいのか名前も、メールや電話と同じく「個人を特定しやすい情報」です。でも業務では、こういうニーズがよく出てきます。ログや通知には「誰の処理か」は分かりたい。サポート画...
PHP

PHP Tips | 文字列処理:ログ・表示向け - 表示用マスク(電話)

「表示用マスク(電話)」で何を守りたいのか電話番号もメールと同じく、個人をかなり特定できる情報です。でも業務では、こういうニーズがよく出てきます。誰のレコードかは判別したい。ログや画面には「丸裸の番号...
PHP

PHP Tips | 文字列処理:ログ・表示向け - 表示用マスク(メール)

「表示用マスク(メール)」で何を守りたいのかメールアドレスは、個人情報のど真ん中です。でも業務では、ログや画面に「誰のことかは分かりたい」場面も多いですよね。ログに「ユーザーのメールアドレス」をそのま...
C#

C# Tips | 日付・時間処理:月日数取得

はじめに:「月日数取得」は“カレンダー計算の出発点”「今月は何日まである?」「締め日は月末」「2月の最終営業日」こういう処理をちゃんと書こうとすると、必ず必要になるのが「その月が何日まであるか」です。...
C#

C# Tips | 日付・時間処理:閏年判定

はじめに:「閏年判定」は“2月29日があるかどうかを見抜く小さな知恵”「この年は 2月29日があるのか?」「2024年は閏年だけど、2100年は?」カレンダーや日付計算を扱うシステムでは、“閏年(うる...
C#

C# Tips | 日付・時間処理:月跨ぎ判定

はじめに:「月跨ぎ判定」は“どの月のデータとして扱うか”を決めるための鍵業務システムでは、「勤務が 1/31 22:00〜2/1 06:00 のとき、どの月の勤務として集計するか」「売上期間が 3/2...
C#

C# Tips | 日付・時間処理:年月のみ比較

はじめに:「年月のみ比較」は“日付の細かさをあえて捨てるテクニック”業務システムでは、「2026年2月の売上」「2026年2月度の勤怠」「請求月が同じかどうか」のように、“日付”ではなく“年月”だけを...
C#

C# Tips | 日付・時間処理:日付バリデーション

日付バリデーションは“入力のゆらぎを正しい日付に整えるための基盤”日付入力は業務システムで最もトラブルが起きやすい領域です。「2026/02/30」「2026-13-01」「20260218」「2/1...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Offset

Offset は「基準セルから“何行・何列ずらした場所”を指すための道具」Offset は、あるセル(または範囲)を「基準」にして、そこから上下左右に「何行・何列ずらした場所」を指すためのプロパティで...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Columns

Columns は「列そのもの」をまとめて扱うための入り口まずイメージからいきます。Rows が「行単位(横一列)」を扱うのに対して、Columns は「列単位(縦一列)」をまとめて扱うためのオブジェ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Rows

Rows は「行そのもの」をまとめて扱うための入り口まずイメージからいきます。Cells が「行番号・列番号で“1セル”」を指すのに対して、Rows は「行単位(1行、または複数行)」をまとめて扱うた...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Cells

Cells は「行番号・列番号でセルを指定するための道具」まずイメージからいきます。Range("A1") が「住所(A1)」でセルを指定するのに対して、Cells(行番号, 列番号) は「座標(行・...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Range

Range は「シート上の“セルや範囲”そのもの」まずイメージからいきます。Range オブジェクト = シート上の「セル1つ」または「セルのかたまり」そのもの です。A1 だけを指す Range も...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Worksheet

Worksheet は「1枚のシートそのもの」まずイメージからいきます。Worksheet オブジェクト = Excel のシート1枚そのもの です。Workbook(ブック)が「ファイル1冊」だとし...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Worksheets

Worksheets は「ブックの中に並んでいる“ワークシートの集合”」まずイメージからいきます。1つの Excel ファイル(Workbook)の中には、シートが何枚も入っていますよね。その「ワーク...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Workbook

Workbook は「1つの Excel ファイルそのもの」まずイメージからいきます。Workbook オブジェクト = 1つの Excel ファイルそのもの です。拡張子が .xlsx や .xls...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Workbooks

Workbooks は「今 Excel で開いている“ブックの集合”」まずイメージからいきます。Excel では、1つ1つのファイルが Workbook(ブック)です。そして Workbooks は「...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Application

Application は「Excel 全体そのもの」を表す“親玉オブジェクト”まず一番イメージしてほしいのは、Application オブジェクト = 「今動いている Excel そのもの」というこ...
C#

C# Tips | 日付・時間処理:時刻バリデーション

はじめに:「時刻バリデーション」は“バグの温床”を最初に潰す作業「09:00 と入力してほしいのに、9時 とか 9:0 とか 25:00 とかが来る」「開始時刻より終了時刻が前になっている」時刻入力ま...
C#

C# Tips | 日付・時間処理:Cron生成

はじめに:「Cron生成」は“人間の言葉をスケジュール文字列に変換する作業”「毎日3時に実行したい」「平日の9時ちょうどにだけ動かしたい」「5分ごとにポーリングしたい」人間にとっては分かりやすいこの言...
C#

C# Tips | 日付・時間処理:Cron表現解析

はじめに:なぜ「Cron表現解析」が業務で効くのか業務システムで「毎日3時に」「5分ごとに」「平日の9時だけ」といったスケジュールを柔軟に設定したいとき、文字列1本でスケジュールを表現できるのが「Cr...
C#

C# Tips | 日付・時間処理:スケジューラ

はじめに 「スケジューラ」は“時間で動くバッチのミニ版”「毎日 3:00 にバックアップしたい」「5分ごとにキューをポーリングしたい」「指定時刻になったら一度だけ処理したい」こういう“時間をトリガーに...
C#

C# Tips | 日付・時間処理:実行時間計測

はじめに 「実行時間計測」は“なんとなく”を数字に変える技術「この処理、重そうだけど本当にボトルネックなのか?」「リファクタリングしたけど、速くなったって言い切れる?」こういうときに必要なのが「実行時...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - CSV 行生成

「CSV 行生成」でやりたいことをはっきりさせるここでのゴールは、「配列やオブジェクトの値から、正しい形式の1行分の CSV 文字列を生成するユーティリティ」を作ることです。見た目はただのカンマ区切り...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - 単語数カウント

「単語数カウント」で何を数えたいのかを決めるまず、ここをはっきりさせたいです。「単語数を数える」と言っても、言語や用途で意味が変わります。英語の文章なら、スペースで区切られた「単語」を数えたい。日本語...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - 文字数カウント

「文字数カウント」で本当に数えたいものは何かまず、ここをはっきりさせたいです。「文字数を数える」と言っても、実は意味が分かれます。画面上で「何文字入力されたか」を知りたい。DBのカラム制限(バイト数)...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - 行数カウント

「行数カウント」で何をしたいのかをはっきりさせるここでの「行数カウント」は、文字列の中に「何行分のテキストがあるか」を数えるユーティリティのことです。テキストエリアに何行入力されているか知りたい。ログ...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - 省略文字列

「省略文字列」で何をしたいのかをはっきりさせるここでの「省略文字列」は、長すぎる文字列を「…」などで途中カットして、画面に収まる形にするユーティリティのことです。テーブルのカラム幅に収まらないタイトル...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - 伏字変換

「伏字変換」でやりたいことを言葉にしてみるここでの「伏字変換」は、特定の単語やNGワードを、画面に出すときだけ隠す(置き換える)処理のことです。ログにはそのまま残したいけど、ユーザーには見せたくない。...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - マスク文字列

「マスク文字列」で何をしたいのかをはっきりさせるまず、「マスク文字列」でやりたいことを言葉にしてみます。画面に本物の値は出したくないけれど、「それっぽく」見せたい。例:******** や ****-...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - トークン生成

まず「トークン生成」で何を作りたいのかを決めるトークンと言っても、用途はいろいろあります。API トークンパスワードリセット用の一時 URL トークンメール認証用のワンタイムトークンCSRF トークン...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - パスワード生成

まず「パスワード生成」で絶対に外せない前提ランダム文字列と違って、パスワード生成は最初から「セキュリティ前提」で考える必要があります。ここを曖昧にすると、一見それっぽく動くけど「簡単に総当たりされるパ...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - ランダム文字列

ランダム文字列ユーティリティで何をしたいか決める「ランダム文字列」と一口に言っても、目的で“正解の実装”が変わります。短い一時トークン(画面遷移の一時キー)テストデータ用の適当なIDユーザーに見せる仮...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - 絵文字検出

絵文字検出で「何をしたいか」を先に決めるまずゴールをはっきりさせましょう。ここでやりたいのは、文字列の中に「絵文字が含まれているかどうか」を判定するユーティリティを作ることです。業務だと、例えばこうい...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - カタカナ判定

「カタカナ判定」で何をチェックしたいのかまずゴールをはっきりさせます。カタカナ判定には、大きく二つのニーズがあります。「この文字列は“全部カタカナだけ”かを判定したい」「この文字列に“カタカナが1文字...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - ひらがな判定

「ひらがな判定」で何をチェックしたいのかまずゴールをはっきりさせます。ひらがな判定には、大きく二つのニーズがあります。「この文字列は“全部ひらがなだけ”かを判定したい」「この文字列に“ひらがなが1文字...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - 日本語判定

「日本語判定」で本当に知りたいことは何かまずゴールをはっきりさせましょう。ここでやりたいのは、「この文字列は“日本語を含んでいるか?”を判定するユーティリティを作ること」です。もう少し分解すると、よく...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - 数字のみ判定

「数字のみ判定」で本当に知りたいことは何かまずゴールをはっきりさせます。ここでやりたいのは、「この文字列は“数字だけ”でできているか?」を判定するユーティリティを作ることです。例えば、こんな要件が典型...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - 英数字判定

「英数字判定」で何をチェックしたいのかをはっきりさせるまず最初に決めておきたいのは、あなたがやりたいのは次のどちらかです。「文字列が“全部”英数字だけかどうかを判定したい」「文字列の中に“英数字が含ま...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - URL 判定

「URL 判定」で本当にやりたいことは何かまず、「URL 判定」と聞くと、「正規表現で http から始まるかどうかをチェックする」みたいなイメージを持ちがちですが、それだとだいたい痛い目を見ます。業...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - 郵便番号判定

郵便番号判定で「何をしたいか」を先に決めるまずゴールをはっきりさせましょう。ここでやりたいのは、「日本の郵便番号として“それっぽいか”を判定するユーティリティを作ること」です。日本の郵便番号は、基本的...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - 電話番号判定

まず「電話番号判定」でやりたいことをはっきりさせる最初に決めておきたいのは、「どこまで厳しく判定するか」です。電話番号って、現実にはいろんな形で入力されます。03-1234-5678090-1234-...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - メールアドレス判定

「メールアドレス判定」はどこまでやるべきか最初に一番大事なことを言います。メールアドレス判定は「完璧」を目指さないほうがいいです。RFC に完全準拠しようとすると、正規表現が怪物みたいになりますし、現...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - InputBox

InputBox は「ユーザーに一言入力してもらうための小さな窓」InputBox は、ユーザーに文字や数字を入力してもらうためのダイアログです。MsgBox が「VBA → 人間への一方通行のメッセ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - MsgBox

MsgBox は「VBAが人間に話しかけるための吹き出し」MsgBox は、「メッセージボックス(小さなダイアログ)」を表示するための命令です。VBAが「ちょっと一言伝えたい」「確認したい」「結果を見...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - Now関数

Now 関数は「今この瞬間の“日付+時刻”をくれる関数」まず一言でいうと、Now 関数は「今この瞬間の“日付と時刻”を、まとめて Date 型で返してくれる関数」です。今日が何日か(年月日)何時何分何...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - Date関数

Date 関数は「今日の日付だけをくれるシンプルな関数」まず一言でいうと、Date 関数は「今日の日付(年月日だけ)」を返してくれる関数です。時刻は含みません(0:00 相当)戻り値の型は Date ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - 日付型

日付型ってそもそも何者?まず一番大事なところからいきます。VBAの「日付型(Date)」は、「見た目は日付や時刻だけど、中身は“日付・時刻として計算できる数値”」です。セルに「2026/02/23」と...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - Trim

Trim は「文字列の前後についた“余計な空白”を掃除するクリーナー」Trim 関数は、文字列の「前」と「後ろ」についているスペースを取り除くための関数です。イメージとしては、「文字列の両端にくっつい...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - Replace

Replace は「文字列の一部を別の文字に“総入れ替え”する道具」Replace 関数は、「文字列の中にある“ある部分”を、別の文字列に置き換える」ための関数です。人間の感覚で言うと、「この文章の『...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - Mid

Mid は「文字列の真ん中を、好きな位置から好きな長さだけ切り出すハサミ」Left/Right は「端っこ担当」でした。Mid は「真ん中担当」――文字列の“途中”から、指定した長さだけ切り出す関数で...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - Left/Right

Left / Right は「文字列の端っこを切り取るハサミ」Left と Right は、どちらも「文字列の端っこから、指定した文字数だけ切り出す」ための関数です。Left は「左(先頭)から」Ri...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - Len

Len は「文字列が何文字あるか」を教えてくれるメジャーLen 関数は、文字列の「長さ(文字数)」を調べるための関数です。イメージとしては、文字列にメジャーを当てて「何文字ぶんある?」と測る道具です。...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - 文字列操作

文字列操作って何をすること?VBAでいう「文字列操作」は、ざっくり言うと、文字列の一部を取り出す文字列の中を検索する文字を置き換える分割したり、くっつけたりするといった、「文字の並びをいじる」こと全般...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - Preserve

Preserve は「配列の中身を守ったままサイズを変える」ためのキーワードまず一言でいうと、Preserve は「動的配列の中身を消さずに、サイズだけ変えたいときに使う魔法の言葉」です。普通の Re...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - ReDim

ReDim は「動的配列のサイズを“あとから決め直す”ための命令」ReDim は、普通の変数には使いません。「動的配列の“箱の数”を、あとから決めたり、変えたりするための命令」です。固定配列はこうでし...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - 動的配列

動的配列って何が「動的」なのか?前回の「配列宣言」は、こんな形でしたよね。Dim scores(1 To 5) As LongDim scores(1 To 5) As LongVBこれは「5個分」と...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - 配列宣言

配列ってそもそも何者?まず「配列宣言」の前に、配列そのもののイメージをはっきりさせましょう。配列はざっくり言うと、「同じ種類のデータを、番号付きでズラッと並べて入れておく箱」です。普通の変数は「1つの...
JavaScript

JavaScript | 非同期処理:エラー処理・例外設計 - 障害時の復旧設計

「障害時の復旧設計」を一言でいうと障害時の復旧設計は、「エラーが起きた“あと”に、アプリをどう立て直すかをあらかじめ決めておくこと」 です。エラー処理というと、つい「catch してログ出して終わり」...
JavaScript

JavaScript | 非同期処理:エラー処理・例外設計 – エラー再送出

「エラー再送出」を一言でいうとエラー再送出(rethrow)は、「一度 catch で受け取ったエラーを、“ここでは処理しきらないから、上のレイヤーにもう一回投げ直す” 行為 です。非同期処理では特に...
JavaScript

JavaScript | 非同期処理:エラー処理・例外設計 – ログ出力設計

ログ出力設計を一言でいうとログ出力設計は、「エラーや重要な出来事を、あとから“意味を持って”追いかけられるように記録する設計」 のことです。ただ console.log(err) を散らばせるのではな...
JavaScript

JavaScript | 非同期処理:エラー処理・例外設計 – ユーザー向けエラー表示

ユーザー向けエラー表示を一言でいうとユーザー向けエラー表示は、「技術的に何が壊れたか」ではなく、「ユーザーが次にどうすればいいか」を伝えるためのメッセージ です。非同期処理(fetch / API 通...
JavaScript

JavaScript | 非同期処理:エラー処理・例外設計 – エラー情報の整形

「エラー情報の整形」を一言でいうと「エラー情報の整形」は、「バラバラで生々しいエラー情報を、“人間やアプリが扱いやすい形” に整理し直すこと」 です。生のエラーは、たいていこうです。・メッセージが英語...
JavaScript

JavaScript | 非同期処理:エラー処理・例外設計 – カスタムエラー

カスタムエラーを一言でいうとカスタムエラーは、「自分のアプリ専用の“名前付きエラー型”を作って、エラーの意味をはっきりさせる仕組み」 です。ただの Error だけだと、「何が原因で」「どのレイヤーで...
JavaScript

JavaScript | 非同期処理:エラー処理・例外設計 – catch の共通化

「catch の共通化」を一言でいうと「catch の共通化」は、「あちこちにバラバラに書いているエラー処理を、意味のある“ひとつの場所”にまとめること」 です。同じような catch (err) {...
JavaScript

JavaScript | 非同期処理:エラー処理・例外設計 – Promise 内 throw

「Promise 内 throw」を一言でいうとPromise の中で throw する、というのは「その Promise を reject(失敗状態)にするための、ちょっと短い書き方」 です。new...
JavaScript

JavaScript | 非同期処理:エラー処理・例外設計 – try / catch の範囲

「try / catch の範囲」を一言でいうとtry / catch の「範囲」は、「どこで起きたエラーまで、この try / catch で捕まえられるのか」 という話です。ここを勘違いすると、「...
JavaScript

JavaScript | 非同期処理:エラー処理・例外設計 – 同期例外と非同期例外

同期例外と非同期例外を一言でいうと同期例外と非同期例外の違いは、「エラーが いつ 投げられて、どこで 捕まえられるか」の違いです。同期例外は、「その関数を呼んだ“その瞬間”に起きるエラー」。非同期例外...
C#

C# Tips | 日付・時間処理:ストップウォッチ

はじめに 「ストップウォッチ」は“処理時間を見える化する道具”「この処理、どれくらい時間かかってるんだろう?」「最適化したつもりだけど、本当に速くなった?」こういう“処理時間の見える化”に使うのが、C...
C#

C# Tips | 日付・時間処理:タイマー処理

はじめに 「タイマー処理」は“時間を味方につける仕組み”「5秒ごとに処理したい」「1分後にだけ一回だけ実行したい」「一定間隔でバッチを回したい」こういう“時間をトリガーにした処理”をまとめて「タイマー...
C#

C# Tips | 日付・時間処理:深夜時間判定

はじめに 「深夜時間判定」は“割増賃金の境界線をコードにする作業”勤務時間の中でも、「22:00〜翌5:00」は“深夜労働”として割増賃金の対象になる、というルールがよくあります。この“深夜時間”を正...
C#

C# Tips | 日付・時間処理:休憩時間控除

はじめに 「休憩時間控除」は“働いた時間と、そうでない時間を分ける線引き”勤務時間の計算で一番よく出てくるのが「休憩時間を引く」という処理です。ここを雑にやると、「働いていない時間にまで給料を払ってし...
C#

C# Tips | 日付・時間処理:勤務時間計算

はじめに 「勤務時間計算」は“お金と信頼に直結するロジック”勤務時間の計算は、「出勤時刻と退勤時刻の差を取れば終わり」…では、まったく終わりません。休憩時間を引く深夜時間を分ける所定労働時間と残業時間...
C#

C# Tips | 日付・時間処理:日付差ヒューマン表示

はじめに 「日付差ヒューマン表示」は“数字を感覚に変える翻訳機”「2026/02/18 20:43:00 から 2026/02/18 21:10:00 まで 1620 秒です」よりも、「27分前」「約...
C#

C# Tips | 日付・時間処理:ファイル名用日時

はじめに 「ファイル名用日時」は“あとから探しやすく、壊れにくい名前のコア”バックアップファイル、エクスポートCSV、ログのローテーションファイル。こういう「時刻付きファイル名」を付けるとき、なんとな...
C#

C# Tips | 日付・時間処理:ログ用日時生成

はじめに 「ログ用日時」は“あとから真実を追いかけるための命綱”ログって、「とりあえず DateTime.Now 出しとけばいいでしょ?」で済ませがちなんですが、本気でトラブル調査をしようとすると、「...
C#

C# Tips | 日付・時間処理:ミリ秒切り捨て

はじめに 「ミリ秒切り捨て」は“誤差とノイズを消すための小技”API のレスポンス時刻、ログのタイムスタンプ、DB に保存する日時。こういうところで「ミリ秒までバラバラだと比較しづらい」「テストが安定...
C#

C# Tips | 日付・時間処理:時刻丸め

はじめに 「時刻丸め」は“時間の解像度を落とすテクニック”「打刻は5分単位にそろえたい」「グラフは1分刻みで表示したい」「ログを10秒単位でまとめたい」こういう“細かすぎる時刻を、キリのいい時刻にそろ...
Java

Java Tips | コレクション:Stream生成

Stream生成は「データに“流れ”をつける」入り口Stream は「コレクションや配列などの要素を、流れとして扱うためのビュー」です。filter や map、collect などの“Stream ...
Java

Java Tips | コレクション:List→配列

List→配列変換は「柔らかい入れ物を“カチッとした形”にする」技Java では、業務ロジックは List で書きたいけれど、古いライブラリやフレームワークの引数が「配列(String[] など)」を...
Java

Java Tips | コレクション:配列→List

配列→List変換は「生の配列を“扱いやすいコレクション”に変える」技Java には「配列」と「List」という、よく似ているけれど性格の違う入れ物があります。配列:String[] など。古くからあ...
Java

Java Tips | コレクション:List→Map変換

List→Map変換は「一覧を“引ける辞書”に変える」技List<T> は「順番付きのただの並び」です。Map<K, V> は「キーから値を素早く引ける辞書」です。業務では、DB から List<Us...
Java

Java Tips | コレクション:安全get

「安全get」は「落ちてもおかしくない場所に、クッションを敷いておく」技List#get や Map#get は、とてもよく使う基本メソッドですが、そのまま使うと、意外と簡単に例外や NullPoin...
Java

Java Tips | コレクション:デフォルトMap取得

「デフォルトMap取得」は「なかったとき、何を返すか」を先に決めておく技Map を使っていると、ほぼ必ずこういうコードが出てきます。Integer count = map.get(key);if (c...
Java

Java Tips | コレクション:Map反転

Map反転は「矢印の向きをひっくり返す」技Map<K, V> は「K → V」という矢印の集まりです。Map反転は、この矢印の向きを「V → K」にひっくり返して、新しい Map<V, K> を作るイ...
Java

Java Tips | コレクション:Map値抽出

「Map値抽出」は“辞書の中身だけを取り出す”イメージMap<K, V> は「キー → 値」の対応表です。業務では「ユーザーID → ユーザー情報」「商品コード → 商品情報」など、ほぼ必ず出てきます...
Java

Java Tips | コレクション:Mapキー抽出

「Mapキー抽出」は“辞書の見出しだけを取り出す”イメージMap<K, V> は「キーと値のペアの集まり」です。「商品ID → 商品名」「ユーザーID → ユーザー情報」「コード → マスタ値」など、...
Java

Java Tips | コレクション:ランダム抽出

ランダム抽出は「誰を選ぶかを“公平に”決める」技ランダム抽出は、ざっくり言うと「コレクションの中から、ランダムに要素を取り出す」処理です。テスト用にランダムなユーザーを 1 人選びたい。キャンペーン当...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検索・置換 - 連続空白圧縮

「連続空白圧縮」とは何をするユーティリティかまずイメージからいきましょう。ユーザー入力や外部データには、よくこんな文字列が紛れ込みます。"山田 太郎"" 東京都 中央区 ""a b c"人間からすると...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検索・置換 - 改行除去

なぜ「改行除去」ユーティリティが必要になるのか業務システムでユーザー入力を扱っていると、テキストエリアからの入力や、外部システムからのデータに「改行」が普通に混ざります。見た目としては問題なくても、次...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検索・置換 - HTML アンエスケープ

「HTML アンエスケープ」とは何をするものか前回の「HTML エスケープ」は、< や & などを「タグとして解釈されないように」安全な文字列に変える処理でした。"<b>太字</b>" → "<...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検索・置換 - HTML エスケープ

なぜ「HTML エスケープ」が必要なのかまず、これだけははっきりさせておきたいです。HTML エスケープは「見た目を整えるテクニック」ではなく、「セキュリティのための必須処理」です。ユーザー入力をその...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検索・置換 - 正規表現置換

「正規表現置換」ができると何が嬉しいのかまずイメージからいきます。普通の置換は「この文字列を、この文字列に変える」だけです。"2026/02/19" の "/" を "-" に変える"foo foo ...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検索・置換 - 全置換

「全置換」って何をするユーティリティ?まずイメージからいきましょう。「この文字列の中にある foo を、全部 bar に変えたい」という場面、よくありますよね。"foo foo foo" → "bar...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検索・置換 - 大文字小文字無視検索

「大文字小文字無視検索」とは何をしてくれるのかまずゴールのイメージからいきます。次の3つの文字列を見てください。"Apple""apple""APPLE"人間からすると「全部 Apple でしょ」です...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検索・置換 - 後方一致

「後方一致」とは何をしているのか前回の「前方一致」は“先頭が合っているか”を見るものでした。「後方一致」はその逆で、文字列の“末尾”が、指定した文字列と一致しているかどうかを調べます。「report....
JavaScript

JavaScript Tips | 文字列ユーティリティ:検索・置換 - 前方一致

「前方一致」とは何をしているのかまず言葉の整理からいきます。「前方一致」は、文字列の“先頭”が、指定した文字列と一致しているかどうかを調べることです。「山田太郎」が「山田」で始まっているか?「」が「h...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検索・置換 - 部分一致検索

「部分一致検索」ユーティリティは何をしてくれるのか業務システムで文字列を扱うとき、「完全一致」だけで足りることはあまりありません。ユーザー一覧から「山」で始まる人を探したい、商品名に「USB」が含まれ...
C#

C# Tips | 日付・時間処理:日付丸め

はじめに 「日付丸め」は“時間をざっくり区切るための技”「集計は1時間単位で」「グラフは5分刻みで」「日付だけにそろえたい」こういう“きっちりした時刻”ではなく“区切りの時刻”が欲しいときに必要になる...
C#

C# Tips | 日付・時間処理:四半期判定

はじめに 「四半期判定」は“月をざっくり4つに区切るラベル付け”「この売上は第何四半期?」「四半期ごとの集計を出したい」「決算Q1〜Q4でグラフを描きたい」こういう“3ヶ月単位”の世界で必ず必要になる...
C#

C# Tips | 日付・時間処理:週番号取得

はじめに 「週番号取得」は“時間をざっくり区切るためのラベル付け”「この売上は何週目のデータ?」「週次レポートの第何週?」「ISO週番号でログを集計したい」こういう“週単位”の集計やレポートを作るとき...
C#

C# Tips | 日付・時間処理:年一覧生成

はじめに 「年一覧生成」は“長期スパンの集計・分析の土台”売上の年次推移、年度別の件数集計、ログの年別アーカイブ。こういう「年単位」で物事を見る処理の裏側には、たいてい「年一覧」がいます。C# では、...
C#

C# Tips | 日付・時間処理:月一覧生成

はじめに 「月一覧生成」は“月次処理の背骨”になる「指定期間の月ごとの集計」「月次レポート」「月別売上グラフ」こういう“月単位”の処理をするときに土台になるのが「月一覧生成」です。C# では、Date...
C#

C# Tips | 日付・時間処理:日付一覧生成

はじめに 「日付一覧生成」は“カレンダー系ロジックの土台”「指定期間の全日付を出したい」「1ヶ月分のカレンダーを作りたい」「営業日一覧を作りたい」こういうときに必ず必要になるのが「日付一覧生成」です。...
C#

C# Tips | 日付・時間処理:日付範囲判定

はじめに 「日付範囲判定」は“ビジネスルールの線引き”そのもの「この日付はキャンペーン期間内か?」「契約有効期間に含まれるか?」「集計対象期間か?」こういう“期間に入っているかどうか”の判定は、業務シ...
Java

Java Tips | コレクション:シャッフル

シャッフルは「順番に意味を持たせないために、あえてぐちゃっと混ぜる」技シャッフルは、ざっくり言うと「コレクションの要素の順番をランダムに入れ替える」処理です。テストデータの順番を毎回変えたい。おすすめ...
Java

Java Tips | コレクション:バッチ分割

バッチ分割は「一気にやると危ない処理を、小さな塊に分けて安全に回す」技バッチ分割は、ざっくり言うと「大量データを、バッチ(かたまり)単位に分けて処理する」ためのユーティリティです。1 万件のレコードを...
Java

Java Tips | コレクション:分割処理

分割処理は「大きな塊を、ちょうどいいサイズのかたまりに刻む」技分割処理は、ざっくり言うと「大きな List を、一定サイズごとの小さな List に分ける」テクニックです。一度に 1 万件のレコードを...
Java

Java Tips | コレクション:フラット化

フラット化は「入れ子の一覧を、一本の一覧に伸ばす」技フラット化は、ざっくり言うと「List<List<T>> のような“入れ子のコレクション”を、List<T> という“まっすぐなコレクション”に伸ば...
Java

Java Tips | コレクション:マッピング

マッピングは「一覧の“形”を変える」技マッピングは、ざっくり言うと「ある型の一覧を、別の型の一覧に変換する」処理です。ユーザー一覧から「名前だけの一覧」を作る。商品一覧から「価格だけの一覧」を作る。注...
JavaScript

JavaScript Tips | 文字列ユーティリティ:整形 - 単語分割

なぜ「単語分割」ユーティリティが必要になるのかキャメルケース化・スネークケース化・ケバブケース化・パスカルケース化。ここまでいろいろやってきましたが、実は全部の“土台”にあるのが 「単語分割」 です。...
JavaScript

JavaScript Tips | 文字列ユーティリティ:整形 - パスカルケース化

パスカルケースってそもそも何かまず言葉の整理からいきます。「パスカルケース(PascalCase)」は、単語の先頭をすべて大文字にして、間をつめてつなげる書き方です。"user name" → "Us...
JavaScript

JavaScript Tips | 文字列ユーティリティ:整形 - ケバブケース化

ケバブケースってそもそも何かまず言葉の整理からいきましょう。「ケバブケース(kebab-case)」は、単語をハイフン - でつなぎ、全部小文字で書くスタイルです。"userName" → "user...
JavaScript

JavaScript Tips | 文字列ユーティリティ:整形 - スネークケース化

スネークケースってそもそも何かまず言葉の整理からいきます。「スネークケース(snake_case)」は、単語をアンダースコア _ でつなぎ、全部小文字で書くスタイルです。"userName" → "u...
JavaScript

JavaScript Tips | 文字列ユーティリティ:整形 - キャメルケース化

キャメルケースってそもそも何かまず言葉の整理からいきます。「キャメルケース(camelCase)」は、プログラミングでよく使う“名前の付け方”のルールの一つです。先頭は小文字。単語の区切りごとに、次の...
Python

Python | テスト・設計・品質:カバレッジ

カバレッジって何?まずは一言でイメージをつかむテストの「カバレッジ(coverage)」は、「テストを実行したときに、あなたのコードのどこまでが実際に実行されたか」を数値で教えてくれる指標です。ざっく...
Python

Python | テスト・設計・品質:E2E テスト

E2E テストって何?まずはざっくりイメージからE2E テスト(End-to-End テスト)は、「ユーザーの操作の始まりから終わりまで、システム全体を通して動かして確認するテスト」です。単体テスト関...
Python

Python | テスト・設計・品質:結合テスト

結合テストって何?単体テストとの違いからつかむ結合テスト(integration test)は、「複数の部品(関数・クラス・モジュール)を“つなげた状態”で、ちゃんと一緒に動くかを確認するテスト」です...
Python

Python | テスト・設計・品質:単体テスト

単体テストって何?まずはゴールのイメージから単体テスト(ユニットテスト)は、「プログラムを小さな“部品(ユニット)”ごとに分けて、その部品がちゃんと動くかを確認するテスト」です。ここでいう“部品”は、...
Python

Python | テスト・設計・品質:monkeypatch

monkeypatch って何?mock とどう違うのかpytest の monkeypatch は、「テスト中だけ、モジュールやオブジェクトの属性を書き換えるための道具」です。やりたいことは moc...
JavaScript

JavaScript | 非同期処理:fetch / API 通信 – API 設計との関係

API 設計と fetch の関係の全体像fetch 自体は「URL に HTTP リクエストを送って、レスポンスを受け取るだけ」の素朴な道具です。でも、実際のコードの書きやすさ・分かりやすさは、AP...
JavaScript

JavaScript | 非同期処理:fetch / API 通信 – 再試行処理

「再試行処理」を一言でいうとfetch の「再試行処理」は、「1 回の通信が失敗したときに、すぐ諦めずにもう何回かやり直す仕組み」 のことです。ネットワークの世界では、「たまたま一瞬だけ回線が不安定だ...
JavaScript

JavaScript | 非同期処理:fetch / API 通信 – タイムアウト対策

fetch の「タイムアウト対策」を一言でいうとfetch のタイムアウト対策は、「一定時間待ってもサーバーから返事がこなかったら、自分から通信を打ち切る仕組みを入れること」 です。そのままの fet...
JavaScript

JavaScript | 非同期処理:fetch / API 通信 – エラーレスポンス処理

「エラーレスポンス処理」を一言でいうとfetch / API 通信における「エラーレスポンス処理」は、「サーバーから“うまくいかなかった”という返事が返ってきたときに、何をどうするか決めておくこと」 ...
JavaScript

JavaScript | 非同期処理:fetch / API 通信 – ステータスコード確認

ステータスコード確認を一言でいうとfetch で API を叩くときの「ステータスコード確認」は、「サーバーが今どんな気持ちで返事してきているか」をちゃんと見ること です。200「OK、うまくいったよ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - Exit文

Exit文は「ここでいったん打ち切るための非常口」Exit文は、「本来の終わり方を待たずに、ここで処理を打ち切りたい」ときに使う“非常口”のような命令です。ループなら「本当は10回回す予定だけど、条件...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - Do Until

Do Until は「条件が成り立つ“まで”繰り返す」ループDo While は「条件が True のあいだ繰り返す」ループでした。Do Until はその逆で、「条件が True になる“まで”繰り...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - Do While

Do While は「条件が成り立つあいだ、ずっと繰り返す」ループFor文は「何回繰り返すか」があらかじめ決まっているループでした。一方 Do While は、「この条件が True のあいだは、ずっ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - For Each

For Each は「集まりの中身を一つずつ取り出して処理する」ための文For文は「番号で回すループ」でした。i = 1 から 10 まで のように、「番号(インデックス)」を自分で管理します。一方 ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - Step指定

Step指定は「カウンタの増え方・減り方を決めるつまみ」For文は、For i = 1 To 10 ' 繰り返し処理Next iFor i = 1 To 10 ' 繰り返し処理Next iVBのように...
JavaScript

JavaScript | 非同期処理:fetch / API 通信 – JSON 送受信

JSON と fetch の関係を一言でいうとJSON と fetch の関係は、「JavaScript とサーバーが会話するときの“共通言語(JSON)”を、fetch という電話で送受信する」 と...
JavaScript

JavaScript | 非同期処理:fetch / API 通信 – headers の設定

headers ってそもそも何?なぜ設定が必要なのかfetch の headers は、「このリクエストに関する“メタ情報”(追加情報)をサーバーに伝えるためのラベル集」 です。サーバーは、ただ UR...
JavaScript

JavaScript | 非同期処理:fetch / API 通信 - POST リクエスト

POST リクエストを一言でいうとfetch の POST リクエストは、「ブラウザからサーバーに“データを送る”ための HTTP 通信」 です。GET が「取りに行く」だとしたら、POST は「渡し...
JavaScript

JavaScript | 非同期処理:fetch / API 通信 – GET リクエスト

GET リクエストって何をしているのかまず「GET リクエスト」とは、“サーバーにデータをください、とお願いするためのリクエスト” です。今日の天気を教えてユーザー一覧をちょうだい記事の詳細を見せてみ...
JavaScript

JavaScript | 非同期処理:fetch / API 通信 – fetch の基本

fetch ってそもそも何者かfetch は、JavaScript から「ネット越しにデータを取りに行く(サーバーと通信する)」ための関数 です。天気 API から今日の天気をもらう自分のサーバーにフ...
JavaScript

JavaScript Tips | 文字列ユーティリティ:整形 - 小文字変換

「小文字変換」ユーティリティは何のために使うのか大文字変換と対になるのが「小文字変換」です。次のような値を考えてみてください。"ABC""Abc""abc"人間からすると「同じ abc」ですが、コンピ...
JavaScript

JavaScript Tips | 文字列ユーティリティ:整形 - 大文字変換

「大文字変換」ユーティリティは何のために使うのかまずイメージからいきます。次のような値があるとします。"abc""Abc""ABC"人間から見ると「だいたい同じ」ですが、コンピュータ的には全部別物です...
JavaScript

JavaScript Tips | 文字列ユーティリティ:整形 - 半角→全角

「半角→全角」ユーティリティは何のために使うのかさっきの「全角→半角」と逆方向の話です。業務システムでは、こんな要望がよく出ます。帳票や PDF で、桁をきれいに揃えたいから全角で出したい。画面上の見...
JavaScript

JavaScript Tips | 文字列ユーティリティ:整形 - 全角→半角

「全角→半角」ユーティリティは何を解決してくれるのかまず、よくある業務の“あるある”からいきます。ユーザーが「1234」と全角数字で入力してくる。「@」や「-」が全角のせいでメールアドレス判定に落ちる...
JavaScript

JavaScript Tips | 文字列ユーティリティ:整形 - trim

trim は「余計な空白をきれいに落とす」道具まずイメージからいきましょう。ユーザーがフォームにこう入力したとします。" 山田太郎 "(前後にスペース付き)見た目は同じ「山田太郎」でも、実際の文字列と...
TypeScript

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

1日目のゴールと今日やること1日目のテーマは「TypeScript に触りながら、“型って怖くない”を体で覚える」ことです。今日のゴールは 3 つだけです。「型って何をしてくれる存在なのか」をイメージ...
JavaScript

JavaScript | 1 日 120 分 × 7 日アプリ学習:検索 & ソート機能付き一覧

1日目のゴールと今日やること1 日目のテーマは「検索・ソート機能付きの一覧アプリを作りながら、高階関数(map / filter / sort)の本質を理解する」ことです。今日の学習ポイントは次の 3...
C#

C# Tips | 日付・時間処理:日付比較

はじめに 「日付比較」は“ビジネスルールをコードに落とす入り口”「締切を過ぎているか?」「この期間内か?」「開始日より前か後か?」業務システムで“条件分岐”を書くとき、ほぼ必ず出てくるのが「日付比較」...
C#

C# Tips | 日付・時間処理:UnixTime変換

はじめに 「UnixTime変換」は“異世界の時計との変換アダプタ”API やログ、JavaScript、Linux 系ツールと連携するときに、よく出てくるのが「UnixTime(UNIX時間)」です...
C#

C# Tips | 日付・時間処理:ISO8601変換

はじめに 「ISO8601変換」は“システム同士の共通語”をしゃべるための必須スキルAPI、バッチ連携、ログ、クラウドサービス。システム同士が日時をやり取りするとき、ほぼ必ず出てくるのが「ISO860...
PHP

PHP Tips | 文字列処理:実務向け便利系 - Unicode 正規化

なぜ「Unicode 正規化」が実務で問題になるのか同じ「見た目」の文字でも、内部的には“別の文字列”として扱われてしまうことがあります。これが Unicode 正規化の話です。例えば、次の 2 つは...
PHP

PHP Tips | 文字列処理:実務向け便利系 - 文字列中の数値を数値化

「文字列中の数値を数値化」とは何をしたいのか業務システムでは、ユーザー入力や CSV から読み込んだ値が「文字列」として渡ってくることが多いです。"123"" 1,234 ""9876"(全角)見た目...
PHP

PHP Tips | 文字列処理:実務向け便利系 - 先頭ゼロ埋め

「先頭ゼロ埋め」で何をしたいのか先頭ゼロ埋めは、一言でいうと「数字や文字列を、決めた桁数になるように左側を 0 で埋める」ことです。社員番号を 000123 のように 6 桁でそろえたい。請求書番号を...
PHP

PHP Tips | 文字列処理:実務向け便利系 - 配列を改行文字列に変換

なぜ「配列を改行文字列に変換」したくなるのかさっきまでやっていた「複数行テキストを配列化」の逆方向が、今回の「配列を改行文字列に変換」です。例えば、こんな場面がよくあります。画面のテキストエリアに、配...
PHP

PHP Tips | 文字列処理:実務向け便利系 - 複数行テキストを配列化

なぜ「複数行テキストを配列化」するのか業務でよくあるのが、こんなテキストです。山田太郎佐藤花子鈴木一郎これを「1 行ずつ処理したい」「1 行ずつバリデーションしたい」「1 行ずつ DB に登録したい」...
PHP

PHP Tips | 文字列処理:実務向け便利系 - 改行を除去した1行化

なぜ「改行を除去した1行化」が必要になるのか業務で文字列を扱っていると、「中身はそのままでいいから、とにかく“1行の文字列”にしたい」という場面がよく出てきます。ログに出すときに、改行があると見づらい...
PHP

PHP Tips | 文字列処理:実務向け便利系 - JSON デコード(例外対応)

なぜ「JSON デコード(例外対応)」が必要なのか業務で JSON を扱うとき、ほぼ必ずやるのが「文字列 → 配列(オブジェクト)」への変換、つまり JSON デコードです。ここで怖いのは、「壊れた ...
PHP

PHP Tips | 文字列処理:実務向け便利系 - JSON 安全エンコード

「JSON 安全エンコード」で何を守りたいのかJSON 自体はただのデータ形式ですが、「どこに出すか」で話が一気に“セキュリティの話”になります。特に危険なのは、JSON をそのまま HTML や J...
PHP

PHP Tips | 文字列処理:実務向け便利系 - TSV 用エスケープ

なぜ「TSV 用エスケープ」が必要になるのかTSV は「Tab Separated Values」、区切り文字がカンマではなくタブ(\t)のテキスト形式です。CSV よりシンプルに見えますが、「そのま...
PHP

PHP Tips | 文字列処理:実務向け便利系 - CSV 用エスケープ

なぜ「CSV 用エスケープ」が必要になるのか業務で CSV を扱うとき、よくあるのが「Excel で開ける CSV を出したい」「システム間連携用に CSV を吐きたい」というパターンです。ここで雑に...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:環境 - オンライン状態判定

なぜ「オンライン状態判定」ユーティリティが業務で重要なのか業務システムでも、ユーザーは常に安定したネットワーク環境にいるとは限りません。社内 Wi-Fi が不安定、移動中のモバイル回線、一瞬だけオフラ...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:環境 - タイムゾーン取得

なぜ「タイムゾーン取得」ユーティリティが業務で重要なのか業務システムで日付や時刻を扱うとき、必ず出てくるのが「タイムゾーン」の問題です。日本のユーザーと海外のユーザーが混在していたり、サーバーは UT...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:環境 ‐ 言語設定取得

なぜ「言語設定取得」ユーティリティが必要になるのか業務システムを作っていると、「日本語ユーザーには日本語で」「英語ユーザーには英語で」といった多言語対応の話がほぼ確実に出てきます。ここで大事なのは、「...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:環境 – 本番環境判定

「本番環境判定」は何のためにあるのか「本番環境判定」は、「今このコードは“お客さんが触っている本番”なのか、それ以外(開発・検証)なのか」を判定するためのユーティリティです。業務システムでは、同じコー...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:環境 – 開発環境判定

「開発環境判定」とは何を判定するのかまず言葉を整理します。ここでいう「開発環境判定」は、ざっくり言うと「今このコードは“本番”で動いているのか、“開発用”で動いているのか」を判定するためのユーティリテ...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:環境 – Chrome 判定

なぜ「Chrome 判定」ユーティリティが欲しくなるのか業務システムを書いていると、「ほとんどのユーザーは Chrome(または Chrome 系)を使っている」という前提で設計されることが多いです。...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:環境 – Android 判定

なぜ「Android 判定」ユーティリティが必要になるのかモバイル対応をしていると、「iOS と Android で挙動が微妙に違う」という場面に必ずぶつかります。同じ“スマホ”でも、こういう差があり...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:環境 – iOS 判定

なぜ「iOS 判定」ユーティリティが必要になるのかモバイル判定より一歩踏み込んだのが「iOS 判定」です。業務システムを作っていると、こういう“iOS 特有の事情”にぶつかります。Safari(iOS...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:環境 – モバイル判定

なぜ「モバイル判定」ユーティリティが必要になるのか業務システムでも、今は「PC だけ」ではなく「スマホ・タブレット」からの利用が当たり前になっています。その結果、こういう要件がよく出てきます。PC で...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:環境 – ブラウザ判定

なぜ「ブラウザ判定」ユーティリティが業務で必要になるのか業務システムをブラウザで動かしていると、「Chrome では動くのに、IE だと落ちる」「スマホの Safari だけ挙動が違う」みたいなこと、...
JavaScript

JavaScript | 非同期処理:async / await – 同期風コードの注意点

async / await が生み出す「同期っぽいコード」とはasync / await を使うと、await を並べるだけで、「上から順番に実行されているように見えるコード」 が書けます。async...
JavaScript

JavaScript | 非同期処理:async / await – async 関数の戻り値

async 関数の戻り値を一言でいうとasync 関数の戻り値は、「必ず Promise になる」 です。もう少しだけ正確に言うと:async を付けた関数は、必ず Promise を返すその Pro...
JavaScript

JavaScript | 非同期処理:async / await – await とループ

await とループを一言でいうとawait をループの中で使うときのポイントは、「そのループを“順番にゆっくり回す”のか、“できるだけ同時に走らせる”のかを意識すること です。同じループでも、各要素...
JavaScript

JavaScript | 非同期処理:async / await – 並列 await の書き方

並列 await を一言でいうと「並列 await」は、“複数の非同期処理を同時にスタートさせて、あとからまとめて結果を受け取る書き方” です。普通に await を縦に並べると、A が終わってから ...
JavaScript

JavaScript | 非同期処理:async / await – 複数 await の順序

複数の await の「順序」を一言でいうとawait を何回も使うとき、「どこで await を書くか」によって、非同期処理が「順番に」動くか「同時に」動くかが変わります。同じ await でも、上...
JavaScript

JavaScript | 非同期処理:async / await – finally との併用

async / await と finally を一言でいうとasync / await と finally を組み合わせると、「非同期処理が成功しても失敗しても、必ず最後にやりたい処理」を書ける よ...
JavaScript

JavaScript | 非同期処理:async / await – try / catch との併用

async / await と try / catch を一言でいうとasync / await と try / catch を組み合わせると、「非同期処理の成功もエラーも、同期コードと同じように書け...
JavaScript

JavaScript | 非同期処理:async / await – await の戻り値

await の戻り値を一言でいうとawait の「戻り値」は、「Promise が resolve(成功)したときに渡される“中身の値”」 です。const result = await somePr...
JavaScript

JavaScript | 非同期処理:async / await – await の役割

await を一言でいうとawait は、「Promise の完了を“その行で一旦止まって待ち”、結果の値を取り出すためのキーワード」 です。await promise と書くと、その行で「promi...
JavaScript

JavaScript | 非同期処理:async / await – async 関数の定義

async / await の「async 関数」を一言でいうとasync 関数は、「中で await が使える “非同期版の関数”」 です。先に一番大事なポイントだけ言うと:関数の前に async ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 - For文

For文は「決まった回数だけ同じ処理を繰り返すための仕組み」For文は、「この処理を、何回も、順番に、機械的に繰り返したい」というときに使う“ループ”の文です。人間の言葉にすると、「i を 1 から ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 – Select Case

Select Case は「一つの値で分岐をきれいに並べるスイッチ」If ~ ElseIf ~ Else も「条件分岐」でしたが、条件が増えてくると、どうしても読みにくくなります。そこで登場するのが ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 – ElseIf

ElseIfは「条件が3つ以上あるときの整理整頓ツール」If文は「もし〇〇なら〜する」という分岐でした。でも現実のロジックって、「合格/不合格」みたいな二択だけじゃなくて、S評価A評価B評価C評価D評...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 – If文

If文は「条件しだいで処理を分けるための分岐スイッチ」If文は、プログラムに「状況を見て、やることを変えてね」と指示するための文です。人間の言葉で言えば、「もし〇〇なら、Aをする。そうでなければBをす...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 – 比較演算子

比較演算子って何をする記号?比較演算子は、「この値とこの値を比べて、条件が成り立つかどうか」を判定するための記号です。VBAでは、比較の結果は必ず Boolean型(True / False) になり...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 – 演算子

演算子は「値と値のあいだで何をしたいか」を表す記号演算子は、「足したい」「引きたい」「比べたい」「つなげたい」「条件を組み合わせたい」といった“意図”を、記号で表現したものです。VBAでは、数値を計算...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 – 代入

「代入」は“箱の中身を決める”動作変数は「値を入れておく箱」でしたよね。代入は、その箱の中身を「これにする」と決める動作です。VBAでは、「左側=右側」という形で書きます。変数名 = 値や式変数名 =...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 – Variantの特徴

Variantは「なんでも入るけど、扱い注意な箱」Variant型は、VBAの中で「ほぼ何でも入る特別な箱」です。数値、文字列、日付、真偽値、オブジェクト参照、Empty、Null…と、ほとんどの値を...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 – データ型理解

「データ型」は“箱の種類”だと思うと分かりやすい変数は「値を入れておく箱」でしたよね。データ型は、その箱の「種類」です。お菓子の箱、ペットボトル、ガラス瓶――入れられる中身や量が違うように、VBAの変...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):基本文法 – 変数宣言

変数宣言ってそもそも何?まず一番やさしく言うと、変数は「データを入れておく“名前付きの箱”」です。そして 変数宣言 は、その箱を「これからこういう用途で使います」と VBA に正式に伝える行為です。人...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – マクロセキュリティ理解

マクロセキュリティは「安全にVBAを使うための門番」Excel VBA を学ぶうえで、マクロセキュリティは絶対に避けて通れません。なぜなら、VBA は「Excel を自動で動かす力」を持っているぶん、...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – ヘルプ参照

VBAの「ヘルプ参照」は“公式の説明書”への入口VBAのヘルプ参照は、「この命令って正しくはどう使うんだっけ?」「このプロパティの意味、ちゃんと知りたい」というときに開く、“公式の説明書”への入口です...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – オブジェクトブラウザ

オブジェクトブラウザは「Excelの辞書+地図」オブジェクトブラウザは、VBAで使える「オブジェクト・プロパティ・メソッド・定数」を一覧で調べられるツールです。イメージとしては、Excelの世界の「辞...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – 参照設定

参照設定ってそもそも何?まず一番やさしく言うと、参照設定=「VBAに、この道具(ライブラリ)を使っていいよ、と事前に教える設定」です。Excel VBAは、最初から「Excelの基本機能」は使える状態...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – モジュール構成理解

「モジュール」はVBAコードを入れる“フォルダ”だと思ってみるまずイメージからいきます。Excelブックの中に、VBAのコードを入れておく“箱”がいくつか用意されています。その箱の種類のことを「モジュ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – Public / Private

Public / Private は「どこから見えるか」を決めるラベルPublic と Private は、「この変数(や Sub / Function)を、どこから見えるようにするか」を決めるための...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – スコープ概念

「スコープ」は“見える範囲”という発想でとらえるVBAでいう「スコープ」は、ざっくり言うと「この変数(やプロシージャ)は、どこから見える(使える)のかという“範囲”」です。同じ名前の変数でも、書いた場...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – SubとFunctionの違い

まずざっくり:「Sub」と「Function」の一番大きな違い一言で言うと、こうです。Sub「何か処理をするだけの手順」結果(値)を“返さない”タイプのプロシージャFunction「何か処理をして、そ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – コメント記述

コメントは「未来の自分へのメモ」VBAのコメントは、「プログラムとしては実行されない説明文」です。コードの意味、意図、注意点、「ここはあとで直す」などを、未来の自分や他人に伝えるためのメモだと思ってく...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – Option Explicit

Option Explicit は「うっかりミス防止スイッチ」まず一言でいうと、Option Explicit は「変数を必ず宣言しなさい」というルールをオンにするスイッチです。VBAは、本来「宣言し...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – イミディエイトウィンドウ

イミディエイトウィンドウって何をするところ?イミディエイトウィンドウは、VBAの世界の「その場で試せるメモ帳兼電卓兼リモコン」です。コードを書いて保存して実行するのではなく、「一行だけ命令を書いて、す...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – ブレークポイント

ブレークポイントってそもそも何者?ブレークポイントは、VBAの実行を「ここで一回止まって」と指示するための“しおり”のようなものです。マクロを F5 で一気に実行すると、途中の様子は見えませんが、ブレ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – ステップ実行(F8)

「ステップ実行(F8)」って何をするもの?VBAの「ステップ実行(F8)」は、マクロを一気に最後まで動かすのではなく、「1行ずつゆっくり進めて、何が起きているかを確認するためのモード」です。F5 が「...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – 実行方法(F5)

「実行する」とは何かをまず言葉でつかむVBAで「実行する」とは、書いたプログラム(マクロ)を実際に動かしてみることです。Sub で始まり End Sub で終わる一つのプロシージャを、上から順番に最後...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – プロシージャ作成

Excel VBAと「プロシージャ」の関係をイメージするExcel VBA では、コードはバラバラに書くのではなく、「プロシージャ」という単位にまとめて書きます。プロシージャは「意味のあるひと固まりの...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – 標準モジュール追加

Excel VBAと標準モジュールの関係をイメージするExcel VBA は「Excelを自動で動かすための言語」です。その“命令文”を書いて保存しておく箱が「標準モジュール」です。超ざっくり言うと、...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – VBE起動

Excel VBAとVBEの関係をイメージするExcel VBA は「Excelに対して出す命令の言語」です。その命令を書くための“ノート”が必要ですよね。そのノートが、Visual Basic Ed...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – 開発タブ表示

Excel VBAって何者かをまずイメージしようExcel VBA は「Excelに命令を出すための言語」です。正式名称は Visual Basic for Applications。難しそうに聞こえ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – マクロの保存形式(xlsm)

Excel VBAって何?超初心者向けのイメージづくりExcel VBA は「Excelを自動で動かすための言語」です。正式名称は Visual Basic for Applications。難しく聞...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – マクロ有効ブックを理解

Excel VBAってそもそも何者?Excel VBA は「Excelに入っている小さなプログラミング言語」です。正式名称は Visual Basic for Applications。あなたが普段マ...
Excel VBA

Excel VBA 逆引き集 | 実務テンプレ完全版(超再利用部品):大規模マクロ基盤(Framework)

ねらい:一発マクロから「育てられるマクロ基盤」へ大規模マクロ基盤(Framework)のゴールは、こうです。「その場しのぎの1本マクロ」を卒業して、機能が増えても壊れにくく、直しやすく、流用しやすい“...
Excel VBA

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

ねらい:Excelを「外部サービスとつながるクライアント」にする型を持つAPI連携テンプレのゴールは、こうです。「毎回ググりながらバラバラのコードを書く」のをやめて、“この型で書けば、だいたいどんなA...
Excel VBA

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

ねらい:Excelを「DBのフロントエンド」にするための型を持つDB連携テンプレのゴールは、こうです。「毎回ググりながらADOコードを書く」のをやめて、接続・SELECT・INSERT/UPDATE・...
Excel VBA

Excel VBA 逆引き集 | 実務テンプレ完全版(超再利用部品):辞書×配列の最適化テンプレ

ねらい:辞書と配列を「なんとなく」ではなく「型」として使いこなす辞書(Scripting.Dictionary)と配列は、VBAで高速化するときの主役です。でも、なんとなく使うと「速いときもあるけど、...
Excel VBA

Excel VBA 逆引き集 | 実務テンプレ完全版(超再利用部品):数百万行対応テンプレ

ねらい:Excelでも「数百万行」を“落ちない・待てる・再利用できる”型で扱う「CSVを開いたら固まった」「10万行超えたあたりからマクロが全然終わらない」数万行までは“なんとなく書いたVBA”でも動...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – 実務でのクラス設計判断

ゴール:「この処理、本当にクラスにすべき?」を自分で判断できるようになる実務で一番大事なのは、「クラスの書き方」よりも、「そもそも、ここはクラスにすべきか?」を判断できることです。TypeScript...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – ConstructorParameters の利用

ゴール:「コンストラクタの引数の型を“そのまま再利用する”感覚をつかむConstructorParameters<T> は一言でいうと、「コンストラクタ型 T から、引数の型だけをタプルとして抜き出す...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – InstanceType の利用

ゴール:「クラス“側”だけ知っていても、インスタンスの型を安全に扱える」ようになるInstanceType<T> は一言でいうと、「コンストラクタ型 T から、new したときの“インスタンスの型”だ...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – インスタンス型の取得

ゴール:「“クラスそのもの”から“インスタンスの型”だけをきれいに取り出す」感覚をつかむここでのテーマは、「クラス(コンストラクタ)から、そのインスタンスの型だけを取り出す」です。TypeScript...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – typeof Class の意味

ゴール:「typeof Class は“クラスそのものの型”を取る」と腑に落とすまず一番大事な一文からいきます。typeof クラス名 は、「インスタンスの型」ではなく「クラスそのもの(コンストラクタ...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – クラスの型としての扱い

ゴール:「クラスには“2つの顔(値としての顔/型としての顔)”がある」と腑に落とすTypeScript のクラスで一番つまずきやすいポイントは、「クラスは“値”でもあり、“型”でもある」という二重の顔...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – クラスを返す関数

ゴール:「クラスも“値”として扱えて、関数から返せる」と腑に落とすまず一番大事なポイントはこれです。クラスは「型」でもあり、「値」でもあるということです。「型」としては User 型などに使い、「値」...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – Factoryパターン

ゴール:「new の場所を“工場”に集めて、作り方のルールを1カ所に閉じ込める感覚をつかむ」Factory(ファクトリ)パターンは一言でいうと、「オブジェクトの new をあちこちで書かず、“作る専門...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – Singletonパターン

ゴール:「アプリ全体で“そのクラスは1個だけ”をコードで保証する感覚をつかむ」Singleton(シングルトン)パターンは一言でいうと、「このクラスのインスタンスは、アプリ全体で“必ず1つだけ”にする...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – private constructorの用途

ゴール:「new させないクラス」に意味を持たせる感覚をつかむprivate constructor は一言でいうと、「このクラスは、外から new してほしくない」と宣言するための仕組みです。「え、...
C#

C# Tips | 日付・時間処理:タイムゾーン変換

はじめに 「タイムゾーン変換」は“世界とつながる日時処理の要”日本だけで完結しているうちはあまり意識しませんが、クラウド、海外拠点、スマホアプリなどが絡み始めると、「この日時はどこの国の時間なのか?」...
C#

C# Tips | 日付・時間処理:経過時間計算

はじめに 「経過時間計算」は“ビジネスのリアルタイム感”を数値にする「処理に何秒かかった?」「障害発生から何時間経過?」「滞在時間は何分?」こういう“時間の距離”は、業務・実務の世界でかなり頻繁に出て...
C#

C# Tips | 日付・時間処理:経過日数計算

はじめに 「経過日数計算」は“ビジネスの距離感”を数値にする「申込から何日経った?」「納品から何日以内?」「障害発生から何日経過?」こういう“日数の距離”は、業務システムで本当によく出てきます。C# ...
C#

C# Tips | 日付・時間処理:年齢計算

はじめに 「年齢計算」は“日付ロジックの入門にして落とし穴だらけのテーマ”「この人は今何歳か」「○日時点で何歳だったか」。業務システムでも、顧客管理・会員管理・保険・医療・学校など、年齢計算は本当によ...
C#

C# Tips | 日付・時間処理:祝日判定

はじめに 「祝日判定」は“営業日ロジックの一番やっかいな部分”土日判定はコードで簡単に書けますが、「祝日」はそうはいきません。日本の祝日は法律で決まっていて、改正されたり、オリンピックや即位などのイベ...
C#

C# Tips | 日付・時間処理:営業日加算

はじめに 「営業日加算」は“ビジネスの締切をコードに落とす技”「3営業日以内に対応」「5営業日後が締切」「翌営業日に処理」――こういう要件を“ちゃんと”満たすには、単純な「日数加算」ではなく「営業日加...
C#

C# Tips | 日付・時間処理:営業日判定

はじめに 「営業日判定」は“締切と期日のリアルさ”を決める心臓部業務システムでよく出てくる「3営業日以内に対応」「翌営業日に処理」「営業日ベースで締切計算」。ここでいう「営業日」が正しく判定できていな...
C#

C# Tips | 日付・時間処理:曜日日本語化

はじめに 「曜日日本語化」は“ユーザーに優しい日付表示”の仕上げ曜日そのものは DateTime.DayOfWeek で簡単に取れますが、そのままだと Tuesday のような英語表記です。業務システ...
C#

C# Tips | 日付・時間処理:曜日取得

はじめに 「曜日取得」は“人間に寄り添う日付表示”の入口日付そのものだけでなく、「それが何曜日か」は業務画面でかなり重要です。勤怠、シフト、予約、カレンダー、締切日…どれも「曜日」が一緒に出ていると、...
C#

C# Tips | 日付・時間処理:年末取得

はじめに 「年末取得」は“年間ロジックのゴール地点”年初が「スタートライン」だとしたら、年末は「ゴールライン」です。年間売上、年間勤怠、年間評価、年間レポート、どれも「この年はどこからどこまでか」 が...
C#

C# Tips | 日付・時間処理:年初取得

はじめに 「年初取得」は“年間ロジックのスタートライン”月初・月末が「月次処理の基準点」だとしたら、年初は「年間処理の基準点」です。例えば、「今年の売上集計」「今年の有給残高」「今年度の評価期間」こう...
C#

C# Tips | 日付・時間処理:月末取得

はじめに 「月末取得」は“締めと集計のゴール地点”月初が「スタート」だとしたら、月末は「ゴール」です。売上の締め、勤怠の締め、請求期間の終わり、サブスクの課金期間の終わり――どれも「この月の月末はどこ...
C#

C# Tips | 日付・時間処理:月初取得

はじめに 「月初取得」は“集計と締め処理のスタート地点”業務システムで「今月分の売上」「今月の勤務時間」「請求書の対象期間」などを扱うとき、必ずと言っていいほど出てくるのが「月初(その月の1日)」です...
C#

C# Tips | 日付・時間処理:日付減算

はじめに 「日付減算」は“差を測る”だけじゃなく“◯日前”も作れる道具日付の「減算」と聞くと、まず思い浮かぶのは「2つの日付の差を取る」ことだと思います。でも実務ではそれだけでなく、「◯日前に戻す」(...
C#

C# Tips | 日付・時間処理:日付加算

はじめに 「日付加算」は“締切・有効期限・リマインド”の土台になる業務システムで「◯日後」「◯ヶ月後」「◯時間後」は、締切、有効期限、リマインド日時、サブスクリプションの更新日など、あらゆるところに出...
C#

C# Tips | 日付・時間処理:日付パース

はじめに 「日付パース」は“文字列を本物の日時に戻す”作業さっきまで「日付フォーマット」でDateTime → 文字列 に変換する話をしました。今度は逆向き、「文字列 → DateTime / Dat...
C#

C# Tips | 日付・時間処理:日付フォーマット

はじめに 「日付フォーマット」は“人間に読める形に整える”最後の仕上げ業務システムでは、DBや内部処理では DateTime / DateTimeOffset のまま扱い、画面・CSV・ログ・帳票など...
C#

C# Tips | 日付・時間処理:ローカル変換

はじめに 「ローカル変換」は“人間にとっての時間に戻す”作業UTC変換が「システムにとって都合のいい時間」にそろえる作業だとしたら、ローカル変換はその逆で、「人間が暮らしているタイムゾーンの時間に戻す...
C#

C# Tips | 日付・時間処理:UTC変換

はじめに 「UTC変換」は“時間のものさしを世界共通にそろえる”作業業務システムで日時を扱うとき、「サーバーのタイムゾーンが違う」「海外リージョンにデプロイする」「他システムと連携する」こういう場面が...
C#

C# Tips | 日付・時間処理:現在日時取得

はじめに 「現在日時取得」は“すべてのログと期限の起点”になる業務システムで「今の日時」は、ほぼどこでも使います。ログのタイムスタンプ、締切チェック、バッチの実行時間、更新日時の保存など、「いつ?」を...
Java

Java Tips | コレクション:フィルタ

フィルタは「欲しいものだけを残して、あとは流す」技フィルタは、ざっくり言うと「条件に合う要素だけを残して、それ以外を捨てる」処理です。注文一覧から「未出荷のものだけ」を残す。ユーザー一覧から「有効ユー...
Java

Java Tips | コレクション:件数カウント

件数カウントは「どれくらいあるか」を正確に言葉にする技業務では「何件あるか?」を数える場面が本当に多いです。今日の注文件数、エラー件数、未処理タスク件数、特定条件を満たすユーザー数…。だからこそ、「件...
Java

Java Tips | コレクション:平均算出

「平均算出」は“バラバラな値を代表する一つの数字”を作る技平均は、たくさんの値を「代表する一つの数字」にまとめるための道具です。売上の平均金額、テストの平均点、作業時間の平均、単価の平均…。業務では「...
Java

Java Tips | コレクション:合計算出

「合計算出」は“一覧から一つの数字にギュッと圧縮する”基本テク業務コードで一番よく出てくる集計が「合計」です。売上金額の合計、ポイントの合計、在庫数の合計、工数の合計…。どれも「たくさんの値 → ひと...
Java

Java Tips | コレクション:最小値取得

「最小値取得」は“いちばん小さいものを安全に一発で取り出す”ユーティリティ業務コードでは、「最小値」が欲しい場面もかなり多いです。最小金額、最古の日付、最小スコア、最小バージョン番号…。毎回 for ...
Java

Java Tips | コレクション:最大値取得

「最大値取得」は“いちばん大きいものを安全に一発で取り出す”ユーティリティ業務コードでは、「最大値」が欲しい場面がよく出てきます。最大金額、最新日付、最大スコア、最大バージョン番号…。毎回 for 文...
Java

Java Tips | コレクション:集計

集計は「一覧から“知りたい数字”だけを取り出す」技集計は、ざっくり言うと「たくさんのデータから、意味のある数字を取り出す」ことです。売上一覧から「合計金額」「平均単価」「件数」を出す。ユーザー一覧から...
Java

Java Tips | コレクション:グルーピング

グルーピングは「バラバラの一覧を“意味のあるかたまり”に整理する」技グルーピングは、ざっくり言うと「一覧を、あるキーごとにまとめ直す」ことです。売上一覧を「店舗ごと」にまとめる。ユーザー一覧を「都道府...
Java

Java Tips | コレクション:カスタムComparator

カスタムComparatorは「業務ルールをそのまま並び順にする道具」Comparator は「どっちが先か」を決めるための“比較ルール”です。カスタムComparatorは、そのルールを自分で定義す...
Java

Java Tips | コレクション:逆順ソート

逆順ソートは「優先度の高いものを先頭に持ってくる」ための技ソートというと「小さい順・古い順」をイメージしがちですが、業務ではむしろ「新しい順」「優先度の高い順」「金額の大きい順」が圧倒的に多いです。つ...
Python

Python | テスト・設計・品質:mock

mock って何?まずはイメージからmock(モック)は、テストのときだけ「本物の代わりに振る舞うニセモノのオブジェクト」です。本物をそのまま使うと困る場面を想像してみてください。外部 API を叩く...
Python

Python | テスト・設計・品質:パラメタライズ

パラメタライズって何?まずはイメージからpytest の「パラメタライズ(parametrize)」は、「同じテストの形で、入力と期待値だけを変えて、何パターンも一気にテストする仕組み」です。同じ関数...
Python

Python | テスト・設計・品質:fixture

fixture って何?まずはイメージからpytest の fixture(フィクスチャ)は、「テストのたびに必要になる“準備”を、共通化して再利用する仕組み」です。毎回のテストで同じようなことをして...
Python

Python | テスト・設計・品質:assert

assert って何?まずは一言でいうとassert は、「この条件が成り立っているはずだ」とコードに書いておくための仕組みです。成り立っていれば何も起きない。成り立っていなければ Assertion...
Python

Python | テスト・設計・品質:pytest 基本

pytest って何?まずはゴールのイメージからpytest は、Python のテストを書くための「超定番ツール」です。一言でいうと、テスト用のファイルと関数を書いておくpytest コマンドを叩く...
Excel VBA

Excel VBA 逆引き集 | 実務テンプレ完全版(超再利用部品) – クリーニングテンプレ

ねらい:どんな元データでも「まずはここを通す」クリーニングの型を持つ現場のExcelって、きれいなデータの方が少ないですよね。全角・半角が混ざっている、前後にスペースが付いている、「-」が3種類混在し...
Excel VBA

Excel VBA 逆引き集 | 実務テンプレ完全版(超再利用部品) – バリデーション総合テンプレ

ねらい:あらゆる「入力ミス」「設定ミス」を一箇所で検査できる型を持つバリデーション総合テンプレのゴールは、こうです。「動かしてみたら途中で落ちた」「設定ミスに気づくのが遅い」をやめて、マクロを本処理に...
Excel VBA

Excel VBA 逆引き集 | 実務テンプレ完全版(超再利用部品) – フォームUIテンプレ

ねらい:どのツールにも流用できる「フォームUIの型」を持つフォームUIテンプレのゴールは、こうです。「毎回ゼロからUserFormを作る」のではなく、「決まった型」に沿って作れば、どの業務ツールにも同...
Excel VBA

Excel VBA 逆引き集 | 実務テンプレ完全版(超再利用部品) – モジュール構成テンプレ

ねらい:VBAプロジェクトを「迷子にならないモジュール構成」にするモジュール構成テンプレのゴールは、こうです。「新しい処理を追加するときに、どのモジュールに書けばいいか迷わない」「半年後に開いても、“...
Excel VBA

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

ねらい:Excel業務マクロを「設計図のある仕組み」にする全体構造テンプレここまで、JOIN・集計・差分・変換・ログ・バッチ・処理時間計測…と、たくさんの“部品”を見てきましたよね。全体構造テンプレの...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:汎用 – 処理回数制限

「処理回数制限」ユーティリティは何を守るためのものか「処理回数制限」は、「この関数は最大〇回までしか動かさない」というルールをコードで表現するためのユーティリティです。例えば次のような場面を想像してみ...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:汎用 – 実行時間計測

なぜ「実行時間計測」ユーティリティが業務で効いてくるのか業務コードを書いていると、「この処理、なんか重くない?」「どこがボトルネックなのか分からない」という場面が必ず出てきます。ここで大事なのは、「体...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:汎用 – 連番生成

「連番生成」ユーティリティは何に使うのか連番生成は、「1, 2, 3, 4, … と増えていく番号を、安全に・簡単に振るための仕組み」です。業務コードでは、次のような場面でよく使います。テーブルの行 ...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:汎用 – UUID 生成

UUID ってそもそも何者?まず言葉から整理します。UUID は Universally Unique Identifier(ほぼ世界中で一意な識別子) の略です。見た目はだいたいこんな感じの文字列で...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:汎用 – ランダム ID 生成

なぜ「ランダム ID 生成」が業務ユーティリティになるのか業務コードでは、意外なほど頻繁に「一意な ID(かぶらない識別子)」が必要になります。一時的なデータのキーフロント側だけで使う仮 IDDOM ...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:汎用 – タイムアウト実行

タイムアウト実行とは何を守るための仕組みなのか「タイムアウト実行」は、“一定時間以内に終わらなかった処理を強制的に中断し、失敗として扱う”ためのユーティリティです。業務システムでは、次のような問題が頻...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:汎用 – 再試行処理

なぜ「再試行処理」が業務ユーティリティとして必須になるのか業務システムで一番よくあるのが「外部としゃべる処理」です。API 呼び出し、DB アクセス、外部サービス連携、キュー処理など、どれも「たまに失...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:汎用 – 遅延実行

「遅延実行」とは何をしたいテクニックか「遅延実行」は、その名の通り「今すぐではなく、少し時間をおいてから処理を実行する」ためのテクニックです。例えば、次のような場面をイメージしてください。ユーザーがボ...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:汎用 – 一度だけ実行

「一度だけ実行」ユーティリティが欲しくなる場面業務コードを書いていると、「この処理は絶対に一回だけ動いてほしい」という場面がよく出てきます。初期化処理(同じ初期化を二回やると壊れる)イベント登録(同じ...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:汎用 – no-op 関数

no-op 関数ってそもそも何?「no-op(ノーオペ)」は no operation の略で、「何もしない関数」 のことです。JavaScript だと、いちばんシンプルな形はこれです。functi...
JavaScript

JavaScript | 1 日 120 分 × 7 日アプリ学習:API通信アプリ(ExchangeRate.hostで通貨変換アプリ)

1日目のゴールと今日やること1日目のテーマは「ExchangeRate.host API を使って“シンプルな通貨レート取得アプリ”を作りながら、fetch / async‑await / エラーハン...
JavaScript

JavaScript | 1 日 120 分 × 7 日アプリ学習:API通信アプリ(Nager.Date APIで祝日一覧アプリ)

1日目のゴールと今日やること1日目のテーマは「Nager.Date API を使って “今年の祝日一覧アプリ” を作りながら、fetch / async‑await / エラーハンドリングの基本パター...
Java

Java Tips | コレクション:ソート

コレクションのソートは「並び順というビジネスルール」をコードにする作業ソートは単なる「小さい順・大きい順」ではありません。業務では「名前の五十音順」「日付の新しい順」「ステータス順(独自の優先度)」な...
Java

Java Tips | コレクション:重複除去

重複除去は「一意な世界にそろえてから考える」ためのユーティリティ業務コードでは、同じ値が何度も出てくることがよくあります。ユーザーIDの一覧、商品コードの一覧、タグの一覧…。そのまま処理すると、同じユ...
Java

Java Tips | コレクション:null除外

「null除外」は“混ざってしまった null を一度で掃除する”ユーティリティ業務コードを書いていると、こういうコレクションがよく生まれます。List<String> names = Arrays....
Java

Java Tips | コレクション:空Map安全取得

空Map安全取得は「null を“空の設定”にそろえる」ための小さな約束Map を返すメソッドも、業務コードに山ほど出てきます。設定値のマップ、コード→ラベルのマップ、集計結果のマップなど。そこでよく...
Java

Java Tips | コレクション:空List安全取得

空List安全取得は「null を“空”にそろえる」ための小さな約束List を返すメソッドって、業務コードに山ほど出てきますよね。検索結果、関連データ、設定値の一覧、などなど。そこでよく起きるのが、...
PHP

PHP Tips | 文字列処理:ランダム・生成 – CSRF トークン生成

まず「CSRF トークン生成」で何を守りたいのかCSRF トークンは、一言でいうと「フォーム送信が“本当にそのユーザーの意思で行われたものか”を確認するための秘密の合言葉」です。例えば、ユーザーがログ...
PHP

PHP Tips | 文字列処理:ランダム・生成 – ハッシュ検証

「ハッシュ検証」で何を確かめたいのかまず、「ハッシュ検証」という言葉のイメージから整理します。ハッシュ検証とは、ざっくり言うと、「今手元にある“生の値”が、保存されている“ハッシュ値”と本当に対応して...
PHP

PHP Tips | 文字列処理:ランダム・生成 – パスワード用ハッシュ生成

まず、「パスワード用ハッシュ生成」で何をしたいのかパスワード用ハッシュ生成の目的は一言でいうと、「パスワードそのものは絶対に保存せず、“検証にだけ使える形”で安全に保存する」ことです。ユーザーが入力し...
PHP

PHP Tips | 文字列処理:ランダム・生成 – salt 付きハッシュ

まず「salt 付きハッシュ」で何を守りたいのかsalt(ソルト)付きハッシュは、一言でいうと、「同じ値でも、ユーザーごと・レコードごとに違うハッシュ値にする仕組み」です。例えば、パスワード "pas...
PHP

PHP Tips | 文字列処理:ランダム・生成 – ハッシュ化(SHA-256)

そもそも「ハッシュ化(SHA-256)」って何をするもの?まず、「ハッシュ化」という言葉のイメージから整理します。ハッシュ化は、ざっくり言うとこういう変換です。入力: "hello"出力: "2cf2...
PHP

PHP Tips | 文字列処理:ランダム・生成 – 短縮 ID 生成

「短縮 ID 生成」で何をしたいのかイメージするまず、どんな場面で「短い ID」が欲しくなるかをイメージしてみましょう。URL 短縮サービスの「短いコード」人に読み上げやすい予約番号や受付番号画面上に...
PHP

PHP Tips | 文字列処理:ランダム・生成 – UUID v4 生成

UUID v4 ってそもそも何者?まずは「UUID v4」が何なのか、イメージから掴みましょう。よく見るこの形の文字列が UUID です。550e8400-e29b-41d4-a716-4466554...
PHP

PHP Tips | 文字列処理:ランダム・生成 – ワンタイムトークン生成

そもそも「ワンタイムトークン」とは何かまず、言葉のイメージをはっきりさせます。ワンタイムトークンは、ざっくり言うとこういうものです。一度きり、または短時間だけ有効な「秘密の合言葉」URL やフォームに...
PHP

PHP Tips | 文字列処理:ランダム・生成 – ランダム文字列生成(記号なし)

何のために「記号なしランダム文字列」を作るのかまず、どんな場面で使うかをイメージしましょう。URL パラメータに載せるトークンだけど、「+ や / などの記号は使いたくない」。ユーザーに口頭で伝えるコ...
PHP

PHP Tips | 文字列処理:ランダム・生成 – ランダム文字列生成(英数字)

何のために「ランダム英数字文字列」を作るのかまず、どんな場面で使うかをイメージしましょう。ユーザーごとの招待コード一時的なトークン(メール認証、パスワードリセット)ファイル名やディレクトリ名の衝突回避...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – クラスの再利用設計

ゴール:「このクラス、別の場面でもそのまま使えるな」と思える設計感覚を身につけるクラスの再利用設計は、一言でいうと、「今この機能だけ動けばいい」ではなく、「あとで別の場所でも気持ちよく使える形」にして...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – クラス間の責務分離

ゴール:「このクラスは“何だけ”をやるのか?」と説明できるようになるクラス間の責務分離は、一言でいうと、「1つのクラスに“何でもかんでも”やらせず、“役割ごと”にクラスを分けること」です。ここができて...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – 多重interface実装

ゴール:「1つのクラスに“複数の役割”を約束させる感覚をつかむ」多重 interface 実装は一言でいうと、「このクラスは A という顔も B という顔も、両方ちゃんと持ちますよ」と約束させる仕組み...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – implementsの役割

ゴール:「implements は“この約束は必ず守ります”という宣言」だと理解するimplements は一言でいうと、「このクラスは、この interface が決めた“形(契約)”を必ず守ります...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – interfaceでクラスを縛る

ゴール:「interface は“クラスに守らせる約束”」だと理解するここでのテーマは、「interface を使って、クラスに“こういう形であれ”と約束させる」という感覚をつかむことです。クラスの継...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – 抽象メソッドの定義

ゴール:「抽象メソッド=“ここは必ず子クラスが実装して”という穴あきメソッド」と理解する抽象メソッドは一言でいうと、「このメソッドは“存在すること”だけ決めておいて、中身は子クラスに必ず書かせる仕組み...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – 抽象クラスの設計

ゴール:「抽象クラスは“共通の型と骨組みだけを持つ設計図”」だと理解する抽象クラスは一言でいうと、「new できないけれど、“こういうクラスであってほしい”という共通ルールを決めるクラス」です。共通の...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – メソッドオーバーライド

ゴール:「同じメソッド名でも“クラスごとに振る舞いを変える”感覚をつかむ」メソッドオーバーライドは一言でいうと、「親クラスと同じ名前・同じ型のメソッドを、子クラス側で“書き直す”こと」です。これができ...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – superの役割

ゴール:「super は“親クラス側の自分”を呼び出すキーワードだ」と腹で理解するsuper は、継承しているときだけ出てくる特別なキーワードです。一言でいうと、「親クラス側の自分を呼び出すためのスイ...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – 継承の基本(extends)

ゴール:extends で「共通部分をまとめる」感覚をつかむ継承(extends)は、「似たようなクラス同士で、共通部分を親クラスにまとめる」ための仕組みです。ここでは、「書き方」だけでなく「どういう...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:安全処理 – 安全な数値計算

なぜ「安全な数値計算」が業務で重要になるのか業務コードの数値計算は、単なる足し算・引き算では終わりません。外部 API のレスポンス、フォーム入力、DB の値など、「本当に数値か分からないもの」を相手...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:安全処理 – null 合体代入

「null 合体代入」とは何をしてくれる構文か「null 合体代入」は、「その変数が null または undefined のときだけ、デフォルト値を代入する」ということを一発で書ける構文です。Jav...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:安全処理 – undefined 防止代入

「undefined 防止代入」とは何を守りたいのか「undefined 防止代入」は、一言でいうと「よく分からない値を代入したせいで、ちゃんと入っていた値を undefined で上書きしてしまう事...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:安全処理 – 存在チェック付き実行

「存在チェック付き実行」とは何を守りたいのか存在チェック付き実行は、一言でいうと「その値が“本当に実行していい関数か”を確認してから呼ぶ」ためのパターンです。業務コードでよくあるのが、こういうやつです...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:安全処理 – オプショナル取得

「オプショナル取得」とは何を楽にしたいのかオプショナル取得は、一言でいうと「あるかもしれないし、ないかもしれない値を“落とさずに”扱うための取り方」です。業務コードだと、こんな状況が日常茶飯事です。u...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:安全処理 – 安全なプロパティ取得

なぜ「安全なプロパティ取得」が業務で必須になるのか業務コードで一番よく見るエラーの一つがこれです。Cannot read properties of undefined (reading 'xxx')...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:安全処理 – デフォルト値補完

なぜ「デフォルト値補完」が業務でめちゃくちゃ大事なのか業務コードでは、「外から来る値」がとにかく信用できません。API レスポンス、フォーム入力、設定ファイル、環境変数、ローカルストレージなど、どれも...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:安全処理 – try-catch ラッパー

なぜ「try-catch ラッパー」が業務で効いてくるのかまず前提として、JavaScript の try-catch は「例外が投げられても、アプリ全体を落とさずに処理を続けるための仕組み」です。t...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:安全処理 – 安全な JSON stringify

JSON.stringify の基本をまず押さえるJSON.stringify は、「JavaScript の値(オブジェクトや配列など)を JSON 文字列に変換する関数」です。const obj ...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:安全処理 – 安全な JSON parse

JSON.parse が「危険」になりやすい理由まず前提として、JSON.parse は「JSON 形式の文字列を、JavaScript の値(オブジェクトや配列など)に変換する関数」です。const...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – モダン Java 総復習

モダン Java 総復習のゴールここまで「設計・実務視点」でいろいろ見てきましたが、モダン Java を一言でまとめると、こういう世界観になります。「Java 8 以降の機能(ラムダ、Stream、O...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – 実務でよくある罠

「実務でよくある罠」とは何かここでいう「罠」は、コンパイルは通るし一見正しく動いているように見えるのに、本番や長期運用の中でじわじわ効いてきて、バグ・障害・保守地獄につながるポイントのことです。初心者...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – モダン構文の使い過ぎ問題

「モダン構文の使い過ぎ問題」とは何かJava には、ラムダ式、Stream API、Optional、record、switch 式、パターンマッチングなど、「モダンでカッコいい構文」がたくさんありま...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – 公開 API の互換性

公開 API の互換性とは何か公開 API の互換性とは、「一度公開した API を、後から変更しても利用者のコードが壊れないようにすること」です。ここでいう「利用者」は、あなたのクラスを呼び出す別の...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – API 設計観点

API 設計観点とは何かAPI 設計観点とは、「他の人(他のクラス・他の開発者・他のシステム)が使いやすく、安全で、誤解されないインターフェースをどう作るか」という視点のことです。Java の API...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – ライブラリ選定基準

ライブラリ選定基準とは何かライブラリ選定基準とは、「このプロジェクトでどの外部ライブラリを使うかを判断するためのルール」 のことです。Java の世界には膨大なライブラリがあります。便利なものもあれば...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – チーム内 Java 方針

チーム内 Java 方針とは何かチーム内 Java 方針とは、「このチームでは Java をこう使う」という“共通ルール・共通思想”のことです。コーディング規約が「書き方のルール」だとすれば、チーム内...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – コーディング規約統一

コーディング規約統一とは何かコーディング規約統一とは、「プロジェクト全員が同じ“書き方のルール”でコードを書くようにすること」です。これは単なる“見た目の統一”ではありません。読みやすさ、保守性、レビ...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – LTS バージョン

LTS バージョンを一言でいうとJava の LTS(Long-Term Support)バージョンは、「長期間サポートされる“安定版”の Java」です。実務で言うと、「会社やプロジェクトが“これを...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – バージョンアップ対応

バージョンアップ対応を一言でいうとJava のバージョンアップ対応は、「今ちゃんと動いているシステムを壊さずに、新しい Java(JDK/JRE)に乗り換えるための一連の作業」です。単に「JDK を入...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – 非推奨 API の扱い

「非推奨 API」とは何か非推奨 API(deprecated API)は、「今はまだ使えるけれど、将来は消えるかもしれない/使ってほしくない」と宣言された API のことです。Java では @De...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – レガシーコード対応

レガシーコード対応を一言でいうとレガシーコード対応は、「よく分からないけど本番で動いている古いコード」を、壊さずに理解し、少しずつ安全にマシな状態へ近づけていく作業です。「全部書き直したい」という気持...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – 古い Java との互換性

「古い Java との互換性」とは何を指しているか「古い Java との互換性」というとき、実は複数のレイヤーの話が混ざっています。コンパイルしたクラスファイルが、どのバージョンの JVM で動くかと...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – モダン Java の書き方

「モダン Java の書き方」とは何かここでいう「モダン Java」は、Java 8 以降で手に入った機能や考え方を前提にした書き方のことだと思ってください。昔ながらの「for 文だらけ・null だ...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – 可読性とパフォーマンスのバランス

「速いコード」より「分かるコード」が先まず大前提として、実務では「とにかく速いコード」より「読んで分かるコード」の方が価値が高いです。なぜかというと、ほとんどのコードは「読む時間>書く時間>実行時間」...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – defensive programming

defensive programming を一言でいうとdefensive programming(防御的プログラミング)は、「相手(呼び出し側や外部システム)が“ちゃんとしている”と期待しすぎない...
Java

Java | Java 詳細・モダン文法:設計・実務視点 – イミュータブル設計

イミュータブル設計を一言でいうとイミュータブル(immutable)は、「一度作ったら中身が変わらないオブジェクト」のことです。Java で一番有名なのは String です。String は rep...
JavaScript

JavaScript | 非同期処理:Promise 応用 – Promise の落とし穴

まず「Promise の落とし穴」をざっくり整理するPromise 自体は仕組みとしてはそんなに難しくないのに、実際に書き始めると「なんか思った通りに動かない」「エラーが消える」「順番がおかしい」みた...
JavaScript

JavaScript | 非同期処理:Promise 応用 – 非同期関数の再利用

「非同期関数の再利用」を一言でいうと非同期関数の再利用は、「一度作った Promise ベースの処理を、“場面だけ変えて何度も使い回せる形” に設計すること」です。言い換えると、同じような API 呼...
JavaScript

JavaScript | 非同期処理:Promise 応用 – Promise のラップ

まず「Promise のラップ」を一言でいうとPromise の「ラップ」とは、「既存の処理(コールバック形式や Promise など)を “Promise を返す関数” という形に包み直して、扱いや...
JavaScript

JavaScript | 非同期処理:Promise 応用 – 条件付き非同期処理

「条件付き非同期処理」って何かをまずイメージするPromise を使っていると、だんだんこういう場面が出てきます。「A の結果しだいで、B を呼ぶか呼ばないか決めたい」「ログイン済みなら API を叩...
JavaScript

JavaScript | 非同期処理:Promise 応用 – 逐次処理の書き方

まず「逐次処理」とは何かをはっきりさせるPromise で言う「逐次処理(ちくじ処理)」は、「非同期処理を A → B → C… のように“順番に”実行する書き方」 のことです。具体的には、A が終わ...
JavaScript

JavaScript | 非同期処理:Promise 応用 – 並列処理の考え方

まず「並列処理」をざっくりイメージでつかむJavaScript の Promise でいう「並列処理」は、「待ち時間がある処理を “同時にスタート” させて、全部終わる(またはどれかが終わる)のを待つ...
JavaScript

JavaScript | 非同期処理:Promise 応用 – Promise.any

Promise.any を一言でいうとPromise.any は、「複数の Promise のうち、“最初に成功したもの 1 つ” だけの結果を採用する関数」 です。race が「一番早く 成功でも失...
JavaScript

JavaScript | 非同期処理:Promise 応用 – Promise.race

Promise.race を一言でいうとPromise.race は、「複数の Promise のうち、“一番早く決着したやつだけ” の結果を採用する関数」 です。race(レース)という名前の通り、...
JavaScript

JavaScript | 非同期処理:Promise 応用 – Promise.allSettled

Promise.allSettled を一言でいうとPromise.allSettled は、「複数の Promise が “成功しても失敗しても、とにかく全部終わるまで待ち、結果をぜんぶレポートして...
JavaScript

JavaScript | 非同期処理:Promise 応用 – Promise.all

Promise.all を一言でいうとPromise.all は、「複数の Promise を“同時に走らせて”、全部そろったら結果をまとめて受け取るための関数」です。たとえば、ユーザー情報を取得する...
JavaScript

JavaScript | 1 日 120 分 × 7 日アプリ学習:API通信アプリ(Datamuse APIで語彙検索アプリ)

Datamuse API 編 1日目へようこそ今日は 「API 通信アプリの基礎を“実際に動く形”で理解する」 ことがゴールです。Datamuse API は「単語の関連語・類義語・韻を踏む単語」を返...
C#

C# Tips | 文字列処理:Unicode正規化

はじめに 「Unicode正規化」は“見た目は同じ文字を、本当に同じにそろえる”作業Unicode正規化は、一言でいうと「見た目は同じなのに、内部的なバイト列が違う文字列を、同じ形にそろえる」処理です...
C#

C# Tips | 文字列処理:Levenshtein距離

はじめに 「Levenshtein距離」は“どれくらい似ているか”を数字で教えてくれるものLevenshtein(レーベンシュタイン)距離は、「ある文字列を別の文字列に変えるために、何回“1文字の挿入...
C#

C# Tips | 文字列処理:曖昧検索

はじめに 「曖昧検索」は“ちょっと間違っていても拾ってあげる”検索業務システムで検索機能を作ると、こんなことが起きがちです。「ユーザーが Yamda とタイプミスしても、本当は Yamada を出した...
C#

C# Tips | 文字列処理:部分一致検索

はじめに 「部分一致検索」は“文字列の中から、手がかりを探す”作業業務システムでは、こういうことをよくやります。商品名に「りんご」が含まれているデータだけを抽出したいログの1行の中に「ERROR」とい...
C#

C# Tips | 文字列処理:文字列比較(大文字無視)

はじめに 「大文字無視の文字列比較」は“人間の感覚に合わせる”ためのテクニック業務システムでは、ユーザー名、コード値、フラグ文字列などを比較するときに、「OK と ok は同じとみなしたい」「Yes ...
C#

C# Tips | 文字列処理:XML圧縮

はじめに 「XML圧縮」は“意味はそのまま、見た目だけ最小化する”ここでいう「XML圧縮」は、GZip などのバイナリ圧縮ではなく、改行・インデント・余計な空白をできるだけ取り除いて、XML文字列を短...
C#

C# Tips | 文字列処理:XML整形

はじめに 「XML整形」は“タグの森に道をつける”作業XMLは、設定ファイル、外部システム連携、古めのWebサービスなどで今でもよく使われますが、そのまま1行でベタッと出てくると、とても読みにくいです...
C#

C# Tips | 文字列処理:JSON圧縮

はじめに 「JSON圧縮」は“意味は変えずに、できるだけ短くする”ことここでいう「JSON圧縮」は、GZipなどのバイナリ圧縮ではなく、「余計な改行・インデント・スペースを削って、JSON文字列を最小...
C#

C# Tips | 文字列処理:JSON整形

はじめに 「JSON整形」は“ぐちゃぐちゃなJSONを、人間が読める形にする”作業APIレスポンス、ログ、設定ファイル——JSONは業務システムのあちこちに出てきますが、そのままだと{"id":1,"...
C#

C# Tips | 文字列処理:URLデコード

はじめに 「URLデコード」は“URL用に変形された文字列を、人間の世界に戻す”処理URLエンコードは、「URLの中で問題になりそうな文字(日本語・スペース・記号など)を、安全な形(%xx や +)に...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:型チェック – 有限数判定

有限数判定とは何を見分けたいのか有限数判定は、「その値が 無限大(Infinity / -Infinity)でもなく、NaN でもなく、ちゃんとした“有限の数値”かどうか」を見分けることです。業務では...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:型チェック – 負の数判定

「負の数判定」とは何を見分けたいのか負の数判定は、「その値が“0 より小さい数値として扱ってよいか”どうか」を見分けることです。業務では、赤字金額、減算値、差分(マイナス方向)、残高の変化量など、「負...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:型チェック – 正の数判定

「正の数判定」とは何を見分けたいのか正の数判定は、「その値が“0 より大きい数値として扱ってよいか”どうか」を見分けることです。業務では「数量」「個数」「ページ番号」「在庫数」「ポイント」「金額(マイ...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:型チェック – NaN 判定

NaN 判定とは何を見分けたいのかNaN 判定は、「その値が“数値型ではあるけれど壊れた値(NaN)かどうか”」を見分けることです。NaN は “Not a Number” の略ですが、型としては n...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:型チェック – 数値判定

「数値判定」とは何を見分けたいのかここでいう「数値判定」は、その値が「本当に“数値として扱っていいものか”どうか」を見分けることです。JavaScript では、"10" のような文字列も、10 のよ...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:型チェック – Promise 判定

Promise 判定とは何を見分けたいのかここでいう「Promise 判定」は、その値が「非同期処理を表す Promise なのかどうか」を見分けることです。業務コードでは、async/await や...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:型チェック – Date 判定

「Date 判定」とは何を見分けたいのかここでいう「Date 判定」は、その値が「本物の Date オブジェクトかどうか」を見分けることです。業務では「日付を表す値」がたくさん出てきますが、その正体は...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:型チェック – 関数判定

関数判定とは何を見分けたいのか「関数判定」は、その値が「本当に関数かどうか」を見分けることです。業務コードでは、「コールバックを受け取る」「オプションでフック関数を渡せる」「イベントハンドラを登録する...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:型チェック – オブジェクト判定

「オブジェクト判定」とは何を見分けたいのか「オブジェクト判定」と聞くと、「typeof value === 'object' って書けばいいんでしょ?」と思いがちですが、実務ではそれだと足りません。J...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:型チェック – 配列判定

配列判定とは何か「配列判定」は、その値が「本当に配列かどうか」を見分けることです。JavaScript では、配列もオブジェクトの一種なので、typeof だけでは配列かどうかを判定できません。con...
Java

Java Tips | コレクション:不変Map生成

不変Map生成は「絶対に変わらない対応表」をコードで保証する技術不変Map(Immutable Map)は、「一度作ったらキーと値の対応が二度と変わらないMap」です。put も remove も c...
Java

Java Tips | コレクション:不変List生成

不変List生成は「絶対に変わらない約束」をコードに刻む技術不変List(Immutable List)は、「一度作ったら中身を二度と変えられないList」です。add も remove も set ...
Java

Java Tips | コレクション:Set初期化

Set初期化は「重複を許さない集まりの“性質”を決める」作業Setは「同じ要素を二度入れない」コレクションです。だからこそ、初期化の段階で「順序は必要か」「変更できるか」「固定の集合か」を決めておくこ...
Java

Java Tips | コレクション:Map初期化

Map初期化は「キーと値の世界の“ルール決め”」から始まるMapの初期化は、単に「空のMapを作る」「最初からいくつかのキーと値を入れておく」だけの話に見えますが、その瞬間に「変更できるか」「順序を保...
Java

Java Tips | コレクション:List初期化

List初期化は「最初の一歩で“性質”を決める」作業Listの初期化は、単に「空のリストを作る」「要素入りのリストを作る」だけの話に見えますが、実はこの瞬間に「変更できるか」「スレッドセーフか」「固定...
Java

Java Tips | 文字列処理:文字列比較IgnoreNull

「文字列比較IgnoreNull」は null に振り回されないための小さなルール業務システムでは、DBの値・画面入力・外部APIのレスポンスなど、「null かもしれない String」を比較する場...
Java

Java Tips | 文字列処理:SafeSubstring

SafeSubstring は「落ちない部分文字列」を返すための小さな盾String#substring は便利ですが、そのまま使うとすぐに例外を投げます。beginIndex や endIndex ...
Java

Java Tips | 文字列処理:MessageFormat簡易化

MessageFormat簡易化は「よく使う型を“いい感じに包む”」テクニックMessageFormat は、国際化(i18n)対応も視野に入れた強力なフォーマットクラスですが、初心者からすると「書き...
Java

Java Tips | 文字列処理:i18n文字列取得

i18n文字列取得は「画面の言葉をコードから切り離す」技術i18n(internationalization)は「多言語対応」のことです。i18n文字列取得は、「日本語・英語・中国語…など、ユーザーの...
Java

Java Tips | 文字列処理:プレースホルダ置換

プレースホルダ置換は「文字列に“名前付きの穴”をあけておく」技術プレースホルダ置換は、文字列の中に {name} や ${id} のような「名前付きの穴」をあけておき、あとからそこに値を流し込んで完成...
Java

Java Tips | 文字列処理:テンプレート展開

テンプレート展開は「決まった型に値を流し込む」技術テンプレート展開は、「ひな形(テンプレート)となる文字列の中に、動的な値を埋め込んで完成形の文字列を作る」テクニックです。メール本文の定型文に名前や日...
Java

Java Tips | 文字列処理:ランダム文字挿入

ランダム文字挿入は「ちょっとした“ノイズ”や“識別子”を混ぜる」テクニックランダム文字挿入は、既存の文字列の中に「ランダムな文字」を差し込む処理です。たとえば、IDの途中にランダム文字を混ぜて一意性を...
Java

Java Tips | 文字列処理:行数カウント

行数カウントは「テキストの大きさ」を測る基本ツール行数カウントは、「この文字列は何行あるか?」を数える処理です。ログの行数、テキストエリア入力の行数、ファイル内容の行数チェックなど、業務ではかなりよく...
Java

Java Tips | 文字列処理:単語数カウント

単語数カウントは「文章を“意味のかたまり”として扱う」ための基礎技術単語数カウントは、文章を「いくつの単語で構成されているか」を調べる処理です。英語の文章解析、検索キーワードの処理、タグ入力のチェック...
Java

Java Tips | 文字列処理:文字カウント

文字カウントは「制限」と「バリデーション」の土台になる文字カウントは、その名の通り「文字列の長さを数える」処理です。一見すごく地味ですが、業務システムではかなり重要な役割を持ちます。入力フォームで「名...
C#

C# Tips | 文字列処理:URLエンコード

はじめに 「URLエンコード」は“文字列をURLの世界に適応させる変換”URLエンコードは、「URLの中でそのまま使うと問題が出る文字を、安全な形に変換する」処理です。日本語、スペース、記号類などをそ...
C#

C# Tips | 文字列処理:Base64デコード

はじめに 「Base64デコード」は“梱包されたデータを元に戻す”作業前回の「Base64エンコード」は、バイナリや文字列を「壊れにくい文字列」に梱包する話でした。Base64デコードは、その逆です。...
C#

C# Tips | 文字列処理:Base64エンコード

はじめに 「Base64エンコード」は“中身を壊さずに文字列として運ぶための梱包”Base64エンコードは、「バイナリデータ(生のバイト列)を、安全に文字列として扱える形に変換する仕組み」です。メール...
C#

C# Tips | 文字列処理:SHA256生成

はじめに 「SHA256生成」は“文字列に指紋をつける”行為SHA256 は、どんな長さのデータでも「256ビット(32バイト)の固定長のハッシュ値」に変換する仕組みです。イメージとしては、「中身は見...
C#

C# Tips | 文字列処理:文字列ハッシュ化

はじめに 「文字列ハッシュ化」は“中身を見せずに、同じかどうかだけ知る”技文字列ハッシュ化は、一言でいうと、「文字列の中身を、一定長の“指紋”に変換すること」です。元の文字列がどれだけ長くても、ハッシ...
C#

C# Tips | 文字列処理:文字頻度カウント

はじめに 「文字頻度カウント」は“テキストのクセを数字で見る”道具文字頻度カウントは、「この文字列の中で、どの文字が何回出てくるか」を数える処理です。一見お勉強っぽいテーマですが、業務でもログ解析、入...
C#

C# Tips | 文字列処理:文字列反転

はじめに 「文字列反転」は“ただのお遊び”で終わらせるには惜しいテクニック「文字列を逆順にする」——いかにも練習問題っぽいテーマですが、実務でも意外と出番があります。ログやIDの一部をマスクして見せた...
C#

C# Tips | 文字列処理:指定行取得

はじめに 「指定行取得」は“長いテキストから、ピンポイントで1行だけ抜き出す”技ログファイル、設定ファイル、外部システムからのテキスト——業務では「長いテキストの中から、n行目だけ欲しい」という場面が...
C#

C# Tips | 文字列処理:行分割

はじめに 「行分割」は“テキストを“1行ずつの粒”にする基本技”長いテキストを扱うとき、「1行ずつ処理したい」「行番号を付けたい」「空行をスキップしたい」といったニーズは、業務システムでも頻出です。そ...
C#

C# Tips | 文字列処理:改行コード統一

はじめに 「改行コード統一」は“見えない差異でバグらないための下ごしらえ”業務でテキストを扱っていると、「見た目は同じなのに、なぜか比較で不一致になる」「CSVがうまく分割できない」みたいな、地味だけ...
C#

C# Tips | 文字列処理:SQLインジェクション対策

はじめに 「SQLインジェクション対策」は“文字列をいじる話ではなく、SQLの組み立て方の話”「文字列処理のユーティリティ」と聞くと、「シングルクォートを2つに置き換えるエスケープ関数を作ればいいのか...
C#

C# Tips | 文字列処理:CSVエスケープ

はじめに 「CSVエスケープ」は“カンマや改行を、1セルの中に閉じ込める”技業務で CSV を扱うとき、いちばんよくハマるのが、「値の中にカンマや改行が入っていて、列がズレる」という問題です。例えば、...
C#

C# Tips | 文字列処理:HTMLアンエスケープ

はじめに 「HTMLアンエスケープ」は“記号に戻して、元のテキストを取り出す”技さっきの「HTMLエスケープ」は、< や > を < や > に変えて「安全な文字列」にする処理でした。HT...
C#

C# Tips | 文字列処理:HTMLエスケープ

はじめに 「HTMLエスケープ」は“文字列をHTMLとして誤解させないための防御”Web画面を作るとき、ユーザーが入力した文字列をそのままHTMLに埋め込むと、とても危険です。なぜなら、<script...
C#

C# Tips | 文字列処理:省略文字列生成

はじめに 「省略文字列生成」は“長すぎる情報を、いい感じに切る”技業務システムを作っていると、「全部は見せられないけど、雰囲気は伝えたい」という場面がよく出てきます。ログに長いメッセージを全部出すと読...
PHP

PHP Tips | 文字列処理:URL・パス系 – 日本語ファイル名安全化

「日本語ファイル名安全化」で何をしたいのかイメージするまず、ゴールのイメージからはっきりさせます。「請求書_2025年3月分(最終版).pdf」「写真 ① 家族旅行@沖縄.jpg」こういう“人間には読...
PHP

PHP Tips | 文字列処理:URL・パス系 – パス正規化(../ 除去)

「パス正規化(../ 除去)」で何をしたいのかイメージするまず、ゴールのイメージからはっきりさせます。"/var/www/html/../shared/config.php" → "/var/www/...
PHP

PHP Tips | 文字列処理:URL・パス系 – パス結合ユーティリティ

「パス結合ユーティリティ」で何を楽にしたいのかまず、やりたいことのイメージからいきます。ベース: "/var/www/html"追加: "logs/app.log"→ "/var/www/html/l...
PHP

PHP Tips | 文字列処理:URL・パス系 – 拡張子除去

「拡張子除去」で何をしたいのかイメージするまず、ゴールをはっきりさせます。"/var/www/html/report/sales.csv" → "/var/www/html/report/sales"...
PHP

PHP Tips | 文字列処理:URL・パス系 – 拡張子取得

「拡張子取得」で何をしたいのかイメージするまず、ゴールをはっきりさせます。"/var/www/html/report/sales.csv" → "csv""/var/www/html/image/ph...
PHP

PHP Tips | 文字列処理:URL・パス系 – ファイル名のみ取得

「ファイル名のみ取得」で何をしたいのかイメージするまず、ゴールのイメージからはっきりさせます。"/var/www/html/report/2025/sales.csv" → "sales.csv""/...
PHP

PHP Tips | 文字列処理:URL・パス系 – 配列をクエリ文字列化

「配列をクエリ文字列化」で何をしたいのかまず、ゴールのイメージからいきます。['q' => 'php', 'sort' => 'desc', 'page' => 2]→ "q=php&sort=des...
PHP

PHP Tips | 文字列処理:URL・パス系 – クエリ文字列を配列化

「クエリ文字列を配列化」で何をしたいのかまず、ゴールのイメージからいきます。"?q=php&sort=desc&page=2"→ ['q' => 'php', 'sort' => 'desc', 'p...
PHP

PHP Tips | 文字列処理:URL・パス系 – URL からドメイン取得

「URL からドメイン取得」で何をしたいのかまずゴールをはっきりさせます。"" → "example.com""" → "sub.example.co.jp""" → "localhost""" → ...
PHP

PHP Tips | 文字列処理:URL・パス系 – URL 正規化

まず「URL 正規化」で何をしたいのかイメージする「URL 正規化」と聞くと難しく感じますが、やりたいことは意外とシンプルです。""""""これらが「全部同じ場所を指している」のに、文字列としてはバラ...
Java

Java Tips | 文字列処理:単語分割

単語分割は「検索・集計・ハイライト」の入口になる処理単語分割は、1本の文章を「単語ごと」にバラす処理です。英語なら "I love Java programming" を のように分けるイメージです。...
Java

Java Tips | 文字列処理:行分割

行分割は「1つの長い文字列を“行ごと”に扱えるようにする」技業務システムでは、ログ、テキストファイル、メール本文、エラーメッセージなど、「複数行の文字列」を扱う場面がたくさんあります。でも、Javaの...
Java

Java Tips | 文字列処理:後方一致

後方一致は「この文字列で終わっているか」を見るシンプルな判定後方一致は、「文字列が、ある決まった文字列で“終わっているか”どうか」を調べるテクニックです。ファイル名が .csv で終わるものだけ処理し...
Java

Java Tips | 文字列処理:前方一致

前方一致は「この文字列で始まっているか」を見るシンプルな判定前方一致は、「文字列が、ある決まった文字列で“始まっているか”どうか」を調べるテクニックです。商品コードが ABC で始まるものだけ抽出した...
Java

Java Tips | 文字列処理:部分一致

部分一致は「含まれているかどうか」を調べる基本テクニック業務システムで「部分一致」はめちゃくちゃよく出てきます。商品名に「りんご」が含まれているデータだけ検索したい。エラーメッセージに特定のキーワード...
Java

Java Tips | 文字列処理:回文判定

回文判定は「左右対称かどうか」を見るシンプルなアルゴリズム回文(かいぶん)は、「前から読んでも後ろから読んでも同じ文字列」のことです。英語なら level, noon、日本語なら「たけやぶやけた」「し...
Java

Java Tips | 文字列処理:文字列反転

文字列反転は「順番をひっくり返す」だけ…だけど侮れない文字列反転は、その名の通り「文字の並び順を逆にする」処理です。"ABC" → "CBA""山田太郎" → "郎太田山"一見すると「ただの遊び」みた...
Java

Java Tips | 文字列処理:日付形式チェック

日付形式チェックは「“存在しない日付”を早めにはじく」ための技業務システムでは、日付入力は定番中の定番です。生年月日、締め日、請求日、支払日、予約日、納期…。ここで何もチェックしないと、2024-13...
Java

Java Tips | 文字列処理:数値形式チェック

数値形式チェックは「パースする前に落とすためのフィルタ」業務システムでは、画面から入力された文字列を「整数として扱いたい」「金額として扱いたい」「小数として扱いたい」という場面が山ほどあります。ここで...
Java

Java Tips | 文字列処理:URL形式チェック

URL形式チェックは「“リンクとして成立しているか”を早めにはじく」ための技ユーザーに「ホームページURL」「コーポレートサイト」「SNSのURL」などを入力してもらう場面、結構ありますよね。ここで何...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:基本判定・変換 – 浮動小数変換

「浮動小数変換」とは何をするものか浮動小数変換は、「文字列や整数などの値を“小数を含む数値”として安全に扱える形にする」ことです。金額(小数点以下の税率や手数料)、割合、重さ、距離、レート、単価など、...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:基本判定・変換 – 整数変換

「整数変換」とは何をするものか整数変換は、「文字列や小数など、いろいろな値を“業務で扱いやすい整数”にそろえる」ことです。数量、個数、ページ番号、ID、在庫数、ポイント、金額(税抜き・税込みの端数処理...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:基本判定・変換 – 数値変換

「数値変換」とは何をするものか数値変換は、「文字列やその他の値を、最終的に“ちゃんとした数値”として扱える形にする」ことです。業務コードでは、フォーム入力、CSV、API のレスポンスなど、ほとんどが...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:基本判定・変換 – 真偽値変換

「真偽値変換」とは何をするものか真偽値変換は、「どんな値でも最終的に true か false に決める」ことです。業務コードでは、「この値を条件として扱っていいか」「フラグとしてオンなのかオフなのか...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:基本判定・変換 – 空オブジェクト判定

空オブジェクトとは何かをまず整理するJavaScript の「オブジェクト」は、キーと値のペアを入れておくための入れ物です。その中に自分が定義したプロパティが 1 つもない {} の状態を、ここでは「...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:基本判定・変換 – 空配列判定

空配列とは何かをまず押さえるJavaScript の「配列」は、複数の値を順番付きで持てるオブジェクトです。その中に要素が 1 つも入っていない配列、つまり [] が「空配列」です。const a =...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:基本判定・変換 – 空文字判定

空文字とは何かをまず整理するJavaScript での「空文字」は、長さ 0 の文字列、つまり "" のことです。中に何も文字が入っていないけれど、「文字列という型の値」はちゃんと存在している状態です...
スポンサーリンク