beatmania IIDX 30 RESIDENT まとめ

今年もこっちに書くか。去年は以下のとおり。 uvb-76.hatenablog.com

ステ

今作はDPの頻度を上げたのでFlashesが越せました。単曲のクリアの仕方やスコアは伸びつつあるけど、地力はまだ昔のほうがあったのでまだまだがんばりましょう。

これ見る感じ両皆伝400人もいなさそうなので、これ取ることができたら大体プレイ人口の1%未満(カード通しているのが5万人強だったはず)ということでまあまあな希少価値はあるでしょう。皆伝とってないけどうまい人はもちろんいるので、これは取得している人数自体に希少価値があるという価値観の前提を持ったうえでの考えだけども。

行脚

年末広島と北海道、RubyKaigiで松本とRails Girlsで鹿児島。

とりあえず直近の予定として島根沖縄は予定にあるので上陸してどうにか行脚つけたい。歳食ったのでこんなコンテンツでゆるゆる遊ぶ人間になってしまった。鍵盤と向き合え。

ちなみにRootageからの記録はこれ。埼玉いまだに行脚ついていないのちょっと面白い。

SPマイベスト

相変わらずのエクハ狙い。前作よりは偏りなくなったか。これも単純にDPの回数が増えたからかもしれない。

タワー

感謝の353万打鍵。

いい曲

IIDX知らない人がこれ読んでるかわからんけど、いい曲って言いながらここでいい感じに紹介できないのがあれなので現場に行くかインターネットするかサントラの購入をご検討ください。今作は珍しくボーカル曲がドストライクだった。

  • Ruler or Loser
  • CUE CUE RESCUE
  • 真夜中のバベル
  • 楽園追放
  • Chaotoxin
  • Peaktime Booster
  • Somnidiscotheque

☆12

AAA鳥は111曲らしい。やってないわりには数は維持できている。

リアランプは未難1(黒イカ)、未エクハ53くらい、やってないの数曲。今作のバケモン枠であるビヨエボとSomnidiscothequeにハード付いたので十分でしょう。新曲未エクハよりもエクハランプついているのは喜ばしいことか。

嬉しかった

The Limbo鳥はもう二度と鳥出る気がしない。

リアランプ的にはエキドナ、エレクリ、3y3sのエクハがでかいかなあ。

それでは

次回作でもお会いしましょう。 4214-8644 です。ライバル登録はいつでもお待ちしております。

ブラウザのDevToolでどのコードがタグを挿入したかを特定する

あるんだろうなーって思っていただけでちゃんと調べずに生きてきたけど、ちゃんとあったので記録する。

結論

ドキュメントを読みましょう。Chromeであれば Pause your code with breakpoints - Chrome Developers を読むと良い。

やりたかっこと

自分の知らないところで見知らぬタグが head 要素に挿入されていた。どっかのコードでappendChildなりされているんだろうなってことはわかるが、どのコードが挿入しようとしているのか特定したかった。

方法

ブラウザのDevToolで監視したい要素に対して右クリック→「Break On (ブレークポイントの位置)」→「subtree modifications(サブツリーの変更)」を選択するだけ。

これで、選択した要素以下で変更が走ったときに止まってくれるので、そのファイル名を確認すると良い。


ソースコードブレークポイントのことしか知らなかったので、もっと早く調べておけばよかったって本当に思う。

RubyKaigi 2023に参加した

Untitled

参加した。尚、今回も所属しているGMOペパボ株式会社から旅費宿泊費チケット代の全額補助を受けて参加しています。*1

以下記録。色々混ぜたらだいぶ長くなった。

rubykaigi.org

< Day 0

予習

今年も社のランチタイムに参加者をターゲットにしてスケジュールを流し読みしながら発表する人の話やその内容についてしゃべる会を開いた。予習はしたほうがお得なので。流した感じparse.y、wasm、RBSあたりのセッションが多そうだったので、聞く内容もそれらを中心にしようと決めた。

また、Shibuya.rb RubyKaigi 2023 前夜祭 @GMO Yours・フクラスにも参加し、Kaigiの楽しみ方や開催されるイベントについて情報を得た。

自己紹介

今年は他社との交流を広げたいな〜という気持ちがあり、ちょっとだけ動いた。

前夜祭で、 @june29 さんがブランクのNFCカードにbento.meの自己紹介ペライチを書き込んでスマホでかざすだけでabout meを実現させていたので、自分も1枚もらって設定した。あとSUZURIでアイコンのアクキー作ったり、去年印刷したTwitterアイコンを使いまわして人間とインターネットが一致しやすくなるよう努めたつもり。イベント現地でもネットプリントでL版印刷するとアイコンの厚紙が手に入って便利。

ハウス

RubyKaigi 2022が終わった日の伊勢に向かう電車の中でAirbnbの一棟貸の宿を予約した。やる気ときまぐれでキャンセルすればいいかくらいの気持ちでいたけど、なんだかんだ会社の人間とその関係者が集まり、合計5人で平和に過ごした。会場のすぐ裏だったので何かあっても気楽に戻れるのはよかったし、夜もPC置いてから懇親しに行けるのでとっても安心。なにより安い。風呂がボトルネックではあったけど、各々起床タイミングが異なっていたり、朝食のタイミングをずらすなどしたので困りはしなかった。

領収書周りで手間取ったけど社内についてはどうにか調整がついた。あれ主催が個人で参加者ごとに領収書発行するほかないよね?

印象に残ったものたち

セッション

Matz Keynote

Rubyの歴史の話。自分がRubyに触れたのは2013年ごろで、そのころは1.9か2.0だったはず。それよりも前のRubyに関する出来事が知れたのはよかった。「基本的なところにこだわる」をずっと続けてきたからブレることなく今のRubyがあるんだなあ。

The future vision of Ruby Parser

RubyはBisonというパーサージェネレーターを使ってparse.yからパーサーコードを出力しているんだけど、Bisonの代わりにruby/lramaというPure Rubyなパーサージェネレーターを作ったよ、という話。今回の話の中で一番影響を受けたと言っても過言ではない。

Implementing "++" operator, stepping into parse.y

Rubyに新しい構文を追加するためにはこんなことをすると良い、を示したお手本的なお話。圧倒的スライド枚数とテンポ良い話法で聴き入ってしまった。

Let's write RBS!

Railsアプリケーションのレベルでは型なくても良いと思っているけど、ドメインロジックのRubyコードだったら入れてもいいかもなあの気持ち。

Ruby Committers and The World

話についていけない自分に腹が立った。がんばろう。

Ruby vs Kickboxer - the state of MRuby, JRuby and CRuby

エンタメ枠として最高の発表だった。クライアントをどうやって実現するかについて多種多様な方法が提案されては却下されていくところに苦労を感じ取れた。Rubyist(iOSでmruby組み込んでスクリプトを動かせるようにしたやつ)が出てきたときは「そこまでやるか!」となって笑っていた。余談だけど、2日目にハックスペースで雑談していたら隣で発表者のお二人が「ハクシュシテクダサイ」「デモヲミタイヒトハイマスカ」のボイスの録音をしていて、それをちゃんとセッション内で使っていたのも印象に残っている。録音の光景を眺めてた時はこの人たちと気が付かなかったのだけれども。

LT

@asonasさんのrspec-daemonの話が良かった。時間あたりのテスト回す回数増やしたほうがいいのはそうだし、それ以上に元のアイディアを作った他の人のコードを良いと思って丁寧に相談してGemにするまでの流れが素敵だと感じた。

あとはUnexplored Region - parse.yも良くて、先にこっち聞いてからThe future vision of Ruby Parserに望みたかったねという気持ちがある。5000行なら読める気がするという勇気が持てたのはでかい。

会期中のあれこれ

マネーフォワードのブース

サンプルコードを題材に参加者が自由にコードレビューをする企画をブースでやっていた。題材がお金にまつわるコードで近いところを触ったことがある*2自分にとっては毎日楽しみにブースに通ってコードを眺めたり隣の人とこうじゃないですかね。という話をしていた。ブースに留まる時間を増やす企画としてとても素敵に感じた。

Untitled

Rubyメソッドかるた

永和システムマネジメントの方にいただいたので会期中に遊んだ。読み札に新しいバージョンのRubyにしかないメソッドが含まれていたり、最後まで聞かないと特定できない札があったりして楽しめた。拡張パック、あるいは次回作も期待しています。

八幡屋礒五郎

期待してたら本当に来たので最高。

シャッフルランチ、飲み

こういうのが有志で企画実施されるのが本当にいいところだよなって思う。

ハウス

@yancyaさんにハウスの募集ページリスペクトさせていただきておりますと直接お伝えできたのでよかった。

Matsumoto

ほんとにこれ。

Hakodate

Multiverse Rubyの発表者である @shioyama さんとお話しすることができた。去年のセッションでも発表されていて、生まれ育った函館在住ということをセッションで話されていたので親近感がわき、今年勇気を持ってShopifyのブースにいるところを英語で話しかけてみたら丁寧に日本語で対応いただいた…アフターパーティでも色々話すことができたのでとっても嬉しみ。その節はありがとうございました。

得られたもの

Rubyistとのつながり

過去にイベントで挨拶したことがある人たちや初めましての方々に改めて挨拶したり色々話せたので有意義であった。

英語やらんとなの焦り

Ruby Committers and The World含め英語のセッション雰囲気もわからんとなってしまったし、全然話せないし!流石にTOEIC鉛筆転がし他方が点数高いとかネタで言っている場合じゃない。

技術的貢献のモチベ

色々考え、技術的貢献の機運が高まった。コントリビュートなり外部登壇なりしていきたいね。

KaigiEffect

コンパイラ再入門

学生のころに受けていたコンパイラの教科書を手にとってもう一度読み始めた。 コンパイラ入門にメモを残し始めた。Bisonの使い方を学び始めた。

はずだったんだけど、RubyKaigi終わったあとから熱ちょこちょこ出して寝込んだりしてて(not COVID-19)仕事私用含め調子出なくてすべて吹き飛んでしまった…。今月にはいってようやく戻りつつあるのでrebootさせなきゃ。

Duolingo(英語)始める

ロシア語やってる場合じゃなかった。

生活の様子

以下会期本編とは関係のない行動ログ。

Day 0

会期中に松本観光や個人的に行きたいところ回る時間ないよなーと思って有休使って前乗りし、適当に散歩して城と酒屋とゲーセンを巡った。

三代澤酒店で日本酒試飲して、北安大国の夏酒が良さげだったので会期中に買おうとしたんだけど、結局買えずじまいとなった。

イオンの楽市楽座弐寺旧筐体はボタンと液晶からかつて下北に存在したエムエムランド左台では?と思ったけど、審議のほどは定かでない。アピナ南松本は行こうか迷ってたんだけど、音ゲーマーなrubyistが集まりつつある情報を聞いたのでタクシーに飛び乗り、活動の様子を眺めたりBPL DDRなどの話で盛り上がった。筐体前にあるテーブルの存在に地方のゲーセンを感じることができてよかった。駄弁りながら一日いれるタイプのゲーセンだった。

個人の用事を一通りこなした後で会場に入ってスポンサーブース設営の準備を1時間ほどお手伝い。夜はハウスメンツの一部でモモセ精肉店に入って肉食べてた。Day0であるにも関わらず、店内の他の場所からKaigiの話題が聞こえてきてRubyKaigi始まってきたな〜という気持ちになった。2時半ごろまで飲んで解散。

Day 1

ハウスの予約はDay1からにしていたので、前泊の宿を取る必要があった。朝飯美味しそうという理由で 御宿 野乃 松本 を選び、朝から壮絶なフードバトルを繰り広げることとなった。

昼は蕎麦。バウチャー使えそうなところは人々が集まりそうに思ったので逆張りで南に行き、信州屋 まで歩いた。ちょっと距離あったけど、快適だったので良しとする。

アフターパーティはずっと日本酒飲みながらふらふらして懇親していた。あとは適当な居酒屋行ったりバー行ったり。

Day 2

アベで朝飯、疲労により昼はイオンのフードコート、夜は特にアフターイベント取っていなかったので、黒門で他社の人と喋り飲んで(ありがとうございました)、そのあとは飲み屋街や城などを徘徊していた。バウチャーに含まれていたバーに滑り込んだらメニューがないタイプで、居心地最高だったけどワンドリンクで3000yenかかったので笑顔になったり。

Day 3

栞日で朝飯。どんぐりで昼飯。アフターパーティで酒をのみ、RubyMusicMixin 2023で踊る。栞日のコーヒー美味しかったな。

RubyMusicMixinとにかく最高で、酒飲んではしゃいでいたら午前2時だった。選曲がほとんど俺得で超満足。途中で音ゲー老人みたいな話をした気がするけどあんまり覚えていない。社の若者たちがフロア盛り上げていて最強だった。

Day 4

カーシェア借りてもらってドライブ〜のつもりだったけど、調子微妙な人たちが多そうというのと天気も微妙だったので塩尻の井筒ワインでワイン買って蕎麦食べてシュッと引き返してきた。そのあと色々あったので引き返してきて正解だったと思う。

まとめ

2019の福岡以上にかけがえのない3(5)日間であった。福岡でこの写真を撮ってから4年経つと聞いて本当に震えている。この間にRubyistとして何か成長したか?と言われると、仕事でコードちょっと読み書きできるようになったくらいでまだまだ手を動かす伸び代はあるはず。やっていきましょう。

DSC07722

オーガナイザー、スタッフ、参加者の皆様ありがとうございました。業務調整いただいたチーム、事業部の皆様もわがまま受け入れていただき本当にありがとうございました。

ということで沖縄も行くぞ!!とりあえず今はおもしろホテルないか探しているところ

撮った写真たち

雑多にドン。今回は一眼持っていけば良かったかもしれない。

RubyKaigi 2023 | Flickr

RubyKaigi 2023

追記: アルバム埋め込みしたつもりなんだけど、unasukeさんの写真バーンって出るのなんだ??

*1:自分の意思で書いています。

*2:軽減税率の話してた程度

Rails Girls Tokyo 15th にコーチとして参加した

railsgirls.com

参加してきた。

モチベ

自分がRuby, Railsと出会ったのは10年前のRails寺子屋というコミュニティで、大体このイベントのおかげで今生きてると今でも思っている。では、自分もなにかできることはすべきでしょう。ということで、直近のオフラインイベントにコーチとして参加することにした。 つまるところ、Rubyを教えてもらったときの記録 | ikaruga.org の続き。

やったこと

前日準備

事前にコーチ組の素振に参加し、WindowsのWSL周りを触りながらインストール手順の検証を行った。また、前日のインストールデイでは参加者が持参してきたパソコンにRubyRailsをインストールし、当日スタートダッシュを切れるようにした。

当日

Webアプリケーションの動くしくみやフレームワークの説明をコーチでまわしながら、手を動かしてアプリケーションを参加者と共に作った。未経験の参加者にも理解できる説明をどこまで噛み砕くかが本当に難しかった。「包丁とブンブンチョッパー」、「鍋の具材セット」等のたとえは出したがうまく伝わったかは不明…。一応時間内に目標であったデプロイしての一般公開までは終わることができたので一安心。なんというかHeroku様様ではある。

思ったこと

  • 最初から最後まで「Rubyとコミュニティ」についての話が繰り返し行われていて良かった
  • 「なんか動いたすげー」という気持ちを持って帰ってもらうのが大事そう
  • 説明するための図解大事
  • Windowsの参加者はWSL使うようにしてもらったけど、後で続きを始めようとしたときのためのフォローは絶対必要そう…
  • 会場の原状復帰は難しい

また機会あったらやっていきたいと思えるくらいには良かったのでこれからも貢献していきたい。参加者の皆様、コーチ、スタッフの方々お疲れさまでした。

Shibuya.rb[:20230208]に参加した & RubyKaigi 2023 民泊情報

shibuyarb.connpass.com 前回は会場がすぐそこだったので参加した。今回はオフラインな勉強会の参加回数を増やしていきたいという気持ちで参加した。今回はRubyKaigi 2023のためにAirbnbで会場近くの宿を取ったのでその告知ページを作るついでにruby/ruby.wasmを使ってなんか変なことできないかを模索していた。

作ったもの

これ。 https://house2023.ikaruga.org

リポジトリはこれ。 github.com

gistにしてもよかったんだけど某ハウス様のページでruby.wasmが使われていることを見かけて、自分もなにかやってみたくなったので書いてみた。

  • ruby.wasm の中でもRubyの標準ライブラリが使える
  • 標準ライブラリにはERBも含まれている
  • ERBでテンプレートを作ったらなんか面白いことできないか

という思想でページの内容全部をmain.rbの中で返すというのをやってみたけど、まだなんか変なことはできそう。

学び

というわけで

RubyKaigi 2023のAirbnb宿に興味ある知り合いの方は私までご連絡ください。


次回も参加しようと思います。

lobster.rbがあるリポジトリが引っ越ししていることに気がついた

Lobsterです🦞。イセエビとは違う属とのこと。

まとめ

  • lobster.rb というサンプルコードがrack/rackにあった
  • 最近探しに行ったらrack/rackになかった
  • rack/rackupで元気にやってそう

lobster.rb

社内で開かれたライブラリのコードリーディング会*1の最初期に rack/rack のソースコードを読んでいたときのこと。とあるサンプルコードを見つけました。それが私と rack/lobster.rb との出会いでした。

このLobsterはかわいいやつで、右を向いたり、左を向いたり、時には自爆してメッセージを残したりします。これだけだと知らない人はなにがなんだかわからないと思うので補足すると、以下のような挙動をするサンプルサーバーです。レスポンス、パラメータの受け取り、Rack middlewareを利用した例外発生時のハンドリングやそのmiddlewareの処理の仕組みが組み込まれていて、Rackの仕組みがよく理解できるコードになっていると思います。

  • リクエストするとロブスターのAAが表示される
  • flip パラメータを渡すとロブスターの向きが変わる
  • crash パラメータを渡すと RuntimeError が送出される

lobster

?flip=left で左を向く

crash! のリンクを選択すると例外吐いてそのときのログがレスポンスとして返ってくる

消えたLobsterとその行方

このlobster.rbは今rack/rackのmasterには存在しません。今は rack/rackup にお引越ししています。

rackup/lobster.rb at v0.2.3 · rack/rackup · GitHub

Rack 3で Rackupを別のgemに切り出した際にrackupのサンプルであるlobsterも一緒に移動された形になります。以下のアップグレードガイドにも記載があります。

rack/UPGRADE-GUIDE.md at main · rack/rack · GitHub

以下のPRで削除されていることも確認できます。

選択したときの文字色と背景色はCSSで変えれる

CSS詳しくないんだけど知らなかったのでめも。

revenge-pop.mikapikazo.info Mika Pikazoの個展のLP眺めてたら文字選択時の挙動がデフォルトと異なっていて、CSS覗きに行ったら見つけた。

developer.mozilla.org

::selection という疑似要素があって、それを使うとよい。 color とか background-color などが指定できる。:hover とかの擬似クラスとは別物扱いらしいのだけれども、これが擬似クラスでない理由はちょっとわからない。要素が選択された場合に適用する、ってわけじゃなくて要素の選択された状態そのものに対して適用するってイメージでいるといいんだろか。

個展は渋谷なので仕事終わりにしゅっと行くつもり。n層アクリルオブジェの山っぽくて楽しみ。