BT

InfoQ ホームページ ニュース Googleが改良版Cloud Source Repositoriesをベータ公開

Googleが改良版Cloud Source Repositoriesをベータ公開

ブックマーク

原文(投稿日:2018/09/27)へのリンク

Googleは、新たに改良したCloud Source Repositoriesのベータ提供を発表した。改訂されたのは、まったく新しいユーザインターフェースとセマンティックコード検索機能だ。

発表によると、ベータ提供されるCloud Source Repositoriesの基盤となるコード検索インフラストラクチャは、Googleのエンジニアが毎日コード検索に使用しているのと同じものだ。さらに、リポジトリ内のコード検索には、Googleユーザが検索に使うものと同じドキュメントインデックスと検索技術も使用されている。それによって、このサービスでは、コードがCloud Source Repositories内にある場合でも、あるいはGitHubないしBitbucketのクラウドバージョンからコードをミラーリングする場合でも、開発者の生産性を向上することができる。

Cloud Source Repositoriesを使うことで、開発者には、自分たちのコードベース検索にGoogleの検索技術を活用できるというメリットがある - Cloud Source Repositoriesに追加ないしミラーリングした所有リポジトリすべてに対して、単一のクエリを使用することが可能になるのだ。さらにCloud Source Repositoriesでは、アイデンティティとアクセスの管理(IAM)によるパーミッションも考慮されており、アクセス権を持たない開発者に対してコードが提示されることを防いでいる。さらに、検索パターンとしてRE2正規表現をサポートしており、複雑な検索クエリの実行が可能である。


出典: https://cloud.google.com/blog/products/application-development/introducing-new-cloud-source-repositories

コード検索から送信された検索クエリはルートマシンに転送され、何百台ものリーフマシンに共有される。クエリ処理ではファイル名、クラス、関数その他のシンボルによる照合の他、コンテキストやシンボルの名前空間による照合も行われる。言語を問わず検索可能な点にも注目すべきだが、ただしソースの意味を理解することによる検索の強化は、Java、JavaScript、Go、C++、Python、TypeScript、Protoのファイルに限られる。

正規表現を使用する場合には、最適化アルゴリズムを実行することにより、正規表現にマッチする可能性のある候補を素早く見つけ出した上で、完全な正規表現に対する結果に絞り込んで実際の一致を検出する、という方法を採用している。プロダクトマネージャのRussell Wolf氏は、ベータ公開を発表したHacker Newのスレッドで、次のように述べている。

所有するコードが多いほど、コードベース全体に対して複雑なセマンティクスと正規表現クエリを実行可能な、高速な検索ツールを所有することのメリットは大きくなります。コードベースがそれほど大きくない場合であっても、必要なコードを見つけ出すためには最も早い方法です。

Cloud Source Repositoriesは、Google Cloud Platform(GCP)のフリートライアルまたはフリーティアで試用することができる。新たに空のリポジトリを生成したり、あるいはGitHubないしBitbucketのクラウドバージョンからコードをミラーリングすることも可能だ。
 

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。