All Category

ピザと開発: 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クラスは属性...

Chapter.10 Webアプリを作る

2017-10-03



ようやくWebアプリ編に突入だ! RubyでHttpサーバを簡単に構築出来る標準ライブラリ、Webrickを使ってWebアプリを作ってみよう。さっそくコードから見ていくぞ、論ずるよりも書くが易しだ。

require 'webrick'

# WEBrick::HTTPServerクラスのインスタンスを生成する
server = WEBrick::HTTPServer.new({:Port => 3000})

# HTTPServerオブジェクトにmount_procメソッドでRouteを定義する
server.mount_proc('/teapot') do |req, r...