Ruby 3.0.0 インストールしてました。
Ruby 3.0系初のリリースである、Ruby 3.0.0 が公開されました。
% rbenv install 3.0.0
% rbenv global 3.0.0
% ruby --version
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin19]
いつもお世話になってます。ありがとうございます!!
Ruby 3.0系初のリリースである、Ruby 3.0.0 が公開されました。
% rbenv install 3.0.0
% rbenv global 3.0.0
% ruby --version
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin19]
いつもお世話になってます。ありがとうございます!!
Ruby 2.6.0 Released
Ruby 2.6シリーズの最初の安定版である、Ruby 2.6.0がリリースされました。
Ruby 2.6.0には、多くの新しい機能やパフォーマンスの改善が含まれています。
その一部を以下に紹介します。
いつもお世話になってます、ありがとうございます!
% ruby -v
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]
引き続き自分に出来ることをコツコツやっていこうと思います。
普段はソロ活動が多く、他の方が書いたコードを仕事の中で読むことがほとんどないので、実践的な章はもちろん、入門的な章も知識の棚卸しとして読みました。
自分にはまず、9章、10章が嬉しい内容でした。
全体として具体的で「あぁ、トラブるな、そこ。」だったり「なるほど、そんなことも考えないといけないな。」「そうすればいいのか。」という気持ちになることがところどころに。
それぞれ、当初から予想が出来ない、ということはないのかもしれませんが、そこを通った時に「こういう事があって、こうしました。」という感じで、実際に時間を掛けて付き合った上でないと出てこない内容だと思います。
あとは、この部分。
P392「そのため、Railsでアプリケーションを開発するならば、アプリケーションを放棄しない限り、ずっとバージョンアップをし続ける必要があると肝に銘じておきましょう。開発現場だけでなく、事業計画のレベルでも、RubyやRailsのバージョンアップの費用を常に計画に織り込むことが非常に重要です。」
「開発が終わったアプリにそんなにお金掛けられないですよね?」というような話を最近続けて聞くことがあったので、ここが刺さりました。
「終わった、とは?」という話は置いておいて、結果からいうと、自分はそこで「そういうケースではそもそもRailsは向いていないのだと思います。」と答えていました。おそらくこの言葉は「アプリを完成させることによって、または完成したアプリにはもう大きな費用がかからないことを前提に、その後の保守で利益を出す。」という発想から来ているのだと思います。
そのアプリに働いてもらって、そこから立った売り上げで体制を維持していく、という考え方でないと、なり立たない。経営的な話ですが、お仕事では必ず考える必要がある(が、得てして後回しにされがち)ので、気をつけておきたいところです。
発展編の方の章から話を始めてしまったのですが、入門編、レベルアップ編について。
まったくの新規ではなく、棚卸しの視点なのである程度は流し読みになってしまったのですが、準備から順番に、積み重ねるよう丁寧に解説されていると感じました。順番に進めていけば、おそらく躓くことはないと思います。
全体として、普通に開発を進めていくと必要になることが網羅されていて、木の幹になるような本だと思います。ひとまずこれを通して読んで、やってみましょう。もし足りないケースが出たら、そこで他を調べて枝葉を増やしていきましょう、と。発展編については、はじめの頃に読んでもおそらく難しいので、見出しを眺める程度にし、いまは置いておきましょう、という感じで。
毎月参加しているSaitama.rbでは、これからRuby/Railsの勉強を始めますという方がよくいらしゃいますが、この本をおすすめできると思っています。
Rubyのtrueとfalseの話 – Qiitaこの本を作るためにいろいろ質問して理解したことのうち、『真』であることとtrueが違う、『偽』とfalseについても同様、という話が個人的に一番衝撃的だったかもしれません。
おそらく分かってはいたものの明確に意識したことはなくて、「あっ、そうだ。」という気持ちだった。
Rubyのtrueとfalseの話 – Qiitatruthy とか falsy って呼び方をしたりもしますね
`be` matchers – Built in matchers – RSpec Expectations – RSpec – Relish
expect(obj).to be_truthy # passes if obj is truthy (not nil or false)
expect(obj).to be_falsey # passes if obj is falsy (nil or false)
あ、そうだ。
GitHubからの通知メールがいくつかまとめて来てたため見逃してしまっていたのですが、この前Rackに投げたPRがマージされていました。
Rackに投げたPRがマージされてた!嬉しい。 https://t.co/YxMLULl3of
— MIKAMI Yoshiyuki (@yoshuki) 2017年8月15日
手元でパッチを当てていたので、嬉しい。詳細については↓に書いています。
nginxとRackとX-Accel-Mappingと。 » サイキョウライン
まず、課題となっている場所はここで、いまの実装はこんな感じ。
たのしいRuby読んでたら、はじめて見る書き方に遭遇した。
`MyError = https://t.co/5sLQ1EbCAL(StandardError)`
でStandardErrorを継承したMyErrorクラスを定義できる。勉強になる〜。— igaiga (@igaiga555) 2017年2月26日
えっ、ってことで確認したら、たのしいRuby第5版のP191にありました。
いままで
class MyError < StandardError; end
のように書いて、なんか据わりが悪い感じがしていたので、今度からClass.newを使っていきたいと思います。
ちなみにclass文との違いは新たにメソッドの定義などが出来ないことですが、そもそもStandardErrorを継承したクラスが作れればいいだけなので、問題ありませんね。(と、本にも書いてありました。たしかに。)
gem install でドキュメント生成しないオプション, nginx 実践入門を読んだ – HsbtDiary(2016-01-20)
定番としては –no-ri –no-rdoc と思いますが、最近の rubygems では –no-document というオプションで一括指定できるので
なるほどー、ということでヘルプ見たら非推奨になってました。
% gem --version
2.4.5.1
% gem install --help
~省略~
Deprecated Options:
--[no-]rdoc Generate RDoc for installed gems
Use --document instead
--[no-]ri Generate ri data for installed gems.
Use --document instead
-u, --[no-]update-sources Update local source cache
~省略~
さっそく.gemrc書き換えた。あざーす!
返り値を返すときに、最後にわざわざ hash とかオブジェクトを書くのに違和感を感じる。特に map などのブロックの場合とか。
まさにこれを感じていたので、この使い方してみたい。
koicさんのスライド(Safe navigation operator in Ruby)を、Rubyにもtryができるのかーとありがたく読んでいたのですが、この9枚目、まさにまだtryを使って(!!)いました。。。今日からtry!に切り替えようと思います。
Same as try, but will raise a NoMethodError exception if the receiver is not nil and does not implement the tried method.
Ruby 2.3.0以降でRailsを使うときは「.try!」を使うか「.?」を使うかが気になりましたが、これは「RailsではなくRubyの」メソッドである「.?」に切り替えていくべきですよね。たぶ、ん。
ところでSlideShareって各スライドを開く直リンクがあった気がするんですが、気のせいかな。
って、http://www.slideshare.net/koic/safe-navigation-operator-in-ruby/#9←これで行けるんですね!(教えていただきました。)
[2015-11-06 追記] 「&.」に変わったそうです。
change DOTQ · ruby/ruby@837babd
from “.?” to “&.”. [ruby-core:71363] [Feature #11537]