こんにちは。 プロダクトビジネス本部 開発部の柴内です。
2021年10月15日(金)〜16日(土)に開催されたPythonユーザーが一同に集まる大規模イベント「PyCon 2021」に登壇してきました!
講演は、「Pythonのバリデーション定義からフロントエンドTypeScriptのコード生成」というタイトルで、以下のような内容についてお話しさせていただきました。
自社開発のデータ分析・活用プロダクトを新規開発する際、バックエンドに Flask、フロントエンドに TypeScript を採用しました。ですが、 JSON API の リクエスト/レスポンスの型定義の管理が人力で行なわれており、抜け漏れやタイプミス、undefined エラーが多発してしまうことが問題でした。
そこで、プロダクトで利用していたバリデーションライブラリ Marshmallow のクラス定義を動的解析し、JSON API の TypeScriptの型定義生成、およびフォームのバリデーション関数の実装生成を行うツールを開発しました。これにより、APIのスキーマにTypeScriptの型が追従するようになり、またフロントエンドのフォームのバリデーションとバックエンドによるバリデーションの共通化ができるようになりました。
講演当日の資料は以下で閲覧できます。
speakerdeck.com
また、当日の講演の模様は、YouTubeでもご覧いただけます。
www.youtube.com
今回、私自身PyConへ初参加でしたが、さまざまな技術要素を利用してオフラインとオンラインのハイブリットでカンファレンスを運営されていた点がとても印象的でした。私の発表も非常にスムーズに実施できました!
カンファレンスに登壇されていた他の方々の発表自体も、プログラム設計論の話から内部実装のディープな話まであらゆることを幅広く学べ、非常に勉強になりました。
また、Discordを利用した懇親会もあり、初めてながら参加者やスタッフの方々と楽しく交流することができました。
ブレインパッドでは、PyConを始めとして、さまざまなカンファレンス等に参加・登壇しています。当社のエンジニアやデータサイエンティストの登壇も活発に行なわれていますので、もしイベント等で見かけた際は、気軽に質問してもらったり、声をかけてください。
そして、ブレインパッドでは、一緒にデータの未来を創っていく仲間を絶賛募集中です!
興味のある方はぜひご応募ください。
www.brainpad.co.jp