2024/11
Published At: 2024/12/1 20:40:00

2024/11

2024/11月総括

久しぶりにAIに気持ちが向いた月だった。 本を読んでみたら思っていた以上に様々な技術的ハードルも解除されていて、同じ記事かどうかを判別するマイクロサービスを作ってみたりした。

【30歳】という文字が降り掛かって踊らされる気持ちになっている。 気持ちだけじゃなくて体調面も老化を感じさせる1ヶ月だった。1ヶ月で2回も38℃いくとか、もう老人元年がはじまったかもしれない。


2024-11-02

  • 東京Ruby会議 のCfP間に合うか?

2024-11-03

  • gitで過去を掘り起こすのはどう考えても commit message だけでは難しいので、関連するドキュメントを含めて retrieve できる未来が来るべきだと思う。ソフトウェア考古工学分野の確立が必要。
  • ところで考古工学なんて言葉があるのかと調べてみたら意外となかった
  • Extend Rails は本当にいいことなのか
  • どのくらい求められている抽象化なのかに依る?
  • 汚いけど動くコードがそこに書かれてるのは、なんか複雑なことがあるんだなというのが認識できて良い?

2024-11-05

  • SaaS is Dead という言葉が流行っているらしい
  • デカい金の稼ぎ方としてSaaSの代わりにAIが来てまっせという感じなきがする
  • Ruby is Dead のようなもので別に死んでないのだろう多分
  • Google検索がつらすぎる
  • もはや site:scrapbox.iosite:zenn.dev などを使って生き延びている
  • 自前で用意するより newt が安い理由ありそう
  • 航空券を卸値で使える

2024-11-06

2024-11-07

日報

  • ソフトウェア考古工学やはり発展してほしい
    • git の commit message が雑なの、書いてる人のレベルがという話は置いておいて、各メリットを享受できないとかそういう話がありそう
    • 考古工学の発展を応用してPull Requestのメッセージが自動で生成されるとかになるとよさそう
    • 最近上記の気持ちもあるけどLLMを改めて調べ始めている
    • 最近はJSON modeってやつがAPIで指定できることが多くて、スキーマを指定するようなプロンプトを書く必要はないらしい
  • omotesandorb 来た
    • ruby-lsp の話を聞いてる
    • snaka/rails_new_flags
    • 技術・事業・組織なるほど
      • スタメンの2つ前のCTO

2024-11-08

日報

  • なんかあんまり調子が良くない

  • 「ハサミ取って」「何に使うの?」「袋開けたい」「貸してみ、手で開けたるわ」というコミュニケーションから「機能〇〇実装して」「何に使うの?」(長い議論)「じゃあ△△で(あるいは〇〇で)」の間にあるグラデーション知りたい

    • コミュニケーション面で「〇〇がほしい」に対してwhyを聞くのは日常としてはバッドノウハウな気がしてる
    • 仕事としては然るべきだけど、ここの切り分けがうまくできない人ももちろんいる
    • 仕事でも why が多いと引っかかりが多くてだるいという感じはある
      • whyが多いのは提案者の提案の質が低いというのもあるかもしれない
  • 「これは不便」と「自分にはこれは使いづらい」を分けられないのって何なんだろうな

    • 不便はそれの性質なのかもう少し見てほしいと思うが……
  • 嫌しらず というのを最近よく聞くね

  • 来年30歳というのは本当につらい

    • 5年くらい前から28歳の気持ちだったし今もそう
    • 30歳本当に若者とは言い難くって、若造という感じがする……
    • 30歳で若者文化に詳しいみたいな顔してるやつは全員Fakeだという気持ちにすらなってきている
    • 東京にいたらずっと(?)20代でいられる気もする 気がするだけで30代なんだよな
  • opengraph_parser を使ってみる

    • 使うときは次のように encoding を指定しないと日本語環境で文字化け

    • と思ったけど違う…?プロジェクトによって何故か文字化けするしないがある。

    • bundle add したものは文字化けする

    • git clone して gem "opengraph_parser", path: "." としたものは文字化けしない!(?)

    • __ENCODING__は同じ UTF-8

    • うーーーーーん作者が手元で publish したのか?と思しき gem(0.2.5) と 0.2.4 で使い勝手が違いすぎる……

    • 使用を諦める

    • YOUTRUST は諦めてる

    • 一旦 gem 'opengraph_parser', github: 'funwarioisii/opengraph_parser', branch: 'adopt-japanese' として回避する

  • ecspresso の v2.4.2 で update service が成功するときと失敗する時があるのなに?

    • Error: 24/11/08 13:55:06 [ERROR] FAILED. failed to update service attributes: operation error ECS: UpdateService, 1 validation error(s) found.

    • missing required field, UpdateServiceInput.DeploymentConfiguration.Alarms.AlarmNames.
    • が急に出るようになった。
    • deploymentConfiguration.alarms.alarmNames: [] とする
  • Rails Update 業するMPがない

    • どうやら 8.0 が出たらしいわよ奥様

2024-11-09

日報

  • Cosense を使ってプロジェクト管理してるところを知りたい
  • なんかスポンサーしてるYAPC::Hakodate, ISUCON 14, Kaigi on Rails 2023 で使われていそう?

2024-11-10

日報

  • 労働、Side Project を始めるのに比べて圧倒的楽に改善ができてしまうので良くない
  • transition の周り何もわかってない
  • idobata.io というビジネスチャットツールが昔あったらしい
    • Slack, Teams とかとの戦いに負けてしまったのは何故なんだろう……。良さそうという記事もあったが……。
    • エンジニアに好かれていた一方でそうではない人の意見は見なかった
  • ISUCONの準備をやらねばだけど気づいたら他のことをしがち

2024-11-11

日報

  • LangChainとLangGraphによるRAG・AIエージェント[実践]入門 が昨日届いたので読み始めている
  • 手が届くところにいて手をかけなかった経験や事実が自分の中で大事すぎる。納得の経緯。
    • 私立の中高で勉強しなかったり(カス)、東京に住みながら思ったよりイベントや外食にいかなかったり。
    • 後悔をなくすために動いている気がしていて、それは本当に先に向かっているのかというと怪しいね
    • 一方で学生時代の後悔はまだ夢に出たりするので、自分の中で大事にする理屈もあるわなという感じ。

2024-11-12

日報

2024-11-14

日報

2024-11-15

日報

2024-11-16

  • 返せていなかったメールを返せた
  • 主語が自分のときに「連絡・ご連絡」「契約・ご契約」というのの使い分けがわからなかったけど、敬語というのは相手に対しての謙譲・尊敬で分けるらしいのを思い出した
    • PDF注意: 文化審議会答申
  • 敬語、ルールベースで正しく運用するのはほぼ不可能だからLLM矯正するのがよさそうだ

2024-11-19

日報

2024-11-20

日報

  • TIL: Launchpad
  • スクレイピングより少し狭い言葉がほしい。取得後のテキストデータからデータをいい感じに取得する部分。
    • スクレイピングといったときなんかデータフェッチも含んでいそう
  • 生成AI、Techによる構造的搾取だと思えてきている。
    • 個人イラスト系は特に
  • ドキュメンテーション文化のプリミティブな体験、回覧板とか先生のプリントみたいなやつだけど渡されても一定読まない人とかいるもんなあ
  • turborepo と turbopackは別か
  • 30歳になるにあたってを書き始めた準備していく

2024-11-21

日報

  • Next.jsのServer ActionsやReactのuseActionStateがなかなか腹落ちしない
  • 現代で一番標準的な mutation の考え方教えてくれ〜
  • Server Actions
  • NextAuthでのRefresh tokenの使い方とか
  • Googleの場合 https://next-auth.js.org/providers/google を見ると
    • refresh token取り出せた!

2024-11-22

日報

  • Full Stack TypeScript というかRailsの代替としてNext.jsを使ったときにレコードの操作というか、ドメイン層をどこに置くかは難しいというか自分でやれって感じですよね?

  • この話でイメージしているのはRailsのようにDBに繋がってViewをユーザが使うWebアプリ(Next.js)で、想定していないのはAPI層

  • prismaをいい感じに?

    • 2024-10-07#67036ac5188b52000073fd3cあたりの感想と合わせていい感じの設計論がほしいね

    • Call-this operator みたいなのが入るとRailsのモデル層みたいなを書きやすそうだ

  • 実際↑はまだ無く、 Rails脳としてはMVCに分けたいが、それは Next.js のいいところを損なう気もする

    • 具体的には client component の中で cookie の取り扱いなどができるがそれを強引に nanika-modal.view.tsxnanika-modal.controller.tsx に分けてやったりしても時間の無駄な気がする
    • ただDBとつなげるからにはModel層はあったほうがいいと思う
  • 他の人の話

    • [/koushisa/Prisma を綺麗に使いたければ MVC という発想を忘れるのが良いのでは](https://scrapbox.io/koushisa/Prisma を綺麗に使いたければ MVC という発想を忘れるのが良いのでは) - > 戻り値は モデル ではなく Entity - > この メンタルモデル が違うので他の ORM に慣れている場合は アンラーニング が必要そう - たしかに - Rustのlocoなんかはどうなんだろう - ```rust, impl super::_entities::users::Model { /// finds a user by the provided email /// /// # Errors /// /// When could not find user by the given token or DB query error pub async fn find_by_email(db: &DatabaseConnection, email: &str) -> ModelResult<Self { let user = users::Entity::find() .filter(query::condition().eq(users::Column::Email, email).build()) .one(db) .await?; user.ok_or_else(|| ModelError::EntityNotFound) }

    • [/fsubal/Prisma を綺麗に使いたければ MVC という発想を忘れるのが良いのでは](https://scrapbox.io/fsubal/Prisma を綺麗に使いたければ MVC という発想を忘れるのが良いのでは)

      • RailsのModel層への期待が違っている気がする?validation をやりたいだけじゃなくって、ビジネスロジックがマッピングされたものをModel層に期待している
        • 〇〇が作られたら関連して〇〇を作ったりメール飛ばしたり
  • src/lib/models/user.impl.ts のようなところにドメインロジックを書くのはどうか

    • これ type check 通るんですけどね。そこまで厳密にやらんでもよろしいやん。

      • Master & Extend するときの態度ではないな…
    • DBのテーブルにないモデルも書いたらよろしいやん。そういうのは src/lib/models/summarized_point.ts みたいな

    • この辺の話、実は vercel/kv でどの Key に何が置かれているかをいい感じに管理したいというのもモチベーションにあったけど、これだと全く解決できなくて各モデルファイルに散らばる気がした

      • コンセプトのレイヤーが違う話なので一旦それは忘れるというか、実装で工夫すれば解決するか
  • bunの repl でこれ踏んでる

  • Passing objects in await expressions in REPL · Issue #10422 · oven-sh/bun · GitHub

    • 修正の見通しなくて悲しい

2024-11-24

日報

2024-11-25

日報

  • Next.js App Routerのroute handlerで次みたいなことを書いたら怒られた
    • 同じ場所に Request するための関数が置いてあったら便利だと思ったのだけど🙄
  • あとはUI/UXですねが苦手でたまらないのだけど、そもそもプロダクト開発のフローというか、全体像ってどうなんだろうな。自分なりにまとめたい
    • プロダクトマネジメントのすべてとか読んでみるのもいいのだろうけど一旦考えて答え合わせに行こう。
    • 1つの機能を追加するにあたって
      • 経営戦略 > 事業戦略 > (ペルソナの決定?) > UXの決定 > 開発設計 > 実装
        • 決定と書かれていてもリサーチなど次第でそこからやりなおすこともある
        • https://scrapbox.io/files/6743f889d19bdd4375cb6c9f.png
        • Coolなアイデアでも事業戦略より上のレイアーで特に重要度が高くなく、優先度が上げられないケースはある
          • 逆にアイデア次第でその戦略を変えることもあるが
  • TypeScriptよくわからん
    • TS2322: Type (params?: RawCreateParams) => ZodUndefined is not assignable to type string???
    • https://scrapbox.io/files/67444d59b2bebc8e09032870.png
      • ???
      • Zod の話ししてないがなんだ ZodUndefined
      • import { z, undefined } from "zod"; してましたガハハ
  • 「作品が良くないとメッセージ性って込められないんですよ」

    • はい
    • 作品が良くないとメッセージ性なんて込めてる場合じゃないんですよね 見た人が何も感じないからです 何も感じないのにメッセージ性なんて込めてる場合じゃないんですよね

    • はい

2024-11-26

日報

2024-11-28

日報

  • 胃腸炎でした この時期は毎年恒例
  • いつもは大体ストレス起因だけど、今年は鶏肉に火が通ってないというゆるふわ事故
  • リニューアルはどういう時にするべきか

2024-11-29

日報

  • 夜な夜なおもむろに v0.devやbolt.newをさわり始めてみたけど便利すぎて笑った。自分クビでいいっす。
    • 具体的に v0.dev でやってみたのは今作っている機能のLP作成
      • それっぽいのがスッと出てきてよかった
      • ImageFXってやつで素材作って渡してあげるともっと良くなりそう
      • @izutorishima: 前も書いたけど ImageFX はとにかくこういうそれっぽい画像を作るのでめっちゃ使える

      • https://pbs.twimg.com/media/GdabC41aIAAf8aK.jpg

      • 最低限の叩きFigmaなしで出来るのは本当に良さそうだし、作ったLPを眺めながらカオ・ウリ・キキみたいなのを整理できていい。
monthly