Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

ADSL - Abstract Data Store Library Project maintained by Bocete Hosted on GitHub Pages — Theme by mattgraham ADSL - Abstract Data Store Library ADSL is a gem for formal verification of Ruby on Rails models. Simply include it in your Gemfile, write a few invariants (rules) about ActiveRecord data that you wish to verify (for example, that at any given moment, every Address has a User) and run rake
Ginza.rb.第8回を開催しました。今回は参加者の方に事前にGemfileをアップして頂き、使用しているgemについて説明をして頂く形式で実施。 Gemfileの置き場は[こちら](https://github.com/ginzarb/meetups/issues/6)。 話に上がったgemについて以下にずらずらと。 ### [gon](https://github.com/gazay/gon) Rails側の変数をJavaScriptに渡す事が出来るgem。 controllerから大量のデータをJavaScriptに渡す必要がある場合に便利。 詳細は[RailsCast](http://railscasts.com/episodes/324-passing-data-to-javascript?language=ja&view=asciicast)参照。 ### [Better E
Draperって何?Draperは、Model/Controller/View/Helperと異なる第4のレイヤを提供するGemです。 この第4のレイヤは、海外では「Presenter」として分類されています。(正確にもう少し細かい分類があるらしいですが割愛♪) このレイヤを作るメリットは、 model/viewに余計なロジックを書かなくてすむ Helperのメソッドが使われている場所が不明という事態を防ぐ 日本ではPresenterレイヤでは、ActiveDecoratorというGemが有名です。ActiveDecoratorもほぼ同じことができます。 Draperの紹介Draperの説明ならRailsCastが一番わかり易かったです(説明は日本語に翻訳されています、動画は英語です)↓ #####286 Draper - RailsCasts 1年前の記事ですので、実際に動かしてみると少
※お願い:最近時間がなかなか取れず、Rails5.xの時代になったというのに未だに5.xでの確認ができておりません。どなたか、5.xでも本記事の内容がうまくいった、と確認されました方はコメント欄にてご一報をいただけますと大変嬉しいです。 (本記事は今の所Rails 3.x〜4.2 対応です) (Homebrew編も公開しました) はじめに:Railsをローカルインストールするという発想 今さらですが、Mac環境でrbenvを使って、Ruby・Rails環境を構築するための記事をまとめてみました。 bundlerでgemをRailsプロジェクト内にローカルインストールすることで、ruby環境を汚さずにRailsプロジェクトを生成できることを目的とします。 Rails自体もローカルインストールすることで、その都度好きなバージョンのRailsプロジェクトを生成し、共存させることができます(←ここ
平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識
twitter bootstrapを更に便利に使うgemがtwitter bootstrap railsです。 railsアプリを作りましょう。 rvmでgem set作ります。 rvm --create 1.9.3-p125@tbrsample railsアプリ生成します。 gem install rails --no-ri --no-rdoc rails new tbrsample gemを指定しましょう。 Gemfileのgroup :assetsに追加します。 cd tbrsample vim Gemfile gem "twitter-bootstrap-rails" どん bundle install --without=production bootstrapをgenerateしましょう。 必要なjsやcssをapp/assets配下に配置します。 rails g bootst
Railsのエラー画面をわかりやすく表示してくれるBetter Errors(better_errors)、GitHubのRuby系プロジェクトの中で一ヶ月で1番Starがついてたみたいです。ということでさっそく使ってみました! charliesome/better_errors - GitHub 🏀 Better Errorsとは?Better ErrorsはRack(RailsとかSinatraとか)のエラー画面をデバッグしやすい形に整形してくれるGemです。 このGemの特徴は次の3つです。 * 綺麗なUI * わかりやすいエラーメッセージ * ブラウザからのirb(PERL)によるdebugが可能 インストールは、Gemfileに次の行を追加してbundle installするだけです。 group :development do # エラー画面をわかりやすく整形してくれる ge
2日ほど前にGitHubに登場して話題となっているRackアプリケーション向けエラー画面表示ツールの「better_errors」というgemがヨサゲなので、ちょっと試してみました。Rack対応なので、Sinatraでも使えるようですが、もちろん、Ruby on Rails対応です。間に合えば、Ruby on Rails4に採用されることもあるかもしれません。というぐらい、こういうのを待っていましたという声が出ているようです。 スタックトレースとエラー発生箇所が表示されるのは、Rails標準のエラー画面と同じですが、コードがハイライトされているほか、スタックフレームの任意の場所をクリックすると、該当するコードが表示されるなど、簡易なWebアプリっぽくなっています。インスタンス変数や、パーシャルに渡っているローカル変数も表示します。 以下はRails標準のエラー画面です。 Better Er
平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識
注意 このエントリは急いで書いたので間違いが含まれている可能性が高いです。気づいた方はご指摘ください。 序文 strong_parameters とは、mass assignment で余計なパラメータをモデルの属性にセットさせないための新しい仕組みです。Rails 4.0 からはこれが標準になります。Rails2.x と 3.x はattr_accessibleやattr_protectedなどで似たような機能が提供されていましたが、これだと管理が煩雑になるケースがありました。 今年の3月くらいにGitHub が mass assignment の脆弱性を突かれたことで 、この問題をどうにかしようという流れが起き、最終的に strong_parameters が作られるという経緯を辿りました。 mass assignment とは Rails ではこんなコードをよく見ると思います。 de
net-sshのインストール 標準ではできない net-sshというモジュールが必要なのでrubygemsでインストールする 検索 gem search --remote ssh net-sshというのがみつかる インストールする gem install --remote net-ssh 依存関係があるのでイェス Install required dependency needle? [Yn] エラー出た場合は ↓2つのコマンドでアップデートすると解決できる gem update --system gem update いくつかどのバージョンを入れるか聞かれるけど、スキップ ▲ ▼ 接続してみる #sshのライブラリを使う用意 require 'rubygems' require 'net/ssh' #接続を開く、引数は ホスト、ポート番号(SSHは22番)、ユーザ名、パスワー
ソースコードのなかでバグが多いのは、より高頻度に、かつ最近になって集中的に直している部分。これが、グーグルで採用された「バグ予測アルゴリズム」であることを、先月の記事「グーグルはコードの品質向上のため「バグ予測アルゴリズム」を採用している」で紹介しました。 そのバグ予測アルゴリズムを実装したツール「bugspots」がオープンソースとして公開されています。 gitのレポジトリを分析 bugspotsはRubyで記述されており、gitのレポジトリから履歴を読み込んで分析し、どのモジュールにバグが含まれている確率が高いかを示してくれます。 以下のようにインストールして実行(説明ページから引用)。 $> gem install bugspots $> git bugspots /path/to/repo $> git bugspots . # (in current git directory)
ruby を複数のバージョン入れて適宜切り替えたりしたい場合、*nix では rvm を使いますが、Windows では rvm は 動作しないそうなので pik を使います。 pik を使えば複数バージョンの切り替えが行えますが、それだけではなくコマンド一発で特定バージョンの CRuby や JRuby、IronRuby なんかが入れられますし、複数の ruby に対して gem インストール 特定のスクリプトを実行して結果を比較する ベンチマークを走らせる みたいなこともできるようなので、その辺りも魅力です。 pik のインストールというと、すでに ruby がインストールされている環境で gem を使ってインストールしている方が多いようなのですが、せっかく pik で ruby のインストールが行えるわけなので、外部の ruby に頼らずにインストールする方法のメモです。(ちょっと強
先日の記事(Resqueを利用したRailsでの非同期処理/バッチ処理)の続きです。 簡単に振り返っておきましょう。今、localhost:3000でRailsアプリが動いています。ユーザーが/hello/worldにアクセスすると、すぐにレスポンスが返ってきます。しかし、数秒経過すると専用のログにテキストが書き込まれます。こういう仕組みを作りました。 この仕組みの鍵になるのが、Resqueというライブラリです。Railsアプリ側でクラスメソッドResque.enqueueを呼ぶと、非同期で実行したい処理(ジョブ)を登録できます。他方、Railsアプリとは別のプロセスでResqueワーカーというものが動いていて、数秒ごとに新しいジョブが登録されていないか監視しています。新しいジョブを見つけると、それを実行して、また監視作業に戻ります。 さて、前回はターミナルで resque:work とい
ruby の net-ssh-shell を使う net-ssh version 2 だと環境変数の設定ができなくて困った。 https://github.com/mitchellh/net-ssh-shell を使って bash を動かせば普段、ssh を使うような感覚で使用することができる。 インストール gem install net-ssh-shell で良いのだが、github にある最新のバージョンを使うには git clone https://github.com/mitchellh/net-ssh-shell.git を実行して取得したファイルに gem のファイルを置き換える。 使い方 Net::SSH.start('host', 'user') do |ssh| ssh.shell do |sh| sh.execute "ls" sh.execute "exit" en
プログラム言語「Ruby」の技術規格書が、JIS規格「JIS X 3017」として制定された由(関連記事)。日本発のプログラミング言語が同規格に採用されるのは史上初、特にLeopard以降「RubyCocoa」(Ruby言語でOS Xネイティブアプリを開発できるフレームワーク)を標準装備するOS Xにとっては身近なニュースといえる。 筆者にとって、Rubyはある用途で欠かせない存在だ。それは「電卓」。少々込み入った計算が必要なときにはTerminalで「irb」を起動し、そこで済ませてしまうのだ。常時Terminalを起動している自分には、この方法がもっとも手軽なうえ、mathnライブラリを使えば(require 'mathn')分数の計算すらラクにこなせる。Rubyの用途はコーディングのみにあらず、道具としての可能性も大いにあるのだ。 そこで見直したいのが、irbの初期化スクリプト。ホー
Install $ sudo gem install twitter note: the twitter gem now works with hpricot 0.5+ API Wrapping I do my best to keep it easy to use. Below are some code samples showing a few of the methods. twit = twit twit.update('watching veronica mars') puts "Public Timeline", "=" * 50 twit.timeline(:public).each do |s| puts s.text, s.user.name puts end puts '', "Friends Timeline", "=" * 50 twit.timelin
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く