タグ

ブックマーク / blog.takuros.net (5)

  • AWS Lambda+PhantomJS/CasperJSでスクレイピング - プログラマでありたい

    AWS Lambdaはサーバ不要のプログラムの実行エンジンです。インフラ側はAWSが管理するのですが、実行原理が解っていると思いの外に自由度が高いです。Shellやコマンドを同梱させれば動くし、依存するライブラリがなければAmazon Linux上でビルドして同梱させれば良いのです。その実例の1つに、Lambda+PhantomJSがあります。PhantomJSは、ブラウザ不要で画面描画ができるツールです。リンクのクリックやボタンの押下・フォームに入力も出来るので、ログインが必要なページの情報を取ってくるということやスクリーンショットを取るといったことも可能です。LambdaPhantomJSを組み合わせてお手軽スクレイピングをしてみましょう。 プロジェクトの用意 Github上にビルド済みのライブラリ込のプロジェクトphantom-lambda-template)があるので、それを使

    AWS Lambda+PhantomJS/CasperJSでスクレイピング - プログラマでありたい
  • Capybara+PhantomJS+Nokogiriを利用してスクレイピング - プログラマでありたい

    CapybaraとPhantomJS、Nokogiriを利用してのクローラー・スクレイピングの紹介です。 PhantomJSとは? PhantomJSは、ヘッドレスブラウザと呼ばれるWebKitのエミュレータです。ヘッドレスブラウザとは、GUIではなくCUIから利用できるブラウザでプログラムから呼ばれます。UIのテストツールとしてSeleniumのようなサービスがあります。Seleniumはブラウザを直接操作するので、環境依存や動作が重いといった幾つかの問題点があります。そこでよく利用されるのがPhantomJSです。Seleniumに比べて、軽量というメリットがあります。RubyからPhantomJSを扱うライブラリとして、Poltergeistがあります。 Capybaraとは? Capybaraは、WebシステムのUI層のテストをサポートするためのライブラリです。主にDSL機能とDr

    Capybara+PhantomJS+Nokogiriを利用してスクレイピング - プログラマでありたい
  • AWSで大量メール配信するなら、Amazon SESで決まり - プログラマでありたい

    何度かAmazon Simple Email Service(SES)の使い方の紹介をしてきましたが、そもそもSESとは何ぞやという話をしていなかったです。最近整理してたので、簡単にまとめてみます。 Amazon Simple Email Service(SES)とは? Amazon SESは、一言でまとめると、「信頼性の高いバルクメール送信サービス」です。まず、信頼性の高いの部分についてです。自身でSMTPサーバを運用したことがある人は解ると思いますが、近年SMTPサーバを運用するのは非常に面倒くさいのです。不正中継されないようにセキュリティホールを塞ぐのはもちろんのこと、SMTPサーバのレピュテーション(信頼性)を下げない為に不適切なメールを送っていないかの監視、バウンスメールの比率を下げる為に定期的に配信するメールアドレスのお掃除などが必要です。しかし、Bounceの返り方はメールサ

    AWSで大量メール配信するなら、Amazon SESで決まり - プログラマでありたい
  • JenkinsとSelenium WebDriverでUI層のテストも自動化&永続化する - プログラマでありたい

    思い立ったようにJenkins特集をしておりますが、今回はJenkinsとSelenium WebDriverでUI層のテストの自動化をする話です。Seleniumは面倒臭い画面のテストを自動実行してくれるツールで、出てきてからもう7〜8年がたちます。Web系の開発に携わっている人であれば、一度は試したことがあるのではないでしょうか?そして、必ず挫折したことがあると思います。 その理由としては、せっかく作ったSeleniumのテストケースが腐ってくるからです。一般的にはUI層の変更は、ロジック層に比べて変化が激しいです。だからこそテスト自動化して保証することに意味があるのですが、そのテストケースを維持するのは大変です。そこで、Jenkinsの登場です。Jenkinsでサーバサイドで継続的に実行することにより、Seleniumのテストケースが成功を保てるようにします。また、複数のブラウザ・バ

    JenkinsとSelenium WebDriverでUI層のテストも自動化&永続化する - プログラマでありたい
  • 運用視点でChef ServerかChef Solo + Knife Soloのどちらが良いか考えてみた - プログラマでありたい

    ChefとFabric、どちらが良いか悩んでいるうちに、Chefが一気にブレイクしてしまった今日この頃です。と言うことで、Chefを中心に今後のサーバ構築・運用について考え中です。そこでまず出てくる問題が、Chef Server+ClientとChef Solo + Knife Solo、どちらの構成が運用しやすいかという点です。 状況を整理する為に、まずは簡単にChef Server, Chef Solo, Knife Soloの関係や役割をまとめて見ます。 Chef Server サーバーの状態を管理し、それに関する情報を保持しておくのがChef Serverです。Client側は個々のサーバにインストールされて、Chef Serverに司令を問い合わせて実行します。Chef ServerはDBやキューなどを持ち、少し複雑な構造です。同じカテゴリーの製品として、PuppetやFabri

    運用視点でChef ServerかChef Solo + Knife Soloのどちらが良いか考えてみた - プログラマでありたい
    okinaka
    okinaka 2013/04/04
  • 1