Redirecting… Click here if you are not redirected.
はじめに RubyのコミッターでもありRailsなどの多くのOSSで活躍されているMarc-André Lafortune さんのブログに面白い記事があったので筆を取りました. (許可は取りましたヨ) Why I Won't Squash My Commits *注釈 [...] で記された文章は原文には存在しない私の注釈であるので留意されたいです. 翻訳に至らない所があれば編集リクエスト待ってます. 要約 PR,feature単位でcommitをまとめるかどうかでRailsのプロジェクト上などで揉めた. それぞれのcommitは独立してるいるはずだからまとめる必要はない 仮にどうしてもまとめたいなら自分でやるべきだし人にその考え方を押し付けるな (まあ実際は皆いい人だから理解してくれるけど) この方は徹底してcommitを最小の変更単位で分けて、 それぞれが独立してテストを通るように心が
まともな文章にしたいのだけど、そうする余力がないので、記録のために箇条書きでメモ書きを残します。独学でRuby (on Rails)を学ぶために、まず初学者向けのまともな情報が少ないし、僕以上の事例はそういないと調べて思ったのと(自分で言ってすみません)、これから学ぶ人が増えるだろうから、その参考になればとも。 2015年5月20日 追記 → ※採用できたため募集終了。ありがとうございました。 開発メンバーを募集しています。意欲と能力を兼ね備えた若者を歓迎します。スキルは、この記事を書いた当時の僕くらいあればokです。 30ruby.hatenablog.com 2017年11月23日 追記 フロントエンジニアを募集します!やる気があって、実務経験あって、EdTechの本命として教育を根本から変えていくというミッションに共感していっしょに走ってくれる方を探してます! www.wantedl
この記事を書き上げるには、相当長い時間がかかりました。本来は今年の年明け、 Rubyの死 やデイヴィッド・ハイネマイヤー・ハンソンの TDDは死んだ がアップされて騒ぎになる前に投稿するつもりだったのです。昨年末に書いたツイートを見てください。 > Rubyにはもう飽き飽きした。理由はいろいろあるが、特にその副作用と、ステータスが可変なせいで大量のユニットテストを書かされるのにはウンザリだ。 @abevoelker Rubyの開発に関しては、大勢の人が心のどこかで何かおかしい、何かが欠けていると思っているようですが、たいていの人は責める対象を間違っています。Rubyで書いたアプリがとんでもない代物になったって? それはあなたがきちんとテストコードを書かなかったか、テスト駆動開発(TDD)の指針に則って開発しなかったからです。もしくは、正しいデザインパターンに切り分けるための知識が不足してい
サイボウズ・ラボの西尾 泰和さんが「エンジニアの学び方」について探求していく連載の第2回(毎週火曜日に掲載、これまでの連載一覧)。「WEB+DB PRESS Vol.80」(2014年4月24日発売)に執筆した「エンジニアの学び方──効率的に知識を得て,成果に結び付ける」の続編です。(編集部) 文:西尾 泰和 イラスト:歌工房 この連載では「エンジニアの学び方」をテーマにインタビューを行い、どういう「学び方」をしているのか探求していきたいと思っています。第1弾は、富士通のエンジニアとしてLinuxカーネルの開発に参加されている小崎資広さんです。 Linuxカーネルは、ソースファイルだけで3万5000個以上、行数にして1500万行を超える、巨大ソフトウェアです。小崎さんが、どうやってこの巨大なソースコードと戦っているかは、きっと「エンジニアの学び方」の参考になるはずです。
Myron Marston » Notable Changes in RSpec 3の雑な訳です。 誤訳・雑すぎる訳がありましたら、Twitterで@nilp_までご連絡頂けると助かります。 RSpec 3.0.0 RC1が2日前にリリースされました、そして最終的な3.0.0のリリースが目前に迫っています。 我々はβ版をここ6ヶ月にわたり使ってきました、我々はそれらを皆さんと共有できることにわくわくしています。 これが新しいとこだよ: すべてのgemたちにわたって Ruby 1.8.6と1.9.1のサポートがなくなりました これらのバージョンのRubyはかなり前に寿命を迎えました、RSpecはこれらをサポートしません。 Ruby 2.xのサポート向上 最近のRSpec 2.xのリリース(すなわち2.0がリリースされたあと出たやつ)はRuby 2を公式にサポートしています、しかしRSpec
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist
twitterのフォロー通知メールとか、Amazonの発送通知メールとか、そういうメールを受け取ったらその内容に応じていろいろ処理したい時ってありますよね。 でもまあ、今時個人でメールサーバ立てるのなんて流行らないですし、自由にprocmailを仕込むわけにもいかないですよね。というわけでGmailのIMAPを使いましょう。 rubyで書くとこんな感じ。 require 'rubygems' require 'net/imap' require 'kconv' require 'pit' require 'logger' class ImapFetcher def initialize(pit_name) @pit = Pit.get( pit_name, :require=>{ 'host'=>'imap.gmail.com', 'port'=>993, 'use_ssl'=>'true
Rubyで自作の外部モジュールを読み込む方法 - include と extend と module_function - (゚∀゚)o彡 sasata299's blogを読んでて、もしかしたらちょっと誤解があるのかなと思ったのでrequireとincludeとextendの話を。 requireはKernelモジュールのメソッド Rubyで外部ライブラリを読み込むには、require を利用します。 Rubyで自作の外部モジュールを読み込む方法 - include と extend と module_function - (゚∀゚)o彡 sasata299's blog これはその通り。もっと具体的に言うと、requireは引数のファイル名のRubyファイルを読み込んで実行するメソッドです。引数が絶対パスだったときはそのファイルを、そうでない場合はロードパスを優先順位上位から辿って最初
Base 64 エンコーディングすると、(使用している言語やライブラリによりますが) 勝手に改行 (line feed) が含まれてしまって困るということがしばしばあります。 例えば、Ruby の Base64::encode64 メソッドを使用した場合も改行が含まれてしまいます。 本記事では、以下の内容について説明します。 Ruby において改行を含めない Base64 エンコーディングを行う方法 (Ruby に限らず一般的な話として) Base64 エンコーディングと改行 (line feed) の関係について Ruby で改行が含まれない Base 64 エンコーディングを行う方法 Ruby で base 64 エンコーディングをしようとするとき、テンプレート文字列 'm' を使って pack することが多いかと思います。 しかし、'm' を使った pack では何故か改行 (lin
http://eng.joingrouper.com/blog/2014/03/03/rails-the-missing-parts-interactors 3 comments | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 飲み会アレンジサイトGrouperが、同社のエンジニアブログで、規模の大きなRailsアプリをパフォーマンスよくつくるときの工夫を提案をしてますが、それに対してRailsのクリエーターのDHH (Basecamp / 37 Signals) が厳しいコメントを残しています。 1) Grouperの提案 問題意識 Railsは、コードベースが千行を超えると、テストスイートが遅くなりがちで、フレームワークのロードタイムが増える。 よくあるのは、ビジネスロジックのほとんどがActiveRecord /m
Rubyのオブジェクト指向は一貫性があってわかりやすいという評判だけれども、オブジェクトを意識しない便利な手続き的な書き方もできるからそれがRubyの本来の姿を分かり難くしているという面もあってその辺でRubyを始めたけど今ひとつ本質的なものが見えてこない人たちもいるんじゃないかと思う今日此の頃ですが皆さんいかがお過ごしですか? それで随分と前に僕がRubyを始めてそんなに時間が経っていないときに書いたブログの記事があってそのことを思い出して、読み返してみるとRubyのオブジェクトを中心にしたちょっとユニークな説明になっていてまあ書き足りない部分もあるけれどもあの頃の知識でよく書けてるじゃないのなどと自画自賛しつつ、これは先の「Rubyを始めたけど今ひとつ本質的なものが見えてこない人たち」の役にも立つのではないかという発想が生まれて、結果ここにその記事群の文体を変えたり間違いを直したり挿絵
Ruby 1.9で導入されたObject#tapはRuby 1.8でも1.8.7から使えるようになった。 tapメソッドとは何かというと、自分自身にブロックを作用させて自分自身を返すだけのメソッドだ。つまり副作用専門メソッド。定義はいたって簡単、コレ。 class Object def tap yield(self) self end end たとえば、1〜4の二乗のうち10以上のものを求めたいんだけど、デバッグ時とかで途中経過である1〜4の二乗を表示してほしいなんて場合はこんな感じに。いらなくなったらtapの部分を消せばいい。楽チン。 ary = [1, 2, 3, 4] ary.map{|x| x**2}.tap{|a| p a}.select {|x| x>10 } # => [16] # >> [1, 4, 9, 16] ほかにも、破壊的メソッドを適用した後で自分自身を返す場合にも
数万のソースコードから目的の一行を一瞬で見つけ出す、Milkode http://d.hatena.ne.jp/tuto0621/20110730/1312040692 CentOS 6.3にインストールして、使わせて頂くまでをメモしておきます。 ちなみに、Rubyは全く触った事無いので、インストールは超手探りです。 Ruby Version Manager (RVM)のインストール CentOS 6.3では、yumでインストールされるRubyのバージョンは 「1.8.7.352」でした。 現在は修正されているかもしれませんが、Ruby 1.8.7でmilkodeを動かそうとした時、 temcolorでエラーが発生して動かせなかったことがあるので、Ruby 1.9系をインストールします。 Rubyをインストールするには、rvmを使用するのがよいみたいです。 Ruby Version Man
I'm not sure of the best idiom for C style call-backs in Ruby - or if there is something even better ( and less like C ). In C, I'd do something like: void DoStuff( int parameter, CallbackPtr callback ) { // Do stuff ... // Notify we're done callback( status_code ) } Whats a good Ruby equivalent? Essentially I want to call a passed in class method, when a certain condition is met within "DoStuff"
Rubyといえば動的型付け言語なので、IDEサポートがほとんど皆無です。 それはしょうがないんですが、やはりIDEサポートはけっこうなアドバンテージに思うわけで。 例えばC#+Visual Studioは素晴らしいです。膨大なBCLも、IntelliSenseがあると結構なんとかなったりします。 もちろんruby環境にも補完機能がないわけではないですが、やはり弱いです。 なのでどうしてもtypo→エラー→ググるというプロセスをよく歩んでしまいます。 そこでpryですよ pryはirb(rubyの標準インタプリタ)の上位版です。 irbで出来ることはpryでも大抵は可能です。 pryにはシンタックスハイライト機能とかもありますが、一番はlsコマンドとcdコマンドです。 例えば適当なstringオブジェクトをlsしてみると "hello pry!"オブジェクトのメソッドが一覧されます。 また、
この記事はRuby開発環境 Advent Calendar / Jul.の1日目の記事です.参加は「7/1よりRuby開発環境アドベントカレンダーを開始します!」から! 7/2になってしまってごめんなさい. tmuxによる縦分割,pryを使った快適,高速なコードリーディング&開発について書きます. 以下ではresqueのコードを読んだり,手を加えたりするという想定で話を進めます. 事前準備 それぞれのツールについては pry: ググるよりもまずはpry - Qiita tmux: tmuxタグページ あたりを参考に. 以下,必要なものをインストールします. gem install -r gem-browse pry pry-doc cd /tmp gem clone resque cd resque # tmuxを使って画面を縦半分に割る # 左: vim -R lib/redis.rb
We exist to give all people the freedom to belong, to connect with others, to share their passions and be accepted in a safe, trusted environment. We’re the technology and media company behind thousands of online communities and dating sites around the world. Through our portfolio of niche websites, apps and other channels, we help people live their happily ever now and build a better, more incl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く