Large List Rendering Issue Notes 문제가 생기는 이유 리스트 항목이 수백 개를 넘기기 시작하면 화면 렌더링이 눈에 띄게 느려질 수 있다. 스크롤이 끊기거나 입력 반응이 늦어지는 현상은 대부분 한 번에 너무 많은 DOM을 그리기 때문에 발생한다. 문제 원인은 보통 다음 중 하나다. 화면에 보이지 않는 항목까지 전부 렌더링한다. 각 아이템이 무거운 컴포넌트 구조를 가진다. ... 2024/09/07 Notes, Web
Log Level Notes 로그 레벨은 왜 필요한가 로그 레벨은 모든 로그를 같은 무게로 다루지 않기 위한 장치다. 개발 중에는 자세한 로그가 필요하지만, 운영 환경에서는 중요한 신호를 빠르게 골라낼 수 있어야 한다. 보통 다음 순서로 심각도가 올라간다. TRACE DEBUG INFO WARN ERROR Logback의 아키텍처 문서는 이 순서를 T... 2024/09/07 Notes, Web
Log4j vs Logback vs Log4j2 Notes 세 프레임워크의 관계 Java 로깅 생태계에서는 API와 구현체를 구분해서 본다. 보통 애플리케이션 코드는 SLF4J 같은 로깅 API를 호출하고, 실제 출력은 Logback이나 Log4j2 같은 구현체가 담당한다. SLF4J는 구현체를 배포 시점에 끼우는 파사드(추상화 계층)다(SLF4J 매뉴얼). Log4j: 오래된 Apache 로깅 프레... 2024/09/07 Notes, Web
Log4j Vulnerability Notes 무엇이 문제였나 Log4j 취약점은 보통 Log4Shell로 불린다. 핵심은 로그 메시지 안의 특정 문자열이 원격 조회로 이어질 수 있었고, 그 결과 원격 코드 실행까지 이어질 수 있었다는 점이다. 가장 널리 알려진 이슈는 CVE-2021-44228이다. 왜 영향이 컸나 이 취약점이 크게 퍼진 이유는 세 가지다. Log4j 2가 매우 널... 2024/09/07 Notes, Web
OpenID Connect Notes OpenID Connect란 OpenID Connect, 줄여서 OIDC는 OAuth 2.0 위에 사용자 인증 계층을 올린 규격이다. OAuth 2.0이 “권한 위임”에 집중한다면, OIDC는 “이 사용자가 누구인가”를 표준 방식으로 전달한다. 즉 OIDC는 로그인 문제를 다룬다. OAuth 2.0만으로는 부족한 이유 OAuth 2.0 토큰만으... 2024/09/07 Notes, Web
Preflight Request Notes Preflight Request란 Preflight Request는 브라우저가 실제 cross-origin 요청을 보내기 전에, 그 요청이 허용되는지 먼저 확인하는 OPTIONS 요청이다. 개발자가 직접 보내는 경우보다 브라우저가 자동으로 발생시키는 경우가 대부분이다. 이 요청은 보통 다음 정보를 담는다. Origin Access-Con... 2024/09/07 Notes, Web
Session and JWT Notes 두 방식의 공통점 세션과 JWT는 모두 “HTTP가 기본적으로 상태를 기억하지 않는다”는 문제를 보완하기 위한 장치다. 사용자가 로그인한 뒤 다음 요청에서도 인증 상태를 이어가려면, 서버나 토큰 어딘가에 인증 정보를 유지해야 한다. 세션 기반 인증 세션 방식에서는 서버가 로그인 상태를 저장한다. 흐름은 보통 다음과 같다. 사용자가 로그인... 2024/09/07 Notes, Web
Single Sign-On Notes SSO란 SSO, 즉 Single Sign-On은 한 번의 로그인으로 여러 시스템을 이용할 수 있게 하는 방식이다. 사용자는 애플리케이션마다 다시 로그인하지 않고, 중앙 인증 시스템이 발급한 인증 결과를 공유받는다. 왜 필요한가 서비스가 여러 개로 늘어나면 각각의 로그인 화면과 사용자 저장소를 따로 운영하는 것이 비효율적이다. SSO를 도입하면... 2024/09/07 Notes, Web
Token Authentication Notes Token Authentication References https://www.okta.com/identity-101/what-is-token-based-authentication/ https://auth0.com/docs/secure/tokens/token-best-practices 2024/09/05 Notes, Authentication Authentication Basics 2편
Unique ID Generation Strategy in Distributed Systems Notes Unique ID Generation Strategy in Distributed Systems 분산 환경에서 고유한 키를 생성하는 것에는 많은 고려사항이 있다. https://blog.devtrovert.com/p/how-to-generate-unique-ids-in-distributed https://medium.com/@sandeep4... 2024/09/05 Notes, Architecture