분류 전체보기

Git

[Git] Git Merge 사용법, 브랜치 Merge 이해 - Squash, Rebase Merge 정리

Merge 알아보기 git checkout feat/1 git merge develop 1. Fast-Forward 새로운 브랜치 ‘feat/1’가 develop 브랜치로부터 분기된 이후 develop 브랜치에 새로운 커밋이 올라오지 않았다면, ‘feat/1’ 브랜치가 develop 브랜치와 비교했을 때 최신의 브랜치라 할 수 있습니다. Git-flow 방식으로 develop 브랜치에서 새 브랜치로 분기하면서 개발하는 경우 이런 경우 ‘feat/1’의 변경 이력을 그대로 develop으로 합치는 것이 Fast-forward Merge입니다. 2. Recursive (재귀적) ‘feat/1’ 브랜치가 develop 브랜치에서 분기 되고 develop 브랜치에 새로운 커밋이 생겼다면, ‘feat/1’를 최신..

Spring Framework/Spring

[Spring] Spring CORS 설정 & 이슈 해결 및 웹 애플리케이션 통신 이해하기

CORS(Cross-Origin Resource Sharing) 란 웹 애플리케이션에서 다른 출처(origin)의 리소스에 접근할 수 있는 규칙을 정의하는 메커니즘입니다. 웹 브라우저는 보안 상의 이유로 스크립트가 동일한 출처에서 실행될 때만 리소스에 접근을 허용합니다. 그러나 이로 인해 다른 출처의 리소스에 접근하는 요청이 차단되는 문제가 발생할 수 있습니다. 이를 해결하기 위해 CORS가 도입되었습니다. 개발하면서 마주치는 CORS 에러 분석하기 Warning! Access to fetch at ‘https://myhompage.com’ from origin ‘http://localhost:3000’ has been blocked by CORS policy: No ‘Access-Control-Allo..

CS/Network

[Socket] 웹 소켓 이해하기 - 양방향 실시간 통신, 메시지 프로토콜, 채팅

웹 소켓 vs HTTP 양방향 통신을 가능하게 하는 통신 프로토콜입니다. HTTP 프로토콜의 한계를 극복하기 위해 등장했으며, 기존에도 자주 사용되는 HTTP 프로토콜은 클라리언트에서 서버로 요청을 보내고 서버는 그에 대한 응답을 보내는 단방향 통신 방식입니다. HTTP 방식은 실시간 통신이나 푸시 알림 등 양방향 통신에는 적합하지 않아, Socket을 사용하여 처리합니다. 주로 서버가 클라이언트에게 비동기 메시지를 보낼 때 널리 사용하는 기술입니다. 웹 소켓 연결은 처음에는 HTTP 연결이지만, 특정 핸드셰이크 절차를 거쳐 웹 소켓 연결로 업그레이드 됩니다. 웹 소켓의 특징 ✔️ 양방향 통신 간단히, 데이터 송수신을 동시에 할 수 있는 방법입니다. 일반 HTTP 통신은 Client가 요청을 보내는 경우..

Spring Framework/Spring boot

[Spring boot] 커스텀 어노테이션을 활용한 JWT 로그인 사용자 인증과 권한 관리: HandlerInterceptor 인증 로직 구현

Spring의 HandlerInterceptor 구현을 통해 사용자 요청을 가로채어 처리할 수 있는 인터셉터입니다. 이 인터셉터는 특정 핸들러 메서드에 커스텀 어노테이션이 붙어 있을 경우, 해당 요청이 유효한지 검증합니다. 저는 HandlerInterceptor를 통해 인증된 사용자의 권한과 특정 조건을 검사하기 위해 사용했습니다. 로그인한 사용자가 게시글의 작성자인지 확인이 필요한 경우 서비스를 사용하다 보면 로그인 없이 접근 가능한 페이지(홈 페이지 등)가 있고, 로그인을 하거나 추가 권한이 있는 경우에만 접근이 가능한 페이지(게시글 수정, 삭제, 마이페이지)가 존재합니다. 1. 커스텀 어노테이션 만들기 /** * @CheckCombinationOwner : 현재 사용자가 게시글을 작성한 사용자인지 ..

kylo
'분류 전체보기' 카테고리의 글 목록 (7 Page)