All Category

騒々しい無音の世界

2017-10-15



この日の最後に向かったのがNTTのICC(インターコミュニケーションセンター)である。この展示施設にはコミュニケーションを題材とした展示物が並んでいる。実際のところ、コミュニケーションというよりはインタラクション(相互作用)とでも呼ぶべきモノが中心だ。鑑賞者と制作者との相互作用を持つアート、といった印象を受けた。

例えば鑑賞者の位置によって姿を変える映像や、手元にあるカードを並び替えることで変化する音楽だ。会場に入ってすぐにあるのは初期の蓄音機のような姿をした展示品で、マイクとスピーカーを兼ねる大きなラッパが木の箱についている。ラッパに向かって音声を吹き込んだ後で箱の横にあるハンドルを...

ピザと開発: IT業界のおもしろおかしな就活

2017-10-14



自分が新卒として就活した時のお話をしよう。そう、自分にも真人間のような儀礼的行為をしていたことがあるのだ。とはいえ世間一般で言うような就活とは少し変わっているかもしれない。

具体的にはピザ食べながら雑談したり、徹夜でプログラミングしたりしていた。いや、就活の話だ。就活でやっていたのがピザとプログラミングだ。

シューカツのけもの道

まず誤解を避けよう。IT業界のエンジニアだろうがほとんどの採用は世間のソレと一緒だ。スーツを着て説明会へ行き、ESだの書いて、面接を受けたりする。ただし技術的な側面が強い業界のご多分に漏れず、けもの道が多い。普通のルート以外があちらこちらにあるのだ。今回は...

さぁ、高速化だ!

2017-10-12



Webサービスの高速化は、重要だ。曰く、0.1秒の低下でECサイトの売り上げは1%低下し、0.5秒の低下でWebサイトのアクセスが20%も落ちる。わずか0.1秒だ。

しかしSIerに開発を委託しているようなサービスでは何故か蔑ろにされがちである。自分の周りで動いているSI案件も少しの間任せてもらえればリピートで1秒縮めることは別に難しくない。

先述の理屈で言えば売り上げが10%上がるワケで、下手なSEO対策なんて目じゃない。年に100億からの売り上げがあるECサイトなら、10%も上がった日にゃ利益が数千万どころか数億ほど浮く。

まずは計測と診断


「測定できるものは測定し、できな...

Chapter.12 責務の分離

2017-10-03



責務の分離

このチャプターのコード:
https://github.com/owlworks/ruby_on_basis/tree/13_change_routing_process_and_add_id_column_to_product

さてProductのGET(Read)、PUT(Update)、Deleteを実装する予定だが今日はその下準備だ。まずコードが少しややこしくなってきた。具体的にはmount_procメソッドのブロック内で処理を書きすぎている。そこでリクエストからレスポンスを作るまでの実処理をControllerオブジェクトへ任せよう。



class Co...

Chapter.11 使おう、リソース

2017-10-03



前回はHTTPのURLとメソッドという概念を説明したね。今日はリソースを作ってコードを書いてCRUDしてみよう。

さて、どんなリソースを作ってみようか。このドキュメントではちょっとしたサンプルコードなら大抵は猫クラスが登場する。ただ、オブジェクト指向プログラミングやリソースのサンプルとしては不適切だ。可愛いけれど。

このドキュメントの想定読者は既にrailsで業務コーディングをしていると思うので、ビジネスっぽい例えの方が身近で良いと思う。だから今日は商品(product)クラスを考えてみよう。ちょっとした商品管理ソフトを作るんだ。

Productクラス

Productクラスは属性...