Rubular is a Ruby-based regular expression editor. It's a handy way to test regular expressions as you write them. To start, enter a regular expression and a test string. Or you can try an example.
select sum(min_salary), sum(max_salary) from jobs; これをActiveRecordで書きたい。 ベタに書くと rec = Job.select(<<-SELECT).all[0] SUM(MIN_SALARY) AS MIN_SALARY ,SUM(MAX_SALARY) AS MAX_SALARY SELECT # => SELECT SUM(MIN_SALARY) AS MIN_SALARY # ,SUM(MAX_SALARY) AS MAX_SALARY # FROM "JOBS" p rec.min_salary # => 124888 p rec.max_salary # => 251088 こうなる。 関係ないけど、仕事中にActiveRecordの書き方で詰まったら、諦めて直接SQL書いた方が早いよね。閑話休題。 こう書けそう
Ruby Weekly経由。Array()を使ったnilガードを紹介しているGuarding with arraysという記事がナイスでした。 Rubyでのコーディングは常にnilとの戦いなのであります。 例えばparams[:pictures]に配列が入ってくると期待して、こんなコードを書くと、 params[:pictures].each do |picture_id| # なんか処理がある end params[:pictures]がnilのときにエラーになりますよね。なのでこんな風に書いたりするんですが、ちょいダサい。 (params[:pictures].presence || []).each do |picture_id| # なんか処理がある end で、Guarding with arraysで紹介されている方法が、こんな書き方。 Array(params[:pictur
— 環境 — rails-4.0.1 devise-3.2.2 omniauth-1.1.4 クラス変数に「今日の言葉」と「保存済み日付」の情報を持たせる トップページに表示させるためなので、HomeController の index アクションに追加。 app/controllers/home_controller.rb class HomeController < ApplicationController @@date_info = nil @@todays_word = nil def index # detect user's timezone if user_signed_in? timezone = current_user.time_zone else timezone = User.get_user_timezone(cookies["timezone"]) end @
Ruby on Rails 4.1 Release Notes — Ruby on Rails Guides を読んで行くことにします。 今日は最初のUpgradingの章です。 Highlights in Rails 4.1: 冒頭に新機能概要について書かれています。 Spring application preloader config/secrets.yml Action Pack variants Action Mailer previews config/secrets.yml これは初耳です。 なんでしょうか。 1 Upgrading to Rails 4.1 Ruby on Rails Guides ということで、4.0から4.1へのupgradeについて見て行きます。 以下、番号はリンク先に準拠します。 2 Upgrading from Rails 4.0 to Rails
Sidekiq とは Sidekiq とは Rails アプリで非同期処理を行うためのライブラリです。複数のジョブを同時に実行することができ、メモリを節約することができます。 ということで今回は Sidekiq の基本と使いかたをざっくりと学んでいきたいと思います。 Sidekiq を使ってみる インストール まず前提条件として Redis が必要なのでインストールしましょう。Redis はジョブの管理に使われています。 brew install redis インストールは Gemfile に追加して bundle install するだけです! vim Gemfile # gem 'sidekiq' を追加 bundle install Worker を実装する 非同期処理を行うクラスは Sidekiq::Worker を include してつくります。あとは perform メソッド
ActiveRecordを使っていると時々プログラム内でModelオブジェクトの値を変更してから、変更前の値が欲しくなったりすることがある。 そんなときはActiveModel::Dirtyのメソッドを使うとModelのオブジェクトに変更があった時に変更の情報を取得出来る。 # たとえばUserのレコードを一個引っ張ってきて u = User.last => #<User id: 5, age: 19, name: "Kiriko Takemura"> # 変更されていないことが確認出来る u.changes => {} u.changed => [] u.changed? => false # 名前を変更してみる u.name = "Caroline Charonplop Kyary Pamyu Pamyu" # するとchangesが変更されたプロパティの変更前と変更後のデータが取得で
RVMは自分のユーザー環境に、独自のRuby環境を作ることができる。homebrewのように、/usr/localですらない。/home/takuya/.rvmに、バージョンが違うRubyを大量に飼育できるのです。 RVMを使えば、opensslなどの依存モジュールもRVM側だけで管理できる。 つまり、homebrew に頼らなくてもRVMさえあればRubyの環境を維持管理することが出来る rvmさえあれば、rubyで困ることが減る。 rubyでハマる色々な罠 ruby 1.9の罠。 ruby のビルドの違いの罠 gemsの罠 gemsのバージョン地獄 gems関連はbundler で解決!!、Rubyそのものは、RVMでそこそこ解決する。 rvmを使ってるよ!っていう人は rvm alias機能 rvm コマンド補完機能 あたりを読むと嬉しい気分になれると思います。 RVMのインストール
こんにちは!エンジニアの川崎です。 嬉しいことに、Wantedly開発チームの仲間は2013年の1年間で2倍に増えました。2013の最初には自分、 awakia と reikubonaga の3人でしたが、 デザイナなのにXCodeも使いこなす ferasyahin、 Chef使いのプロダクティビティ・エンジニア spesnova、それからこのブログのデザインもやってくれたエンジニア imaimiami の加入で合計6人になりました。最近ではさらに kento や shin-en がインターンとして活躍してくれています。 Wantedlyに入社してくるエンジニアは、なぜかRubyもRailsもやったことのない人ばかりなので(自分もそうでした)、 今日はそんな彼ら新人のために、Ruby/Railsで開発をするときに役立つページをまとめてみました。 初めてRails開発をする人に参考にして欲し
ちょこっと vagrant + chef-solo を試そうかと思ったらめっちゃハマったのでメモ。 環境は Mac OS X 10.7.5 で、 $ brew -v Homebrew 0.9.4 $ brew info rbenv rbenv: stable 0.4.0, HEAD (略) $ rbenv versions system 1.9.3-p429 * 2.0.0-p195 (set by /Users/hogehoge/.rbenv/version) こんな ruby 環境。 そして腐るほどあるchef-solo 環境設定のブログでよく見かけるように $ gem install chef $ gem install knife-solo --pre と chef と knife-solo をインストールすると、2013/7/24 現在で、 chef (11.6.0) knife
Heroku は現在リミテッドβの状態なので、ユーザー登録を行うにはこちらのページでメールアドレスを登録し、招待メールが来るのを待たなくてはなりません。私が登録したときは 2 週間待ちだったのですが、現在はだいたい 1 日以内に招待が来るようです。ちょっと面倒ですが、ぜひサインアップして、 Heroku の素晴らしい世界を体感してみてください。 ・・・どうでもいいけど、サインアップのページにある看板はいったい。 無事にサインアップできたら、さっそくこちらのページから heroku にログインしましょう。すると、最初に以下のアプリケーション管理画面が表示されます。 heroku では同時に複数の Rails アプリケーションが開発できるので、この画面でそれらを管理するわけです。しかし、現在はひとつもアプリケーションが存在しませんので、新たに作成してみましょう。アプリケーションの作成は「Cre
プログラミング言語Rubyが注目を集めています。Ruby関連の書籍が次々と出版され,2006年6月には国内初の大規模Rubyイベントである「日本Rubyカンファレンス2006」が催されました。また,Rubyで書かれたWebアプリケーション・フレームワークRuby on Rails(以下Rails)が話題となり,Rubyの高い生産性が一般に知られるようになってきました。 Rubyの生産性はJavaの10倍とさえいわれます。なぜRubyは生産性が高いのでしょうか。それは,Rubyはいろいろな言語から優れた所を集めた「いいとこ取り」言語だからです。Rubyの特徴は「構文が強力なので,迅速な開発ができる」「人に優しい言語なので,楽しくプログラミングできる*1」「問題が起こりにくいように設計されているので,初心者でも簡単に安全に作業でき,熟練者は高度なプログラミングを行える」といった点です これらの
ここでは、Rubyによるネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)です。 TCP 簡単なTCPサーバとクライアント TCPクライアント(エラー処理付き) 何度も受信できるTCPサーバ TCPサーバ(acceptした相手の確認) UDP UDPを使う UDPでブロードキャストを使う UDPでマルチキャストを使う(マルチキャストを送信する) UDPでマルチキャストを使う(マルチキャストを受信する) UDPでマルチキャストを使う(TTLを設定する) Web 簡単なHTTP GET(Net::HTTP) HTTP HEADと全てのHTTPヘッダの表示(Net::HTTP) HTTP POST(Net::HTTP) 簡単なRSSクライアント その他 IO::selectを使う IPアドレスからホスト名への変換
この本はホワイ・ザ・ラッキースティフ(why the lucky stiff)により愛情を込めて書かれた。 ~ 目次 ~ この本について コンニチハ、Ruby この本を開く 犬の話 赤い太陽が昇る 本はどのように始まるか (漫画のキツネと学ぶ)短時間の(そして願わくは辛くない)Rubyコース 言語と、言語で意味しているもの 品詞私がまだあなたのことを十分子供扱いして いなかったなら あなたの成長を促すための例題 そして短い旅はそっとクッション停止する 浮いている小さなコードの葉っぱ アンブローズにおけるステータスシンボルとしての葉っぱ 小さくてほとんど価値のないもの 妄想をつなぎ合わせる ブロックの奇跡 ルールを作るものと夢を生きるもの これは権利を奪われた人のため コンピュータのある城 娘のオルガン教師の話のつづき ヤギは映画を全部見たがっている 盗まれたくじ主 ルールを作る者たち 夢を
Rubyとは... オープンソースの動的なプログラミング言語で、 シンプルさと高い生産性を備えています。 エレガントな文法を持ち、自然に読み書きができます。 ダウンロード または もっと読む...
第0回 あらためてRuby入門 まつもとゆきひろ氏自身による「Ruby入門」をお届けします。日経Linuxの連載開始前の特別企画(2005年4月号)として,Rubyが他のスクリプト言語やオブジェクト指向言語とどこが違うのか,なぜ便利なのかを中心に解説してもらったものです。 ● 基本と他言語との違い ● 実装とRuby誕生の秘密 第1回 プログラミングとオブジェクト指向の関係 プログラマを目指す人々の中にも,「オブジェクト指向は難しい」とか,「なかなか分からない」という印象を持つ方が多いようです。そこで,Rubyを題材にオブジェクト指向という考え方について説明していきます。 ● その1 ● その2 ● その3 第2回 抽象データと継承 オブジェクト指向プログラミングを構成する3原則のうち,前回は「ポリモーフィズム」を学びました。今回はオブジェクト指向の歴史を復習した後,残りの「データ抽象」と
RDEはスクリプト言語Rubyの専用開発環境です。スクリプトの作成・編集から、実行・デバッグをすべてこの上で行うことができます。 Rubyはコンソールアプリケーションです。GUIアプリケーションが主流なWindows上では、この事実がまず最初に大きな敷居となって存在します。RDEはこの敷居をなくします。WindowsでRubyを使いたい人、学びたい人に是非使ってほしいツールです。 Rubyを始めとするPerl、Pythonといったスクリプト言語は、PCに仕事をさせるための道具です。道具であれば必要な時にさっと手の届く場所にあって欲しい。利用頻度の高い画面に常駐しているソフトと同じぐらいの感覚で使えることが望ましい。 メーラー、ブラウザ、エディタの常駐三大アプリのうち、エディタの中にRubyを納めたのがRDEです。 RDEを使う事で、Rubyに至るまでの工程で悩んだり考えたりする必要がなく
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く