Spring

· 프로젝트
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다!✅ 디자인 패턴 도입의 필요성GitGet 서비스에는 `사용자의 프로필`, `토픽의 이미지`, `인스턴스(챌린지)의 이미지`를 저장/수정/삭제하는 기능을 지원합니다.이에 따라서 파일 시스템을 구현했습니다. 초기 개발 단계에서는 개발진들이 자신의 컴퓨터에서 각자 서버를 돌렸기 때문에`java.io.File` 패키지에서 제공하는 메서드들을 통해  로컬 저장소(각자의 컴퓨터 하드)에 파일을 저장/수정/삭제하는 기능(이하 파일 시스템)을 개발했습니다. 어느정도 개발이 완료되고, AWS에 서비스를 배포하면서 문제가 발생했습니다. 배포 이전에는 각자의 로컬 저장소에 파일을 저장하고 사용해도 문제가 없었..
· Spring Boot
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다!✅ OAuth2 로그인을 구현하는 두 가지 방법Spring security과 OAuth2를 통해 소셜 로그인을 구현할 수 있는데, 여기에 두 가지 방법이 있습니다.첫 번째로는 각 소셜(Github, Kakao, Naver 등)에서 제공하는 API를 활용하여 인가 및 코드를 직접 받는 방법,두 번째로는 Spring에서 제공하는 기능을 사용하는 방법입니다. 1️⃣ 소셜에서 제공하는 API 직접 사용하기 소셜로그인을 구현하는 첫번째 방법은 소셜에서 제공하는 API를 통해 구현하는 방법입니다.각 소셜의 Developers 페이지에 가면 소셜 로그인을 하는데에 필요한 과정을 상세하게 설명하고 있습니다..
· Spring Boot
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! Spring을 이용해서 개발하다보면, 그중 DB를 연결해서 개발하다 보면 `@Transactional` 어노테이션을 많이 사용하게 된다.리팩토링을 진행하던 중 `@Transactional`과 관련된 예외를 몇 번 만나게 되었고, 이를 해결하면서 @Transactional 어노테이션에 대한 궁금증이 들기 시작했다.이번 포스팅에서는 그 궁금증들을 타파해보자!  ✅ `Transaction`의 필요성`@Transactional` 어노테이션에 대해 이야기하기 전에, Transaction에 대해 이야기해 보자.(Transaction에는 다양한 종류들이 있는데, 그중 Database Transaction..
· Spring Boot
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다!✅ Front-controller 패턴이란Front-controller 디자인 패턴은 application으로 들어오는 모든 요청이 하나의 핸들러(single handler)에 의해 다뤄지며, request를 처리할 적절한 핸들러로 보낸다(dispatched).또한 front-controller는 dispatching mechanism(보내는 매커니즘)을 사용하기 위해 다른 `helper`들을 활용할 수 있다. 🔥 Front-controller  디자인 패턴의 UML 다이어그램1. ControllerController는 시스템에 들어오는 모든 request(요청)이 제일 처음으로 만나는 지..
· Spring Boot
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다!✅ Dispatcher Servlet이란?디스패처 서블릿의 dispatch는 "보내다"라는 뜻을 가지고 있다.Dispatcher servlet은 HTTP 프로토콜을 통해 들어오는 요청을 먼저 받아(Front-controller) 적합한 컨트롤러에 위임(보내주는) 역할을 한다. ✅ Dispatcher-servlet의 동작 방식Spring boot 웹 어플리케이션에서 `Dispatcher-servlet`은 중요한 역할을 하며, request들을 처리(Handling)하는 복잡한 components들을 조율한다.`Dispatcher-servlet`은 들어오는 각각의 Request가 적절한 con..
· Spring Boot
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! 팀 프로젝트를 통해 개발한 코드들을 리팩토링하고 공부하는 과정에서 `HttpServletRequest`, `HttpServletResponse`와 같이  `Servlet`이라는 단어를 많이 접할 수 있었다.`Servlet`이란 무엇일까? 한 번 알아보자. ✅ Servlet이란?Servlet(서블릿)이란 client로부터 받은 Request(요청)을 처리하고, 그 결과(Response)를 반환하는 Java 프로그램이다. 🔥 Servlet의 LifeCycleServlet의 생명주기(life cycle)는 Servlet container에 의해 관리된다.`javax.servlet` 패키지의 ..
HEY__
'Spring' 태그의 글 목록