맞춤형 과정
맞춤형 과정은 SecureCodingHub 콘텐츠 카탈로그에서 구축하는 연습 주제와 학습 시나리오의 이름이 지정되고 순서가 있는 시퀀스입니다. 일단 구축되면, 과정은 내장된 카테고리를 할당하는 것과 동일한 방식으로 과제 페이지를 통해 할당될 수 있으며, 학습자는 표준 과정 중 하나인 것처럼 /learn/custom/<courseId>에서 인라인으로 소비합니다.
맞춤형 과정을 구축할 시점
내장된 OWASP 패밀리는 의도적으로 광범위합니다. 조직 전체 배포와 컴플라이언스 증거 패키지의 시작점으로 의미가 있습니다. 그러나 팀이 한 번의 전체 패스를 완료하면, 다음 과제는 거의 항상 더 타깃화됩니다 — 백엔드 신입을 위한 온보딩, CodeQL 발견이 계속 표시하는 취약점 클래스에 대한 집중 재교육, 팀이 마이그레이션할 언어 스택의 안전 코딩 습관에 대한 빠른 적응입니다. 그것이 맞춤형 과정이 그 역할을 다하는 곳입니다: 정확히 원하는 주제와 시나리오를 원하는 순서로 단일 명명된 번들로 가져올 수 있게 해줍니다.
위치
학습 섹션 아래 사이드바의 맞춤형 과정를 클릭하여 /organization/custom-courses의 목록 페이지에 도착합니다. 목록은 조직이 구축한 모든 과정, 각 과정의 항목 수, 현재 참조되는 과제 수, 생성자 및 마지막 업데이트 시기를 보여줍니다. 과정 행을 클릭하여 해당 과정의 빌더를 엽니다. 오른쪽 상단의 + 새 맞춤형 과정를 클릭하여 하나를 생성합니다.
과정 구축
빌더는 2-페인 레이아웃입니다. 왼쪽 페인은 드래그 핸들 재정렬 및 행별 제거 컨트롤이 있는 현재 항목 목록을 보여줍니다. 오른쪽 페인은 선택기입니다 — 라이브 콘텐츠 카탈로그에서 가져온 카테고리, 모듈, 주제 및 시나리오의 트리입니다. 추가 버튼을 사용하면 어떤 세분성에서든 항목을 가져올 수 있습니다:
| 추가 위치 | 효과 |
|---|---|
| 주제 | 단일 연습 주제를 추가합니다. 학습자는 스택 설정에 따라 자신이 선호하는 언어로 내부의 모든 챌린지를 봅니다. |
| 시나리오 | 단일 학습 시나리오를 추가합니다. 학습자는 학습 모드에서와 같이 단계별 워크스루를 진행합니다. |
| 모듈 | 모듈을 구성 주제로 확장하고 각각을 별도의 항목으로 추가합니다(이후 재정렬하거나 특정 항목을 제거할 수 있도록). |
| 카테고리 | 모듈과 동일하지만 OWASP 패밀리 수준입니다. 그런 다음 다듬는 시작점으로 유용합니다. |
언제든지 과정을 저장하세요. 부분 저장이 허용됩니다. Name이 유일한 필수 필드입니다. 선택적 Description, Icon 및 Color 필드를 사용하면 학습자 UI 내에서 과정을 브랜딩할 수 있습니다.
맞춤형 과정 할당
과제 → 새 과제에서 콘텐츠 영역으로 맞춤형을 선택하고 드롭다운에서 과정을 선택합니다. 과제 양식의 나머지 부분은 내장 콘텐츠와 동일한 방식으로 동작합니다 — 수신자(사용자, 팀 또는 전체 조직)를 선택하고, 마감일을 선택하고, 필수 또는 선택을 선택하고, 생성합니다. 수신자의 진행 상황은 과정의 콘텐츠에 대해 항목별로 추적되며, 과제 상세 페이지는 OWASP 추적 과제가 사용하는 것과 동일한 완료 백분율로 집계합니다.
편집 및 삭제
이름, 설명, 아이콘, 색상 또는 항목 목록을 변경하려면 과정을 엽니다. 항목 변경은 활성 과제에 즉시 적용됩니다 — 항목 추가는 진행 중인 학습자의 분모를 증가시키고, 제거는 낮춥니다. 재정렬은 완료 계산에 영향을 주지 않습니다. 학습자 UI에서 항목이 렌더링되는 순서만 변경합니다.
삭제 작업은 과정을 비활성으로 설정합니다. 목록, 과제 생성 선택기 및 학습자 소비 화면에 나타나지 않게 됩니다. 과정을 참조하는 과거 과제는 기존 진행 상황을 계속 보고합니다. 과정이 사라진 후에는 새 수신자를 받지 않을 뿐입니다.
프로그래밍 액세스
관리자 UI의 모든 것은 공개 API에서도 도달 가능합니다 — JSON 요청 및 응답 모양은 API → 맞춤형 과정를 참조하세요. 일반적인 자동화에는 버전 관리 소스 제어 저장소에서 큐레이션된 과정 목록을 동기화하고 팀 메타데이터에서 프로그래밍 방식으로 팀별 온보딩 과정을 구축하는 것이 포함됩니다.