2024-09-09-TIL TIL 2024-09-09-TIL Today I Learned Idle Timeout Backend 서버에서 타임아웃은 없고, 톰캣 서버의 설정도 별도로 하지 않았다. Backend서버 앞단의 ALB 타임아웃을 900초로 설정했다. Frontend 서버인 Nginx에서는 내부 도메인에 한해서만 커넥션 타임아웃을 900초로 설정했다. 그런데 브라우저에서 ... 2024/09/09 TIL, 2024-TIL
2024-09-08-TIL TIL 2024-09-08-TIL Today I Learned 블로그 이사 이번 주말 간에 기존의 블로그 프로젝트를 아카이빙하고 새로운 테마의 블로그로 모든 데이터를 완전히 이전하게 되었다. 이사하게 된 이유는 아주 많지만 최근에 이력서를 정리하고 원하는 회사에 지원해보면서 일종의 메타인지(?)를 해보았다. 그런데 내가 반대 입장에서 블로그를 방문했을 ... 2024/09/08 TIL, 2024-TIL
Single Sign-On Notes SSO란 SSO, 즉 Single Sign-On은 한 번의 로그인으로 여러 시스템을 이용할 수 있게 하는 방식이다. 사용자는 애플리케이션마다 다시 로그인하지 않고, 중앙 인증 시스템이 발급한 인증 결과를 공유받는다. 왜 필요한가 서비스가 여러 개로 늘어나면 각각의 로그인 화면과 사용자 저장소를 따로 운영하는 것이 비효율적이다. SSO를 도입하면... 2024/09/07 Notes, Web
Session and JWT Notes 두 방식의 공통점 세션과 JWT는 모두 “HTTP가 기본적으로 상태를 기억하지 않는다”는 문제를 보완하기 위한 장치다. 사용자가 로그인한 뒤 다음 요청에서도 인증 상태를 이어가려면, 서버나 토큰 어딘가에 인증 정보를 유지해야 한다. 세션 기반 인증 세션 방식에서는 서버가 로그인 상태를 저장한다. 흐름은 보통 다음과 같다. 사용자가 로그인... 2024/09/07 Notes, Web
Preflight Request Notes Preflight Request란 Preflight Request는 브라우저가 실제 cross-origin 요청을 보내기 전에, 그 요청이 허용되는지 먼저 확인하는 OPTIONS 요청이다. 개발자가 직접 보내는 경우보다 브라우저가 자동으로 발생시키는 경우가 대부분이다. 이 요청은 보통 다음 정보를 담는다. Origin Access-Con... 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
Log4j Vulnerability Notes 무엇이 문제였나 Log4j 취약점은 보통 Log4Shell로 불린다. 핵심은 로그 메시지 안의 특정 문자열이 원격 조회로 이어질 수 있었고, 그 결과 원격 코드 실행까지 이어질 수 있었다는 점이다. 가장 널리 알려진 이슈는 CVE-2021-44228이다. 왜 영향이 컸나 이 취약점이 크게 퍼진 이유는 세 가지다. Log4j 2가 매우 널... 2024/09/07 Notes, Web
Log4j vs Logback vs Log4j2 Notes 세 프레임워크의 관계 Java 로깅 생태계에서는 API와 구현체를 구분해서 보는 것이 중요하다. 보통 애플리케이션은 SLF4J 같은 로깅 API를 사용하고, 실제 출력은 Logback이나 Log4j2 같은 구현체가 담당한다. Log4j: 오래된 Apache 로깅 프레임워크 Logback: SLF4J 작성자가 만든 후속 구현체 Log4j... 2024/09/07 Notes, Web
Log Level Notes 로그 레벨은 왜 필요한가 로그 레벨은 모든 로그를 같은 무게로 다루지 않기 위한 장치다. 개발 중에는 자세한 로그가 필요하지만, 운영 환경에서는 중요한 신호를 빠르게 골라낼 수 있어야 한다. 보통 다음 순서로 심각도가 올라간다. TRACE DEBUG INFO WARN ERROR 각 레벨의 역할 TRACE 가장 세밀한 실... 2024/09/07 Notes, Web
Large List Rendering Issue Notes 문제가 생기는 이유 리스트 항목이 수백 개를 넘기기 시작하면 화면 렌더링이 눈에 띄게 느려질 수 있다. 스크롤이 끊기거나 입력 반응이 늦어지는 현상은 대부분 한 번에 너무 많은 DOM을 그리기 때문에 발생한다. 문제 원인은 보통 다음 중 하나다. 화면에 보이지 않는 항목까지 전부 렌더링한다. 각 아이템이 무거운 컴포넌트 구조를 가진다. ... 2024/09/07 Notes, Web