GameWith Developer Blog

GameWith のエンジニア、デザイナーが技術について日々発信していきます。

2024/05 サービス開発部業務アピール会 #GameWith #TechWith #cursor #非同期コミュニケーション #BigQuery #CloudStorage

こんにちは!GameWithサービス開発部です。

サービス開発部では月に一度、全体会にて どのように業務課題を改善したか をアピールする会を行っています。

今回は3件の内容をご紹介します!

2024年4月の発表内容はこちらです

https://tech.gamewith.co.jp/entry/2024/05/15/100000

VSCodeからCursorに乗り換えたら生産性が上がった話

OpenAIにも注目されているエディター Cursor の紹介でした

CursorはAI機能が非常に強力なエディターです。VSCodeからフォークされていることもあり、乗り換えも楽なのが特徴です。

エクステンションも自動で入れてくれるので乗り換えは楽々でした。

セレクトボックスで言語を選択させるのでは無く、自由入力でAIに解釈させたりするのも面白いと思いました。

Corsorの強みは他のファイルやドキュメントを参照しつつAIに指示ができる部分で、特定ファイルを選択しつつ「このファイルを参考に作成してください」のような使い方ができるとのことです。 スキーマを渡してDB層のコードを作成したり、テストコードの作成をデモとして実演していたのですが、非常にスムーズで驚かされました。

他にはコンフリクト解消が「両方残してください」で大半解決するようになり、非常に楽になったとのこと。

デメリットとしては月額 $40 とシンプルに高価な点で、円安の影響もあり非常に高価なライセンスです。

機能が非常に強力なため、メリットの方が上回っている感覚があるとのことです。

弊社ではGitHubCopilotを利用していますが、Cursorも良いなと感じました!

同期・非同期コミュニケーションの使い分け

弊社開発部は基本的にリモートワークをしているのですが、リモートワークでの同期(リアルタイム)と非同期コミュニケーションの適切な使い分けについて発表をしてくれました。

  • 同期コミュニケーション:リアルタイムでの対話 同期コミュニケーションは、Web会議ツール(例えばGoogle Meetなど)を用いたリアルタイムの会議が例に挙げられます。最大の利点は、コミュニケーションが直接的で迅速に行えることで、質問や議論がその場で進行し、即時的なフィードバックや意思決定が可能になります。

    以下のメリット・デメリットがあります。

  • 非同期コミュニケーション:時間を超えた情報共有

    非同期コミュニケーションは、メールやSlack、Notionといったツールを通じて行われます。予定を合わせる必要がないため、参加者は自分のタイミングで情報にアクセスし、自分のペースで内容を理解することができます。これにより、各個人が深く情報を吸収し、より質の高いフィードバックを提供することが可能になります。

    以下のメリット・デメリットがあります。

チームによって、同期と非同期のコミュニケーション手法のバランスを取ることが重要です。緊急性の高い情報の共有や意思決定が求められる場合は、同期コミュニケーションを選ぶべきですし、一方で、情報の確認や共有が目的の場合は、非同期コミュニケーションの利用が効果的です。

以前は非同期コミュニケーション至上主義でしたが、色々と振り返ることで同期と非同期のそれぞれの良さを理解して、その時々の都合に合わせてバランスよく使いこなして行きたい、とのことでした!

コミュニケーションは非同期・同期、都合に合わせてバランスよくが大事!

BigQueryのデータ転送サービスでCloudStorageのデータを転送する際のトラブル解決

外部データの集計をする仕組みをCloudStorageとBigQueryで作っているのですが、そこで起きたトラブル解決の発表でした。

上記のような仕組みになっており、storageのディレクトリからBigQueryへの転送は、BigQueryの機能である「データ転送サービス」を用いています。しかし、この機能は1度に1万ファイルの制限があるため、それを超えてしまうとエラーが起きてしまいます。

また一度上限を突破してしまうと、次の実行時にも1万ファイルを超えているため、ずっと継続してエラーになってしまう、というのを解消したという話でした。

まず転送対象のファイルを日毎にディレクトリ分割して保存し、データ転送サービスも日毎に対象ディレクトリを変えることで、失敗が連続で起きないようになりました。

以前(下記)の発表とあわせて、仕組みとして完成したので、今後はシステムの横展開などもできればということでした。

tech.gamewith.co.jp

外部データ集計を安定稼働させる仕組みが出来ました

最後に

今回もGameWithサービス開発部の裏側をお伝えしました。新たな発見に繋がっていれば幸いです。

こんなGameWithではエンジニアを絶賛募集中です!

サーバーエンジニアやフロントエンジニアの方、AIに興味がある方や、Unityでの開発に興味がある方もお気軽にカジュアル面談をお申し込みください!

github.com