본문 바로가기

전체 글110

맛슐랭 - 스프링부트 OAuth2 로그인 구현 (소셜로그인,간편로그인) - intro - 저번 프로젝트에서 일반 회원가입&로그인을 구현해보았기 때문에 이번 프로젝트에서는 소셜로그인을 사용해보고자 한다. 국내에서 많이 사용하는 네이버와 카카오 로그인을 사용해볼 예정이다. OAuth2에 관해 알아햘 내용들은 2024.03.07 - [spring] - Spring Security (스프링 시큐리티) OAuth2 정리 1 에 정리해놓았다. 스프링부트에서 OAuth 2.0을 설정할 때, Spring Security는 인증 및 권한 부여를 담당하는 필터 및 프로세스를 구성한다. 따라서 스프링부트가 자동으로 authorization code를 요청하고 받아오는 작업부터 access token을 사용하여 사용자 정보에 접근하는 작업까지를 수행해준다. => 개발자는 복잡한 로직을 직접 구현.. 2024. 3. 20.
HttpServletRequest, HttpServletResponse 생성 시점 & 사용이유 & 사용방법  HttpServletRequest 생성 시점 웹클라이언트(웹브라우저)로부터 서버로 요청이 들어오면 서버에서는 HttpServletRequest를 생성하여, 요청정보에 들어있는 path로 매핑된 서블릿에게 전달한다 (응답을 보낼 때 사용하기 위해 HttpServletResponse 객체도 생성해 함께 전달) HttpServletRequest 사용 이유 http 프로토콜의 request정보를 서블릿에게 전달하기 위해서 사용한다. 헤더정보, 파라미터, 쿠키 등의 정보를 읽을 수 있는 메소드를 가지고 있다. Body의 Stream을 읽어들이는 메소드를 가지고 있다. HttpServletResponse 사용 이유 요청을 보낸 클라이언트에게 content type,응답메세지 등 응답에 관련된 정보를 보내기 위해.. 2024. 3. 18.
JSP & Servlet JSP ( JavaServer Pages ) HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 웹어플리케이션 도구이다. 웹어플리케이션 웹에서 실행되는 응용프로그램으로 인터넷에서 하는 여러 서비스를 총칭 ex. 인터넷쇼핑 웹어플리케이션이 동작하기 위한 구성요소 웹브라우저, 웹서버, was, db (설명참고: 2024.03.18 - [web] - Web Server, WAS, DB) 자바 서블릿 웹페이지를 동적으로 생성하기 위한 서버측 프로그램이다. 웹 어플리케이션 서버에서 컴파일되고 동작한다. JSP & 서블릿 JSP와 서블릿은 동일한 일을 하지만 JSP는 HTML 내부에 JAVA 소스코드가 들어감으로 인해 HTML 코드를 작성하기 편하다. 서블릿은 JAVA 코드 내에 HTML 코드가 들어있.. 2024. 3. 18.
Web Server, WAS, DB 웹서버는 html, CSS 등 정적인 웹페이지를 웹 브라우저에 전달하거나 웹 브라우저의 요청을 받아 WAS에게 전달한다. WAS는 DB조회, 로직 처리 등을 수행 후 처리 결과를 Web Server에게 전달하여 웹브라우저를 통해 웹페이지에 결과가 노출된다. Web Server 웹 브라우저로부터 요청을 받아 정적인 컨텐츠를 처리 (ex: Apache) WAS DB 조회나 다양한 로직을 처리하는 동적인 컨텐츠를 처리하는 시스템 (ex: Tomcat) DB DataBase의 약자로 데이터 저장소 (ex: MySQL, Oraccle) 2024. 3. 18.
맛슐랭 - UI 설계 1. 메인 페이지 및 전국 맛집 홈페이지 첫화면, 모든 유저들이 맛집으로 등록한 음식점들을 볼 수 있음 연령대, 성별, 음식종류, 특정 키워드 검색시 그에 해당하는 맛집만 출력 지도에 있는 spot 아이콘 중 하나 클릭하면 해당 spot아이콘은 연두색으로 바뀌고 해당 맛집에 대한 모든 리뷰 출력 하트 버튼 클릭 시 해당 맛집을 찜한 맛집에 추가할 수 있음 특정 리뷰 클릭 시 유저들이 작성한 상세 후기 볼 수 있음 2. 찜한 맛집 하트 버튼을 클릭한 맛집들을 모두 볼 수 있음 (하트버튼 다시 클릭하면 찜한 맛집에서 삭제) 인정도장 버튼 클릭시 해당 맛집을 가보셨나요? alert창 나오고 예 누르면 인정도장 찍힘 3. 나의 맛집 내가 리뷰를 남긴 모든 맛집을 볼 수 있음 플러스 버튼 클릭시 맛집 추가 가능 .. 2024. 3. 16.
No matching tests found in any candidate test task 1. 발생 accessToken 안에 포함된 memberId를 확인하기 위한 테스트를 실행하는 중에 발생하였다. @Test public void accessToken내의MemberId확인() throws Exception{ //given String accessToken= ""; //when Long memberId = authTokensGenerator.extractMemberId(accessToken); //then Assertions.assertEquals(memberId,1); } 2. 코드 No matching tests found in any candidate test task 3. 원인 현재 SpringBoot 3.2.3 버전을 사용중이라 JUnit5가 기본으로 설정되어 있지만 JUnit4를.. 2024. 3. 14.