전체 글 50

[Spring] JPA Auditing(생성/수정시간 자동화)

스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 예스24 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 www.yes24.com *위의 책을 따라 학습한 것을 정리한 내용입니다 사용이유 보통 entity에는 언제 만들어졌는지, 언제 수정됐는지 등 유지보수를 위해 데이터의 생성/수정시간을 포함해야한다. DB에 삽입 전, 갱신 전 날짜 데이터를 등록/수정하는 코드가 여기저기 들어가게 되는 단순하고 반복적인 코드를 매번 작성하는게 번거롭고 코드가 지저분해진다. 이를 해결하기 위한 것이 JPA Auditing이다. 예제 com.study.springbo..

WORK/STUDY 2023.10.26

[Spring] API 만들기(h2 웹 콘솔 이용하기)

스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 예스24 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 www.yes24.com *위의 책을 따라 학습한 것을 정리한 내용입니다 API 생성을 위한 클래스 1.Dto : Request 데이터 받기 2. Contorller : API 요청 받기 3. Service : 트랜잭션, 도메인 기능 간의 순서 보장 Service에서 비즈니스 로직을 처리해야 한다고 오해하기 쉬운데, 트랜잭션과 도메인 간 순서만 보장하면 된다. Spring 웹 계층 Web Layer - Controller와 View Templa..

WORK/STUDY 2023.10.26

[Spring] JPA 사용하기

스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 예스24 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 www.yes24.com *위의 책을 따라 학습한 것을 정리한 내용입니다 JPA를 사용하는 이유? 이전 회사(SI회사)에서 기존 솔루션을 컨버팅하는 과정에서 MyBatis + SQL Mapper를 통해 db를 다뤘었다. 쿼리문이 엄청 방대해서 단순 반복 작업을 반복하게 되는데 현타가 왔다. 이렇게 해야하나.. ? 그리고 '객체지향'과도 약간 거리가 있는 느낌이다. JPA는 이런 SQL에 종속적인 개발을 피하기 위해 나온 것으로, Springbo..

WORK/STUDY 2023.10.25

[Spring] Controller 작성 및 테스트

스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 예스24 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 www.yes24.com *위의 책을 따라 학습한 것을 정리한 내용입니다 Application 생성 패키지를 생성하고 메인이 될 java 파일 하나를 만들자. com.study.springboot(패키지명은 주소의 역순) 패키지를 만들고 Application.java 파일을 만들었다 Application.java @SpringBootApplication public class Application { public static void main(..

WORK/STUDY 2023.10.25

[Spring] Spring Boot Project로 변환하기

스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 예스24 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 www.yes24.com *위의 책을 따라 학습한 것을 정리한 내용입니다 dependencies에 직접 추가하는 방법에 대해 알기 위해 수동으로 전환하였다. Gradle Project -> Spring Boot로 전환 (처음부터 이니셜라이저로 프로젝트를 만들 수 있다. https://start.spring.io/) 코드 build.gradle 파일에 기초적인 설정만 되어있는 상태 plugins{ id 'java' } group 'com.jojo..

WORK/STUDY 2023.10.25

[오류/Git] .gitignore가 작동하지 않을 때/.gitignore 커밋 오류

에러 : .gitignore가 제대로 작동되지 않아서 ignore처리된 파일이 계속 changes에 나올때가 있다. 찾아보니 git의 캐시가 문제가 되는거였다. terminal에 아래 명령어로 캐시 내용을 전부 삭제 후 다시 add All해서 커밋하면 해결된다. git rm -r --cached . git add . git commit -m "fixed untracked files" 참고 : https://stackoverflow.com/questions/11451535/gitignore-is-ignored-by-git

WORK/Trouble 2023.06.21

[오류/스프링부트] Could not resolve all files for configuration ':compileClasspath'.

에러메시지 Could not resolve all files for configuration ':compileClasspath'. > Could not find org.springframework.boot:spring-starter-mustache:. compileClassPath ??? 뭔가 컴파일이 이상하다는 감이 왔다. 인터넷에 찾아보니 build.gradle 문제라고 나와서 dependencies 쪽을 봤더니... mustache 컴파일 하는 부분에서 spring - starter라고 boot 를 생략해서 적은 것이었다. boot를 추가해주고 다시 빌드하니 정상적으로 실행

WORK/Trouble 2023.06.20

[알고리즘 노트]파이썬 코딩 테스트 문법

📌자료형 수 자료형 연산 #round =>round(실수, 반올림 하고자 하는 위치 -1) # 몫 구하기 => a//b # 제곱근 => a**b => a의 b승 리스트 자료형 # 크기가 n이고 모든 값이 0인 1차원 리스트 초기화 => list = [0] * n # 리스트 슬라이싱 => list[0 : n] => 0 ~ n-1 인덱스까지 처리 # 0부터 19까지의 수 중에서 홀수만 포함하는 리스트 => list = [ i for i in range (20) if i % 2 == 1 ] # 2차원 리스트 초기화 => n = 3, m = 4 => list = [ [0] * m for _ in range(n) ] ❗ _(언더바) 사용 이유 => 반복을 위한 변수 값은 무시하려고 # 리스트 관련 메서드 => l..