タグ

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

  • 社内re:capでAWSの進化の話と、少しエモい話をしてきました - プログラマでありたい

    所属する会社のグループ全体で、3週連続でAWSのre:Inventのre:capするということで、アンバサダーとして登壇してきました。登壇者の中で一番の高齢者層だったので、新サービスの発表についてでなく、昔話からの振り返り的な話をしています。 S3の歴史からみる「強力な書き込み後の読み取り整合性」について テーマに選んだのが、2020/12/03に発表されたS3の「強力な書き込み後の読み取り整合性」についてです。個人的には今回の新サービスの発表の中で、一二を争うくらいの凄い改善だと思うものの、なかなかその凄さが伝わっていないのかなと思います。ということで、歴史的な経緯から。 結果整合性 はじめは結果整合性から。US Standardリージョンという耳慣れない言葉と一緒に紹介しています。いずれは最後に書き込んだ値になるけど、読み込むタイミングによっては最新の情報ではないかもというのが結果整合

    社内re:capでAWSの進化の話と、少しエモい話をしてきました - プログラマでありたい
    Nyoho
    Nyoho 2021/01/13
  • Pythonクローラー本の決定版か!? 『Pythonクローリング&スクレイピング』 - プログラマでありたい

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

    Pythonクローラー本の決定版か!? 『Pythonクローリング&スクレイピング』 - プログラマでありたい
  • Node.jsでスクレイピングするならば - プログラマでありたい

    昔、Rubyでクローラー/Webスクレイピングを書きました。今でもちょくちょくとスクレイピングのコードを書いたりはするのですが、実行基盤についてはサーバの運用管理が面倒くさいのでAWS Lambdaを使うことが多いです。そうなると、Lambdaは基的にはRubyが使えないので、言語はPythonかNode.jsを利用することになります。Pythonもいいけど、今後のことを考えるとNode.js力を高めておきたいと考えています。ということで、Node.js縛りでスクレイピングの仕方です。 スクレイピング対象のページの種類 私の中の勝手な定義ですが、スクレイピングには3種類あります。 1. 静的サイト/JavaScript不要なページに関するスクレイピング 2. 対話型サイト/JavaScript不要なページに関するスクレイピング 3. JavaScript前提のページに関するスクレイピ

    Node.jsでスクレイピングするならば - プログラマでありたい
  • アプリケーションエンジニア向けのAWS本を書きました - プログラマでありたい

    たまに呟いていましたが、『Amazon Web Services パターン別構築・運用ガイド』に続くAWSの第二弾として、『Amazon Web Services クラウドネイティブ・アプリケーション開発技法』というを書きました。今回も、所属している会社であるNRIネットコム株式会社の同僚たちと書いています。そして今回のは、主にアプリケーション・エンジニアを想定して書いています。何とEC2の使い方が一切でてきません。 Amazon Web Services クラウドネイティブ・アプリケーション開発技法 一番大切な知識と技術が身につく 作者: NRIネットコム株式会社,佐々木拓郎,佐藤瞬,石川修,高柳怜士,佐藤雄也,岸勇貴出版社/メーカー: SBクリエイティブ発売日: 2016/04/20メディア: 単行この商品を含むブログを見る を書いた理由 前回の『Amazon Web Ser

    アプリケーションエンジニア向けのAWS本を書きました - プログラマでありたい
    Nyoho
    Nyoho 2016/03/09
  • サーバレスアーキテクチャとは? - プログラマでありたい

    サーバレスアーキテクチャの整理です。少し前は、2-Tier Architecture(クラウドネイティブなアーキテクチャ)と3-Tier Architecture(従来のアーキテクチャ)という対比で論じられることが多かったです。しかし、API Gatewayの登場により、3-Tierな構造でもクラウドネイティブなアーキテクチャにしやすくなりました。ということで、サーバレスアーキテクチャ(ServerLess Architecture)と呼ばれることが多いです。 サーバレスアーキテクチャのパターン それでは、従来型のアーキテクチャ(旧3-Tier)と2-Tierパターン、API Gatewayを利用したサーバレスアーキテクチャをそれぞれ見てみましょう。 従来型のパターン( アプリケーションサーバ・パターン) まずは従来型のアーキテクチャです。間にELBを挟んでAutoScaleにすることは多

    サーバレスアーキテクチャとは? - プログラマでありたい
    Nyoho
    Nyoho 2015/10/19
  • Kindleで最大50%ポイント還元セール実施中 - プログラマでありたい

    開催期間不明ですが、AmazonKindleで最大50%ポイント還元セールが実施中です。実施対象の詳細は解りませんが、マンガや技術書、一般書など見た限りは殆ど適応されています。たぶん紙のの価格に対して、Kindleの価格が50%以下に設定されていない限りは適応されているのではないでしょうか。 例えば、紙のの定価が2,484円のローマ人の物語Ⅰは、Kindle版は890円で64%オフです。このは、50%ポイント還元の対象ではなかったです。 ※ 2015/6/1の昼に終了した模様です。 どのを買ったか さて、セールを知って何を買ったかです。じっくり探す時間はなかったので、自分のウィッシュリストの中からKindle版が出ているものを買いました。 帝国の構造: 中心・周辺・亜周辺 帝国の構造 作者: 柄谷行人出版社/メーカー: 青土社発売日: 2015/04/17メディア: Kindl

    Kindleで最大50%ポイント還元セール実施中 - プログラマでありたい
    Nyoho
    Nyoho 2015/05/31
  • WEB+DB PRESS vol.86を読んだ。Atomの衝撃的な事実 - プログラマでありたい

    技評さんにWEB+DBの最新号頂いたので、さっそく読みました。何か最近いろいろ貰いすぎて申し訳ない感じです。 特集記事 この号の特集は、次の3つです。4月ということで、全般的に新入社員を意識しているようですね。 チーム開発 6つの心得 実践Atom Docker実践投入 個人的な感想として、一番驚いたのがAtomの特集で、理解が深まったのがDockerの特集。そして、タイムリーだったのが伊藤さんの連載のReactです。 Atomの衝撃 この特集の構成としては、Atomとは何ぞやという所から始まって、実際の使い方であるインストールや設定、各言語ごとでの使い方や開発環境としてのAtomと、WEB+DBの読者層の利用想定と一致した内容となっています。 この中で驚いたのが、何気にAtomとはなんぞやの部分です。今まで知らなかったのですが、Atomはブラウザのエンジンの上で動いていて、HTMLやJa

    WEB+DB PRESS vol.86を読んだ。Atomの衝撃的な事実 - プログラマでありたい
    Nyoho
    Nyoho 2015/04/24
  • Lambdaで作るクローラー/スクレイピング - プログラマでありたい

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

    Lambdaで作るクローラー/スクレイピング - プログラマでありたい
  • AWSのアカウント管理の話 - プログラマでありたい

    AWS Advent Calendar 2014の7日目です。あと、全部俺Advent Calendarも開催中です。 運用絡みで何か書くと宣言したので、AWSのアカウント運用について書いてみます。テクニックや技術より、考え方の面での整理です。 AWSのアカウントの種類 AWSで利用するアカウントは2種類あります。AWSアカウントとIAMアカウントです。AWSアカウントは、マスターアカウントと呼ぶこともあって大元のアカウントになります。AWSにサインアップ時に作るものが、AWSアカウントで1つだけ存在します。それに対して、IAMアカウントはユーザアカウントです。AWSの管理コンソールから、個々のユーザ向けなどに作成します。 AWSアカウントの取扱について AWSアカウントは、全権限を持っています。強力すぎるアカウントで、日常の運用に利用するには危険すぎます。日常の運用には使わないというのが

    AWSのアカウント管理の話 - プログラマでありたい
    Nyoho
    Nyoho 2014/12/07
  • クローラーとAWSが出会ったら?第3回Webスクレイピング勉強会@東京 - プログラマでありたい

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

    クローラーとAWSが出会ったら?第3回Webスクレイピング勉強会@東京 - プログラマでありたい
    Nyoho
    Nyoho 2014/10/28
    crawling
  • 「第2回Webスクレイピング勉強会@東京」に参加&発表してきました - プログラマでありたい

    前回に引き続き、第2回Webスクレイピング勉強会@東京に参加し、発表もしてきました。今回は、ブログやサイトから文部分をどうやって抽出するのかというテーマです。ブログの文抽出とは、ヘッダーやフッダー、サイドメニューなど情報として不要な部分を排除して、文部分だけを抜き出す手法です。HTMLのタグを解析するルールベースと、自然言語処理を利用して文らしさを抽出するヒューリスティックな方法の2つについて、簡単に説明しています。 発表資料 サイト/ブログから文抽出する方法 from Takuro Sasaki 解説と質疑応答 そもそもブログやサイトの文を抽出する目的としては、2つくらいあるのではと思います。1つは、その記事そのものを読みたい場合。もう1つは、記事を統計解析などの元データとして利用したい場合があると思います。前者の場合は記事全文がないと意味がないし、後者は必ずしも記事全文は必

    「第2回Webスクレイピング勉強会@東京」に参加&発表してきました - プログラマでありたい
    Nyoho
    Nyoho 2014/08/20
  • 『Rubyによるクローラー開発技法』を書きました - プログラマでありたい

    勉強会やスライドで紹介していましたが、Ruby×クローラーという題材で、『Rubyによるクローラー開発技法』というを書かせて頂きました。RubyEmacsの鬼であるるびきちさんとの共著です。 Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例 作者: るびきち,佐々木拓郎出版社/メーカー: SBクリエイティブ発売日: 2014/08/25メディア: 大型この商品を含むブログ (1件) を見る このを書いた理由 そもそものキッカケは、るびきちさんのエントリーにある通り、SBクリエイティブの編集者さんが、クローラーの作成経験のある人を探していて、私の書いた「オープンソースのRubyのWebクローラー"Anemone"を使ってみる」を読んで打診してくださったというのが始まりです。 私自身も、Webからデータを収集して分析するということは、趣味として長年やってきました。一

    『Rubyによるクローラー開発技法』を書きました - プログラマでありたい
  • AWSで新タイプのインスタンス発表。バースト可能なマイクロインスタンスの後継機 - プログラマでありたい

    どこぞの公式ブログっぽいタイトルになりましたが、AmazonのクラウドであるAWSの仮想サーバのec2に新タイプのインスタンスが追加されました。T2タイプです。その名の通り、t1.microの後継です。t1.microは、全インスタンスタイプの中で唯一CPUのバースト特性を持ったインスタンスです。バースト特性とは、短期的(十秒程度)に来のCPU性能以上のリソースを利用できる機能です。サーバの用途として、普段のCPU使用率は10%以下でたまに跳ね上がるというものは割りと多いので、バースト特性は割りと面白いサービスです。しかし、t1.micorは、メモリが0.613GBです。21世紀になって14年という時を考えると、余りにストイック過ぎました。 T2シリーズとは そこで登場したのが、今回のT2シリーズです。ラインナップは、microだけでなくsmall,mediumもあります。当然、メモリも

    AWSで新タイプのインスタンス発表。バースト可能なマイクロインスタンスの後継機 - プログラマでありたい
    Nyoho
    Nyoho 2014/07/03
  • Ruby製の構文解析ツール、Nokogiriの使い方 with Xpath - プログラマでありたい

    RubyHTMLやXMLをパースする構文解析ツールの定番は、Nokogiriです。スクレイピングする際の必需品で、なくてはならないモジュールの1つです。ただ色々なことが出来る反面、どこから取りかかれば良いのか解り難い部分もあります。自習を兼ねて、Nokogiri概要と主要な機能を紹介してみます。 Nokogiriとは何か? ReademeによるとNokogiriとは、「HTMLとXMLとSAXとXSLTとReaderのパーサー」で、特徴としては、XPathCSS3セレクター経由で探索する機能を持つことのようです。他にもHTMLやXMLのビルダーの機能を持っていますが、HTMLとXMLのパーサー(構文解析器)と覚えておけばよいでしょう。 Nokogiriのクラス構造 Nokogiriは、なかなか巨大なライブラリです。10以上のモジュールと70以上のクラスで構成されていて、yardでダイア

    Ruby製の構文解析ツール、Nokogiriの使い方 with Xpath - プログラマでありたい
  • AWS Route53を使って、はてなダイアリーから、はてなブログに独自ドメインを設定した話 - プログラマでありたい

    自分ブランディングしていきたいということで、はてなダイアリーを卒業することにしました。自分ブランディングとは、単に独自ドメインを取得して、そのドメインの価値を上げるというそれだけのことです。さて、実際どうしたのか。悩んだ末に、結局はてなブログの有料版にして、独自ドメインの設定をしているのみです。はてなからの卒業ならずです。 最初の選択肢としては、世界の網元(AMIMOTO) + StaticPress + S3WebHostingを検討していました。しかし旧ブログの流入量を捨てるのは勿体無いので、はてなダイアリーから301リダイレクトしてくれる、はてなブログを選びました。色々ごめんなさい。 移行手順 さて、移行すると決めたので、空いている時間を見つけて一気にやってしましました。手順としては、以下のとおりです。 ValueDomainでドメインの取得 AWSのRoute53でHosted Z

    AWS Route53を使って、はてなダイアリーから、はてなブログに独自ドメインを設定した話 - プログラマでありたい
    Nyoho
    Nyoho 2014/03/31
  • AWSのEC2でAmazon Linux AMIを使うかどうか? - プログラマでありたい

    最近、微妙に気になっているテーマがあります。EC2でインスタンスを使う際に、Amazon Linux AMIを使うかどうかという点です。何を言っているのだ、お前というような悩みなので背景を簡単に書いておきます。 Amazon Linux AMIを使わないようにしようかなと思った理由 そもそものキッカケは、Chefを使うようになったことです。Chefで環境をコードで記述するようになると、ローカルの開発環境であろうが、検証・番環境でも基的にはコマンド1つで構築できます。しかし、気が付いてしまいました。ローカルの開発環境に、Amazon Linuxをインストール出来ないことに。このことはChefを使い出すと同時に、VirtualBox+Vagrantを使いだしたことで顕著に感じるようになりました。 また私の所属しているチームの特性上、様々なプロジェクトに関与してプラットフォームもAWSだけで

    AWSのEC2でAmazon Linux AMIを使うかどうか? - プログラマでありたい
    Nyoho
    Nyoho 2013/11/08
    「Gentoo一択。余計なモノは一切ないし、必要であればコンパイルすれば良い」
  • アプリケーション・サーバのセッションの保存先の話 - プログラマでありたい

    Webシステムの方式設計をする際に、わりと悩むのがアプリケーション・サーバのセッション(session)の保存先です。アプリケーションサーバとは、TomcatやJBoss,IISやRuby on Railsなどで利用するUnicornやPassengerなどです。そもそもHTTPの基仕様がステートレスな為、状態を保持する為にはどこかに状態を保持する必要があります。その解決策がセッションになります。そこでセッションの保存戦略を考える必要があるのですが、アプリケーションサーバやサイトの用途や性格、扱うデータの気密性・重要性によっても変わってきます。 それ以前にセッションの保存先のことの呼び方の定番が何かすら解らなかったりします。セッション・ストアとかセッション・ストレージとか、はたまたセッション・マネージャーとか。今回は、セッション・ストアで統一します。 主なセッションストアの種類と保存戦略

    アプリケーション・サーバのセッションの保存先の話 - プログラマでありたい
    Nyoho
    Nyoho 2013/08/03
  • サーバ構築・デプロイの自動化の話。或いはChefとCapistranoの素敵な関係 - プログラマでありたい

    最近のChefのブレイクで、サーバの構築も自動化でという潮流になっています。そんな中でチラホラ見受けられるのが、アプリのリリースもChefでという考え方です。私は微妙に違うのではないかなぁと思っているので、ちょっと考えを整理してみました。併せてCapistranoの紹介もしてみます。 Chefの役割 まずChefについてです。Chefの役割としては、サーバの状態を管理するものです。ここで言うサーバの状態というのは、各種ミドルウェアのインストール状態&設定です。いわいるサーバ構成ですね。またChefを使う最大のメリットは、開発環境やステージング環境、番環境と全ての環境を同じスクリプトで構築するので、手作業によるミス等による微妙な差異が発生しなくなることです。 さてここで問題になるのが、サーバ上のアプリケーションのコードやデータベースのテーブル定義は、サーバの状態に入るのかという点です。入る

    サーバ構築・デプロイの自動化の話。或いはChefとCapistranoの素敵な関係 - プログラマでありたい
    Nyoho
    Nyoho 2013/04/25
  • 1