日常

ケ・セラ・セラ

(き27 どらやきもなか)技術書典4にサークル参加しました #技術書典

サークル どらやきもなか として技術書典4 に参加して、新刊 "Fast Code for Ruby" と、神速さんの "Clean Code for Rails" を委託で頒布しました。

techbookfest.org

今回は 13 時を過ぎた頃、最高のタイミングで、神速さんの "Clean Code for Rails" と共に完売となりました。みなさま本当にありがとうございました。

f:id:at284km:20180424161428j:plain

だいたい、言いたいことは全てあとがきに詰まっていた感じなので、あとがきをペタッと貼りますね。(実は、最後の最後、寝てるのか寝ていないのかみたいな境地でこのあとがきは書かれていたので、後から見て、なるほどこういうことを最後に書き残したのだなと自分で把握しました...。)

= あとがき

初めての同人誌制作を終えて、ほっとした気持ちがあったり、反省点も多かったり(特にスケジューリングに関する)、やり方をひととおり覚えたので、次は今回よりも良いものにしたいという気持ちが湧いていたり、とにかく寝たかったり...。

正直なところ、もっと書きたかったことがあった。特に MRI の実装のことなんですけれど、全然間に合いませんでした...。ごめんなさいm(_ _)m。

今回、自分で実際に同人誌制作のひととおりのプロセスを辿ることによって、8ページ毎に印刷料金の壁があるのだなとか、最終的に何が揃っていれば完了できるのかとか、表紙のことや電子版の配布をするとしたらどうすれば良いかとか、入稿のやり方とか、学びがたくさんあった。とにかくやってみて良かったです。実際にやることにより、自分が何が出来て、何が出来なかったかは明らかになりました。

それと、気軽に本を書いて良いんだよということをこれで自分で示せたのではないかと思います。凄くなくても良くて、ハードル上げなくてもよくて、自分の好きなことを自由に書いて良いんですよと、そういうことを示せたら良いなと思っていたのでした。そんな風に、気軽に自分の好きな内容で本を書く方が増えたらおもしろいじゃないですか。買いに行きたい。

最後になりますが今回、技術書典4 での活動において、多くのアドバイスやサポートをしてくれた @sinsoku さん、@youchan さん、しんどい時に、本買いにいきますね!と声をかけて元気を与えてくれたいつも優しいパーソン達には、特に感謝しています。ありがとうございました。

次回がある予定ですが、内容は未定です。 今回よりも一つ以上の改善を加えたものを作れるようにしたいです。

完売後にも、買いたかったと言ってくれる方がたくさんいて非常にありがたいです。 そこで電子版についても少し考えてみたのですが、今回は電子版は出さずに、技術書典4 で頒布した紙の本のみとしたいと思います。電子版買います!と言ってくれた方々にはごめんなさい。

そうする理由ですが、そういうのも同人誌の良さだったりするじゃないですか?? わりとあの世界観が好きなんですよ。 それと、自分自身の興味としてはもう次のものに移ってしまっていたりもするので、何らかの次のアウトプットで今回より良いものを見せられたらなという気持ちの方が強いのです。

あと、名前は分からないんですが、よく会うから知っています!!という方もたくさん買ってくれたのですが、そこで twitter id とか聞いておけば良かったんだよなと、後になって思ったりしました。何故そうしなかったのか。

最後に、今回ねこのしっぽさんに大変お世話になりまして、実は入稿チャレンジに一度失敗しているんですが、ギリギリになって入稿したにも関わらず、また、全然知識の足りていない状態の人間に、非常に親切に説明、対応をしてくれたおかげで無事に当日を迎えることが出来ました。次のために、それら情報を簡単にまとめておきたいと思います。

  • 表紙
    • 同人誌の申込がB5サイズだが、データのサイズがA4
      • (B5サイズに縮小して頂き、見え方も大丈夫だったが、次は気をつけよう)
  • 表紙、裏表紙ともレイヤーが複数残っている

    • (次回は結合して入稿します...!!)
  • 本文

    • 印刷作業に本文の通しのノンブルが必要となる
      • (次回以降可能なら通しで入れる)
  • 目次
    • 目次ページと「第一章」の間の白紙は、仕様で大丈夫ですか?
      • (これなんで空白ページができちゃうかなあ?? 調べて直したい)
      • 目次の文字が赤色で出来ております。
    • 1色に落として作業を行いますが、その際赤色はグレー(おおよそ K62%程)になります。
      • (全然気にしていなかった...。見え方は大丈夫だったが、次回再考する)
    • 文字がグレーの枠よりはみ出ている
    • データ上のノンブル13P目、綴じ口ギリギリに文字があり糊で閉じた際、見えづらくなりそう
      • (最後の方、細かい調整をする時間を作ろう...!!)
  • その他
    • 神速さんが買ってきてくれた 100 円と、500 円のコインケース、お札を止めておくためのクリップがとても便利だった
    • 見本誌を置く良い感じの台があったらほしい。
    • いい感じの POP とか用意できたら便利だよね

スタッフのみなさま、お疲れ様でした。ありがとうございました。

それではまた次回。

railsdm 2018 esa LT大会(\( ⁰⊖⁰)/) に飛び入ってきた #railsdm

docs.esa.io

頂いたステッカーを Mac に貼ったり、

からあげ弁当をおいしくいただいたり、

esa が好きなみなさんのトークを楽しく聴いたり、

いつもお世話になっている esa に感謝の LT などをした。

なぜか飛び入り LT の asakusa.rb っぽい人率がかなり高かった。

speakerdeck.com

沖縄 RubyKaigi 02 で Ruby の速いコードについて話してきました #okrk02

3/9 の 14:30 頃沖縄に着き、 3/11 の 19:15 の便で帰ってきました。沖縄、大変よかった。

ruby.okinawa

speakerdeck.com

話したこと

Ruby で速いコードを書く時に考えることを中心に、ベンチマーカーである benchmark_driver が良いという紹介と、ベンチマーク結果を元に、何故実行速度に差がでるのか、その追い方について話してきました。

benchmark_driver の好きな部分は大きくは 2 つあって、以下のものです。その他にも benchmark-ips と比較して改善ポイントがあるので、気になる方は READMEk0kubun さんの記事 を見てみると良いと思います。

  • 複数の指定した処理系の比較結果を得ることができる (x.rbenv '2.4.3', '2.5.0' のように)
  • 結果の出力形式を指定することができる(:markdown, :memory とか)

github.com

舞台裏的なはなし

難しかったのは、どこに焦点を合わせた内容にするかというところで、発表内容を考える時に悩みました。安定したベンチマークを取るための実行環境の話なども用意していたのですが、そこはバッサリと削りました。 また、一つ一つの Ruby の実装を詳細に追っていくよりも、よくある (と思っている) 数パターンの見方を説明した方が、そこから興味のある方は潜っていけるだろう。と、実はそういう選択をしていました。

今回、発表資料に自分で撮った首里城の写真を入れたいなという、謎のこだわりがあったのですが、スライド2枚目の首里城の画像は実際には発表後の 3/11 に行って撮ったものです。ちょうど人が映らない一瞬の隙を突いて撮れた会心の一枚です。 では発表時点ではどうしていたかというと、hsbt さんの日記に良い写真があることを知っていたので、一時的にお借りしたのでした。という裏話があったりします。

www.hsbt.org

お疲れ様でした。ありがとうございました。

沖縄 Ruby 会議 02 が開催されたことで、これまで会ったことのなかった Rubyist と色々な話をすることができました。特に、そんなことできるの...!!?? みたいな驚きのあるコードが次から次へと出てくる okinawarb の方々を知ることが出来たのは衝撃でした。

運営に携わった方々をはじめ、みなさんありがとうございました。沖縄 Ruby 会議 03 にはまた参加したいですね。

技術書典4に申し込んだ

こんにちは。暫くぶりです。思いつきで書く気になりました。

一昨日、明日締め切りだと気付いて考え始め、サークル名がなかなか決まらなくて、昨日やっと技術書典4 に申し込んだ。時系列の難しい文章になった。

動機は、技術書典で技術書を出してみたいというのが先にあって、今回まずそれをやってみようと思ったことがひとつ。 もうひとつあって、いくつか調べて知りたいことがあるのだけれど、どれもいまいち進んでいない。そこで、技術書典に申し込めばきっとそれをやることになるだろう。と、良い具合に進むことを期待してというのがあります。イベント駆動です。

内容は現在 4 パターンで迷っていて、申込み時点では以下の内容にした。

Ruby でプログラミングしていると、同様の結果を得ることのできる複数の書き方が頭に浮かぶことがあります。そこで、より速い Ruby のコードを書くためのイディオムを、ベンチマーク、速さの理由である実装の解説を添えて紹介します。

その他、最近やっていることなどから書けそうかなあと考えているネタは以下のようなものがある。まだ全然、どうなるか分からない。

そもそもまだ何も決まっていない。当落も未確定なので、もし当選したらまた続きを考えたい。

Rails / OSS パッチ会 11月 に参加してきた

Rails / OSS パッチ会 11月 に参加してきた。

参加したきっかけは、koic さんがお気軽にどうぞ。と書いてくれていたことだった。その言葉通り、お気軽に参加させて頂いたという感じです。とても尊い活動がオープンになったと思っていて、感謝しかない。このような会を開いてくれている永和さん(koic さん)ありがたし。

当日のことを書こうと思う。

まずは会の最初に、今日やる予定を発言した。

  • 最近仕事でも使っててよくコード読んでいる graphql-ruby にパッチを送ること
  • pundit で、jruby 1.7 を CI 対象から外そうというぷるりくを送っていたりしたが、jruby について対して知らないという背景があり、jruby に関しても精力的に活動してくれている(以下リンクなど) koic さんに最近の状況を聞こうという目的もあった。そして実際にそれは相談することができた。具体的には以下の辺りのことを見て聞こうと思っていたのです。そして良い助言を頂けたのでありがたかった。
  • jruby の話を koic さんに聞いてから、jruby のテストコードを確認していたところ、test_util.rb に typo を見つけた。しかし、その typo しているメソッド自体がどうやらどこからも参照されていないようだ。そういうわけで、テストさえパスすればこのメソッドは削除してしまっても構わないだろう。というパッチを送ろうと試みた。
    • まずは公式ページを見つつ java やら maven やら必要なものを install して、jruby のテストを実行することからスタートだ。と思ったが、どうにか install は終えたものの、テストが 1h ほど経っても終わらない。困った。その間に見かけた、build のやり方を説明する document に typo を見つけたので、そちらはぷるりくしたものの、本来目的としていた作業までは達成できず。今日出来た部分はそれで良かった。時間内に出来なかった部分は、明日あたり、テストが流れたら続きをやろうということで会を終えた。

作業中には、松田さんとヤギヌマさんが終始、Rails にまつわる興味深い話を展開しており、なんて僕得なんだろうと思って作業しつつ聴いていて、大変楽しかったのでした。

その後は懇親会へ。大変良い話が出来たり、joker さんも加わってくれたりして、とても楽しい時間が過ごせた。

この様な素晴らしい会を open にして、実施してくれた永和さん、koic さんに本当に感謝である。

表参道.rb #28 ~gem~ にいってきた & しゃべってきた

前回、brainfck の ruby 実装をやってみた。というネタをやったわけですが、今回は gem というテーマでして、そこで前回書いたコードをもう少し汎用化し、brainfck 亜種言語 generator を作って、その発表をしてきたのでした。

https://284km.github.io/slides/20171109_omotesandorb28/slides/#/ https://github.com/284km/gen_brain

今回の omotesandorb の圧倒的な特徴としては、LT 枠が 7/7 (全部埋まっている...!!!) ということでしょう。これは尊い

会の後は、懇親会で Rails 談義をして大変盛り上がりました。とても楽しい時間が過ごせました。grooves さん、神速さん、どうもありがとうございました。

Shinjuku.rb #54 言語のしくみ にいってきた & しゃべってきた

"いってきた & しゃべってきた" というのはモリスさんのブログの表現を今回パクってみたわけだが、別にどうでもよいだろう。

今回の shinjuku.rb では、言語のしくみというテーマなのだから、snjk 言語を作って、それを発表できたら良かったのだがどうにも間に合わず、2年前に書いた nira というコードについての解説を主とした発表をしたのであった。

bison & flex を使って書いてみたものである。2年前、きっと暇だったんだろうな。などと感慨深く思いながら、発表のためにコードを読み返したりなどしたものである。

https://github.com/284km/nira

itkr さんが主に今回の発表テーマを決めてくれて、東京 rubyist meeetup の場で、treby さんが何気なく話を降ってくれたので、なるほど、じゃあ発表します。という感じに発表機会が生まれたのです。そういった偶然は行動する彼らのお陰で生まれているのです。尊い。ありがとうございます。m(_ _)m