본문 바로가기

분류 전체보기34

구글 로그인 아키텍처 설계 (Spring Boot + MongoDB) 구글 소셜 로그인을 Spring Boot와 MongoDB기반으로어떻게 설계하고 구현였는지, 그리고 프론트엔드와 백엔드 간책인 분리 관점에서 개선한 방식을 소개해보려 합니다. 1. 프론트와 백엔드의 책임 분리🔹기존 설계- 프론트엔드가 직접 Google OAuth URI를 생성하여 요청- 구글 로그인 후, 인증 코드를 프론트가 받아서 백엔드에 전달 🔸개선 방식 (Spring Security 기반)- 프론트는 /oauth2/authorization/google로 요청만 보냄- Spring Security가 구글과의 인증 흐름 전부 처리 ✔️비교- 기존 설계에서는 인증 코드 탈취 가능성이 증가함 - 개선 방식에서는 Spring Security가 구글과의 인증 흐름 전부 처리 > 인증 코드 노출이 없음 (보.. 2025. 5. 11.
[프로젝트] 코드 리펙토링 도전기 step 1. 코드 분리하기 코드 리펙토링 도전기기존 프로젝트 속 코드는 중복되거나, 한 클래스에 너무 많은 책임이 있는 등 기능을 굴러가나 효율적이지 못한 코드로 이루어져 있었다. 프로젝트를 이어 나가기 전 리펙토링을 통해 한층 더 나은 설계를 해보고자 리펙토링을 시작하게 되었다.How to start...?일단 기본적으로 있어야 할 테스트코드가 없었기에 감을 잡기가 어려웠던 상황..!!테스트코드를 먼저 적기에는 SRP원칙이 어긋난 부분이 많았기에 코드를 먼저 분리하는 것이 맞겠다는 결론이 나왔다!SRP(단일 책임 원칙) 이란?- 한 클래스는 오직 하나의 액터(사용자)만을 위한 책임을 가져야 한다. - 각 소프트웨어 모듈이 변경해야 하는 단 하나의 이유를 가져야 한다. Step1. 코드 분리하기 ✔️ 단일 책임 원칙을 지키면 좋을.. 2025. 4. 7.
[자격증] Toeic Speaking AL 꿀팁 공유 안녕하세요 :)오늘은 2주간 토익 스피킹을 준비하면서 어떤 식으로 공부했는지 공유해보려 합니다!목차1. 토스 선택 이유2. 교재3. 공부 과정4. 시험 직전 팁 5. 시험 후기  1️⃣ 토스 선택 이유일단, 오픽이 아닌 토스를 선택한 이유는 첫번째! 자신이 없었다...ㅎㅎ평소에 프리토킹을 생활화하거나 스피킹 자체에 자신있는 편이 아니었기 때문에단기간에 점수를 높이기에는 어느 정도의 템플릿이 있는 토스가 유리하다고 생각했다. 학교 취업특강 강사님께서도 시험 종류가 중요하다기보다는 높은 점수를 받는 것이중요하다고 말씀하셨어서 토스로 확정하게 되었다!TIP! ) 대학생이라면 학교에서 외국어시험 응시료 지원사업을 진행 중일 수 있으니 꼭 확인해볼 것! 2️⃣ 교재 교재는 "5일만에 끝내는 토익스프킹 실전모의고사.. 2025. 3. 23.
[자바의 정석] 변수, 배열, 객체 지향 파트 요약 정리 (챕터2, 5, 6 정리) 기초를 다잡기 위해 자바의 정석을 읽고 요약해보는 시간을 가져보려 한다. (이번 글에서는 2, 5, 6과에 해당하는 요약이니 참고바랍니다)  JAVA의 정석(2ND EDITION) | 남궁성 - 교보문고JAVA의 정석(2ND EDITION) | 자바의 기초부터 객체지향개념을 넘어 실전활용까지 자바의 참맛을 느낄 수 있는 교재『JAVA의 정석(2ND EDITION)』. 첫 째로 각 장마다 연습문제가 추가되어 학습한 내용을product.kyobobook.co.kr   ch02 변수 변수 선언→ 변수 타입+이름 작성변수 선언 이후 값 저장→ 변수의 초기화변수 타입기본형→int, double 저장할 값의 종류에 따라 구분논리형(boolean(1)), 문자형(char(2)), 정수형, 실수형(float(4), d.. 2025. 3. 16.