Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
nilや例外に関する備忘録。 下記の記載はrails consoleで確認。 ActiveRecord 関連 「例外が発生する」パターンと「IDが見つからなければnilを返す」パターンを使い分ける必要がある。 find User.find(1) # => #<User id: 1, name: "sinsoku"> User.find(999) # 存在しないid # 例外 ActiveRecord::RecordNotFound: Couldn't find User with ID=999 find_by_id User.find_by_id(1) # => #<User id: 1, name: "sinsoku"> User.find(999) # 存在しないid # => nil where User.where(:id => 1).first # => #<User id: 1
paperboy&co.がRoRに対応した開発者のためのホスティングサービス「Sqale」リリース。月額980円から レンタルサーバのロリポップや無料ブログのJUGEMなどを運営するpaperboy&co.が、Ruby on Railsなどに対応した開発者のための開発者のためのホスティングサービス「Sqale(スケール)」をリリースしました。現在クローズドβ版となっており、今後複数回に分けてユーザーを募集するとアナウンスされています。 SqaleのWebサイトによると、Sqaleが目指すのは、開発者にとって「手っ取り早く。やりたいことだけ。」を実現できる環境の提供。アプリケーションを公開する手間や運用をできるだけ減らすことを目指しているようです。 主な特徴は以下の3つ。 Ruby on RailsやSinatraをはじめとするRackアプリケーションに対応 アプリケーション公開のためのサー
以下の文章は Targeter App Blog の記事を翻訳したものです。原文は 2012年5月12日 に書かれました。 Why we moved from NodeJS to RoR http://blog.targeterapp.com/post/22984987832/why-we-moved-from-nodejs-to-ror 免責事項:この記事は NodeJS や Ruby on Rails について騒ぎ立てるものではありません。ただ私たちの決定とその理由について振り返るものです。両フレームワークはそれぞれが作られた目的において素晴らしいものであり、そのことは、私たちのスタックの一部がいまだ NodeJS で動いている理由でもあります。 私は NodeJS のすごいファンで、これは非常にエキサイティングな技術だと信じていて、これらの人気が出る様を目にするだろうと思う。私はとて
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Railsエンジニアになってから1年半くらいが経ち、社内のRailsのプロジェクトを全部で5つくらい触って、今やってるAbilie*1でようやく人並みにテストを書いてる気がしてきたので、現時点でやってるテストの方法をまとめておく。 テストのルール的なの rspecでは必ずモデルのテストは書くようにしてる。ヘルパーも大体書いてるけど、コントローラやルーティングのテストはあまり書いてない。 というのも、コントローラーのコードを極力短くしてモデルを太らせているのでコントローラのテストはあんまり意味が無い気がしていて、その代わりにCapybaraでテストを書いておけば十分なんじゃないかなと思ってきたから。Capybaraは書いてるので、そういう意味では書いてるとも言える。 社内の管理者だけが使える管理画面も作ってるけど、そっちはテストあんまり書いてない。ここは動かなくなっても一般ユーザーには影響が
このエントリでは,Ruby on Rails (以下 Rails)の ActiveRecord モデルテストについて,1) どこの何をテストすればよいか,2) どのようにテストを書けばよいか,のガイドラインを示します.このガイドラインは Rails 公式のものではなく,id:passingloop が使っている私的なものです.疑問・質問・批判・間違いの指摘はページ下部のコメント欄までお願いします. はじめに Rails は TDD/BDD サポートが充実した Web アプリケーション開発フレームワークです.Rails で使える Test::Unit や RSpec などといったテスティングフレームワークの使い方に関する解説も豊富にあります.しかし,「どこをどうテストすればよいのか」についての解説は,「使い方」の解説と比較して少ないように思います.もっとも,テスト一般についてどう書くかはアプ
最近クックパッドでは、アプリケーションサーバの大半が Rails 2.3 から Rails 3 に置き換わったのですが*1、リリース前のベンチマークの時点ではあまりパフォーマンスが出ず四苦八苦していました。具体的には Rails 2.3 の時と比べ MRI 1.8.7 だとレスポンスタムが200%ぐらい遅い結果でした。Rails 3 になって実装が Merb core を取り入れ疎結合で綺麗になった反面、より多くのオブジェクトと・メモリを利用する様になった影響かと思います。 そこで Ruby インタプリタの変更*2を行い検証をしたところ MRI 1.8.7 (Rails 2.3と比べ) 約200%遅い MRI 1.8.7 -> Ruby Enterprise Edition 1.8.7 2011.03 (tcmalloc 無効) 約180%低速 MRI 1.8.7 -> Ruby Ente
Rails テストで便利であるにもかかわらず知名度の低い、かわいそうな 2 つのタスク: rake test:recent タスク rake test:uncommitted タスク を紹介します。この記事は執筆時点の Rails 3.1.0.rc5 を対象としています。 Rails 謹製のテストタスク: rake test:* RSpec 使っていますか? もはや「デファクトスタンダードとなりつつある *1」 RSpec ですが、残念なことに私は使っていません。でも。そんな Test::Unit 遣いのために、Rails は便利な rake タスクを用意しています。たとえば、 rake test rake test:units rake test:functionals rake test:integration の各タスクは RailsによるアジャイルWebアプリケーション開発 第3版
rake 0.9をインストールした状態で、Railsで何気なくrakeコマンドを打つと次のようなメッセージが出てくる。 % rake db:migrate WARNING: Global access to Rake DSL methods is deprecated. Please Include ... Rake::DSL into classes and modules which use the Rake DSL methods. WARNING: DSL method Hoge::Application#task called at /Users/uiureo/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.7/lib/rails/application.rb:215:in `initialize_tasks' rakeするたびにWARNI
I played with the latest Rails 3 beta release today (version 3.0.0.beta4) and noticed the following depreciation warning: DEPRECATION WARNING: form.error_messages was removed from Rails and is now available as a plugin. Apparently the old ‘error_messages_for’ violated the core Rails principles of never dictating the look and feel of an application. Indeed, it includes fixed HTML and copywriting, n
Ruby Weekly is a weekly newsletter covering the latest Ruby and Rails news. Ruby on Rails' creator David Heinemeier Hansson is currently at RailsConf 2011 along with hundreds of other Ruby and Rails developers. In a first for RailsConf, there's a live stream of some of the event which is was embedded below so you could watch DHH's keynote. DHH's keynote starts started at around 9.15am Eastern on M
久々にRails3使って色々と試してたんだけど、meta_searchというgemがかなりいけてたのでメモ。 毎回、検索処理の実装って結構面倒だなーと思ってたんだけど、このgem使ったら一挙に解決しそうですよ。 使い方はいたって簡単。 以下のサイトの通りに作成すればOK。 Rails3で検索機能の実装 - t-taira blog 上のサイトでは画像無しだから、完成イメージはこんな感じ。 (画像はイメージです。上のサイトではテーブル名や項目名が異なってるし、並び替えは勝手に項目名のところに組んでる。) 自分みたいな脳筋SEだとごり押しで毎回検索機能作る(しかも汎用性を持たせない)とかやりがちだけど、このgem使うとスマートで良いね。 ソートなんかの機能も簡単に実装できるし。 あと、補足だけど、上記のサイト通りの手順で組むだけだとRuby1.9系の環境だと incompatible char
Rails3ではActiveSupport::Callbacksのskip_callbackメソッドを使用することでActiveModelのcallbackを一時的にdisableすることができます。その使用方法をまとめます。 例えばUserというモデルがあり、destroyメソッドを実行する前にbefore_destroyというcallbackとしてdo_before_destroyとdo_before_destroy_2という2つのメソッドを実行するようにしていたとします。 class User < ActiveRecord::Base ... before_destroy :do_before_destroy, :do_bofore_destroy_2 def do_before_destroy # do something end def do_before_destroy_2 #
Rails3でデファクトになりつつある認証ライブラリのDeviseを使って開発していて、ちょっとしたことでかなり時間を浪費してしまいました。 no title 大元はライブラリのバグだったにせよ、自分の経験不足も少なからず影響はしてるので、同じ轍を踏まないためにメモを残しておいてみます。 現象 パスワードリセット機能 正しい手順を踏んでるのに「トークンが不正」と出る ログにあるトークン付きSELECT文は問題なくレコード取得できてる 原因と解決 コードを追いつつ原始的なデバッグをしてたら原因っぽい部分を発見した 原因らしきフレーズ「reset_password_sent_at」でググったらissueやpull requestが出てきた no title 最近追加された仕様で、要はreset_password_sent_atカラムがない場合に発生するバグ 使っているバージョンが悪く、すでに修
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く