BallerinaでAIサービスを構築した
感情分析用のAPIを構築しました。Ballerinaを使用しました。この言語はこれまで使ったことがありませんでした。
普段はExpressやFlaskを使っています。何か新しいことに挑戦したいと思いました。
バックエンドのコードの大部分は「配管(plumbing)」作業です。JSONをパースし、データを移動させ、エラーを処理します。実際のロジックはわずかで、配線(wiring)の部分が大部分を占めます。
Ballerinaはネットワーキングを言語そのものに組み込んでいます。学んだことは以下の通りです:
- ルーティングは関数の一部です。個別のルーターを用意する必要はありません。
- JSONは自動的に型付きのレコードに変換されます。手動でのパースは不要です。
- ネットワークコールにはアロー
->を使い、ローカルコールにはドット.を使います。 - このアローは、コールが失敗する可能性がある場所を示してくれます。これにより、潜在的なリスクが可視化されます。
- エラーは戻り値です。
checkキーワードが失敗を処理します。これにより、正常系(happy path)のコードをクリーンに保てます。
Ballerinaは「接着剤(glue work)」のためのものです。APIとデータベースを接続するために活用してください。配線作業が自然に感じられるようになります。
フレームワークを継ぎ接ぎする作業から解放されたいなら、ぜひBallerinaを試してみてください。