タグ

Railsに関するnana4gontaのブックマーク (28)

  • テストコードにまつわる5つのエトセトラ - give IT a try

    はじめに ひとつ前のエントリでRSpecの話を書いたので、それにちなんで最近僕の身の回りで起きたテストコードに関する雑多なエピソードをいくつか書いてみます。 その1:テストコードを書いてない処理で見事にバグを出してしまった・・・!! 僕はソニックガーデンの中では「テスト番長」の異名を持っていて、基的にテストコードはしっかり書くタイプです。 ですが、どうしてもリリースを優先しなければいけないときは、やむを得ずテストコードを後回しにして先にリリースすることもあります。 先日リリースした「テストを後回しにしたコード」は、リリース直後は問題なく動いていました。 その数週間後、別の仕様変更が入り、変更したコードをリリースしました。 「テストは全部パスしているので大丈夫なはず~!」と思ったら、リリースの翌日に変なシステムエラーが発生。 エラーが起きている場所を見て、ガーン。 例の「テストを後回しにし

    テストコードにまつわる5つのエトセトラ - give IT a try
  • DHHはどのようにRailsのコントローラを書くのか | POSTD

    私たちの救世主DHH™は最近の Full Stack Radioのインタビュー で、 Basecamp の最新版で彼がどのようにRailsのコントローラを書いたかを説明しています。下記は、彼のすばらしい話を書き取ったものです。 これまでに思うようになってきたのは、「RESTの原則に従うには、どのタイミングで新たなコントローラを作るべきかを一度決めたら、ほぼ異例なくその原則を遵守するべきだ」ということです。いつだってその方がうまくいくんです。自分の作ったコントローラの状態を悔やむのは決まって、作ったコントローラの数が少なすぎた時です。多くの処理を任せようとしすぎてしまうんです。 そこでBasecamp 3では、ある程度理にかなったサブリソースがあれば、毎回コントローラを分割していきます。フィルタなどの場合ですね。例えば画面があって、それがある状態になっているとします。もしこれにいくつかのフィ

    DHHはどのようにRailsのコントローラを書くのか | POSTD
  • Ruby未経験だった僕がドヤ顔で偉そうなことを言えるようになるまでの3年間 / #hmrk01

    浜松Ruby会議01で使用したスライドです。 http://regional.rubykaigi.org/hamamatsu01/ 動画はこちら。 前編(3:50から題に移ります) https://www.youtube.com/watch?v=bOqfcwTVUpY 後編(動画が切り替…

    Ruby未経験だった僕がドヤ顔で偉そうなことを言えるようになるまでの3年間 / #hmrk01
  • Rubyでウェブアプリ〜Rack | | Scimpr Blog

    Rackとは「RackはRubyのためのWebサーバーインターフェイス」(5分でわかるRack) Rackは、mongrel,WEBrick,thin,unicornなどのサーバとRails,sinatraなどのフレームワークの橋渡しをする役割 公式 rack.github.io/ github.com/rack/rack ドキュメント rack.rubyforge.org/doc/ 成り立ちとか 第23回 Rackとは何か(1)Rackの生まれた背景 全般的なより詳細な記事 Rack解説 – Rackの構造とRack DSL インストール環境はRuby2.1.0

    Rubyでウェブアプリ〜Rack | | Scimpr Blog
  • ActiveRecord::Store 便利 | 変なヤバいもんログ

    Posted on 2013年3月29日 Posted by ちゅう コメントする Posted in Development Tags: Rails ActiveRecord で、条件によってカラムが変わったりするのを serialize した列にテキトウにぶっ込んでおくというありがちな実装の時に、実カラムのように透過的に扱えて validation とかも簡単にかけられる ActiveRecord::Store ちゃん便利。 例えば、SNSのアカウントを sns_accounts 列に Serialize して入れる場合(普通入れないが…) ActiveRecord::Store を使わない時 class User serialize :sns_accounts, Hash end とかして、以下のような感じにします。 user = User.new user.sns_accounts

    ActiveRecord::Store 便利 | 変なヤバいもんログ
  • tumblrみたいなやつのRoutingパターン

    tumblrみたいなやつのRoutingパターンtumblrみたいなやつ (そろそろ適当な名前を決めたくなってきた) をRuby on Railsを利用して実装するにあたって、主にRoutingの周りで考えたことについてまとめておく。他の人がWebアプリ書くときの参考になれば。 機能 tumblrみたいなやつには以下のような機能がある。 ログイン・ログアウト・サインアップ 記事の一覧・詳細・投稿・編集・削除 あるタグの付いた記事一覧 あるユーザの投稿した記事一覧 記事にスターを付ける・外す 記事にタグを付ける・外す 通知一覧 画像投稿 config/routes.rb Routingのコードはコピペするとこうなってる。 Rails.application.routes.draw do root to: "posts#index" get "/@:user_id" => "users#sho

  • 久々のRailsプロジェクトで導入した開発環境

    リプレイスを安心安全に 〜段階的リプレイスと等価比較〜/Safe and Secure Replacement ~ Phased Replacement and Equivalent Comparison ~

    久々のRailsプロジェクトで導入した開発環境
  • Rails あるある

    2022年9月13日 株式会社メンバーズ ポップインサイトカンパニーでのウェビナーのスライドです。「ユーザーが欲しいと言った機能をつけたのに使われない!」という経験はありませんか。プロダクトをつくるとき「ユーザーの心理を理解しよう」とよく言われます。しかし、ユーザーに言われたままやることと、ユーザーが当に望んでいることは異なります。「UXデザインUXリサーチ」は、ユーザーを理解するための専門技術です。ユーザーインタビューやユーザビリティテストを用いてファクトを集めることで、ユーザーの表面的な言葉に惑わされない、当のインサイトにたどりつくことができます。かんたんなワークも交えながら、体系的に解説いたします。

    Rails あるある
  • RailsでPostgreSQLのJSONBデータ型を使う

    メモ。 調べた時のバージョンは、PostgreSQLは9.4.0で、Railsは4.2.0。 JSONBデータ型とはバイナリ型JSONの事。JSONBの"B"はバイナリ(binary)のB。 元々PostgreSQLでは9.2からJSON型に対応しており、9.4からJSONを独自バイナリ形式で格納するJSONB型が追加された。 JSONBの特徴をざっと書くと以下のような感じ データの正規化が行われ、入力結果が完全に保持されないケースがある(不要な要素の間の空白文字の削除、重複したキーがあった場合に後述したもののみ有効となる等)格納容量が大きくなる傾向にある。また、正規化が行われる為、格納処理は普通のJSON型の比べて遅い。検索がJSONと比べて格段に早い基的に、検索に特化している感じらしい。 JSONBについての詳細は、@nuko_yokohamaさんのJSONBデータ型を使ってみようが

    RailsでPostgreSQLのJSONBデータ型を使う
  • RailsでPostgreSQLの配列型を使う

    少し調べたのでメモ。 なお、調べた時のバージョンは、PostgreSQLは9.3.5で、Railsは4.2.0.rc3。 因みに、Rails GuideにActive Record and PostgreSQLというページがあり、 それを参考にしながら書いてます。 マイグレーションファイルRails体で配列型に対応しているので、特にgem等は必要無し。オプションに"array: true"を設定してあげればOK。 def change create_table :books do |t| t.string :title t.string :tags, array: true t.integer :ratings, array: true t.timestamps null: false end add_index :books, :tags, using: 'gin' add_index

    RailsでPostgreSQLの配列型を使う
  • Railsでリファクタリングにオススメな gem 5選 - Money Forward Developers Blog

    みなさん、こんにちは。 ウェブ・サーバーサイドを担当しています、Railsエンジニアの黒田です。 マネーフォワードも早いもので、サービスインしてから2年以上が経過しました。 サービスをご愛顧してくださっている皆様には、心から感謝しております。 さて、今回のエンジニアブログは「リファクタリング」についてです。 マネーフォワードのように、ユーザーファースト&デリバリー優先で爆速開発を進めていると、サービスとしてはイケてても、コード的にイケてるとは言い難い部分が発生してしまいがちです。 「思いやりのないコード」「可読性が悪いコード」「必要以上に複雑なコード」は、バグ発生率を高め、開発スピードを低下させ、何よりエンジニアの気分を憂にさせてしまいます。。。 マネーフォワードでは継続的かつ積極的にリファクタリングの時間を創る取組みをしていますが、そのなかで今回はRailsのリファクタリングでとても便

    Railsでリファクタリングにオススメな gem 5選 - Money Forward Developers Blog
  • ScaleOut | Supership

    2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 件に関する詳細は、プレスリリースをご確認ください。

    ScaleOut | Supership
  • rambulance Rails 4.2時代の簡単404/500エラー対応

    最近作っているRailsアプリケーションで、404/500エラーの対応をしている時に知ったgem『yuki24/rambulance』 の紹介です。 一言でいうと、ものすごく簡単にRailsのエラーハンドリングを行ってくれつつ、エラーページを構築できるgemです。

    rambulance Rails 4.2時代の簡単404/500エラー対応
  • ScaleOut | Supership

    2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 件に関する詳細は、プレスリリースをご確認ください。

    ScaleOut | Supership
  • pplog開発のコードレビューから学ぶpull requestによる自律的行動とコミュニケーション - ppworks.jp

    pplogの過去のポエムを複数単語で絞込できるようになりました。 pplogは、自身と向き合い想いを言語化するためのサイトだったりします。(色んな使い方があります) 最新のポエムだけが他人に見えますが、 自分の 過去のポエムを見る機能があります。 この過去ポエムは検索機能が付いているのですが、先日まで複数単語で絞り込むことが出来ませんでした。 pull requestが来た id: shootaさんからpull requestを頂きました。 勝手にやった!まさにこれだ!と思いました。 よし、コードレビューをしよう! 命名に突っ込んだ これを見て思うところがありました。 search_word_arrays = params[:keyword].gsub(/ /," ").split() 私は言った for文にナニカを感じた し、Cぽい! search_word_arrays = param

    pplog開発のコードレビューから学ぶpull requestによる自律的行動とコミュニケーション - ppworks.jp
    nana4gonta
    nana4gonta 2015/01/24
    こういう開発ができる環境ほしいな、というか作れればいいな
  • Mobage を支える Ruby の技術 ~ 複数DB編 ~

    This document summarizes a microservices meetup hosted by @mosa_siru. Key points include: 1. @mosa_siru is an engineer at DeNA and CTO of Gunosy. 2. The meetup covered Gunosy's architecture with over 45 GitHub repositories, 30 stacks, 10 Go APIs, and 10 Python batch processes using AWS services like Kinesis, Lambda, SQS and API Gateway. 3. Challenges discussed were managing 30 microservices, ensur

    Mobage を支える Ruby の技術 ~ 複数DB編 ~
  • Let It Go for Rubyists

    RailsConf 2014」からのワンシーンです。素敵だなあ。 Let Me Code - Liana Leahy - RailsConf 2014 彼女はRailsエンジニアで、かつてはプロの歌い手さんだったようです。 Liana Leahy (lleahy) on Twitter 感動したので歌詞の日語訳をしてみました。雰囲気が伝わればと。 (追記:2014-5-13) 対訳版を追加しました。 Let Me Code Lyrics 対訳版 PCスクリーンが 白く光る夜 The screen glows white on my laptop tonight (Let Me Code) The snow glows white on the mountain tonight (Let It Go) RSpecは グリーンにならない And my rspec won't go gree

    nana4gonta
    nana4gonta 2014/05/12
    歌上手いし、歌詞もいい。だが初見は吹く
  • Rails開発環境 2012夏 - AnyType

    5月に「Rails開発環境 2012初夏」という記事を公開してそこそこ好評だったので、最近導入してLife-Changingだったツールを「2012夏」バージョンとして紹介しようと思います。今回紹介するのは以下の3つです。 pow + xip.io tmuxinator ctrlp.vim 1. pow + xip.io pow + xip.ioによって同じネットワーク内にある、iPhoneiPadのような他のデバイスからローカルサーバーに接続できるようになりました。これは、スマホ用サイトやアプリで使うAPIの開発で非常に重宝します。特に、実機でないと確認できないような場面では、pow + xip.ioがないと、ステージング環境にデプロイする必要が出てきて、非常に面倒です。 インストールは、公式ページにあるように以下のコマンドを入力するだけです。 $ curl get.pow.cx |

    Rails開発環境 2012夏 - AnyType
  • Rails開発環境 2012初夏 - AnyType

    Herokuに移行したり、便利なツールを見つけて開発環境を修正したところがあるので「2012初夏バージョン」として拙者の開発環境を晒します。最後にGemfileを載せておきますが、変更したポイントは「Herokuへのデプロイ」「ソースコード公開」「ブラウザのリロードの自動化」の3つです。 Herokuへのデプロイ VPSでの運用はいい勉強になったものの、以下のような問題がありました。 構築に時間がかかりすぎる。サービス開発への熱が冷めてしまう。プログラムを書くのに専念したい。 既に動いているシステムに支障が出るのが怖くて、新しいツール(例えばSSLとかログサーバーとか監視サーバーとか)を入れられない。 セキュリティの問題 なるべくサービスの開発に時間をかけたいので、こうした運用をHerokuに任せてしまうことにしました。デプロイはcapistranoのように設定ファイルを書く必要すらなく、

    Rails開発環境 2012初夏 - AnyType
  • Rails で十分に活用されていなくてもったいない ActiveRecord::Relation のメソッド TOP 10 - 杉風呂2.0 - A Lifelog -

    2013年12月2日更新: 参照されることが多いので Rails 4 の情報を訳注として追記しました。また、Rails 4 に関する情報は、 WEB+DB PRESS Vol.73 が非常に参考になるので、一読をおすすめします。 この文章は Mitch Crowe 氏のブログより 2012年4月14日の記事を翻訳したものです。 The 10 Most Underused ActiveRecord::Relation Methods http://blog.mitchcrowe.com/blog/2012/04/14/10-most-underused-activerecord-relation-methods/ 昨日は ActiveRecord::Relation のコードに膝まで浸かって、使われているのをこれまで全然見たことがない面白いナゲットを思い出させてくれた。この記事で、十分に活用

    Rails で十分に活用されていなくてもったいない ActiveRecord::Relation のメソッド TOP 10 - 杉風呂2.0 - A Lifelog -