@lifehacker

スポンサーリンク
Java

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Excel VBA 逆引き集 | UUID生成

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

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

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

Excel VBA 逆引き集 | 暗号化

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

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

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

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

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

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

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

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

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

Excel VBA 逆引き集 | Trie構造

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

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

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

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

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

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

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

Excel VBA 逆引き集 | 疑似並列

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

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

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

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

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

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

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

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

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

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

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

Excel VBA 逆引き集 | Shell拡張

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

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

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

Excel VBA 逆引き集 | Power Automate連携

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

Excel VBA 逆引き集 | Office Scripts連動

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

Excel VBA 逆引き集 | COM Add-in

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

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

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

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

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

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

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

Python | OOP:コード分割

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

Python | OOP:単一責任の原則

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

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

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

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

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

Python | OOP:コンポジション

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

Python | OOP:Mixin

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

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

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

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

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

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

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

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

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

Python | OOP:yield

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

Python | OOP:ジェネレーター

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

Python | OOP:イテレーター

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

Python | OOP:next

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

Python | OOP:iter

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

Python | OOP:getitem

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

Python | OOP:len

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