プログラミング

スポンサーリンク
Java

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Excel VBA 逆引き集 | UUID生成

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

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

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

Excel VBA 逆引き集 | 暗号化

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

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

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

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

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

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

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

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

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

Excel VBA 逆引き集 | Trie構造

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

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

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

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

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

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

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

Excel VBA 逆引き集 | 疑似並列

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

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

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

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

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

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

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

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

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

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

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

Excel VBA 逆引き集 | Shell拡張

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

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

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

Excel VBA 逆引き集 | Power Automate連携

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

Excel VBA 逆引き集 | Office Scripts連動

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

Excel VBA 逆引き集 | COM Add-in

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

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

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

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

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

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

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

Python | OOP:コード分割

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