ギークなお姉さんは好きですか

恋焦がれる理想の男性・ギークを知るため、プログラミングがわかるお姉さんを目指すブログ

アルファギークに聞いたOAuthとRESTの話

ちょっと前(わりと前)にすごくいい話を聞いたんだ!
私が1人占めしてちゃもったいないから、うろ覚えだけど書いておく!!

とある場で、思いがけずすごく有名なギークさんと会ったのね。んで、
「僕はgeekDBに入れてもらえなかったですしね・・・ヘッヘッ・・・」
的なお話をして(中略)一緒に飲みに行くことになりました。

私はアルファギークからサシで話が聞けるチャーンス!と思い、
最初のビールが来ないうちに「今日はOAuthの話を聞きに来ました(キリッ!)」
やる気満々で切り出しました。

アルファギークは言いました。

「OAuthっていうのはね。
例えば、僕がべにぢょさんのことを好きだったとします。
それを僕からべにぢょさんに伝えるのは問題ないんだけど、
僕じゃない人からそれがべにぢょさんに伝わった場合、ちょっと信用できないし、
僕としても、僕が知らないところでそれがべにぢょさんに伝わるのは嫌だよね?
それに、その情報を知った人がそれを悪用したり広めたりするかもしれない。
それは非常に問題があるでしょう。
こういうごくプライベートな情報、専門用語ではクレデンシャル情報っていって、
だいたいIDとパスワードのことを指すんだけど、
こういう当事者以外には秘密にしておきたい情報の取り扱いはすごく難しいんですよ。
それがOAuthの考え方です(キリッ!)」


「おぅっス!ちょう分かったっス!!!!!」

この人は説明するのがものすごく上手なのじゃないだろか?それなら・・・と、
私は調子に乗ってさらにいくつか質問しました。
何を聞いたかもうすっかり忘れちまったんだけど>< 覚えてるのだけメモしておくNE☆

「あの!RESTful APIって、ぶっちゃけ究極なんなんでしょう!?」


「うーん、そうだな。RESTful APIの前にまずRESTというのがあって」


「はい!REST知ってます! APIも知ってます!APIは部品ですよね?」


「そうだね、だいたい合ってる。
ただね、究極のところ、部品というかURLにアクセスするのも乱暴に言えばAPIなんですよ」


「はぁ!なんで!?」


「あのね。RSSの中身は見たことある?」


「はい!XMLでできています!!」


「おぉ、よく知ってますね」
(褒められたヾ(*´∀`*)ノ)

・・・この辺でなんかいい話聞いたっぽいけど忘れたので省略。RESTの話に戻ります・・・

「RESTは、大きく4つの機能があるのね。
順番に説明するけど、実は重要なのは2つで、残りの2つはそうでもない」


「ふむふむ」


「POSTとGETの違いは分かる?」


「ええと、POSTは封筒に入った手紙で、GETはハガキみたいなものです!」


「誰にそんなこと吹き込まれたんですかwwww」


「えっ!いや、その、世論的にそういう風潮が・・・・・|ω・`) 」


「あのね。そうだなぁ。
そのたとえで言うなら、GETというのは宛名の欄に手紙の本文も全部書いちゃうようなものなの」


「!!!!!!!!!!!なるほどすぎる!!!!!!!!!!!!」


「URLってよく見たことある?」


「やー、そんなにないです」


「例えば、普通の郵便って”東京都○○区○○3-3-3 べにぢょさま”って、ちゃんと”読める”よね。
東京都の、○○区の○○に住んでるべにぢょさまって分かるじゃない?」


「はい」


URIもそうあるべきだっていう流れがあって。これを記述的っていうんだけど」


「記述的なURL・・・」


「Cooled URLっていうんだけど」


「いまなんと!Coolと申したか!CoolなURL!CoolなURLは前にやりました!!」


「べにぢょさん、自分のブログのURLを見て意味が分かるよね?」


「ああ!分かります!d.hatena.ne.jpのlovecallの20100614のp1とか!ちゃんと”読め”ますね!」


「そう。それでね、べにぢょさんがブログを見るときってどういう作業が必要?
 新規でエントリを書く、過去の日記の一覧を見る、エントリを修正する、エントリを削除する...
それ以外になにかある?」


「うーん、ないんじゃないでしょか。うん、ないですね」


「それがRESTなんだよ」


「は?????あ、このジーマーミ豆腐すごく美味しいですね!
(テンパって話を逸らすべにぢょ)」

・・・・ジーマーミ豆腐と海ぶどうっぽいのに集中力を削がれたのでいろいろ忘れました・・・


あとはねー、あとはねー。
ステートフルとステートレスの話とか、本当にいろいろ聞いたんだけど、
キーワードしか覚えてないんだごめんなさい(つд・)
すっごくためになる話をとても分かりやすく説明してくれた。
このエントリは全然まとまってないしひょっとしたらどっか間違えてるかもしれないけど、
それはひとえに私の文章力のなさと記憶違いのせいです。ギークは悪くないよ!
くそぅ。議事録取るか録音するかUstすればよかたよ><

私が自重せずに「ハッシュとトークンは何か関係ありますかね!?」とか
「2-legged OAuthと3-legged OAuthについて詳しく!」などとがっついたから、
全然時間が足りなかった。聞きたいことしかないつうの。
ホントお話が上手な人だった。そして大人で冷静な社会人ギークだなあと思いました。
いろんな人がいます。


先日、熱出して大変ぽいこといってたけど大丈夫だろか。
「お熱ですか!私にですか!大丈夫ですか><」って聞いたら
「いろんな意味で大丈夫です」って言ってたからきっと大丈夫だろう(´∀`)
おだいじにおだいじに!

viewを変えるのは楽チンポンだったが

経過の詳細すっ飛ばしててごめんね><

いまー私のーねがーいごとがー かなーうーなーらばぁぁぁー!
時間がーーー星ーーーーーーぃいいいいいいいい!! 

知ってる?合唱コンクール!歌ってる?歌おうぜ!さぁみんなで!!
なにさ!べつにワインなんて全然飲んでないんだから!いつも正気だっつの!
8時だJ!」の ”J” って、JavaScriptの ”J” だよね(・∀・) JavaScript事務所つくろうぜ!!

前回、最後に今後のToDoとして
・home,canvas,profileでのviewを指定

って書いたけど、これはちょう速攻の一瞬でできた。

次はサーバにデータ保存の前に、homeとprofile画面で”今日のお勧めマイミク”を
ランダムで出したいなぁ。。。
アプリの趣旨とあんま関係ないけど、canvasビューでマイミク一覧を出してるので、
homeとprofileでもソーシャルっぽい要素を使いたいなと思って。

アプリ申請&マイミクリクエストくれた人、ホントにありがとございます!!!
とてもへぼくて申し訳なくて、メールくるたび画面の前で土下座してます><

とりあえず、使ってくれてるユーザーに恥ずかしい思いをさせないクオリティのアプリにせねば(`・ω・´)


てかさぁぁ。去年、うじひさ(カナダ在住)に送ったエアメールがまだ届いてないようで泣きそう。
スカイプなら一瞬でメッセージ届けられるのになぁ。
アナログもどかしい・・・だがそれがいい?

jQueryがナイスファイトすぎーるじぇぇーいの巻

酔拳のごとく酔うとコーディングしたくなるんだけど、
これは世のプログラマに対して失礼なんだろうか。ギーク的に考えて・・・

PHPよりJavaScriptのほうが楽しいじゃないか。どういうことだ。ってTwitしたけど、最近JSが楽しい。
ガジェットプログラミングのためのJavaScript入門」という本がとてもいい仕事をしている。
この本いいよ、お勧め!って、またアスキーさんの回し者みたいなこと書いてしまった><


mixiアプリでさー。色日記みたいのを作りたくって。
今日はブルーな気分>< とか、今日はピンクなムードなの♪とか、あるじゃん?あるじゃん?
文章で日記をつづるのは面倒な人でも、ワンクリックで色を選ぶだけなら続くかなぁと。
んでんで、1ヶ月過ぎたときに「あー、今月は全体的に暗いなー」とか、視覚的に分かったら
楽しいかなぁと。そしてマイミクのを見て「こいつ今月浮かれてやがる!」なんて思ったりして。
そして最終的には同じ色気分の人とつながって結婚とかすればいいよ!色で出会えばいいよ!!

なんだっけ。そう、色日記。
jQueryのカラーパレット使って、色を表示するだけの超シンプルアプリを作った。
[mixi] color_diary

jQueryをDLして、同じ階層に上げたんだけど、mixiアプリはURLをフルパス指定しないと読み込んでくれないのね。jquery-1.4.min.jsだけだとNG。cssファイルなんかも一緒。http//〜で書かなきゃダメなんだ。
そしてxmlファイルを再upしたら忘れずにキャッシュクリアしなくちゃNE!
つーかjQueryがオニ便利っぽくて今からときめく。わくわくさんですよ!
jQuery

カラーパレットはこれを使った。
Farbtastic: jQuery color picker plug-in


今はまだヘボいけど、このアプリを徐々にブラッシュアップして、最終的には牧場を倒すの(。・д´・。)ノダ!!
まだアホみたいにしょぼいけど、もし見たかったら申請してください><
ついでにマイミク申請してもいいよ!今なら超スペシャルサービスで承認してあげる!
今だけだからね!!今のうちだからね!普段はこんなこと絶対ないんだからねっっxt!!!


なんだっけ。そうだ。この後にやるべきことを書いておこう。
・home,canvas,profileでのviewを指定
・サーバにデータ保存して一覧で見れるようにする

マイミクのデータ引っ張ったりするのはこれをやってからかな。
あー。明日なんで月曜なの?へんなの!ちぇ!!!!!

通信カラオケの発明者はとんでもないギークだった!!

安友雄一さん。この人なんでWikipediaに載ってないの!?
いま全国で稼動してる業務用カラオケの98%を占める通信カラオケ、
ミシン会社の一社員だった安友さんが1人でゼロから作ったんだぜ!やばいぜ!

 


私は毎週末の午後いっぱい、友達とカラオケで過ごすくらいカラオケ大好きなので、
この本を見つけたときは次会うときの話題になるかなぁーくらいの軽い気持ちで
手に取ったけど。まさかこんなところでギークに出会うとは思わなかったよ><
やっぱり縁かねぇ^^ 私はギークに縁があるのかねぇ^^^^^^^^^


北海道大学の大学院生だった安友さんを、名古屋のブラザー工業がスカウト。
安友さんは小学生でアマチュア無線の免許を取得、中高時代にはアンプやテレビの回路を自作し、
大学院ではプラズマ実験装置を自分で作ったとか。
このへんのエピソードを読みながら、私は上野康平さんを連想してすでに興奮していた!!!
間違いない、この人は天才ギークだ。

ブラザー工業は「何でも好きなことをやっていい」って言って、安友さんをスカウトしたらしい。
今で言うラボっぽい感じだろか。安友さん曰く、
「誰もやってない最先端のことをやりたい。人に言われてやるのではなく、自分で計画して自分でやるのがいい」

amachangが言いそうなセリフだ!ただがむしゃらに…というアレですね!!トレビアン++!!!!!

ミシン会社に安友さんが「これからはソフトの時代ですよ」と提案したのは1981年。そりゃ社内では通用しなかっただろうw
でもこの人は、会社に内緒で赤字で撤退予定だったTAKERUをこっそり改良して通信カラオケに必要なインフラ設備を整えていた。
社長が「お前は本当にとんでもねぇヤツだ」と言ったそうだが、ホントにこの人はとんでもない。
出てくるエピソードが軒並みありえないことばかりしでかしてるw こんな人マジでいたのか・・・。

「パイオニアになるのは楽しいよね。毎日ハラハラドキドキするし、スピードも要求される。
 同じことを考える人間が世界に十人いたなら、僕は必ずナンバーワンになってみせますよ」


ギークだ。すごいギークがここにいた。


この後のMIDI職人の話も楽しかった!
今カラオケで流れてる音源は、みんなフリーランスの職人が耳コピでコンピュータに打ち込んでるらしい。
すごいなー。すごいなー。1曲当たり平均で30時間、報酬は4万5千円。
海外に外注してた時期もあるけど、アメリカ人だと正確に再現せずに「オレのプレイの方がカッコいいだろう!」とか言うらしいw 日本人の完璧主義的な芸の細かさは、ほかの国の人には真似できないそうな。

安本さんがインパク知・大きすぎて前半の印象が薄いけど、弾き語りミュージシャンがお客さんに合わせて曲調を変えて演奏し、テープに吹き込んだのが発端になった話とか、弁当屋の黄色いトラックが最初のカラオケボックスだったって話も面白かったにょ。


とりあえず、mizzuとわだっぷamachangは読むべし!

みんな大好き!ソーシャルアプリの作り方をコンパイルするよ

マイコミさんの回し者みたいなことになってるべにぢょだ(・∀・)
2010年はソーシャルアプリが来るぜ!熱いぜ!というソーシャルバブルが楽しそうなので、
私もハローワールドしてみる。
”コンパイルする”というのは、プログラマの言葉を非プログラマに分かるように翻訳するって意味だよ!
そして私は、あなたにコンパイルされたい。

OpenSocialに関する記事はたくさんあるけど、個人的には八角研究所さんの「5分で学ぶGoogle0ガジェット開発」がとても分かりやすかった。5分で7ページは無理ダケドナー!
ガジェットで「Hello,World!」出すのはたぶんPHPより簡単。環境いらない。Googleがあればおk。
私にもできたから、ぜったい大丈夫だよ!びびることないって、ホントホント!マジヨユー!!

八角さんの2分目にあるように、構成はXML形式。

Module ・・・ルート要素
ModulePrefs ・・・ガジェットのメタデータを記述
Require ・・・ガジェットが必要とするライブラリ
Locale, MayRequireなどその他のタグ
UserPrefs ・・・ガジェットが必要とするユーザ設定
Content ・・・HTML/JavaScriptなどでガジェットの内容を記述する


はい先生!ルート要素ってなんですか!?
ググると大概、やけにまどろっこしくて孫の手が欲しくなるような言葉で説明してあるけど、
多少の誤解を許容してシンプルに言うと、htmlでいうbodyタグ的位置付けと解釈している。
や、どちらかというとbodyを内包したheadか?まぁとにかくそのへん!!
XMLは前もちょっとやったから、通知表で言うと2の上くらいの知識はある(`・ω・´)
TwitterにRSSフィードを自動投稿してくれるアカウント作った!

XMLマトリョーシカみたいな構造になっていて、1番外側の <?xml〜?> から順に開けていくと、
<![CDATA[ 〜 ]]> ていう箱に1番大事な中身が入ってる。のだ!

<?xml version="1.0" encoding="UTF-8"?> 
 // これはXMLファイルですよ
<Module> 
 //絶対必要なルート要素。<html>(ここでは↑のxml)<body>のイメージ!
<ModulePrefs title="ハローワールドを出すテスト" />  // <title>タグとほぼ同意
<Content type="html">  // 以下の内容はhtmlで書きます!という宣言
<![CDATA[ // htmlなら本来はここからがbodyに当たる。ブラウザに表示する中身を記述する部分
Hello,World! // ここがブラウザに表示されます!!!!!!!!
]]> // 表示部分終わり
</Content> // htmlで書いた中身終わり
</Module>
 // このファイルは本当にここで終わり

Hello,Worldを出すのみならこれだけでイケる。
もしOpenSocialを使う場合は、<ModulePrefs title="ハローワールドを出すテスト" /> の下に
<Require feature="opensocial-0.8" />
の1行を入れる。
って、説明するより実際のソース見たほうがなんとなくイメージつかめると思う!
Googleガジェットギャラリー

ここで適当なガジェットを選んで右下の「ソースの表示>>」ていうリンクをクリックするとソースが見れる。
たとえば、みんな大好き「はてなブックマーク」はこんな感じ。
はてなブックマークのソース表示

ね!ね!こっちのほうが早いね!!
今なんとなくしか分からなくても、いつかナルホディウス!と納得することでしょう。
プログラミングはそれでいいのだ。たたたぶんね><

そうそう。ソースを上げるサーバは、自分で用意しなくても大丈夫なんだよ。
八角さんとこに書いてあったみたいにGoogle Gadget Editorを使ってもいいし、dropboxでもいい。
私は最初、この記事見てdropboxで試した。
DropBox を OpenSocialアプリ開発に利用する - jmblog.jp


はっ。そういえば!今年もよろしくお願いします♪

『超★ライフハック聖典』〜いろいろ難しい問題を扱った本だった

 

ココロン献本ありがとう!
賢くてユーモアがあって抜群に人気があるアルファブロガーなのに、
字がかなり残念というスキを見せることで相手に親近感を抱かせるライフハックだね!お見通しだよ!

 

(なんてくどいんだこのオッサン・・・!喋りすぎだよ!ずっとココロンのターンじゃないか!!)

本なのにあたかも今、目の前のココロンとコミュニケーションを取っていて、
こっちが望んでもいない余談を一人で先回りして喋り倒してる、という印象を受けるのはなぜかしら。
ココロンの巧みな文章術のせいなのか、はたまた彼のキャラが本というメディアの枠じゃ我慢できずに
出しゃばってくるからなのか・・・。
感じるぜ!前のめりすぎてぶっちゃけ暑苦しいココロンの愛を!!
ショッキングな自己啓発書を出すので唖然としてください - ココロ社

あ。ココロンと私のファースト・コンタクトはココを見てね♪動くココロンがいるよ!
アイツにLOVECALL! 第一回 ココロ社さん - vlog:lovecall.jp(更新停止)


かつて 「文章が冗長になるのは、自分が思っていることのすべてを、あらゆる読み手に正確に伝えようと努力した結果だ」 と言った人がいた。
『超★ライフハック聖典』を読んでいると、ココロンはまさにそういう人なんだと感じる。
この本で伝えたいことは、古くからある3つのことわざ。

情けは人のためならず
人のふり見てわがふり直せ
善は急げ


実際はこれじゃなくてもいいんだけど、アレコレと便利そうなライフハックに飛びついては遂行せぬまま
終わるくらいなら 「これと決めて筋を通せ」 と。はてなブックマーカーには耳の痛い話ですね><
そして、その大原則として「あるライフハックを実行しないという選択をした場合も、次に用意されたライフハックを実行しなければならなくなる。そして後で実行するライフハックは、前に実行するライフハックより効力が低い」と。

しかし、ただ誰もが知ってるようなことわざを挙げて「役に立つぜ!」というだけでは、高度にスルー力の発達した私たちは、たとえ目にしてもアドワーズの広告ばりにスルーしてしまうだろう。

そこで我らがココロンが「三途の河の渡り方」などという、一見まったく関連が分からず (これを商用出版で書くってどうなの・・・?) と新米編集者の私を混乱させるような文章を披露しまくり、さまざまな立場の読者に、楽しく、分かりやすく、説得力を持って上記の3つのことわざを伝えようという試みが、この『超★ライフハック聖典』なのだ!私はそう感じた。

”カリスマサラリーマン”という肩書きを持ち、日本の組織社会を巧妙に生き抜いてきたココロンが、リアルなビジネスシーンでの処世術を説く。
その部分だけ読むと普通のビジネス書っぽい気がしてくる。絶対に違うけど(゚∀゚)
第二部の「仕事をやり過ごす超★ライフハック」は、企業で働くうだつの上がらない(失礼!)サラリーマンに超★オススメ!
余談ですが私は、文中にチョイチョイ挟んである「飛び出せライフハック」というコラムの中で、第二部内に登場する『「機械」と聞いてギョッとする人のためのライフハック』がとびきりバカバカしくて大好きだw


以下、本文抜粋しながらの感想。

結局のところ、閻魔様は「がんばってる感」に対して弱いのです。
裁きを受ける方というのは一日に何万人もいるわけで...(以下略)
注釈:何千人かもしれません。八百屋に八百種類の野菜があるわけではないが、その点で八百屋を責めないのと同様、責めないでください。

〜三途の河の渡り方 より

そう、ココロンはこんな風に突っ込まれそうな箇所を予測し、先回りして笑いを取りつつ回避するハックが上手い。


たとえば、自分の行動が適切かどうか、ということについての調整をどのように行うかを、自分のみの判断で動いたら必ず失敗します。(中略)
わからないのは、「何が正しいか」ではなく、「どこからが正しいのか」です。

〜「人のふり見てわがふり直せ」より

この部分だけ読むと「ふーん・・・?まぁそうかもね」で終わってしまいそうだが、ココロンは「しつこい男はモテない」という例ですんなり理解させてくれる。ココロンの比喩はとても分かりやすい。


会社やサークルでの知り合いの中から、相手を探すのであれば、少ない異性どうしでお互いを奪い合うことになり、それなりの能動性が必要とされますが、オンラインでは、何千万人がいるわけですから、無理して自分から出ていかなくてもよいのです。(中略)
ビジネスに喩えて考えるとわかると思いますが、ネットショップを持っていて、そこで毎日大量の注文がくるのであれば、あえて効率のよくない飛び込み営業をする必要はありませんよね。

〜「対面でどう行動すべきか」もネットにある失敗例から学ぶ より

ほらね。ココロンはちゃんとこちらが「なるほど」と思うまで話してくれる。
たまにくどいけど、そういうとこ嫌いじゃないよ(///)



私が今すぐ実践したいのは、第七章の『「友達減らし」で人生を何倍もエンジョイする』かな?
あっ!待って!行かないで!そういう意味じゃないってば!勘違いする前にちゃんとこの本読んで!!
そうすればこのエントリのタイトルの意味も分かるから!!!

ココロンの次回作に期待してます♪

女の子とちがう エンジニアって

/*〜*/ もコードばかりで 日本語がないの?

ごめんなさい、タイトルはただ語呂がいいというだけでクリィミーマミをパクりました。
深い意味はありません。

担当書籍の話。
著者さん(エンジニア)の原稿整理をしてるんだけど、コードの解説がコードで書いてある!!
コメントなのになぜだ!!!とテンパっていたw
私が今まで読んだ参考書は 「ほげほげ入門」 みたいなのばっかだったから、
コメントがソースっていうのがちょっと斬新だった><

でも

「Howをコードで
 Whatをテストコードで
 Whyをコメントで
 それぞれ書く、って誰かが言ってた」


って otsune さんが言ってた。ふむ。
そしてコレのソースを見ながら、こういうのいいなぁーなんて、思考が脱線したりして。
ソースが100行とか200行とかドバーってあるとウワーってならないかな?読者は?ならないのかな?
そういえば amachang は、言葉が通じない海外の人とも JavaScript で会話ができる、という
都市伝説を聞いたことがある。でもあまちゃんamachang だからなぁ・・・。
どうやって見せるべね。色分けも限界あっぺね?ううむ。

つづく。