팀 내에서 쿡북 공유
한 사람이 코드 품질이나 생산성을 개선하기 위해 Sensei 레시피를 만들면 쿡북을 공유하면 팀원 모두가 혜택을 누릴 수 있습니다.
Sensei는 쿡북 공유를 위한 다양한 메커니즘을 제공합니다.
- 버전 관리 하에 프로젝트에 쿡북 저장
- 쿡북을 공유 폴더에 저장
- Github에 쿡북 저장하기
- HTTP를 통해 압축된 파일
Sensei는 쿡북을 공유함으로써 팀이 협업하여 지식을 공유할 수 있도록 도와줍니다.협업을 통해 커뮤니케이션을 개선하고 합의된 코드 품질 접근 방식을 적용할 수 있습니다.
예를 들어, 요리책 공유:
- 팀원들이 서로 유용한 레시피를 공유할 수 있도록 도와줍니다.
- 팀 리더가 합의된 버전의 빠른 수정을 통해 주니어 직원을 위해 합의된 코딩 관행을 체계화하여 일반적인 위반 사항을 식별할 수 있도록 지원합니다.
- 팀 간 협력을 촉진합니다. 예를 들어 AppSec 팀은 코드의 문제를 강조하기 위한 레시피를 만들 수 있고 개발 팀은 빠른 수정 사항을 작성할 수 있습니다.
다음 몇 섹션에서는 각 공유 메커니즘을 구현하는 방법을 설명합니다.
버전 관리 하에 프로젝트에 쿡북 저장
프로젝트 .sensei 폴더는 쿡북 파일을 만들 때 기본 옵션입니다.
모든 쿡북과 레시피는 프로젝트의.sensei 폴더에 저장됩니다.
가장 쉬운 공유 방법은 프로젝트 .sensei 폴더를 버전 제어에 추가하는 것입니다.
그러면.sensei 폴더를 프로젝트와 관련된 다른 공유 코드 아티팩트처럼 관리할 수 있습니다.쿡북은 YAML 구성으로 저장되므로 커밋 및 검토 프로세스 중에 쉽게 병합할 수 있습니다.
이것이 퍼블릭 센세이-블로그-예제 프로젝트에서 취한 접근 방식입니다.
.sensei 폴더에는 모든 레시피가 포함된 쿡북이 들어 있으며 저장소를 복제하는 모든 사용자가 사용할 수 있습니다.
쿡북을 모든 폴더에 저장
팀은 중앙 위치에 저장된 쿡북을 사용할 수도 있습니다.
공유 쓰기 권한이 있는 폴더에 쿡북을 저장하면 팀 전체가 레시피를 업데이트하고 작업 중인 프로젝트로 가져올 수 있습니다.
위치는 디렉토리 경로로 설정됩니다.
깃허브에 레시피 저장하기
Sensei는 Github 리포지토리에 저장된 레시피에 액세스할 수도 있습니다.프라이빗 리포지토리와 퍼블릭 리포지토리가 모두 지원됩니다.
SSH를 통한 깃허브
SSH 리포지토리 액세스는 위치에 대한 다음 구문을 사용하여 구성됩니다.
git@github.com: 시큐어 코드 워리어/ACookbook.git
이 작업을 수행하려면 저장소에 쿡북 폴더의 내용이 포함되어야 합니다.
쿡북의 브랜치와 하위 폴더 (예: 쿡북 하위 폴더의 마스터 브랜치) 를 구성할 수도 있습니다.
예:
- git@github.com: 시큐어 코드 워리어/센세이-블로그-예제.git|Master|.sensei
프라이빗 리포지토리에 대해 SSH 키를 구성해야 합니다.
그리고 키에는 암호가 없어야 합니다.
HTTPS를 통한 깃허브
HTTPS를 통해 퍼블릭 리포지토리에 액세스할 수도 있으며, 예를 들어 동일한 repo.git|branch|폴더 구문이 사용됩니다.
블로그 예제 프로젝트의 경우:
- https://github.com/SecureCodeWarrior/sensei-blog-examples.git|master|.sensei
기본 보호 예제 세트의 경우 기본적으로 마스터 브랜치를 가져오고 `rules.sensei` 파일이 루트 폴더에 있기 때문에 브랜치와 하위 폴더를 무시해도 됩니다.:
HTTP (s) 를 압축했습니다.
또한 Sensei는 HTTP 또는 HTTPS를 통해 압축된 쿡북에 액세스할 수 있습니다.
예를 들어 포트 8000에서 로컬로 수신 대기하는 HTTP 서버가 있는 경우
- http://localhost:8000/rules.sensei.zip
zip 쿡북 파일에는 쿡북 폴더의 내용 (예: rules.sensei 파일) 이 포함되어야 합니다.
공유 요약
Sensei는 개별 프로그래머가 자신의 학습과 생산성에 도움이 되는 레시피를 만들 수 있도록 여러 쿡북 사용을 지원합니다.
더 중요한 것은 지식을 공유할 때 팀이 가장 효과적으로 일한다는 것을 알고 있다는 것입니다.예를 들어 특정 프로젝트, 특정 라이브러리 또는 공유 마이그레이션 패턴 세트를 위해 팀 리포지토리를 공유하면 팀 생산성을 높이고 팀 경험을 체계화하는 데 도움이 될 수 있습니다.
쿡북을 공유하면 여러 팀이 동일한 쿡북을 사용할 수 있어 AppSec과 개발 등 다양한 분야의 팀 간 협업도 개선할 수 있습니다.
네 가지 핵심 공유 메커니즘을 사용할 수 있으므로 Sensei는 지식 공유에 대한 협업을 증진하는 데 사용할 수 있는 접근 방식을 하나 이상 갖게 되기를 바랍니다.
---
IntelliJ 내에서 “환경설정\ 플러그인” (Mac) 또는 “설정\ 플러그인” (Windows) 을 사용하여 Sensei를 설치한 다음 “센세이 보안 코드”를 검색하기만 하면 됩니다.
모든 Sensei 블로그 게시물, 코드 및 레시피는 다음과 같은 Github에 있습니다.