ごぐたんのブログ

ごぐたんのブログです。

Kaigi on Rails 2023に登壇して、Seedデータをいい感じに整備する話をしました

アーカイブ公開されました‍♂️ www.youtube.com 発表内容について 発表資料はこちらです! speakerdeck.com seeds.rbを地道に書く代わりに、ローカルのアプリを操作していい感じのデータを整えて、それをCSV出力して次回からSeedファイルとして使えばいいので…

RubyKaigi 2023に行ってきました!

2回目の参加でした! 非常に良い体験でしたので、印象的だった出来事やセッションを中心に振り返りたいと思います。 0日目 1日目 Matz Keynote Make Regexp#match much faster UTF-8 is coming to mruby/c 2日目 Implementing "++" operator, stepping into …

コマンドラインで遊べるぷよぷよ one-puyo の npm モジュールをリリースしました

ぷよぷよは、同じ色の「ぷよ」が 4 つ以上くっつく(上下左右に隣接する)と消えるパズルゲーム。2019 年には国体の文化プログラム競技タイトルとして採用されるなど、今最も熱い eSports の 1 つ! one-puyo は「なぞぷよ」(ぷよぷよにおける詰将棋のよう…

Ruby の delete_ats メソッドを書いた(配列の複数要素を O(N) で高速に削除)

何をしたいか 実装 ベンチマーク 実装 結果比較 配列サイズ 10 ^ 4 配列サイズ 10 ^ 5 配列サイズ 10 ^ 6 配列サイズ 10 ^ 7 配列サイズ 10 ^ 8 まとめ テストコード 参考ページ:計算量(オーダー記法)について 何をしたいか 配列の添字を複数同時に指定し…

Ruby の破壊的メソッド( uniq! など)が nil を返す場合について

破壊的メソッドとは レシーバ自身を変更するメソッドのこと。下記コードではshuffle!が破壊的メソッドで、レシーバ自身の中身をシャッフルしています。そのため、配列のobject_idはシャッフル前と同じです。 一方、shuffleは非破壊的メソッドのため、新たなo…

Ruby 配列における find と bsearch の違い(ブロックの書き方に注意)

配列の中から特定の値を探す時に find メソッドを使うことができますが、配列がソートされている場合には、 bsearch メソッドを使うことでより高速に探索することができます。ここでは、それぞれの特徴と使い方を比較します。 find(線形探索)とは 先頭から…

AtCoder AGC 033 A - Darker and Darker (図解、Ruby実装例)

A - Darker and Darker 問題概要 H × W の盤面があり、各マスは「白(.)」「黒(#)」に塗られている。1 秒ごとに、各黒マスの上下左右に隣接している白マスを黒く塗る。全マスが黒になるのに何秒要するかを求めよ。 例 2秒後に全マスが黒くなるため、答えは2秒…

「黒い画面」に入門しました

fjord.jp 「黒い画面」こと、Terminalの概要を学びました!今までは、MacのTerminalはほぼ触ったことがありません… 学習内容 ・Terminal上では、プログラムのファイル名を入力することで実行する。・binディレクトリには、ls(LiSt、ファイルやディレクトリ…

ブログを始めました!

初めまして、ごぐたんです。プログラミングに関する記事を載せるためのブログを開設しました! 経歴など 法学部を卒業↓SIerのSEとして1年半(Java)↓地方自治体の公務員として5年半(教育、観光、海外交流など)↓エンジニアを目指してRubyとRailsを学習中(…