タグ

ブックマーク / techracho.bpsinc.jp (6)

  • Rails: ビューには可能な限りロジックを書かないこと(翻訳)|TechRacho by BPS株式会社

    概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: I'm not testing those stupid views! 原文公開日: 2016/10/25 著者: Jeroen Weeink サイト: Crafting Ruby語タイトルは内容に即したものにしました。 2018/05/07: 初版公開 2023/03/10: 更新 Railsプロジェクトに長年携わっているうちに、最初は単純そのものだったビューが、いつしかネストだらけの複雑怪奇なRubyコードと入り組んだHTMLを煮込んだようなものに変わり果ててしまいます。こうなってしまうと、理解するのも改修するのも大変です。 ビューのほんの小さな部分を修正するだけでも、エンドツーエンドテストを辛抱強く書いてはバグがつぶされたかどうかを確認することになります。しかもこの種のテストはテストスイートの総実行時間に激しく影響す

    Rails: ビューには可能な限りロジックを書かないこと(翻訳)|TechRacho by BPS株式会社
  • [RSpec][Turnip] 一般的に使えるTurnipステップ集|TechRacho by BPS株式会社

    こんにちは、hachi8833です。最近ますます好きになってきたTurnipを使いやすくするため、たいていの受け入れテストで使い回せるTurnipステップをテンプレとしてまとめてみました。ある程度ですがCapybaraのカンニングペーパーにもなります。 ## -*- encoding: utf-8 -*- ## 一般的に利用できるTurnipステップ ## テスト用ステップ #表示テキスト存在確認 step %(:textと表示されている) do |text| expect(page).to have_content(text) end #表示テキスト不在確認 step %(:textと表示されていない) do |text| expect(page).not_to have_content(text) end ## 操作用ステップ #ページ移動 step %(:pageページにアクセスする

    [RSpec][Turnip] 一般的に使えるTurnipステップ集|TechRacho by BPS株式会社
  • Ruby 2.1.0リリース!注目の新機能を見てみましょう|TechRacho by BPS株式会社

    2013年12月25日。おめでとうございます、Ruby 2.1.0がリリースされました! 日時間で26日という細かい突っ込みをしている場合ではありません。 まだ使ったことがない方、簡単に変更点を見てみましょう。 文法の変更 デフォルト値を伴わないキーワード引数 Ruby 2.0が出たときから誰もが思っていた疑問、「なんでキーワード引数はデフォルト値必須なんだ?」がついに解消されました。以下の記法で、デフォルト値をつけないキーワード引数を宣言できます。この場合、呼び出し時に対応する実引数を渡さないとArgumentErrorになります。 def hello(name: ) puts name end hello(name: "taro") # => taro hello # => ArgumentError: missing keyword: name キーワード引数同士ではデフォルト引数

    Ruby 2.1.0リリース!注目の新機能を見てみましょう|TechRacho by BPS株式会社
    vivit_jc
    vivit_jc 2013/12/26
    分かりやすいまとめ
  • 肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)

    更新情報: 2013/11/19: 初版公開 2021/01/08: 訳文見直し、追記 こんにちは、hachi8833です。今回は、自分が知りたかった、Active Recordモデルのリファクタリングに関する記事を翻訳いたしました。1年前の記事なのでRails 3が前提ですが、Rails 4以降でも基的には変わらないと思います。リンクは可能なものについては日語のものに置き換えています。 なお、ここでご紹介したオブジェクトは、app以下にそれぞれ以下のようにフォルダを追加してそこに配置します。 注記: 以下は使われそうなフォルダを列挙しただけであり、実際にはこの一部しか使いません。 Value Object Service Object Form Object Query Object View Object Policy Object Decorator ⚓ 肥大化したActive

    肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)
  • RailsのログファイルをMessagePackで超高速解析!|TechRacho by BPS株式会社

    最近Railsがガンガン出力するproduction.logを解析してどのアクションがリクエスト多いのか、DBがボトルネックになってるアクションはないか、などを調べているんですが、production.logがどんどん肥大化して、解析ツールの開発イテレーションを回す際の効率が悪くなってきました。 また似たようなツールをやたらめったらコピペで作ってきたため、開発効率も悪くなってきたので、ここでAPIを整理しつつ、あわよくばログをなめる部分を高速化できないものかと考えました。 シンプルに正規表現をつかって変化する箇所を切り出していたのですが、これではかなり重いのは自明ですし、がんばって文字列をパースするパーサを作ってもrubyではあまりスピードは出なそう、でもrubyで書きたいし.... ということで、一度パースしたデータを読込みに効率よさそうな形式に変換することで、次以降の解析を高速化しよう

    RailsのログファイルをMessagePackで超高速解析!|TechRacho by BPS株式会社
  • Rails開発でJenkinsを使ってみる|TechRacho by BPS株式会社

    どうやら社内ではJenkinsというCIツールを使ってようですので、使うまでの設定をメモしておきます。 CIツールとは継続的インテグレーションツールのことらしく長い時間のかかるビルドやテストを自動で行ってくれるソフトです。 来はJava用のソフトみたいですが、プラグインを導入することでRailsでも使えます。 RailsでSpecとカバレッジレポートを出すまでの例を書いてみます プロジェクトの作成 rails new Jenkins Gemfileを編集して以下を追記 gem 'rspec-rails' gem 'simplecov' gem 'simplecov-rcov' インストールと適当なテストを生成 bundle install rails generate scaffold Project name rails generate rspec:install rake db:m

    Rails開発でJenkinsを使ってみる|TechRacho by BPS株式会社
  • 1