タグ

Railsに関するsinsokuのブックマーク (68)

  • 初心者がRailsプロジェクトへの初PRする前に見るチェックリスト - komagataのブログ

    フィヨルドブートキャンプというプログラミングスクールで初めてのPRに対するレビューをたくさんやっています。これらの指摘は世界中で行われていると思うので無駄が減るように書きました。 Files changedを確認したか 真っ先に注意したい点。 ローカルの自分のエディタ上で確認していたとしても、PRを作ったら必ずFiles changedを確認する癖をつけよう。GitHubのソースコードビューワーの機能で色々と気づける点もある。 明らかにFiles changedを一回も見てないなというPRはレビュワーもそれと分かります。 lintを通しているか rubyだったらrubocop、jsだったらeslint どういうルールが良いかという高度は話題は置いておいて、まずはlintを通しているか否か。 ファイルの末尾に改行があるか これ どのエディターでも設定で自動的に入るようにできるので設定すること

    sinsoku
    sinsoku 2020/01/15
    初心者向けにまとまっている!
  • Railsの可読性の高いコードについて議論するコミュニティを作りました - おもしろwebサービス開発日記

    Railsで可読性の高いコードを書くにはどうしたらいいのか。コミュニティやブログなどで個別の事例について言及されることはありますが、横断的なまとまった情報はほとんどないのではないかと思います。みんな、散らばった情報を集めて自分なりのやり方を模索しているのではないでしょうか。 そこで、自分なりのやり方を研ぎ澄ませるような、可読性の高いコードについて議論できる場所を作ってみました。clean-rails.orgというドメイン*1です。コミュニティ体はサブドメインのdiscourse.clean-rails.orgで、オンライン上できれいなコードについて議論できるようにしています。 可読性の高いコードを書くのが好きな方、参加してコメントいただけるとうれしいです(\( ⁰⊖⁰)/) これまでの経緯 Railsのきれいなコードについて議論する勉強会 - おもしろwebサービス開発日記チラシの裏 続

    Railsの可読性の高いコードについて議論するコミュニティを作りました - おもしろwebサービス開発日記
  • Beyond the default Rails environments

    Rails ships with a default configuration for the three most common environments that all applications need: test, development, and production. That’s a great start, and for smaller apps, probably enough too. But for Basecamp, we have another three: Beta: For testing feature branches on real production data. We often run feature branches on one of our five beta servers for weeks at the time to eval

    Beyond the default Rails environments
  • Decorator と Presenter を使い分けて、 Rails を ViewModel ですっきりさせよう - KitchHike Tech Blog

    はじめに こんにちは。KitchHikeエンジニアの小川です。 Webアプリケーション開発において、コードベースが大きくなってくると、よく問題になるものの一つが表示ロジックの重複ではないでしょうか。知らず知らずのうちにビューに同じようなロジックが増えて、コードの見通しが悪くなってくるのです。 KitchHikeのコードにもその兆候が見られはじめたので、対策として ViewModel パターンを取り入れています。このパターンを適用することで、表示ロジックを集約し、コードのメンテナンス性を向上させることができました。 ViewModel は、そんなに凝ったことをしているわけではないのですが、コードをすっきりさせる上ではかなり強力なパターンです。 今回はこの ViewModel について、実際の使い方を含めご紹介したいと思います。 ViewModelとは? 一言でいえばビューに関連するロジックを

    Decorator と Presenter を使い分けて、 Rails を ViewModel ですっきりさせよう - KitchHike Tech Blog
    sinsoku
    sinsoku 2018/03/01
    Presenter のコード例が良さそう
  • ActiveRecordのモデルが1つだとつらい - Qiita

    require 'date' class AddBirthdayDateToUsers < ActiveRecord::Migration[5.1] def up add_column :users, :birthday_date, :date User.reset_column_information User.find_each do |u| birthday_date = Date.new(u.year, u.month, u.day) rescue nil u.update(birthday_date: birthday_date || User::UNKNOWN_BIRTHDAY) end change_column_null :users, :birthday_date, false end end 上記のようにマイグレーション実行時にアプリケーションで定義したActiveRe

    ActiveRecordのモデルが1つだとつらい - Qiita
    sinsoku
    sinsoku 2018/02/12
    Controllerでrefineは分かる。modelが大きくなると、色々とツラくなる。
  • Clean Code for Railsを読んだ - pockestrap

    booth.pm 神速さんの同人誌がゲリラ物販されていたから頂いてきた。 pic.twitter.com/JXNwyL0SF9— Pocke(ぽっけ) SW-1309-2807-5790 (@p_ck_) 2017年12月9日 RailsDM 2017の時にいただいた @sinsoku_listy さんのClean Code for Railsを読み終わった。RSpecの設定とか全然知らないことを学べて良い感じ。丁寧に書かれているので、Rails初心者からステップアップしたい人におすすめ。 いくつか突っ込んで話してみたい点もあったから、ブログでも書こうかな— Pocke(ぽっけ) SW-1309-2807-5790 (@p_ck_) 2017年12月24日 神速さんの薄いを読んだので、感想。 感想 全体的に丁寧に書かれていて、Rails初心者からステップアップしたい人には安心しておすすめ

    Clean Code for Railsを読んだ - pockestrap
    sinsoku
    sinsoku 2017/12/24
    callback不要なら`on_delete: :cascade` の方が良さそう(実は知らなかっただけなんだ...)
  • Ruby on Railsを使った開発で参照してもよいドキュメント - Qiita

    記事中のURLや内容、特にRailsRubyのバージョンについて古くなっていることに気づいた方はぜひ編集リクエストください。 この記事はOkinawa.rbのAdventCalendar 5日目の記事です。 YassLabの業務時間中にQiita:Teamに書き溜めたものを編集して公開します。 4日目は @siman さんの「今年作った gem の紹介 (2017)」でした。 明日は @fullkawa さんのFinOpsのはなしです。 背景 人数が増えたり参加プロジェクトが増えるにつれ以下のような変化がおきました。 同じソフトウェアのさまざまなバージョンを扱うようになった コードレビューをする人・される人が増えた 同じソフトウェアでもバージョンによってAPIや使い方が異なる場合があります。 また、人によっては参考にする情報源がバラバラになってしまい、ソフトウェアの開発者が提供しているド

    Ruby on Railsを使った開発で参照してもよいドキュメント - Qiita
  • Railsのきれいなコードについて議論する勉強会 - おもしろwebサービス開発日記チラシの裏

    Railsアプリで「こういう時、どう実装するのが綺麗なのか?」みたいな現実感ある事例を各自が持ち寄って、それに対する意見を出す場というか、そんなの。nested_attributes_for、bulk_insert、複雑なview、非同期処理をどこに書くの?的な。— 神速 (@sinsoku_listy) 2017年12月11日 Railsのきれいなコードについて議論する勉強会、お題が揃えられるならginza.rbで開催できると思います— willnet (@netwillnet) 2017年12月11日 この件、やりたい気持ちはあるし、いいねたくさんついたので興味ある人がいるのはわかるけど、事前準備のハードルが結構高い。そこをクリアできる案を出すか、もしくは事前準備担当します!みたいな人がいないと開催は難しい。 これまでの経験上、適当に人を集めてもお題はちゃんと集まらない。のでなんらかの

    Railsのきれいなコードについて議論する勉強会 - おもしろwebサービス開発日記チラシの裏
    sinsoku
    sinsoku 2017/12/12
    お題はいくつか出せます
  • Professional Rails on ECS (rails developer meetup 2017) - joker1007’s diary

    このエントリはRails developer meetup 2017で発表した内容をブログとして書き出したものです。 サンプルのスニペットが多いので資料の代わりにエントリとして公開します。 スライド用のmarkdownを元に起こしたものなので、少し読み辛いかもしれませんがご容赦ください。 ECSとは Dockerコンテナを稼動するためのクラスタを管理してくれるサービス 使えるリソースを計測し、自動でコンテナの配置先をコントロールしてくれる kubernetesではない。最近、kubernetesが覇権取った感があって割と辛い 今はEC2が割とバックエンドに透けて見えるのだが、Fargateに超期待 ECS or EKS :tired_face: RailsアプリのDockerize オススメの構成 実際にデプロイするimageは一つにする 例えばstagingやproduction等のデプ

    Professional Rails on ECS (rails developer meetup 2017) - joker1007’s diary
  • 3年以上かけて培ったRails開発のコツ集大成(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Things I learned developing Ruby and Rails apps over the past 3+ years | by Filippos Vasilakis | Kollegorna 原文公開日: 2017/01/30 著者: Filippos Vasilakis 2017/11/20: 初版公開 2023/06/08: 訳文を更新 順序は特に決まっていません。 🔗 1. トップレベルにrescue_fromを書く ルートコントローラにrescue_fromを書くと、その下で発生したすべての例外をキャッチできるので非常に便利です。Webアプリにこれを追加すると、リクエスト/レスポンスのサイクルで実行されるほとんどのコードがさらに便利になります。 シンプルなAPIを例に考えます。rescue_fro

    3年以上かけて培ったRails開発のコツ集大成(翻訳)|TechRacho by BPS株式会社
  • 開発しやすいRails on Docker環境の作り方 - Qiita

    最近、Rails界隈でDocker使い始めました、という話を聞く機会が増えてきたので、自分が開発環境整備用に構築したDockerの設定をまとめておく。 ちなみに、production運用については以前書いたので適当に探してくださいw 結論から書いておくと、volumeをちゃんと活用すればいい、ってだけの話です。 まず、番用と開発用のDockerfileは分けた方が良い。一つでやろうとするとどうにも無理がでるので。 自分はDockerfileとDockerfile-devというものを用意している。 docker-composeはほぼ必須です。少なくともrailsプロセスとDBだけでも二つは必要だし、Dockerfileを分けてると事故るので。 Dockerfileはこんな感じ。 FROM mybase:ruby-2.3.1-debian RUN echo "deb http://http.

    開発しやすいRails on Docker環境の作り方 - Qiita
  • Rails4へ移行しましたのご報告とブログ連載のお知らせ - クラウドワークス エンジニアブログ

    Railsをアップグレードするということ *1 大場です。 先週はRails5リリースされたように大きな動きのあったRails界隈ですがいかがお過ごしでしょうか。 2016年3月に弊社セミナールームで開催したRails Upgrade Casual Talksの中でも話題にしていたようにCrowdWorksでは、Rails3からRails4へのアップグレードに取り組んでいました。 Rails5がでたところ今さら感も漂いつつあるかもしれませんが、さる2016年6月13日からCrowdWorksはサービス全体がRails 4.2.6で稼働していますことをここにご報告いたします🎉 *2 根幹となるフレームワークを古いまま使い続けることは、洗練された記法が使えなかったり、高速化最適化が進んだモジュールが使えなかったり*3、周辺gemの対応についていけずに置いていかれるリスクなどが負債となって積み

    Rails4へ移行しましたのご報告とブログ連載のお知らせ - クラウドワークス エンジニアブログ
  • Railsコントリビュータへの道

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Railsコントリビュータへの道
  • CarrierWave + RMagick 画像のリサイズをまとめてみました - 麺処 まつば

    こんにちは。麺処まつば副店長です。 久々の投稿ですけど、もう色々気にしないことにしました。 店長の視線がなんだって言うんですか。(キッ) さて副店長、先日中ずっとCarrierWaveを扱っておりまして その中でRMagickを使った画像のリサイズもやっておりました。 このリサイズ用のメソッドがいくつか存在するのですが (http://rubydoc.info/gems/carrierwave/CarrierWave/RMagick) 副店長は鳥頭のため…、何度やっても「どれがどうなるんだっけ?」という状況に…。 そこで、リサイズメソッドと実行の結果を何パターンかまとめてみます。 まずはオリジナルのこのような画像を用意してみました。 ↓100×100(各マス20x20)の画像です。 (なぜか5段目の青だけ濃ゆいのですが、どうかお気になさらず…。) では、この画像を下記のメソッドにかけてみま

    CarrierWave + RMagick 画像のリサイズをまとめてみました - 麺処 まつば
  • Railsの基本理念 : Railsの生みの親が掲げる8つの原則 | POSTD

    (訳注: 2016/3/2、頂いたフィードバックをもとに記事を修正いたしました。) Ruby on Railsは最近、急激に注目を集めていますが、その原因はほとんど、この言語が斬新なテクノロジーとしてもてはやされたことと、タイミングにあります。技術的な優位性は時間の経過とともに失われますから、タイミングがよかっただけでは、一過性のブームに終わり、このムーブメントの隆盛は長続きしません。従って、「Railsがいかにして、適切な技術としての位置を維持し続けるるだけでなく、影響力とコミュニティを拡大し続けてきたのか」をより多くの人に説明していく必要があります。そして、その維持・拡大を可能にした/していく要因は、物議を醸すことさえあるRailsの基原則にあると考えています。 この基原則はここ10年ほどの間に進化を続けてきましたが、最も強固な柱となっているルールはやはり、公開当初から制定されてい

    Railsの基本理念 : Railsの生みの親が掲げる8つの原則 | POSTD
  • Ruby on Rails ガイド:体系的に Rails を学ぼう

    Railsの仕組みを体系的に学べる大型コンテンツ Rails Guides に基づいた1,600ページ超えの大型リファレンスです。 プロダクト開発に役立つ実践的な知識が満載 Railsチュートリアルを完走し、プロダクト開発中の人に最適です。 全文検索やバージョン毎の検索にも対応 Proプランでは、さらに効率的な活用をサポートします。 このアイコンが付いているガイドは現在作業中 (WIP: Work In Progress) です。作業中のガイドはそれなりに有用ではありますが、不完全な情報やエラーが含まれている可能性があります。 はじめに Rails をはじめよう Railsのインストール方法と最初のRailsアプリケーションの作成に必要なすべてを解説します。 モデル Active Record の基礎 Active Recordの基礎となるモデル、データベースへの永続的な保存、Active

    Ruby on Rails ガイド:体系的に Rails を学ぼう
  • Resource Routingつらくね? - Qiita

    Rails Guidesでは「Resource Routing: the Rails Default」として namespace, resource, resources といったメソッドを利用する方法が紹介されている。これまでとりあえずこの機能を使って開発してきたが、これは果たして当に積極的に利用した方が良い機能なのか。 あるとき 試しにTwitterAPIのようなルーティングを定義しながら、Resource Routingを利用する場合としない場合とを比較してみることにする。ここでは (Resource Routingを利用するメリットを出すためにも)、API用のPrefixとして各パスの先頭に /api/v1 を付けることにする。このAPIはアクセストークンの発行や、tweetの取得、投稿、ユーザやフォロワー情報の取得などの機能を提供する。また、/api/v1 以下のどのパターン

    Resource Routingつらくね? - Qiita
  • Railsで入力の確認画面を出すときの定石 - Qiita

    よくあるお問い合わせフォームみたいので、ユーザーの入力を一度確認画面みたいな感じで表示してから送信したい時・・ ユーザーが問い合わせの入力 「確認」ボタンをクリック 入力した項目を一度確認画面に表示(入力とほとんど一緒) 「送信」ボタンをクリック 実際にモデルとして保存 という流れをRailsで実装する時の定石 Model Question validates :title, presence: true validates :name, presence: true validates :content, presence: true validates_acceptance_of :confirming after_validation :check_confirming def check_confirming errors.delete(:confirming) self.conf

    Railsで入力の確認画面を出すときの定石 - Qiita
  • rails/actioncable

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    rails/actioncable
  • Rails 4のturbolinksについて最低でも知っておきたい事

    Rails 4のturbolinksについて最低でも知っておきたい事 (追記)turbolinksに関するセキュリティ上の懸念について turbolinksとは、ページ遷移をAjaxに置き換え、JavaScriptCSSのパースを省略することで高速化するgemで、Rails 4からはデフォルトで使用されるようになります。 高速化は大歓迎なのですが、JavaScriptのイベントの起き方が変わるため、Rails 3までの書き方をしているとまず間違いなく問題が起きます。しかも、Rails 4ではデフォルトの機能ですので、最新版を使いたいなら必ず知っておかなければいけません。 エントリではturbolinksを使うために絶対に知らなければいけないことを分かりやすく紹介したいと思います。 動作 turbolinksの動作は、すごく大雑把に言うと以下の通りです。 リンクのclickイベントをフッ

    Rails 4のturbolinksについて最低でも知っておきたい事