Raspberry Pi ではじめてのLチカ体験 & 温度計制作

2013.12.1

「Tokyo Hacker Space」という乃木坂にあるハッカースペースでRaspberry Piをいじってきました。

Tokyo Hacker Space?

東京にあるものづくりのためのコミュニティ。

ホームページ見てると結構ハード寄りのことしてるみたい。

参加には月会費が必要だけど、月に何回か一般向けにもイベント開催してるっぽい。

コミュニティスペース自体も工具とかいっぱい並んでるガレージみたいな感じでものづくり精神がかき立てられる。

1

というわけで人生初のハードを体験。

これがRaspberry Pi本体。Ethernet端子やらUSB端子やらイヤホンジャックやらHDMI端子やら色々ついてる。

3

ワークショップでは8GBのSDカードを挿して「Raspbian」というDebianベースのOSを使用。

IPアドレス経由で、MacからSSHでログイン。GUIもサポートされており、「オーバークロック」やら「ロケール」やら「カメラとの連携」やら色々設定可。

Lチカしてみた。

Lチカ… LEDをチカっと光らせるハード界のド定番らしい。プログラミング言語で言う「Hello World」みたいな感じ。

「ブレッドボード」と呼ばれるものにLEDと電気抵抗を挿して、Raspberry Pi本体と接続。

(この時配線を間違えるとヘタすればショートするらしい。例えば 3.3V用のLEDを5Vのジャックに繋げちゃうと死ぬとか )

(続きを読む…)

ブラウザ上でぬるぬる動く3Dを実現する「Three.js」を触ってみた

2013.11.24

「3Dって何となく難しそうで手を出しづらいなー」と少し敬遠していたけど、ブラウザ上とかでサクサク動いているのを見てるとやっぱり自分もやってみたい。

というわけで今回はWebブラウザ上で JSベースでぬるぬる動く3Dグラフィックスを実現できる「Three.js」をいじってみた。

Q. JSベースとはいってもなんか複雑そうで手を出しづらいんだけど…

結論から言えば、基本的な流れを理解してしまえばなんとなくいじれるようになった。

この「基本的な流れ」って言うのは、Canvasで言うなら「クロスブラウザのチェックをして、canvas要素取得して、コンテキストを変数に格納して…」みたいな感じ。Three.jsの場合は以下に説明するような流れになる。

Three.js で3Dをいじるまでの基本的な5つの流れ

(続きを読む…)

RESTful Web APIs 読書会( 第三回 )に参加してきた

2013.11.15

久々の更新。しばらくRailsで趣味の開発に没頭しておりました。

というわけで 今回はRESTful Web APIs読書会(第三回)の参加報告を。

今回は主に「リソースの定義」と「HTTPリクエストの種類」と「安全性・べき等性」のお話。

・リソースの定義

リソースというと結構個人的に定義が曖昧で、データベースのデータとかがメインになるのかなと思っていたけど、どうやらRESTにおいて URIで表現されるものは全てリソースになるらしい。

そしてリソースの状態は以下の二つによって表現されうるらしい。

( 2013年12月1日改正、コメントより「リソースが(同じ状態で)複数の表現を持つ場合に、クライアントは望む表現をどのように指定するか、の選択肢である」といただきました。必ずしも二つではないということですね )

1. Content negotiation( 「内容ネゴシエーション」とも。HTTPリクエストとレスポンスから成るクライアントサーバ間のやり取り? )
2. URI( Railsで言うと new とか edit とかでURIが分かれてるイメージ? )

(続きを読む…)

Rails + jQueryで Edit in Place(その場編集) UI の実装

2013.10.29

基本的な部分はおさえたので そろそろ参考書から離れて 自分でつくってみようかなと思う。

そういうわけで現在は簡単なタスク管理のWebアプリケーションを実装中。

ユーザにストレスが無いよう利便性を高めるために以下のような仕様を実装したい。

【仕様】

1. 項目の既存の属性をクリックしたらテキストエリアに切り替わって編集モード。

2. テキストエリアからフォーカスを外すか、エンターキーを押した場合 更新 ( ただし文字数0の場合は更新せず元に戻す )

3.  Escapeキーを押した場合は更新せず元に戻す

疑問に思った事や困った事、以下。

jQueryでupdate?

$.ajax を使う。jQueryの場合はデフォで「PUT」をサポートしてくれているので UPDATEも安心。

そんなわけで最初のajaxの中身は以下のような形になった。

(続きを読む…)

RESTful Web APIs 読書会( 第二回 )に参加してきた

2013.10.25

RESTful-Web-APIs

RESTful Web APIs 読書会 #2 に参加してきた。

RESTful Web API?

要約すると以下のような感じ。

・Webサービスだとハイパーリンクとかをたどって ユーザは目的達成できるけど、APIの場合って  多くの場合ドキュメントがWeb上に別個に公開されていて、URLだけ見てもわからない上に、ドキュメントを見ても個々の機能がどのように関連しているかがわかりにくいよね

・そもそも そういうWeb APIのあり方って 自己記述性の点でどうなの?(=RESTfulじゃないよね)

・自己記述的なものが含まれていて、最初のURLさえあれば使い方がわかるようなAPIが理想的だよね

そこで RESTful Web APIの著者は Collection+JSON というフォーマットを推奨している。

Collection+JSONとは?

JSONが汎用的でプレーンテキストを扱うものだとしたら、Collection+JSON とは JSONよりも限定的で 「Web上のリソースの検索可能なリストを公開するための規格」である。

HTTPヘッダでは Content-Type: application/vnd.collection+json という形で渡される。

(続きを読む…)