LogParserを継承してフィルタリング機能を追加する継承アプローチを紹介。特定IPのみ抽出するIPFilteredLogParserを実装します。
ログを構造化データにパースするLogParserクラスを実装。Combined Log Formatの正規表現と、名前付きキャプチャを使ったPerlらしい実装方法を解説します。
PerlとMooでログ解析の基礎を学ぶ連載第1回。ファイルを1行ずつ読み込むLogReaderクラスを実装し、Decoratorパターン学習の土台を作ります。Perl入学式卒業者向け実践シリーズ。
PerlとMooでWebスクレイピングツールを作りながら、Template Methodパターンを自然に学べるシリーズの目次です。全10回の構成で、継承・オーバーライド・フックメソッドを実践的に習得できます。
作ってきたものが「Template Methodパターン」だったことを明かします。Strategyパターンとの違いやHollywood Principleを解説し、デザインパターンの体系的な理解を深めます。GoFパターンの実践的な学習を完結させます。
ニュース・天気・商品情報を並行して取得できるWebスクレイパーシステムが完成!各クラスの役割と全体の構造を整理し、拡張性の高い設計を確認します。Template Methodパターンの威力を実感し、オブジェクト指向設計の集大成を体験します。
ECサイトの商品情報スクレイパーを追加。WebScraperクラスを一切修正せず、新クラス追加だけで対応。開放閉鎖原則(OCP)を実証し、拡張性の高い設計の価値を体感します。SOLID原則の実践的な理解を深めます。
validate_data()フックメソッドを追加。デフォルトは何もしないが、必要に応じてサブクラスでデータ検証を実装できる柔軟な設計を実現します。Hook Methodsの拡張パターンを習得し、実践的なバリデーション手法を学びます。
save_data()メソッドにデフォルト実装(ファイル保存)を用意。必要に応じて各サブクラスでカスタマイズできるHook Methodsの活用方法を学びます。柔軟な設計の実現を体験し、拡張性の高いコードの書き方を習得します。
NewsScraperとWeatherScraperクラスをextendsで作成。extract_data()メソッドをオーバーライドして各サイトの抽出ロジックを実装します。Primitive Operationsの実装方法を学び、継承とオーバーライドの実践的な使い方を習得します。
WebScraperクラスを作成し、scrape()メソッドで処理の流れを定義。各ステップを抽象メソッドとして宣言し、Template Methodパターンの基礎を構築します。継承ベースの設計手法を実践的に学びます。
ニュース・天気予報のスクレイパーで「取得→抽出→保存」という共通の処理手順を発見。関数化して重複を削減しますが、まだ改善の余地があります。クラス設計の準備段階として処理の骨格を洗い出します。
天気予報サイトもスクレイピングしたくなった!前回のコードをコピペして対応するが、同じ処理が散在して保守性が低下。コード重複の問題に直面し、リファクタリングの必要性を認識します。
PerlとMojo::UserAgentを使ってニュースサイトから見出しを取得する基本的なWebスクレイパーを作成します。Mojo::DOMでHTMLから要素を抽出する方法を学び、Webスクレイピングの基礎を身につけます。
「Perlでハニーポット侵入レーダーを作ろう」シリーズ全10回の目次です。Observerパターンを使った通知設計を学びながら、セキュリティ監視システムを構築します。