자바/스프링 테스트 개발자 리뷰 노트 2: 테스트 가능한 코드 설계와 구현
김우근님의 Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트 를 정리한 내용입니다. [실습] 도메인 테스트 추가 @Test public void User는_UserCreate_객체로_생성할_수_있다() { //given UserCreate userCreate = UserCreate.builder() ...
김우근님의 Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트 를 정리한 내용입니다. [실습] 도메인 테스트 추가 @Test public void User는_UserCreate_객체로_생성할_수_있다() { //given UserCreate userCreate = UserCreate.builder() ...
김우근님의 Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트 를 정리한 내용입니다. 왜 TDD에 실패할까? 테스트는 품질을 올리는 행위이고, 업무에 적용하고, 보고하기 위해서는 가시적인 성과가 필요하게 된다. 결국 커버리지를 찾게 되는데 테스트 커버러지가 테스트의 목적이 되면 안된다. 테스트의 어려운 점 대표적으로 아래와 같...
김영한님의 자바 ORM 표준 JPA 프로그래밍을 정리한 내용입니다. 연관관계 맵핑 시 고려사항 3가지 다중성 • 다대일: @ManyToOne • 일대다: @OneToMany • 일대일: @OneToOne • 다대다: @ManyToMany 단방향, 양방향 테이블 외래 키 하나로 양쪽으로 조인이 가능하다. 방향...
상위 1% 엔지니어의 7가지 간단한 습관을 참고한 내용입니다. 코더가 아닌 엔지니어가 될 것 (Be an engineer, not a coder) 엔지니어링은 문제를 해결하는 것이고, 최고의 엔지니어는 코드를 문제를 해결하기 위한 수단으로 생각한다. 즉, 목적이 없는 코드를 작성하지 않고 사용자의 솔루션을 설계하는 등 목적을 ...
김영한님의 자바 ORM 표준 JPA 프로그래밍을 정리한 내용입니다. SQL 중심적인 개발의 문제점 sql에 의존적인 개발을 피하기 어렵다. 객체와 관계형 데이터베이스의 괴리감 상속 객체가 상속관계에 있을 때 SQL으로는 각각의 객체를 생성하고 테이블에 따른 조인 SQL 등 해줘야 할 게 많다. 그렇기 때문에 DB에 ...
URL : https://leetcode.com/problems/merge-intervals/ 문제 Given an arrayofintervalswhereintervals[i] = [starti, endi], merge all overlapping intervals, and return_an array of the non-overlapping int...
URL : https://leetcode.com/problems/find-common-characters 문제 Given a string array words, return an array of all characters that show up in all strings within the words (including duplicates). You...
늦게나마 2022.10 ~ 2023.03 크래프톤 정글 1기 5개월에 관한 간략한 후기를 작성한다. 참고로 현재 크래프톤 정글 커리큘럼과 1기 커리큘럼은 조금 차이가 있다. (현재는 마지막 프로젝트 전에 알고리즘 문제풀이와 프레임워크 학습 주간이 추가 됨) TIL TIL은 개인의 성향대로 하면 된다. 매일을 회고하는 느낌의 일기 형식도 좋...
2023년 3월 크래프톤 정글 1기를 수료하고 거의 1년이란 시간이 지났다. 수료 후 취업 준비, 회사 적응 등의 핑계로 미루고 미뤄웠던 정글 후기와 2023년의 회고를 늦게나마 작성한다. 2023년 회고 2022년 10월, 크래프톤 정글 합격 소식을 듣자마자 망설임 없이 인생의 2번째 퇴사를 결심했다. 총 2년 6개월 동안 두 회사에서 네...
Real MySQL 8.0 5장 트랜잭션을 학습한 내용입니다. 트랜잭션 트랜잭션은 논리적인 작업 셋이 저장을 하거나 실패 시 원상태로 복구해서 작업의 일부만 적용되는 현상을 발생하지 않게 해준다. 잠금(Lock)과 비슷하나 목적에서 차이가 있는데 잠금은 동시성을 제어하기 위한 기능이고, 트랜잭션은 데이터의 정합성을 보장하기 위한 기능이다. ...