こんにちは、Railsエンジニアの鈴木(信)です。 先日31歳になったんですが、やはり30歳を超えたあたりから衰えたというか、何か体に変化があったように思います。 自身の健康はもちろんですが、コードの健康(品質)のことも気になる年頃になりました。 そこで今回は弊社で利用しているコード解析ツールをご紹介します。 brakeman - セキュリティ brakemanは、簡単なXSSやインジェクション系の脆弱性を検出してくれるgemです。 もちろんこれだけで完全に安心という訳ではありませんが、弊社ではJenkinsのBrakeman Pluginを使って、継続的にモニタリング、修正しています。 使い方 $ brakeman $ brakeman --only-files=path/to/specific_file simplecov - テストカバレッジ simplecovはカバレッジ計測ツール
みなさん、こんにちは。 ウェブ・サーバーサイドを担当しています、Railsエンジニアの黒田です。 マネーフォワードも早いもので、サービスインしてから2年以上が経過しました。 サービスをご愛顧してくださっている皆様には、心から感謝しております。 さて、今回のエンジニアブログは「リファクタリング」についてです。 マネーフォワードのように、ユーザーファースト&デリバリー優先で爆速開発を進めていると、サービスとしてはイケてても、コード的にイケてるとは言い難い部分が発生してしまいがちです。 「思いやりのないコード」「可読性が悪いコード」「必要以上に複雑なコード」は、バグ発生率を高め、開発スピードを低下させ、何よりエンジニアの気分を憂鬱にさせてしまいます。。。 マネーフォワードでは継続的かつ積極的にリファクタリングの時間を創る取組みをしていますが、そのなかで今回はRailsのリファクタリングでとても便
株とサイバーって相性良いすよね。 こんにちは。 マツコ・デラックスの面白さに最近はまっているvsannaです。 あの超ニッチなおすすめ商品紹介する番組めっちゃ面白くないすか? 前回記事(【スクレイピングのやり方#1】周りに勧められてスクレイピングなるものをしてみたいけど何すればいいのかわからなかったあの日の自分へ)作成のためのスクレイピングの勉強中に面白いgemを発見したので、今回はそのご紹介です。 対象は、 Rubyの環境がある。(読み書き実行がある程度できる) ドットインストールのRubyを通し見でOK 株価分析に興味がある。 という方です。 でははりきって参りましょう。 今回やってみること ご紹介するのはyahooファイナンスをスクレピングしてくれるgemのjostock。 なお株についてあまり詳しくないので、数字の理解や扱いについては深く突っ込まないていただけると嬉しいです… あ
TDDでRSpecを書くにあたって、どれだけ効率的に効果的なテストが書けるかは、品質を高めていく上ですごく大切なことだと思います。 今回、RSpec3用のドキュメントやWebサイトをいろいろ読みなおして、最近までに特に良かった記事などを中心にまとめ直しました。 RSpec3に入門しようとしている初心者さんや、普段使っているけどもう一度RSpec3の知識を整理したい人にオススメのマトメです! 🗽 TDD/BDDとは?TDD/BDDにおける「振る舞い」の意味するところとは何なのか RSpecに限定された記事ではないですが、BDDの根本的な概念の「振る舞い」についてまとめられた記事です。 これを知っておくことで、ここから先の話がかなりスムーズに理解できるようになると思います。 🎂 まずテスト書いてからコード書くシンプルなチュートリアルはじめてのRSpec - まずテスト書いてからコード書くシ
Ruby の 定番対話ツール pry 徹底攻略 | Documentation browsing 概要 Ruby の 定番対話ツール pry 徹底攻略 ドキュメントの表示について Documentation browsing 新しいライブラリやコードベースにおいて、メソッドのドキュメントを参照することはとても重要です。 Pry は外部ライブラリに依存することなく、ドキュメントを参照可能です。 Pry は必要なドキュメントを実行時にファイルから取得します。 Pry は gem install 時に 事前生成されたドキュメントに依存しません。 View method and class documentation show-doc show-doc でクラスやメソッドのドキュメントを参照します。 show-doc は RDoc と YARD の双方を理解し、シンタックスハイライトして表示します
RailsでCSV/Excel/OpenOfficeのアップロード機能の実装方法について説明します。 動作確認 Ruby 2.1 Rails 4.1 Roo 1.13.2 目次 Railsプロジェクトの作成 CSVのインポート機能の実装 Excelのインポート機能の実装 1. Railsプロジェクトの作成まず、Raislのプロジェクトを作成します。 rails new csv_import_test cd csv_import_testそして、必要なコントローラー、ビュー、モデルを作成します。 rails g controller Products index rails g model Product name:string price:integer released_on:date rake db:migrate CSV出力するためのデータを作成します。 # db/seeds.rb
この記事は tech.kayac.com Advent Calendar 2014 22日目です。 こんにちは。Rubyを書いている @yumiyon です。 今回は、Railsプロジェクトで「○○がしたい!」と思った際に、自分がよく利用するGemを機能ごとに分けて10個ほどご紹介します。日頃からRailsで開発を行なっている方は既知のものばかりかもしれませんが、Railsを始めたばかりの方や、自分のための備忘録として。 目次 Gemとは 1、画像をアップロードしたい(CarrierWave) 2、管理画面を作成したい(ActiveAdmin) 3、環境毎に定数を管理したい(rails_config) 4、crontabを管理したい(Whenever) 5、スプレッドシートにアクセス(google_drive) 6、ページャーを実装したい(kaminari) 7、非同期処理を使いたい:ジョ
Ruby Advent Calendar 11日目 Ruby - Rails開発で有用な便利Gem一覧:2013年版 - Qiita ↑去年のAdventCalendarで書いた上記の記事の2014年版です。 だんだん毎年恒例的になって来ました。 最近はデファクトスタンダードがほぼ固まってきて、かなり毎回使うGemのリストが固定化して来ました。 ※2014/12/11時点 DBアダプタ sqlite3 pg mysql2 この辺りはもう変わらないですね。 RubyやRailsのバージョンが上がっても継続的に開発が続けられているのは素晴らしいと思います。 ログイン認証 omniauth omniauth-twitter omniauth-facebook omniauth-github omniauth-identity (omniauth-githubのリポジトリのURLが変わってました。
Mechanizeはスクレイピングを補助するRubyライブラリだ。 MechanizeはCookieのやり取りをはじめ、Webサイトとのインタラクションを自動化してくれる。 Net::HTTPやopen-uriでは面倒なWebサイトへのアクセスを、Mechanizeを使えば簡単にRubyで記述することができる。 以下では拙作のhttp://bestgems.org/を対象として、Mechanize 2.7.0の基本的な使い方を説明する。 初期化とWebページの取得MechanizeでWebページを取得するのは簡単だ。 Mechanizeクラスをnew()し、get()を呼びだせばWebページを取得できる。 WebページはMechanize::Pageオブジェクトになっている。 require 'mechanize' agent = Mechanize.new page = agent.ge
Heroku の基本 Hello Heroku(Web アプリケーション) Hello clockwork on Heroku(定期実行アプリケーション) foreman について 複数のプロセスを管理する Ruby 上のツール/ライブラリ clockwork について cron の代替となる機能を単独で提供してくれる軽量のツール/ライブラリ Git について ローカル環境で試す 目的 Mechanize を使ってウェブアクセスをエミュレートする基礎的な方法について説明します。 本ページが想定するのは基本的に「特定ページに対する操作の自動化」です。 自動巡回情報収集には Mechanize だけではなく、その他多くの応用技術が必要になるため対象としません。 インストール 以下のコマンドを実行して Mechanize gem をインストールします。 gem install mechanize
最近の RSpec は、それまで obj.stub(hoge: value) と書けたものが、 allow(obj).to receive(:hoge).and_return value と書かないといけなくなったりとか、正気の沙汰とは思えないような変更をしたりするので、何年かぶりに Test::Unit を使ってみようとリハビリ中です。 RSpec は、テストケースを入れ子にできたり、テストケースや example がクラスやメソッドではなく、文字列で自由に書くことができたりしたのが良かったのですが、最近の Test::Unit ではそれもできるようになっています。 [ruby-list:48926] [ANN] test-unit 2.5.2 このリリースはとみたさんに使ってもらえるように改良したリリー スです。新しく追加した--locationはRSpecの--line_number
272: RedcarpetでMarkdown (view original Railscast) Other translations: Other formats: Written by Naomi Fujimoto 3ヶ月ほど前にGithubがRedcarpetというRuby gemを導入しました。このgemはMarkdownコードを解釈するのに使われ、Githubではドキュメントをマークアップする簡単な方法としてUpskirtライブラリと共に内部的に採用されています。操作方法も簡単なこのRedcarpetを使って、今回のエピソードではRailsアプリケーションに追加する方法およびカスタマイズの方法、またコードブロックをシンタックスハイライトする方法を紹介します。 下の簡単なブログアプリケーションを使って作業を行っていきます。下の記事に入力した内容はHTMLとして直接出力されるの
2014-10-09 Railsでよく使う便利なGemまとめ Ruby Ruby On Rails Railsでよく使う便利なGem 一つ一つは細かく説明しませんが、よく使ってる便利系Gemをつらつらと awesome_print consoleの出力を綺麗にしてくれる デバック時にいい感じ! awesome_print無し awesome_print有り paranoia 論理削除の手助けをしてくれる uniqバリデーションで、論理削除されたものを対象に含めたくないならこれも入れとくといい paranoia_uniqueness_validator rails_config 定数を管理するGem 環境ごとに読み込む定数を変更できるので便利 使い方とかはこちらにまとまってます Ruby - Railsで定数を環境ごとに管理するrails_config - Qiita Ruby - R
tags PHP (1) S3 (1) action mailer (1) acts-as-taggable-on (1) apache (1) backup (2) coffeescript (1) cron (1) devise (1) disqus (1) form (1) guard (1) lion (1) livereload (1) mac (3) mailer (1) monthly archives (1) mountain lion (2) nginx (2) paperclip (1) rails (13) redis (1) resque (1) rss (1) rsync (1) rubytter (1) ssl (1) textmate (1) theory (1) thinking (1) tiny_mce (2) twitter (1) ubuntu (4)
─質問1─ Ruby製サードパーティライブラリ、要はgemで、何が人気なのかってこと、手っ取り早く知りたいんですけど。 ─回答1─ RubyGems.orgのstatsページを見てください。 ─質問2─ えっ?これだけ?この辺は万年上位で固定でしょ。もうちょっと俺の知らないバラエティに富んだものに出会いたいんだけど。俺、Rails用ないし。 ─回答2─ カテゴリー別ならThe Ruby Toolboxがあります。 The Ruby Toolbox - Terminal Coloring ─質問3─ あんた、俺の質問ちゃんと聞いてるの?カテゴリー別なんて言ってないし。それに、ここのカテゴリーってなんか俺的に信用ないんだよね。取りこぼし多いっていうか..。俺のgem出てこないっていうか..。 ─回答3─ GitHubのTrendingでここ最近の人気リポジトリが分かります。 Trending
この連載の「はじめに」で予告したように、そろそろ Zeus について書こうかなと思って下調べを始めると、最近は Spring という新顔も登場して人気が出てきていることが分かりました。そこで、Zeus と Spring の両方を紹介しようと思います。 Zeus も Spring も Rails application preloader と総称されるソフトウェアの仲間です。テストを実行する度に Rails アプリケーションをロードするのは時間の無駄なので、サーバとしてプリロードしておき、テストの実行時間短縮を目的としたものです。古くから使われているものとしては、Spork というものがあります。しかし、Spork については簡単に触れるだけにとどめます。 参考文献: Improving Rails boot time with Zeus (2013/01/10) Rails使いよspork
どっかに書いたような気がしてたんだけど、どこに書いたか忘れたので再び(?)書く。 1.インストール Rails で使用すること前提なので、Gemflie に group :development, :test do gem 'spork', '~> 0.9.0.rc' end などと書く。rc を付けないと、0.8系がインストールされる。Rails3で利用する場合には、0.9系をインストールする必要がある。 2.初期設定 bundle installしてから、 bundle exec spork --bootstrapを実行 3.spec_helper 修正 spork --bootstrap を実行しても、何も起こらない。自分で spec/spec_helper.rb を修正しなければならない。じゃあ、spork --bootstrap の意味って何よ? こんな風(spec_helper
https://github.com/mpapis/rubygems-bundler rubygems-bundlerを入れると、bundle exec がいらなくなるということを知りました。 どうやってbundle execを省略できるようにしてるのかわからなかったので、調べてみました。 結論としては、gem がインストールした実行ファイルの shebang を書き換えることで、フックしてます。 たとえば rbenv を使ってて、rakeをインストールすると、 /home/hoge/.rbenv/versions/2.1.1/bin/rake のようなパスに実行ファイルが作られます。 このファイルのshebangは、通常 #!/usr/bin/env ruby なんですが、gem regenerate_binstubs を実行すると、これらのファイルのshebangだけを #!/usr/
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く