catatsuy's Picks Vol.4
Go
https://github.com/catatsuy/notify_slack でテスト時にsleepしている箇所があるので使いたい。ただ先日使ったらうまく動かなかった。余裕があれば調べてフィードバックする。
go-sql-driver/mysqlの新バージョンリリース。zlib compression(MySQL 8.0.18かららしい)やVECTOR型(MySQL 9.0かららしい)とかが入った。
Security
ついに有効期限6日間の証明書が始まる。少なくとも1日に1回実行する必要があるので、大分世界観が変わる。
ACMEにprofilesの仕様が追加される。これでshortlivedの証明書を発行できるようになるらしい。
legoのshortlived証明書の実装。
Cloud Service
Slackのビデオ通話の機能はAmazon Chime SDKを使っていたのか、という気持ちに。
ついにAmazon Chimeが終了。AWSの人とミーティングするときに何度か使ったことがあるが、その後Google Meetに変更してほしいとお願いした後は使っていない。なおAmazon Chime SDKは引き続き利用可能。
CDN
Fastly AI Acceleratorが割とおもしろい。Fastly上で軽量なLLMを使ってembeddingを保存しておき、そのembeddingが一定以上近いpromptが指定されていたらキャッシュを返却する。ユーザーが比較的短いプロンプトを入力するサービスなら、ChatGPTのAPIを使ってキャッシュヒット率を上げられてChatGPTの料金を下げられそう。
デフォルトのx-semantic-thresholdが0.75で低すぎるので、ある程度高くしておかないと似てないpromptでキャッシュが使い回される問題が起こりそう。CDNのキャッシュをうまく使った機能でおもしろい。
AI
Tim O’Reillyの予測。ChatGPTで要約させてみた。
-
プログラミングの進化とAIの影響
過去にもプログラミングの進化により低レイヤーの作業が不要になったが、それに伴い新しいスキルや技術が求められるようになった。現在のAIの進化も同様に、プログラマーの役割を変えるが、プログラミングそのものが終わるわけではない。 -
AIがもたらす変化と新しいスキルの必要性
AIを活用することで、より多くの人が簡単にプログラムを作成できるようになり、開発の敷居は下がる。しかし、単なるコード作成ではなく、AIを活用したシステム設計や管理、デバッグなどのスキルがより重要になる。 -
未来のプログラマー像と市場の拡大
AIがプログラミングを支援することで、開発のスピードと規模が拡大し、新しいアプリケーションやビジネスが生まれる。そのため、AIを使いこなせるプログラマーや、より高度な設計や戦略を考えられるエンジニアの需要は増加し続ける。
解説とかPodcastもAIがすべて作る時代が本当に来そう。
The Devin Open Source Initiativeというのがあるらしい。通るかは分からないけど、メールを送ってみた。
Database
ホームタイムラインはRedisで全員分作成し、DBはTiDBで無停止で運用。
タイムライン生成は投稿したらフォローされている人のタイムラインに書き込みが行われるので、書き込みヘビーになる。この書き込みヘビーなシステムをどう安定させるかが難しい。
そこでRedisを使って管理することで、古いデータを削除するのも自動、タイムラインの時系列順のソートもRedisのzsetで可能。1から作っただけあってお手本のような設計。
ちゃんと追ってなかったが、MySQLは9からVECTOR型がある。ただしOSS版だとcos類似度などが求められない模様。使い道がないのではないか?
最近はPostgreSQLの方が勢いがあると感じる。pgvectorも普通に実用できるレベルなので便利。
OrchestratorでRaftを有効にできる。真面目にMySQLを運用するなら、OrchestratorでRaftを有効にしてMySQLが障害になっても短期間で自動昇格されるシステムを作りたいところ。
Spannerの方法はGoogle以外には厳しいと考えると、TiDBは現実的な気がする。CockroachDBはパフォーマンス劣化が厳しそう。
Private
直してもらったが、GitHubが72時間くらいキャッシュを持つらしく、なかなか変わらなかった。今はもう直っている。
chiのドキュメントにPathValueのことが書かれておらず、隠し機能になっていることに不満があるのでissueとPRを送ってみている。
Discussion