@lifehacker

スポンサーリンク
Python

Python | 1 日 120 分 × 7 日アプリ学習:CSVファイル読み書きアプリ(中級編)

1日目のゴール1日目のテーマは「csvモジュールを使って、CSVファイルを“怖くない実務データ”として扱える感覚をつかむこと」 です。今日つかみたいのは、この2つです。CSVってそもそも何者か(ただの...
JavaScript

JavaScript Tips | 配列ユーティリティ:配列シャッフル

何をしたいユーティリティか:「配列シャッフル」ここでの「配列シャッフル」は、配列の要素の順番をランダムに並べ替える処理です。例えばこうです。[1, 2, 3, 4, 5]// ↓ シャッフル[3, 1...
JavaScript

JavaScript Tips | 配列ユーティリティ:共通要素抽出

何をしたいユーティリティか:「共通要素抽出」ここでの「共通要素抽出」は、複数の配列を比べて「両方(または全部)に含まれている要素だけ」を取り出す処理です。イメージとしては「集合の積(intersect...
JavaScript

JavaScript Tips | 配列ユーティリティ:差分抽出

何をしたいユーティリティか:「配列の差分抽出」ここでの「差分抽出」は、「ある配列 A と配列 B を比べて、“どこが違うのか”を取り出す処理」です。業務だと、例えばこんな場面で使います。画面で「変更前...
JavaScript

JavaScript Tips | 配列ユーティリティ:重複抽出

何をしたいユーティリティか:「配列の重複抽出」ここでの「重複抽出」は、配列の中で「1 回しか出てこないもの」ではなく、「2 回以上出てくるもの」を取り出す処理です。重複削除(ユニーク化)は「かぶりを消...
JavaScript

JavaScript Tips | 配列ユーティリティ:重複削除

何をしたいユーティリティか:「配列の重複削除」ここでの「重複削除」は、同じ値が何度も入っている配列から、重複を取り除いて「一意な要素だけの配列」を作る処理です。業務だと、こんな場面でよく出てきます。ユ...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - 文字コード判定

何をしたいユーティリティか:「文字コード判定」ここでの「文字コード判定」は、外部から受け取った「バイト列」が、UTF-8 なのか Shift_JIS なのか EUC-JP なのか、といった「エンコーデ...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - BOM 除去

何をしたいユーティリティか:「BOM 除去」ここでの「BOM 除去」は、テキストの先頭にこっそり付いている「BOM(Byte Order Mark)」という特殊な目に見えない文字を取り除く処理です。C...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - 改行コード統一

何をしたいユーティリティか:「改行コード統一」ここでの「改行コード統一」は、バラバラな改行コード(\n, \r\n, \r)が混ざったテキストを、指定した形式にそろえる処理です。Windows 由来の...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - パス正規化

何をしたいユーティリティか:「パス正規化」ここでの「パス正規化」は、"//api//v1/../v2//users/./123/" のような「ぐちゃっとしたパス文字列」を、"/api/v2/users...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - パンくず生成

何をしたいユーティリティか:「パンくず生成」ここでの「パンくず生成」は、「今いるページまでの階層(ホーム > マスタ > ユーザー一覧 > ユーザー詳細)」を、決まったルールで文字列や配列として作る」...
Java

Java Tips | 日付・時間:経過日数

経過日数のゴールイメージ「申込日から何日経った?」「納期まであと何日?」「プロジェクト開始からの経過日数は?」業務システムだと、“2つの日付の差”=経過日数を出す場面が本当に多いです。ここでまず押さえ...
Java

Java Tips | 日付・時間:年齢計算

年齢計算のゴールイメージ「生年月日から現在の年齢を出したい」「基準日時点での年齢を知りたい」業務システムだと、会員管理・保険・年齢制限チェックなどで“年齢”はよく出てきます。ここで一番やってはいけない...
Java

Java Tips | 日付・時間:祝日判定

祝日判定のゴールイメージ「この日付は祝日か?」「祝日は営業日から除外したい」「祝日は締切をずらしたい」業務システムでは、祝日判定はかなりの頻度で登場します。ここでまず押さえてほしい現実があります。祝日...
Java

Java Tips | 日付・時間:営業日判定

営業日判定のゴールイメージ「この日付は営業日か?」「締切日が休業日のときは翌営業日にずらしたい」業務システムでは、こういう“営業日判定”が本当に頻繁に出てきます。ここで大事なのは、営業日=「土日以外」...
Java

Java Tips | 日付・時間:曜日取得

曜日取得のゴールイメージ「2025-03-26 は何曜日?」「この日付が土日かどうか知りたい」業務システムだと、営業日判定・カレンダー表示・締切日のチェックなどで“曜日”は頻出です。ここでやってはいけ...
Java

Java Tips | 日付・時間:年末取得

「年末取得」は“その年の最後の日を意味でつかまえる”こと業務システムでは、「今年の年末」「会計年度の最終日」「前年の年末」みたいな話がよく出てきます。ここでやってはいけないのは、「12 月 31 日で...
Java

Java Tips | 日付・時間:年初取得

「年初取得」は“その年の1月1日を意味で取り出す”こと業務システムだと、「今年の年初」「会計年度の開始日」「前年の年初」みたいな話がよく出てきます。ここでやってはいけないのは、month = 1; d...
Java

Java Tips | 日付・時間:月末取得

「月末取得」は“その月の最後の日を安全につかまえる”こと業務システムでは、「今月の月末」「請求月の月末」「締め月の月末」が頻出します。ここでやってはいけないのは、「31 日で固定」「30 日で固定」「...
Java

Java Tips | 日付・時間:月初取得

「月初取得」は“その月の1日を安全に取り出す”こと業務システムでは、「今月の月初」「請求月の月初」「締め月の月初」をよく使います。ここでやってはいけないのは、day = 1; のように自分で日付をいじ...
Java

Java Tips | 日付・時間:日付減算

日付減算の本質は「過去にさかのぼるカレンダー計算を任せること」日付減算は、「今日から 7 日前」「3 ヶ月前」「1 年前の同じ日」といった“カレンダー上で過去にさかのぼる”計算です。ここでも一番やって...
C#

C# Tips | コレクション・LINQ:LINQ式キャッシュ

はじめに:「LINQ式キャッシュ」は“同じクエリを何度も組み立てないための知恵”LINQ を使っていると、こういうコードが増えがちです。var q1 = users.Where(x => x.IsAc...
C#

C# Tips | コレクション・LINQ:条件付き並び替え

はじめに:「条件付き並び替え」は“状況に応じてソートルールを切り替える”技業務システムでは、単純に「いつも同じ並び順」だけで済むことはあまりありません。画面のソート条件をユーザーが選べる検索条件によっ...
C#

C# Tips | コレクション・LINQ:並び替えキー複数

はじめに:「並び替えキー複数」は“人間の並び順ルールをそのままコードにする”技業務でデータを並び替えるとき、単純に「ID順」だけで済むことはあまりありません。部署コード昇順、その中で社員区分昇順、さら...
C#

C# Tips | コレクション・LINQ:HashSet活用

はじめに:「HashSet活用」は“とにかく速く・かんたんに重複と集合を扱う”技業務で LINQ やコレクションを使っていると、こういう処理がよく出てきます。同じ値が含まれているかを高速に判定したい重...
C#

C# Tips | コレクション・LINQ:比較用EqualityComparer

はじめに:「比較用EqualityComparer」は“何をもって同じとみなすか”をコードにする道具LINQ やコレクションを使っていると、こういう場面がよく出てきます。「ユーザーIDが同じなら同じユ...
C#

C# Tips | コレクション・LINQ:シャローコピー

はじめに:「シャローコピー」は“速いけど、油断すると元を汚すコピー”ディープコピーの逆側にあるのが シャローコピー(浅いコピー) です。一言でいうと、「入れ物は別だけど、中身(参照先)はそのまま共有す...
C#

C# Tips | コレクション・LINQ:ディープコピー

はじめに:「ディープコピー」は“元データを絶対に汚したくないときの保険”業務コードを書いていると、こういうことが起きがちです。「編集用にコピーしたつもりが、元のデータまで変わってしまった」「画面でキャ...
C#

C# Tips | コレクション・LINQ:Immutable変換

はじめに:「Immutable変換」は“絶対に書き換えられないコレクション”を手に入れる技業務システムを書いていると、こういう悩みが出てきます。「このコレクション、誰かにうっかり書き換えられてバグにな...
C#

C# Tips | コレクション・LINQ:Span対応変換

はじめに:「Span対応変換」は“速さを意識した LINQ の次の一歩”LINQ は書きやすいけれど、「配列や文字列をガッツリ触る処理」でパフォーマンスを突き詰めたいときには、メモリ確保(アロケーショ...
C#

C# Tips | コレクション・LINQ:ReadOnlyCollection化

はじめに:「ReadOnlyCollection化」は“触ってほしくないコレクションに鍵をかける”技業務コードを書いていると、こういう気持ちになる場面がよくあります。「このコレクション、外から中身をい...
C#

C# Tips | コレクション・LINQ:ObservableCollection変換

はじめに:「ObservableCollection変換」は“画面とコレクションをつなぐ橋”業務アプリ(特に WPF / MAUI / WinUI など)を書くと、List<T> や IEnumera...
C#

C# Tips | コレクション・LINQ:キャッシュ付き検索

はじめに:「キャッシュ付き検索」は“同じものを何度も探さない”ための技LINQ で検索を書くとき、最初はだいたいこうなります。var user = users.FirstOrDefault(x => ...
C#

C# Tips | コレクション・LINQ:高速検索

はじめに:「高速検索」は“探し方を変えるだけで世界が変わる”テクニックLINQ を覚えたての頃は、だいたいこう書きがちです。var user = users.FirstOrDefault(x => x...
C#

C# Tips | コレクション・LINQ:順序保持Distinct

はじめに:「順序保持 Distinct」は“最初に出てきた順だけを残す”技「重複を消したいけど、元の並び順は崩したくない」——業務でデータを扱っていると、かなり頻繁に出てきます。ログの順番はそのままに...
C#

C# Tips | コレクション・LINQ:重複カウント

はじめに:「重複カウント」は“どれがどれだけ被っているか”を一発で見抜く技業務でデータを扱っていると、こういうことを知りたくなる場面がよく出てきます。どの商品が何回注文されているかどのユーザーが何回ロ...
C#

C# Tips | コレクション・LINQ:インデックス付きSelect

はじめに:「インデックス付き Select」は“要素の値+位置情報”を同時に扱える便利ワザLINQ の Select は「値を変換する」ためのメソッドですが、実務では「値だけでなく、その要素が何番目か...
C#

C# Tips | コレクション・LINQ:Empty除外

はじめに:「Empty除外」は“中身がないものを先にどかす”テクニックnull を除外する話をしましたが、実務ではもう一つよく出てくる「やっかいな存在」がいます。それが「空文字」や「空コレクション」、...
C#

C# Tips | コレクション・LINQ:Null除外

はじめに:「Null除外」は“ゴミを先に掃き出してから考える”テクニック業務コードを書いていると、ほぼ確実にこうなります。データのどこかに null が紛れ込むnull を意識せずにプロパティにアクセ...
C#

C# Tips | コレクション・LINQ:AsParallel制御

はじめに:「AsParallel制御」は“並列の暴れ方に手綱をつける”技前回の「並列 LINQ」は、「AsParallel() を付けると並列になるよ」という話でした。でも、実務で本気で使うなら、どれ...
C#

C# Tips | コレクション・LINQ:並列LINQ

はじめに:「並列 LINQ」は“同じ処理をみんなで手分けする”仕組み同じような処理を大量のデータに対して繰り返すとき、1 件ずつ順番に処理するとどうしても時間がかかります。そこで出てくるのが「並列 L...
C#

C# Tips | コレクション・LINQ:Batch処理

はじめに:「Batch処理」は“まとめてやるけど、やり過ぎない”ための設計業務で C# を書いていると、こういう悩みがよく出てきます。一度に 10 万件 INSERT すると重いし、失敗したときの巻き...
JavaScript

JavaScript | Web API:クリップボード・共有 - UX 改善パターン

クリップボード・共有の UX は「技術」より「気づかい」で差がつくコピー・ペースト・共有って、コード的にはどれも数行で書けます。でも、「使っていて気持ちいいかどうか」 はその数行の周りにある“気づかい...
JavaScript

JavaScript | Web API:クリップボード・共有 - URL 共有

「URL 共有」は“このページを誰かに渡す”ための一番シンプルな機能URL 共有は、ざっくり言うと「今見ているページのリンクを、他の人や自分の別の端末に渡す」ための仕組みです。JavaScript で...
JavaScript

JavaScript | Web API:クリップボード・共有 - ネイティブ共有

「ネイティブ共有」は“ブラウザの外の世界”に渡すための出口Web アプリの中だけなら、URL をコピーしたり、画面に何か表示したりすれば完結します。でも実際のユーザーは、このページを LINE で送り...
JavaScript

JavaScript | Web API:クリップボード・共有 - Share API

Share API は「このページいい感じだから誰かに送ろう」をボタン一発にする仕組みスマホでブラウザを見ていると、「共有」ボタンからLINE やメール、Twitter などに URL を送れますよね...
JavaScript

JavaScript | Web API:クリップボード・共有 - セキュリティ制限

クリップボードのセキュリティ制限は「ユーザーを守るための強いガード」クリップボードには、ユーザーがコピーしたあらゆる情報が入ります。パスワード、クレカ番号、住所、仕事の文章、社外秘のコード——全部です...
JavaScript

JavaScript | Web API:クリップボード・共有 - 読み取り権限

クリップボードの「読み取り権限」は“ユーザーのプライバシーを守るための最重要ポイント”クリップボードには、ユーザーがコピーした パスワード・住所・クレカ番号・仕事の文章 など、とてもセンシティブな情報...
JavaScript

JavaScript | Web API:クリップボード・共有 - 書き込み権限

「書き込み権限」は“クリップボードを勝手にいじらないためのブレーキ”Clipboard API の「書き込み権限」は、ざっくり言うと 「このサイトに、クリップボードへ書き込ませていいか?」 をブラウザ...
JavaScript

JavaScript | Web API:クリップボード・共有 - ペースト処理

「ペースト処理」は“ユーザーのクリップボードの中身を、アプリに連れてくる”ことコピー処理が「アプリ → クリップボード」だとしたら、ペースト処理はその逆、「クリップボード → アプリ」 です。ユーザー...
JavaScript

JavaScript | Web API:クリップボード・共有 - コピー処理

「コピー処理」は“ユーザーの手を 1 回減らす”ための仕組みコピー処理は、ユーザーが本来やるはずだったテキストをドラッグで選択Ctrl+C / 右クリック → コピーという手順を、ボタン 1 回で代わ...
JavaScript

JavaScript | Web API:クリップボード・共有 - Clipboard API

Clipboard API は「コピー/ペーストをコードから扱うための正式な入口」普段、コピーやペースストはキーボードの Ctrl+C / Ctrl+V や右クリックメニューでやりますよね。Clipb...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelテンプレ作成

Excelテンプレ作成は「毎回同じフォーマットを自動生成し、作業時間を大幅削減する」ための最強スキルExcel業務自動化の中でも、テンプレート(雛形)を自動生成する処理は特に効果が大きいです。なぜなら...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 別名保存

別名保存は「元ファイルを壊さず、安全に新しいExcelを作る」ための超重要テクニックExcel業務自動化では、別名保存(Save As) が非常に重要です。なぜなら、次のような実務ニーズがあるからです...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel保存

Excel保存は「作ったExcelを確実に残し、業務自動化を完成させる」ための最重要ステップPythonでExcelを操作する際、保存処理(save)は必ず最後に必要になります。どれだけセル操作・書式...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 行高さ変更

行高さ変更は「Excelの見た目を整え、読みやすいシートを自動生成する」ための基本テクニックExcel業務自動化では、行の高さを調整する処理がとても重要です。なぜなら、次のような問題を防げるからです。...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 列幅変更

列幅変更は「Excelの見やすさを劇的に改善し、読みやすい帳票を自動生成する」ための基本テクニックExcel業務自動化では、列幅を自動で調整する処理がとても重要です。なぜなら、次のような問題を防げるか...
Python

Python | テスト・設計・品質:Web アプリの本番運用

「本番運用」って何?一言でいうと「“たまたま動く”から“24時間ちゃんと動き続ける”にすること」ローカルで FastAPI や Django を動かして「動いた!」は、まだスタートラインです。本番運用...
Python

Python | テスト・設計・品質:API のモック

APIのモックって何?一言でいうと「本物の代わりに動く“テスト用の偽物サーバー”」API のモックは、「本物の外部APIを呼ばずに、その代わりをする“偽物”を用意してテストすること」です。本物のAPI...
Python

Python | テスト・設計・品質:環境変数管理

環境変数管理って何?一言でいうと「コードに書いちゃいけない“秘密と設定”を外に出してあげること」環境変数管理は、「本番・開発・テストで変わる値」や「絶対にコードに埋め込んではいけない秘密」を、コードの...
Python

Python | テスト・設計・品質:コンテナ構築

コンテナ構築って何?一言でいうと「動く箱を作るための“レシピづくり+焼き上げ”」ここでいう「コンテナ構築」は、ほぼ「Docker コンテナを作ること」と考えてOKです。レシピを書くフェーズ(Docke...
Python

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

Dockerって何?一言でいうと「どこでも同じように動く“持ち運べる開発環境”」Docker は、ざっくり言うと「アプリとその周りの環境を、ひとまとめにして箱に入れて持ち運べるようにする仕組み」です。...
Python

Python | 1 日 120 分 × 7 日アプリ学習:クラスで作る商品管理アプリ(中級編)

1日目のゴール1日目のテーマは「class・__init__・オブジェクトを、“商品”という身近な題材で体に入れること」 です。辞書でユーザーを扱ったときと同じように、今度は「商品」をクラスで表現して...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - 見出しスケール設計

見出しスケール設計は「階層の意味 × 読みやすさ × デザインの一貫性」を作る技術見出し(H1〜H6)は、ただ大きさを変えるだけでは不十分です。階層の差が明確で、読みやすく、デザインとして美しいスケー...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - リンクデザイン設計

リンクデザインは「読みやすさ × 分かりやすさ × 美しさ」を同時に満たす設計リンクは UI の中で最も重要な要素のひとつ。どれがリンクか一瞬で分かること、読みやすく邪魔にならないこと、デザインとして...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - text-decoration応用

text-decoration は「線の種類・位置・色・太さ」を自由に操るプロパティリンクの下線だけでなく、強調・アクセント・装飾・UI 表現 まで幅広く使えるのが text-decoration の...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - text-align最適化

text-align は「文章の重心」を決めるプロパティ文章は“どこに揃えるか”だけで読みやすさや印象が大きく変わります。text-align を最適化すると、見出し・本文・UI ラベル・ボタン・カー...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - writing-mode

writing-mode は「文字の流れる方向」を変えるプロパティ横書き・縦書き・縦中横など、日本語特有のレイアウトにも対応できる強力な CSS 機能です。特に日本語サイトでは、縦書きの見出し・帯・サ...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - word-break制御

word-break は「単語のどこで折り返すか」をコントロールするプロパティテキストが枠からはみ出すとき、どこで折り返すか(または折り返さないか) を決めるのが word-break です。特に日本...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - white-space制御

white-space は「改行・空白・折り返し」をコントロールするタイポグラフィの基礎文章がどう折り返されるか、空白がどう扱われるかは 読みやすさ・レイアウトの安定性 に直結します。white-sp...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - text-overflow省略

text-overflow は「入りきらないテキストをどう見せるか」をコントロールするUI デザインでは、タイトル・カード・ボタン・リストなど、テキストが枠からはみ出す場面が必ず発生します。そのときに...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - text-transform活用

text-transform は「文字の見せ方を一瞬で変える」タイポグラフィのスイッチ大文字化・小文字化・単語の頭だけ大文字など、文章の“印象”を一瞬で変える強力なプロパティ が text-trans...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - letter-spacing最適化

letter-spacing(字間調整)は「読みやすさ」と「デザインの質」を決める重要パラメータ特に日本語は欧文よりも字面が大きく、フォントによっても見え方が大きく変わるため、適切な letter-s...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - clampで可変フォント

clamp() を使うと「画面幅に応じて自然に伸び縮みするフォントサイズ」が作れるしかも、最小値・理想値・最大値を 1 行でコントロールできるので、レスポンシブタイポグラフィの“最強ツール”と言ってい...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - remとemの使い分け

rem と em は「どこを基準にサイズが決まるか」が違うだけでも、この違いを理解すると タイポグラフィ設計が一気に安定 します。rem → ルート(html)のフォントサイズを基準にするem → そ...
JavaScript

JavaScript | Web API:ファイル・データ操作 - 大容量ファイルの扱い

「大容量ファイルの扱い」は“全部一気にやらない”が合言葉まず前提からいきます。数 KB〜数 MB 程度のファイルなら、FileReader.readAsText や readAsArrayBuffer...
JavaScript

JavaScript | Web API:ファイル・データ操作 - CSV / JSON ファイル処理

CSV / JSON ファイル処理は「テキストとして読み、オブジェクトとして扱い、またテキストに戻す」流れCSV も JSON も、本質はただのテキストファイルです。JavaScript から扱うとき...
JavaScript

JavaScript | Web API:ファイル・データ操作 - バイナリデータ処理

「バイナリデータ処理」は“0と1の生データ”を意識して触ることふだん JavaScript で扱っているのは、文字列・数値・オブジェクトなど「人間に優しい形」のデータです。でも、画像・音声・PDF・Z...
JavaScript

JavaScript | Web API:ファイル・データ操作 - input type=”file”

input type="file" は「ユーザーにファイルを選んでもらうための唯一の正規ルート」まず大前提として、ブラウザの JavaScript は、勝手にユーザーのパソコンの中を覗けません。「この...
JavaScript

JavaScript | Web API:ファイル・データ操作 - ドラッグ&ドロップ

ドラッグ&ドロップは「マウスでつかんで、そのままブラウザに渡す入力方法」ドラッグ&ドロップ(D&D)は、「ユーザーがファイルや要素をマウスでつかんで、別の場所に“落とす”操作をイベントとして扱う仕組み...
JavaScript

JavaScript | Web API:ファイル・データ操作 - ダウンロード処理

「ダウンロード処理」は“ブラウザの中のデータ”を“ユーザーのファイル”に変えることJavaScript でいう「ダウンロード処理」は、ブラウザの中にあるデータ(文字列・JSON・画像・Blob など)...
JavaScript

JavaScript | Web API:ファイル・データ操作 - URL.createObjectURL

URL.createObjectURL は「Blob や File に一時的な URL を貼る魔法」URL.createObjectURL は、Blob や File に「一時的にアクセスできる UR...
JavaScript

JavaScript | Web API:ファイル・データ操作 - Blob

Blob は「生データ(バイナリやテキスト)をまとめて持つ“データのかたまり”」Blob は、「ファイルっぽい“データのかたまり”をメモリ上に表現するためのオブジェクト」 です。画像・テキスト・JSO...
JavaScript

JavaScript | Web API:ファイル・データ操作 - FileReader

FileReader は「ファイルの中身を“いろんな形”で読み出すための専用リーダー」前回の File API で出てきた File は、「ユーザーが選んだファイルへのハンドル(取っ手)」でした。でも...
JavaScript

JavaScript | Web API:ファイル・データ操作 - File API

File API は「ユーザーが選んだファイルをブラウザから触るための窓口」まず一番大事なことから。JavaScript は、勝手にユーザーのパソコンの中を覗いたり、好きなファイルを読みまくったりはで...
Python

Python | 1 日 120 分 × 7 日アプリ学習:辞書型で作るユーザー管理アプリ(中級編)

1日目のゴール1日目のテーマは「辞書型 dict を使って、“ユーザー管理アプリの土台”を作れるようになること」 です。今日つかんでほしいのは、この3つです。辞書型とは何か(キーと値の関係)ユーザー1...
Python

Python | 1 日 90 分 × 7 日アプリ学習:ファイルを読み込むアプリ(初級編)

1日目のゴール1日目のテーマは「ファイルの中身を read で読み込んで、そのまま画面に表示できるようになること」 です。ここでできるようになってほしいのは、たった2つです。ファイルを開いて中身を読み...
Python

Python | 1 日 90 分 × 7 日アプリ学習:ファイルに保存するメモ帳(初級編)

1日目のゴール1日目のテーマは「テキストをファイルに保存できる“超シンプルなメモ帳”を作ること」です。今日できるようになってほしいのは、この3つです。open でファイルを開くイメージをつかむwrit...
JavaScript

JavaScript | Web API:DOM 拡張 API - shadow DOM の概要

shadow DOM は「外側から見えない、部品専用のプライベート DOM」まず一言でいうと、shadow DOM は「コンポーネントの中だけで完結する、外側から直接いじれない専用 DOM」 です。普...
JavaScript

JavaScript | Web API:DOM 拡張 API - documentFragment

documentFragment は「画面にまだ挿していない一時作業用のミニ DOM」DocumentFragment(document.createDocumentFragment() で作るやつ)...
JavaScript

JavaScript | Web API:DOM 拡張 API - NodeList 操作

NodeList は「querySelectorAll が返してくる“要素の集まり”」まず前提からいきます。document.querySelectorAll() を使うと、複数の要素が一度に取れます...
JavaScript

JavaScript | Web API:DOM 拡張 API - dataset API

dataset は「HTML に自由にメモを書いておけるポケット」dataset は、HTML 要素に “自分で決めたデータ” を安全に持たせておくための仕組み です。HTML の data-◯◯ 属...
JavaScript

JavaScript | Web API:DOM 拡張 API - classList API

classList は「要素に付いているクラス名を出し入れするための専用リモコン」HTML 要素には class 属性がありますよね。<div class="box active"></div>この ...
JavaScript

JavaScript | Web API:DOM 拡張 API - Event コンストラクタ

Event コンストラクタは「既存イベントを自分の手で発火させるための素のイベント」Event コンストラクタは、「クリックや変更など、既に名前が決まっているイベントを、自分の手で“発生させたことにす...
JavaScript

JavaScript | Web API:DOM 拡張 API - CustomEvent

CustomEvent は「自分で名前を付けられるオリジナルイベント」CustomEvent は、「クリックやスクロールみたいな“既存のイベント”ではなく、自分で名前を付けたイベントを作って、発火でき...
JavaScript

JavaScript | Web API:DOM 拡張 API - ResizeObserver

ResizeObserver は「要素の大きさが変わった瞬間を教えてくれるセンサー」ResizeObserver は、「特定の要素の幅や高さが変わったときに、それを教えてくれる仕組み」 です。ウィンド...
JavaScript

JavaScript | Web API:DOM 拡張 API - MutationObserver

MutationObserver は「DOM の変化を見張る監視カメラ」MutationObserver は、「DOM(要素の追加・削除・属性変更・テキスト変更など)が変わった瞬間を教えてくれる監視カ...
JavaScript

JavaScript | Web API:DOM 拡張 API - IntersectionObserver

IntersectionObserver は「要素が画面に入ったかどうかを見張る番人」IntersectionObserver は、「ある要素が、画面(または指定した枠)の中に入ったか・出たか」を自動...
Java

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

14日目のゴールとテーマ14日目のテーマは「2週間で身につけた“Javaでアプリを作る力”を言語化して、次の一歩につなげる」 です。今日は新しい文法を増やす日ではありません。この2週間であなたが積み上...
Java

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

13日目のゴールとテーマ13日目のテーマは「プロジェクトを“整理する力”と“ライブラリを使う力”を身につける」 です。ここまでで、あなたはクラスオブジェクトカプセル化クラス同士の関係例外処理ファイル保...
Java

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

12日目のゴールとテーマ12日目のテーマは「タスクをファイルに保存して、“終了しても消えないアプリ”にする」 です。ここまでのタスク管理アプリは、起動している間はちゃんと動きますが、アプリを終了すると...
Java

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

11日目のゴールとテーマ11日目のテーマは「例外処理で“落ちないアプリ”に近づく」 です。ここまでで、あなたはクラス・オブジェクト・カプセル化・クラス同士の関係を使って、小さなタスク管理アプリを形にし...
Java

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

10日目のゴールとテーマ10日目のテーマは「これまでの要素を全部つなげて、“小さな本格アプリ”としてまとめる」 です。ここまでであなたは、変数・配列・ArrayListif・for・whileメソッド...
Java

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

9日目のゴールとテーマ9日目のテーマは「クラス同士の“関係”を設計して、小さな本格アプリの形にする」 です。ここまでであなたは、1つのクラス(Task)を作りオブジェクトを new してArrayLi...
Java

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

8日目のゴールとテーマ8日目のテーマは「カプセル化(情報を隠す)と getter / setter で、“壊れにくいクラス”に育てる」 です。7日目で、あなたはすでに自分でクラス(Task)を作りオブ...
Python

Python | 1 日 90 分 × 7 日アプリ学習:簡単メニュー選択アプリ(初級編)

1日目のゴール1日目のテーマは「数字でメニューを選んで、その数字に応じて“違う関数”を動かせるようになること」です。今日できるようになってほしいのは、この2つです。数値メニューを表示して、ユーザーに番...
Python

Python | 1 日 90 分 × 7 日アプリ学習:関数で処理をまとめるアプリ(初級編)

1日目のゴール1日目のテーマは「def で関数を定義して、自分で呼び出せるようになること」です。今日できるようになってほしいのは、この2つだけです。def を使って「自分の命令」を作るその命令(関数)...
Python

Python | 1 日 90 分 × 7 日アプリ学習:リストに追加するアプリ(初級編)

1日目のゴール1日目のテーマは「Python の list に append で値を追加できるようになること」です。ここができると、買い物リスト、TODOリスト、メモ帳アプリなど、「何かをどんどん溜め...
JavaScript

JavaScript | 1 日 120 分 × 7 日アプリ学習:ミニ業務アプリ(総合)

1日目のゴールと作るアプリのイメージこの7日間は、「ちょっと業務っぽいミニアプリ」を題材にして、設計力・保守性・実務思考を鍛えていきます。1日目のテーマは、「いきなりコードを書かず、“設計の目”でアプ...
Java

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

7日目のゴールとテーマ7日目のテーマは「クラスとオブジェクトで“自分だけの型”を作り、アプリの世界に登場人物を生み出す」 です。ここまでで、あなたは変数・配列・ArrayListでデータを扱い、if・...
Java

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

6日目のゴールとテーマ6日目のテーマは「メソッドで“処理を分ける力”を身につけて、コードを読みやすく育てる」 です。5日目までで、あなたはすでに入力を受け取る条件分岐で動きを変えるループで繰り返すAr...
Java

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

5日目のゴールとテーマ5日目のテーマは「配列より“柔軟なリスト”を使って、追加・削除ができるアプリに近づく」 です。4日目までで、配列を使って「複数のデータをまとめて扱う」ことができるようになりました...
Java

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

4日目のゴールとテーマ4日目のテーマは「配列で“複数のデータ”をまとめて扱い、ループと組み合わせて処理する」 です。ここまでで、1つの値(int や String)を変数に入れて扱うことはできるように...
Java

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

3日目のゴールとテーマ3日目のテーマは「同じ処理を“繰り返す”力を身につけて、ちょっとしたミニアプリをループで回す」 です。1日目・2日目で、「1回だけ動くプログラム」は書けるようになりました。でも、...
Java

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

2日目のゴールとテーマ2日目のテーマは「ユーザーの入力を受け取り、条件分岐で“動きが変わるアプリ”を作る」 です。1日目は、決まった文字や数字を「表示するだけ」の世界でした。今日はそこから一歩進んで、...
Java

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

1日目のゴールとテーマ1日目のテーマは「Javaの“型にはまった書き方”に慣れながら、最初の小さなアプリを動かす」 です。Pythonと違って、Javaは「決まりごと」が多い言語です。最初は少し堅苦し...
Python

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

CDって何?一言でいうと「テストが通ったら“そのまま本番まで運んでくれるベルトコンベア”」CD は大きく分けて2つあります。Continuous Delivery(継続的デリバリー)Continuou...
Python

Python | テスト・設計・品質:CI(GitHub Actions)

CI(GitHub Actions)って何?一言でいうと「プッシュした瞬間に“自動でテストしてくれるロボット”」CI(Continuous Integration)は、「コードを少し変更するたびに、自...
Python

Python | テスト・設計・品質:フォルダ構成標準化

フォルダ構成標準化って何?一言でいうと「どのプロジェクトでも迷子にならないための地図づくり」フォルダ構成標準化は、「Pythonプロジェクトのフォルダやファイルの置き方に、共通ルールを決めること」です...
Python

Python | テスト・設計・品質:例外階層

例外階層って何?一言でいうと「エラーを“種類ごとに整理する”ための仕組み」例外階層(Exception Hierarchy)は、「エラーを種類ごとに分類して、親子関係で整理する」ための設計です。Pyt...
Python

Python | テスト・設計・品質:ロギング設計

ロギング設計って何?一言でいうと「あとから原因を追えるように“足跡”を設計すること」ロギング設計は、「エラーが起きたとき・おかしな動きをしたときに、あとから原因を追えるように、どこで何を記録しておくか...
Python

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

REST設計って何?一言でいうと「URLとHTTPを“きれいなルール”で使う設計」REST 設計は、Web API を作るときに、URLHTTPメソッド(GET / POST / PUT / PATC...
Python

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

API設計って何?一言でいうと「他人(未来の自分)が使いやすい“入口”を設計すること」ここでいう「API」は、Web API だけじゃなく、「関数・クラス・モジュールの“使い方の顔”」も含めた広い意味...
Python

Python | テスト・設計・品質:interface 分離

interface分離って何?一言でいうと「いらないボタンを押させないようにする設計」interface 分離(インターフェース分離の原則 / Interface Segregation Princi...
Python

Python | テスト・設計・品質:責務定義

「責務定義」って何?一言でいうと「この子は何を担当するのかを決めること」責務定義は、クラス・関数・モジュールなどに対して「あなたは何を担当するのか?」をはっきり決めることです。もっと砕くと、「このコー...
Python

Python | テスト・設計・品質:モジュール分割

モジュール分割って何?一言でいうと「ファイルごとに役割をはっきり分けること」Python でいう「モジュール分割」は、コードを複数の .py ファイルに分けて、それぞれに「はっきりした役割」を持たせる...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - ページリロード

「ページリロード」は「このURLをもう一度最初から開き直すこと」まずイメージからいきます。ブラウザの「再読み込みボタン」や F5 を押すと、今表示している URL にもう一度アクセスするHTML・CS...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - アラート(alert / confirm / prompt)

アラートは「ブラウザが出してくれる超シンプルなダイアログ」alert / confirm / prompt は、ブラウザが標準で用意してくれているダイアログ表示の仕組み です。画面の真ん中に、ブラウザ...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - タブ操作(open / close)

「タブ操作」は「新しい窓を開く権利」と「閉じていい範囲」を理解するところからJavaScript でのタブ操作は、window.open() と window.close() が中心です。ただし、ここ...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - リダイレクト

「リダイレクト」は「ユーザーを別のURLに連れて行くこと」まず言葉の整理からいきます。リダイレクト(redirect) は、ざっくり言うと「今このページを見ているユーザーを、別の URL に自動的に移...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - 画面サイズ取得

「画面サイズ取得」は「どの“枠”のサイズが欲しいか」を決めるところから始まるまず一番大事なことから。「画面サイズ」と一口に言っても、実は何種類かあります。ブラウザのウィンドウ全体のサイズウィンドウの中...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - userAgent

userAgent は「ブラウザが名乗る自己紹介テキスト」navigator.userAgent(ふつうは userAgent と呼ぶ)は、「このブラウザはこういう環境ですよ」とサーバーなどに伝えるた...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - navigator

navigator は「今使っているブラウザと環境のプロフィールカード」navigator は、「このページを開いているブラウザや環境の情報」をまとめたオブジェクト です。どんなブラウザか(Chrom...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - history API

history API は「ブラウザの戻る・進むをコードから操る仕組み」history は window.history のことで、ブラウザの「戻る」「進む」ボタンと同じようなことを、JavaScri...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - location

location は「今開いているページの住所カード」location は、「このタブで今開いているページの URL 情報をまとめたオブジェクト」 です。「今どの URL を見ているか知りたい」「別の...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - window オブジェクト

window オブジェクトは「ブラウザタブそのもの」を表す巨大な入り口JavaScript でいう window は、「今あなたが見ているブラウザのタブ(ウィンドウ)そのものを表すオブジェクト」 です...
Python

Python | テスト・設計・品質:ドメイン駆動設計

ドメイン駆動設計って何?一言でいうと「現実のルールをコードの中心に置く考え方」ドメイン駆動設計(DDD)は、「フレームワークやDBの都合ではなく、“現実世界のルール”を中心にコードを組み立てよう」とい...
Python

Python | テスト・設計・品質:クリーンアーキテクチャ

クリーンアーキテクチャって何?一言でいうと「大事なものを真ん中に守る設計」クリーンアーキテクチャは、アプリケーションの「大事なルール(ビジネスロジック)」を、外側の技術的なもの(Web フレームワーク...
Python

Python | テスト・設計・品質:リファクタリング

リファクタリングって何?一言でいうと「動きを変えずに中身だけキレイにする」リファクタリングは、「コードの外から見た振る舞い(仕様・動き)は変えずに、中身の構造だけを良くすること」です。バグ修正でも新機...
Python

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

mypyって何?一言でいうと「Pythonコードに“型のテスト”をかけるツール」mypy は、Python コードに書いた「型ヒント(type hints)」を読み取って、その使い方が矛盾していないか...
Python

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

TypedDictって何?一言でいうと「キー付き辞書に“型の設計図”を付けるもの」TypedDict は、「この辞書は、こういうキーを持っていて、それぞれの値はこういう型です」という“設計図”を型ヒン...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - スケジューリング設計

「スケジューリング設計」は「いつ・どのくらい・どう止めるか」を決めることタイマーは「ちょっと遅らせて実行する便利関数」ではなく、「処理のタイミングを設計するための道具」 です。いつ実行するかどのくらい...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - UI 更新との関係

UI 更新とタイマーの関係は「JavaScript とブラウザの役割分担」を理解すると一気に分かりやすくなるタイマー(setTimeout / setInterval / requestAnimati...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - 無限ループ防止

「無限ループ防止」は「止まる出口を必ず用意する」という発想タイマーやループを書いているときに一番やっちゃいけないのが、「永遠に終わらない処理」=無限ループ です。ブラウザが固まるCPU が 100% ...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - タイマー精度の問題

「タイマー精度の問題」は「指定した時間どおりには動かないことがある」という話まず一番大事なことを先に言います。setTimeout(…, 1000) と書いても、きっちり 1000ms 後に実行される...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - requestIdleCallback

requestIdleCallback は「ブラウザがヒマなときにやってもらう雑用係」requestIdleCallback は、「今すぐじゃなくて、ブラウザがヒマになったタイミングでやってほしい処理...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - requestAnimationFrame

requestAnimationFrame は「ブラウザに最適なタイミングでアニメを進めてもらう仕組み」requestAnimationFrame(略して rAF)は、「アニメーションを滑らかに動かす...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - clearInterval

clearInterval は「繰り返し処理を止めるためのスイッチ」clearInterval は、setInterval で始めた“繰り返し処理”を止めるための関数 です。setInterval は...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - clearTimeout

clearTimeout は「さっき予約した“◯秒後”をなかったことにする」関数clearTimeout は、setTimeout で予約した「あとで実行する処理」をキャンセルするための関数 です。「...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - setInterval

setInterval は「◯秒ごとにこれを繰り返して」と予約する関数setTimeout が「一回だけあとで実行」だとしたら、setInterval は 「一定間隔で同じ処理を何度も繰り返す」 ため...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - setTimeout

setTimeout は「◯秒後にこれやって」を予約する関数setTimeout は、「今すぐじゃなくて、少し時間が経ってから処理を実行したいとき」に使うタイマー関数 です。「3 秒後にメッセージを出...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - WebSocket の概要

WebSocket は「つなぎっぱなしでしゃべり続けられる通信」まずイメージからいきます。ふつうの HTTP(fetch など)は「用があるときだけノックして、用が済んだらすぐ帰る」通信です。リクエス...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - オフライン対応の基本

まず「オフライン対応って何を指しているのか」をはっきりさせるオフライン対応と聞くと、「ネットが切れても全部普通に動く魔法」みたいに思いがちですが、現実はもう少し地に足がついた話です。本質は、「ネットワ...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - Service Worker の概要

Service Worker は「ブラウザの中に住む、裏方の小さなサーバー」まずイメージからいきます。Service Worker は、「ブラウザの中で動く、あなたのサイト専用の“裏方サーバー”」 で...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - キャッシュ制御

「キャッシュ制御」は“いつまで古いデータを使っていいか”を決めるルールまずざっくりイメージからいきます。キャッシュは、「一度取ってきたデータを、次回以降は早く返すために手元に置いておく仕組み」 です。...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - 認証ヘッダ

認証ヘッダは「あなたが誰なのか」をサーバーに伝えるための“身分証”まずイメージからいきます。認証ヘッダ(Authentication Header)は、「このリクエストは誰として送っているのか」 をサ...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - Cookie の扱い

Cookie は「ブラウザが自動で持ち運んでくれる小さなメモ」まずイメージからいきます。Cookie は、「ブラウザがサーバーとの間で自動的に持ち運んでくれる小さなメモ」 です。サーバーが「このユーザ...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - CORS の基本

まず「なぜ CORS なんてものがあるのか」からCORS を理解する一番の近道は、「ブラウザは、もともと“よそのサイトに勝手にリクエストさせない”ように作られている」という前提をちゃんと掴むことです。...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - Headers

ヘッダーは「一緒にくっついて飛んでいくメモ書き」まずイメージからいきます。HTTP の世界では、リクエストやレスポンスは「封筒付きの手紙」みたいなものです。本文(ボディ)実際の中身。JSON や HT...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - Request / Response オブジェクト

「Request / Response」は fetch がやり取りする“手紙の入れ物”まず大きなイメージからいきます。fetch は「サーバーと会話する窓口」でしたよね。その会話の中で実際に行き来して...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - fetch API

fetch は「ブラウザからサーバーにお願いしに行く関数」まずイメージからいきます。fetch は、「ブラウザからサーバーに“ちょっとデータください”とか“これ送ります”とお願いしに行くための関数」 ...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - font-display制御

font-display は「Webフォントが読み込まれるまでの見え方」をコントロールする仕組みWebフォントは便利ですが、読み込みが遅いと文字が消える(FOIT) や 途中でフォントが切り替わる(F...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - Webフォント読み込み戦略

Webフォント読み込み戦略は「速さ・見え方・安定性」を同時に満たすための設計Webフォントはデザインの質を上げる強力な武器ですが、読み込みが遅いと 文字が一瞬消える(FOIT)、または 途中でフォント...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - フォントスタック設計

フォントスタック設計は「どの環境でも破綻しない文字の見え方」を作る技術フォントスタック(font-family の並び順)は、「ユーザーの環境にフォントが無いとき、どのフォントにフォールバックするか」...
JavaScript

JavaScript | Web API:ストレージ系 API - IndexedDB の概要

IndexedDB は「ブラウザ内のちゃんとしたデータベース」localStorage / sessionStorage は「小さなメモ帳」でした。IndexedDB は一段レベルが違います。イメージ...
JavaScript

JavaScript | Web API:ストレージ系 API - セキュリティの注意点

「ストレージは安全な金庫」ではない、という前提から始めようlocalStorage / sessionStorage は便利ですが、「ここに入れておけば安全」な場所ではありません。ブラウザの中にあると...
JavaScript

JavaScript | Web API:ストレージ系 API - ストレージイベント

ストレージイベントは「別タブでの変更を教えてくれる仕組み」まず一言でいうと、ストレージイベント(storage イベント)は「他のタブで localStorage が書き換えられたことを教えてくれる通...
JavaScript

JavaScript | Web API:ストレージ系 API - 同期 API の特性

「同期 API」ってそもそも何者かまず言葉の整理からいきます。同期 API(synchronous API)というのは、呼び出した瞬間に処理が終わるまで、そのスレッドを止めてしまうタイプの API の...
JavaScript

JavaScript | Web API:ストレージ系 API - 容量制限

ストレージの「容量制限」をちゃんと意識すると設計が変わるlocalStorage / sessionStorage は便利ですが、「無限に保存できる魔法の箱」ではありません。どちらもブラウザごとに 容...
JavaScript

JavaScript | Web API:ストレージ系 API - JSON との組み合わせ

なぜ「ストレージ × JSON」がほぼセットなのかlocalStorage / sessionStorage は、とてもシンプルなストレージです。でも制約が一つあります——「保存できるのは文字列だけ」...
JavaScript

JavaScript | Web API:ストレージ系 API - removeItem / clear

removeItem / clear は「部分的に消す」と「全部消す」の違いストレージ系 API(localStorage / sessionStorage)には、データを「書く」「読む」だけでなく、...
JavaScript

JavaScript | Web API:ストレージ系 API - setItem / getItem

setItem / getItem は「ブラウザのメモ帳に書く・読む」操作まずざっくりイメージからいきます。setItem と getItem は、ブラウザの中にある小さなメモ帳に「書く」「読む」ため...
JavaScript

JavaScript | Web API:ストレージ系 API - SessionStorage の基本

SessionStorage は「タブごとの一時メモ帳」まずイメージからいきます。SessionStorage は 「ブラウザのタブごとに用意される、一時的なメモ帳」 です。LocalStorage ...
JavaScript

JavaScript | Web API:ストレージ系 API - LocalStorage の基本

LocalStorage は「ブラウザにメモ帳を置く」イメージまずざっくりイメージから。LocalStorage は、「ブラウザの中にある、キーと値を保存できる小さなメモ帳」 です。ページを閉じても、...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - プロとしての非同期設計

「プロとしての非同期設計」って何が違うのか非同期処理を「書ける」ようになるのは、正直そんなに難しくありません。async/await を覚えて、fetch を呼んで、try/catch を付ければ、と...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 非同期バグの再現

なぜ「非同期バグの再現」がこんなに難しいのか非同期バグって、ほんとイヤらしいですよね。さっきまで出ていたのに、もう一回やると出ない。本番では起きるのに、ローカルでは起きない。理由はシンプルで、非同期バ...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 例外仕様の文書化

なぜ「例外仕様の文書化」がそんなに大事なのか非同期処理は「うまくいくとき」だけ見ていると、わりと簡単そうに見えます。await fetch(...) して、res.json() して、画面に出す——こ...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - モック化戦略

「モック化戦略」ってそもそも何の話?非同期処理をテストしようとすると、必ずぶつかる壁があります。それが「外部とのやり取り」です。サーバーへのリクエストデータベースタイマー(setTimeout)ブラウ...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - テストしやすい非同期

なぜ「テストしやすい非同期」が大事なのか非同期処理って、バグが出ても再現しづらいし、「たまたま動いた」状態になりがちです。だからこそ、「テストしやすい形で非同期コードを書く」という発想がめちゃくちゃ重...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 同期 API との境界

なぜ「同期 API との境界」を意識しないといけないのか非同期処理を学び始めると、「どこまでを同期で書いて、どこからを非同期にするのか」がだんだん分からなくなってきます。全部 async にしてしまう...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 非同期 API 設計

「非同期 API 設計」って何を考えること?まず前提から整理します。ここでいう「非同期 API」は、サーバーの REST API というより、「あなたが JavaScript で提供する非同期関数の“...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 非同期関数の命名

なぜ「非同期関数の命名」がそんなに大事なのか非同期処理って、それだけで頭を使います。そこに「名前がふわっとしている関数」が混ざると、一気に読めなくなります。doSomething(), handle(...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 責務分離

「責務分離」を非同期コードで考える意味非同期処理って、それだけで頭を使いますよね。そこに「UI」「エラー処理」「キャッシュ」「ローディング表示」などを全部一緒に書き始めると、一瞬でカオスになります。だ...
JavaScript入門

JavaScript | 非同期処理:設計・理解の深化 - 非同期コードの可読性

なぜ「非同期コードの可読性」がそんなに大事なのか非同期処理って、動かすだけなら意外とすぐ書けます。async 付けて、await fetch(...) して、console.log して終わり——みた...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - 非同期設計レビュー

「非同期設計レビュー」って何をする時間か非同期処理のコードは、とりあえず動かすだけなら意外と簡単です。async/await を付けて、fetch を呼んで、console.log して終わり。でも「...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - UI ブロック回避

なぜ「UI ブロック回避」がそんなに大事なのかJavaScript は基本「1本のメインスレッド」で動いています。この1本の線の上で、描画・クリック処理・スクロール・あなたの書いた処理が、全部順番待ち...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - 長時間処理の分割

なぜ「長時間処理の分割」が必要になるのかJavaScript は基本的に「シングルスレッド」で動きます。つまり、1本の道に、処理が一列に並んで流れているイメージです。その道の上で、重い処理(ループ・計...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - 非同期処理の計測

なぜ「非同期処理の計測」が大事なのかパフォーマンス最適化って、つい「こうした方が速そう」と感覚でやりがちです。でも、本当にやるべきことはシンプルで、たった一つです。「遅いところをちゃんと測って、事実ベ...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - レイテンシ考慮

レイテンシってそもそも何?まず言葉からいきます。レイテンシ(latency)は「お願いしてから、最初の反応が返ってくるまでの時間」 です。ユーザーから見ると、ボタンを押してから画面が変わるまで検索ワー...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - ネットワーク最適化

ネットワーク最適化って何をすること?非同期処理のパフォーマンス最適化の中で、ネットワーク最適化は「サーバーとの通信をできるだけ速く・少なく・無駄なくする」ことです。JavaScript の世界だと、だ...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - バッチ処理

「バッチ処理」は“まとめてやるから速くて優しい”という発想バッチ処理は、「細かい処理を1個ずつやるのではなく、ある程度まとめて一気に処理する」という考え方です。非同期処理のパフォーマンス最適化では、・...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - Promise キャッシュ

Promise キャッシュって何者?Promise キャッシュは、「同じ非同期処理を何度も実行せず、“進行中 or 結果”を使い回すテクニック」 です。特に、「同じ API を短時間に何回も叩いてしま...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - 不要 await の削除

「不要な await」を消すと何が嬉しいのかawait は便利ですが、「なくてもいい場所に書いてしまうと、わざわざ処理を遅くしている」ことがあります。パフォーマンス最適化でよく効くのが、この「不要な ...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - 並列化の判断

「並列化の判断」は“どこを同時に走らせていいか”を見極めること非同期処理のパフォーマンス最適化で一番効くのが、「待ち時間の長い処理を、できるだけ同時に走らせる」ことです。でも、何でもかんでも並列にすれ...
JavaScript

JavaScript | 1 日 120 分 × 7 日アプリ学習:クラス設計アプリ(オブジェクト指向)

1日目のゴールと作るもののイメージ1日目のテーマは「class を使って、“それっぽいオブジェクト”を自分で設計できるようになること」です。キーワードはこの3つです。classカプセル化(中身を隠す・...
Python

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

Protocolって何?一言でいうと「“こう振る舞うもの”を型で表す」Protocol は、型ヒントの世界で「このオブジェクトは、こういうメソッドや属性を“持っているもの”として扱える」という“振る舞...
Python

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

Literalって何?一言でいうと「値そのものを型にする」Literal は、型ヒントの世界で「この引数(または値)は、この“決まった値”しか受け付けません」と表現するための道具です。普通の型ヒントは...
Python

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

Unionって何?一言でいうと「型の“どれか”を許すための道具」Union は、型ヒントの世界で「この値は、A か B か C のどれかです」と表現するための仕組みです。形式的にはこうです。from ...
Python

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

Optionalって何?一言でいうと「Noneかもしれない」を型で表す道具Optional は、型ヒントの世界で「この値は、あるときは T 型だけど、ないときは None かもしれない」という状態を表...
Python

Python | テスト・設計・品質:typing 型ヒント

型ヒントって何?まずは「コメント」だと思ってOKPython の「型ヒント(type hints)」は、「この変数や関数は、こういう型を想定しているよ」という情報を、コードの中に書き添える仕組みです。...
Java

Java Tips | 日付・時間:日付加算

「日付加算」は“カレンダーの面倒を Java に任せる”こと日付加算は、「今日から 7 日後」「月末から 1 日後」「3 ヶ月後の同じ日」といった“カレンダー計算”をコードでやることです。これを自前で...
Java

Java Tips | 日付・時間:日時→文字列

「日時→文字列」は“見せ方を決める”作業日時オブジェクト(LocalDate や LocalDateTime など)は、そのままだと「内部的に意味のある値」ですが、人間には少し分かりにくいことがありま...
Java

Java Tips | 日付・時間:文字列→日時

文字列→日時変換の全体イメージ「String で受け取った日付・時刻」を、そのまま文字列のまま扱うと、比較・加算・バリデーションがすべて自前実装になってしまいます。そこでやるべきことはシンプルで、「文...
Java

Java Tips | 日付・時間:Calendar変換

Calendar は「古い日付 API」だが、変換パターンを覚えれば怖くないjava.util.Calendar は、Date と同じく“古い日付 API”です。今の Java では LocalDat...
Java

Java Tips | 日付・時間:Date変換

古い Date と新しい java.time を「つなぐ」という発想java.util.Date は、昔からある「日時クラス」です。でも今の Java では、LocalDate / LocalTime...
Java

Java Tips | 日付・時間:Instant変換

Instant は「世界共通の“瞬間”を表すタイムスタンプ」Instant は、「UTC を基準にした、世界共通の“ある瞬間”」 を表すクラスです。「1970-01-01T00:00:00Z(UTC)...
Java

Java Tips | 日付・時間:ZonedDateTime生成

ZonedDateTime は「タイムゾーン付きの日時」ZonedDateTime は、「日付(年月日)+時刻(時分秒)+タイムゾーン」 をまとめて扱うクラスです。LocalDateTime は「どこ...
Java

Java Tips | 日付・時間:LocalDateTime生成

LocalDateTime は「日付+時刻」をまとめて扱うクラスLocalDateTime は、「年月日」と「時分秒(ナノ秒まで)」を一つにまとめて扱うクラスです。 タイムゾーンは持たないので、「ある...
Java

Java Tips | 日付・時間:LocalTime生成

LocalTime は「時刻だけ」を扱うクラスLocalTime は、「時・分・秒だけ」を扱うクラスです。日付(年月日)もタイムゾーンも持ちません。「営業開始時刻(09:00)」「締切時刻(17:30...
Java

Java Tips | 日付・時間:LocalDate生成

LocalDate は「日付だけ」を扱うクラスLocalDate は、「年月日だけ」を扱うクラスです。時刻(時分秒)もタイムゾーンも持ちません。「請求日」「締切日」「誕生日」「営業日」など、“日付だけ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - コメント追加

コメント追加は「Excelに説明・注意書き・補足情報を埋め込み、使いやすいシートを作る」ための便利テクニックExcel業務自動化では、セルにコメント(メモ)を追加する処理がとても役立ちます。コメントを...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - データ検証設定

データ検証設定は「入力ミスを防ぎ、Excelを“壊れないシート”にする」ための最強テクニックExcel業務自動化では、データ検証(Data Validation)が非常に重要です。なぜなら、次のような...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 条件付き書式

条件付き書式は「値に応じて自動で色や書式を変え、異常値や重要データを一瞬で見分ける」ための武器条件付き書式は、「セルの値に応じて、自動で色・フォント・アイコンなどを変える仕組み」です。人間が目でチェッ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelフィルタ

Excelフィルタは「必要なデータだけを抽出し、業務に必要な情報を瞬時に取り出す」ための超重要スキルExcel業務自動化では、フィルタ(抽出)が非常に多く登場します。なぜなら、実務のExcelは次のよ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelソート

Excelソートは「表を並び替えて、欲しい順番にデータを整理する」ための超実務的テクニックExcel業務自動化で、ソート(並び替え)はかなり頻繁に出てきます。例えば次のような場面です。売上を金額の大き...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - セル背景色変更

セル背景色変更は「Excelの視認性を高め、重要箇所を強調する」ための必須スキルExcel業務自動化では、セルの背景色(塗りつぶし)を変更する処理が非常に多く登場します。なぜなら、業務で扱うExcel...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - セル書式設定

セル書式設定は「Excelの見た目を整え、読みやすく美しい帳票を自動生成する」ための必須スキルExcel業務自動化では、セルの書式設定(フォント・色・罫線・背景色・数値形式など)が欠かせません。なぜな...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - セル置換

セル置換は「Excel内の特定の値を一括で書き換え、データを整形・修正する」ための超重要スキルExcel業務自動化では、セルの値を検索して置換する処理が非常に多く登場します。なぜなら、次のような業務が...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - セル検索

セル検索は「Excelの中から必要な値を探し出し、Pythonで次の処理につなげる」ための超重要スキルExcel業務自動化では、セルを検索する処理が非常に多く登場します。なぜなら、業務で扱うExcel...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 範囲書き込み

範囲書き込みは「Excelの表にまとめてデータを流し込み、テンプレートを一気に完成させる」ための最重要スキルExcel業務自動化では、複数セルにまとめてデータを書き込む(範囲書き込み)ことが非常に多く...
VBA

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

UsedRange は「そのシートで“何かに使われている範囲”をひとかたまりで教えてくれる」まずイメージから。UsedRange は「そのワークシートの中で、“何かしら使われているセルの最小の長方形”...
VBA

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

「最終行取得」は“どこまでデータが入っているか”を知るための超重要テクニックまずイメージから。「最終行取得」は「この列は、いったい何行目までデータが入っているのか?」をコードで調べることです。Exce...
VBA

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

With 構文は「同じ相手に、まとめて命令を出すための“会話モード”」まずイメージからいきます。With 構文は「同じオブジェクトに対して、何回も続けて命令を出したいときに使う“まとめモード”」です。...
VBA

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

「Select回避」とは何か ― “選択してから操作する”クセをやめる発想まず前提から整理します。Excel を手で操作するとき、あなたは必ず「選択してから操作」しています。A1 をクリックして選択 ...
VBA

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

NumberFormat は「セルの“表示のしかた”を決めるためのプロパティ」まず一番大事なイメージから。NumberFormat は「セルの中身そのもの」ではなく、「どう見せるか(表示形式)」を決め...
VBA

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

Borders は「セルや範囲の“罫線”をまとめて操るためのオブジェクト」まずイメージからいきましょう。Font が「文字の見た目」、Interior が「背景色」だとしたら、Borders は「セル...
VBA

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

Interior は「セルの“背景色”などを操るためのオブジェクト」まずイメージから。Font が「文字の見た目」を扱うのに対して、Interior は「セルの中の塗りつぶし(背景色など)」を扱うオブ...
VBA

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

Font は「セルの文字の“見た目”をまとめて操るためのオブジェクト」まずイメージから。Font は「セル(Range)の“文字の見た目”をまとめて持っているオブジェクト」です。太字にするか文字サイズ...
VBA

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

Paste は「クリップボードにあるものを“今ここに貼り付ける”動き」まずイメージから。Paste は「コピーされた内容(クリップボードの中身)を、指定した場所に貼り付ける動き」です。手作業でやってい...
VBA

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

Copy は「セルや範囲を“そのまま別の場所へ複製する”ためのメソッド」まずイメージから。Copy は「選んだセル(Range)を、別の場所へコピーする命令」です。手作業でやっている「コピー → 貼り...
Python

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

14日目のゴールとテーマ14日目のテーマは「ここまで作ったアプリを“仕上げる”感覚を身につける」です。新しい文法をどんどん増やす日ではなく、コードを読みやすく整えるちょっとしたバグを見つけて直すテスト...
Python

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

13日目のゴールとテーマ13日目のテーマは「コードを“モジュール化”して、ちゃんとしたプロジェクト構成にする」です。ここまでで、クラスも関数も使って、タスク管理アプリをかなり育ててきました。でも、まだ...
Python

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

12日目のゴールとテーマ12日目のテーマは 「クラス同士を組み合わせて“アプリの世界観”を作る」 です。昨日は「Task という1つのクラス」を作りました。今日はそこから一歩進んで、クラスを“複数”作...
Python

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

11日目のゴールとテーマ11日目のテーマは「クラスとオブジェクトで“自分だけの型”を作る」です。ここまで、辞書とリストを組み合わせて、かなり複雑なデータも扱えるようになりました。でも、そろそろこう感じ...
Python

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

10日目のゴールとテーマ10日目のテーマは「メニュー付きの“ちゃんとしたコンソールアプリ”を組み立てる」です。ここまでで、関数・リスト・辞書・ファイル・例外・標準ライブラリと、かなりのパーツを学んでき...
Python

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

9日目のゴールとテーマ9日目のテーマは「標準ライブラリを使って“道具箱”を広げる」です。ここまでで、Pythonそのものの文法や、リスト・辞書・関数・ファイル・エラー処理といった“土台”はかなりできて...
Python

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

8日目のゴールとテーマ8日目のテーマは「エラーとちゃんと付き合える“丈夫なアプリ”にする」です。ここまでで、かなりいろいろなことができるようになりましたが、まだ弱いところがあります。それは「想定外の入...
Python

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

7日目のゴールとテーマ7日目のテーマは「アプリのデータを“ファイルに保存して残す”」です。ここまで作ってきた名簿やお会計、貯金シミュレーターは、プログラムを終了すると全部消えていました。今日はここに一...
Python

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

6日目のゴールとテーマ6日目のテーマは 「関数でコードに“名前をつけて整理する”」 です。ここまでで、if・for・while・リスト・辞書を使って、けっこう本格的な処理が書けるようになりました。でも...
Python

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

5日目のゴールとテーマ5日目のテーマは 「複数の情報を“ひとまとめ”にして扱う」 です。昨日は「複数人の名前」をリストで扱いましたよね。今日はさらに一歩進んで、1人分の情報を「セット」で扱うそのセット...
Python

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

4日目のゴールとテーマ4日目のテーマは「複数のデータを“まとめて扱う”力を手に入れる」です。ここまでで、1つの値(1人の年齢、1つの金額)を扱うことはできるようになりました。今日はそこから一歩進んで、...
Python

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

3日目のゴールとテーマ3日目のテーマは「同じことを“くり返す”力を手に入れる」です。昨日までは、「1回だけの処理」や「条件で分かれる処理」でした。今日はそこに、同じ処理を何回も自動でくり返す「何回くり...
Python

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

2日目のゴールとテーマ2日目のテーマは「条件によって“分かれ道”を作る」です。昨日までは、上から順番に“全部”実行されるだけでした。今日はそこに、「もし〜なら、こうする」「そうでなければ、こっちをする...
Python

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

1日目のゴールとテーマ1日目のテーマは「Pythonで“コンピュータに命令する感覚”をつかむ」です。今日はまだ難しいことはやりません。Pythonを動かす環境をイメージするprint でコンピュータに...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 範囲取得

範囲取得は「Excelの表から必要な部分だけを抜き出し、Pythonで自由に加工する」ための超重要スキルExcel業務自動化では、セルの範囲を取得することが非常に多く登場します。なぜなら、業務で扱うデ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 列削除

列削除は「不要な列を取り除き、Excelデータをスリムで扱いやすくする」ための基本操作Excel業務自動化では、列を削除する処理が非常に多く登場します。例えば次のような場面です。不要な項目(メモ欄・備...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 行削除

行削除は「不要なデータ行を自動で取り除き、Excelをクリーンで扱いやすい状態に保つ」ための基本操作Excel業務自動化では、行を削除する処理が非常に多く登場します。例えば次のような場面です。空行を削...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 列追加

列追加は「Excelの表に新しい列を自動で挿入し、計算列・フラグ列・補助列を作る」ための重要テクニックExcel業務自動化では、列を追加する処理が非常に多く登場します。例えば次のような場面です。売上デ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 行追加

行追加は「Excelの表に新しいデータ行を自動で追加し、ログ・明細・履歴を蓄積する」ための超重要テクニックExcel業務自動化では、行を追加する処理が非常に多く登場します。例えば次のような場面です。日...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:不正文字除去

ゴールのイメージをそろえる今回のテーマは「Power Query で“データの中に紛れ込んだ不正文字・余計な文字をきれいに取り除く”実務テンプレ」を身につけることです。ここでいう「不正文字」は、制御文...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:空白を NULL に統一

ゴールのイメージをそろえる今回のテーマは「Power Query で“空白("" や スペースだけの文字列)を NULL に統一する”実務テンプレ」を身につけることです。さっきの「NULL を空白に統...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:NULL を空白に統一

ゴールのイメージをそろえる今回のテーマは「Power Query で NULL(空値)を空白文字に統一する 実務テンプレ」です。NULL が混ざっていると、次のようなトラブルが起きやすくなります。結合...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:全角→半角変換

ゴールのイメージをそろえる今回のテーマは「Power Query で“全角の英数字・カナ・記号などを半角にそろえる”実務テンプレ」を身につけることです。目的はシンプルで、「見た目は同じなのに、全角と半...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:全列トリム(前後空白除去)

ゴールのイメージをそろえる今回のテーマは「Power Query で“全ての列の前後の空白(スペース)を一括で削る”実務テンプレ」を身につけることです。目指すのは、「どの列に空白が紛れ込んでいても、と...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:SharePointフォルダ自動取込

ゴールのイメージをそろえる今回のテーマは「SharePoint 上のフォルダに置かれたファイルを、Power Query で“ローカルフォルダと同じ感覚で自動取込・更新できるようにする実務テンプレ”」...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:Web上CSV自動取込

ゴールのイメージをそろえる今回のテーマは「Web 上に公開されている CSV ファイルを、Power Query で“自動で取り込み・更新できる状態”にする実務テンプレ」です。ローカルのフォルダではな...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:取込失敗ログ作成

ゴールのイメージをそろえる今回のテーマは「Power Query でフォルダ一括取込をしたときに、“うまく読めなかったファイルだけを一覧にした『取込失敗ログ』クエリを作る実務テンプレ」を身につけること...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:ファイル名日付で抽出

ゴールのイメージをそろえる今回のテーマは「ファイル名の中に埋め込まれた日付(例:売上_2024-10-01.csv)を Power Query で読み取り、その日付を使って“欲しい期間だけ抽出する”実...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:最古ファイルのみ取得

ゴールのイメージをそろえる今回のテーマは「フォルダの中に同じ形式のファイルがたくさんあっても、“一番古いファイルだけ”を Power Query で自動的に選んで取り込む実務テンプレ」を身につけること...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:最新ファイルのみ取得

ゴールのイメージをそろえる今回のテーマは「フォルダの中に同じ形式のファイルがたくさんあっても、“一番新しいファイルだけ”を Power Query で自動的に選んで取り込む実務テンプレ」を身につけるこ...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:拡張子別に取込制御

ゴールのイメージをそろえる今回のテーマは「フォルダの中にいろんな種類のファイル(.csv, .xlsx, .txt など)が混ざっていても、“拡張子ごとに取込を制御できる実務テンプレ”を身につけること...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:読み取り専用ファイル対応

ゴールのイメージをそろえる今回のテーマは「読み取り専用になっているファイル(ロック中・共有フォルダ・OneDrive など)を、Power Query で安定して読み込む“実務テンプレ”を理解すること...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:壊れたファイルを自動スキップ

ゴールのイメージをそろえる今回のテーマは「フォルダ内の複数ファイルを一括取込するときに、“壊れているファイル”だけを自動でスキップして、クエリ全体を止めない実務テンプレ」です。壊れたファイルが1つ混ざ...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:空ファイルを自動除外

ゴールのイメージをそろえる今回のテーマは「フォルダ内の複数ファイルを一括取込するときに、“中身が空のファイル”だけを自動で除外する実務テンプレ」です。現場だと、こんなことがよく起きます。フォルダに「ま...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:更新日時を自動列追加

ゴールのイメージをそろえる今回のテーマは「Power Query でデータを取り込むたびに、“いつ更新したか”を自動で列として残す実務テンプレ」です。つまり、最終テーブルの1列として「更新日時」や「更...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:ファイル名を列として追加

ゴールのイメージを先にそろえる今回のテーマは「Power Query で取り込んだデータに、“元ファイル名”を列として追加する実務テンプレ」です。フォルダ内の複数 CSV / Excel を一括取込す...
VBA

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

ClearContents は「セルの“中身だけ”を消すための、とても安全な消しゴム」まず一番大事なイメージから。ClearContents は「セル(Range)の“中身だけ”を消すメソッドです。中...
VBA

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

Clear は「セルの中身や設定を“まっさらにする”ためのメソッド」まずイメージから。Clear は「セル(Range)に対して、“いろいろ付いているもの”をまとめて消す命令」です。Range は「場...
VBA

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

Formula は「セルに入っている“数式そのもの”を読み書きするプロパティ」まずイメージから。Value が「セルの中身(結果の値)」だとしたら、Formula は「セルに入っている数式そのもの(=...
VBA

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

Value は「セルや範囲の“中身そのもの”を表すプロパティ」まず一番大事なイメージから。Value は「セル(Range)の中身そのもの」 を表すプロパティです。Range は「場所」Value は...
VBA

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

Resize は「基準のセル範囲の“縦横サイズ”だけを変えるための道具」Resize は、ある Range(セル範囲)を「基準」にして、その位置はそのままに、“高さ(行数)”と“幅(列数)”だけを変更...
JavaScript

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

14日目のゴールとテーマ14日目のテーマは「この2週間で身につけた“武器”を言語化して、自分のものにする」です。今日は新しい大きなアプリは作りません。代わりに、自分がもうできるようになっていることを整...
JavaScript

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

13日目のゴールとテーマ13日目のテーマは「自分で“ゼロから”ミニアプリを設計して作る」です。ここまで、名簿アプリ・タスクアプリ・名言アプリと、僕が用意した“お題”に沿って作ってきました。今日は一歩進...
JavaScript

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

12日目のゴールとテーマ12日目のテーマは「外部データを“取ってきて使う”体験をする」です。ここまでで、ブラウザの中だけで完結するアプリ(名簿・タスク)を作ってきました。今日は一歩外に出て、外部サービ...
JavaScript

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

11日目のゴールとテーマ11日目のテーマは「コードを“人が読める文章”にする」です。ここまでで、あなたはもう「動くアプリ」を作れるようになっています。今日からは一歩進んで、コードをファイルごとに分ける...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - セル値書き込み

セル値書き込みは「Excelの特定セルにPythonから値を入れ、レポートや帳票を自動生成する」ための最重要スキルExcel業務自動化の中でも セルに値を書き込むことは、ほぼすべての自動化処理の中心に...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - セル値取得

セル値取得は「Excelの特定セルから値を読み取り、Pythonで自由に扱える形にする」ための基本操作Excel業務自動化の中でも セルの値を取得することは最も重要な基礎です。なぜなら、どんな自動化で...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - シート名変更

シート名変更は「Excelのシートをわかりやすく整理し、業務フローに合わせた構造に整える」ための基本操作Excel業務自動化では、シート名を変更するという作業が非常に重要です。なぜなら、シート名が適切...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - シートコピー

シートコピーは「既存のシートをテンプレートとして複製し、同じ構造のシートを量産する」ための超重要テクニックExcel業務自動化では、同じレイアウトのシートを複数作りたいという場面が非常に多いです。例え...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - シート削除

シート削除は「不要なシートを自動で取り除き、Excelを整理する」ための基本操作Excel業務自動化では、不要なシートを削除してスッキリした構造に整えることがよくあります。例えば次のような場面です。テ...
JavaScript

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

10日目のゴールとテーマ10日目のテーマは「同じことを何度も書かないための“関数化”と、コードの整理(リファクタリング)」です。ここまでで、名簿アプリ・タスクアプリを通して、かなり“動くコード”を書い...
JavaScript

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

9日目のゴールとテーマ9日目のテーマは「タスク管理アプリを“実用レベル”に近づける」です。8日目で「追加・完了切替・削除」ができる ToDo アプリができました。今日はそこに、未完了だけ表示する完了タ...
JavaScript

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

8日目のゴールとテーマ8日目のテーマは「タスク管理アプリ(ToDoリスト)の“ちゃんと動く形”を作る」です。これまでの名簿アプリで学んだことを、別テーマのアプリに“移植”していきます。タスクを追加する...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - シート追加

シート追加は「Excelに新しいシートを自動で作り、業務用の構造を整える」ための基本操作Excel業務自動化では、新しいシートを追加してデータを書き込むという作業が非常に多く発生します。例えば次のよう...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - シート取得

シート取得は「Excelのどのシートを扱うかを正確に指定する」ための最重要ステップExcel業務自動化では、「どのシートを読み込むか」 を正しく指定できるかどうかが、後続の処理(読み込み・書き込み・集...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel新規作成

Excel新規作成は「Pythonで空のExcelを作り、自由にデータを書き込める状態にする」ための最初のステップExcel業務自動化の入口は “Excelファイルを新しく作ること” です。ここを押さ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel書き込み

Excel書き込みは「PythonでExcelにデータを出力し、レポートや集計結果を自動生成する」ための最重要スキルExcel業務自動化の本番は “書き込み” です。読み込みだけでは自動化は半分。書き...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel読み込み

Excel読み込みは「ExcelデータをPythonで扱える形に変換する」ための最初の一歩Excel業務自動化の入口は ExcelファイルをPythonで読み込むこと です。読み込んでしまえば、あとは...
Java

Java Tips | コレクション:集合演算

「集合演算」は“重複なしの集まり”同士を比べる道具Java の Set は、「重複を許さない集まり」です。HashSet や LinkedHashSet、TreeSet などが代表ですね。業務では、「...
Java

Java Tips | コレクション:BiMap実装

BiMap は「キーと値の両方から引ける Map」普通の Map<K, V> は「キー → 値」の片方向だけです。でも業務では、「値からも逆引きしたい」場面がよく出てきます。HTTPステータスコード ...
Java

Java Tips | コレクション:MultiMap実装

MultiMap は「1つのキーに“複数の値”をぶら下げる Map」普通の Map<K, V> は「キー1つにつき値1つ」です。でも業務では、「キー1つに対して値が複数ある」場面がよく出てきます。部署...
Java

Java Tips | コレクション:PriorityQueue利用

PriorityQueue は「優先度の高いものから順に取り出せるキュー」PriorityQueue は、普通のキューと違って「入れた順」ではなく「優先度の高い順(または小さい順)」で取り出せるキュー...
Java

Java Tips | コレクション:Stack代替

「Stack代替」は“古い Stack を捨てて、Deque に乗り換える”という発想Java には java.util.Stack というクラスがありますが、今の実務では 「Stack は使わず、D...
Java

Java Tips | コレクション:Deque操作

Deque は「両端から出し入れできるキュー」Deque(デック)は “Double Ended Queue” の略で、「先頭」と「末尾」の両方から要素を出し入れできるコレクションです。普通のキューは...
Java

Java Tips | コレクション:CopyOnWrite利用

CopyOnWrite は「書き込みのたびに“丸ごとコピー”して安全を買う」仕組みCopyOnWrite 系コレクション(CopyOnWriteArrayList / CopyOnWriteArray...
Java

Java Tips | コレクション:同期ラッパー

同期ラッパーは「既存のコレクションを“とりあえず安全にする”ための包み紙」同期ラッパー(synchronized wrapper)は、Collections.synchronizedList や Co...
Java

Java Tips | コレクション:スレッドセーフMap

「スレッドセーフMap」は“同時に触られても壊れない辞書”業務システムでは、「ユーザーID→セッション情報」「商品コード→商品情報」「設定キー→設定値」のように、Map を共有して使う場面が本当に多い...
Java

Java Tips | コレクション:スレッドセーフList

「スレッドセーフList」は“同時に触られても壊れないリスト”業務システムでは、複数スレッドから同じ List にアクセスする場面が普通に出てきます。ログを貯める、イベントを溜める、キャッシュ的に使う...
C#

C# Tips | コレクション・LINQ:Chunk分割

はじめに:「Chunk 分割」は“データを小分けにして扱う”ための技業務でデータを扱っていると、こういう状況がよく出てきます。一度に 10 万件は処理したくないので、1000 件ずつに分けて順番に処理...
C#

C# Tips | コレクション・LINQ:All判定

はじめに:「All 判定」は“全員ちゃんと条件を満たしているか?”を見るチェックリストAny が「1人でもそういう人がいるか?」を見るメソッドだとしたら、All は「全員ちゃんとルールを守れているか?...
C#

C# Tips | コレクション・LINQ:Any判定

はじめに:「Any 判定」は“あるか・ないか”を一瞬で決めるスイッチ業務コードを書いていると、こんなことを知りたくなる場面が山ほどあります。「このリスト、1件でも入ってる?」「この条件を満たすデータっ...
C#

C# Tips | コレクション・LINQ:FirstOrDefault安全版

はじめに:「FirstOrDefault安全版」は“意図しない 0 や null を潰すための仕掛け”FirstOrDefault は LINQ の超定番メソッドですが、その「便利さ」の裏側で、初心者...
C#

C# Tips | コレクション・LINQ:ランダム抽出

はじめに:「ランダム抽出」は“偏りなく一部だけを見る”ための技ランダム抽出は、「大量のデータの中から、ランダムに一部だけ取り出す」ためのテクニックです。テストデータを適当に 100 件だけ見たいとき、...
C#

C# Tips | コレクション・LINQ:シャッフル

はじめに:「シャッフル」は“順番の意味を一度壊す”テクニックシャッフルは、「コレクションの要素の順番をランダムに並べ替える」ことです。トランプを切るイメージが一番近いです。業務でも、実はちょこちょこ出...
C#

C# Tips | コレクション・LINQ:和集合

はじめに:「和集合」は“全部まとめて、ダブりは1つにする”技業務でデータを扱っていると、こういう場面がよく出てきます。「A システムと B システムのユーザーを“全部”見たい」「複数ファイルに分かれて...
C#

C# Tips | コレクション・LINQ:積集合

はじめに:「積集合」は“共通しているものだけを抜き出すフィルター”業務でデータを扱っていると、こういう問いがよく出てきます。「A システムと B システムの両方に登録されているユーザーは?」「マスタに...
C#

C# Tips | コレクション・LINQ:差集合

はじめに:「差集合」は“どっちにだけあるか?”をはっきりさせる技業務でデータを扱っていると、こういう問いがよく出てきます。「昨日はあったけど、今日はなくなったデータはどれ?」「マスタにはあるけど、イン...
C#

C# Tips | コレクション・LINQ:マージ

はじめに:「マージ」は“バラバラの情報を一つの流れにまとめる技”業務システムでは、こういう状況がよく出てきます。「今年分のデータと昨年分のデータを一緒に扱いたい」「マスタと明細をくっつけて、見やすい形...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - HTML タイトル生成

何をしたいユーティリティか:「HTML タイトル生成」ここでの「HTML タイトル生成」は、<title>〜</title> に入れる文字列を、毎回バラバラに組み立てるのではなく、共通ルールで生成する...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - スラッグ生成

何をしたいユーティリティか:「スラッグ生成」ここでの「スラッグ生成」は、人間が読めて、URL や識別子としても扱いやすい「きれいな文字列」を作ることです。ブログ記事の URL、商品ページのパス、カテゴ...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - 識別子生成

何をしたいユーティリティか:「識別子生成」ここでの「識別子生成」は、「一意な ID(識別子)を文字列として作る」処理を、毎回バラバラに書かず、共通ユーティリティにまとめることです。注文番号、セッション...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - 日付文字列生成

何をしたいユーティリティか:「日付文字列生成」ここで目指すのは、「Date を、業務でよく使うフォーマットの文字列に変換する処理」を関数にまとめることです。画面表示、CSV 出力、ログ、固定長ファイル...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - ログ用文字列生成

何をしたいユーティリティか:「ログ用文字列生成」ここで作りたいのは、「人間が読んで状況をすぐ理解できるログ文字列」を、毎回バラバラに書かず、共通のフォーマットで生成するユーティリティです。業務システム...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - SQL エスケープ

何をしたいユーティリティか:「SQL エスケープ」ここでの「SQL エスケープ」は、文字列を SQL の文字列リテラルとして安全な形に整える処理です。ただし、最初にめちゃくちゃ大事なことを言います。本...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - TSV 生成

何をしたいユーティリティか:「TSV 生成」ここで目指すのは、業務データ(配列や配列の配列)から「TSV 文字列」を安全に生成するユーティリティです。TSV(Tab Separated Values)...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - CSV エスケープ

何をしたいユーティリティか:「CSV エスケープ」ここで作りたいのは、「任意の値を“CSV の 1 セルとして安全な文字列”に変換する関数」です。CSV はただのカンマ区切りではなく、「カンマ」「改行...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - 固定長整形

何をしたいユーティリティか:「固定長整形」ここでの「固定長整形」は、文字列を「ちょうど N 文字」にそろえる」ユーティリティです。足りなければ埋める、長ければ切る——これを毎回バラバラに書くのではなく...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - 数値ゼロ埋め

何をしたいユーティリティか:「数値ゼロ埋め」ここでの「数値ゼロ埋め」は、「桁数をそろえるために、足りない分を左側に 0 を付ける」ユーティリティです。1 → "01"(2 桁)12 → "012"(3...
JavaScript

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

7日目のゴールとテーマ7日目のテーマは「名簿アプリに“検索・絞り込み・並び替え”を足して、便利アプリに育てる」です。6日目で「登録して一覧表示する」まではできました。今日はそこに、名前で検索する年齢で...
JavaScript

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

6日目のゴールとテーマ6日目のテーマは「ブラウザ上で動く“名簿アプリ”の最初の形を作る」です。4日目で学んだ「オブジェクト+配列」、5日目で学んだ「HTMLとJavaScriptの連携」を組み合わせて...
JavaScript

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

5日目のゴールとテーマ5日目のテーマは「ブラウザの画面(HTML)とJavaScriptをつなげる」です。昨日まではコンソールの中だけで完結していましたが、今日はついに「画面に出す」側に踏み込みます。...
JavaScript

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

4日目のゴールとテーマ4日目のテーマは「オブジェクトで“1人分の情報”をまとめる」です。昨日までで、配列とループを使って「複数の数字」を扱えるようになりました。今日はそこから一歩進めて、1人分(1件分...
JavaScript

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

2日目のゴールとテーマ2日目のテーマは「条件分岐で“判断できるコード”にする」です。今日は、コンピュータに「状況を見て、自分で選ばせる」感覚を身につけます。もし〜なら、こうするそうでなければ、別のこと...
JavaScript

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

2日目のゴールとテーマ2日目のテーマは「条件分岐で“状況に応じて動きを変える”」です。昨日は「入力して、計算して、表示する」まで行きましたが、今日はそこに「もし〜なら、こうする」という“分かれ道”を加...
JavaScript

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

1日目のゴールとテーマ1日目のテーマは「JavaScriptで“コンピュータに命令する”感覚をつかむ」です。いきなり難しいことはやりません。今日は、JavaScriptってそもそも何者なのか最小限の環...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - 作業フォルダ初期化

作業フォルダ初期化は「毎回の処理をクリーンな状態から始める」ための重要な自動化業務自動化では、処理の途中で生成される中間ファイル・ログ・一時ファイルがフォルダに残り続けると、次のような問題が起きます。...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - 一時ファイル削除

一時ファイル削除は「作業後に残る不要ファイルを自動で片付け、環境を常にクリーンに保つ」ための基本自動化業務で Python を使うと、処理の途中で一時ファイル(temp ファイル)が大量に生成されるこ...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル権限変更

ファイル権限変更は「誰がファイルを読める・書ける・実行できるか」を制御するための重要な操作業務自動化では、ファイルの権限(パーミッション)を正しく設定することが欠かせません。誤った権限は次のような問題...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイルダウンロード整理

ファイルダウンロード整理は「ダウンロードフォルダを自動で整頓し、必要なファイルだけを安全に扱える状態にする」ための前処理業務では、ブラウザや外部システムからファイルをダウンロードした後に、次のような作...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイルアップロード準備

ファイルアップロード準備は「アップロード前にファイルを安全・確実に扱える状態へ整える」ための重要な前処理業務システムにファイルをアップロードする前には、単にファイルを置くだけでは不十分です。多くの現場...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル変更監視

ファイル変更監視は「特定ファイルの更新をリアルタイムで検知し、自動処理を実行する」ための重要な仕組みフォルダ全体を監視するディレクトリ監視に対して、ファイル変更監視は“特定のファイルだけ”に注目して変...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ディレクトリ監視

ディレクトリ監視は「フォルダ内の変化を自動で検知し、即座に処理を実行する」ための強力な仕組み業務では、次のような「フォルダの変化をトリガーにした自動処理」が非常に多くあります。新しいファイルが届いたら...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - フォルダ同期

フォルダ同期は「2つのフォルダを同じ状態に保つ」ための業務自動化の基礎バックアップ先フォルダと作業フォルダを常に同じ状態にしたい、サーバーとローカルのフォルダを同期したい、更新されたファイルだけコピー...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ハッシュ比較

ハッシュ比較は「ファイルの中身が本当に同じか」を正確に判断するための最重要テクニックファイル名が同じでも中身が違うことはあります。サイズが同じでも中身が違うこともあります。しかし ハッシュ(SHA-2...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - 重複ファイル検出

重複ファイル検出は「無駄な容量を削減し、フォルダをクリーンに保つ」ための重要な自動化業務フォルダには、コピー・バックアップ・手動作業の繰り返しによって 同じファイルが複数存在することがよくあります。重...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - z-index設計

z-index は「どのレイヤーが手前に来るか」を決める番号z-index は、要素の「前後関係(レイヤーの順番)」を数字でコントロールするためのプロパティです。値が大きいほど手前、小さいほど奥に表示...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - position: sticky

position: sticky は「スクロールにくっつく、途中まで普通の要素」position: sticky は「最初は普通に流れの中にいるけど、ある位置までスクロールされたら、そこからは固定され...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - position: fixed

position: fixed は「画面に貼り付けて、スクロールしても動かさない」position: fixed は、要素を「画面(ビューポート)」に固定するためのプロパティです。スクロールしても、そ...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - position: absolute

position: absolute は「レイアウトの流れから抜けて、好きな場所に貼り付ける」position: absolute は、普通の要素と違って「文書の流れ(通常フロー)」から外れます。その...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - position: relative

position: relative は「その場にいながら、ちょっとだけズラす&基準点になる」ものposition: relative は、ざっくり言うと普段どおりその場所に配置されるそこから top...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - レスポンシブカラム

レスポンシブカラムのゴールをまずイメージするレスポンシブカラムは、ざっくり言うとこういう動きです。スマホ:1カラム(縦一列)タブレット:2カラムPC:3〜4カラム「画面幅に応じてカラム数が変わるカード...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - 固定+可変レイアウト

「固定+可変レイアウト」とは何かをまずイメージで掴む固定+可変レイアウトは、片方(または一部)の幅を「固定」、残りを「可変」にするレイアウトです。代表的な例はこうです。左:サイドバー 240px 固定...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - repeat関数

repeat 関数を理解すると「同じパターンのカラム・行」が一瞬で書けるrepeat() は CSS Grid 専用の関数で、「同じ定義を何回も書くのを省略するためのショートカット」 です。grid-...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - auto-fill / auto-fit

auto-fill / auto-fit を理解すると「カードが自動で詰まるグリッド」が作れるGrid の auto-fill と auto-fit は、「画面幅に応じてカードの数を自動で増減させたい...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - grid-template-areas

grid-template-areas を使うと「レイアウトの設計図」をそのまま CSS に書けるGrid の中でも grid-template-areas は、複雑なレイアウトを“文字で描く”ように...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - 古いファイル削除

古いファイル削除は「容量圧迫を防ぎ、フォルダを常にクリーンに保つ」ための基本自動化業務システムは毎日ファイルを生成し続けるため、放置するとフォルダが肥大化し、検索性が落ち、最悪ディスク容量を圧迫します...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ログファイル整理

ログファイル整理は「溜まり続けるログを自動で管理し、容量圧迫や検索性の低下を防ぐ」ための基礎スキル業務システムは毎日ログを出力し続けるため、放置するとフォルダが肥大化し、検索性が悪くなり、最悪ディスク...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - 大容量ファイルコピー

大容量ファイルコピーは「安全に・確実に・途中で落ちにくく」行うことが最重要数 GB〜数十 GB のファイルを扱うとき、「普通にコピーするだけ」では、途中失敗・メモリ不足・時間が読めない、といった問題が...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル結合

ファイル結合は「分割されたデータを元の形に戻す」ための基本操作業務自動化では、巨大ファイルを分割して扱った後、最終的に元のファイルへ戻す処理(結合)が必要になる場面が多くあります。特に次のようなケース...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル分割

ファイル分割は「大きすぎるファイルを扱いやすいサイズに分ける」ための重要な自動化テクニック業務では、巨大なログファイル・CSV・テキストデータを扱うことがよくあります。しかし、ファイルが大きすぎると次...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - TAR圧縮

TAR圧縮は「大量ファイルを効率よくまとめる」ための業務向け技術ZIP と並んでよく使われる圧縮形式が TAR(タール) です。特に Linux・サーバー環境では TAR が標準的で、バックアップ・ロ...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ZIP解凍

ZIP解凍は「受け取ったデータを正しく展開し、処理可能な状態に戻す」ための基本操作業務自動化では、メール添付・外部システム出力・バックアップファイルなど、ZIP形式で受け取るデータは非常に多いです。P...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ZIP圧縮

ZIP圧縮は「ファイルをまとめて軽くし、安全に保管・転送する」ための基本技術業務自動化では、ZIP圧縮は非常に重要な役割を持ちます。レポートをまとめてメール送信したり、バックアップを軽量化したり、複数...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - バックアップ世代管理

バックアップ世代管理は「古いバックアップを自動で整理し、必要な世代だけ残す」ための仕組みバックアップは作るだけでは不十分で、古いバックアップをどう扱うかが非常に重要です。バックアップが増え続けると、デ...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - バックアップ作成

バックアップ作成は「データを守る」業務自動化の中心機能業務自動化の中でも、バックアップ作成は特に重要です。ファイル破損・誤削除・上書きミス・システム障害など、どんな現場でも起こり得るトラブルからデータ...
Python

Python Excel操作 逆引き集 | 書き込みでシートにテーブル形式を作る

何をしたいテクニックなのかゴールはこうです。「pandas の DataFrame を Excel に書き出すとき、ただの“罫線付きの表”ではなく、Excel の“テーブル機能(フィルタ付きのあれ)”...
Python

Python Excel操作 逆引き集 | 書き込み時に列書式を適用する

何をしたいテクニックなのかゴールはこうです。「pandas の DataFrame を Excel に書き出すとき、特定の列に“見た目の書式”をきちんと適用したい」たとえば、金額は「カンマ区切り・右寄...
Python

Python Excel操作 逆引き集 | DataFrameの列幅を自動調整して書き出す(xlsxwriter + 計算)

何をやりたいテクニックなのかゴールはこうです。「pandas の DataFrame を Excel に書き出すとき、列幅を“中身にちょうどいい幅”に自動調整したい」xlsxwriter をエンジンに...
Python

Python Excel操作 逆引き集 | 書き込み時のエンジン指定(xlsxwriter/openpyxl)

「エンジンを指定する」ってそもそも何をしているのかpandas が Excel に書き出すとき、実際に .xlsx ファイルを作っているのは「pandasそのもの」ではなく、openpyxl や Xl...
Python

Python Excel操作 逆引き集 | 書き込み開始セルを指定

何をするオプションなのかを一言でいうとstartrow= と startcol= は、「DataFrame を Excel に書き出すとき、どのセルから書き始めるか」を指定するためのオプションです。行...
Python

Python Excel操作 逆引き集 | 書き込み時にヘッダーを出力しない

まず「ヘッダーを出さない」とは何を意味するか通常 DataFrame.to_excel() を呼ぶと、1行目に「列名(カラム名)」が書き出されます。これが ヘッダー行 です。header=False ...
Python

Python Excel操作 逆引き集 | 書き込み時にインデックスを出力しない

そもそも「インデックス」って何者かpandas の DataFrame には、左端に「0, 1, 2, …」と並ぶ“行番号”のようなものがあります。これが インデックス(index) です。Pytho...
Python

Python Excel操作 逆引き集 | 既存ファイルにシート追加で書き出す

何をしたい機能なのかをまず言葉でつかむやりたいことはこうです。「すでに存在する Excel ファイル(既存ブック)に、新しいシートを“追加”して書き込みたい。既存のシートはそのまま残したい。」そのため...
Python

Python Excel操作 逆引き集 | 複数シートを書き出す

まずゴールのイメージをはっきりさせるやりたいことはシンプルです。「複数の DataFrame を、1つの Excel ファイルの別々のシートに書き出したい」。pandas では、そのためにpandas...
Python

Python Excel操作 逆引き集 | ExcelへDataFrameを書き出す

ゴールのイメージを先に共有するここまで「Excel → DataFrame」の話をしてきましたが、現場ではその逆、「DataFrame → Excel」に書き出したい場面もめちゃくちゃ多いです。Dat...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - フォルダサイズ計算

フォルダサイズ計算は「どこがどれだけ容量を食っているか」を見抜く技術業務自動化をしていると、「このフォルダ、どれくらい容量を使っているんだろう?」「バックアップ前にフォルダサイズを知りたい」「容量が大...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - 空フォルダ削除

空フォルダ削除は「不要な作業ディレクトリを自動で掃除する」ための基本操作業務自動化では、処理の途中で一時フォルダを作ったり、日付ごとにフォルダを生成したりすることがよくあります。しかし、処理が終わった...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ディスク容量取得

ディスク容量取得は「容量不足による業務停止」を防ぐための重要スキル業務自動化では、ディスク容量の監視が非常に重要です。「バックアップ前に空き容量を確認したい」「ログが増えすぎてサーバーが止まるのを防ぎ...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル数カウント

ファイル数カウントは「フォルダの状態を把握する」ための基本操作業務自動化では、フォルダ内のファイル数を数える場面がとても多くあります。「未処理ファイルが何件あるか知りたい」「バックアップ対象のファイル...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - 特定拡張子検索

特定拡張子検索は「必要なファイルだけを正確に抽出する」ための基本スキル業務自動化では、フォルダの中から 特定の拡張子だけを探す処理が非常に多く登場します。「CSV だけ処理したい」「画像ファイルだけ集...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - 再帰フォルダ検索

再帰フォルダ検索は「階層構造を丸ごと探索する」ための最重要テクニック業務自動化では、フォルダが1階層とは限りません。実際には、次のような階層構造が普通に存在します。project/ ├── data/...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル検索

ファイル検索は「必要なファイルだけを正確に見つける」ための自動化の基礎業務自動化では、フォルダの中から「条件に合うファイルだけ」を探し出す処理が非常に多く登場します。「特定の拡張子だけ探したい」「名前...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル名一括変更

ファイル名一括変更は「大量ファイルを一瞬で整理する」ための最重要スキル業務自動化では、ファイル名を一括で整える場面が非常に多くあります。「日付を付けたい」「連番にしたい」「特定の文字列を置換したい」「...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - 拡張子変更

拡張子変更は「ファイル名操作」の基本であり業務自動化の入口拡張子変更は、業務自動化の中で非常に頻繁に登場します。「.txt を .csv に変換したい」「画像ファイルの拡張子を一括変更したい」「処理済...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル作成日時取得

「ファイル作成日時取得」は“いつ生まれたか”を知るための情報業務自動化をしていると、「このファイルはいつ作られたものか?」「古いファイルだけアーカイブしたい」「一定期間より前に作られたファイルを削除し...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル更新日時取得

「ファイル更新日時取得」は“最新データを見抜く”ための武器業務自動化をしていると、「どのファイルが一番新しいか知りたい」「最近更新されたファイルだけ処理したい」「古いファイルをアーカイブしたい」といっ...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイルサイズ取得

「ファイルサイズ取得」は“重さを意識した”業務自動化の入口業務自動化をしていると、「このファイル、どれくらいの容量があるんだろう?」「大きすぎるファイルはスキップしたい」「バックアップ前にサイズをログ...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル存在確認

「ファイル存在確認」は業務自動化の“安全装置”業務自動化でファイルを扱うとき、最初に必ずやってほしいのが「そのファイル、本当にある?」という確認です。存在しないファイルを開こうとすると FileNot...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - フォルダ作成

Pythonで「フォルダ作成」を確実にマスターするフォルダ作成は、業務自動化の中でも最も基本でありながら、実務で非常に重要な操作です。「日付ごとのフォルダを自動生成する」「処理前に作業フォルダを作る」...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - フォルダ削除

Pythonで「フォルダ削除」を安全に扱うための完全ガイドフォルダ削除は、業務自動化の中でも特に慎重さが求められる操作です。「古いバックアップフォルダを定期的に削除する」「処理後の一時フォルダを掃除す...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル削除

Pythonで「ファイル削除」を安全に扱うための基礎と実務テンプレートファイル削除は業務自動化の中でも特に慎重さが求められる操作です。「不要ファイルの定期削除」「処理後の一時ファイルの掃除」「エラーフ...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル移動

Pythonで「ファイル移動」を完全に理解するファイル移動は、業務自動化の中でも特に使用頻度が高い操作です。「処理済みフォルダへ移動する」「エラーになったファイルだけ別フォルダに隔離する」「日付ごとに...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイルコピー

Pythonで「ファイルコピー」を業務レベルで使いこなす業務自動化でファイルコピーは、ほぼ必ずと言っていいほど登場します。「毎日生成されるレポートをバックアップフォルダにコピーする」「特定の拡張子のフ...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - フォルダ一覧取得

Pythonで「フォルダ一覧取得」をマスターしようファイル一覧が取れるようになったら、次の一歩は「フォルダ(ディレクトリ)だけを一覧で取る」ことです。業務自動化では「このフォルダの直下にあるサブフォル...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル一覧取得

Pythonで「ファイル一覧取得」をマスターしようPythonで業務自動化をするとき、最初に覚えておくと圧倒的に便利なのが「フォルダの中身を一覧で取る」ことです。例えば「このフォルダにあるCSVを全部...
Python

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

isortって何?まずは役割を一言でつかむisort は、Python の import 文を自動で並び替えてくれるツールです。「import の順番なんてどうでもよくない?」と思うかもしれませんが、...
Python

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

ruffって何?一言でいうと「超高速オールインワンLint&フォーマッタ」ruff は、Python のコードをチェックするための「超高速リンター兼フォーマッタ」です。flake8 や isort、部...
Python

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

blackって何?一言でいうと「コード自動整形マシーン」black は、Python のコードを「自動できれいな形に整えてくれるフォーマッタ」です。flake8 が「ここおかしいよ」と指摘する先生だと...
Python

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

flake8 って何?一言でいうと「コードの赤ペン先生」flake8 は、Python のコードを自動でチェックしてくれる「リンター(Linter)」です。「文法的には動くけど、読みづらい・バグの元に...
Python

Python | テスト・設計・品質:コードレビュー

コードレビューって何?まずは目的からはっきりさせるコードレビューは、「他の人(または未来の自分)が、あなたの書いたコードを読んで、気づいたことをフィードバックするプロセス」です。バグを見つけるため読み...
Python

Python自動化ライブラリ100選

Pythonの自動化で実務に使われるライブラリを、用途別に整理した一覧表としてまとめます。ファイル・システム操作Noライブラリ主な用途1osファイル・フォルダ操作2pathlibパス操作3shutil...
Java

Java Tips | コレクション:固定長キュー

固定長キューは「常に“最後のN件だけ”を覚えておく箱」固定長キューは、「新しいものをどんどん入れるけれど、サイズは最大N件まで」「あふれたら“一番古いもの”から自動的に捨てる」というルールを持ったキュ...
Java

Java Tips | コレクション:LRUキャッシュ

LRUキャッシュは「よく使うものだけを手元に置き、古いものから捨てる」箱業務システムでは、「毎回DBに取りに行くのは重いけど、全部メモリに載せるのもキツい」みたいな場面がよく出てきます。そこで出てくる...
Java

Java Tips | コレクション:Enumコード検索

Enumコード検索は「外から来たコード値を“正しいEnum”に変換する」技業務システムでは、DBやAPI、設定ファイルなどから「コード値」が文字列や数値で飛んできます。"N" なら新規、"P" なら処...
Java

Java Tips | コレクション:Enum名前一覧

Enum名前一覧は「コード上の識別子を“文字列の一覧”として取り出す」技Enum は「定数の集合」ですが、その一つ一つには「名前(識別子)」があります。Status.NEW の NEW の部分です。業...
Java

Java Tips | コレクション:Enum一覧取得

Enum一覧取得は「コードに埋めた“選択肢”を、動的に取り出す」技Enum は「定数の集合」を型として表現する仕組みです。ステータス、区分コード、画面のプルダウン候補など、業務システムで大活躍します。...
Java

Java Tips | コレクション:Stream→Optional

Stream→Optional は「“0件かもしれない結果”を安全に受け取る」技Stream は「0件以上の要素の流れ」です。でも業務では、「この条件に合うものを“1件だけ”取りたい」「見つからないか...
Java

Java Tips | コレクション:Optional→Stream

Optional→Stream は「あるかもしれない1件」を“流れ”に乗せる技Optional は「値があるかもしれない/ないかもしれない」を表す箱です。Stream は「0件以上の要素の流れ」です。...
Java

Java Tips | コレクション:nullセーフStream

「nullセーフStream」は「nullかもしれないコレクションを、そのままStreamで扱う」技業務コードでは、本当は良くないけれど、現実として「null が返ってくるコレクション」がたくさんあり...
Java

Java Tips | コレクション:distinctByKey

distinctByKey は「“このキーで一意”をコードに刻む」技Stream の distinct() は、「要素そのものが同じかどうか」で重複を消します。でも業務では、「ユーザーIDが同じなら重...
Java

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

join処理は「バラバラの要素を“1本の文字列”にまとめる」技業務システムでは、「IDをカンマ区切りでログに出したい」「SQLの IN ('A','B','C') を組み立てたい」「画面に 山田 / ...
Python

Python | 1 日 90 分 × 7 日アプリ学習:繰り返し入力メモアプリ(初級編)

1日目のゴールと作るもののイメージ1日目のテーマは「Python の while 文で“終わりのある繰り返し”をちゃんとコントロールできるようになること」です。題材は「繰り返し入力メモアプリ」。何度も...
JavaScript

JavaScript | 1 日 120 分 × 7 日アプリ学習:SPA風タブ切り替えアプリ

1日目のゴールと今日やること1日目のテーマは「URL のハッシュ(#)を使って、SPA っぽいタブ切り替えを実現する」ことです。“SPA 風”というのは、ページ全体をリロードせずに、タブを切り替えるだ...
Ruby

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

14日目のゴールとテーマ14日目のテーマは「“作れる人”としての総仕上げ:パターンを言語化して、自分のアプリに応用する」です。ここまでで、名簿アプリとタスク管理アプリを作り、保存・読み込み・絞り込み・...
Ruby

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

13日目のゴールとテーマ13日目のテーマは「アプリ全体を“ひとまとまり”として扱う:Appクラス化と設計の整理」です。ここまでで、名簿アプリとタスク管理アプリをそれぞれ育ててきましたが、コードはまだ「...
Ruby

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

2週間で身につく、アプリを作りながら学ぶRubyの基本 12日目12日目のゴールとテーマ12日目のテーマは「タスク管理アプリを“使いやすくする”:絞り込み・並べ替え・完了タスクの扱い」です。11日目ま...
Ruby

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

11日目のゴールとテーマ11日目のテーマは「タスク管理アプリに“記憶”と“締め切り”を与える」です。10日目で、Task クラスとメニュー付きのタスク管理アプリの骨格ができました。今日はそこから一歩進...
C#

C# Tips | コレクション・LINQ:安全取得

はじめに:「安全取得」は“落ちないコード”を書くための必須スキル業務システムで一番イヤなのは、「たまたまデータがなかっただけで落ちる」パターンです。IndexOutOfRangeException、I...
C#

C# Tips | コレクション・LINQ:キー存在判定

はじめに:「キー存在判定」は“ある前提で動くか・ない前提で動くか”を決めるスイッチ業務システムで Dictionary を使い始めると、必ず出てくる問いがあります。「このキー、本当にある前提で動いてい...
C#

C# Tips | コレクション・LINQ:Dictionary→List

はじめに:Dictionary→List は“いったん平らに戻す”操作Dictionary は「キーで一発検索できる」便利な入れ物ですが、ときどき「順番に並べて処理したい」「LINQ でゴリゴリ絞り込...
C#

C# Tips | コレクション・LINQ:List→Dictionary

はじめに:「List→Dictionary」は“ただの列に索引をつける作業”業務コードを書いていると、最初はだいたい List<T> から始まります。社員一覧、商品一覧、売上明細一覧……どれもまずは「...
C#

C# Tips | コレクション・LINQ:辞書変換

はじめに:「辞書変換」は“検索しやすい形に並び替える技”業務でよくあるのが、社員番号から社員情報をすぐ取りたい商品コードから商品情報を一発で引きたい部署コードから部署名をすぐ知りたいこういう「キーから...
C#

C# Tips | コレクション・LINQ:最小値取得

はじめに:「最小値取得」は“いちばん小さい値を素早く見つける技”業務システムでは、最大値と同じくらい「最小値」もよく使います。最も安い商品価格最も古い日付(最初の処理日)最も少ない数量最も短い対応時間...
C#

C# Tips | コレクション・LINQ:最大値取得

はじめに:「最大値取得」は“いちばん大きいものを一瞬で見つける技”業務システムでは、よくこういう問いが出てきます。「今日の売上の最大金額は?」「この顧客の最新購入日は?」「この一覧の中で、いちばん大き...
C#

C# Tips | コレクション・LINQ:平均算出

はじめに:「平均算出」は“感覚をつかみやすい数字に整える技”合計は「全体の大きさ」を教えてくれますが、平均は「1件あたりどれくらいか?」という“感覚”を教えてくれます。平均単価平均購入金額平均対応時間...
C#

C# Tips | コレクション・LINQ:合計算出

はじめに:「合計算出」は“バラバラなお金や数を一つの数字にまとめる技”業務システムで「合計」は、ほぼ必ず出てきます。売上合計数量合計工数合計C# / LINQ では Sum を使うことで、for 文を...
Ruby

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

10日目のゴールとテーマ10日目のテーマは「別のアプリに“型”を移植する:タスク管理ミニアプリを作り始める」です。ここまでで、名簿アプリをかなり育ててきました。今日はあえてテーマを変えて、「人」ではな...
Ruby

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

9日目のゴールとテーマ9日目のテーマは「名簿アプリを“きれいに整える”:リファクタリングとエラー処理の強化」です。ここまでで、機能としてはかなり充実した名簿アプリができています。今日はそこから一歩進め...
Ruby

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

8日目のゴールとテーマ8日目のテーマは「名簿アプリに“記憶”を持たせる:ファイルへの保存と読み込み」です。ここまでの名簿アプリは、起動している間はちゃんと動きますが、終了するとデータが消えてしまいます...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - Grid 3カラム

Grid 3カラムを理解すると「カード一覧・3分割レイアウト」が一気に楽になる3カラムレイアウトは、カード一覧、サービス紹介、ブログ一覧などでめちゃくちゃよく使います。Flexbox でも組めますが、...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - Grid 2カラム

Grid 2カラムを理解すると「左右にきれいに分けるレイアウト」が一瞬で作れるCSS Grid の 2 カラムレイアウトは、「左に画像・右にテキスト」「左にラベル・右に入力欄」「2カラムのカード一覧」...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - gapプロパティ

gap を理解すると「要素間の余白管理」が一気にシンプルになるgap は、Flexbox や Grid で 「要素同士の間隔」だけをまとめて管理できるプロパティです。今まで margin-right ...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - flex-basis戦略

flex-basis を理解すると「初期幅の戦略」が一気に上手くなるflex-basis は Flexbox の中でも、「要素が最初にどれくらいの幅を取るか」を決めるプロパティです。flex-grow...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - flex-shrink制御

flex-shrink を理解すると「狭くなったときの振る舞い」をコントロールできるflex-shrink は、コンテナが狭くなったときに「どの要素をどれだけ縮めるか」を決めるプロパティです。flex...
Ruby

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

7日目のゴールとテーマ7日目のテーマは「名簿アプリを“ちょっと賢く”する:検索と並べ替え、そして入力ミスへの対応」です。6日目までで、Person クラス+配列+メニューで、かなりアプリらしい形になり...
Ruby

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

6日目のゴールとテーマ6日目のテーマは「Personクラスを“アプリっぽく”動かす:メニューで操作できる名簿アプリ」です。5日目で「Person という型」を作り、person.introductio...
Ruby

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

5日目のゴールとテーマ5日目のテーマは「ハッシュから一歩進んで、“自分の型(クラス)”を作る」です。4日目までは、1人分の情報をハッシュで表現していました。今日はそこから一歩進めて、「人」を表す Pe...
Ruby

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

4日目のゴールとテーマ4日目のテーマは「1人分の情報を“ひとまとまりのデータ”として扱う」です。3日目までは「自己紹介文=ただの長い文字列」として扱っていました。今日はそこから一歩進めて、1人分の情報...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:フォルダ内Excel一括取込

ゴールのイメージをそろえる今回のテーマは「フォルダの中にある複数の Excel ファイルを、Power Query で“まとめて一括取込して、1つの表に縦に並べる”実務テンプレ」を、初心者でも腹落ちす...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:フォルダ内Excel一括取込

ゴールのイメージを先にそろえる今回のテーマは「フォルダの中にある複数の Excel ブックを、Power Query で一括取込して、毎回[更新]ボタンだけで最新状態に保てる“実務テンプレ”を作ること...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:フォルダ内CSV一括取込

ゴールのイメージを先にそろえる今回のテーマは「フォルダに入っている複数の CSV を、Power Query で一括取込して、毎回[更新]ボタンだけで最新状態に保てる“実務テンプレ”を作ること」です。...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:Excel特定セル範囲取込

ゴールのイメージを先にそろえる今回のテーマは「Excelブックの中から、シート全体ではなく“特定のセル範囲だけ”を Power Query で安定して取り込む実務テンプレ」です。たとえば「B3:F20...
Ruby

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

3日目のゴールとテーマ3日目のテーマは「“たまるデータ”を扱う:配列でまとめて持つ」です。1〜2日目で、1人分・複数人分の自己紹介を作れるようになりました。今日はそこから一歩進めて、複数人分の自己紹介...
Ruby

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

2日目のゴールとテーマ2日目のテーマは「同じ処理を“部品(メソッド)”にして、何度でも使い回せるようにする」です。1日目で作った自己紹介アプリは、1人分の自己紹介を作るものでした。今日はそこから一歩進...
Ruby

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

1日目のゴールとテーマ1日目のテーマは「Rubyで“しゃべるアプリ”を作る」です。いきなり難しいことはやりません。まずは、画面に文字を出すキーボードから入力を受け取るその入力を使って、ちょっと“会話っ...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - 桁数制限

何をしたいユーティリティか:「桁数制限」ここでの「桁数制限」は、数値や数値文字列の「桁数」をルール通りに制限するユーティリティです。例えば、こんな要件がよくあります。金額は「整数 9 桁まで、小数 2...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - 小数丸め

何を作るのか:「小数丸め」ユーティリティここで作りたいのは、「小数点以下を指定桁数で丸める」処理を、毎回バラバラに書かず、分かりやすい関数にまとめたものです。「四捨五入」「切り上げ」「切り捨て」を、業...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - 通貨変換表示

何をしたいユーティリティか:「通貨変換表示」ここで目指すのは、単に「金額にカンマを付ける」だけではなく、「通貨単位や通貨コードを付けて、人間が見て意味が分かる形で表示する」ユーティリティです。たとえば...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - カンマ付与

何をしたいユーティリティか:「カンマ付与」ここで作りたいのは、数値や数値っぽい文字列に「3 桁ごとのカンマ」を付けるユーティリティです。1000 → 1,0001234567 → 1,234,567-...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - 金額フォーマット

何を作るのか:「業務で使える金額フォーマット」ここで目指すのは、「数値を“人間が業務で読みやすい金額表示”に変換するユーティリティ」です。例えば、こんな変換を安定して行いたいイメージです。format...
Java

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

zip処理は「2つの列を“ペアの列”にする」技zip(ジップ)処理は、「2つのコレクションを、同じ位置同士でペアにしていく」操作です。名前のリスト点数のリストこの2つを「名前+点数」のペアにしたい——...
Java

Java Tips | コレクション:インデックス付きループ

インデックス付きループは「位置情報をちゃんと意識して回す」技for (T x : list) の拡張 for 文はシンプルで読みやすいですが、「何番目か(インデックス)」が欲しくなった瞬間に、ちょっと...
Java

Java Tips | コレクション:ページング

ページングは「長い一覧を“ちょうどいい一枚”に切り分ける」技業務システムでは、「検索結果が1万件あります」とか普通に起こります。でも画面に1万件は出せませんよね。だから「1ページ20件」「3ページ目を...
Java

Java Tips | コレクション:Stream例外ラップ

「Stream例外ラップ」は「チェック例外を“Streamで扱える形”に着替えさせる」技Stream の map や forEach に渡すラムダは、基本的に「チェック例外を投げられない」制約がありま...
Java

Java Tips | コレクション:並列Stream制御

並列Stream制御は「速くしたいけど、暴れさせたくない」技Stream にはstream()(普通の順次処理)とparallelStream()(並列処理)の2つの世界があります。「CPUコアを全部...
JavaScript

JavaScript Tips | 文字列ユーティリティ:URL 系 - ファイル名取得

何をしたいユーティリティか:「ファイル名取得」ここで作りたいのは、URL やパス文字列から「ファイル名だけ」を取り出す小さな関数です。例えば、こういうイメージです。 → "logo.png"/down...
JavaScript

JavaScript Tips | 文字列ユーティリティ:URL 系 - 拡張子取得

何をしたいユーティリティか:「拡張子取得」ここで作りたいのは、URL やパス文字列から「拡張子(.png や .js など)」だけを取り出す小さな関数です。 → "png"/scripts/app.m...
JavaScript

JavaScript Tips | 文字列ユーティリティ:URL 系 - パス結合

「パス結合」で何を楽にしたいのか「パス結合」は、URL のパスを安全にくっつけるユーティリティです。"/api" と "users" を結合して "/api/users" にしたい"/api/" と ...
JavaScript

JavaScript Tips | 文字列ユーティリティ:URL 系 - ハッシュ削除

「ハッシュ削除」で本当にやりたいことここでの「ハッシュ削除」は、URL の # 以降(フラグメント)をきれいに取り除いた新しい URL を作るユーティリティのことです。例えば、こんなことをしたい場面が...
JavaScript

JavaScript Tips | 文字列ユーティリティ:URL 系 - ハッシュ取得

「ハッシュ取得」で何を取りたいのかここでの「ハッシュ取得」は、URL の # 以降の部分(フラグメント)を、きれいに取り出して使いやすくするユーティリティのことです。例えば、こんな URL を考えます...
C#

日本の企業・官公庁が公開している無料API

日本では政府・自治体・企業が公開している無料APIが多数あります。実務や個人開発でよく使われるものを、カテゴリ別に整理して紹介します。官公庁・政府系API統計・経済データ1. 総務省統計局 – e-S...
JavaScript

JavaScript Tips | 文字列ユーティリティ:URL 系 - クエリ削除

「クエリ削除」で本当にやりたいこと「クエリ削除」は、URL の ? 以降に付いているパラメータのうち、いらないものだけを取り除いて、新しい URL を作り直す処理です。例えば、こんなことをやりたい場面...
JavaScript

JavaScript Tips | 文字列ユーティリティ:URL 系 - クエリ取得

「クエリ取得」で何をしたいのかをはっきりさせるここでの「クエリ取得」は、URL の ? 以降(クエリ文字列)から、パラメータを取り出して使いやすい形にすることです。/search?q=JavaScri...
JavaScript

JavaScript Tips | 文字列ユーティリティ:URL 系 - クエリ生成

まず「クエリ生成」で何を自動化したいのかここで言う「クエリ生成」は、オブジェクト(連想配列)から ?key=value&key2=value2 みたいなクエリ文字列を、安全に・楽に作るユーティリティの...
JavaScript Tips

JavaScript Tips | 文字列ユーティリティ:URL 系 - URL デコード

「URL デコード」で何を取り戻したいのかURL デコードは、URL の中で「%E3%81%82」みたいに変換されてしまった文字を、人間が読める元の文字列に戻すことです。エンコードは「安全に送るための...
JavaScript

JavaScript Tips | 文字列ユーティリティ:URL 系 - URL エンコード

まず「URL エンコード」で何を守りたいのかURL エンコードは、「URL の中に入れてはいけない(入れると誤解される)文字を、安全な形に変換すること」です。日本語やスペース、? や & などの記号を...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - flex-grow活用

flex-grow を理解すると「余った幅の配分」が思い通りになるflex-grow は、Flexbox の中でも 「余ったスペースをどの子要素にどれだけ渡すか」 を決めるプロパティです。「このボック...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - align-items全パターン

align-items を理解すると「縦方向の揃え」が一気に気持ちよくなるalign-items は Flexbox の中で、「交差軸(メイン軸と直角の方向)の揃え方」を決めるプロパティです。横並びな...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - justify-content全パターン

justify-content を理解すると「横方向の配置」が思い通りになるjustify-content は Flexbox の中でも、「子要素を横方向にどう並べるか」を決める超重要プロパティです。...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - Flexbox縦並び

Flexbox 縦並びを理解すると「縦方向レイアウト」が一気に整理されるFlexbox は横並びだけじゃなく、縦方向のレイアウト(縦積み・上下の余白調整・フッターを下に押し下げる)にもめちゃくちゃ強い...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - Flexbox横並び

Flexbox 横並びを理解すると「並べる・揃える・余白を配る」が一気に楽になる横並びレイアウトは、ナビメニュー、カード一覧、ボタンの並びなど、どのサイトでも必ず出てきます。Flexbox を使うと、...
C#

C# Tips | コレクション・LINQ:件数カウント

はじめに:「件数カウント」は“システムの現状を数字でつかむ道具”業務システムでは、常に「いま何件あるか?」が問われます。未処理の件数エラー件数今日登録された件数これをコードで表現するのが「件数カウント...
C#

C# Tips | コレクション・LINQ:グルーピング

はじめに:「グルーピング」は“バラバラの明細を、かたまりにまとめる技”業務システムでは、こんなことをよくやります。「部署ごとに社員をまとめたい」「顧客ごとに売上を集計したい」「日付ごとにアクセス数を集...
C#

C# Tips | コレクション・LINQ:フィルタリング

はじめに:「フィルタリング」は“欲しいデータだけをすくい取る作業”業務システムの一覧画面って、だいたいこういう条件がありますよね。「部署=営業だけ」「状態=未処理だけ」「金額が 10,000 円以上だ...
C#

C# Tips | コレクション・LINQ:ページング

はじめに:「ページング」は“データを一口サイズに切り分ける技”業務システムの一覧画面で、「1ページ 20件」「次へ」「前へ」といった UI をよく見ますよね。これが「ページング」です。データは何千件・...
C#

C# Tips | コレクション・LINQ:カスタムソート

はじめに:「カスタムソート」は“業務ルールをそのまま並び順にする技”「優先度は High → Middle → Low の順」「ステータスは 未処理 → 処理中 → 完了 の順」「部署コードは A, ...
C#

C# Tips | コレクション・LINQ:逆順ソート

はじめに:「逆順ソート」は“優先度の高いものを先頭に持ってくる技”業務システムでは「新しい順」「金額の大きい順」「重要度の高い順」のように、“大きいほう・新しいほうを先頭にしたい”場面がとても多いです...
C#

C# Tips | コレクション・LINQ:ソート

はじめに:「ソート」は“人間が読みやすい順番に並べ替える作業”業務システムでは、一覧画面・帳票・CSV 出力など、「同じデータでも、どの順番で並んでいるか」がものすごく大事になります。社員一覧なら「社...
C#

C# Tips | コレクション・LINQ:重複除去

はじめに:「重複除去」は“データをきれいに整えるフィルター”業務システムでは、同じ ID のレコードが二重に入っていたり、同じメールアドレスが何度も出てきたりと、「重複データ」がよく紛れ込みます。この...
C#

C# Tips | コレクション・LINQ:空List生成

はじめに:「空List生成」は“安全な初期値”を手に入れるテクニック業務コードでよくあるパターンとして、List<string> names = null;// ここで落ちるint count = n...
C#

C# Tips | コレクション・LINQ:null安全List

はじめに:「null安全List」は“落とし穴を先に埋めておく道具”業務コードでありがちな例として、List<string> names = null;// ここで落ちるforeach (var n ...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - 複数背景指定

複数背景指定を理解すると「1つの要素に何層ものデザイン」を重ねられるCSS の 複数背景指定(multiple backgrounds) は、1つの要素に 複数の背景画像・グラデーション・パターンを重...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - background-clip:text

background-clip:text を理解すると「文字にグラデーションを流し込む」表現ができるbackground-clip: text は、CSS の中でも“映えるデザイン”を作るための強力な...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - 背景クリッピング

background-clip(背景クリッピング)を理解すると「背景の見え方」を自在にコントロールできる背景クリッピング(background-clip)は、背景色や背景画像を“どこまで表示するか”を...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - outline活用

outline を使いこなすと「枠線とは違う強調」ができるoutline は border と似ていますが、ボックスモデルの外側に描画される“外枠”です。フォームのフォーカスリング、アクセシビリティ対...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - box-shadowパターン

box-shadow パターンを理解すると「立体感・奥行き・質感」が一気にプロレベルになるbox-shadow は、ただの影ではありません。UI の雰囲気・奥行き・軽さ・重さ・浮遊感をコントロールする...
Java

Java | Web 基礎・HTTP・REST:Web 全体像 - SPA と MPA

SPA と MPA を一言でいうとSPA は Single Page Application(シングルページアプリケーション) の略で、「最初に 1 つのページを読み込んだあと、画面の中身だけを Ja...
Java

Java | Web 基礎・HTTP・REST:Web 全体像 - フロントエンド / バックエンド

フロントエンド / バックエンドを一言でいうとフロントエンドは「ユーザーの目に見える“表側”」。バックエンドは「見えないところで動いている“裏側の頭脳と心臓”」。あなたが Java で書くのは、基本的...
Java

Java | Web 基礎・HTTP・REST:Web 全体像 - 3 層アーキテクチャ

3 層アーキテクチャを一言でいうと3 層アーキテクチャは、「Web アプリを 3 つの役割にきれいに分けて作ろう」という設計の型 です。プレゼンテーション層(画面・API の入り口)アプリケーション層...
Java

Java | Web 基礎・HTTP・REST:Web 全体像 - 動的コンテンツ

動的コンテンツを一言でいうと動的コンテンツは、「リクエストのたびにサーバー側で中身を“その場で作って返すコンテンツ」 です。誰がアクセスしたかいつアクセスしたかどんな条件でアクセスしたかによって、返す...
Java

Java | Web 基礎・HTTP・REST:Web 全体像 - 静的コンテンツ

静的コンテンツを一言でいうと静的コンテンツは、「サーバー側で中身が変わらないファイルを、そのままブラウザに配るもの」です。HTML、CSS、画像(PNG/JPEG)、JavaScript ファイル、P...
Java

Java | Web 基礎・HTTP・REST:Web 全体像 - アプリケーションサーバー

アプリケーションサーバーを一言でいうとアプリケーションサーバーは「ビジネスロジックを本気で動かすための“Java 実行プラットフォーム”」だと思ってください。Web サーバーが「HTTP を受け取って...
Java

Java | Web 基礎・HTTP・REST:Web 全体像 - Web サーバーとは

Web サーバーを一言でいうとWeb サーバーは、「ブラウザ(クライアント)からの HTTP リクエストを受け取り、HTTP レスポンスを返す“受付兼配達係”」です。ブラウザが「このページください」「...
Java

Java | Web 基礎・HTTP・REST:Web 全体像 - ブラウザの役割

ブラウザの役割を一言でいうとブラウザは、「人間と Web の世界をつなぐ“通訳兼プレイヤー”」です。人間が URL を入力したりボタンを押したりすると、ブラウザがサーバーに HTTP リクエストを送り...
Java

Java | Web 基礎・HTTP・REST:Web 全体像 - クライアントとサーバー

クライアントとサーバーを一言でいうとクライアントとサーバーは、「お願いする側」と「応える側」です。ブラウザやスマホアプリが クライアント、そのリクエストを受け取って処理するのが サーバー。Web の世...
Java

Java | Web 基礎・HTTP・REST:Web 全体像 - Web アプリの仕組み

Web 全体像をざっくりつかむまずは「ブラウザで URL を開くと、裏で何が起きているのか」をイメージでつかみましょう。あなたがブラウザに と入力して Enter を押すと、ブラウザは「サーバー」に対...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - 排他制御の考え方

排他制御を一言でいうと排他制御(はいたせいぎょ)は、「同時に走ると困る処理を、“必ず1つずつしか動かさないようにする考え方” です。非同期処理が増えてくると、「同じデータを同時に書き換える」「同じ処理...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - 競合状態(Race Condition)

競合状態(Race Condition)を一言でいうと競合状態(Race Condition)は、「どっちの非同期処理が先に終わるかによって、結果が変わってしまう危険な状態」 です。コード上は「こう動...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - 非同期状態管理

「非同期状態管理」を一言でいうと非同期状態管理は、「今この非同期処理が、どの状態にいるのかをコードと UI で一貫して扱うこと」 です。例えば、API 呼び出しひとつ取っても、状態はざっくりこう変わり...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - WebSocket との比較

WebSocket とポーリングの違いを一言でまとめるとポーリングは 「クライアントが定期的にサーバーへ様子を見に行く」 方式。WebSocket は 「サーバーとクライアントが常時つながり、サーバー...
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日目のテーマは「メソッドでコードを“部品化”する」です。ここまでで、入力・条件分岐・繰り返し・配列・クイズアプリの土台まで来ました。今日はそこに「メソッド」という考え方を足して...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - border-radius応用

border-radius 応用を理解すると「角のデザイン」で一気にプロっぽくなるborder-radius は「角を丸くする」だけじゃなく、カード・バッジ・吹き出し・ピル型ボタン・円形サムネイルなど...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - borderの省略記法

border の省略記法を理解すると「短く・正確に・読みやすく」書けるborder は CSS の中でも使用頻度が高いプロパティですが、省略記法(ショートハンド)を理解するとコード量が減り、意図が明確...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - line-heightセンタリング

line-height を使ったセンタリングは「テキストを縦方向に揃える」ための最もシンプルな方法line-height は本来「行の高さ」を決めるプロパティですが、単一行のテキストを縦方向に中央揃え...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - vertical-align

vertical-align を理解すると「インライン要素のズレ」が自在にコントロールできるvertical-align は名前だけ見ると「縦方向の中央揃え」に使えそうですが、実際は インライン要素・...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - object-position

object-position を理解すると「どこを切り取るか」をコントロールできるobject-position は、object-fit とセットで使うと真価を発揮するプロパティです。一言でいうと...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - object-fit

object-fit を理解すると「画像・動画が枠にきれいに収まる」デザインが作れるobject-fit は、画像や動画を「どのように枠に収めるか」をコントロールするプロパティです。縦横比がバラバラな...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - aspect-ratio活用

アスペクト比(aspect-ratio)を理解すると「どんな画面でも崩れない」レイアウトが作れるaspect-ratio は、ボックスモデルの中でも 画像・カード・動画枠・サムネイルなど、縦横比を固定...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - min-height / max-height

min-height / max-height を理解すると「高さが安定した UI」が作れるmin-height / max-height は、ボックスモデルの中でも 高さの伸び縮みをコントロールする...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - min-width / max-width

min-width / max-width を理解すると「伸び縮みするレイアウト」が自在に扱えるmin-width / max-width は、ボックスモデルの中でも レスポンシブ設計の核になるプロパ...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - overflow-x / y分離

overflow-x / overflow-y を分離してコントロールすると「横だけスクロール」「縦だけ切り取り」が自在になるoverflow は「要素の中身がはみ出したときの扱い」を決めますが、ov...
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 | 日付・時間処理:実行時間計測

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

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - overflow制御

overflow の仕組みを理解すると「はみ出し」「スクロール」「切り抜き」が自在に扱えるoverflow は 「要素の中身が、要素のサイズを超えたときどう扱うか」 を決めるプロパティです。ボックスモ...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - display:block / inline / inline-block

display:block / inline / inline-block を“動きの違いから理解する”display は 要素がどのように並び、どれだけの幅・高さを持つかを決める CSS の根本的な...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - paddingと高さの関係

padding と高さの関係を“正しく理解するとレイアウトが安定する”padding は「内側の余白」ですが、高さ(height)とどう関係するかを理解していないと、要素が思ったより大きくなったり、逆...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - margin相殺の理解

margin 相殺(マージンの重なり)を“直感で理解できるようにする”margin 相殺は、CSS のボックスモデルの中でも初心者が最もつまずきやすいポイントです。「なぜ margin が効かないの?...
CSS

CSS Tips | 超実務コアCSSテクニック:ボックスモデル - スコープ分離設計

box-sizing: border-box を“理解するとレイアウトが一気に安定する”box-sizing: border-box は、CSS レイアウトの中でも 最重要級のプロパティです。初心者が...
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個分」と...
スポンサーリンク
タイトルとURLをコピーしました