분류 전체보기35 [13-2] OAuth 2.0의 주요 컴포넌트와 Authorization Code Grant의 흐름 ✔️ 들어가며우리는 매일 "Google 계정으로 로그인" 등과 같은 버튼을 클릭한다. 이 버튼 하나가 처리하는 것은 단순한 로그인이 아니다. 내 Goolge 연락처에 접근하되, 내 비밀번호는 이 앱에 주지 않겠다는 일종의 정교한 위임이다. 그리고 OAuth 2.0은 이러한 위임을 안전하게 처리하기 위한 표준 프레임워크이다.✔️ OAuth 2.0의 4가지 주요 컴포넌트Resource Owner리소스의 실제 소유자, 즉 사용자이다.Client보호된 리소스에 접근하려는 애플리케이션으로, 우리가 개발하려는 서비스가 여기에 해당한다.Authorization Server사용자를 인증하고 동의를 받아 Access Token을 발급하는 곳으로, 게정을 연동하는 Google, Github 등이 여기에 해당된다.Resou.. 2026. 5. 26. [13-1] 인증: 세션 기반 vs 토큰 기반 ✔️ 들어가며HTTP는 무상태 프로토콜로, 서버는 요청을 받을 때마다 어느 사람의 요청인지 알지 못한다. 로그인은 이 문제를 해결하기 위한 일종의 약속인데, 이 약속을 어디에/어떻게 저장하느냐에 따라 세션 방식과 토큰 방식으로 나뉜다.✔️ 세션 기반 인증세션 기반 인증은 서버가 직접 상태를 기억하는 방법이다. 사용자가 로그인에 성공하면 서버가 "이 사람은 인증됐다!"는 정보를 자신의 저장소(메모리, DB, Redis)에 저장하고, 그 키만 클라이언트에게 쿠키로 전달한다. 이후 모든 요청에서 브라우저는 쿠키를 자동으로 전송하고, 서버는 저장소를 조회해 인증 여부를 확인한다. 도식화하면 다음과 같다.1. 로그인: 아이디/비밀번호를 서버로 전송2. 세션 생성: 서버가 세션 저장소에 사용자 정보/권한 저장3. .. 2026. 5. 26. [12-2] GitHub Actions 워크플로우에서의 다양한 트리거 유형 ✔️ 들어가며CI/CD 파이프라인은 코드 품질을 지키고, 빠른 배포와 장애 감지를 위해 필수적인 요소이다. GitHub Actions는 이를 위한 강력한 플랫폼으로, 단순한 테스트 자동화부터 멀티 환경 배포 오케스트레이션까지 다양한 시나리오를 코드 한 파일로 표현할 수 있다. 그리고 그 중심에는 트리거(Trigger)가 있다. 트리거는 워크플로우가 언제, 어떤 조건에서 실행될지 결정한다. 아무리 정교하게 설계된 파이프라인이라도 트리거가 잘못 설계되면 불필요한 실행으로 비용이 낭비되거나, 반대로 중요한 순간에 워크플로우가 실행되지 않는 상황이 발생한다. GitHub Actions는 코드 push/PR과 같은 개발 이벤트, 정기 실행을 위한 스케줄, 사람이 직접 실행하는 수동 트리거, 외부 시스템과 연결되는.. 2026. 5. 19. [12-1] AWS RDS ✔️ RDSAWS RDS(Relational Database Service)는 Amazon이 제공하는 완전 관리형 관계형 데이터베이스 서비스이다. MySQL, PostgreSQL, Oracle, Aurora 등 여러 엔진을 지원하며 운영에 필요한 인프라 작업에 상당 부분을 대신 처리해준다.✔️ RDS의 주요 이점RDS를 사용했을 때의 주요 이점은 아래와 같이 정리할 수 있다.자동 백업 & 복원: 자동 스냅샷과 Point-in-Time 복구를 기본으로 제공해 데이터 유실 리스크를 낮춤자동 패치 & 업그레이드: OS 및 DB 엔진 패치를 유지보수 윈도우에 적용해 취약점 대응 부담을 줄임간편한 스케일링: 인스턴스 타입 변경, 스토리지 자동 확장 등을 손쉽게 할 수 있음Multi-AZ 고가용성: Multi-AZ.. 2026. 5. 19. [AWS] ECS 배포 트러블슈팅 기록 1. JVM_OPTS 따옴표 문제발생 원인 .env 파일에서 JVM_OPTS 값을 따옴표로 감싸면 ECS가 따옴표 자체를 JVM 옵션으로 전달함 에러 메시지Could not find or load main class "-Xmx384m"Caused by: java.lang.ClassNotFoundException: "-Xmx384m" 해결 방법# 수정 전JVM_OPTS="-Xmx384m -Xms256m -XX:MaxMetaspaceSize=64m -XX:+UseSerialGC"# 수정 후JVM_OPTS=-Xmx384m -Xms256m -XX:MaxMetaspaceSize=64m -XX:+UseSerialGC2. S3 환경변수 파일의 플레이스홀더 미지원발생 원인 ECS의 S3 환경변수 파일은 ${} 플레이스.. 2026. 5. 8. [모뉴] 개인 개발 리포트 1. 프로젝트 개요모뉴(Monew)는 여러 뉴스 API를 통합하여 사용자에게 맞춤형 뉴스를 제공하고, 의견을 나눌 수 있는 소셜 기능을 갖춘 서비스이다. 더 자세히 말하자면 네이버 뉴스 검색 API와 RSS 피드를 통해 뉴스 기사를 수집하고, 사용자가 등록한 관심사 키워드를 기반으로 관련 기사를 필터링하여 제공한다. 소셜 기능적인 측면에서는 댓글/좋아요/알림 등의 소셜 기능을 통해 사용자 간 상호작용이 가능하다.2. 담당한 작업관심사 도메인 전체와, 전체 API 부하테스트를 담당했다.관심사 도메인등록Levebshtien Distance 알고리즘을 활용한 유사도 검사 적용(80% 이상 유사 시 등록 불가)동시에 여러 요청이 들어올 경우 중복 등록을 방지하기 위한 비관적 락 적용수정삭제목록 조회커서 기반 페.. 2026. 5. 8. 이전 1 2 3 4 ··· 6 다음