Ruby/Web

RailsでWeb開発を始めたエンジニア見習いに対して多くの人がこんなことを言う。 「SQLを理解しろ」「HTTPを学べ」「誰かこいつらにWeb技術の基礎を教えろ」 。なら自分がそういう記事を頑張って書こう。誰かって自分さ。

新コンテンツを知らせよう - RSSの追加

2018-02-25



このブログはRailsを使ってフルスクラッチで作られているワケだが、残念な事にRSSフィードの出力をまだ実装していない。しかしRSSフィードを出力すれば定期的にこのブログを見てくれる人も増えるだろうし、諸々のサービスへ連携するのも可能になる。だから今日作るよ。

おそらくRSSフィードを作成するgem、という文言でググるとHit数が少なく選択肢がないように思えるかもしれない。だが実際にはRSSパーサーgemのほとんどはRSSフィードの出力も出来る。当然と言えば当然である。

今回はgemではなく単にxmlとしてBuilder::XmlMarkupで書く。理由はRSS部分がviewとして分...

[翻訳]Webアプリを10倍速くする10のtips(上)

2017-11-05



元記事: 10 Tips for 10x Application Performance
https://www.nginx.com/blog/10-tips-for-10x-application-performance/

Webアプリのパーフォンス改善はますます重要になっているよね。経済活動においてインターネットが占める割合はどんどん増えてるしさ。先進国の経済なんて5%以上がオンラインで動いてるくらいだ。それに伴ってWeb速度に対するユーザの期待もガンガン上がってしまってるよ。もしも、あなたのところのWebサイトやアプリがすぐ反応しなかったら、すぐに見限られて商売敵のところへ移っち...

さぁ、高速化だ!

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クラスは属性...