chore: 이전 세션이 남긴 변경을 커밋한다

이번 파이프라인 작업과 무관하게 작업 트리에 남아 있던 것을 그대로 올린다.
사용자가 「전부 커밋」으로 정했고, 이번 작업과 섞이지 않게 커밋만 나눴다.

대부분은 clean-architecture-backend-template 의 그림 정본 재배치다 —
final/assets/diagrams/<이름>/ 에 있던 것이 CLAUDE.md 가 적은 배치인
final/assets/<이름>/ 로 옮겨졌고 .techviz/<이름>/ 이 함께 들어왔다.
삽입 줄의 대부분(3.15M)이 그 .techviz context.json 이다.

그 밖에 ca-tmpl·document-haness 의 정리, .claude/agents/ 열한 개,
writing-practitioner-guides 스킬, .playwright-mcp 세션 산출물,
scripts/check-ssot-facts.py 와 그 시험이 들어 있다.

이 커밋의 내용은 내가 만든 것이 아니라 이전 세션이 남긴 것이고 검증하지 않았다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
DongHyeonka
2026-09-17 11:02:02 +09:00
co-authored by Claude Opus 5
parent 2109f726fe
commit ab59130196
1524 changed files with 3160026 additions and 8369 deletions
@@ -0,0 +1,3 @@
[ 417ms] [ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized) @ https://hyeonworks.com/api/v1/studio/session:0
[ 3718ms] [ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized) @ https://hyeonworks.com/api/v1/studio/documents?size=1:0
[ 115663ms] [ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized) @ https://hyeonworks.com/api/v1/studio/documents?size=1:0
@@ -0,0 +1 @@
[ 285ms] [ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized) @ https://hyeonworks.com/api/v1/studio/session:0
@@ -0,0 +1 @@
[ 70424ms] [ERROR] Failed to load resource: the server responded with a status of 422 (Unprocessable Entity) @ https://hyeonworks.com/api/v1/studio/setups/fad58b44-2742-4772-b184-21a085093178:0
@@ -0,0 +1 @@
[ 396ms] [ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized) @ https://hyeonworks.com/api/v1/studio/session:0
@@ -0,0 +1 @@
[ 382ms] [ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized) @ https://hyeonworks.com/api/v1/studio/session:0
@@ -0,0 +1 @@
[ 5724ms] [ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized) @ https://hyeonworks.com/api/v1/studio/session:0
@@ -0,0 +1,5 @@
[ 178156ms] [ERROR] Failed to load resource: the server responded with a status of 405 (Method Not Allowed) @ https://hyeonworks.com/api/v1/studio/topics/2ee927ff-217b-429f-b081-d313df65a5de:0
[ 2394637ms] [ERROR] Failed to load resource: the server responded with a status of 409 (Conflict) @ https://hyeonworks.com/api/v1/studio/topics/886181b9-5d25-47bf-81a4-813084e3d9d7:0
[ 2454206ms] [ERROR] Failed to load resource: the server responded with a status of 422 (Unprocessable Entity) @ https://hyeonworks.com/api/v1/studio/topics/new/variants:0
[ 2455034ms] [ERROR] Failed to load resource: the server responded with a status of 404 (Not Found) @ https://hyeonworks.com/studio/taxonomy/topics/new:0
[ 2456336ms] [ERROR] Failed to load resource: the server responded with a status of 404 (Not Found) @ https://hyeonworks.com/studio/topics:0
@@ -0,0 +1 @@
[ 435ms] [ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized) @ https://hyeonworks.com/api/v1/studio/session:0
@@ -0,0 +1,13 @@
- generic [ref=e3]:
- link "본문으로 건너뛰기" [ref=e4] [cursor=pointer]:
- /url: "#main-content"
- main [ref=e5]:
- generic [ref=e7]:
- generic [ref=e8]:
- paragraph [ref=e9]: STUDIO
- heading "기록을 쓰려면 로그인이 필요합니다" [active] [level=1] [ref=e10]
- paragraph [ref=e11]: 로그인하면 방금 열려던 화면으로 돌아옵니다.
- generic [ref=e12]:
- button "로그인 시작" [ref=e13] [cursor=pointer]
- paragraph [ref=e14]: 로그인하면 /studio 로 돌아옵니다.
- paragraph [ref=e15]
@@ -0,0 +1,13 @@
- generic [ref=f4e3]:
- link "본문으로 건너뛰기" [ref=f4e4] [cursor=pointer]:
- /url: "#main-content"
- main [ref=f4e5]:
- generic [ref=f4e7]:
- generic [ref=f4e8]:
- paragraph [ref=f4e9]: STUDIO
- heading "세션을 복구하고 있습니다." [level=1] [ref=f4e10]
- paragraph [ref=f4e11]: 이전 로그인이 아직 살아 있는지 확인하고 있습니다. 잠시 뒤에도 이 화면이면 다시 시도해 주세요.
- generic [ref=f4e12]:
- button "세션 복구" [ref=f4e13] [cursor=pointer]
- paragraph [ref=f4e14]: 로그인하면 /studio/documents/new 로 돌아옵니다.
- paragraph [ref=f4e15]
@@ -0,0 +1,65 @@
- generic [ref=f6e35]:
- link "본문으로 건너뛰기" [ref=f6e36] [cursor=pointer]:
- /url: "#main-content"
- banner [ref=f6e37]:
- generic [ref=f6e38]:
- link "TechLog Studio" [ref=f6e39] [cursor=pointer]:
- /url: /studio
- text: TechLog
- generic [ref=f6e40]: Studio
- navigation "Studio 주 탐색" [ref=f6e42]:
- link "작업본" [ref=f6e43] [cursor=pointer]:
- /url: /studio/documents
- link "게시 기록" [ref=f6e44] [cursor=pointer]:
- /url: /studio/publications
- link "새 문서" [ref=f6e45] [cursor=pointer]:
- /url: /studio/documents/new
- link "주제·프로젝트" [ref=f6e46] [cursor=pointer]:
- /url: /studio/taxonomy
- link "Asset" [ref=f6e47] [cursor=pointer]:
- /url: /studio/assets
- link "릴리즈" [ref=f6e48] [cursor=pointer]:
- /url: /studio/releases
- link "공개 사이트 보기" [ref=f6e49] [cursor=pointer]:
- /url: /
- button "로그아웃" [ref=f6e50]
- main [ref=f6e51]:
- generic [ref=f6e52]:
- generic [ref=f6e53]:
- paragraph [ref=f6e54]: NEW WORKING COPY
- heading "새 문서" [level=1] [ref=f6e55]
- paragraph [ref=f6e56]: 목적에 맞는 기록 종류를 선택하면 빈 작업본을 만들고 바로 편집을 시작합니다.
- generic [ref=f6e57]:
- group "문서 종류" [ref=f6e1]:
- generic [ref=f6e3] [cursor=pointer]:
- radio "검증 기록 문제를 재현하고 검증한 결론을 기록합니다. 문제 · 결론 · 환경 · 재현 · 본문" [ref=f6e4]
- strong [ref=f6e5]: 검증 기록
- generic [ref=f6e6]: 문제를 재현하고 검증한 결론을 기록합니다.
- generic [ref=f6e7]: 문제 · 결론 · 환경 · 재현 · 본문
- generic [ref=f6e8] [cursor=pointer]:
- radio "적용 기준 반복해서 적용할 기술 기준을 정리합니다. 목적 · 규칙 · 적용 조건 · 예외 · 예시" [ref=f6e9]
- strong [ref=f6e10]: 적용 기준
- generic [ref=f6e11]: 반복해서 적용할 기술 기준을 정리합니다.
- generic [ref=f6e12]: 목적 · 규칙 · 적용 조건 · 예외 · 예시
- generic [ref=f6e13] [cursor=pointer]:
- radio "동작 원리 개념의 내부 동작과 아키텍처를 처음부터 풀어 씁니다. 기준 버전 · 본문" [ref=f6e14]
- strong [ref=f6e15]: 동작 원리
- generic [ref=f6e16]: 개념의 내부 동작과 아키텍처를 처음부터 풀어 씁니다.
- generic [ref=f6e17]: 기준 버전 · 본문
- generic [ref=f6e18] [cursor=pointer]:
- radio "환경 구성 이 기록을 자기 손으로 재현하는 절차를 남깁니다. 버전 · 본문" [checked] [active] [ref=f6e19]
- strong [ref=f6e20]: 환경 구성
- generic [ref=f6e21]: 이 기록을 자기 손으로 재현하는 절차를 남깁니다.
- generic [ref=f6e22]: 버전 · 본문
- generic [ref=f6e23] [cursor=pointer]:
- radio "열린 질문 아직 닫히지 않은 판단과 다음 검증을 관리합니다. 상태 · 사실 · 가정 · 미지수 · 선택지" [ref=f6e24]
- strong [ref=f6e25]: 열린 질문
- generic [ref=f6e26]: 아직 닫히지 않은 판단과 다음 검증을 관리합니다.
- generic [ref=f6e27]: 상태 · 사실 · 가정 · 미지수 · 선택지
- generic [ref=f6e28] [cursor=pointer]:
- radio "설계 결정 프로젝트가 선택한 방향과 그 근거·영향을 기록합니다. 상태 · 결정일 · 결정문 · 판단 이유 · 영향 · 근거" [ref=f6e29]
- strong [ref=f6e30]: 설계 결정
- generic [ref=f6e31]: 프로젝트가 선택한 방향과 그 근거·영향을 기록합니다.
- generic [ref=f6e32]: 상태 · 결정일 · 결정문 · 판단 이유 · 영향 · 근거
- button "작업본 만들기" [ref=f6e59]
- paragraph [ref=f6e60]
@@ -0,0 +1,250 @@
- generic [ref=f6e35]:
- link "본문으로 건너뛰기" [ref=f6e36] [cursor=pointer]:
- /url: "#main-content"
- banner [ref=f6e37]:
- generic [ref=f6e38]:
- link "TechLog Studio" [ref=f6e39] [cursor=pointer]:
- /url: /studio
- text: TechLog
- generic [ref=f6e40]: Studio
- navigation "Studio 주 탐색" [ref=f6e42]:
- link "작업본" [ref=f6e43] [cursor=pointer]:
- /url: /studio/documents
- link "게시 기록" [ref=f6e44] [cursor=pointer]:
- /url: /studio/publications
- link "새 문서" [ref=f6e45] [cursor=pointer]:
- /url: /studio/documents/new
- link "주제·프로젝트" [ref=f6e46] [cursor=pointer]:
- /url: /studio/taxonomy
- link "Asset" [ref=f6e47] [cursor=pointer]:
- /url: /studio/assets
- link "릴리즈" [ref=f6e48] [cursor=pointer]:
- /url: /studio/releases
- link "공개 사이트 보기" [ref=f6e49] [cursor=pointer]:
- /url: /
- button "로그아웃" [ref=f6e50]
- main [ref=f6e51]:
- generic [ref=f6e61]:
- generic [ref=f6e62]:
- region [ref=f6e63]:
- generic [ref=f6e64]:
- paragraph [ref=f6e65]: SETUP · VERSION 1
- heading "문서 편집" [level=1] [ref=f6e66]
- paragraph [ref=f6e67]: 제목 없는 작업본
- navigation "편집 구역" [ref=f6e68]:
- list [ref=f6e69]:
- listitem [ref=f6e70]:
- link "기본 정보" [ref=f6e71] [cursor=pointer]:
- /url: "#studio-common-fields-title"
- listitem [ref=f6e72]:
- link "환경 구성" [ref=f6e73] [cursor=pointer]:
- /url: "#studio-setup-fields-title"
- region [ref=f6e74]:
- generic [ref=f6e75]:
- paragraph [ref=f6e76]: DOCUMENT
- heading "기본 정보" [level=2] [ref=f6e77]
- generic [ref=f6e78]:
- generic [ref=f6e79]:
- generic [ref=f6e80]: 제목
- textbox "제목" [ref=f6e81]
- generic [ref=f6e82]:
- generic [ref=f6e83]: slug
- textbox "slug" [ref=f6e84]:
- /placeholder: 비우면 제목에서 만듭니다 (영문 소문자·숫자·하이픈)
- generic [ref=f6e85]:
- generic [ref=f6e86]: 요약
- textbox "요약" [ref=f6e87]
- generic [aria-hidden] [ref=f6e88]: 목록 카드에는 약 90자까지 보입니다 · 0 / 2000
- generic [ref=f6e89]:
- generic [ref=f6e90]: Topic
- combobox "Topic" [ref=f6e91]:
- option "선택하지 않음" [selected]
- option "네트워크 가상화"
- option "스토리지 가상화"
- option "메모리 가상화"
- option "CPU 가상화"
- option "JPA 피드 조회 성능"
- option "OAuth/OIDC 인증 경계"
- generic [ref=f6e92]:
- generic [ref=f6e93]: Project
- combobox "Project" [ref=f6e94]:
- option "미지정" [selected]
- option "가상화"
- option "Backend Clean Architecture"
- option "KeyCloak Patterns"
- option "Liner N + 1문제"
- status [ref=f6e95]
- group "관계" [ref=f6e96]:
- paragraph [ref=f6e98]: 연결한 공개 기록이 없습니다.
- button "관계 추가" [ref=f6e99]
- region [ref=f6e100]:
- generic [ref=f6e101]:
- paragraph [ref=f6e102]: SETUP
- heading "환경 구성" [level=2] [ref=f6e103]
- generic [ref=f6e104]:
- group "고정한 버전" [ref=f6e105]:
- list
- button "버전 추가" [ref=f6e107]
- generic [ref=f6e108]: “Keycloak” / “26.7.0” 처럼 적습니다. 비우면 화면에 표를 그리지 않습니다.
- generic [ref=f6e109]:
- generic [ref=f6e110]: 절차 Markdown
- group "Markdown 삽입" [ref=f6e111]:
- button "코드" [ref=f6e112] [cursor=pointer]
- button "표" [ref=f6e113] [cursor=pointer]
- button "목록" [ref=f6e114] [cursor=pointer]
- textbox "절차 Markdown" [ref=f6e115]: "## 실행 절차 ## 구성 값 ## 확인 방법"
- generic [ref=f6e116]: “##” 소제목이 목차가 됩니다. 명령은 코드블록으로 적어야 그대로 복사됩니다.
- group [ref=f6e117]:
- paragraph [ref=f6e118]: EVIDENCE
- heading "본문에 Asset 삽입" [level=3] [ref=f6e119]
- paragraph [ref=f6e120]: 목록에서 선택하면 본문 커서 위치에 evidence 구문을 삽입합니다. READY 상태의 Asset만 선택할 수 있습니다.
- generic [ref=f6e121]:
- generic [ref=f6e122]:
- generic [ref=f6e123]: 업로드 종류
- combobox "업로드 종류" [ref=f6e124]:
- option "이미지"
- option "다이어그램" [selected]
- option "첨부파일"
- button "Asset 업로드" [ref=f6e125]
- generic [ref=f6e126]:
- search [ref=f6e127]:
- generic [ref=f6e128]: Asset 검색
- generic [ref=f6e129]:
- searchbox "Asset 검색" [ref=f6e130]
- button "검색" [ref=f6e131]
- generic [ref=f6e132]:
- checkbox "삽입할 때 크게 보기 허용" [checked] [ref=f6e133]
- generic [ref=f6e134]: 삽입할 때 크게 보기 허용
- status [ref=f6e135]: 삽입할 수 있는 Asset 36개
- list [ref=f6e136]:
- listitem [ref=f6e137]:
- button "vms-sharing-one-nvme-53ce295a" [ref=f6e138]
- button "삭제" [ref=f6e139]
- listitem [ref=f6e140]:
- button "write-completion-boundaries-87bdee72" [ref=f6e141]
- button "삭제" [ref=f6e142]
- listitem [ref=f6e143]:
- button "guest-block-io-to-virtqueue-59870a6f" [ref=f6e144]
- button "삭제" [ref=f6e145]
- listitem [ref=f6e146]:
- button "packet-control-and-data-paths-72081090" [ref=f6e147]
- button "삭제" [ref=f6e148]
- listitem [ref=f6e149]:
- button "virtio-balloon-inflate-deflate-30c54022" [ref=f6e150]
- button "삭제" [ref=f6e151]
- listitem [ref=f6e152]:
- button "virtio-balloon-inflate-deflate-c63559c4" [ref=f6e153]
- button "삭제" [ref=f6e154]
- listitem [ref=f6e155]:
- button "numa-vcpu-and-memory-placement-d085bdfc" [ref=f6e156]
- button "삭제" [ref=f6e157]
- listitem [ref=f6e158]:
- button "page-fault-layers-in-a-vm-e8d37b87" [ref=f6e159]
- button "삭제" [ref=f6e160]
- listitem [ref=f6e161]:
- button "guest-memory-address-translation-path-aa008f53" [ref=f6e162]
- button "삭제" [ref=f6e163]
- listitem [ref=f6e164]:
- button "vm-exit-handling-cycle-f8448581" [ref=f6e165]
- button "삭제" [ref=f6e166]
- listitem [ref=f6e167]:
- button "ap4-edge-trust-architecture-8125e9e8" [ref=f6e168]
- button "삭제" [ref=f6e169]
- listitem [ref=f6e170]:
- button "batch-fetch-in-clause-cb44066a" [ref=f6e171]
- button "삭제" [ref=f6e172]
- listitem [ref=f6e173]:
- button "ap4-edge-trust-architecture-1a916e10" [ref=f6e174]
- button "삭제" [ref=f6e175]
- listitem [ref=f6e176]:
- button "ap3-bff-session-flow-1b005e15" [ref=f6e177]
- button "삭제" [ref=f6e178]
- listitem [ref=f6e179]:
- button "ap3-bff-architecture-a27ea91c" [ref=f6e180]
- button "삭제" [ref=f6e181]
- listitem [ref=f6e182]:
- button "ap2-mediator-handoff-flow-efe7039c" [ref=f6e183]
- button "삭제" [ref=f6e184]
- listitem [ref=f6e185]:
- button "ap2-mediator-architecture-c95ed25f" [ref=f6e186]
- button "삭제" [ref=f6e187]
- listitem [ref=f6e188]:
- button "projection-row-over-fetch-f2b1943b" [ref=f6e189]
- button "삭제" [ref=f6e190]
- listitem [ref=f6e191]:
- button "cartesian-row-multiplication-dce2e166" [ref=f6e192]
- button "삭제" [ref=f6e193]
- listitem [ref=f6e194]:
- button "eager-lazy-query-sequence-47c12bda" [ref=f6e195]
- button "삭제" [ref=f6e196]
- listitem [ref=f6e197]:
- button "ap3-bff-session-flow-a8dfff6f" [ref=f6e198]
- button "삭제" [ref=f6e199]
- listitem [ref=f6e200]:
- button "ap2-mediator-handoff-flow-8c2a6f8f" [ref=f6e201]
- button "삭제" [ref=f6e202]
- listitem [ref=f6e203]:
- button "ap4-edge-forward-auth-flow-a6ec423a" [ref=f6e204]
- button "삭제" [ref=f6e205]
- listitem [ref=f6e206]:
- button "ap3-csrf-boundary-971df81c" [ref=f6e207]
- button "삭제" [ref=f6e208]
- listitem [ref=f6e209]:
- button "login-api-phase-split-3e354274" [ref=f6e210]
- button "삭제" [ref=f6e211]
- listitem [ref=f6e212]:
- button "ap1-browser-bearer-flow-a7f8aa9e" [ref=f6e213]
- button "삭제" [ref=f6e214]
- listitem [ref=f6e215]:
- button "ap1-direct-architecture-0adf4199" [ref=f6e216]
- button "삭제" [ref=f6e217]
- listitem [ref=f6e218]:
- button "nplus1-query-fanout-644febe6" [ref=f6e219]
- button "삭제" [ref=f6e220]
- listitem [ref=f6e221]:
- button "ap4-edge-trust-1cff2399" [ref=f6e222]
- button "삭제" [ref=f6e223]
- listitem [ref=f6e224]:
- button "ap3-csrf-split-501dd1f7" [ref=f6e225]
- button "삭제" [ref=f6e226]
- listitem [ref=f6e227]:
- button "ap3-bff-custody-82fa18bd" [ref=f6e228]
- button "삭제" [ref=f6e229]
- listitem [ref=f6e230]:
- button "ap2-split-custody-779cb791" [ref=f6e231]
- button "삭제" [ref=f6e232]
- listitem [ref=f6e233]:
- button "ap1-custody-v3-6e0376d2" [ref=f6e234]
- button "삭제" [ref=f6e235]
- listitem [ref=f6e236]:
- button "ap1-custody-v2-e110bd98" [ref=f6e237]
- button "삭제" [ref=f6e238]
- listitem [ref=f6e239]:
- button "ap1-credential-custody-f5e0c027" [ref=f6e240]
- button "삭제" [ref=f6e241]
- listitem [ref=f6e242]:
- button "screenshot-from-2026-08-21-18-04-49-72f1f9c6" [ref=f6e243]
- button "삭제" [ref=f6e244]
- region [ref=f6e245]:
- generic [ref=f6e246]:
- paragraph [ref=f6e247]: LIVE
- heading "즉시 미리보기" [level=2] [ref=f6e248]
- alert [ref=f6e250]:
- heading "초안을 미리 볼 수 없습니다" [level=2] [ref=f6e251]
- list [ref=f6e252]:
- listitem [ref=f6e253]: 1:1 TOPIC catalog entry is required
- complementary [ref=f6e254]:
- heading "작업 상태" [level=2] [ref=f6e255]
- status "편집 상태" [ref=f6e256]: 저장됨
- generic [ref=f6e257]:
- generic [ref=f6e258]:
- term [ref=f6e259]: 저장 버전
- definition [ref=f6e260]: "1"
- generic [ref=f6e261]:
- term [ref=f6e262]: 종류
- definition [ref=f6e263]: 환경 구성
- paragraph [ref=f6e264]: 불완전한 초안도 저장할 수 있습니다. Ctrl+S 로도 저장합니다. 게시를 누르면 채워야 할 칸을 그 자리에 표시합니다.
- generic [ref=f6e265]:
- button "저장" [disabled] [ref=f6e266]
- button "게시" [ref=f6e267]
- paragraph [ref=f6e60]: 환경 구성 작업본을 만들었습니다.
@@ -0,0 +1,144 @@
- generic [ref=f7e100]:
- link "본문으로 건너뛰기" [ref=f7e101] [cursor=pointer]:
- /url: "#main-content"
- banner [ref=f7e102]:
- generic [ref=f7e103]:
- link "TechLog Studio" [ref=f7e104] [cursor=pointer]:
- /url: /studio
- text: TechLog
- generic [ref=f7e105]: Studio
- navigation "Studio 주 탐색" [ref=f7e107]:
- link "작업본" [ref=f7e108] [cursor=pointer]:
- /url: /studio/documents
- link "게시 기록" [ref=f7e109] [cursor=pointer]:
- /url: /studio/publications
- link "새 문서" [ref=f7e110] [cursor=pointer]:
- /url: /studio/documents/new
- link "주제·프로젝트" [ref=f7e111] [cursor=pointer]:
- /url: /studio/taxonomy
- link "Asset" [ref=f7e112] [cursor=pointer]:
- /url: /studio/assets
- link "릴리즈" [ref=f7e113] [cursor=pointer]:
- /url: /studio/releases
- link "공개 사이트 보기" [ref=f7e114] [cursor=pointer]:
- /url: /
- button "로그아웃" [ref=f7e115]
- main [ref=f7e1]:
- generic [ref=f7e2]:
- generic [ref=f7e4]:
- paragraph [ref=f7e5]: TAXONOMY
- heading "주제와 프로젝트" [level=1] [ref=f7e6]
- paragraph [ref=f7e7]: 문서를 게시하려면 주제가 필요합니다. 여기서 만들고 정리합니다.
- tablist "주제와 프로젝트" [ref=f7e8]:
- tab "주제 7" [selected] [ref=f7e116]
- tab "프로젝트 4" [ref=f7e10]
- tabpanel "주제 7" [ref=f7e117]:
- generic [ref=f7e12]:
- generic [ref=f7e13]: 새 주제
- generic [ref=f7e14]:
- textbox "새 주제" [ref=f7e15]:
- /placeholder: 주제 이름
- textbox "주제 slug" [ref=f7e16]:
- /placeholder: slug (비우면 이름에서 생성)
- button "주제 추가" [ref=f7e17]
- paragraph [ref=f7e118]: 7개의 주제
- generic [ref=f7e119]:
- article [ref=f7e120]:
- paragraph [ref=f7e121]: TOPIC
- generic [ref=f7e122]:
- heading [level=2] [ref=f7e123]:
- link "네트워크 가상화" [ref=f7e124] [cursor=pointer]:
- /url: /studio/topics/56089eec-a603-4eac-bbb6-6fb44392ea63
- paragraph [ref=f7e125]: network-virtualization
- generic [ref=f7e127]:
- term [ref=f7e128]: 상태
- definition [ref=f7e129]: 활성
- generic [ref=f7e130]:
- link "편집" [ref=f7e131] [cursor=pointer]:
- /url: /studio/topics/56089eec-a603-4eac-bbb6-6fb44392ea63
- button "삭제" [ref=f7e132]
- article [ref=f7e133]:
- paragraph [ref=f7e134]: TOPIC
- generic [ref=f7e135]:
- heading [level=2] [ref=f7e136]:
- link "스토리지 가상화" [ref=f7e137] [cursor=pointer]:
- /url: /studio/topics/23314be2-7350-44f5-8989-575c3b40898f
- paragraph [ref=f7e138]: storage-virtualization
- generic [ref=f7e140]:
- term [ref=f7e141]: 상태
- definition [ref=f7e142]: 활성
- generic [ref=f7e143]:
- link "편집" [ref=f7e144] [cursor=pointer]:
- /url: /studio/topics/23314be2-7350-44f5-8989-575c3b40898f
- button "삭제" [ref=f7e145]
- article [ref=f7e146]:
- paragraph [ref=f7e147]: TOPIC
- generic [ref=f7e148]:
- heading [level=2] [ref=f7e149]:
- link "메모리 가상화" [ref=f7e150] [cursor=pointer]:
- /url: /studio/topics/5675627f-3616-409c-990b-c537d3c68ed6
- paragraph [ref=f7e151]: memory-virtualization
- generic [ref=f7e153]:
- term [ref=f7e154]: 상태
- definition [ref=f7e155]: 활성
- generic [ref=f7e156]:
- link "편집" [ref=f7e157] [cursor=pointer]:
- /url: /studio/topics/5675627f-3616-409c-990b-c537d3c68ed6
- button "삭제" [ref=f7e158]
- article [ref=f7e159]:
- paragraph [ref=f7e160]: TOPIC
- generic [ref=f7e161]:
- heading [level=2] [ref=f7e162]:
- link "실험대 환경 구성" [ref=f7e163] [cursor=pointer]:
- /url: /studio/topics/886181b9-5d25-47bf-81a4-813084e3d9d7
- paragraph [ref=f7e164]: lab-environment-build
- generic [ref=f7e166]:
- term [ref=f7e167]: 상태
- definition [ref=f7e168]: 활성
- generic [ref=f7e169]:
- link "편집" [ref=f7e170] [cursor=pointer]:
- /url: /studio/topics/886181b9-5d25-47bf-81a4-813084e3d9d7
- button "삭제" [ref=f7e171]
- article [ref=f7e172]:
- paragraph [ref=f7e173]: TOPIC
- generic [ref=f7e174]:
- heading [level=2] [ref=f7e175]:
- link "CPU 가상화" [ref=f7e176] [cursor=pointer]:
- /url: /studio/topics/e42456e2-9efd-41ee-b676-df82e90f2f53
- paragraph [ref=f7e177]: cpu-virtualization
- generic [ref=f7e179]:
- term [ref=f7e180]: 상태
- definition [ref=f7e181]: 활성
- generic [ref=f7e182]:
- link "편집" [ref=f7e183] [cursor=pointer]:
- /url: /studio/topics/e42456e2-9efd-41ee-b676-df82e90f2f53
- button "삭제" [ref=f7e184]
- article [ref=f7e185]:
- paragraph [ref=f7e186]: TOPIC
- generic [ref=f7e187]:
- heading [level=2] [ref=f7e188]:
- link "JPA 피드 조회 성능" [ref=f7e189] [cursor=pointer]:
- /url: /studio/topics/72cf462e-efbc-48bc-b22f-64345f38d818
- paragraph [ref=f7e190]: jpa-feed-query-performance
- generic [ref=f7e192]:
- term [ref=f7e193]: 상태
- definition [ref=f7e194]: 활성
- generic [ref=f7e195]:
- link "편집" [ref=f7e196] [cursor=pointer]:
- /url: /studio/topics/72cf462e-efbc-48bc-b22f-64345f38d818
- button "삭제" [ref=f7e197]
- article [ref=f7e198]:
- paragraph [ref=f7e199]: TOPIC
- generic [ref=f7e200]:
- heading [level=2] [ref=f7e201]:
- link "OAuth/OIDC 인증 경계" [ref=f7e202] [cursor=pointer]:
- /url: /studio/topics/6ffdda4f-29e7-40f4-8ca0-36dca009a53a
- paragraph [ref=f7e203]: oauth-oidc-auth-boundary
- generic [ref=f7e205]:
- term [ref=f7e206]: 상태
- definition [ref=f7e207]: 활성
- generic [ref=f7e208]:
- link "편집" [ref=f7e209] [cursor=pointer]:
- /url: /studio/topics/6ffdda4f-29e7-40f4-8ca0-36dca009a53a
- button "삭제" [ref=f7e210]
- paragraph [ref=f7e211]: 주제 실험대 환경 구성 을(를) 만들었습니다.