2021년 늦은 회고 함께 자라기 책을 읽고 나서 회고의 중요성을 알게 되었고, 첫 번째 회고 글을 작성해 보려고 한다. . 지금은 2022년 상반기가 지나가고 있지만, 늦은 2021년도 회고를 먼저 작성해보려고 한다. 놓친 기억들이 있다 보니 내용이 부족할 수 있지만.. 남은 기억만이라도 간직하고 싶다..😭 . 내가 어떤 것을 했고, 어떤 것을 느끼고, 어떤 교훈을 배웠는지 짚어보면서 나 자신을 개선해보자 💪🦸♂️🦸♀️ Turning Point 2020년 12월 JAVA/Spring 백엔드 개발자로 제대로 된 첫 입사(?)를 하고, 프로젝트에 JPA가 적용되어 있어서 영한님의 자바 ORM 표준 JPA 프로그래밍 책을 읽게 되었다. . 책을 읽으면서 JPA 공부를 하다보니 영한님에 대한 궁금증이 생기..
@Transactional 잘 사용해보기 @Transactional 을 사용하고는 있지만.. 잘 모르고 저스트 그냥 사용하고 있다 보니 간단하게라도 탐구를 해볼 필요성을 느끼게 되었다. 그래서.. 오늘도 어김없이 탐정놀이를 해보려고 한다. 🔍🤠🔎 . 시작하기에 앞서, 트랜잭션 구성은 @Configuration, XML 기반 설정 말고도 애노테이션 기반으로 설정할 수 있다. 주로 애노테이션 기반으로 많이 사용되는 것 같다. 애노테이션 방식은 선언적 트랜잭션이라고 불리고, 선언 시 트랜잭션 기능이 적용된 프록시 객체가 생성된다. . @Transactional으로 생성된 프록시 객체는 @Transactional이 적용된 메소드가 호출될 경우, PlatformTransactionManager를 사용하여 트랜잭션..
JUnit 5 Parameterized Tests Guide to JUnit 5 Parameterized Tests를 통해 Parameterized Test를 학습하며 정리한 글입니다. . 테스트 코드는 만들었는데 여러 값으로 테스트를 해보고 싶은 적이 있지 않은가?! 😯 코드가 중복되는 건 싫은데.. . 그렇다면 Parameterized Test를 사용해볼 때이다.🕵 Parameterized Test는 서로 다른 인수로 동일한 테스트를 여러 번 실행해볼 수 있는 유용한 기능이다. 일반 테스트와 다른 점은 @ParameterizedTest를 사용하는 것과 @ValueSource에 인수를 정의해주는 것뿐! Dependencies pom.xml org.junit.jupiter junit-jupiter-par..
JPA 양방향 관계 Entity 저장하기 인간은 습관의 동물이다. 습관에는 대부분 좋은 습관이 많지만 그중에 나쁜 습관도 있다. 그것은 바로.. 원리를 모르고 개발하는 습관이다. 😯 . '요로케할 때 이렇게 했었으니까, 이렇게 해야지~!' 는 더 이상 통하지 않는다.. 사이드 프로젝트를 하며 깨닫는 부분이 많다. . 습관처럼 몸에 익어버린 방법들이 갑자기 뇌 정지가 오며 멈춰버렸을 때, 머릿속이 하얘지고 말았다. 적어도 왜 이렇게 개발했었는지 원리를 알았더라면, 이럴 일은 없었을텐데.. 정말 기본적인 것들 앞에서 갑자기 띠용🙄 할 때가 있다. (최근에 습관성 타이핑으로 노트북 비밀번호 까먹은 거는 진짜 비밀..🤫) . 본론으로, JPA 양방향 관계 Entity를 저장해보자. Situatio..
[우아한 Tech] 우아한 ATDD 2021년 3월에 진행된 우아한 테크 세미나에서 류성현님의 '우아한 ATDD' 스트리밍 영상을 보고 정리한 내용입니다. ATDD(인수 테스트 주도 개발)는 요구사항에 대한 인수 테스트를 이용하여 요구사항을 명확히 하고 모든 팀원이 요구사항에 대한 공통의 이해를 바탕으로 개발을 진행하는 방법. TEST vs TDD TEST : 구현 -> 테스트(검증) like 일기 TDD : 테스트(요구사항) -> 구현 + @ like TODO List BDD : 행위(요구사항) -> 구현 ATDD : 인수 테스트(요구사항) -> 인수 테스트 -> 구현 ...(요구사항) - User Story 1. 논의 - Discuss - 기획/개발/QA 함께 인수 조건 회의 참여 - ..
[IntelliJ] Spring, Maven, Tomcat Setting in Intranet (인트라넷 환경에서 설정) 인터넷이 연결되지 않은 or 인트라넷 PC에서 Spring + Maven + Tomcat Server Project 설정을 해보잣! 😎😆😁 필요 파일 크게 네 가지 정도의 파일이 필요하다. java Maven (Maven home) Maven Repository (Local Repository & Maven setting) tomcat server 프로젝트 준비 기존 프로젝트 사용 기존 Eclipse에서 사용하던 프로젝트를 그대로 사용할 경우, IntelliJ 빌드 과정에서 Eclipse에서 이미 생성된 클래스 파일과 충돌이 발생할 수 있다. /target 디렉터리를 삭제한 후 진행해..
Spring Boot 2.4 profile 구동 방식 Spring Boot 2.4 버전이 릴리즈 되면서 application.properties, application.yml 파일 로드 방식에 변화가 있었다. 설정 파일을 단일 파일로 사용할 경우 해당되지 않겠지만, 각 프로필별 속성이 필요할 경우 변화에 대한 인식이 필요하다. 우리는 시간이 없기에.. 관련 Spring blog 내용을 요약해보았다. . . 우선 크게 관심 갖어야 할 부분은 아래 항목인 것 같다. \1. spring.profiles -> spring.config.activate.on-profile \2. spring.profiles.include -> spring.profiles.group \3. spring.config.activate...
SpringBoot & Mybatis & MS-SQL 오랜만에 Spring Mybatis 설정을 할 일이 생겼는데, 기억이 가물가물해서.. 정리를 해보았다. 하지만, 가급적 메서드 기반으로 쿼리를 생성해주는 Querydsl 을 사용하는 것으로.. Dependency 먼저 Mybatis 와 mssql-jdbc 관련 종속성을 추가해 주자. mssql-jdbc 버전은 java 버전과 mybatis-spring-boot 버전은 spring-boot 버전과 맞춰주자. 아무 버전을 선택했다가.. 종속성 문제로 복잡해 지니 잘 확인해 보자! 😢 pom.xml com.microsoft.sqlserver mssql-jdbc 9.4.1.jre8 org.mybatis.spring.boot mybatis-spring-boot..