June

Written by@[June]
Backend Developer

TDD with CleanCode 팁

TDD with cleanCode 공부하면서 정리한 부분들 자세한 내용은 깃허브에 정리해두었다. 자주 보려고 포인트들만 여기 적어 놓음 포인트 요구사항 정리하기 TDD는 핵심 비즈니스 로직에만 하면 된다 핵심 비즈니스 로직은 최대한 엔티티에 존재해야 한다.

git num

GUI가 아닌 CLI 로 git을 다룰 때 더 편리한 기능 추가 현재의 불편함 명령어 후에 와 명령어로 에 추가, 제외할 때에는 해당 파일의 전체 경로를 입력해줘야 한다. 꽤 불편하다. 물론 명령어로 모든 파일을 한번에 다 추가할 수는 있지만 개별파일들을 찍어서 올리고 싶을 수 있기 때문. git num의 편리함 깃허브 링크 위에서 누가 명령어…

jpa 에서 복합키 설정을 하지 않은 경우 발생하는 문제점

DB에서는 복합키 설정이 되어 있지만 jpa 에서 복합키 설정을 하지 않은 경우 상황 설명 DB에는 AgencyRestaurantRelation 테이블에 실제로 Agency relationIdx, agencyIdx, restaurantId 3가지가 같이 pk 로 잡혀있는 상황이라 치자. 그런데 아래코드에서 볼 수 있듯이 Entity에서는 1개만 pk(re…

실행 계획

실행 계획 실행 계획 확인 방법(mysql) 실행 계획에 나오는 중요한 3가지 1. 조작 대상 객체 실행계획 실행 후 on 뒤에 대상 ex) 2. 객체에 대한 조작의 종류 가장 중요한 부분 어떤 식으로 접근했는지 테이블 풀 스캔(= 시퀀셜 스캔) 3. 조작 대상이 되는 레코드 수 rows 지표 카탈로그 매니저로부터 얻은 값. 즉 통계정보에서 파악한 숫자이…

RDB가 데이터에 접근하는 방법

RDB가 데이터에 접근하는 방법에 대해서 간략히 정리 쿼리 평가 엔진 RDB 에서 데이터 접근 절차를 결정하는 모듈 사용자로부터 입력받은 SQL 구문(쿼리) 을 처음 읽어들이는 모듈 쿼리 평가 모듈은 추가로 파서 또는 옵티마이저와 같은 여러 개의 서브 모듈로 구성 쿼리의 처리와 실제로 데이터 접근이 이루어지는 큰 그림 파서(parser) 파서(사진에서 …

Stream

자바의 정석 기초편(유투브 강의) 스트림(Stream) 다양한 데이터 소스를 표준화된 방법으로 다루기 위한 것 데이터 소스란? 컬렉션, 배열 같은 것 표준화된 방법? 이제까지는 Collection FrameWork(List, Set, Map)을 이용해서 다뤄온 것 하지만 반쪽짜리 표준화다. 왜냐하면 list, set은 map과 사용방법이 다르기 때문. 표…

@Transaction 의 구조, 프록시

@Transaction 적용시 프록시 객체 주입 프록시 도입 전 트랜잭션을 처리하기 위한 프록시를 도입하기 전에는 서비스 로직에서 트랜잭션을 직접 시작했다. -> -> 2의 서비스에는 그냥 비즈니스 로직만 있는 것이 아니라 트랜잭션 시작, 끝의 로직에 다 들어있다. 비즈니스 로직 트랜잭션 종료 프록시 도입 후 트랜잭션을 처리하기 위한 프록시를 적용하…

목표 기술책과 라이프책은 최대한 병행하면서 읽기. 라이프책은 짬 나는 시간에만 읽고 집중할 수 있을 때는 기술책만. 책 분량을 생각해서 이동시에 읽을 수 있는 책(라이프 책) 항상 구비. 책 횟수에 집착하지 말고 양서 추구. 개발 SQL 레벨업 모던 자바 인 액션 이펙티브 자바 비개발 2023년 (총 n권) 개발() 자바와 JUnit을 활용한 실용주…

자바 컨벤션

참고자료들 gogole java style guide - 영문 google java style guide - 번역본 Oracle code Conventions for java - 번역본 자바코딩규칙

pull request 통한 리뷰 과정

NextStep 강의를 들으며 오픈소스에 기여하는 방식의 git flow 를 공부했고, 간단하지만 정리해본다. NextStep git docs 1단계 미션을 시작, 개발 환경을 구축, 1단계 미션 완료, push를 보내는 단계. github docs 영상 미션 저장소에 나의 github 계정(highjune) 으로 된 highjune 브랜치가 생성. (n…