Pivotの動画でたまたま見て、気になったので本を買って読んでいるんだけれど、気づきが多そうなので、1章ずつ刻んで感想を書いていこうと思う。感想はこの記事に継ぎ足していこうと思う。 人生の経営戦略――自分の人生を自分で考えて生きるための戦略コンセプ…
Kindle版の書籍が499円だったので、買って読んでみました。習慣化の手法が気になる今日この頃。 200万人の「挫折」と「成功」のデータからわかった 継続する技術作者:戸田大介ディスカヴァー・トゥエンティワンAmazon 3つの原則 Amazonの本のページに原則が…
前に1on1のテンプレートに採用した、先が見えなくても、やる気が出なくても 「すぐ動ける人」の週1ノート術を再読しました。この本の内容自体はうっすらと覚えていながらも、1on1の際にメンバーに書いてもらっていて、一定の成果が出てます。メンバーたちか…
一日に何度も証券口座を確認してしまう癖がついていたのを、なんとか止めたいなぁと考えていたのだけれど、より安定して稼げる方法はないか?とついつい見てしまいます。投資系YouTubeや本も。 ただ、この半年くらいで投資方針を定めることができたので、こ…
データのソート順がまぁまぁ複雑で、NULLの場合もあるケースでソートをかけてみたら、1番目のソート条件がNULLだったせいで、2番目のソート条件が無視されてしまい、思った通りになりませんでした。 Geminiに相談してみたところ、ORDER BY句の中でCOALESCEす…
現在担当しているプロジェクトで、データベースを扱う際にrom.rbを使っています。 そのため、ベースになっているSequelも使うことになっているのですが、その際に調べた小ネタ等をちょいちょい投稿していこうかなと。 ORDER BYするときの書き方が、ActiveRec…
最近、認証機能の実装をするためにRodauthを使っています。多機能で便利ですね、Rodauth。 rodauth.jeremyevans.net しかし、Rodauthでメールを使う機能(パスワードリセット等)を有効化して、メール本文に日本語を使った場合に以下のようなwarningが出てい…
Sinatra使っているとfaviconを置くのを忘れがちというところがあるのは私だけ? というかAPIサーバなのでfavicon要らんねんけど…。というときに使える小ネタを知ったのでメモとして記しておく。 # app.rb before '/favicon.ico' do halt 204 end これでルー…
前回、Lambda Web Adapterを使ってSinatraアプリをAWS Lambdaで動かす話をしました。 patorash.hatenablog.com 今回は、Lambda Web Adapterを使っているコンテナでサーバーレスでタスクを実行する方法についてです。 タスクはrake taskを実行すればいいんで…
Railsで運用されていたアプリをSinatraで実装し直した上でサーバーレスで動かしたかったのでやってみました。 こちらのRailsアプリも長いことメンテされておらず、RubyのバージョンもRailsのバージョンも古すぎた…。 作ったもの シンプルなWebAPIを作った(R…
部署向けアプリケーションを動かしていたサーバーのOSサポート期間がギリギリになってきたので、他のサーバーへの移行を行う際に、AWS Lightsailを使ってみました。 Lightsailは、AWSで使えるVPSです。EC2のように柔軟に使えないものの、月額支払いのため、…
先週の日曜日の早朝に、長男に1階全部を水浸しにされました。 長男は知的障害児で現在小学校2年生で支援学校に通っています。 水遊びが好きで、家でも目を離すとすぐに水道を出しっぱなしにして大変です。それのせいと、大きくなってきたのと、ある意味で知…
Hanami v2.0を試そうとしているのだけれど、まだHanami v2系にはHanami Modelがリリースされておらず、rom-rbを直接使うことが推奨されている状態なので、rom-rbを使ってDBのマイグレーションを行っていたのですが、これロールバックはどうするんだろうか?…
何年も前に社内向けにシンプルなアプリをRailsで作っていたのだけれど、長いことメンテナンスできずにいた。 Rubyのバージョンも古いし、Railsのバージョンも古かったので、バージョンアップをしないとなぁと思っていたのだけれど、やったところでまた数年後…
ここ最近、チーム内で設計力強化のためにクリーンアーキテクチャ読書会をしているのだけれど、そこで気づいたことがあるのでメモとして残しておく。 18章の境界の解剖学を読んでいた際に、クライアントとサービスの図があったのだが、下位レベルのクライアン…
とりあえず、前回の記事からほぼ1ヶ月くらい経過しました。前回の記事では、昇進して課長になったよという話を書きました。 patorash.hatenablog.com この1ヶ月で取り組んだことをざっと書いていこうかなと思います。 独自にOKRの導入 スプリントのふりかえ…
うちの会社は期首が9月で、今期で昇進した。世間では退職エントリーとか入社エントリーが多いから、自分は昇進エントリーを書く。(2回目) なお、1回目はこちら。3年前ですね。 patorash.hatenablog.com 課長に昇進した うちの会社ではキャリアとしてマネジ…
小ネタです。migrationの際にテーブルコメントを追加する情報は検索すればいくらでもヒットするんですが、ActiveRecordでテーブルコメントを参照する方法はなかなかヒットしなかったので、メモしときます。 環境情報 Rails 6.1.6.1 Ruby 3.1.2 方法 ヒットし…
環境情報 Rails: 6.1.6.1 Ruby: 3.1.2 Database: PostgreSQL 11.x Elasticsearch 7.x DBに保存したらElasticsearchも更新されたい Railsプロジェクトで、データベースへの保存を行ったら同時にElasticsearchへの反映も行いたい、というケースが出てきました…
第10回の感想です。前回の感想はこちら。 patorash.hatenablog.com 会社のブログのレポートはこちら。 tech.rhizome-e.com 最後なのでみんな参加できるようにしようということで日程調整してから行ったので少しずれ込みました。というても5月前半だったので…
git pushでHerokuにデプロイしたら、デプロイは成功しているのに、最後にエラーメッセージが出てしまう現象に遭遇しました。 $ git push heroku release-yyyymmdd:master # なんやかんやあって remote: Waiting for release.... done. fatal: protocol error…
読書会自体はGW前にやっていたのですが、諸々あって書くのが遅くなってしまった…。 第9回の感想です。前回の感想はこちら。 patorash.hatenablog.com 会社のブログのレポートはこちら。 tech.rhizome-e.com 9章 オブジェクト指向開発のプロセス 開発の基本は…
RSpecで、ブロック引数に渡されたオブジェクトが、とあるメソッドを実装しているかどうかによって処理を変える件のテストをしたかったのだけれど、どうやったらいいかわからなかったので調べました。 テストしたい処理 class Hoge < ApplicationRecord def f…
小ネタです。rubocopのバージョンアップを行ったら、新しいルールで怒られが発生しました。 C: [Correctable] Style/FetchEnvVar: Use ENV.fetch('FOO') or ENV.fetch('FOO', nil) instead of ENV['FOO']. Correctableなので、bundle exec rubocop -Aで自動…
第8回の感想です。前回の感想はこちら。 patorash.hatenablog.com 会社のブログのレポートはこちら。 tech.rhizome-e.com 8章 アプリケーション間の連携 1つのサイトであっても、様々なシステムが連携しあっている。 アプリケーション間の連携方式。 ファイ…
第7回の感想です。前回の感想はこちら。 patorash.hatenablog.com 会社のブログのレポートはこちら。 tech.rhizome-e.com なお、この回の会社のブログのレポートの担当が私だったので、書きたいことはそちらにほぼ書いちゃってる…。 7章 画面とドメインオブ…
第6回の感想です。前回はこちら。 patorash.hatenablog.com 会社のブログのレポートはこちら。 tech.rhizome-e.com 6章 データベースの設計とドメインオブジェクト データベースには事実を記録する。事実にはNULLなどない。基本的にNOT NULL制約を付けなけれ…
第5回の感想です。前回はこちら。 patorash.hatenablog.com 会社のブログのレポートはこちら。 tech.rhizome-e.com 5章 アプリケーション機能を組み立てる アプリケーション層がサービスクラスとモデルになるのかな?(Rails脳) 複数のモデルにまたがるよう…
第4回の感想です。前回はこちら。 patorash.hatenablog.com 記事の投稿日付は連続になってますが、読書会自体は週に1度の開催です。 会社のテックブログのレポートはこちら。 tech.rhizome-e.com 4章 ドメインモデルの考え方で設計する 要件定義のタイミング…
第3回の感想です。前回はこちら。 patorash.hatenablog.com 会社のブログのレポートはこちら。 tech.rhizome-e.com 3章 業務ロジックをわかりやすく整理する 私が書いていた箇条書きのメモ。 データクラスと機能クラスの話。真っ先に思い浮かんだのは、Fat C…