
3年越しリベンジした2泊3日のホーチミン旅行の様子、および感じたこと
2023年6月の中旬にベトナムのホーチミンへの2泊3日でひとり旅へ行ってきました。 ホーチミンには何人か知人がいて、ちょうどコロナ禍が始まる2020年の3月に渡航を計画していたのですが、予約していた便がロックダウンで欠航して泣く泣く断念した経緯があります。 コロナ禍が明けた今、2年半ぶりのリベンジ、そして海外に行けるようになったというコロナ明けを自分で体感する意味もありました。 航空券はベトジ

RubyKaigi2023に参加してきた
普段は主にRuby on Railsを使って開発をしています。
ビジネス研修で学んだエンジニアの働き方に活かせる19Tips
まえがき 新卒で入社したときに、ビジネス研修を受けたり、本を読んでくるような課題があったりしました。 自分の場合はビジネス職とも同じ研修だったので、そのほとんどが一般的な内容が多く「エンジニアとしては少し違うのではないか」と思うようなものもありました。 しかし、その中でもエンジニアの働き方に応用できそうなものがあり、1年半働いた今当時のメモを見返すと実際に活きているものがあったので、それをピックア
GORM Save Silently Upserts Associations — How Deleted Records Come Back and How to Stop It
GORM's Save(&model) automatically upserts all associated records. If a deleted association reappears after Save, a concurrent goroutine is likely the culprit. Two-stage fix: Association().Delete as a quick patch, Omit as the permanent solution. Covers GORM v1 and v2.
GORM の Save はアソシエーションを Upsert で上書きする──削除した関連が復活するバグの原因と対処
GORM の Save(&model) はアソシエーションを自動的に Upsert で上書きします。Delete したはずの関連レコードが復活する場合、別の goroutine が Save を呼んでいるのが原因である可能性が高いです。暫定対応(Association().Delete)と恒久対応(Omit)の2段階で解消した手順を紹介します。
新卒エンジニアが見積もりで失敗して学んだこと——精度を上げる4つの方法
新卒エンジニアが1ヶ月の開発遅延を経験して学んだ見積もりの考え方。なぜ見積もりがずれるのか、精度を上げるための分割・調査・複数視点の活用を実体験をもとに解説します。
Rails の `between?` が false になる原因と型を揃える解決策
RailsでTime.zone.nowとDate.newをbetween?で比較するとfalseになる原因と解決策。ActiveSupport::TimeWithZoneとDateは型が異なり比較できないため、Time.zone.localまたはTime.zone.todayで型を揃える必要があります。
人生初のQiitaに大量アウトプットを出してみての感想
Qiitaアドベントカレンダーで25記事を一気にアウトプットした感想。初めての大量執筆で得た気づき、アウトプットの効果、継続のコツを振り返ります。

