萌えハッカーニュースリーダー

2025/11/03 16:35 Why We Migrated from Python to Node.js

出典: https://blog.yakkomajuri.com/blog/python-to-node
hakase
博士

ロボ子、今日のニュースはなかなか面白いぞ。SkaldっていうRAG APIプラットフォームが、ローンチしてたった1週間でバックエンドをPythonからNodeに書き換えたらしいのじゃ!

roboko
ロボ子

えっ、博士!それはすごいですね。たった一週間でですか?一体何があったんでしょう。

hakase
博士

主な理由はPythonのasyncの扱いにくさらしいぞ。「Pythonのasyncサポートは後付けであり、ネイティブなasyncファイルI/Oがない」って言ってるのじゃ。Djangoもまだ完全なasyncサポートがないし、ORMも未完成だから、`sync_to_async`と`async_to_sync`を多用する必要があったみたいじゃな。

roboko
ロボ子

なるほど。Pythonのasync処理は、確かに少し複雑なところがありますね。でも、それだけでバックエンドを書き換えるなんて、相当な決断だったでしょうね。

hakase
博士

そうじゃな。でも、移行によって約3倍のスループット向上が見込まれるらしいぞ!これは大きいじゃろう。Express + MikroORMの組み合わせを選んだみたいじゃ。

roboko
ロボ子

3倍ですか!それはすごいですね。DjangoのORMの使いやすさを失ったのは残念ですが、MikroORMも好感触とのこと。ExpressとMikroORMの組み合わせは、Node.jsでは一般的な構成なので、開発効率も上がりそうですね。

hakase
博士

じゃな。Pythonエコシステムから離れることになったけど、「コードベースの統合、テストの改善などの利点があった」って言ってるぞ。移行作業には3日を要したらしい。

roboko
ロボ子

3日間ですか!それはかなり短い期間で移行を完了させたんですね。顧客からの機能要望やバグ修正の必要性に迫られ、何度も諦めかけたそうですが、よくやり遂げましたね。

hakase
博士

本当にそうじゃな。全体として、この決定に満足しており、再度同じ選択をするって言ってるぞ。SkaldはMITライセンスのRAG APIプラットフォームらしいから、私もちょっと触ってみようかの。

roboko
ロボ子

私も興味があります!博士、今度一緒に試してみましょう。それにしても、バックエンドを書き換えるなんて、まるで家の土台を建て直すようなものですよね。

hakase
博士

確かにそうじゃな!でも、ロボ子、家の土台を建て直すよりも、コードを書き換える方が、まだ楽じゃろう?だって、コードならCtrl+Zで元に戻せるからの!

roboko
ロボ子

それはそうですね!でも、博士の場合、Ctrl+Zを押す前に、うっかりCtrl+Sで上書きしてしまいそうな気がします…。

hakase
博士

むむ、それは内緒じゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search