본문 바로가기

전체 글

(66)
TDD와 테스트 전략 1. TDD란 무엇인가?Test-Driven Development (테스트 주도 개발)테스트 코드를 먼저 작성하고, 실제 구현 코드를 작성하는 개발 방식 💡 TDD 3단계 사이클 (Red → Green → Refactor)Red: 실패하는 테스트 작성Green: 테스트 통과하는 최소한의 코드 작성Refactor: 중복 제거, 리팩토링2. TDD의 이점요구사항에 맞춘 정확한 구현리팩토링 시 기존 기능 깨짐 방지개발자 입장에서 문서 역할도 가능테스트 가능한 구조로 개발하게 됨 → 유지보수성 증가3. 테스트의 종류분류설명예시단위 테스트메서드/클래스 단위서비스 메서드 로직 테스트통합 테스트여러 컴포넌트 연동 확인컨트롤러 + 서비스 + DB인수 테스트실제 사용자 흐름 테스트회원가입 시 전체 플로우UI 테스트프론..
OAuth2 OAuth2(Open Authorization)제3자 애플리케이션이 사용자 비밀번호를 직접 알지 않고도, 사용자의 권한을 위임받아 자원에 접근할 수 있도록 설계된 인증 및 권한 부여 프레임워크. 주로 소셜 로그인이나 API 접근 권한 관리에 사용된다.어플리케이션을 이용할 때 사용자가 해당 어플리케이션에 ID, PW등의 정보를 제공하지 않고, 신뢰할 수 있는 외부 어플리케이션(Naver, Google, Kakao, Facebook 등)이 제공하는 Open API에 ID, PW를 입력하여 해당 어플리케이션이 인증 과정을 처리해주는 방식.'2'는 버전 번호를 뜻함(2는 보안은 자체 암호화가 아니라 HTTPS에 위임함(간단 버전)) 핵심 개념 요약용어설명Resource Owner (리소스 소유자)일반적으로 사용..
JWT JWT란?JWT (JSON Web Token) 는 JSON 포맷을 이용해 정보를 안전하게 전달하기 위한 토큰 기반 인증 방식입니다. 주로 사용자의 인증 상태를 유지하거나 권한 검증을 위해 사용됩니다. JWT는 총 3개의 파트로 구성되며, . 으로 구분됩니다. (헤더(header), 페이로드(payload), 서명(signature) 세 파트)ex) xxxxx.yyyyy.zzzzz Header (헤더){ "alg": "HS256", "typ": "JWT"} Payload (페이로드){ "sub": "1234567890", "name": "John Doe", "iat": 1516239022} Signature (서명)HMACSHA256( base64UrlEncode(header) + "." + b..