전체 글 232

[Spring Boot & JPA 프로젝트] 상품등록 / 파일업로드(다중X)

판매자는 상품등록 시 반드시 상품이미지를 첨부해야하며, 상품이미지는 1장만 첨부가능하다 Item 클래스에 파일컬럼으로 FileEntity 클래스 변수를 넣고 OneToOne 단방향 매핑으로 연관관계를 맺어줬다 엔티티별로 requestDto와 responseDto 를 만들어서 Entity 에 직접접근을 막음 ▶ 상품등록 (이미지 등록) Item package com.proj.KnitMarket.domain.Item; import com.proj.KnitMarket.Constant.SellStatus; import com.proj.KnitMarket.domain.BaseEntity; import com.proj.KnitMarket.domain.Member.Seller; import lombok.*; impo..

프로젝트 2022.08.17

[SpringBoot & JPA 프로젝트] enum

Item 의 SellStatus 컬럼을 Enum 클래스로 만들어보기로 했다 enum 써보고싶었음 @Enumerated 어노테이션을 사용해야하는데, Enumerated 는 '열거' 라는 뜻이다. 열거라는 뜻에 알맞게 클래스는 이렇게 값을 나열하는것만으로 완성이다. 그리고 해당 클래스 컬럼에 @Enumerated 어노테이션을 붙여주면된다 Item.java EnumType 에는 ORDINAL 과 STRING 이 있다. ORDINAL : enum 클래스에서 선언한 순서가 DB에 저장된다 ( 1 or 2 ) STRING : enum 클래스에서 선언된 문자열이 DB에 저장된다 ( SELL or SOLDOUT ) 물론 숫자로 넣는게 모든면에서 최적화되어 좋겠지만, 토이프로젝트에 공부차 적용해보는것이라서 직관적으로 판..

프로젝트 2022.08.17

[SpringBoot & JPA 프로젝트] 뜨개장터 소개

※ SpringBoot & JPA 개인 프로젝트 Github : https://github.com/HAN-SEOHYUN/KnitMarket 🏹 서론 더보기 6개월 과정의 국비 학원 과정이 끝나고 취업 준비를 해야함이 맞으나 혼자서 온전히 서비스를 만드는 토이프로젝트를 진행해보고싶었다. 개발을 배우고 작은 기능을 구현 할 수 있게된 시점부터 만들어보고싶다고 생각해왔던 서비스가 있었고, 지금이 아니면 이 서비스는 앞으로도 머리속에서 나오지 못할 것 같았다. ( 취업 후에는 아무래도 회사 업무를 우선적으로 배워야하니 현실적으로 불가능하다고 생각했기때문 ) 학원에서 진행했었던 마지막 팀프로젝트는 스프링부트 & JSP & Mybatis & Oracle 을 이용했었는데, 똑같은 환경에서 프로젝트를 만들면 재미없으니..

프로젝트 2022.08.17

[SpringBoot & JPA 프로젝트] requestRejectedException / Error executing DDL / FileNotFoundException

3시간 가량 Spring Security 를 이용한 구글 로그인을 구현하다가 아주 진이빠졌다 결론은 안하기로 함 ※ requestRejectedException 아래는 requestRejectedException 이다. 이거 도대체왜 뜸 ? !!!!!! 이유를 모르겠어서 결국 구글 로그인은 빼기로 함 근디 build.gradle 에서 Spring Security 관련 의존성 다 삭제해도 이런 에러 계속 뜨거든용 그거 @SpringBootApplication(exclude = SecurityAutoConfiguration.class) 이걸로 잡을 수 있음 아놔 머스테치에서 타임리프로 다시 바꿔야겠음 .. 머스테치에서 로직을 사용할 수 없다는게 너무 불편함. 페이징이랑 검색 .. 이런것들 어떻게 한단말임 ?..

프로젝트 2022.08.11

[ 호돌맨 요절복통 개발쇼 ] Builder

테스트 만들기 : ctrl + shift + T @Builder @ToString @Data public class PostCreate { @NotBlank(message ="타이틀을 입력해주세요.") public String title; @NotBlank(message ="콘텐츠를 입력해주세요.") public String content; public PostCreate(String title, String content) { this.title = title; this.content = content; } } setter를 사용해서 set 하거나 필드에 바로 값을 꽂아버리는 방식보다 생성자로 set 하는 걸 좋아한다. 근데 만약 어떤 사이코패스같은 개발자가 생성자 위치를 public PostCreat..

카테고리 없음 2022.08.02

[Spring Boot & JPA 프로젝트] 머스테치 Mustache

학원에서 배운 서버템플릿엔진 : JSP 독학중이었던 템플릿엔진 : tymeleaf 사용결정된 템플릿엔진 : 머스테치 학원에서는 JSP 사용하는 방법을 배웠었고, 학원 종료 후 시작할 개인 프로젝트 [뜨개장터] 에서는 타임리프를 사용할 계획으로 공부중에 있었다 (실제로 타임리프로 index 정도는 만들어놓은 상태이다) 스프링부트 책을 읽고 머스테치를 사용해보기로 최종결정했다 결정사유는 다음과 같다 🔽 JSP : 스프링부트에서 권장하지않는 템플릿엔진임 Thymeleaf : 문법이 어렵다고 함 Mustache : 문법이 다른 엔진들에 비해 심플함 로직코드를 사용할 수 없어 view 와 서버의 역할이 명확하게 분리됨 Controller 에서 URL 매핑을 할 때 앞의 경로와 뒤의 파일 확정자는 자동으로 지정된다..

프로젝트 2022.08.02

[JPA] 연관관계 매핑이론 : 단방향, 양방향 매핑

기본키 제약조건 1. null 아님 2. 유일 3. 변하면 안된다 왠만하면 비즈니스와 관련없는 대체키를 사용해라 (시퀀스 || auto_increment ) ※ 연관관계 매핑이론 - 여기서 하차하는 사람 많다고 했음 정신똑바로 차리고 고고 ▷ 객체를 테이블에 맞추어 데이터 중심으로 모델링하면 협력관계를 만들 수 없다 - 테이블은 외래키로 조인을 사용해서 연관된 테이블을 찾는다. - 객체는 참조를 사용해서 연관된 객체를 찾는다 - 테이블과 객체 사이에는 이런 큰 간격이 있다. ▶ 단방향 매핑 ▷ 데이터지향적모델링 ▷ 객체지향적 모델링 @joinColumn : 연관관계를 적어준다 (name = "TEAM_ID") 요렇게 - 이렇게 써주면 Team 테이블의 Id 컬럼과 FK 로 매핑이된다 = 연관관계매핑 @M..

JPA 2022.07.25

[JPA] 지금껏 Mybatis 잘 쓰다가 왜 JPA ? / JPA 란 / JPA 기초

스프링부트와 AWS로 혼자 구현하는 웹서비스 라는 책을 읽고 JPA 를 보게 되었다. 책 내용만으로 JPA를 사용하기 어려워서 김영한님이 세미나에서 JPA강의 하신 영상을 찾아서 봤는데 30분짜리 영상 1개인줄알았는데 8강까지 있더라 .. JPA 카테고리를 만들었다 아래 내용은 책내용 / 블로그 / 김영한님 강의내용에 대한 나의 필기이다. ※ JPA 책에서는 지금까지 내가 학원에서 배운것을 토대로 프로젝트를 만들면서 가진 의문점들을 콕 찝어서 말해준다 ▶ JPA 등장배경 문제점 1. 객체지향 프로그래밍을 배웠는데 왜 객체지향 프로그래밍을 못하지 ? 객체 모델링보다는 테이블 모델링에만 집중하고, 객체를 단순히 테이블에 맞추어 데이터 전달 역할만 하는 다소 기형적인 형태. 프로젝트의 모든 코드는 SQL 중심..

JPA 2022.07.24

[독서] 스프링부트와 AWS로 혼자 구현하는 웹서비스 - 이동욱 지음

스프링부트책이어서 스프링제본인가 ? 막이래 ㅋ ~.. ... 스프링으로 제본된 점이 좋아서 강조해서 찍어봄 책을 1회 완독했다 책 내용을 응용하여 실제 프로젝트에 적용할 수 있는가 => NO 애초에 이 책을 선택했을때의 목적을 달성했는가 => NO 이 책을 다른 사람에게 추천할 수 있는가 => NO 삼진아웃이다. 책의 내용을 기반으로 내가 새로 시작할 프로젝트 기반을 설계하고 기존 : 스프링프레임워크 (Spring Boot) + Mybatis 새로운 방식으로(springboot & JPA) 을 배워 서비스를 만들어보는것이 목적이었건만 1회 완독한 지금 다른 사람들에게 책을 추천할수도없다 내용을 알아야 추천을 하던 하지 . . 벗 괜 찮 다 !!!!! 지금껏 어떤 내용도 한번에 이해한적은 없다 대수롭지않다..

개발서적 2022.07.24