Files
document-haness/.playwright-mcp/page-2026-09-04T04-17-23-802Z.yml

176 lines
9.8 KiB
YAML

- generic [ref=f6e3]:
- link "본문으로 건너뛰기" [ref=f6e4] [cursor=pointer]:
- /url: "#main-content"
- banner [ref=f6e5]:
- generic [ref=f6e6]:
- link "TechLog Studio" [ref=f6e7] [cursor=pointer]:
- /url: /studio
- text: TechLog
- generic [ref=f6e8]: Studio
- navigation "Studio 주 탐색" [ref=f6e10]:
- link "작업본" [ref=f6e11] [cursor=pointer]:
- /url: /studio/documents
- link "게시 기록" [ref=f6e12] [cursor=pointer]:
- /url: /studio/publications
- link "새 문서" [ref=f6e13] [cursor=pointer]:
- /url: /studio/documents/new
- link "주제·프로젝트" [ref=f6e14] [cursor=pointer]:
- /url: /studio/taxonomy
- link "릴리즈" [ref=f6e15] [cursor=pointer]:
- /url: /studio/releases
- link "공개 사이트 보기" [ref=f6e16] [cursor=pointer]:
- /url: /
- button "로그아웃" [ref=f6e17]
- main [ref=f6e18]:
- generic [ref=f6e19]:
- generic [ref=f6e20]:
- generic [ref=f6e21]:
- paragraph [ref=f6e22]: WORKSPACE
- heading "작업 흐름" [level=1] [ref=f6e23]
- paragraph [ref=f6e24]: 작성 중인 기록을 이어서 정리하고 검증·게시 흐름으로 연결합니다.
- link "새 문서" [ref=f6e25] [cursor=pointer]:
- /url: /studio/documents/new
- region "Studio 요약" [ref=f6e26]:
- generic [ref=f6e27]:
- generic [ref=f6e28]: 전체 작업본
- strong [ref=f6e29]: "48"
- generic [ref=f6e30]:
- generic [ref=f6e31]: 검증할 기록
- strong [ref=f6e32]: "5"
- generic [ref=f6e33]:
- generic [ref=f6e34]: 게시 준비
- strong [ref=f6e35]: "0"
- generic [ref=f6e36]:
- generic [ref=f6e37]: 게시 기록
- strong [ref=f6e38]: "21"
- generic [ref=f6e39]:
- generic [ref=f6e40]:
- heading "이어서 작성" [level=2] [ref=f6e41]
- link "전체 보기" [ref=f6e42] [cursor=pointer]:
- /url: /studio/documents
- paragraph [ref=f6e44]: 이어서 작성할 문서가 없습니다.
- generic [ref=f6e45]:
- generic [ref=f6e46]:
- heading "검증과 미리보기" [level=2] [ref=f6e47]
- link "전체 보기" [ref=f6e48] [cursor=pointer]:
- /url: /studio/documents
- generic [ref=f6e49]:
- article [ref=f6e50]:
- paragraph [ref=f6e51]: 검증 기록
- generic [ref=f6e52]:
- heading [level=3] [ref=f6e53]:
- link "DTO 변환 과정에서 발생한 Highlight 컬렉션 N+1" [ref=f6e54] [cursor=pointer]:
- /url: /studio/documents/58c2d5d9-5865-4b2c-b1cc-3c5c955c33dc/edit
- paragraph [ref=f6e55]: Liner N + 1문제 · 검증하기
- time [ref=f6e56]: 2026. 9. 4.
- article [ref=f6e57]:
- paragraph [ref=f6e58]: 검증 기록
- generic [ref=f6e59]:
- heading [level=3] [ref=f6e60]:
- link "SPA에서 OAuth Token을 JavaScript Memory에 보관한 경우" [ref=f6e61] [cursor=pointer]:
- /url: /studio/documents/bf675775-4f3e-4744-8014-f0efff51422a/edit
- paragraph [ref=f6e62]: KeyCloak Patterns · 검증하기
- time [ref=f6e63]: 2026. 9. 3.
- article [ref=f6e64]:
- paragraph [ref=f6e65]: 검증 기록
- generic [ref=f6e66]:
- heading [level=3] [ref=f6e67]:
- link "Collection Fetch Join Pagination의 In-memory Paging" [ref=f6e68] [cursor=pointer]:
- /url: /studio/documents/c1158754-e3d2-47b8-bb41-81787c0ca84b/edit
- paragraph [ref=f6e69]: Liner N + 1문제 · 검증하기
- time [ref=f6e70]: 2026. 9. 1.
- article [ref=f6e71]:
- paragraph [ref=f6e72]: 검증 기록
- generic [ref=f6e73]:
- heading [level=3] [ref=f6e74]:
- link "Collection Fetch Join으로 N+1을 해결하다 만난 MultiBag예외와 행 폭증 문제" [ref=f6e75] [cursor=pointer]:
- /url: /studio/documents/7ed75172-fd56-42bf-956a-8f9fc1cca235/edit
- paragraph [ref=f6e76]: Liner N + 1문제 · 검증하기
- time [ref=f6e77]: 2026. 9. 1.
- article [ref=f6e78]:
- paragraph [ref=f6e79]: 검증 기록
- generic [ref=f6e80]:
- heading [level=3] [ref=f6e81]:
- link "Fetch 타입이 아닌 조회 방식으로 인한 N+1" [ref=f6e82] [cursor=pointer]:
- /url: /studio/documents/32d0be7d-d88e-4760-8d91-35d3a233a99a/edit
- paragraph [ref=f6e83]: Liner N + 1문제 · 검증하기
- time [ref=f6e84]: 2026. 9. 1.
- generic [ref=f6e85]:
- generic [ref=f6e86]:
- heading "게시 준비" [level=2] [ref=f6e87]
- link "전체 보기" [ref=f6e88] [cursor=pointer]:
- /url: /studio/documents
- paragraph [ref=f6e90]: 게시 준비가 끝난 문서가 없습니다.
- region [ref=f6e91]:
- generic [ref=f6e92]:
- paragraph [ref=f6e93]: PUBLIC HOME
- heading "지금 집중하는 것" [level=2] [ref=f6e94]
- paragraph [ref=f6e95]: 공개 홈 맨 위 영역입니다. 셋 다 비워 두면 그 영역은 나타나지 않습니다.
- generic [ref=f6e96]:
- generic [ref=f6e97]:
- generic [ref=f6e98]:
- generic [ref=f6e99]: 현재 작업 (프로젝트)
- combobox "현재 작업 (프로젝트) 단계·현재 목표·다음 작업이 카드에 함께 나옵니다." [ref=f6e100]:
- option "고르지 않음"
- option "Liner N + 1문제"
- option "Backend Clean Architecture"
- option "KeyCloak Patterns" [selected]
- generic [ref=f6e101]: 단계·현재 목표·다음 작업이 카드에 함께 나옵니다.
- generic [ref=f6e102]:
- generic [ref=f6e103]: 열린 질문
- combobox "열린 질문" [ref=f6e104]:
- option "고르지 않음"
- option "Forward-Auth 구조에서 Application Authorization을 어디까지 Edge에 둘 것인가"
- option "BFF의 Session과 OAuth2AuthorizedClient를 어디에 저장할 것인가" [selected]
- option "서버 세션 기반 인증 구조는 다중 인스턴스에서 어떻게 운영할 것인가"
- option "Refresh Token Rotation과 다중 Replica 경쟁을 어떻게 처리할 것인가"
- generic [ref=f6e105]:
- generic [ref=f6e106]: 최근 결정
- combobox "최근 결정" [ref=f6e107]:
- option "고르지 않음"
- option "브라우저에 OAuth token을 노출하지 않으면서 애플리케이션이 Resource Server 호출을 중계하고 조합해야 하는 경우, BFF가 authorization code 교환과 token 보관, downstream API 호출을 소유한다. 브라우저에는 애플리케이션 session만 제공한다." [selected]
- option "외부 IdP 연동은 별도의 인증 구조가 아니다. Google과 같은 외부 IDP는 사용자의 인증을 담당하고, Keycloak은 그 인증 결과를 받아 애플리케이션이 신뢰할 수있는 토큰을 발급한다. SPA, Mediator, BFF, OAuth2-proxy와 같은 4가지 구조는 이렇게 발급된 토큰이나 세션을 애플리케이션에서 어디까지 노출하고 관리할지를 구분한다."
- generic [ref=f6e108]:
- button "홈 설정 저장" [ref=f6e109]
- paragraph [ref=f6e110]:
- text: 저장하면 공개 홈에 바로 반영됩니다.
- link "주제·프로젝트" [ref=f6e111] [cursor=pointer]:
- /url: /studio/taxonomy
- text: 에서 프로젝트를 만들고 게시할 수 있습니다.
- generic [ref=f6e112]:
- generic [ref=f6e113]:
- heading "최근 게시" [level=2] [ref=f6e114]
- link "게시 기록 보기" [ref=f6e115] [cursor=pointer]:
- /url: /studio/publications
- generic [ref=f6e116]:
- article [ref=f6e117]:
- paragraph [ref=f6e118]: 게시
- generic [ref=f6e119]:
- heading "Collection Fetch Join Pagination의 In-memory Paging" [level=3] [ref=f6e120]
- paragraph [ref=f6e121]: Liner N + 1문제
- time [ref=f6e122]: 2026. 9. 1.
- article [ref=f6e123]:
- paragraph [ref=f6e124]: 게시
- generic [ref=f6e125]:
- heading "Collection Fetch Join으로 N+1을 해결하다 만난 MultiBag예외와 행 폭증 문제" [level=3] [ref=f6e126]
- paragraph [ref=f6e127]: Liner N + 1문제
- time [ref=f6e128]: 2026. 9. 1.
- article [ref=f6e129]:
- paragraph [ref=f6e130]: 게시
- generic [ref=f6e131]:
- heading "Fetch 타입이 아닌 조회 방식으로 인한 N+1" [level=3] [ref=f6e132]
- paragraph [ref=f6e133]: Liner N + 1문제
- time [ref=f6e134]: 2026. 9. 1.
- article [ref=f6e135]:
- paragraph [ref=f6e136]: 게시
- generic [ref=f6e137]:
- heading "외부 IdP Brokering의 동작" [level=3] [ref=f6e138]
- paragraph [ref=f6e139]: KeyCloak Patterns
- time [ref=f6e140]: 2026. 9. 1.
- article [ref=f6e141]:
- paragraph [ref=f6e142]: 게시
- generic [ref=f6e143]:
- heading "BFF가 OAuth Token을 관리하는 조건" [level=3] [ref=f6e144]
- paragraph [ref=f6e145]: KeyCloak Patterns
- time [ref=f6e146]: 2026. 8. 31.
- paragraph [ref=f6e147]