タグ

ブックマーク / qiita.com/joker1007 (7)

  • 俺が悪かった。素直に間違いを認めるから、もうサービスクラスとか作るのは止めてくれ - Qiita

    ちなみに、最初に結論だけ言っておくと、まずSandi Metzの「オブジェクト指向設計実践ガイド」を読め、という話です それだけで終わってしまいたい気持ちはあるが、不親切過ぎるしもうちょっとRails向けの話を書こうと思う。 ただ言いたいことは、よく分かってないのに使うのは止めろということ。 自分もで書いたりした手前、それが参考にされた結果なのかもしれないが、世の中には当に酷いクラスが存在するもので、雑にサンプルで書くと以下の様な感じのコードが存在したりする。 class HogehogeService # Hogehogeはモデル名まんま def process(hogehoge, option_a: nil, option_b: nil, option_c: false) history = hogehoge.histories.last unless hogehoge.activ

    俺が悪かった。素直に間違いを認めるから、もうサービスクラスとか作るのは止めてくれ - Qiita
  • Railsをバージョンアップし続けるために必要なこと - Qiita

    当は、RubyWorld Conf辺りでこういう内容も交えてなんか話せればいいなあと思ってたんだけど、CFPに落ちたのでQiitaにポエムを書いてみました。 Railsはそれなりに学習コストはかかりますが、慣れてくるとデフォルトで便利なものが揃ってるしサードパーティライブラリも豊富で、未だに最も便利なWebアプリケーションフレームワークの一つだと思います。 なので、最近のスタートアップ界隈ではRailsで開発をスタートする、という話をよく耳にします。(個人の感想です) しかし、Rails体に新しい要素をガンガン取り入れてくるので、バージョンアップのサイクルはかなり早く、それに追従していくのはそれなりに大変です。 Railsで開発をする場合には、一旦レールに乗ったらプロダクトが死ぬまで走り続ける覚悟が必要です。(時速60km以下になったら爆発する) それを最初に理解しておかないと、あっ

    Railsをバージョンアップし続けるために必要なこと - Qiita
  • RSpec3の新しいFormatter APIについて - Qiita

    いよいよRSpec3時代が近付いてきました。 betaとかrcで新しいバージョンが出る度にハマり所を仕込んでくるので、そろそろ落ち着いて欲しい所です。 RSpec3は表記の変更だけでなくて内部実装をがっつりリファクタリングしてるため、Formatterの作りも結構変わっています。 カスタムFormatterを自分で作ってる人とかForkして改造する人以外にはあんまり関係無いかもしれませんが、一応どう変わったのか書いておきます。 (そもそもそういう人は自分でソース読むし……) Formatterの基となるクラスはRSpec::Core::Formatters::BaseFormatterというクラスです。 これは2系でも3系でも変わってません。 RSpec3系で大きく変わったのは、Formatters.registerというメソッドを呼び出してFormatterクラスを登録しなければいけな

    RSpec3の新しいFormatter APIについて - Qiita
  • 俺がGitHubでスターを付けたリポジトリ一覧 - Qiita

    GitHubを彷徨っていてよくあるのが、ググったりRuby Toolboxとかで見つけて「これイイじゃんよ!」と思ったら既にスター済み、という奴。 一回、自分がどんなリポジトリにスター付けたのか整理しつつ、更新止まってたり古くなったやつを削除していこうと思う。 それぞれの説明は超適当。基的にいつか使おう的な感じでスターを付けているので、あんまり使ったことあるのが無い。 そもそも良く使うものにはスター付けてないこと多いし…。 大体rubygemsで一部JSのライブラリ、少しvimScalaって感じ。 思い返したようにスター付けてたので、時期がバラバラだけど、基的に下に行く程付けた時期が新しい。 リポジトリ 説明

    俺がGitHubでスターを付けたリポジトリ一覧 - Qiita
  • てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ! - Qiita

    てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ!RubyRails ちょっと煽り気味のタイトルにしてみましたが、Railsで開発する時は意識的にOOPに寄せないとオブジェクトの力が活かせなくなるよってことと、Railsが提供しているクラスの責務を分割することを支援してくれる機能について話をします。 ActiveRecordの性質 Rails開発においては、モデル層にロジックを書いてコントローラーは薄くしろ、というのはしつこく言われているので、概ね浸透してきていると思います。 それに加えて、最近私が結構しつこく主張しておきたいのが、モデル = ActiveRecordでは無いよ、ということです。 ActiveRecordは成り立ちから言うと、ロジックとDBへの永続化をまとめてカプセル化するアーキテクチャパターンから来ています。

    てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ! - Qiita
  • RubyとvimでQuick JUnit風にテスト実行 - Qiita

    Java & Eclipseの開発環境には、Quick JUnitというテストを迅速に実行するプラグインがあります。 Ruby & vimの開発環境においても、ほぼ同等の事が実施可能です。 以前、私のブログで、プロダクションコードとテストコードを素早く切り替えるテクニック、 vimから即座にRSpecを実行し、結果をバッファに表示するテクニックを紹介しました。 詳細は、以下を参照してみてください。 RubyでTDDをやる際に、ちょっと便利になるVimの設定 - joker1007の日記 rspecをvim-quickrunから非同期で実行する - joker1007の日記 今回は、そこから一歩進めて、特定のテストケースだけをvim-quickrunから実行する設定を紹介します。 そもそもrspecには -l オプションを付けることで、特定の行だけテストを実施してくれる機能があります。 指定

    RubyとvimでQuick JUnit風にテスト実行 - Qiita
  • vimでmarkdownのクォート内をシンタックスハイライトする方法とプラグイン - Qiita

    以下の記事に触発されて、vimmarkdownのクォートの中を上手くシンタックスハイライトさせる方法は無いか調べてみました。 RubyMineのシンタックスハイライトがすごかった件について - くりにっき Vim でコンテキストによって filetype を自動的に切り換えるプラグインをつくっている - C++ゲームプログラミング vim-preciousでも良さそうなのですが、最初からハイライトされてる方が自分好みだったので。 Vim Advent Calendarとして書けば良かったかもしれない。 別言語のシンタックス設定を読み込む function! MarkdownQuoteSyntaxGroup(filetype) let ft = toupper(a:filetype) return 'markdownCodeGroup'.ft endfunction function!

    vimでmarkdownのクォート内をシンタックスハイライトする方法とプラグイン - Qiita
  • 1