タグ

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

  • AWSの新サービス群に対する一行所感 - プログラマでありたい

    今年もラスベガスで、AWSの最大のイベントre:Invent開催中です。初回のキーノートが終わった所ですが、怒涛のサービス発表で頭が混乱中です。整理のために、サービスに対する感想をつけてみます。間違っているかもしれないので、悪しからず。 AWS AppSync モバイル等での複数端末のデータ同期を見据えたソリューション。必要性はすごく解るが、それってCognito Syncでやりたかったことじゃないのかな?認証認可のサービスにデータ同期を加えた筋の悪さを解消に来たのか? 2017/12/3 追記 中の人曰く、次のような役割分担とのこと AWSの新サービス群に対する一行所感 - プログラマでありたい ありがたし / Cognito Syncは「一つのIdentityに(≒一人の人間)が持つ」複数端末間での設定値等の同期のためのものだったので、前提と志向が違うのです > AppSync “それ

    AWSの新サービス群に対する一行所感 - プログラマでありたい
  • Amazon Product Advertising APIが、IAMユーザーに対応していた - プログラマでありたい

    Amazonの商品リンク等を生成するAmazon Product Advertising APIというサービスがあります。これは、今でいうAWSAmazon Web Services)が出てる前は、Amazon Web Serviceという名前でした。このサービスはAWSが出る前から存在するということで、IAMユーザーを利用して最小限の権限を付与して利用するという事が出来ませんでした。何とルートアカウントのアクセスキーとシークレットアクセスキーを利用して、APIを操作するという男前仕様です。と言っても、広告のAPIを操作するだけなので、基的には問題は少なかったです。 そんな中で、AWSが出てきてAmazon Product Advertising APIのアカウントがAmazon Web Servicesに統合されたことにより問題が顕在化してきました。AWSはIAMが出てきて、ルートア

    Amazon Product Advertising APIが、IAMユーザーに対応していた - プログラマでありたい
    mi_kattun
    mi_kattun 2017/04/11
    これは待望のやつだ!
  • Pythonクローラー本の決定版か!? 『Pythonクローリング&スクレイピング』 - プログラマでありたい

    Pythonクローリング&スクレイピングを頂きました。ありがとうございます。まだざっとしか読んでいませんが、Pythonのクローラーで一番バランスが良いのではないでしょうか? Pythonクローリング&スクレイピング ―データ収集・解析のための実践開発ガイド― 作者: 加藤耕太出版社/メーカー: 技術評論社発売日: 2016/12/16メディア: Kindle版この商品を含むブログを見る 書の内容 PythonスクレイピングするのであればBeautiful Soup、クローラーフレームワークとしてはScrapyが定番です。この2つをしっかり抑えながら、ブラウザを操作するためのRoboBrowser、ブラウザ+JavaScriptに対処もできるSelenium+PhantomJS、PDFからのテキストの抽出など多岐に渡るテーマを扱っています。またデータ収集術だけではなく、分析を助けるた

    Pythonクローラー本の決定版か!? 『Pythonクローリング&スクレイピング』 - プログラマでありたい
    mi_kattun
    mi_kattun 2016/12/25
    ご紹介いただきました。 ありがとうございます! "クローラー愛が伝わる非常に良い本だと思います"
  • Lambdaで作るクローラー/スクレイピング - プログラマでありたい

    話題のAWS Lambda Advent Calendar 2014の14日目です。クロスポストで、クローラー/スクレイピング Advent Calendar 2014の14日目でもあります。 re:Inventで発表されて以来、注目のLambdaです。サーバを用意しなくても、バッチを直接実行できるとあって、ユースケースを考えるだけで夢が広がります。今年はクローラーを出したこともあって、Lambdaで作るクローラー/スクレイピングをテーマにします。 クローラー/スクレイピングとは? Webクローラーは、Webサイトを巡回してデータを取得するプログラムです。スクレイピングは、取得したデータから目的の情報を抜き出すことを指します。一般的には、クローラーの中に、スクレイピングの機能を包含していることが多いです。また、特定のページだけ取得してデータを抜き出すことを、スクレイピングと呼ぶことが多い

    Lambdaで作るクローラー/スクレイピング - プログラマでありたい
  • 開発用プロキシ、「CocProxy」が便利 - プログラマでありたい

    CocProxyというツールがあります。名前の通りプロキシサーバーなのですが、用途が開発用です。置換プロキシと言うらしいですが、これがとっても便利です。例えば、クローラーの開発や、HTML,CSS,JavaScriptの修正をする際に、このCocProxyを利用するとダウンロード待ちのイライラが解消され、効率アップ間違いなしです。ローカルのみで完結するのと、Webへのアクセスが必要とするのでは、スピードが数十〜数百倍違います。一回だけでみたら、数百ミリSecの差ですが累積で考えると大きいですよ。 CocProxyとは? Ruby製のProxyServerです。かつ標準ライブラリで動くことを目標としているので、Rubyの環境があれば、ダウンロードして直ぐに使えます。また基的には1ファイルで完結するので、導入も簡単です。Ruby1.9をベースにしていますが、Ruby 2.0でも特に問題なく動

    開発用プロキシ、「CocProxy」が便利 - プログラマでありたい
    mi_kattun
    mi_kattun 2014/12/05
    キャッシュはメモリキャッシュでファイルは読み込み専用なのか。1回目のリモートサーバーから取得するときだけwaitがかかるようにできたらさらに捗りそう
  • スクレイピングのお仕事について - プログラマでありたい

    今年一番のトピックスは、クローラーの出版でした。ちょうど、昨年の今頃に企画が舞い込んできて、2月〜7月くらいでせっせと書いていました。企画から執筆中まで、一貫してクローラーの需要があるのか半信半疑でした。半信半疑というより、売れないだろうと思いながら書いていました。しかし、蓋を開けてみたら思いのほか好調で、既に増刷も2回繰り返しています。Amazonの順位の方も順調で、4ヶ月程ほぼ3,000位以内をキープしています。 これが不思議で仕方がないので、どんな人がクローラーやスクレイピングを必要としているのか、ちょっと考えてみます。考える材料としては、クラウドソーシングサイトで「スクレイピング」や「クローラー」、「データ収集」といったキーワードで検索してみます。対象のサイトとしては、以下の2サイトです。 Lancers CrowdWorks クラウドソーシングでの求人の分類 人間系の収集&ま

    スクレイピングのお仕事について - プログラマでありたい
  • クローラーとAWSが出会ったら?第3回Webスクレイピング勉強会@東京 - プログラマでありたい

    2014/10/26に開催された第3回Webスクレイピング勉強会@東京に参加して、発表してきました。今回は、スクレイピングと少し離れてAWSを使ってクローリングするという話です。クローラー/スクレイピングAWSは相性が良いというのは、昔から思っていたのでテーマとして扱うことは早めに決めていました。しかし、話の構成を、具体的なテクニックの話にするか、概念的な話にするか、少し悩みました。なるべき多くの人に伝わるように、概念的な話をしたつもりです。具体的な部分についてはRubyによるクローラー開発技法を読んで頂ければと思いますw 発表資料 Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス from Takuro Sasaki Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス 資料の構成としては、クローリングする際の悩み

    クローラーとAWSが出会ったら?第3回Webスクレイピング勉強会@東京 - プログラマでありたい
  • Spidering hacksと私 - プログラマでありたい

    知っている人は気がついていると思いますが、「Rubyによるクローラー開発技法」は、「Spidering hacks」を意識して書かれています。このはクローラーやWebスクレイピングに関して、非常に広範囲に取り扱っています。ツールの話からスクレイピングの仕方まで、ひと通り学べる内容となっています。 私が最初にSpidering hacksを読んだのは、いつの時かはっきり覚えていません。もともと独自にスクレイピングのまね事のような事をしている時に、このに出会ったのだと思います。当時は、クローラーやスクレイピングというものの概念をあまり持っていませんでした。ただただ単純にWebからデータを抜き出したくて、自分の持っている知識を組み合わせて力ずくで取得していました。 そんな時にこのに出会って、一気に世界が広がりました。定番のツールや定石の方法を知り、欲しければ何でも取得しようという貪欲さを学

    Spidering hacksと私 - プログラマでありたい
  • 複数並行可能なRubyのクローラー、「cosmicrawler」を試してみた - プログラマでありたい

    最近のRubyのクローラーは、EventMachineを使って並列化するのが流行のようです。EventMachineは、非同期処理をお手軽に実装できるフレームワークです。Rubyのスレッド機能との違いは、Reactorパターンを使いシングルスレッドで実装している点です。こちらのブログが詳しいので参考になります。 「見えないチカラ: 【翻訳】EventMachine入門」 EventMachineを使うと、イベント・ドリブンの処理を簡単に実装出来ます。使い方は簡単ですが、通常の同期処理やスレッドをつかった処理に比べると、どうしてもコードの記述量は多くなります。今回の例である並列化してクローラーを走らせるという用途であれば、短時間で多くのサイトにアクセスするのが目的です。イベント・ドリブンで並列化処理を実装するのが目的ではないはずです。その辺りの面倒くさい処理を実装したライブラリがcosmic

    複数並行可能なRubyのクローラー、「cosmicrawler」を試してみた - プログラマでありたい
  • 金融機関の口座集約アプリの危険性について - プログラマでありたい

    先日、銀行口座の口座集約のとあるiOSアプリの記事について、危険だよなぁと何気なく呟いたら中の人からリプを貰いました。Twitterで呟いているのですが、文字だけでは解りにくいのでまとめてみます。ただ、そのアプリ固有の問題ではなく、構造的な問題なのでアプリ名は開示しません。(安全なので安心ですという論調は、どうかと思いますが。。。) 口座集約アプリの構造 口座集約のアプリは、アカウント・アグリゲーション(Account aggregation)サービスと言われています。サービスの実体は、複数の銀行の口座情報とID,Passwordを預かり、代行でログインして結果のhtmlを解析(スクレイピング)して利用明細や残高を集約するものです。口座とID,Password情報、解析エンジンをどこに置くかで、クライアント型とサーバ型に分類されます。 サーバ型アプリケーション まずサーバ型アプリケーション

    金融機関の口座集約アプリの危険性について - プログラマでありたい
    mi_kattun
    mi_kattun 2013/05/31
    同じようなことを考えている人がいた。アグリゲーションが流行るのは、そのニーズがあるのに銀行が応えられていない証拠。銀行側はOAuthのようなセキュアな接続を提供する責任があると思う。書いた http://htn.to/dvCKUV
  • 運用視点で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のどちらが良いか考えてみた - プログラマでありたい
  • Jenkinsでビルド・パイプラインを構築する - プログラマでありたい

    前回、Jenkinsのインストールについて書きました。今回は、Jenkinsでビルド・パイプラインを構築する話です。 ビルド・パイプラインとは? ビルド・パイプラインとは、ビルドのプロセスを分割して順番に実行していくことです。例えばビルドの流れとして、コミット→静的解析→コンパイル→ロジック層のユニットテスト→UI層のユニットテスト等があったとします。これを1つのジョブとして登録するのではなく、1つ1つのジョブとして実行し、成功した場合のみ次のステップに進めるようにします。これがビルドパイプラインです。 メリットとしては、どの工程で失敗しているのか解りやすいことが第一にあります。またJenkinsの特性を活かして、特定のジョブを並列で動かしたり出来るので効率化も出来ます。また、更に検証済みマージなど、高度な活用にもつながります。 Jenkinsでビルド・パイプラインの構築 元々Jenkin

    Jenkinsでビルド・パイプラインを構築する - プログラマでありたい
  • 今更聞けないCapistranoでリリースの自動化 - プログラマでありたい

    ここ数年で開発の現場でAgile開発の文化や手法が、ずいぶんと取り入れられるようになってきているようです。アジャイル開発はその根底に文化が大事ですが、それを支えるツールというのも重要になってきます。ソース管理やビルド管理、テストの自動化と色々ありますが、今回はリリースの自動化のお話です。その中で主にRails使われることが多いCapistranoの設定と使い方です。 環境の説明 ・Ruby 1.9 ・Rails 3.2 ・Passenger ・GitSQLite3 目指す構成 今回は単純化する為に、1サーバの中にGitのリポジトリもApache+PassengerもDBも入れておきます。また複数の環境(開発、ステージング、番)にデプロイ出来るように、それぞれの構成を別けて記述するようにします。(capistrano-extを使用) 設定 必要モジュールのインストール $gem ins

    今更聞けないCapistranoでリリースの自動化 - プログラマでありたい
  • 1