ちなみに

火曜日の空は僕を押しつぶした。

ruby

Ruby / Ruby on Rails のつまずきポイントを募集しています

Rubyをゼロからやる人が難しいと感じるポイントってどこなんだろ。— OK Goo (feat. Red Tape Ghost) (@tomohi_ro) 2021年11月23日 Ruby / Ruby on Rails のお困りエピソードお待ちしてます。— OK Goo (feat. Red Tape Ghost) (@tomohi_ro) 2021年11月23日 さ…

久しぶりに Gem を作った

github.com リハビリも兼ねてちょっと欲しかった Gem を作ってみました。 作り始める前に調べていたつもりだったのだけれど モロかぶりしているGem がすでに存在して名前もまったく一緒だったので諦めて simple みたいな無意味な名前になってしまった。 やり…

Ruby 2.7系に上げる話

入社して最初のころにやったのがRuby 2.6系で動いているRuby on Railsのサービスを2.7.2まで上げる仕事だった。 機能開発に入れるほど慣れてなくて、チームにがっつり入るより独立して動いた方がいい、かつ、サービス全体を見渡すのにちょうど良い感じのタス…

RubyGems.orgから検索するAlfred Workflow

macOSのランチャーとして Quicksilver が滅びて1から Alfred をずっと使っていて、Workflowも自分用の小さいのを書いたりしてべんりに暮らしている。 meta::cpan から検索するのは alfred-metacpan-workflow を使っているが、RubyGems.org から検索するのは…

Ruby 2.4

今年もクリスマスにリリースされました。毎年素敵なプレゼントをありがとうございます! github.com Moduleも refine 出来るようになってべんりですね。 module Moconize refine Comparable do def clamp(min, max) if (min..max).include? self '' else sup…

2.2だってdigしたい!

Ruby 2.3のpreview1がリリースされ、クリスマスの足音が聞こえてきた昨今、みなさまいかがお過ごしでしょうか。 駆け込みでいくつかの機能が取り込まれていますが、そのなかでもArrayやHash、Structに実装されたdigがかわいくて気に入っています。 ネストし…

第65回 Ruby関西 勉強会 で Ruby 2.0 以降の変更点についてシュッとふりかえった話

久しぶりに Ruby 関西の勉強会に参加して、LT をしてきました。 去年は平日開催が多かったので参加出来なかったのですが、土曜日だと参加出来るので嬉しい。 https://rubykansai.doorkeeper.jp/events/18820 今回は発表者も多く、内容も多岐に渡っていたので…

Ruby 2.2 で {"Arbitrary Key": "value"} が出来るようになった話

リリース! さきほど待ちに待った Ruby 2.2.0 がリリースされました。 関係者のみなさん、すばらしいクリスマスプレゼントをありがとうございます! https://www.ruby-lang.org/en/news/2014/12/25/ruby-2-2-0-released/ 変更点については preview1 のときに…

blink(1) でテストの結果を表示するようにした話

追記: Gem にしたのでご活用ください: http://rubygems.org/gems/guard-notifier-blink1 blink(1) を id:hxmasaki から1台譲ってもらったので Guard で走らせているテストの結果を通知するようにした。(一ヶ月くらい放置してしまってたのを今日やっと触れ…

Comparable#== が <=> の例外を黙殺しなくなる件について

仕事で使っている Gem が Ruby 2.2.0-preview1 で動かすと以下のような警告を出すようになった。 Comparable#== will no more rescue exceptions of #<=> in the next release. Comparable#== は <=> の定義を使ってオブジェクトが同一かを調べる。<=> が 0 …

rbenv global 2.2.0-preview1 した話

はじめに RubyKaigi 2日目が終了しました。去年参加出来なかったので3年ぶりのRubyKaigiです。 さて、9/18(木) に Ruby 2.2.0-preview1 がリリースされているので試してみました。 いつものように NEWS から僕の分かる部分だけを紹介します。 see also: rben…

rbenv global 2.0.0-p0

Happy Birthday Ruby 20周年の記念日である 2月24日(日) についに Ruby 2.0.0-p0 がリリースされました。(NEWS) コアチームのみなさん、コントリビュータのみなさん、全ての関係者のみなさんに感謝。ありがとうございます。 インストール すでに @hsbt さん(…

解決した

https://gist.github.com/Sixeight/4771462 どうも2.0からDL moduleがobsoleteになって、Fiddleを代りに使うようになっている。 @tenderlove さんに質問したら簡単な問題ではないとしつつも、spring にパッチ書いてくださってとりあえずは解決。 https://git…

きゅうり演算子できたよ!

(::) (::) (::) (::) (::) (::) (::) きゅうり演算子できた (::) (::) (::) (::) (::) (::) (::) #!./ruby1.9 ary = [ 5, 4, 8, 1, 3, 2, ] hoge = ary.sort! {|a, b| b (::) a } p hoge #=> [8, 5, 4, 3, 2, 1] (::) Index: parse.y ======================…

Ruby/Rails勉強会@関西#38に参加してきました

10月31日(土)、京都女子大学で開催された Ruby/Rails勉強会@関西#38に参加してきました 僕はRSpecのマッチャを淡々と紹介したのですが、アンケートでは「とても速かった」「速すぎて意味がわからなかった」と絶賛の声を頂きました。KOFのLTでは持ち前…

RSpecで独自のマッチャを定義するもっとも簡単な方法

RSpecでテストを書いていてよく hoge.instance_variable_get(:@piyo).should == 'hehehe' とか書きますよね毎回indtance_variable_getを書くのが面倒なのでマッチャにしておくと簡単にテストできます Rspec::Matcher.define :be_in do |name, val| match do …

Termtterリファクタリング合宿をやってきました

id:hitode909 くんと、id:masa138 さんを加えた3人体制でがりがりテストを書きました 結果、とりあえずカバレッジが100%に見えるようになりましたSixeight/termtter · GitHubスライドにも書いたように、カバレッジはいくらでもごまかせるし、逆に全く必要の…

あるgemのすべてのバージョンを列挙する方法

$ gem query -ran <gemの名前を正規表現で> -r リモートリポジトリから -a すべてのバージョン -n 正規表現にマッチするgem</gemの名前を正規表現で>

Ruby勉強会@関西#36でHaml/Sassについて話してきました

http://jp.rubyist.net/?KansaiWorkshop36今更ですがエントリ書いてなかったのでスライドだけ貼り付けておきますちなみに明日は#37が京都女子大学で開催されます http://jp.rubyist.net/?KansaiWorkshop37Haml/Sassを使って履歴書を書くためのn個の方法View …

Ruby/Rails勉強会@関西 #35

http://jp.rubyist.net/?KansaiWorkshop35RubyKaigi2009(の御意見板)でも大人気だった京都女子大学での開催でした 僕はRubyKaigi 2009報告会でLTをさせていただきました 発表内容は他の皆さんに任せて運営の皆さんのナイスプレイ的な部分を紹介を早口でざ…

第34回Ruby/Rails勉強会@関西に参加しました

http://jp.rubyist.net/?KansaiWorkshop34[追記] スライドアップロードしました http://www.slideshare.net/Sixeight/sinatra-1658721 [ここまで]1週間前ですが7/20(土)に開催されましたRuby勉強会に参加してきました Sinatra 事始め by 僕 Webhooks (real-…

IEはファイルアップロード時にフルパスを送る

後輩の作ったサービスにバグをしこんでしまった件IE7 によるファイルアップロード時のフルパスの送信 - 葉っぱ日記によるとIE6もしくは初期設定のIE7だとContent-Dispositionヘッダのfilnameがフルパスになっているのでそのまま使うとc:\fxxk\ie.txtとかにな…

.gem以下にインストールしてしまったgemの消し方

Rubygemsでgemをインストールする際にsudoをつけ忘れたりすると~/.gem以下に配置されてしまって気持ち悪い 素直にgemコマンドで入れるときには忘れることはなさそうだが、Railsでrake gems:installするときは毎回sudoを忘れて、しかも忘れたことに気づかない…

デーモン化するプロセス

こんばんは、最近はTyphoeusとかSinatraで遊んでいます。Lingrがサービスを終了してしまったので、最低限勉強会でログが残るチャットをするためにと、Cometを勉強してChatを書いているのですが、それのテスト用にデーモンを作りたかったので調べました。 こ…

Rack 1.0.0による依存関係のジレンマ

Thin 1.2.1がrack (>= 1.0.0)なのに対し、 Sinatra 0.9.1.1がrack (>= 0.9.1, $ ruby app.rb -s mongrelとかしないと動かなくなるgems.github.comにRack1.0.0対応のプレリリース版があるのでそれを使うと良い $ sudo gem uninstall sinatra $ sudo gem insta…

termtter 1.0.0がリリースされました

http://rubyforge.org/frs/?group_id=7796Ruby温泉ことtermtter合宿の成果である、バージョン1.0.0がリリースされました。 いろいろ変わったので使ってみてください。from 湖西線

Ruby 温泉 2009 March in 滋賀

http://atnd.org/events/388参加します。 温泉に入るぞ!

Which is the fastest division method which returns Float.

Ruby has some division method but I don't know that the fastest one. I wanna know that.I did the benchmark as bellow, require 'benchmark' aset = (1..1000).to_a Benchmark.bmbm do |x| x.report('/') { aset.each_cons(2) {|x, y| y./ x.to_f } } …

特異な特異メソッド定義

class, module, defキーワードとeval系を使わないクラスメソッド定義がしたい(興味的な意味で) class_method = Module.new { define_method(:foo) { :foo } } klass = Class.new.extend class_method p klass.foo #=> :foo が、一番安易な手段だと思うのだ…

るびまゴルフ第五回をちょっと考えてみた

http://jp.rubyist.net/magazine/?0025-RubiMaGolf問1 p $<.readlines.uniq #=> ["hoge fuga hige\n", "foo\n", "bar\n", "baz\n", "fuga hoge\n"] 20B問2 p $<.readlines.map(&:split).flatten.uniq #=> ["hoge", "fuga", "hige", "foo", "bar", "baz"] 41B…