Railsの教科書 電子書籍版: 達人出版会 紙書籍版: BOOTH 誤記などの報告はGitHubにてお願いいたします GitHub: rails_textbook twitter: @igaiga555
エクスキューズとか 正直な話をすると、Webフレームワーク自体に関する興味は以前に比べて失われてきているので、最新のSinatraの細かいコミットまでは追っていない。 だが、2年強ほど Sinatra/Padrino 界隈を追いかけてきて得た知見と言うか考えについてまとめるのは一定の価値がある、少なくとも自分に取っての価値は非常に大きいと思うのでここに書いていきたい。 副次的には、ミスコンセプトによってSinatraを利用して、結果必要の無いイメージの悪化を招く事態を一件でも減らせればと思う。 Sinatraはmicroframework、あるいは「フレームワークではない」 公式の説明にある通りである。 具体的にどういうことかと言うと、Sinatra単体ではウェブサービスに必要な要件を満たさないかもしれないと言う話である。Sinatraが持っていないものについては、Sinatra以外の場所
Rails アプリケーションの開発をするとき、頻繁にメソッドの定義内容や Gem のコードを参照することがあります。 そこで、ソースコードタグ付けツールの GNU GLOBAL (gtags) を使って少しでも楽に、快適にしたい、という話です。 タグ付けツールでは ctags が有名で、こっちは Ruby や Rails での利用例も結構見つかるのですが、GLOBAL は定義へのジャンプだけでなく、参照へのジャンプもできる点が優れています。ビルトインパーサーが対応している言語が少ないのが難点なのですが (Ruby も未対応)、プラグインパーサーとして先の ctags と Pygments を利用することで、多くの言語に対応させることが可能です。 やりたいこと 以下を実現するのが目的です。 アプリケーションコードで「定義」「参照」「シンボル」のタグジャンプを使えるようにする アプリケーション
2024/07/22分のコミットです。 CHANGELOGへの追加はありませんでした。 Update ruby-vips to fix a method redefinition warning Gemfile.lockの修正です。 ruby-vips gemを最新バージョンに更新しています。Rubyのwarningが表示されないようにする為。 Optimize ActiveRecord::QueryLogs activerecord/lib/active_record/query_logs.rb、activerecord/lib/active_record/query_logs_formatter.rbの修正です。 ActiveRecord::QueryLogsのログ出力でオブジェクト生成数を減らせるようリファクタリングしています。 2024/07/21はコミットはありませんでした 20
Myron Marston » Notable Changes in RSpec 3の雑な訳です。 誤訳・雑すぎる訳がありましたら、Twitterで@nilp_までご連絡頂けると助かります。 RSpec 3.0.0 RC1が2日前にリリースされました、そして最終的な3.0.0のリリースが目前に迫っています。 我々はβ版をここ6ヶ月にわたり使ってきました、我々はそれらを皆さんと共有できることにわくわくしています。 これが新しいとこだよ: すべてのgemたちにわたって Ruby 1.8.6と1.9.1のサポートがなくなりました これらのバージョンのRubyはかなり前に寿命を迎えました、RSpecはこれらをサポートしません。 Ruby 2.xのサポート向上 最近のRSpec 2.xのリリース(すなわち2.0がリリースされたあと出たやつ)はRuby 2を公式にサポートしています、しかしRSpec
unicornとunicorn_railsはほとんど同じ挙動をして、 application serverを立ち上げてくれますが、一部オプション指定の意味が違います。 ちょっとハマったので書いておくことにします。 結論 unicornのオプション-EはRACK_ENVを設定 unicorn_railsのオプション-EはRAILS_ENVを設定 参考: http://unicorn.bogomips.org/ 経緯1 Capistrano 3を導入しまして、unicornを使っていたので無邪気に http://rubygems.org/gems/sepastian-capistrano3-unicorn を使っていました。(僕の環境では0.3.2) 普通に動かしていたんですが、muninがunicornのmemory statusをうまく取得できていないようでした。 該当のmuninのplu
デプロイしたけど何かおかしい? 先日、Unicornを採用しているウェブアプリで問題が発生しました。デプロイした最新のコードが実行されているように見えますが、時々古いコードの挙動を見せるのです。 今回はそのトラブルシューティングの一部始終を紹介しながら、Unicornのホットデプロイ(ダウンタイムなしでアプリケーションを更新すること)の仕組みをおさらいします。担当は私、去年KRAYに入社しました@irohirokiです。よろしくお願いします。 問題 まずはデプロイ先のサーバにSSHして、Unicornのプロセスを調べてみました。 $ ps ax -H PID TTY STAT TIME COMMAND 3159 ? Sl 0:00 unicorn master (old) -c unicorn.conf -D 3162 ? Sl 0:00 unicorn worker[0] -c unic
Macで漫然とRubyをインストールすると、rails consoleやirbで日本語を使えないことがある。(どうなるかというと、日本語の変換を確定した途端に「\U+FFE3\U+FFAB」みたいにUnicodeのエスケープっぽいものが表示される。)そうなった時の直し方を説明する。 なぜ日本語を使えないのか 大雑把に言うと、Macに付属しているコマンドライン処理のライブラリ(libedit)が日本語に対応していないから。これを使わず、libreadlineを使うようにすれば直る。 誰がlibeditを使っているのか Rubyをインストールしたディレクトリのどこかにあるreadline.bundleが使っている。findコマンドを使えば見つけられる。例えば、rbenvを使ってRubyをインストールしたなら、下のコマンドで見つかるだろう。
react-railsというReact.jsをRailsに簡単に統合できるgemを使い、React.jsをサーバーレンダリングする方法を説明します。 サーバーレンダリングすることで、初期値をHTMLの初期レンダー時に渡せるようになるので、ロード中による画面のばたつきや、ロード中といった表示をなくせます。 RailsでReactを使ってメッセージボックスアプリを作成 - Rails Webookをベースに説明しています。 また、この記事のソースコードは https://github.com/nipe0324/rails_samples/tree/master/react_server_rendering_test です。 目次 RailsでReactコンポーネントをレンダーする Reactコンポーネントをサーバーレンダリングする コントローラーでReactコンポーネントをレンダーする 動作確
161227: 内容が古くなったので、書き直しました。 はじめに# Ruby 開発環境を整えようとおもったが, 普段よく使っている Eclipse を出すにはスクリプト言語は大げさだ. スクリプト言語はコンソール端末で書くに限る. というわけで, Emacs 使いなあたしとしては, Emacs での Ruby 環境を整えようとおもった. いろんなサイトを参考にしつつ, 導入したものを列挙していく. 準備# elip 取得に必要な package.el や el-get.el, git や wget などのツールはインストール済みのこと. 環境# Emacs 24.3.1 Ruby 2.1.0 優れた IDE の条件# 優れた IDE が備えるべき機能は以下 シンタックスハイライト/ インデント ruby-mode 検索・置換 iedit, multiple-cursors, helm-ag
Rails3.2/GitHub/Pivotalという割とモダンな環境で2ヶ月間開発してました。その契約期間が終了したので、振り返ってみます。 Gems 自分の担当で、初めて(本格的に)使ったGemたち no title 帳票PDF出力 no title PDF解析(テスト用) no title Zip圧縮 no title ユーザー認証 no title HTML加工 no title 検索フォーム補助 no title よりよいフィクスチャ no title RSpecマッチャ拡張 no title 並列テスト no title プログレスバー型RSpecフォーマッタ 日に日にテスト実行時間が長くなっていて、どうにかしたいと思って最終日に探してすぐ導入したParallel testsが印象的です。 Retrospection ひとり開発でやっていたことが活かせた Railsは経験の蓄積が
2. Railsアプリのシステム構成 よくあるWeb3階層 リバースプロキシ/ロードバランサ HTTPリクエストの受付、バックエンドの適切なWeb/APサーバへ HTTPリクエストを委譲、静的コンテンツはリバースプロキシ自身が レスポンスを返すこともある Web/APサーバ フロントから渡されたHTTPリクエストを処理 動的コンテンツの部分(リクエスト)は、CGIなど何かしらのアダプタ を介して、アプリケーション処理を実行 DBサーバ 1 http://www.sonicgarden.jp/ 3. Web/APサーバでの振舞い 1. HTTPリクエストを受付 2. アダプタを介して、Rubyプログラムがアプリケー ション処理を実行(1プロセス) 3. HTTPレスポンスを返す アダプタ HTTP Ruby (CGI等) 1リクエストが1Rubyプロセスに割り当てられる 規模が大きくなったら
FrogApps 技術ブログ始めました! RailsやiOS、HTML5の情報を発信中!! → http://qiita.com/teams/frogapps Railsでアプリを作っていると、app/models/以下にあるモデルファイルの行数が非常に長くなることになります。 そこでincludeメソッドを使ってモデルファイルを機能毎に分割してみましょう。 ファインダー関係のメソッドだけを、user/finder.rbに切り出します。 このときクラスメソッド関係は通常の定義方法が異なります。 クラスメソッドの定義は、ClassMethodsモジュールの中で行う様にします。 has_many, belongs_toなどのクラスメソッドの実行は、self.includedの中でbase.has_manyの様にして呼び出します。
#p4d Rubyistのためのデザイン講座 12:30 - 13:30 発表1: @machida さん / 「RailsエンジニアのためのTwitter Bootstrapカスタマイズ例」 13:50 - 14:50 発表2: @ken_c_lo さん / 「少ない手間と知識で "それなり" に見せる、ズルいデザインテクニック」 15:10 - 16:10 発表3: @saucerjp さん / 「ノンデザイナーのための配色理論」 16:30 - 17:45 実習: オトナの塗り絵で学ぶデザイン 発表内容は、前回の「第一回 プログラマ向けデザイン勉強会 #design4p」の再演で、前回1画面に詰めすぎて喋りにくかったという反省から、きちんとスライドを分割して臨もう…と思っていたのですが、前の晩にさあ作業をしようと思ったらいつの間にか寝てしまい当日の朝になっていたという失態をやらかし、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く