1. 最近のRails事情 - 4.1! author: ‘@ke_tachibana’ about: gem ‘rails’, ‘4.1.0.beta1’ generated_by: ‘slideshow(s9) gem (https://github.com/slideshow-s9/slideshow)’
Railsでは、rails runnerコマンドでRubyファイルを直接実行できるらしい。 基本的にはこのサイトを参考にした - Rails3でバッチ処理を実行する 1. libディレクトリのファイルへのパスの設定 以下の設定をconfig/application.rbに追加。 config.autoload_paths += %W(#{config.root}/lib) 2. rails runnerコマンドで実行するプログラムの作成 libの下に以下の内容でファイルを作成 (get_rss.rb) download 参考にしたサイトではlib/tasksにファイルを作成していたが、lib以下ならどこでもいいらしい。 lib/tasksには、独自のRakeタスクのみ置いた方がわかりやすいと思った。 なので、今回はlib/cron/get_rss.rbを作成。 クラス名を上記のように
Rails3でバッチ処理を実行します。Rails3でRubyファイルを実行するには、rails runnerコマンドを使用します。 このコマンドをcronを使用して定期実行すればいいのですが、cronの設定を簡単に行うためにwheneverというライブラリを使用します。 バッチファイル作成 ファイル作成 プログラムはrails3プロジェクト内にあるlib/tasksというディレクトリに配置します。 例として、hello_task.rbというファイルを作成します。 libのファイルを読み込む設定 以下の設定をconfig/application.rbに追加します。 config.autoload_paths += %W(#{config.root}/lib) config.autoload_paths += Dir["#{config.root}/lib/**/"] プログラム作成 he
今朝聞いた今週の rebuild.fm のポッドキャストで、テストに関する話題がとても面白く勉強になりましたので備忘録メモ。全部テスト書いてたら時間が足りないし、個人的にはどの部分を重点的にテストすべきか、削っても良いのはどこかに注目して聞きました。 Rebuild: 43: Kent is More Professional (Kenn Ejima) 以下 rebuild.fm 話題から参考にしたいメモ ・テスト書くのは良いが、テスト原理主義、100%カバー、全部テストファーストにこだわるのは疑問。 ・内部構造、実装に対するテストは書かない。 ・モックは一番外側のAPI、インターフェースに対してだけ使う。(※) ・モックのためのモックとかは避ける。 ・リファクタリングのためにテストを書き換えなきゃいけないようなテストは駄目。 ・テストとコードを同時に変更すると、トラブルに気付きにくくなる
7 Patterns to Refactor Fat ActiveRecord Models という記事があり、読もう読もうと思いつつ1年くらい経ってしまった。 ようやく読んだので理解した内容を書いておく。 コード例は元記事のもの。 Rails で thin controller, fat model を心がけていると、model がマジで激太りしてヤバくなる。 実際に自分が仕事で書いている rails アプリも激太りしててヤバい。 この blog の筆者が作っている CodeClimate で C 判定をもらう程度には肥満体型になっている。 Mixinに抜き出さない! Model が太ってきた時に考えるのは ActiveSupport::Concern を使って感心事を抜き出して、Mixin にすることだと思う。 実際に手元のアプリでも models/concerns/ なんていうディレ
スマホアプリから会員の新規登録、ログインが両方できるようにAPIを作成中。ようやく自前でアクセストークンを作ってOAuth認証が出来たのでまとめておく。 まず何がしたいか? スマホアプリでAPI認証ができるように、OAuthを自前で作成したい。 -> スマホアプリ側ではユーザ名とパスワードを入力すればトークンが取って来れて、そのトークンで各APIにアクセスすればユーザ固有の情報が取って来れるようになる仕組みを作る。 スマホアプリ側でユーザ作成も出来るようにしたい。 -> APIでユーザが作れるようにする。もちろんhttps前提。 環境 gemfile ruby '2.0.0' gem 'rails', '4.0.0' gem 'rails-api' gem 'active_model_serializers' gem 'mongoid', '4.0.0.alpha1' gem "moped
仕事で Rails を使ったサービスを担当し始めて約1ヶ月半、Ruby と Rails にもだいぶ慣れてきたので、ここまでどうやって勉強してきたか書いておこうと思います。いや、まだ初心者もいいところなのですが、そのうち忘れてしまって今しか書けなそうなので、書いておきます。 とはいえ、こういう情報は時間の経過と共に意味のないものになってしまいがちなので、なるべく時間に左右されない本質的なことを織り交ぜながら書いていきたいと思います。 irb(main):002:0> Date.new(2014,4,4) - Date.new(2014,2,19) => (44/1) 当時の知識 パーフェクト Ruby を途中まで読んだ Ruby on Rails Tutorial の Chapter 4 Rails-flavored Ruby をやっていた という程度。 パーフェクトRuby (PERFEC
http://eng.joingrouper.com/blog/2014/03/03/rails-the-missing-parts-interactors 3 comments | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 飲み会アレンジサイトGrouperが、同社のエンジニアブログで、規模の大きなRailsアプリをパフォーマンスよくつくるときの工夫を提案をしてますが、それに対してRailsのクリエーターのDHH (Basecamp / 37 Signals) が厳しいコメントを残しています。 1) Grouperの提案 問題意識 Railsは、コードベースが千行を超えると、テストスイートが遅くなりがちで、フレームワークのロードタイムが増える。 よくあるのは、ビジネスロジックのほとんどがActiveRecord /m
$ bundle install --path vendor/bundle $ bundle exec rails g config:install create config/initializers/rails_config.rb create config/settings.yml create config/settings.local.yml create config/settings create config/settings/development.yml create config/settings/production.yml create config/settings/test.yml append .gitignore
リアルタイムweb? リアルタイムにwebの情報をサーバからのpush通知で更新する。 有名どころでいうとFB、Chatwork、Twitterとか。 技術的には方法が大きく3つある。 ・ポーリング(Polling) 一定の時間に一度、Ajaxでサーバに接続させ 新しい情報がないかどうか調べる。擬似的なプッシュ型。 ・コメット(Comet) クライアントから送られてきたレスポンスをすぐに返さずに処理中の形を取ってコネクションを張ったままにする。 新着の情報があったタイミングでレスポンスを返す。 ・Websocket HTML5より作られた新しい通信規格。独自のプロトコルを持つ。 先程の2通りのデメリットを補いより効率よく双方向通信が可能。 今回は技術的な流れも含め、Websocketを用いる。 railsでどうやって構築する? railsを用いる事をmustとするなら調べた中だと多く3つ。
http://www.youtube.com/watch?v=bNn6M2vqxHE 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 「Airbnbのテスト:巻き込み力のある人がポジティブな変化をもたらす」でLou Kosakが、依存関係のないユニットテストを実現するのに参考にしたというCorey HainesのGoGaRuCo 2011での講演です。 一番読込みに時間のかかる3rd partyエンジン = Railsとの関係を切り離す。 1 class ShoppingCart < ActiveRecord::Base 2 has_many :shopping_cart_products, dependent: :destroy 3 has_many :products, :through => :
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く