Introduction of Happy Eyeballs Version 2 (RFC8305) to the Socket library
Introduction of Happy Eyeballs Version 2 (RFC8305) to the Socket library
(追記:2012-12-25) 本記事およびこれに続くRackの記事(全4本)をまとめて電子書籍化しました。「Gumroad」を通して100円にて販売しています。内容についての追加・変更はありませんが、誤記の修正およびメディア向けの調整を行っています。 電子書籍「エラーメッセージから学ぶRack」EPUB版 このリンクはGumroadにおける商品購入リンクになっています。クリックすると、オーバーレイ・ウインドウが立ち上がって、この場でクレジットカード決済による購入が可能です。購入にはクレジット情報およびメールアドレスの入力が必要になります。購入すると、入力したメールアドレスにコンテンツのDLリンクが送られてきます。 詳細は以下を参照して下さい。 電子書籍「エラーメッセージから学ぶRack」EPUB版をGumroadから出版しました! 購入ご検討のほどよろしくお願いしますm(__)m Rac
新規アプリケーションの構成 Rack::VCR リクエストの記録 リクエストのモック リクエストの再生 おまけ: Androidアプリのテスト 弊社での利用例 未来 こんにちは、会員事業部の小室 (id:hogelog) です。気づけば弊社に入社してから2年と2ヶ月が経っていました。 今回はその2年2ヶ月で初めて会社プロダクトを rails new したRailsアプリケーションと、そのアプリケーションで利用したRack::VCR (https://github.com/miyagawa/rack-vcr) について簡単に解説します。 新規アプリケーションの構成 今回私が新規に作成したRailsアプリケーションは仮にここではomoikane(仮)と呼ぶことにします。omoikaneはリクエストがあると社内の汎用APIサーバにアクセスし、APIサーバから取得した情報を元にレスポンスを返すアプ
We’re getting things ready Loading your experience… This won’t take long.
概要 webアプリでとあるパスへのリクエストをフックしてゴニョゴニョする。 そんな方法ないかなぁと思っていたらタイムリーな記事を見つけた。 開発環境でのみ、リクエスト毎になんか処理をフックしたい in Ruby しかしrack middlewareってどんなもの?状態なので勉強からスタート。 rack middlewareの簡単なお勉強 Rackミドルウェアの作り方を勉強した ここみたら何となく分かった。 簡単なmiddlewareを書いてみる /hogeにアクセスが来たら、"hogehoge"を返すmiddleware。 元のアプリに/hogeの処理が定義してあっても、その処理を通さずにクライアントへ結果を返す。 そんなmiddlewareを書いてみた。 class MyRackMiddelware def initialize(app) @app = app end def call(
先月、heroku の推しサーバが unicorn から puma に変わったという発表がありました。unicorn だとスロークライアントの影響を受けやすいというのが理由なようです。 もう少し詳しく調べてみましょう。 そもそもスロークライアントってなに その名の通り遅い回線のクライアントです。3G環境のモバイル端末などが該当します。 「unicorn だとスロークライアントの影響を受けやすい」とは unicorn はプロセスモデルのサーバであり、blocking I/O モデルを採用しています。つまり、クライアントとの通信中プロセスが専有されるということです。 例えば unicorn がワーカプロセスを3つ立ち上げていて、そこへ通信完了に10分かかるようなスロークライアントが3つ接続されたら…、続くクライアントはスロークライアントの通信が完了するまで実行を待たなければならなくなります。プ
rescue_from で拾えない例外がある Rails が用意してくれている rescue_from は controller の外側で発生した例外を拾ってくれない。 例えばパラメータに不正なエンコーディングが含まれるときに、Rails は ActionController::BadRequest を例外として投げる。しかし、この処理は Rails の routing 層で行われているため rescue_from で捕捉することはできない。 そのため Rails の外で発生した例外を捕捉していない場合、ユーザには意図していないエラーページが見えている可能性がある。 Rails の外で起きる例外は exceptions_app で処理するのがお手軽 例えば config/initializers/exceptions_app.rb に以下のコードを書いておく(ErrorsControlle
Railsプロジェクトに外部のコードに対する依存性を増やす際は、その増えるコードが本当に問題を解決することになるのかよく考えてみよう、という提案。 A quick note on dependencies in Ruby on Rails projects このエントリで言っている依存性は、gemなどの外部ライブラリのほか、他のプロジェクトからlib/にコピーしたコードや、標準のライブラリをrequireすることも含むみたい。 依存性を減らすことで、Railsの新しいバージョンへのアップデートが容易になり、長期的に見たメンテナンス性も向上するという話。わかりやすい例としてこんな話が書かれていた。 It will also give you less trouble with interdependencies when you try to upgrade. For example: Ra
本記事は英語版ブログで2010年5月18日に公開された記事の翻訳版です。 Engine Yard のお客様や開発者の友人の多くが Unicorn を愛用し、推奨しているので、これについて兼ねてから勉強したいと思ってました。そんな矢先に、幸いにもその学習機会が自然と訪れました。最初は無料のリソースをいろいろと見ながら疑問を解決しようとしましたが、思ったより難しく、結局は大元のソースに当たることにしました。 まず、十分な時間をかけて Unicorn の README ファイルを熟読しました。このファイルには総合情報が網羅されていますが、読み終えた後でも疑問が解決しなかったので、すべてまとめて Unicorn の開発チームに E メールで送ってみました。有難いことに、返信には私の全質問に対する答えが詳しく書かれていました。そのおかげで内情に通じることができたので、この素晴らしいリソースを皆さんと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く