Skip to content

Instantly share code, notes, and snippets.

View bz0's full-sized avatar

(・(ェ)・) bz0

  • japan
View GitHub Profile
@sys9kdr
sys9kdr / Puppeteerがクローリングに使えるかも.md
Created December 16, 2017 18:03
Puppeteerがクローリングに使えそう

この記事はWebスクレイピング Advent Calendar 2017の17日目の記事です。puppeteerでクローリングします。

Google Chrome(Chromium)でクローリングをやる

SPAみたいなちょっと凝ったWebサイトをクローリングするときは一昔前はSelenium + PhantomJSあたりが鉄板でしたが、今後はSelenium + Headless ChromeもしくはPuppeteer + Headless Chromeが主流となっていく見通しです。 (HeadlessとはGUIアプリケーションのGUIを介さないモードのことです。)

前者についてはWeb上に情報も多いですが、Puppeteerでクローリングする話をそんなに見ない気がするのでクローリングの歴史を踏まえてやってみます。

一昔前のクローリング

@sunaot
sunaot / writing_unit_test.md
Last active February 20, 2022 06:57
テストを書くか書かないかの判断の話

ユニットテストでテストを書くか書かないかの判断の話

お題

メソッドの出力の結果が、true か false のどちらでも返ってくる可能性がある場合、assert 文を書く時は true の場合だけで良いのだろうか

テストとは

まず、基本の考えとしてなぜテストをするのか?というのがあります。

@taichi
taichi / Database_testing.md
Created October 4, 2012 15:35
データベースを使った自動テストについて

データベースを使った自動テストについて

データベースを使った機能テストや単体テストについて要点をまとめておきます。

筆者の経験を強く反映していますので比較的定性的な内容となります事を予めご了承下さい。

テストデータを保守する

テストの実行前に投入するテストデータは、凡そcsvファイルやxmlファイル、エクセルファイル等で管理する事になります。
仕様の変更に伴いテーブルの定義を変更する事で、それらのファイルの内容とデータベースの間に不整合が発生します。

@sunaot
sunaot / gist:613117
Created October 6, 2010 10:03
手間と複雑さとの戦いについて

手間と複雑さとの戦いについて。

プログラムは処理を機械の手続きにあわせて実装するものでした。でも、そうすると人間が制御可能な複雑さを超えてしまいます。制御不能になるということは、つまりバグが入るということです。そこで、機械には少しがんばってもらって、その分人間が理解可能なレベルまで複雑さを落とすためのテクニックが生まれてきました。

そのステップを追ってみます(厳密には概念の誕生ははるかに古いものなどもあります。実際に用いられるようになってきた歴史をプログラム改善の流れと結びつけて並び替えてあります)。

手続きの抽象化。

抽象化が進んだとき、引数の多段受け渡しが発生する。