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

  • 「この一冊で全部わかるWeb技術の基本」の監修をしました - プログラマでありたい

    Facebook, Twitter等で軽く報告しておりましたが、イラスト図解式 この一冊で全部わかるWeb技術の基の監修をしました。執筆したのは、所属するNRIネットコムの同僚2人です。どちらも、大学時代しっかり情報工学を学んで、入社してからはインフラ寄りの仕事をしている人間です。Webの仕組みを説明するにはピッタリな人間によって書かれています。 イラスト図解式 この一冊で全部わかるWeb技術の基 作者: 小林恭平,坂陽,佐々木拓郎出版社/メーカー: SBクリエイティブ発売日: 2017/03/16メディア: 単行この商品を含むブログを見る 対象読者は? 入門書なので、これからITエンジニアを目指す人や、なりたての人、或いはIT業界に入ったのでWebとはなんぞやと知りたい営業・企画の人など、非エンジニアでも読めるように意識して書かれています。そもそもWebと一口に言っても、現在では

    「この一冊で全部わかるWeb技術の基本」の監修をしました - プログラマでありたい
    yfnt
    yfnt 2017/03/02
  • Google スプレッドシートの関数でWebからデータを取得する - プログラマでありたい

    Excel買うのはちょっと高いなぁと思っている時に重宝するのが、Google スプレッドシートです。ブラウザがあればどこでも使えて嬉しく、あのデータあのパソコンに入ってるのにとか、そういったことから開放されます。さらに他の人との共有も簡単なので、使い所沢山あります。 そんなGoogle スプレッドシートですが、Googleならではというような機能もあります。その1つがImport系のセル関数です。幾つかあるのですが、Webからデータを収拾できるものが幾つかあります。地味だけど便利なので、簡単に紹介してみます。 Import関数 関数名 概要 IMPORTXML XML, HTML, CSV, TSV,RSS/Atom XMLフィードなど、構造化データからデータをインポート IMPORTHTML HTML ページ内の表やリストからデータをインポート IMPORTFEED RSS, Atom

    Google スプレッドシートの関数でWebからデータを取得する - プログラマでありたい
    yfnt
    yfnt 2016/10/02
  • WishリストからKindleの安売り情報の通知 - プログラマでありたい

    最近の読書体験を振り返ると、9割近くがKindleでの読書です。読みたいを買っておいて、好きな時に好きなを読めるのは非常にありがたいです。一方で、そのスタイルだと積読が多くなります。読みたいリストは無数にあって積読が多いのであれば、買うタイミングは安くなった時に買っておくのがベストでしょう。Amazonでは、様々なKindleセールが行われます。しかし、その告知方法は充分ではないので、ユーザ自身がウォッチしておく必要があります。人間がやるのもバカバカしいので、クローラーにやってもらいましょう。 実現方法案 実現する為には、下記の前提・手順を踏みます。 1. いつか読みたいは、ウィッシュリストに入れておく 2. ウィッシュリストは公開にしていて、認証なしでアクセス可能にしておく 3. クローラーはウィッシュリストを取得して、対象の商品一覧を取得する 4. 対象商品を1件づつ巡回して、K

    WishリストからKindleの安売り情報の通知 - プログラマでありたい
    yfnt
    yfnt 2015/12/23
  • エンジニアを悩ますFabric問題 - プログラマでありたい

    たった1つの単語が、モヤモヤを引き起こして仕方がありません。何とかしてください。Fabric Fabricの何が問題なのか? Fabricの名前を冠する製品・サービス名が多すぎです。 Twitter謹製のモバイルアプリツールのFabric それなりの規模のモバイルアプリの運用するには必須なのがCrashlyticsです。実はこれ、Twitterが提供しているモバイルアプリ向けの開発者ツールで、Crashlyticsの他の幾つかのツールを含めてFabricに包含されています。 Fabric - Twitter's Mobile Development Platform 用例:Fabric入れときますか? デプロイ/構成管理ツールのFabric 構成管理やデプロイツールとして使われることが多いのがPython製のFabricです。そもそもFabricが何の為のツールか調べると、「コマンドライン

    エンジニアを悩ますFabric問題 - プログラマでありたい
    yfnt
    yfnt 2015/12/03
  • Swaggerとは何か? - プログラマでありたい

    最近、Swaggerという単語を聞く機会が増えていませんか?MicrosoftGoogle,IBMが、REST APIの記述標準化を目指した「Open API Initiative」という団体を立ち上げ、そのベースをSwaggerを利用するということで一躍注目を集めるようになりました。しかし、Swaggerというものを調べるとツールの話やドキュメントの話が出てきて、何なのこれとなることが必定です。ということで、WebAPIとは切っても切れない関係のSwaggerの話を簡単にしてみます。 Swaggerとは? Swaggerとは、一義的にはREST APIを記述する為の仕様です。当初から、Swaggerが標準の仕様になることを目指しますよと宣言していて、米国等ではデファクト・スタンダードとなっていました。それが、「Open API Initiative」が出来たことにより、実際に標準の仕様

    Swaggerとは何か? - プログラマでありたい
    yfnt
    yfnt 2015/12/02
  • AWS Lambda+PhantomJS/CasperJSでスクレイピング - プログラマでありたい

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

    AWS Lambda+PhantomJS/CasperJSでスクレイピング - プログラマでありたい
    yfnt
    yfnt 2015/12/01
  • クラウドファーストとクラウドネイティブ - プログラマでありたい

    今年の春(2015年3月)に出版したAmazon Web Services パターン別構築・運用ガイドの序文に次のような文章を書いています。 クラウドという言葉が一般的になってから、もう何年も経とうとしています。当初は、不慣れな従量課金やセキュリティへの不安から、採用する企業はごく一部の企業に限られていました。しかし、クラウド自身の進化と、それを取り扱うユーザ・企業・コミュニティの成長とともに、多くの企業がクラウドを検討・導入するようになりました。そして最近では、クラウドファーストという考え方のように、システムの導入の際はまずクラウドで実現できないかという考え方が当たり前になりつつあります。今では更に考え方が進み、クラウドネイティブという名のもとに、クラウドを前提としたアーキテクチャ・設計が採用されつつあります。 半年前は、現時点ではクラウドファーストが浸透してきた所で、その次はクラウドネ

    クラウドファーストとクラウドネイティブ - プログラマでありたい
    yfnt
    yfnt 2015/11/01
  • 「JAWS-UG CLI専門支部 #31 - Lambda入門」に参加してきました - プログラマでありたい

    一風変わったJAWS-UGとして噂のCLI専門支部に参加してきました。この支部は名前の通り、「AWS CLIを使ってAWSを乗りこなそう」をモットーにCLIで全てこなすことを前提にハンズオン形式で学んでいく硬派な支部です。発起人の波多野さんを中心に強者が揃っています。 Lambda入門 私が参加した会は、Lambda入門です。Lambdaは今後の可能性を強く感じる最右翼です。小さなところから実際のサービスに投入しつつ、そろそろデプロイ・リリース等を考えた開発運用体系を考えないとという時期でした。その辺りを考えると、GUIでチマチマするものではないなという確信はあります。そこで今回の入門に参加することで、体系的な知識を得ようと思いました。 jawsug-cli.doorkeeper.jp CLI専門支部のハンズオン いつも同じ形式か解りませんが、講師(今回は波多野さん)の方がQiitaに手順

    「JAWS-UG CLI専門支部 #31 - Lambda入門」に参加してきました - プログラマでありたい
    yfnt
    yfnt 2015/10/27
  • サーバレスアーキテクチャとは? - プログラマでありたい

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

    サーバレスアーキテクチャとは? - プログラマでありたい
    yfnt
    yfnt 2015/10/19
  • クローラー/スクレイピング本がざくざく - プログラマでありたい

    2015年8月末に、クローラー/スクレイピングが2冊同時に発売です。Python版メインのものとJavaScript版メインのものです。なかなか市場のニーズ突いてきていますね。 実践 Webスクレイピング&クローリング-オープンデータ時代の収集・整形テクニック 作者: nezuq,東京スクラッパー(協力)出版社/メーカー: マイナビ発売日: 2015/08/28メディア: 単行(ソフトカバー)この商品を含むブログを見るJS+Node.jsによるWebクローラー/ネットエージェント開発テクニック 作者: クジラ飛行机出版社/メーカー: ソシム発売日: 2015/08/31メディア: 単行この商品を含むブログを見る 実践 Webスクレイピング&クローリング-オープンデータ時代の収集・整形テクニック 実践 Webスクレイピング&クローリング-オープンデータ時代の収集・整形テクニックは、Py

    クローラー/スクレイピング本がざくざく - プログラマでありたい
    yfnt
    yfnt 2015/08/30
    クローラー/スクレイピング本がざくざく - プログラマになりたい
  • 「Amazon Web Services パターン別構築・運用ガイド」の執筆環境 - プログラマでありたい

    Amazon Web Services パターン別構築・運用ガイド 作者: NRIネットコム株式会社,佐々木拓郎,林晋一郎,小西秀和,佐藤瞬出版社/メーカー: SBクリエイティブ発売日: 2015/03/25メディア: 大型この商品を含むブログ (2件) を見る 今回の「Amazon Web Services パターン別構築・運用ガイド」は、会社の同僚たち4人で書き上げました。会社の同僚といっても、東京と大阪に別れていたり、日中に打ち合わせをする時間もないので、ほぼリモートのやり取りだけで完結させました。かなりスムーズにいったのですが、幾つか課題もあるので、忘れないうちにメモです。 執筆を支えるシステムの全体像 リモートでやり取りをする為に、幾つかのツールを組み合わせて簡単な環境を作りました。方針としては、執筆に集中するために出来るだけSaaSを利用し、余計な時間を取られないようにしまし

    「Amazon Web Services パターン別構築・運用ガイド」の執筆環境 - プログラマでありたい
    yfnt
    yfnt 2015/03/21
  • 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を利用してスクレイピング - プログラマでありたい
    yfnt
    yfnt 2015/02/14
  • 何故JSONPでJavaScriptのクロスドメイン通信ができるのか? - プログラマでありたい

    一人Advent Calendarの3日目です。 JSONPを使って外部のAPIを呼び出して、結果を取り込むということは色々なところで行われています。しかし、そもそもJavaScriptを利用した場合、クロスドメイン通信が使えないという前提があります。JSONPだったら、何故そこを回避できるのでしょうか?あまり詳しく考えたことが無かったので、簡単に調べてまとめてみました。なんというか4周くらい遅れている話題ですが、気がついた時に整理するとスッキリします。 JSONPの動作原理 Wikipediaさんをみてみると、そのものずばりのことが書かれています。scriptタグ内のsrc属性は別ドメインのURLを指定できるという点と、そのレスポンスはJavaScript関数呼び出し形式になるという点をついたのが、JSONPの動作原理です。なんというか、仕様の考慮不足を利用した仕組みだと思います。 JS

    何故JSONPでJavaScriptのクロスドメイン通信ができるのか? - プログラマでありたい
    yfnt
    yfnt 2014/12/05
  • 作って覚える転置インデックス、「検索エンジン自作入門」 - プログラマでありたい

    先行発売で、検索エンジン自作入門を購入しました。まだペラペラと眺めている状況ですが、これが非常に面白いです。 「検索エンジン自作入門」は、集めた文章をいかに整理するかをテーマとして扱っているです。整理するという意味は、検索エンジンを利用するというライフハック的な意味ではありません。整理する為の検索エンジン自体を自分で作ることで理解するという、極めて硬派なです。 「検索エンジン自作入門」とは? 「検索エンジン自作入門」は、未踏IT人材発掘・育成事業にスーパークリエータに認定された山田浩之氏と、Senna/groongaの開発者の末永匡氏の共著です。検索エンジンについて語らせたら、日でこれ以上の人たちはいないだろうという組み合わせです。ということで、内容は非常に濃いのですが、難しい内容を解りやすく解説されています。 一方で、扱っている内容は非常にマニアックです。下に目次付けておくので見て

    作って覚える転置インデックス、「検索エンジン自作入門」 - プログラマでありたい
    yfnt
    yfnt 2014/09/22
  • 「第2回Webスクレイピング勉強会@東京」に参加&発表してきました - プログラマでありたい

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

    「第2回Webスクレイピング勉強会@東京」に参加&発表してきました - プログラマでありたい
    yfnt
    yfnt 2014/08/20
  • プログラミング・レスで5分でサックリWebスクレイピング「kimonolabs」 - プログラマでありたい

    Rubyによるクローラー開発技法」で付録か何かで書こうか悩んだ末に書かなかったのが、kimonolabsの話です。kimonolabsは、クローラー/スクレイピングをオンラインで実行できるWebサービス(SaaS)です。クローラーを書いておいて何ですが、9割の人は自分でクローラーを作らずに、この手のサービスを利用すれば事足りると思います。(書かなかった理由は、Ruby縛りサービスの継続性とスケジュールの問題です。主に最後) kimonolabsとは? kimonolabsは、先述のとおりWebスクレイピングをしてくれるSaaSです。会員登録してChromeの拡張をいれれば、すぐに使えるようになります。一般的に、Webスクレイピングする場合は、次のような手順が必要です。 対象ページのダウンロード ダウンロードしたページから、特定の箇所を抜き出す 抜き出したデータの保存 対象ページのダウン

    プログラミング・レスで5分でサックリWebスクレイピング「kimonolabs」 - プログラマでありたい
    yfnt
    yfnt 2014/08/14
  • 『Rubyによるクローラー開発技法』を書きました - プログラマでありたい

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

    『Rubyによるクローラー開発技法』を書きました - プログラマでありたい
    yfnt
    yfnt 2014/08/06
  • 開発用プロキシ、「CocProxy」が便利 - プログラマでありたい

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

    開発用プロキシ、「CocProxy」が便利 - プログラマでありたい
    yfnt
    yfnt 2014/05/06
  • Chefの辞典こと、「Chef活用ガイド コードではじめる構成管理」 - プログラマでありたい

    頂いて随分と時間が経っているのですが、@sawanobolyさんに「Chef活用ガイド コードではじめる構成管理」を頂きました。執筆段階から原稿見せて頂いていたのですが、製したものを見ると圧巻としか言えない分量の大作です。頂いたものの、分厚すぎて持ち歩けないので即効で電子版で買ったほどです。ある人は、鈍器のようなChefと呼んでいます。 そんな分厚いChefですが、内容は分厚さに違わずChefの網羅率および詳しさはピカイチです。Chefの概念から始まり、Chef-ServerやSoloなど色々あるChefの利用形態、縁の下の力持ちであるOhaiについてそれぞれ章を費やしています。また、Chefの基的な使い方が始まり、実際のChef利用の肝となるData Bag、Environment、Roleも詳しく書かれています。その上、開発だけでなくテストや運用フェーズまで含まれています。

    Chefの辞典こと、「Chef活用ガイド コードではじめる構成管理」 - プログラマでありたい
    yfnt
    yfnt 2014/05/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 - プログラマでありたい
    yfnt
    yfnt 2014/04/15