2024/10
Published At: 2024/11/2 20:40:00

2024/10

2024/10月総括

時間が獣!!!

Kotlin 書きたくなってきたけど仕事がない

といった10月2日の気持ちはすごくよく覚えてるけど、

いくつかのサービスを内製するメリットが既に見えつつある

バックエンドエンジニア に求められるものっていうのはやっぱ深い経験とその再現だな ようやくわかってきた気がする

などと意味深な言葉を残してるときの気持ちはもう全くわからない。 どうした自分、なんでそんな急に覚醒した。

コードを読んだり書いたりする時間もあれば、会社員をしっかりやっている時間もあり、比較的バランスよく頑張った1ヶ月だった気がする。咳はまだ治ってない。薬を途中で辞めるのはよくない。

ふりかえると10月はよく Next.js vs Rails を聞いた気がしたし、ダイニー代表がヒット vs ホームランしていたし、選挙もあったしで皆さんの主張が声高な傾向にあった。 自分も vs AIしてましたわ。ガハハ。 https://blog.funwarioisii.me/article/34

季節の変わり目ですね。


2024-10-01

2024-10-02

  • Kotlin 書きたくなってきたけど仕事がない
  • ないなら作れ?思いつかねぇ!Androidをやる余裕はねぇ!
  • BL, レヴィが生者に憧れてお花畑を求めてるの救いがあってほしい 物語は救いのためにあるはずや
  • 10巻でいつものノリで正義を始められなかったロックへの気持ちよ

2024-10-04

  • エンジニアに仕事をしてもらう技術よりデザイナに仕事をしてもらう技術を知りたい
  • 咳やばいな〜〜

2024-10-05

  • #Next.js で middleware.ts を置く位置を間違えていることに気づくのに相当時間がかかった
  • src/ を作っている場合は src/middleware.ts で置くべきで src/app/middleware.ts ではない

2024-10-06

  • 個人開発をGlobal に展開するにはどうすればいいんだ……?何が難しそうなんだ……?
  • 容易に想像できること
    • たとえば ap-northeast-1(Tokyo) にアプリケーションとDBがあり、パリから接続すると遅い
    • 推測するな計測せよ
    • NewRelic で 外形監視 していたのだった
    • https://gyazo.com/3380ffab265f36629fd02dfd76658456/thumb/1000
    • Vercelに置いてるWebアプリにリクエストしてるものがこんな感じ
      • 実はそれほど気にしなくて良くない?中央値 Tokyo が 150ms で最も遅い Portland が 300msか……
      • ていうかCapeTownが一番早くて 50ms 切ってるの面白い どこにホスティングしてるんだっけ
    • なんか地球の裏側からのアクセスが大変だからCDNというか、 Cloudflare や Hono に目が向いていたけど喫緊には感じない
      • これは俺のセンスが悪かったらごめんって感じ
  • src/app/layout.tsxsrc/app/home/layout.tsx が変にかち合うと hydration error になるの難しい
  • layout と template をいい感じに使い分ける必要があるあれっぽそう
  • Layout がかち合うの難しい src/app/[lang] 以下を Root にするなど
  • supabase のschemaを Prisma からpullできないときの対応

2024-10-07

  • Next.js には rails c 相当がないよな
  • Prisma 細かい話だけど これ limit でいいじゃんとか思う
  • https://gyazo.com/ae3390fd45ddcfc66fc8bc0b8ee11bb9/thumb/1000
  • https://x.com/mizchi/status/1839841886829457773 を見ながら逆にRailsを普段使っている人間からの、Next.js + Prisma + (Supabase) みたいなのは書いていくか
    • なんとなくフロントエンドについて思っていることなど
      • 前提としてはSaaSがすごくソフトウェア産業としては金を稼いでいる
      • toCビジネスは正直しょっぱいものが多い
      • その中で、SaaSビジネスを高速で実装していくため、デザインシステムなどが揃ってきている
        • これは shadcn/ui などを見ながら話してる
      • App Router や Server Component などでどこで何が実行されるかがわかりにくくなっている
        • 最適化がどこまでどういう要件で最適化しているのかがわかりにくい
        • 非常にリッチな表現のためにとにかくエッジで動く単位に区切ってやっていきたいのか?
          • なんか定量化して評価できると面白そうだよな
      • rails c などがなくまだまだ開発生産性を高める余地がありそう
    • Prisma 便利な気がする!
      • 先程の通り limit を take に言い換えるなど謎だけど
      • VSCodeで schema.prisma を書いてるといい感じに補完してくれるの偉い!
        • user - post で post を新しく書いているときに user 側になんかコード書けよみたいな
    • 2024-10-06 に書いたけど layout.tsx のセンスが難しい
    • i18n が最初から想定されていてドキュメントされてるの安心感がある
    • ActiveJob や ActionMailer 相当が置かれていないのは Rails 代替になるというにはきつい気がする
      • 特にActiveJob周りはいま Solid Queue とかでホスティングしやすさが上がってる
      • Solid Trifecta
    • 認証周りは next-auth が便利すぎるぜ
    • 特にRailsのフロントエンドは、 Hotwire はあんまり使いやすいと思えてない
      • これは自分の練度の話だと思う
    • Prisma で Check Constraints 使えないのかー
      • この辺はTypeScript の旨味な気がするから入れてほしいけど
    • Rails では Skinny Controllers, Fat Models, Simple Views なんて言われていわゆるビジネスロジック何かをここに置くのだけど、これがバラけるのは面倒だなぁ
    • ていうか一旦 Rails脳から脱却するのが難しい
    • Supabase x Prisma のバグを踏んだっぽくてだるい
    • 無限にこのエラーが出る
      • ConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(PostgresError { code: "42P05", message: "prepared statement "s4" already exists", severity: "ERROR", detail: None, column: None, hint: None }), transient: false })

    • https://github.com/prisma/prisma/issues/24798
    • https://github.com/prisma/prisma/issues/11643#issuecomment-2351970684
      • -pool を DIRECT_URL から削ったり、?pgbouncer=true をつける黒魔術を実行して解決
      • いや全然解決しないな
    • これ Prisma Client がいい感じに接続を閉じれていなくて、on save時にアプリケーションが再起動して、poolが足りてなくなってる?
    • https://zenn.dev/sa2knight/scraps/b46b991b0f62ae これいいね
    • Tailwind がなぜか効かない
    • <div className="mt-10 sm:mt-4"> というのを書いていて、sm:mt-4 は確かにブラウザ側には渡ってるけど……
      • 書くべきは max-sm:mt-4でした
    • 配信をだらだら聞く
    • Prisma の json_agg これいいね

2024-10-08

  • 電車で電話なんであかん
    • 相手の声が聞こえないのが想像を掻き立てて余計気になる
      • スピーカーモードならいいの?
      • 爆音アニメ放送いいの?
    • 逆に海外では問題ないとされているのも気になる
    • 仮説
      1. 日本人は道具に原因を求めやすい性質からそういう言論になった
      • 電車の中で人が大声で話していたら迷惑
      • 携帯のせいでそういうやつが増えた
      • 携帯禁止!みたいな
      1. ???
  • AIに指示するために会社のすべてをテキスト化したいよ〜
  • https://liginc.co.jp/246919
    • 「承知しました」が良いとされる風潮は「了解」が気に食わなかった人によるものという結論
    • 良い調査だな〜

2024-10-09

  • Tailwind のこれなんでマージされないの
  • App Router, RSCする余地があるくらいに思っておいて、Pages Router のように使ってもいいんじゃん
  • Doveの話 https://news.yahoo.co.jp/articles/d4f41178b772bebd31647fc71577ce9472de922c
    • ルッキズムの話あんまりわかってない
    • なんか「美の追求の仕方が誰かの観点から見て歪んでる」話と、「他人の容姿に言及するな」という話がある?
    • 汚いよりきれいなほうが良いことが多いと思う 清潔感が大事というのは自分は否定しない
    • 一方で スペ110 はどうなんだろう?自分自身が目指す指標として持つのは悪くない気がする
    • 今回よく指摘されているのは「いろんな指標が出ていて、コンプレックスに思っていなかったことがコンプレックスになる」という話な気がする
      • 雑に醜・普通・美があるとして、美の基準が普通の基準に当てはめられてしまってしんどいみたいな話なんだろうか
      • 似た話がまさに上に書いている、App Router の話だと思う。ベストプラクティスにハメる必要がない現場でそこまで追う必要がある?みたいな
        • 営業が物を言うSaaS商売で実はレスポンスタイムの増減より機能の追加を考えるべきでは?みたいなのは別の話な気もしてきた
    • ChatGPTでルッキズムに関連する問題について聞いてみると次のような回答が得られたのは面白かった
      • 文化的な圧力: メディアや広告における美の基準が厳格化されることで、特定の外見が理想化され、他の外見が否定的に扱われることがあります。これによって、社会全体の美の基準が狭くなります。

      • ちなみに全文はこんな感じ
        • ルッキズム(Lookism)は、外見に基づく差別や偏見を指す言葉で、特に美しさや魅力とされる基準に基づいて人々を評価することに関連しています。以下に、ルッキズムに関連する主な問題をいくつか挙げます。

          1. 社会的な偏見: ルッキズムは、外見が美しい人々が社会的に優遇される傾向を強め、外見が魅力的でないとされる人々が差別される原因となります。
          1. 職場における不平等: 研究によれば、外見が良いとされる人は、就職や昇進の機会が増える傾向があります。容姿に基づく評価は、雇用の公平性を損なう要因となります。
          1. メンタルヘルスへの影響: ルッキズムは、自己評価や自己肯定感に悪影響を及ぼすことがあります。特に、外見にコンプレックスを持つ人々は、うつ病や不安を抱えるリスクが高くなることがあります。
          1. 文化的な圧力: メディアや広告における美の基準が厳格化されることで、特定の外見が理想化され、他の外見が否定的に扱われることがあります。これによって、社会全体の美の基準が狭くなります。
          1. 人間関係への影響: ルッキズムは、人々の人間関係にも影響を与えます。外見に基づく判断が信頼や友情の形成に影響を及ぼすことがあります。
          1. 教育機関における差別: 学校や大学でも、外見に基づくいじめや差別が存在します。これにより、学びの環境や個人の成長が損なわれることがあります。
        • これらの問題に対処するためには、教育や啓発活動を通じて、外見に基づく偏見を減らし、多様性を尊重する社会を築くことが重要です。

        • 排斥的な美の基準が、他の行動を阻害しうるくらいの感じか

2024-10-10

  • Cursorでcommit message自動で作ってくれたらいいなぁとか思ったけど機能はないみたいだ
  • roppongirb 来た
    • 医療系とか厚生労働省からマスタが降ってきて import していくの大変そう〜
    • https://github.com/paper-trail-gem/paper_trail
      • ActiveRecord のインスタンスで何をどのように変更したかが残る
      • vs event sourcing
    • マルチテナントのために 1テナントで 1AWSアカウント
      • 様々な法的文書が完全に分離されて便利。。。。。。便利?
    • Edgeをテストしてる gem はうれしい たしかに。
    • Edgeに付き合い続けるのどうやってるんだろうな
      • 技術ブランディングの一貫

2024-10-11

2024-10-12

  • mission_control-jobs がAPIモードでも使えるようになりつつある?
  • ビーガンとかよくわかんないけど、Copilot や Cursor で脳がシャキッとしない感じが続くのでAI断ちしたいな
    • IntelliSense 的なコード補完は欲しいものに手を届かせるくらいだったけど、強いコード補完は依存を生んでる気がする
    • 働き続けるには楽しさが大事だと感じてるけど、Cursorはそれを奪っている気がする
    • 思い立って書いた https://blog.funwarioisii.me/article/34

2024-10-13

  • SquareのPayment Link の Order Id が Payment APIの List Payment でツモれる Order Idに入ってない件について……
    • SquareのOrderの概念謎〜〜〜
    • 状況としては Subscription をやっている
    • Subscription API の search subscription みたいなやつの order template id に、Payment Linkと一致する IDがある

2024-10-16

  • ヒットとホームラン では様々なことが異なるよな
      • かなり同調できる
      • ホームランを打つぞという豪胆さとそれを支える技術力が自分には必要に感じる
      • ソフトウェア開発では一塁走者や二塁走者を気にしながら、バントにするかなどを考えるけど、組織の方針としてはという感じ
    • では思い切りのよさだけで話を進められるかというとそうでもなくてネチネチする必要もあったりする
      • どこにいつまでいくら賭けるかというのは意識すべきだよな
      • たとえばOKR決定時にキャッシュのいくらをここに入れますみたいな
  • eKYC について Software Design で読んだ
  • https://konifar-zatsu.hatenadiary.jp/entry/2024/10/16/180806

2024-10-17

2024-10-18

  • Scrapbox, 画面上に説明が少なすぎてよくわからないという話を受けて iPhone が出たときやよくある日米のリモコン比較を思い出したな
  • ckpd にいたときはなんだかんだ周りの人は食に一定興味があるというバイアスがあって、いまも周りに一定エンタメに興味があるというバイアスがあるよな
    • 他の30代と比べてどうなんだろうなとか、他の国の平均どうなんだろうなとかが気になる
  • https://regional.rubykaigi.org/tokyo12/ 出すか
    • funassy の話はウケが良いだろうか
      • ChatOpsが出てきて10年以上経った変化
      • 導入とお別れ
    • これだけ出してる人が Kaigi on Rails のオーガナイザーやってるからFBとかいい感じにしてくれるんだなという気持ちになった
  • Time.zone.nowTime.currentどっち使おうな
    • /study-hiroki/Time.nowとTime.currentの違い
      • Time.zone.nowTime.current は、タイムゾーンが設定されている場合には同じ結果を返します。しかし、タイムゾーンが設定されていない場合、Time.zone.now は問題を引き起こす可能性がありますが、Time.current は安全にローカルタイムゾーンの時刻を返す。

      • エラーで安全に意図しない結果がわかるなら個人的には Time.zone.now にしたいな

2024-10-21

2024-10-22

  • Square での↓を踏んでおり非常に厳しい
  • https://issquareup.com/ja/incidents/01JARXAZKB9P14XF408RHYKGGR#updates
  • ていうか日本時間で金曜の昼過ぎから発生していていままで障害Statusが更新されてなかったのが説明しづらすぎて本当にやりづらいので勘弁してほしい
  • 適用ある法令等により最大限に認められる範囲で、Square、提携カード会社、供給業者およびライセンサー(ならびにそれらの関連会社、代理店、取締役、および従業員)は、いかなる場合も、本サービスの利用、利用許否、または本サービスを利用できないことに起因する、直接または間接、通常または特別等の如何を問わず、あらゆる損害(利益、営業権、利用もしくはデータの毀損・損失またはその他無形物の毀損・損失に対する損害を含むが、これらに限定されない)について責任を負いません。Squareに故意または重過失がある場合を除き、いかなる場合でも、Squareは、ハッキング、改ざん、または本サービスもしくは加盟店の本サービスへの登録・利用もしくはそれに含まれる情報へのその他の不正なアクセスもしくはその利用により生じる加盟店および第三者への損害、損失または被害について責任を負いません。

    • この上まで散々お前らなんかやらかしたら賠償な!って書いてるのにSquareがなにか引き起こしても責任を負ってもらえないのマジっすか…… https://squareup.com/jp/ja/legal/general/ua
  • maintenance_tasks
    • .order(:id) ができないらしい
      • その中でうまい感じに冪等性を担保しなきゃいけないのはちょっと難しそう?

2024-10-23

  • scope creep という単語を知った
  • Railsに型というのはどれほどうれしいんだろう
    • たぶん View ではあまりうれしくないよね?
    • Job や Service ではうれしそう
  • Kibana や maintenance_tasks みたいなやつ、つまり外部からそういうのを継ぎ足していったときも嬉しさがあるのかな
  • バックエンドエンジニア に求められるものっていうのはやっぱ深い経験とその再現だな
    • ようやくわかってきた気がする
    • 一方で自分はいわゆる サービス開発エンジニア 最近だと…なんだっけ?が好きで重なるけど、全部が全部というわけではないわね
    • 自分のジョブの上級職はざっくり PdM だの事業部長だのそういう感じだよな

2024-10-24

  • そろそろ Rails Update 業したい
  • TIL: bikeshed
    • 人が集まると、なぜかどうでもいいようなことほど議論が紛糾してしまう傾向がありますが、このような現象のことを、FreeBSD のコミュニティでは自転車置場の議論 (bikeshed discussion) と呼んでいる

    • ref http://0xcc.net/blog/archives/000135.html
  • standardrb/standard
  • CSV処理のために duckdb を入れてみるなど
    • https://duckdb.org/docs/data/csv/overview.html
    • cat hoge.csv | duckdb -c "SELECT column2 FROM read_csv('/dev/stdin')" で出力した column2 をシンプルに取得できないものだろうか
    • cat hoge.csv | duckdb -c "copy(select column2 from read_csv('/dev/stdin')) to 'result.csv'" でいいじゃん
  • 影響範囲広いところにカラムを追加したらやっぱり大変だなぁ
    • Spec をそれなりに書いてるから見つかるけど、書いてなかったら…
    • 書いてないところも検知されそうという具合で Prisma が少し羨ましく感じてきた
  • 簡易的な検索として Text fragments 使おうとしたけどSPAの Now Loading... と相性悪そう

2024-10-25

  • Material UI のDialogを nanikas.map((nainka) => (<div><Dialog /></div>) のように使って close できなくて困ってる
    • map 以下で選択されたやつを外に持ついつものやつで解決 ただしなんでこれがうまくいかないのかは正直良くわかってない
  • Kaigi on Rails きてる

2024-10-26

2024-10-28

  • 一週間がまた始まろうとしている
  • Kaigi on Rails の便利リンク集発見 [/ruby-jp/Kaigi on Rails 2024](https://scrapbox.io/ruby-jp/Kaigi on Rails 2024)
  • Squareさん〜〜全く issquareup を更新しないじゃないの あなたのAPIずっと 500 出しているのよ……
  • 全体感・全体観・全体像・大局観
    • Feelingが大事。全体感という単語を使うのは部分的に合ってると思う。

2024-10-29

  • Event Bridgeのデバッグどうすればいいのよ
    • デプロイされてた Lambda が間違えていた。これを見つけるのに2時間かかるなど…。
      • 具体的にはローカルでは編集してたけどデプロイ忘れ デプロイ忘れじゃねぇか〜〜
    • デバッグは難しかったけど、Replayとかすげぇな。超助かる。実際に受け取った値を何度もやり直せるのはいい。
  • https://www.youtube.com/shorts/poscKC4rBBk
    • ええやん
  • 「前職ではこうだった」が嫌われるとされる理由ってなんだろうな
    • 僕たちはブログや本でよその仕事術を取り入れて改善することが多い
    • 一方で「〇〇すべし」の理由が「前職ではこうだった」だと微妙な天下り感が気に食わんのだろうか
    • 「XXということがあって前職では〇〇としていました」なら受け入れやすい?
  • Cookpad ではいろいろなものを内製していたけど、Fussyではまだそういう段階にない
    • 一方で、いくつかのサービスを内製するメリットが既に見えつつある。

2024-10-30

  • update skip locked, Rails にそういう書き方は用意されてないか
    • Railsでupdate skip lockedする方法
  • ミーティングの開始3分前から参加登録とかするのはどうか
    • あの微妙に何もやりづらい3~5分が腹立たしい

2024-10-31

monthly