본문 바로가기
반응형
SMALL

PROJECT13

week3-1: Product Entity와 Domain 설계 상품은 여러가지 상태에 대한 정보가 필요하다. 설명, 특징, 사양 등에 대한 정보는 언제든지 다른 컬럼으로 대체할 수 있으며, 그 외 판매자정보, 매장 정보, 배송 정보 등 필요한 정보들이 많다. 이는 다른 테이블에 존재하는 것들과 KEY 값으로 연결되어있다. 그렇다면 설명, 특징, 사양은 어떻게 구성할 수 있을까?일단 컬럼에 제한을 두게 되면 나중에 여러 특성들이 추가될 때마다 컬럼을 추가해야하는 문제가 생길 가능성이 크다.그래서 생각한 결과는설명이라는 key- value 형태의 JSON 컬럼안에 그대로 저장 할 것이다.다만, 큰 자유도를 주지 않기 위해 형식을 지정할 예정이다. 그리고 너무 일관성이 없으면 안되니까 상품 종류에 따라서 특성에 대한 건 Domain에서 제어를 하는 것이 좋을 것 같다. .. 2025. 3. 10.
week2-2: User JPA Repository 만들기 user table 구조를 만들었다.users 는 id, email, name을 갖고, auth_users는 id, user_id, provider, provider_id, password를 갖는다.provider_id가 있으면 ouath2이고, password가 있으면 email(local) 가입자이다. 그렇게 만들어진 adapter layer의 구조 entity 와 repository는 결국 DB에 접근하기 위한 보조이고,adpater는 실제 구현체가 존재한다. @Transactional override fun saveProvider(user: User, provider: String, providerId: String): User { val userEntity = UserEnt.. 2025. 3. 3.
week2-1: Spring Security 비활성화 및 Swagger 적용, User 테이블 만들기 Spring Security 비활성화//Spring Security 접근 전체 허용 및 로그인UI 비활성화@Configuration@EnableWebSecurityclass SecurityConfig { @Bean fun filterChain(http: HttpSecurity): SecurityFilterChain { http .csrf { it.disable() } .authorizeHttpRequests { authorize -> authorize.anyRequest().permitAll() } .formLogin { it.disable() } .http.. 2025. 2. 24.
week1-1: 요구사항 나열해보기 feat. 도메인 주도 개발 프로젝트를 시작하기에 앞서 만드려는 사이트의 요구사항을 나열하고 아키텍처를 잡아보려고 한다.  1. '악기(상품)'를 '판매'하는 사이트2. '유저'는 '관리자', '판매자', '일반'이 존재3. '유저'는 '판매' '상품'을 '구매'하기 위해 '검색' 함4. '검색'은 상품, 지역, 가격, 상태 등 '검색조건'이 존재5. '상품'을 누르면 상세페이지에서 '구매'가 가능6. '결제'는 '카드결제' 또는 '직접결제' 존재7. '배송' 정보를 선택할 수 있음. '매장'에서 '배송'이 가능하다면 선택할 수 있음8. '판매자'는 '매장'과 '상품'을 등록 할 수 있음.  그리고 ''안에 있는 것을 도메인으로 볼 수 있는지에 대해 GPT한테 물어봤다.도메인을 어떻게 나누느냐는 **업무 모델(비즈니스 로직)**과 .. 2025. 2. 22.
Week 1: 사이드프로젝트를 시작해보자 with AI 사이드프로젝트를 만들어야지라고 결심을 하게 되면서 다시 블로그를 활성화 해보려고 한다. 요즘은 AI가 워낙 잘되어 있어서 AI를 기반으로 먼저 하고싶은 기능들을 짰다. (with Bolt.new) https://glowing-blini-70a343.netlify.app/ Vite + React + TS glowing-blini-70a343.netlify.app(접근이 언제까지 가능할 지는 모른다) React와 Typescript로 프로젝트를 만들었으며 평소 관심있는 악기 판매 사이트를 만들 생각이다.일본의 디지마트를 좀 따라하면서도 핸드폰으로 쉽고 간편하게 올릴 수 있도록 좀 한국적인 느낌과 함께 괜찮은 이름을 정하고 싶은데 어렵당ㅎㅎ  백엔드는 SpringBoot3에 Kotiln을 사용하였다. 코틀린인.. 2025. 2. 21.
[SpringBoot] WebSecurityConfigurerAdapter 지원 불가 환경 - SpringBoot 2.7 - Java17 - Spring Security //spring security implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.6.3' 문제 발생 SpringBoot 2.7+ 버전에서 Spring Security의 WebSecurityConfigurerAdapter를 통해 security config를 override 할 때 오류가 발생하였다. 원인 공식 홈페이지를 보면, spring security 5.7이상에서 더 이상.. 2022. 4. 5.
반응형
LIST