1. 純朴声活
  2. (80) 書籍『Rubyコードレシピ..
2024-09-01 47:38

(80) 書籍『Rubyコードレシピ集』について著者のyuta25さんと話す

spotify apple_podcasts
00:00
juneboku
はい、今回はゲストがいるので、もう早速紹介しちゃいます。板倉優太さんでーす。
yuta25
こんばんは、板倉優太です。
juneboku
株式会社、あ、違う、タラレバ株式会社代表取締役の板倉優太さんです。
yuta25
はい、タラレバの代表取締役、そうなんですよ。
juneboku
2月に。
yuta25
いや、もっとあったかな、4月ぐらい。設立は4月ですね。
juneboku
あ、そうなんだ。なんか調べたら、あ、ほんとだ、設立日4月って書いてあるな、ほんとだ。
yuta25
そうですね。でももう作ろうと思ったのは2月ぐらいかもしれないです。
juneboku
株式会社やってるとは知りませんで。
yuta25
いや、ほんと別に、ただやってみただけで、ちょっとでも後悔したりもしますね。
なんか手続きとか。
juneboku
そうなんだ。
yuta25
めんどくさすぎて。
juneboku
そんなこともあったんですね。
じゃあ今日は、今回は会社の話はそんなにするつもりはなくて、
著書ですよ、著書『Rubyコードレシピ集』出版おめでとうございます。
yuta25
ありがとうございます、おかげさまで。
juneboku
はい、でですね、これは優太さんのほか、著者がもう2人で合計3名で書かれてる、
技術評論社から出ているプログラミング言語Rubyに関する本で、
僕も技評さんから送っていただいてですね、ありがたいことに。
yuta25
送らせてもらいました。
juneboku
はい。で、ざっと読んで、ほんとに忘れてたんだけど、確かにすごい前に、
1回技評の人に連絡を取るっていうところを確かにお手伝いさせてもらったことがありました。
yuta25
はい、そう聞いて。僕も、僕ではなくて、著者の1人がなんか相談したっていうふうに聞いていて。
juneboku
はい。
yuta25
はい、その感謝を込めて献本させていただきました。
juneboku
そう、僕は完全に忘れてたんだけど、たぶん山ちゃんが覚えててくれていて、
それで、あ、それで本もらえるんだ、すごいラッキーと思っていただいてですね。
それならばということで、はい、住所伝えて。
で、もらったからには何かしらこの本を紹介したいなと思って。
yuta25
ありがとうございます。
juneboku
自分のCosenseにページ作って感想を書くのは、そりゃそれでやろうと思ってるんですけど、
ゆーたさんだったらすぐ連絡つくし、著者インタビューとかやってみたら、
こういうの発売した直後ってゲスト出演OKしてもらいやすいっていうイメージがあったので。
yuta25
はい、僕はいつでもOKしますよ。
juneboku
確かに、そうかも。別に普段でも出てくれって言ったら出てくれたかもしれないけど、
なんとなくこう何かが発売した直後の人って、
それについてしゃべるのは応じてくれやすいイメージがあったので。
03:03
yuta25
はいはい。
juneboku
これはワンチャン出演してもらえるのではと思って声かけてみました。
yuta25
いや、むしろね、なんか書籍のこと話すのちょっと僕自信ないですよね。
うまく話せるか。
ありがとうございます。
juneboku
いやいや、嬉しいなと思ってね。
なんで今日は『Rubyコードレシピ集』の話をちょっと試しにやってみたらどうなるのかっていうのをね、
試してみようかなという回でございます。
そうだな、まずは、ゆーたさんと僕は元同僚ですっていうことを、
そうですね。
先に言っとくと聞きやすいかな。
のみならず、著者がね、全員僕からすると元同僚なので、
割とよく知ってる人たちが書いた、
信頼しているソフトウェアエンジニアたちが書いた本っていうのが、
僕が表面的に見えるところですね。
yuta25
ありがとうございます。
juneboku
はい、プラス、後ろから本をめくっておくとレビュー協力のとこにですね、8人名前があって、
yuta25
はい。
juneboku
あ、全員元同僚なんですね。
yuta25
そうですね。
身内の力を頼って。
juneboku
うん。
yuta25
はい。
juneboku
はい、だから著者3人とレビュアー8人、合計11人の元同僚の名前が出てきたので、
これはちょっと僕からするとちょっとエモさもあるし、
これ結構長い期間書いてました、この本。
最近じゃないですよね、書き始めたのに。
yuta25
長いです。僕もこの撮る前に、Slackのチャンネルの最初を見たら、
2021年6月って出てました。
juneboku
じゃあ、プロジェクト発足はもう3年以上前か。
yuta25
そうですね。
juneboku
けっこう難産でしたか?
yuta25
そうですね、難産でした。
僕は、途中で「出せないかもな」って、本当に僕は思ってましたね。
juneboku
ああ、そうか、これ頓挫して何もなく終わるかもな、みたいな。
書籍ってそれはありますよね、なんていうか、途中経過で何か世に出るものってあんまりなくて、書籍って。
yuta25
うんうん。
juneboku
だから本当に完成しないと出ないから、けっこう All or Nothing なプロジェクトだから、
書籍って結構怖いし、あと届いてみて思ったのは、これすごい分厚いから、
これなんていうか、スコープの調整どうなったんだろう、なんかもうちょっと薄い状態で出す判断みたいなのもあるのかなと思うぐらい、
いっぱい書いたなと思いましたね。
yuta25
そうですね、3人でたくさん書いたけど。
僕はそう、友人の話で書籍が出なかったみたいな話も聞いてて。
06:01
yuta25
うん。
まあ、そういうこともあるよなと思って。
うん。
そうそう。で、僕からはなんか、技術書展とか、最近は。
juneboku
同人、同人出版。
yuta25
同人出版もよくあるんで、そういうのも考えないとな、みたいなことを実は言ったことはありますね。
juneboku
3年は出たけど、2年とかやってまだ出てないってなると、いろいろ多分どうするんだろうってなりますよね。
yuta25
そうですね、いろんな人に「まだ書いてんの?」とか言われました。
juneboku
そんなこと言ってくる人いたんだ。
おもしろいな。僕、レビュアーとして関わってた書籍が出なかったっていう経験はあるので、
なんとなく動きがなくなって、そのまま止まっちゃったな、みたいなのも経験あるから、
書籍が世に出るのって結構、僕からすると奇跡みたいな出来事だなと思ってるので、出ないっすよね、書籍って。
yuta25
そうなんですね。
juneboku
誰かがすごい頑張んないと出ないし、僕は技術評論社さんだと、WEB+DB PRESSで記事書かせてもらったことは何度かあるんだけど、
雑誌はもう明確に何月号に乗るやつって言って始まるから、なんか泣いても笑っても締め切りはもう割と義分なものとしてきて、
それまでに書けなかったら何が起こるか、僕はちょっと体験したことがないんでわかんないですけど、
まあでも、僕が見た範囲ではそこまでにはなんとか、みんなそれなりになんとかするから、
それこそヤマちゃんと一緒に書いたこともあったな。
だからそれはわかるけど、でも書籍って別に締め切りはないというか、書かなきゃただ出ないっていう感じだから。
yuta25
そうですよね。
怖いですよね。
でも本当に今名前が出てるけど、ヤマちゃん。
ヤマちゃんがもう出すための何か、いつまでにこれ、いつまでにこれみたいな、その締め切りを作るみたいなこととか、
すごい今一番頑張ってくれてましたね。
juneboku
いやーよく出た。
yuta25
あと、Ruby系の書籍を書いてる人で言うと、伊外賀さんがRubyの新しい本が出たってことをすごい喜んでましたよ。
juneboku
いやーそうですよね。今本屋とか行ってもコーナーとかないんですよね。
yuta25
最近やっぱあるのはPythonとかね。
juneboku
Python。
yuta25
あとTypeScriptとかですか。
そうですよね。それもあって、本当に出すのかみたいな。
一回本屋とか行って、技術書のコーナーとか普通に眺めたりしてて、あれRubyのコーナーないなとか。
09:02
yuta25
あっても本当に棚の一角みたいなのが多いから、そういうのも不安でしたね。
juneboku
そうですよね。
この執筆期間の3年ちょっとで言うと、これも全然僕が話題にしなくても散々言われてる話だけど、やっぱりLLMの大統みたいなのがあって、
このレシピ集、LLM時代のレシピ集とはみたいなことは、他の人が言及してるのも今日まで見かけましたけども、
その辺も自分がもし著者だったら、レシピ集書いてる途中にチャットGPとか盛り上がったらいろいろ考えちゃうんじゃないかなっていう想像をしました。
yuta25
そうですね。僕はめちゃくちゃ考えましたけど、ただ著者間でそういう話はなかったんですよね。
もしかしたら言ったらみんなこう、確かにってなっちゃうのを恐れてたのかも。まあそれはちょっとわかんないですけど。
juneboku
なるほど。
yuta25
僕はなかなかそういう不安だって言い出すのも怖くて。
juneboku
そっかそっか。
yuta25
だからその伊藤純一さんが書評で、LLMあるけど、まあでも本は本でいいとかあるよねみたいな、ざっくり言うと。
juneboku
そういう書評をしてくれて、それが救われましたね僕は。
yuta25
いいですね。
出してからも不安で、その書評で初めて良かったなって思いました。
juneboku
いい話。そっかそっか。出してから不安だったんですね。そっか。出すまでの不安と出してからの不安、近くとも2段階あったんだ。
yuta25
そうですねそうですね。僕、他の著者や出版社の方はともかく、まあぶっちゃけ、僕とか誰が使うんだろうみたいな。
ちょっとJPTでいいじゃんみたいな。
juneboku
はいはいはい。
yuta25
ちょっと不誠実なとこもあるかもしれないですけどね、書きながらこういうこと言うのは。
でも正直そういう不安はありましたね。
juneboku
参考文献にはね、エブリディレイルズが上がってたから、ここで伊藤純一さんとの接点もあるなと思いながらね、ページをめくってましたね。
参考文献、確かにこうなるかと思って、メタプロルビーとか。
yuta25
はいはい。
juneboku
あと、結城ひろしさんの暗号技術入門第3版とか。
yuta25
そうですね。
juneboku
なるほどーと思ってね。あとパーフェクトルビーもあったし、あとは公式ドキュメントか。
yuta25
うんうん。
juneboku
そうそう。なるほどね、こういう参考文献一覧になるんだなっていうのは、これもおもしろかったですね。
12:03
yuta25
そうですか、どういうとこ、逆質問。
juneboku
いや、でも確かに、公式ドキュメントをアルファベティックに順番に読んでいくのって結構むずいと思うんですよね。
yuta25
はいはい。
juneboku
だから、ある種、なんていうのかな。
例えば、ちょっと今の時代はだいぶ減りましたけど、音楽を聴こうと思ってCD屋さんに行ったときに、CDがアーティスト名の50音順とかで並んでるけど、
50音順では音楽って探さないなと思っていてね、少なくとも僕のメンタルモデルとしては。
お目当てのこれがある場合はそうだね。
でも一方で、誰々のおすすめとか何かしらのキュレーションとか、
人の編集が入って、店員さんの今イチオシとか、何か季節でのあるコーナーとか、そういうところがきっかけで手に取ると思うんですよね。
はい。
なんで、この目次を見ると、これはだからキュレーションっていうか、この著者3人のセレクトショップだなみたいなふうに思ったので、
そのおかげで、書いてある内容はものによっては公式ドキュメントに書いてあることを別の表現をしてたり、再作文したりしてるものもあると思うんですけど、
この目次に強い価値があるんだなっていうのを思ったんですよね。
そうそうそうそう。
だから、それでザーッと読んだ後に最後の刊末の方に参考文献一覧書って、
あ、確かに確かにそれぞれの要素はこういう本に入ってるやつだなって思ったけど、
やっぱこれ編集のところに一番価値が詰まってる本なんだなって思いましたね。
yuta25
あ、なるほど。
うん。
そうですね。
うん。
juneboku
公式ドキュメント読めばわかるみたいなことはたくさんありますよね。
ただ、公式ドキュメントってだいぶ目的がないと、
公式ドキュメントのあるクラスのあるメソッドって、
ドキュメント読みになかなかいかないと思うので。
yuta25
うん。
juneboku
Rubyのドキュメントも読むたびに発見があるなんてことは僕の周りでもよく言われてますけど、
それは本当にそうで、
なんか出会うきっかけがないといかないけど、
この目次見ると、
そうですね、Rubyをここ2年ぐらいで書き始めた人からすると、
あ、こんなこともできるんだ。
あ、自分もうちょっと回り道してたなみたいなのが、
まあ必ず1個や2個じゃなく見つかるだろうなっていうのが目次を見てて思いましたね。
うん。
yuta25
ああ、ありがたいですね。
juneboku
はい。
yuta25
本当、そういう言葉1個1個はありがたい。
juneboku
僕がこの本ざっと読んで、
あ、これ知らなかったっていうのがいくつかあるので、
これを発表します。
yuta25
はい、お願いします。
juneboku
まずはレシピ037。
15:02
juneboku
うん。
なんだっけ、データ?
yuta25
はい。
juneboku
データデファインするやつ。
これがRuby 3.2からデータクラスみたいなのが入ったっていうことを、
これクラスかモジュールか?
あ、データクラスですね。
クラス。
これ知らなかったんで、へえって思いましたね。
yuta25
僕もこれ聞いてへえって思いました。
でもそうですね、この3.何対応とかっていうのを歌いたいので、
多分書き始めたときは3.2だったのかな最初が。
juneboku
そうか。
yuta25
とにかく最新の使えるようになったものとかを、
ちょっと洗い出してみんなで見ながら、
へえ、こういうの使えるんだみたいな、そのときに知ったっていう感じ。
juneboku
なるほど。
もともと誰かが活用してた書き方というよりは、
そっちのRuby 1、Ruby 2、Ruby 3のリリースのとか見て、
へえみたいなのの中からネタを探したってことか。
yuta25
確か。
もしかしたらちょっと違うかも。
でも使ってたかも、他の二人は。僕は少なくとも使ってなかったです。
juneboku
僕はもともとStructもあんまり使えてなかったから、
Structのさらにって感じですよね。
それのイミュータブルなやつって感じですよね、データクラスね。
yuta25
そう思います。
juneboku
なんかね、やっぱりWebアプリケーション開発をメインのこのRubyの使い道にしていて、
時にはJSONで外部のWebAPIから返ってきたJSONを何か処理するときって、
連想配列、Rubyでハッシュで済ませちゃうことは多いなと自分は思うんですけど。
確かにこういうデータがあると、もうちょっとモデルっぽく使えるというかね。
クラスっぽく使えるのは。
なるほどと思ったので、まず1個目これね。
データクラス、3.2でこんなん入ってたんだっていうのが知れたのが良かったですね。
良かったです。
yuta25
じゅんさんも新しい知識はもらえたということですかね。
juneboku
いくつかありましたよ。
yuta25
それは嬉しいですね。
juneboku
あと次ね、次にへーと思ったのが、086かな。
086で連想配列のとこかな。
ハッシュのところで、あれだ。
valuesAtというメソッド知らなかったですね。
yuta25
はいはいはい。
juneboku
これそんな。
yuta25
これ僕書きましたね。
juneboku
これ。
yuta25
はい、この項目記憶あります。
juneboku
これ便利ですよね。
yuta25
何層に見える。
juneboku
これ多分僕なんかセレクトとかで書きそうだなと思いましたね、これ知らなくて。
はいはいはい。
セレクトして、セレクトとかマップとかで書きそうだなと思ったけど、
こんなvaluesAtなんてあるんだっていうのは完全に知らなかったので、へーと思いましたね。
18:04
yuta25
あとは次がね、109。
109。
juneboku
109で知ったのが、
ストリングクラスのlinesっていうメソッドですね。
yuta25
はいはい。
juneboku
これも多分、開行文字でスプリットしてイーチとかしてましたね。
yuta25
あーなるほどなるほど。
juneboku
だからこんなlinesってやると、なんか一行ずつ取れる。
よくやるのはファイルリードしたやつを、
はいはい。
スプリット、ファストラNして、
はいはいはい。
イーチで、でブロック変数lineってやって、一行ずつなんかやるってよくやる処理なんですよね、僕の生活だと。
yuta25
ふんふんふん。
juneboku
こんなlinesってそのまま書けて、しかもチョンプトゥルーとか渡せるんだっていうのは知らないと思いました。
yuta25
あーそうなんですね。
僕結構この、個人的にはRuby便利だなって思い始めた時の、
juneboku
うん。
yuta25
その便利だなって思ったメソッドの一つかもしれないですね、これ。
juneboku
じゃあこれ昔からあるんだ、このstringlines。
yuta25
これ多分昔からあります。
juneboku
へー、知らなかった。
yuta25
僕もその頃C言語でいろいろ書いてたんですけど、
うん。
Cでテキストを扱うとき、そういうそのスプリットとかして、最初ね、ロックして、
juneboku
うん。
yuta25
ファイル読んで、
うん。
で、最後の開業文字を消すとかね、やったりしたり、チョンプとかなんかすごい便利だなって思ったんですよね。
juneboku
思いますよね、これで。
うん。
やっぱり知らないのあって、かつstringclassの公式ドキュメント見に行って、その中のlinesに何年も気づいてないわけなんで、
こういうキュレーションがなかったら、僕あと数年気づかなかった可能性はすごく高いと思いますね、これでもね。
yuta25
これは普通に多分使えますね。
それテクスチじゃないけど、日々のスクリプティングで。
juneboku
うん。
yuta25
はい、ぜひ使ってください。
juneboku
ありがとうございます。いいね。
あとstring1.9以降、stringcharsとか入って、一文字ずつにバラすのとかもすごく得やすくなって、
それRuby1.8ぐらいから書いてる人ってstring.split++とかで、一文字ずつにバラすみたいな、テクスチで書くのよくあったと思うんですけど、
charsがあってlinesもあるんだなっていうのはね、charsとセットで、多分これ僕覚えたから次使うシーン来たらこれ使えるだろうなと思います。
yuta25
ぜひぜひ。
juneboku
うん。ありがとうございました。
21:01
juneboku
あとは、じゃあ次ね、次の知らなかったやつ。次164。
yuta25
164の。
juneboku
うるうどし。うるうどし判定メソッドあるんだって。
yuta25
ね。これも僕は知ってたかな。
juneboku
知ってた?
yuta25
多分そのレシピ集の項目考え出すみたいなときに、こういうタイトルそのままうるうどしかどうか判定したいって項目みたいな、ブレスみたいな感じで。
juneboku
リープっていうメソッドがあるんですね。
yuta25
本当にメソッドを紹介してるだけなんですよね。
juneboku
だから、多分本当にレイトクラスの公式ドキュメント見に行ったらリープメソッドがちゃんとあって、
トゥルーフォルス返す審議値のメソッドだっていうのはわかるけど、これもやっぱり目次がなかったら、
まあでもどうだろうな、実際判定したい段になったら、なんかRuby、レイト、うるうどしで検索して、そのときにたどり着いてたんじゃないかなと思う、これに関しては。
ストリングラインズはもう手癖で同等の処理を自前で書いてたから、多分しばらく知らなかった可能性が高いけど、
これは必要になってたら書いたかもなっていうね、気持ちはしますね。
yuta25
まあそう、探しますよね。
これおもしろいのは、なんかグレゴリオ歴とユリウス歴みたいな。
juneboku
はいはいはい。
yuta25
なんかそういうのもあるんですよね。
グレゴリオンリープだっけな、ちょっと度忘れしちゃいましたけど。
juneboku
えー。
yuta25
ちょっと紹介しきれてないけど。
juneboku
うん。
yuta25
なんか、僕はリープしか知らなかったけど、格段で調べたときに、そういうグレゴリオン、グレゴリオンリープだっけな、
まあとにかくグレゴリオ歴、ユリウス歴とかいう使い分けをRubyが組み込みで実装してっていうのは。
juneboku
へー、ほんとだ。
びっくりしました。
ありますね。
得意メソッドでグレゴリオンリープとジュリオンリープがありますね。
yuta25
ありますね、そうそう。
知らんなー。
さすがにそこまではいいかなと。
juneboku
うん、確かにな。
まあ、僕はそもそもグレゴリオン歴とユリウス歴の違いを説明しろって言われたらできない。
わかんない。
わかってない。
必要にならないと調べない。
yuta25
あたかも知ってますみたいに書くのもね、難しいかな。
juneboku
でもインスタンスメソッドの方にはグレゴリアンとかがあるんですね。知らなかったな。
そうか、じゃあデイトークラスのインスタンス作られる時点で、ユリウスかグレゴリアンか情報持ってるってことですね、インスタンスがね。
yuta25
そうそう。使う人いるんすかね、そのユリウス。あれユリウスですよね。
24:00
juneboku
ユリウス、そうそう。
yuta25
多分日本カタカナ表記書でユリウスになるんでしょうね、このジュリアンが。
juneboku
すごいですね。
そっか、これも知らなかったやつ。あとは、あと最後かな。
あとね、僕、これ読んで気づいたのが、僕、Rubyでトムルファイルをパースしたことないんだなってことに気づきました。
yuta25
これは僕もないですね。
juneboku
YAMLとかJSONは散々パースするけど、トムルって僕、語言語で何か書いてるときにトムルパースすることはまあまああるなって思うんですけど、
あ、なんかRubyとトムルって自分の中で距離遠かったと思いましたね。
yuta25
まあやっぱYAMLがめちゃくちゃ強い。
YAMLってそもそもRubyのためのあれですよね、フォーマット。
juneboku
え、そうなの?
yuta25
いや、わかんない。
juneboku
YAMLってどこ生まれなんでしょうね。
yuta25
でも、RubyだったらYAML使いますよねって感じはしますよね。組み込みでライブラリもあるし。
あるし。
で、Webの技術ではJSON使うから、わざわざトムル使うってまあよっぽどトムル好きとかになりますよね。
でもそんなこと言ってるのかちょっとわかんないけど。
juneboku
まあ何でもいいっちゃ何でもいい。トムルでもYAMLでも僕は語に入れば語に従うぐらいの、特にそんなにどっちが好きとかもなかったから。
でもトムルのパースの話があって、その場合は全部使うんだっていうのが発見でしたね。
yuta25
そうですね。
juneboku
何だっけ、パーフェクトトムルだっけ。
yuta25
パーフェクトトムル、そうですそうです。
まあいろいろあるんですけどね。パーフェクトトムルでいいかみたいな感じで、そんな深く考えずに選びました、パーフェクトトムルは。
juneboku
トムル、そっか、244ですね。パーフェクトトムル、パース。
まあだいたいこういうの、パースとダンプとかあとトゥートムルみたいなのがあるんだろうなっていう感じだな。
yuta25
パーフェクトトムルはね、まめさんっていう。
juneboku
あ、コミッターの?
yuta25
そうです。
juneboku
遠藤さん。
遠藤さんの個人リポジトリなんですよね。
yuta25
それもこれでいいのかなみたいな、なんか不安?みたいなのあったけど、一番出来が良さそうだからこれかなって感じでした。
juneboku
あ、本当だ。GitHubのリポジトリのURLにもあった。まめすらパーフェクトトムルでした。
そっかそっか。なるほど。こんな感じですね。
27:00
juneboku
僕が、えー知らなかったっていうのは今述べたあたりですかね。
あとは、僕は知ってたけど大事だなって思ったのが、47の、なんていうのこれ。ニルガードみたいな。
yuta25
セーフナビゲーションオペレーター。
juneboku
あーそうだ、セーフナビゲーション。これが日本語圏ではぼっち演算子とも呼ばれることがありますよっていうのは、こういうのは知ってる人から聞くとかしないと自分からは絶対に出てこない言葉だから、こういうのがちゃんと日本語で解説されてるっていうのはコミュニティにとってすごい大事だろうなって思いましたね。
yuta25
そうですよね。僕も、ぼっち演算子って、僕が言葉で口頭で使ってるの聞いてたけど、僕はピリオドがポッチだと思ってたんですね。
juneboku
あーなるほど、はいはいはい。
yuta25
そうそうそうそう。なんかポチとかポッチみたいな言い方するかなと思って。それでぼっち演算子だと思ってたんですけど。
juneboku
えー、音から入ったんだ。
yuta25
一人ぼっちのぼっちから来てるって。
juneboku
そうそうそう、アローンのね、なんかこう座って石いじってるみたいなそういうやつ。
こういうのは知らない人からすると、へーって感じですね。なんかあんまりオフィシャルなドキュメントっていうのはもうちょっとカジュアルなドキュメントに記されてる系だと思うので。
yuta25
うんうん。
juneboku
ちょっと前まではアクティブサポートのオブジェクトトライでやってたやつですよね。
yuta25
はいはい。これもね、そのRubyのなんかおもしろいユーモア、Rubyコミュニティのユーモアみたいなのを誰かが言ってましたね。
うん。
これを一人ぼっちのぼっちで表すみたいな。
juneboku
そうそうそう。
yuta25
あんまり個人的には多用しない方がいいんじゃないかっていう気持ちを。
juneboku
まあまあね。
yuta25
結構セーフナビゲーションオペレーターって長いけど、そういうことが多いかな。
juneboku
はいはいはい。いやそうそう。
yuta25
でも親しみやすさみたいなのを最初感じてもらうにはそういいと思いますね。
juneboku
確かに。コードレビューとかでレビューコメント書くときはセーフナビゲーションオペレーターってニルに備えといた方がいいですかねぐらいの書き方をすると思うけど、
フェアプロ中に口頭では言うかも。
言うかも。
そういう感じ。ぬるぽぐらいの気持ち。
yuta25
確かに。
juneboku
あんま積極的に文章にはぬるぽって書かないけど、口頭ではこれぬるぽ出るかもね。
yuta25
口頭表現のね、おもしろさ、かわいさみたいなの大事かもしれないかもね。
30:01
juneboku
ね、口語として会話の道具としてはいいかもなと思いましたね。
yuta25
はい。
juneboku
そんな感じかな。で、全体読んでザザッと読んで、僕も気づけばね、15年とか、ルビーを日常的に書くなって15年ぐらい経つので、
正直、前半のほうは、おそらく自分は対象読者というよりは著者たちに近い、現在地はそうかなと思いつつ読んだんですけど、
手に取るときの感じはですね、観光ガイドに近いなと思いました。そんな印象で読みましたね。
yuta25
はいはいはい。
juneboku
うん、なんで、例えば僕、約1年半前に長野県松本市に引っ越してきたんですけど、
うんうん。
来たら、まずJALANとかベタナー観光ガイドの本、1冊買うんですよ、まず。
yuta25
うん。
juneboku
で、見て、ここにこういう景色があるよとか、ここにこういう名物グルメがあるよっていうのがザッと載ってて、
やっぱり最初ってこう、何でどう検索していいかがわかんないから、
そういうある程度こう、キュレーションされた編集者が入ってる情報を、とっかかりにいろんなとこ見に行って、
で、わかってきて、もっとこういうのないのかなってなったら、ようやく自分でこう検索したりとか、
能動的なサーチっていうのができるようになるんだけど、そこに行くまでには、その観光ガイドブックみたいなのがあるとすごくよくて、
yuta25
うんうん。
juneboku
だからやっぱりRuby、Ruby書くようになって1年、2年ぐらいの人が、とりあえず一旦これされて、読み物として目次パッと見て、
なんか順番に見てて、ああ、これは自分の頭の中でRubyのコード浮かぶなみたいなやつはそれで全然よくて、
うんうん。
うん、これってなんか1記事になる、1レシピになるんだって思う、なんかうんって思うものがあったら読んで、
読んで、あ、へえ知らなかったとか、あ、もうちょっと周り駆属やってたわみたいなのが知れると、
うん、なんかよりRubyと仲良くなって楽しくなるんじゃないかなと思いました。
yuta25
ありがとうございます。
juneboku
うん。
yuta25
でもまさに僕は、まあ出してからだけど、そのディスクガイドみたいだなって思いましたね。
juneboku
うーん、なるほど。
あのCDとか。
はいはいはいはい。
yuta25
まあ、同じ感じです。
juneboku
そうそうそう。
yuta25
何にもわかんないから。
juneboku
うん。
yuta25
あると、で、いつか聞くかもなーとか思いながらでも1回パラパラ全部。
はいはいはいはい。
うん。
juneboku
一旦ね、目次眺めておくのはすごくお勧めできると思いましたね。
yuta25
ありがとうございます。
僕、あの、ポッドキャストでインタビュー撮ろうって言われてから、
33:02
yuta25
はい。
あの、じゅんさんの昔のワクワクRubyガイドだっけな。
juneboku
ああ、連載。
yuta25
連載をね、見たんです。
juneboku
はい。
yuta25
似たようなことがあったかなって思いました。
そのRuby1.9の。
juneboku
1.9の時でしたよね。
そうそう。
yuta25
うん。
juneboku
それあるんだよな。
なんか、やっぱり手癖でもやってる人は新しいのをチェックしないがちになるから。
yuta25
うんうん。
juneboku
それはいいですよね。
別に今まで通りのコードでも動くけど、
あ、1.9ならもっとスマートにできるんだっていうのは見つかったらいいなと思って書いた覚えがありますね、当時ね。
2009年とかじゃない?
yuta25
2011って書いてありました。
juneboku
あ、2011か。
うん。
あ、2011か。あ、そっかそっか。
いやもう13年前とか。怖い、怖いですね。
yuta25
いや結構ね、覚醒の感ありましたね。
AS3とか。
juneboku
そうですよね。そうそうそうそう。
そうだよね、3、うん。
最近なんかすんごい大きな変更はないけど、着実に良くなってるんだなっていうのが分かるのおもしろいですね。
あとあれか、ショートハンドシンタックスとかか。
yuta25
最近レシピに載ってたかな?
juneboku
ショートハンドシンタックスの話ありましたね。
あれは僕は自力では知らなかったんだけど、
ユータさんと一緒にコード書いたりコードレビューしてもらってるときにユータさんから知ったって感じだな、あの辺は。
yuta25
それ多分今もしレールズニューとかしたら、
そのRubocopのおまかせルールみたいのが入って、
勝手に直されちゃう気がしますね、今のレールズニューだったら。
juneboku
7.2以降はそうかも。
7.2でレールズニューすると結構ビビるからな。
yuta25
うんうん。
juneboku
いろいろ入ってる最初っから。
だんだん、なんていうか、もともとのレールズイズおまかせって言ってた、いつだ?レールズ3ぐらいのときかな。
あのときの雰囲気がちょっと戻ってきていて、おもしろいですよね、最近の。
yuta25
おまかせってワードはそのときからあったんだ。
juneboku
いつだっけな、レールズイズおまかせってあれ、いつだろうな。
あるときに出たんですよね。
あ、2012年とかかな、DHHのブログが出てきて。
2012年の年末頃にDHHがレールズイズおまかせって記事書いてて、
これレールズ何のとき?
yuta25
3か4じゃないですか。3な気がするな。
juneboku
3が結構エポックメイキングだったんだよな。3ってすごいでかい変更入ってるんだよな。
36:01
yuta25
それ、そう、連載読んで分かりました。
JQueryコーヒースクリプト、バンドラーじゃないな、アセットパイプラインか。
juneboku
しかもすごいのはレールズ3があれなんですよ、MARVと統合されてリソースルーティングとかがガッツリ入ったんですよね、2から3になるときに。
今のroot rbの原型みたいなのは確かレールズ3のときで。
レールズ3.1でアセットパイプライン入ったんですよね。
1.1で入る大きさじゃないだろうみたいなのが。
yuta25
レールズってそうなんですよね。1.1で割とでかい変更が来るんですよね。
juneboku
そうそう。コーヒースクリプトとかね、当時ね。すごいですよね。
いやでも今いろんな現場でコーヒースクリプト剥がしをやってるところもこれも隠せるかな。
推奨してましたね、でも。
すごい便利じゃんみたいな。
yuta25
便利便利。
juneboku
最高じゃん。コーヒースクリプト自体はいいですからね。
それでUI組むのは大変だけれども、プログラミング言語のソースコードの内面みたいなところではおもしろかった、当時も。
今はJavaScriptのほうがだいぶそのままでもスラスラ書けることが増えましたけどね。やりましたね。
はい、というわけで、この本は対象読書、僕はやっぱりRuby半年くらい書いてる人かな。
なんか書きたいこと書けるけど、もうちょっとスラスラ書きたいみたいな人にはいいんじゃないかな。
こういういろんな、あ、こんなのあるんだっていうの知っとくといろいろできそうだな。
yuta25
そうですね。
なんか、そうそう、完全なこれからプログラミング始めますみたいな人は、
割と対象、一応その環境構築とか、最初のほう触れてるんですけど、
juneboku
確かに、RGMとかね。
yuta25
そんなにがっつり対象にしてはいないんですよね。
ちょっとRuby始めた人とか、他の言語には習熟してて、
Rubyは初めて見た人とかは多分、目次ぱらぱらしてみたりすると、なんか楽しいかもしれない。
juneboku
ね。いや、そう思いますね。
そして改めてね、Rubyの本体というか、本体のストリング、アレイ、カッシュ、ファイル、デートあたりの充実っぷりに、
久しぶりにそうだよなって、Rubyってこの辺が本体が充実してるような、
だいたいちょろっとしたスクリプト、書き捨てのスクリプトを書くときにやりたい文字列とか、
ファイルをどうこうして一括でこうするとか、こういうときに必要な道具がだいぶ揃ってて、
39:04
juneboku
これがいいんだよなっていうのを改めて思いました。
yuta25
そうですね。
juneboku
後半はアプリケーション開発みたいな感じでしょうね。
yuta25
うんうん。
juneboku
よく290レシピも載せましたね。
これはどうやってこの数になったんですか?
yuta25
どうやってかな。最初300あったかもしれないですね。
あ、なんとなく300ぐらいにしようみたいな。他のシリーズがそうなのかしら。
juneboku
そうだと思います。多分、そうですね。他のシリーズをベースに考えてたと思うんで。
確かに。Pythonコードレシピ集が302で、JavaScriptコードレシピ集が278だから、
まあ、なんとなく300ぐらいあるといいっていう感じか。
そうですね。
でも、Ruby3.1、3.2、3.3って出たことで書けたレシピもあるから、
まあ、これは3年ぐらいかけて書かれる本だったのかもな。
確かにね。減ったり増えたりした気がしますね。
yuta25
書くことによって増えたり。
文章とかベースは結構もう、最初の1年ぐらいで割と書いたのかな。一生懸命。
へえ。
だから、実行結果とか書いたやつが、今最新だとなんかバグってるみたいなやつとかもあったよね。
そう。そういうのも大変でしたね。
今これ動かないじゃんみたいな。
juneboku
怖い。
いやでも、3.4出たらまた環境が変わるからね。これ難しいですよね、本当にね。
yuta25
うーん。
juneboku
まあでも、だからこそ多分これ3年に1回ぐらい出るといいんだよな、こういう本。
yuta25
うんうん。まあ大変ですけどね。
juneboku
大変だよね。
yuta25
改訂とかさせてもらえたらいいのかもしれないですね。
juneboku
まあ確かにね、Ruby3.、まあ3.4だとそこまで変わらないと思うけど、
まあちょっと、分かんない、Ruby4とか出た時にはちょっと見直して、Ruby4対応とかしたやつが、ちょっと手直ししたやつとかが出ると、
Ruby業界的にはすごいいいなと思いました。
yuta25
確かに。
juneboku
いや、いいですね。いやいやいや、よかったです。著者インタビューっていうのをやってみました。
yuta25
ありがとうございます。なんかメモにある、他のちょっとしたメモとか、観光ガイドってやつがこれなんですか?
juneboku
あ、これは、この本の独語感が、独語感っていうかめくってる時の気持ちが、
42:05
juneboku
あ、ジャランな話か。
そうそう、新しい場所に引っ越した時に一冊買う時の気分だなって思ったんで、
あ、これはなんかそういう言い方、紹介の仕方できるといいなと思ってね、メモしましたね。
あとメモで、今喋ってないのは集合のとこだな、セットのとこだな、97か。
yuta25
これね、僕もメモを見て気になって調べたんですよね。
juneboku
うん。
yuta25
集合のとこで本では、ベンズが重なってる部分、ベンズで書いたら重なる部分を共通部分って書いてあるんですよね。
でもその重なってないとことかは左集合とか。
juneboku
そう、和集合、左集合っていう言葉を使ってるけど、この本では赤集合という言葉はなんか出さないように説明していて、
あれ、なんだっけって思った。
yuta25
これはですね、僕も調べたんですけど、赤集合っていうこともあるらしいんですが、
集合の直席っていうのがあって、
juneboku
あー直席、はいはいはい。
yuta25
直席のことを赤集合っていうこともあるらしくて、紛らわしいんですよね。
juneboku
左集合、左集合ほどビビった概念じゃないか。
yuta25
明確ではない、そうなんです。
juneboku
多分これは僕側が理解できてない要因があってこうなってんだろうなって思ってね、読んでて、
ん?って思いながら読みましたね。
yuta25
これは僕もさっき調べて勉強になりました。
juneboku
あと小集合ってのもあるんですね。
ワーサー、ショーは出てくるけど席が出てこないから、
なんかの事情があるんだろうなって思ったんだよな。
おもしろいですね。
yuta25
これも多分レビューとかもしてるんですけど、
その時にもレビューして調べて、
あ、共通部分の方が明確だからこっちなんだなみたいな。
そこで多分腹打ちしてるんですよね、きっと。
juneboku
でしょうかね、レビュー撮ってるから。
そうそう。
これは、いや、なんかそうだろうなって。
いや、席集合っていう、この執筆の過程でその言葉が一度も出てこなかったわけはないなと思いながら読んだんで。
はい。
集合論。
集合論の方の知識が僕の方に足りてなかった。いやおもしろかったですよ、ここも。
yuta25
集合をね、セットたまに使うんだよな。
juneboku
ほとんどのファイアレイで済むんだけど、セットたまに使うんだよな。
yuta25
使えますね、セット。
juneboku
うんうんうんうん。
いや、おもしろいですね。
はい。
これで、そうか、一応読みながら撮ったメモに書いたことは多分一通り消化できたんじゃないかな。
45:04
yuta25
ありがとうございます。
juneboku
はい。
いや、よかったです。
じゃあ、Rubyコードレシピ集、技術評論者さんから2024年8月26日かな、出版となりまして、
僕も一冊ね、送っていただいたんで、読んで、この本を広める、お手伝いしたいと思って、
著者の一人の板倉優太さんをお呼びして喋ってみました。
yuta25
ありがとうございます。
いや、僕もね、他の二人はブログとか書いてるんですけど、僕だけ書いてないから。
ひけ目とかもあるかもしれない。
juneboku
ちょっとでもお手伝いできて嬉しいです。
いや、よかったです。
はい。
純木生活で急にすごいプログラミングの話をしました。
yuta25
確かに。確かに一番、こんななんかテックポッドキャストみたいな。
juneboku
いいんじゃないですか。
yuta25
いいんですか?
juneboku
いや、いいんですよ。もう僕が喋ってればOKっていうぐらいのレギュレーション。
yuta25
DSラジオから来た人は急に聞いて。
juneboku
いやいや、これもまあ働き者な感じで、これはこれで。
それはそうっすね。
いや、ありがとうございます。別にこの話嫌いなわけじゃなくて、したくないわけでは全然ないので。
そういう話ができたのもね、よかったですね。
なんか誰かが、なんかRubyのポッドキャストあったらいいじゃんみたいな話もあったりして、会話。
yuta25
そうですね、確かに。
juneboku
がっつりRubyの話だけをするポッドキャストあっても全然よくない。
yuta25
ありそうですけどね。
juneboku
日本語で。で、全然、なんか日本語でね、コミッターの話とかも聞ける国だから。
全然あったり。なんか誰かが準備してるのかな。
なんか始まりそうな噂を聞いたことはあるが、ちょっと実際どうかわからないけど、
なんかそういうのがあると、あ、次のバージョンでこういうの入るんだみたいなのも、
もうちょっとカジュアルにキャッチできておもしろいかもしれない。
いや、いいですね。Rubyの話をしてみました。
ポッドキャストでこういう話をするのもいいですね。
yuta25
よかったです。そう言ってもらえて。
juneboku
というわけで、今回は著者の一人、板倉優太さんをお招きして、
Rubyコードレシピ集のお話をしてみました。
ここまで聞いていただいてありがとうございました。
優太さん、ありがとうございました。
yuta25
ありがとうございました。
juneboku
どうも。
yuta25
どうも。
47:38

Comments

Scroll