til 24

[이커머스 백오피스] 프로젝트 시작과 설계 기록

프로젝트 시작 "이커머스 백오피스 서비스" 이번 프로젝트는 관리자 회원가입/인증, 관리자 관리, 고객 관리, 상품 관리, 주문 관리 기능을 포함하고 있고, 나는 관리자 부분을 맡았다. 프로젝트 초반에는 기능 구현보다 협업 방식과 공통 구조를 먼저 맞추는 일이 더 중요했고, 이번 글에서는 그 과정을 정리해보려고 한다.✔️ 프로젝트를 시작하고 가장 먼저 한 일가장 먼저 한 작업은 테이블 명세서, ERD, API 명세서를 정리하는 것이었다.요구사항을 읽어보니 관리자, 고객, 상품, 주문까지 도메인이 여러 개였고 각 도메인이 서로 연결되어 있었다. 그래서 먼저 아래 순서로 전체 구조를 잡았다.테이블 명세서 작성ERD 작성API 명세서 작성GitHub 저장소 생성 및 협업 세팅공통 작업 진행역할 분담 후 각자 브..

카테고리 없음 2026.04.25

Spring Boot 일정 관리 트러블 슈팅

Trouble Shooting List Port already in use Schedule 생성자에서 값이 null로 저장되는 문제 400 Bad Request author 필드 제거 후 연관관계 적용 Schedule 생성 시 userId로 User를 못 찾는 문제 세션 검증 적용 후 userId 제거 (User) 형변환(캐스팅) 오류 수정/삭제 시 본인 확인1. Port already in use🔴 ProblemWeb server failed to start. Port 8081 was already in use.🔍 Cause이전에 실행했던 서버가 종료되지 않은 채로 다시 실행하려고 해서 발생✅ Solutionlsof -i :8081kill -9 [PID숫자]2. Schedule 생성자에서 값이 nu..

카테고리 없음 2026.04.23

[TIL] Cookie / Session (로그인 인증)

Spring Boot Lv4 로그인 기능 구현을 위해 Cookie와 Session 개념을 공부했다.왜 Session이 필요한가?HTTP는 기본적으로 무상태(Stateless) 프로토콜이다.즉, 서버는 각 요청을 독립적으로 처리하기 때문에 이전 요청을 기억하지 못한다.✔️ 1번 요청: "나 스파르타야, 로그인할게"✔️ 2번 요청: "나 스파르타야, 장바구니 보여줘"⭐️ 서버 입장에서는 1번이랑 2번이 같은 사람인지 알 수 없다 🥲그래서 "나는 로그인한 사람이야!" 를 증명할 수단이 필요 → SessionCookie vs Session ✔️ 비유로 알아보기🎡 세션 = 놀이공원 입장 명부 (서버에 있음)🍪 쿠키 = 내 손목에 찍힌 도장 (브라우저에 있음)📝 손목 도장(쿠키)을 보여주면 서버가 명부(세션..

카테고리 없음 2026.04.22

[TIL] Spring 숙련 - JPA & Cookie/Session 정리

To Do ListResponseEntity 이해JPA 어노테이션 (@Entity, @Id, @GeneratedValue 등)연관관계 (@ManyToOne, @JoinColumn)Cookie/Session 인증/인가Bean Validation (@Valid 등)Part 1 : ResponseEntity✔️ 개념 설명Spring에서 API를 만들 때, 클라이언트에게 응답을 돌려줄 때 쓰는 클래스일반적으로 그냥 값만 리턴할 수도 있지만, ResponseEntity를 쓰면HTTP 상태 코드 (200, 400, 404 등)응답 헤더응답 바디 (데이터)이 세 가지를 한 번에 제어할 수 있다.✔️ 예시 비교ResponseEntity 없이@GetMapping("/user/{id}")public UserResponse..

카테고리 없음 2026.04.16

[TIL] Spring 개념 정리 | DI / IoC / Bean / MVC 요청 흐름

To Do ListDI (Dependency Injection, 의존성 주입)IoC (Inversion of Control, 제어의 역전)Spring Bean (빈 스코프 & 생명주기)왜 Spring Bean은 기본적으로 싱글톤으로 설계했을까?요청이 들어왔을 때, 디스패처 서블릿이 컨트롤러를 어떻게 찾아주는가Part 1 : DI (Dependency Injection, 의존성 주입)의존성은 무엇일까?코드에서 A가 B를 사용한다면, "A는 B에 의존한다" 라고 말한다. 🕶️ 코드 예시public class OrderService { private PaymentService paymentService = new PaymentService(); // 직접 생성 public void orde..

카테고리 없음 2026.04.15

[TIL] Spring - 실전에 필요한 개념

오늘은 튜터님의 말씀을 듣고, 실전 위주 중요 포인트를 공부했다.To Do List · 2026.04.0801 Spring Boot 개념02 IoC / DI03 Controller → Service → Repository 흐름04 MVC 패턴05 주요 어노테이션06 Lombok07 Thymeleaf08 URL 매핑 어노테이션09 application.properties10 프로젝트 폴더 구조 1. Spring Boot란?Java로 웹 개발을 쉽게 할 수 있게 만든 프레임워크.기존 Spring은 설정이 너무 복잡했는데, Spring Boot는 그 복잡한 설정을 자동으로 해준다요즘 Java 백엔드 개발은 거의 다 Spring Boot로 한다. 2. IoC와 DI (Spring의 핵심 원리)IoC (제어의 역..

카테고리 없음 2026.04.08

[TIL] Spring 시작하기

작성일 : 2026-04-07강의 : 입문 Spring🍬 오늘 들은 강의 ✔️ chapter 1-1 OT - 스프링으로 백엔드 개발 시작하기✔️ chapter 1-2 스프링을 위한 클래스(Class)와 객체(Object)✔️ chapter 1-3 스프링을 위한 인터페이스(Interface)✔️ chapter 1-4 개발환경 구성✔️ chapter 1-5 꼭 알아야할 기본 개발 용어✔️ chapter 1-6 라이브러리와 프레임워크✔️ chapter 1-7 HTTP(1)✔️ chapter 1-8 HTTP(2)✔️ chapter 1-9 API 이해하기✔️ chapter 1-10 Annotation과 Lombok✔️ chapter 1-11 스프링 프로젝트 시작 & 의존성 관리 (Gradle/Maven)✔️ c..

카테고리 없음 2026.04.07

[TIL] 알고리즘 기초 개념 정리

😎 알고리즘 강의 챕터 1-2 알고리즘 시간복잡도 빅오표기법 코딩테스트 1. 알고리즘이란?알고리즘(Algorithm) : 문제를 해결하기 위한 단계적 절차나 규칙요리 레시피처럼, 시작부터 끝까지 순서대로 무엇을 해야 하는지 적어놓은 것. 알고리즘을 왜 배울까? 논리적 사고력 향상 체계적·논리적인 사고방식을 기를 수 있음 효율적인 문제 해결 더 빠르고 효율적인 코드 작성 가능 취업 (코딩테스트) 문제 이해도 + 구현 능력 + 효율적 해결 능력을 종합 평가알고리즘 표현 방법𖠌 의사코드 (Pseudocode)프로그래밍 언어와 유사하지만 문법에 얽매이지 않음단계별 논리 흐름을 구조적으로 표현하기 좋음실제 코드로 옮기기 쉬움 FUNCTION findMax(n..

카테고리 없음 2026.04.03

[TIL] Java 컬렉션 - HashSet과 HashMap

🕶️ HashSetSet 인터페이스를 구현한 컬렉션이다. 특징순서를 보장하지 않는다중복을 허용하지 않는다get() 사용 불가주요 메서드HashSet set = new HashSet();set.add("값"); // 추가set.remove("값"); // 제거 이럴 때 사용!중복 없이 데이터를 관리할 때 : 예를 들어 장바구니에 같은 상품이 중복으로 담기는 걸 방지할 때 활용할 수 있다. ⭐️ 구글에서 가져온 예시import java.util.HashSet;class Main { public static void main(String[] args) { HashSet evenNumber = new HashSet(); // Using add() method ..

카테고리 없음 2026.04.02