web通信




Ryosuke Igarashi
2014.08.06

agenda

  • HTTP
  • Ajax
  • Web Socket
  • Web RTC (HTML5)



http

http


  • HTTP 1.1シンプルなHTTPの使い方
  • リクエスト・レスポンス
    • GET/POST/PUT/DELETE/...
  • クライアントからサーバに対する要求
  • 毎回、ページロードが発生

feature


  • 24個のサーボモータや電子機器が内蔵
  • 机で足ぶらりアイドルモード搭載
  • BlueTooth搭載
  • SNSやメール通知機能搭載
  • AndroidやiOSで操作可能
  • GooglePlayでモーションや音声をDL可能

First MOTION TEST




coming soon



Extra



scraping入門

What's the 'scraping'


スクレイピングとは、webサイトの要素を解析して必要な情報を取り出したり収集すること。

使うもの

  • Ruby
  • nokogiri(gem)

demo

notice

  • nokogiriはXPATHもCSS Selectorも使えるが、CSS Selectorを使う方がオススメ
    • CSS SelectorはもともとCSSで定義され、jQueryなどにも使われるため利用機会が多い
    • XPATHより見た目が簡潔で直感的に使える(好み?)
  • nokogiriの.css()や.xpath()でtbodyを含めると検索できない(バグ?)
    • doc.xpath('//table/tbody')
    • doc.css('table > tbody')

BASIC css selectors

  • .(クラス)
  • #(ID)
  • A B(BはAの子孫要素)
  • A > B(BはAの子要素)
  • A + B(BはAに隣接している要素)
  • A ~ B(BはAの後ろにある要素)
  • A:nth-child(n)(Aのn番目の要素)
  • A[name](Aのnameという属性を持つ要素)
  • A[name=“value"](Aのnameという属性の値がvalueの要素)
  • A[name^=“value"](Aのnameという属性の値がvalueで始まる要素)
  • A[name$=“value"](Aのnameという属性の値がvalueで終わる要素)
  • A[name*=“value"](Aのnameという属性の値がvalueを含む要素) 

other gems

  • mechanize
    • nokorigiはDOM解析・構築に特化しているに対して、mechanizeはnokogiriをラップしてより使いやすく、より高機能にしたもの
    • CSS selectorとかXPATHを使わなくても検索が書ける
    • ページのFormにパラメータを入れて画面遷移とかもできる
    • ただし覚えることが増えるので、個人的にはnokogiriでCSS Selectorを書いてた方がいいかな。
    • http://docs.seattlerb.org/mechanize/GUIDE_rdoc.html



end

KokubunjiStudy01

By Ryosuke Igarashi