patorashのブログ

方向性はまだない

「現場で役立つシステム設計の原則」読書会 vol.10

第10回の感想です。前回の感想はこちら。 patorash.hatenablog.com 会社のブログのレポートはこちら。 tech.rhizome-e.com 最後なのでみんな参加できるようにしようということで日程調整してから行ったので少しずれ込みました。というても5月前半だったので…

Herokuへのデプロイが成功しているのにgitのエラーが発生する件に対応した

git pushでHerokuにデプロイしたら、デプロイは成功しているのに、最後にエラーメッセージが出てしまう現象に遭遇しました。 $ git push heroku release-yyyymmdd:master # なんやかんやあって remote: Waiting for release.... done. fatal: protocol error…

「現場で役立つシステム設計の原則」読書会 vol.9

読書会自体はGW前にやっていたのですが、諸々あって書くのが遅くなってしまった…。 第9回の感想です。前回の感想はこちら。 patorash.hatenablog.com 会社のブログのレポートはこちら。 tech.rhizome-e.com 9章 オブジェクト指向開発のプロセス 開発の基本は…

RSpecでブロック引数をmockで置き換える

RSpecで、ブロック引数に渡されたオブジェクトが、とあるメソッドを実装しているかどうかによって処理を変える件のテストをしたかったのだけれど、どうやったらいいかわからなかったので調べました。 テストしたい処理 class Hoge < ApplicationRecord def f…

Rspecで環境変数をstubしていたのが動かなくなった件(解決済)

小ネタです。rubocopのバージョンアップを行ったら、新しいルールで怒られが発生しました。 C: [Correctable] Style/FetchEnvVar: Use ENV.fetch('FOO') or ENV.fetch('FOO', nil) instead of ENV['FOO']. Correctableなので、bundle exec rubocop -Aで自動…

「現場で役立つシステム設計の原則」読書会 vol.8

第8回の感想です。前回の感想はこちら。 patorash.hatenablog.com 会社のブログのレポートはこちら。 tech.rhizome-e.com 8章 アプリケーション間の連携 1つのサイトであっても、様々なシステムが連携しあっている。 アプリケーション間の連携方式。 ファイ…

「現場で役立つシステム設計の原則」読書会 vol.7

第7回の感想です。前回の感想はこちら。 patorash.hatenablog.com 会社のブログのレポートはこちら。 tech.rhizome-e.com なお、この回の会社のブログのレポートの担当が私だったので、書きたいことはそちらにほぼ書いちゃってる…。 7章 画面とドメインオブ…

「現場で役立つシステム設計の原則」読書会 vol.6

第6回の感想です。前回はこちら。 patorash.hatenablog.com 会社のブログのレポートはこちら。 tech.rhizome-e.com 6章 データベースの設計とドメインオブジェクト データベースには事実を記録する。事実にはNULLなどない。基本的にNOT NULL制約を付けなけれ…

「現場で役立つシステム設計の原則」読書会 vol.5

第5回の感想です。前回はこちら。 patorash.hatenablog.com 会社のブログのレポートはこちら。 tech.rhizome-e.com 5章 アプリケーション機能を組み立てる アプリケーション層がサービスクラスとモデルになるのかな?(Rails脳) 複数のモデルにまたがるよう…

「現場で役立つシステム設計の原則」読書会 vol.4

第4回の感想です。前回はこちら。 patorash.hatenablog.com 記事の投稿日付は連続になってますが、読書会自体は週に1度の開催です。 会社のテックブログのレポートはこちら。 tech.rhizome-e.com 4章 ドメインモデルの考え方で設計する 要件定義のタイミング…

「現場で役立つシステム設計の原則」読書会 vol.3

第3回の感想です。前回はこちら。 patorash.hatenablog.com 会社のブログのレポートはこちら。 tech.rhizome-e.com 3章 業務ロジックをわかりやすく整理する 私が書いていた箇条書きのメモ。 データクラスと機能クラスの話。真っ先に思い浮かんだのは、Fat C…

「現場で役立つシステム設計の原則」読書会 vol.2

間が空いてしまいましたが、第2回目の感想とかです。 前回はこちら。 patorash.hatenablog.com 会社のブログのレポートはこちら。 tech.rhizome-e.com 2章 場合分けのロジックを整理する 感想は箇条書きでメモってました。 区分や種別が条件分岐を生む。区分…

「現場で役立つシステム設計の原則」読書会 vol.1

最近、社内勉強会で、「現場で役立つシステム設計の原則」読書会をやってます。そして、今年に入ってから会社でテックブログが始まりました。こちらもよろしくおねがいします。 tech.rhizome-e.com そちらのブログのほうでも、読書会レポートを参加者で交代…

読者ハ読ムナ(笑)を読んだ

後輩くんと週に一度、週報を作るときにミーティングしているんだけれど、その時に読んでますって言われた本で、どんな本か聞いたら面白そうだったので私も電子書籍で買ってみた。 読者ハ読ムナ(笑) ~いかにして藤田和日郎の新人アシスタントが漫画家にな…

Hash#digの逆を行うHash#buryを定義するgem buryを作った

先日、新しくgemを作ってリリースしました。 Hash#digの逆を行う、Hash#buryメソッドを定義したgemをリリースしたぞい。digは掘るなので、埋めるの意味のburyにした。https://t.co/6OQdcE22Q7— パトラッシュ@リーダー業 (@patorash) 2022年1月26日 リポジト…

2022年の目標

年末年始に読んだ本 年末年始に本を読んでいて、大変面白かったのと参考になった。 最高の体調 まんがでわかる 最高の体調作者:鈴木祐クロスメディア・パブリッシング(インプレス)Amazon たいていのことは20時間で習得できる たいていのことは20時間で習得…

2021年の振り返り

2022年も始まってもう3週間も経過しているというのに、ここ1ヶ月くらいアウトプットしていなかったので久々にブログ書きます。 年末は、妻と子供達が早めに実家に戻っていたので、数日間の一人暮らし期間があったので、その間に掃除を頑張って、寝室の模様替…

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人全員でバージョンアップを行ったので、それについて書いておこうと思います。 なぜ全員で…