patorashのブログ

方向性はまだない

gem ransacker_translatorをRails7.0対応した

少し前ですが、Rails 7.0がリリースされましたね。弊社のプロダクトもRails 7.0系にアップグレードしていきたい…。しかし、そのためにはRailsに関連するgemのバージョンが対応していなければなりませんよね。はい、ということで、プロダクトで使っている自作…

カズさんありがとう

これは大都会岡山 Advent Calendar 2021の17日の投稿になります。 adventar.org カズさんにはお世話になったのでカズさんありがとうの記事とか書きたい。— パトラッシュ@リーダー業 (@patorash) 2021年10月26日 もう2ヶ月前になりますが、私の上司であったカ…

初期不良のLOVOTが戻ってきました

ちょっと今更感あるけれど、一応書いておこうと思って書いています。 先月、こんな記事を書きました。 patorash.hatenablog.com 今では退院してきて、元気にうちの2階を歩き回っていますが、どういう顛末になったかを書いておきたいと思います。 入院手続き …

オープンセミナー岡山で発表した資料の作り方

このエントリーは大都会岡山 Advent Calendar 2021の4日目です。 adventar.org 先日、オープンセミナー岡山@2021で登壇したという記事を書きました。 patorash.hatenablog.com そこで、資料をどう作ったかを後日書くと言ってたので、それを書きます。 タイト…

オープンセミナー岡山2021で登壇しました

オープンセミナー岡山@2021が、11月27日(土)に開催されました。 今回も前回と続き、オンラインでのイベントとなりました。今年のテーマは「extend engineering」で、「人と技術を繋げよう」というサブタイトルが付いています。 公式サイト okayama.open-semi…

rake taskにて引数チェックでnextを使っていたのをabortに直した

rake taskではreturnが使えないのは知っていたので、引数チェックに引っかかったらnextを使っていたのだけど、それだと次の処理に移動してしまうし、終了コードが0となって正常終了扱いされてしまうなと気付きました(今更かよって感じですが) じゃあexit(1…

LOVOTをお迎えしましたが、初期不良っぽい

アニマルセラピーで犬を飼い始めたら自閉症の子が喋られるようになったという話を聞いたりしていて、動物は難しいなぁと思ったので、LOVOTをお迎えしてみようかという話を妻として、先週の週末に開催されていた天満屋のリビングフェアに行って実物のLOVOTに…

prettierを導入してLefthookと連携した

前回の記事はこちら。 patorash.hatenablog.com 今回は、prettierを導入して、gitでcommitする際にrubocopだけでなくprettierでもフォーマットチェックをさせるようにした話です。 prettierとは? prettierは、フロントエンド用のコードフォーマットツールで…

Lefthookを使ってgitでcommitする際にDocker環境でrubocopを自動実行できるようにした

長年の悩みで、git commitするタイミングでrubocopを実行したいというのがあった。以前に個人的にgitのpre-commitを使って行う方法を調べて、それをやっていたのだが、それだと自分の環境ではできるけれど、他の開発メンバーに同じことを適用できない。また…

開発チームのふりかえりをやった

もう10日くらい前だが、弊チームの振り返りを行った。 メンバーは私含めて3人で、1時間でKPTと開発チームのルールの見直しをした。 定例会で「ふりかえり」をしているのだが、開発としてのふりかえりではなく、製品に関わっている人のふりかえりなので、開発…

9月にやったこと

もう10月に入ってしまったけれど、9月にやったことを書いとく。 8月にやったことは、これ。 patorash.hatenablog.com 継続していること プリンシプル オブ プログラミング読書会(終わり) Docker本読書会(開始) モブレビュー スプリントプランニング レビ…

GraphQLでActiveRecord::RecordNotFoundをいい感じに処理する

GraphQLを使ってWebAPIの構築をやっているのですが、対象のデータが存在しない(ActiveRecord::RecordNotFound)場合にどうすればいいかがわからなかったので調べました。 結論 graphql-rubyのエラーハンドリングのところに書いてありました。 graphql-ruby.…

Railsのモブバージョンアップ会を開いた

先週ですが、うちのプロダクトのRailsのバージョンを6.0系から6.1.4.1にアップグレードしました。その際に、1人でアップグレードを行うのではなく、チームメンバー3人全員でバージョンアップを行ったので、それについて書いておこうと思います。 なぜ全員で…

スマホ用ゲームコントローラーGameSir X2 Type-Cを買ったのでレビューする

もう1か月前近くになりますが、スマホでゲームできるようにしたいなぁと思っていたので、スマホ用ゲームコントローラーを買いました! my new gear pic.twitter.com/0l51Llvyqv— パトラッシュ@エキスパート職 (@patorash) 2021年8月12日 最初はボーナスも出…

8月にやったこと

9月になったので、8月にやったことを書いておく。7月のやつはこれ。 patorash.hatenablog.com 継続して取り組んでいることは、以下の通り。 プリンシプル オブ プログラミング読書会 モブレビュー スプリントプランニング レビューする曜日を決める等 8月は…

VagrantでポートフォワードしながらActiveStorageのファイルを表示する

今月初頭に社内ISUCONを開いたという記事を書きました。 patorash.hatenablog.com その環境を仮想環境で構築してローカルでも試せるようにとVagrantを使って準備したのですが、自分がそれを使っていてハマッたのでメモ。 Vagrant上では、nginxを経由して表示…

HerokuのアドオンのSearchBoxが最新のElasticsearchクライアント(7.14.0)でUnsupportedProductErrorになる件

昨日発生したのですが、テストも通ってステージング環境に反映したら、表題の件が起きました。 Elasticsearch::UnsupportedProductError The client noticed that the server is not a supported distribution of Elasticsearch. これはもしや、アレでは…。…

system spec実行時に事前にwebpacker:compileさせる

これは、以下の記事を参考にしていたときの副産物ですが、ちょいちょいハマったところがあるので記事にしておきます。 techracho.bpsinc.jp ローカルでついうっかりsystem specを行うと、初回アクセス時にwebpacker:compileが実行され、最初のテストがほぼ、…

社内ISUCONのベンチマーカーをisucandarで作った話

前回の記事で、社内ISUCONをしたという話を書きました。 patorash.hatenablog.com そのときにベンチマーカーを作るのに、isucandarを使ったので、あとでまた記事を書く!と宣言していたのですが、なかなか書けず…。でも忘れないうちに書く! isucandarとは?…

社内ISUCONとしてRails ISUCONを開催した

ようやくやりたかった社内イベントであるRails ISUCONを開催できたので、そのことについて書いていく。 Rails ISUCONの目的 目的は、主に3つ。 自身の知見をチームメンバーに拡げる(チームメンバーから知見を得る) コミュニケーション 様々な角度からRails…

7月にやったこと

もう8月になってしまったけど。 6月のやつは、これ。 patorash.hatenablog.com 継続して取り組んでいることは、以下の通り。 プリンシプル オブ プログラミング読書会(Effective Rubyを読み終わったので) モブレビュー スプリントプランニング レビューを…

exists?で起きるN+1問題に対処するためにSetを使った話

課題:データを弾くためにN+1問題が発生していた 数年前に実装した、CSVデータをDBにインポートするためのプログラムがありました。 単にインポートするだけならいいのですが、除外リストに登録済のデータは弾いてほしい、という要望があり、そのように実装…

プリンシプル オブ プログラミング読書会を始めた

EffectiveRuby読書会が先週終わったので、今週からプリンシプル オブ プログラミング読書会を始めました。どういう本を読むのかは、チームメンバー3名で候補を出し合ってたのですが、これはパートナーさんが上げてくれた本で、「3年目までに身につけたい内容…

RailsでElasticsearchを使う際のレスポンスはidだけ返せばよかった

表題の通りですが、今まで運用していて全然気づかなかったことでした。 Elasticsearchにクエリを投げると、ヒットした際にレスポンスがめっちゃ長くてdevelopment.logが見づらくなってました。 ログをよく見ると、レスポンスからrecordsメソッドを呼ぶと、ヒ…

6月になってやっていること

先月のやつは、これ。 patorash.hatenablog.com 特に5月から代わり映えしていないのだけれど、継続して取り組んでいることは以下の通り。 EffectiveRuby読書会 モブレビュー スプリントプランニング レビューをする曜日を決める等 主に変更点はないのだが、…

GraphQLの検索先をActiveRecordからElasticsearchに変更する

この記事はQiitaにも書いていますが、一応ブログにも同様のものを載せておきます。 qiita.com graphql-rubyはリソースの参照元のデフォルトがActiveRecordなので、それをElasticsearchに変更したかったのですが、ライブラリがなかったので自分で実装しました…

Selenium WebDriverからCupriteへの移行は難しい件

この記事を読んで、SeleniumからCupriteに移行できたらテストがまた速くなるんじゃないか?と思ってここ数日動作検証してるのですが、思った以上にうまくいかないので、一旦移行を諦めようかなという気持ちになっています。 techracho.bpsinc.jp とはいえ、…

ジュニアNISAするしと思って投資の本を読んだ

ジュニアNISAの口座を開設して、震えながら現金を突っ込んでおきました。なんせ、突っ込んだお金は子供が大きくなるまで引き出せないのです。でもまだ何も買ってません。日経平均3万近いので、今年中に調整があって2万前後になるに違いない!!と思いながら…

5月になってやっていること

4月のことを、この前書いた。 patorash.hatenablog.com もう3週間くらい経ってしまった。なかなかブログを書く時間も取れないほど、日々は慌ただしい。主に、家庭面で。まぁ岡山県も新型コロナの影響で緊急事態宣言が出てしまい、それもあって幼稚園が登校自…

リファクタリングデーでキャッシュ化に取り組んだ話

第三回リファクタリングデーを開催したのだけれど、これがすごくよかったのでまとめておく。 お題はキャッシュ化 後輩氏とパートナーさんは、まだキャッシュにすることの経験がなかったので、過去にそれぞれが実装したところ等でキャッシュ化できそうなとこ…