patorashのブログ

方向性はまだない

長男に家の1階全部を水浸しにされた話

先週の日曜日の早朝に、長男に1階全部を水浸しにされました。 長男は知的障害児で現在小学校2年生で支援学校に通っています。 水遊びが好きで、家でも目を離すとすぐに水道を出しっぱなしにして大変です。それのせいと、大きくなってきたのと、ある意味で知…

rom-rb(rom-sql)でマイグレーションをロールバックする

Hanami v2.0を試そうとしているのだけれど、まだHanami v2系にはHanami Modelがリリースされておらず、rom-rbを直接使うことが推奨されている状態なので、rom-rbを使ってDBのマイグレーションを行っていたのですが、これロールバックはどうするんだろうか?…

Railsで作ってたアプリをSinatraで作り直した

何年も前に社内向けにシンプルなアプリをRailsで作っていたのだけれど、長いことメンテナンスできずにいた。 Rubyのバージョンも古いし、Railsのバージョンも古かったので、バージョンアップをしないとなぁと思っていたのだけれど、やったところでまた数年後…

スキーマ駆動開発は依存関係逆転の原則を適用したものだと気づいた

ここ最近、チーム内で設計力強化のためにクリーンアーキテクチャ読書会をしているのだけれど、そこで気づいたことがあるのでメモとして残しておく。 18章の境界の解剖学を読んでいた際に、クライアントとサービスの図があったのだが、下位レベルのクライアン…

2022年9月に取り組んだこと

とりあえず、前回の記事からほぼ1ヶ月くらい経過しました。前回の記事では、昇進して課長になったよという話を書きました。 patorash.hatenablog.com この1ヶ月で取り組んだことをざっと書いていこうかなと思います。 独自にOKRの導入 スプリントのふりかえ…

株式会社リゾームで昇進しました(2回目)

うちの会社は期首が9月で、今期で昇進した。世間では退職エントリーとか入社エントリーが多いから、自分は昇進エントリーを書く。(2回目) なお、1回目はこちら。3年前ですね。 patorash.hatenablog.com 課長に昇進した うちの会社ではキャリアとしてマネジ…

ActiveRecordでテーブルコメントを参照する

小ネタです。migrationの際にテーブルコメントを追加する情報は検索すればいくらでもヒットするんですが、ActiveRecordでテーブルコメントを参照する方法はなかなかヒットしなかったので、メモしときます。 環境情報 Rails 6.1.6.1 Ruby 3.1.2 方法 ヒットし…

Elasticsearchへの保存を非同期ではなく同期で行う方法

環境情報 Rails: 6.1.6.1 Ruby: 3.1.2 Database: PostgreSQL 11.x Elasticsearch 7.x DBに保存したらElasticsearchも更新されたい Railsプロジェクトで、データベースへの保存を行ったら同時にElasticsearchへの反映も行いたい、というケースが出てきました…

「現場で役立つシステム設計の原則」読書会 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…