チーム内でのクックブックの共有

2020年11月23日発行
アラン・リチャードソン著
ケーススタディ

チーム内でのクックブックの共有

2020年11月23日発行
アラン・リチャードソン著
リソースを見る
リソースを見る

チーム内でのクックブックの共有

ある人がコードの品質や生産性を向上させるためにSensei のレシピを作成し、そのクックブックが共有されると、チームの全員が恩恵を受けることができます。

Sensei では、クックブックを共有するためのさまざまな仕組みが用意されています。

  • プロジェクト内のクックブックをバージョン管理下に保存
  • クックブックの共有フォルダへの格納
  • Githubにクックブックを保存
  • HTTP(s)で圧縮されたファイル

クックブックを共有することで、Sensei 、チームが知識を共有するためのコラボレーションを支援します。このコラボレーションにより、コミュニケーションが改善され、合意されたコード品質アプローチを定着させることができます。

例えば、料理本の共有。

  • は、チームメンバー同士が有用なレシピを共有するのに役立ちます。
  • チームリーダーが若手スタッフのために、合意されたコーディング手法を成文化し、合意されたバージョンのための迅速な修正を伴う一般的な違反行為を特定することをサポートします。 
  • 例えば、AppSecチームがコードの問題点を明らかにするためのレシピを作成し、開発チームがクイックフィックスを作成するといったように、チーム間の協力体制が強化されます。

ここからは、それぞれの共有メカニズムの実装方法について説明します。

プロジェクト内のクックブックをバージョン管理下に保存

クックブックファイルを作成する際には、project .sensei フォルダーがデフォルトのオプションとなります。

  • `project://.sensei`

すべてのクックブックとレシピは、プロジェクト内の.sensei フォルダに保存されます。

共有するための最も簡単な方法は、プロジェクトの .sensei フォルダをバージョンコントロールに追加することです。

そして、.sensei フォルダーは、プロジェクトに関連する他の共有コードアーティファクトと同様に管理できます。クックブックはYAML設定として保存されるので、コミットやレビューの過程で簡単にマージすることができます。

これは、公開されているsensei-blog-examples プロジェクトで採用されている方法です。

.sensei フォルダーには、すべてのレシピが入ったクックブックが入っており、リポジトリをクローンした人は誰でも利用することができます。

クックブックを任意のフォルダに保存

また、中央に保存されているクックブックをチームで使用することもできます。

クックブックを共有の書き込み権限のあるフォルダに保存すれば、チーム全員でレシピを更新したり、作業中のプロジェクトにインポートしたりすることができます。

ロケーションにはディレクトリパスが設定されます。

Githubにレシピを保存

Sensei は、Github リポジトリに保存されたレシピにもアクセスできます。プライベートとパブリックの両方のリポジトリに対応しています。

Github over SSH

SSH リポジトリへのアクセスは、Location に以下の構文を使用して設定します。

git@github.com:SecureCodeWarrior/acookbook.git

これを実現するには、リポジトリにクックブックフォルダの内容を格納します。

また、クックブックのブランチとサブフォルダーを設定することもできます。例えば、masterブランチではクックブックのサブフォルダーに

e.g.

  • git@github.com:SecureCodeWarrior/sensei-blog-examples.git|master|.sensei

プライベートリポジトリの場合は、SSHキーの設定が必要です。

また、鍵にはパスフレーズをつけてはいけません。

Github over HTTPS

公開されているリポジトリに HTTPS でアクセスすることも可能で、その場合は repo.git|branch|folder という同じ構文が使われます。

私たちのブログの例のプロジェクトに

  • https://github.com/SecureCodeWarrior/sensei-blog-examples.git|master|.sensei

基本的な保護のサンプルセットでは、デフォルトでマスターブランチが取得され、`rules.sensei` ファイルがルートフォルダにあるので、ブランチやサブフォルダを無視することができます。



HTTP(s)で圧縮される

Sensei 、HTTPまたはHTTPSでzip形式のクックブックにアクセスすることもできます。

例えば、ポート8000でHTTPサーバーがローカルに待機している場合

  • http://localhost:8000/rules.sensei.zip

ZIP形式のクックブックファイルには、クックブックフォルダーの内容(例:ルール)が含まれている必要があります。sensei ファイル。

概要の共有

Sensei では、複数のクックブックの使用をサポートしています。これにより、個々のプログラマーが自分の学習と生産性をサポートするレシピを持つことができます。

さらに重要なことは、チームは知識が共有されているときに最も効果的に働くことがわかっています。特定のプロジェクト、特定のライブラリ、共有のマイグレーションパターンなど、チームで共有するリポジトリを持つことは、チームの生産性を高め、チームの経験を成文化するのに役立ちます。

クックブックを共有すると、複数のチームが同じクックブックを使用することができ、例えば、AppSecと開発といった異なる分野のチーム間コラボレーションを向上させることができます。

4つの中核となる共有メカニズムが用意されているので、Sensei 、知識共有のコラボレーションを高めるために使用できるアプローチが少なくとも1つはあるといいですね。


---

IntelliJの「Preferences ‾ Plugins」(Mac)または「Settings ‾ Plugins」(Windows)から、「sensei secure code」を検索して、「Sensei 」をインストールすることができます。

Sensei ブログ記事のコードやレシピはすべてGithub inで公開されています。


リソースを見る
リソースを見る

著者

アラン・リチャードソン

もっと知りたい?

セキュアコーディングに関する最新の知見をブログでご紹介しています。

当社の豊富なリソースライブラリは、安全なコーディングアップスキルに対する人間的なアプローチを強化することを目的としています。

ブログを見る
もっと知りたい?

開発者主導のセキュリティに関する最新の研究成果を入手する

ホワイトペーパーからウェビナーまで、開発者主導のセキュアコーディングを始めるために役立つリソースが満載のリソースライブラリです。今すぐご覧ください。

リソース・ハブ

チーム内でのクックブックの共有

2020年11月23日発行
アラン・リチャードソン著

チーム内でのクックブックの共有

ある人がコードの品質や生産性を向上させるためにSensei のレシピを作成し、そのクックブックが共有されると、チームの全員が恩恵を受けることができます。

Sensei では、クックブックを共有するためのさまざまな仕組みが用意されています。

  • プロジェクト内のクックブックをバージョン管理下に保存
  • クックブックの共有フォルダへの格納
  • Githubにクックブックを保存
  • HTTP(s)で圧縮されたファイル

クックブックを共有することで、Sensei 、チームが知識を共有するためのコラボレーションを支援します。このコラボレーションにより、コミュニケーションが改善され、合意されたコード品質アプローチを定着させることができます。

例えば、料理本の共有。

  • は、チームメンバー同士が有用なレシピを共有するのに役立ちます。
  • チームリーダーが若手スタッフのために、合意されたコーディング手法を成文化し、合意されたバージョンのための迅速な修正を伴う一般的な違反行為を特定することをサポートします。 
  • 例えば、AppSecチームがコードの問題点を明らかにするためのレシピを作成し、開発チームがクイックフィックスを作成するといったように、チーム間の協力体制が強化されます。

ここからは、それぞれの共有メカニズムの実装方法について説明します。

プロジェクト内のクックブックをバージョン管理下に保存

クックブックファイルを作成する際には、project .sensei フォルダーがデフォルトのオプションとなります。

  • `project://.sensei`

すべてのクックブックとレシピは、プロジェクト内の.sensei フォルダに保存されます。

共有するための最も簡単な方法は、プロジェクトの .sensei フォルダをバージョンコントロールに追加することです。

そして、.sensei フォルダーは、プロジェクトに関連する他の共有コードアーティファクトと同様に管理できます。クックブックはYAML設定として保存されるので、コミットやレビューの過程で簡単にマージすることができます。

これは、公開されているsensei-blog-examples プロジェクトで採用されている方法です。

.sensei フォルダーには、すべてのレシピが入ったクックブックが入っており、リポジトリをクローンした人は誰でも利用することができます。

クックブックを任意のフォルダに保存

また、中央に保存されているクックブックをチームで使用することもできます。

クックブックを共有の書き込み権限のあるフォルダに保存すれば、チーム全員でレシピを更新したり、作業中のプロジェクトにインポートしたりすることができます。

ロケーションにはディレクトリパスが設定されます。

Githubにレシピを保存

Sensei は、Github リポジトリに保存されたレシピにもアクセスできます。プライベートとパブリックの両方のリポジトリに対応しています。

Github over SSH

SSH リポジトリへのアクセスは、Location に以下の構文を使用して設定します。

git@github.com:SecureCodeWarrior/acookbook.git

これを実現するには、リポジトリにクックブックフォルダの内容を格納します。

また、クックブックのブランチとサブフォルダーを設定することもできます。例えば、masterブランチではクックブックのサブフォルダーに

e.g.

  • git@github.com:SecureCodeWarrior/sensei-blog-examples.git|master|.sensei

プライベートリポジトリの場合は、SSHキーの設定が必要です。

また、鍵にはパスフレーズをつけてはいけません。

Github over HTTPS

公開されているリポジトリに HTTPS でアクセスすることも可能で、その場合は repo.git|branch|folder という同じ構文が使われます。

私たちのブログの例のプロジェクトに

  • https://github.com/SecureCodeWarrior/sensei-blog-examples.git|master|.sensei

基本的な保護のサンプルセットでは、デフォルトでマスターブランチが取得され、`rules.sensei` ファイルがルートフォルダにあるので、ブランチやサブフォルダを無視することができます。



HTTP(s)で圧縮される

Sensei 、HTTPまたはHTTPSでzip形式のクックブックにアクセスすることもできます。

例えば、ポート8000でHTTPサーバーがローカルに待機している場合

  • http://localhost:8000/rules.sensei.zip

ZIP形式のクックブックファイルには、クックブックフォルダーの内容(例:ルール)が含まれている必要があります。sensei ファイル。

概要の共有

Sensei では、複数のクックブックの使用をサポートしています。これにより、個々のプログラマーが自分の学習と生産性をサポートするレシピを持つことができます。

さらに重要なことは、チームは知識が共有されているときに最も効果的に働くことがわかっています。特定のプロジェクト、特定のライブラリ、共有のマイグレーションパターンなど、チームで共有するリポジトリを持つことは、チームの生産性を高め、チームの経験を成文化するのに役立ちます。

クックブックを共有すると、複数のチームが同じクックブックを使用することができ、例えば、AppSecと開発といった異なる分野のチーム間コラボレーションを向上させることができます。

4つの中核となる共有メカニズムが用意されているので、Sensei 、知識共有のコラボレーションを高めるために使用できるアプローチが少なくとも1つはあるといいですね。


---

IntelliJの「Preferences ‾ Plugins」(Mac)または「Settings ‾ Plugins」(Windows)から、「sensei secure code」を検索して、「Sensei 」をインストールすることができます。

Sensei ブログ記事のコードやレシピはすべてGithub inで公開されています。


弊社製品や関連するセキュアコーディングのトピックに関する情報をお送りする許可をお願いします。当社は、お客様の個人情報を細心の注意を払って取り扱い、マーケティング目的で他社に販売することは決してありません。

フォームを送信するには、「Analytics」のCookieを有効にしてください。完了したら、再度無効にしてください。