목록전체 글 (19)
co-cherry
React 프로젝트를 처음 시작할 때, 파일 구조 같은 건 신경 쓰지 않았다.기능 구현에만 중점을 두고, '일단 되게 만들자'가 목표였으니까.하지만 프로젝트가 커지면서 기존 파일들조차 찾기 힘들어지는 경우가 많았고,기능을 한번 추가하려고 하면 components, hooks, utils, api 폴더를 전부 뒤져야 했다.관련 파일이 여러 폴더에 흩어져 있으니 수정할 때마다 탐색기를 끝없이 스크롤 했다. 팀 프로젝트를 해보면서 팀원마다 각자 본인만의 기준으로 파일을 배치해 팀원들의 코드를 찾기 힘들 때도 많았다. 파일을 빨리 찾거나 추가할 수 있으며, 누가 보더라도 직관적으로 이해되는 프로젝트 구조를 만들 수 있을까? FSD(Feature-Sliced Design) Architecture 프론트엔드 애플..
Spring Security Spring 기반 애플리케이션에 인증(Authentication)과 인가(Authorization)기능을 제공하는 프레임워크 인증(Authentication) 사용자가 누구인지 확인하는 과정 (로그인 폼, OAuth2, JWT, LDAP 등 다양한 방식 지원) 인가(Authorization) 인증된 사용자가 어떤 리소스에 접근할 수 있는지 제어, URL 기반, 메서드 기반으로 권한 설정 가능 보안 공격 방어 CSRF, XSS, Session, Fixation 등 일반적인 보안 취약점을 기본으로 방어 FilterChainHTTP 요청이 Controller에 도달하기 전 통과해야 하는 보안 필터들의 묶음 요청이 Controller에 도달하기 전에 인증/인가/예외 처리가 전부 ..
API 에러 분류 HTTP 상태 코드 (HTTP Status Code)HTTP 요청의 성공/실패 여부를 서버에서 알려주는 코드 API 호출 시, HTTP Status Code로 API 처리 결과를 받고 HTTP Response Body로 응답 값을 받음 정상 호출: 200 반환, 각 API 별 지정된 포맷의 결과값을 받음 비정상 호출: 400/500 반환, 각 API 서버별 에러 코드와 에러 메세지 값을 받음 2XX 성공 상태 코드 200 OK 가장 일반적인 성공 응답, GET/PUT/PATCH 요청 성공, 응답 본문에 데이터가 포함 201 Created 리소스 생성 성공(POST), Location 헤더에 생성된 리소스 URL 포함 202 Accepted 요청 접수됨(처리는 아직 완료 아님), 비동기 ..
