서적 공부 5

[클린코드] 2장..이름을 잘 짓자

애플펜슬을 잃어버렸다.. 아이패드에 필기를 할 수 없다.. 종이엔 필기하는 맛이 없다.. 2장은 이름을 잘 짓는 방법을 소개하는 장이다. 그래서 그런지 구구절절 책 내용만 요약하게 될거 같다.. 책에 밑줄 긋고 필기한 부분 위주로 정리를 하려 한다. 그리고 새로운 issue.. 갑자기 내 맥북 한글 자판 딜레이가 장난아니다... 글 쓰기 어렵다.. 왜이러는걸까 크롬에서는 심한데 사파리에서는 안그런다.. 알수없는 m1.. 의도를 분명히 밝혀라 1장에서 좋은 코드를 짜는데 시간은 오래걸리지만 좋은 코드로 절약하는 시간이 더 많다는 것 처럼, 좋은 이름을 짓기엔 시간이 좀 걸리지만 그만큼 절약하는 시간이 훨씬 더 많다고 한다. 변수, 함수, 클래스 이름은 다음과 같은 정보가 포함되어야 한다. 존재 이유, 수행..

[클린코드] 1장을 읽고 나서.. 및 앞으로 계획

어제 그렇게 미루고 미루던 클린코드 1장을 읽었다. 사실 공부법이나 다른 사람들 어떻게 스터디 했는지 좀 알아보고 비슷하게 하려했는데 명확한 '공부법'은 잘 안나와 있는것 같다. 그래서 일단 무턱대고 읽기 시작했다. 각잡고 공부할 자신이 없는 사람은 일단 1장까지만 읽어보는걸 추천한다. 1장엔 아직 코드가 안나오고 가볍게 읽을 수 있는 내용이니. 0장 1장 바로 전에 '들어가면서'라는 0장이 있다. 이 부분에 작가는 이 책이 세부분으로 나뉘어 진다고 말한다. 처음 몇장은 클린코드를 작성하는 원칙과 패턴, 실기를 설명하고, 두번째는 사례연구로, 문제가 있는 코드들을 깨끗하게 고치는 연습을 한다고.. 마지막은 결말 부분으로 사례연구로 수집한 냄새와 휴리스틱을 열거한다고 했다. 아직 휴리스틱이 뭔지는 잘 모르..

Annotation 정리

@SpringBootApplication 스프링 부트의 자동설정, 스프링 Bean 읽기와 생성 모두 자동 설정 어노테이션 있는 위치부터 읽음 -> 항상 최상단에 위치 @RestController JSON을 반환하는 컨트롤러로 만들어줌 @ResponseBody를 각 메소드마다 선언했던 것을 한번에 사용할 수 있게 해줌 @GetMapping HTTP Method 인 Get의 요청을 받을 수 있는 API를 만들어줌 @GetMapping("/hello") -> /hello로 문자열 오면 return 해줌 @RunWith(SpringRunner.class) 테스트 진행 시 JUnit 내장된 실행자 외 다른 실항자를 실행시킴 SpringRunner라는 스프링 실행자 사용 스프링 부트테스트와 JUnit 사이 연결자 ..

2장 스프링부트에서 테스트 코드를 작성하자

02. 스프링부트에서 테스트 코드를 작성하자 대부분의 서비스 회사가 테스트 코드에 관해 요구하는 추세. TDD나 단위 테스트를 할 줄 알아야 함. => 테스트 코드 작성 기본 배우기 2-1. 테스트 코드 소개 TDD : 테스트가 주도하는 개발 = 테스트 고드를 먼저 작성 - 항상 실패하는 테스트를 먼저 작성하고 - 테스트가 통과하는 프로덕션 코드를 작성 - 테스트가 통과하면 프로덕션 코드를 리팩토링 단위 테스트 : 기능 단위의 테스트 코드 작성 테스트 코드 먼저 작성 할 필요 x, 리팩토링 포함 x 1. 단위 테스트 코드 사용 이유 1) 빠른 피드백 - 단위 테스트 코드 사용 이전 개발 방식 1) 코드 작성 2) 프로그램 (톰캣) 실행 3) postman 같은 api 도구로 http 요청 4) 요청 결과..

1장 인텔리제이로 스프링 부트 시작하기

CH01 인텔리제이로 스프링부트 시작하기 이미 인텔리제이가 설치되어있기에 인텔리제이 설치하는 과정은 생략하도록 하겠다. 01. 인텔리제이 커뮤니티에서 프로젝트 생성하기 - 인텔리제이는 워크스페이스와 같은 개념이 없음 -> 프로젝트와 모듈의 개념만 존재 - create new project -> gradle 선택 02. gradle 프로젝트를 springboot 프로젝트로 변경하기 그레이들 프로젝트를 생성했다. 이 그레이들 프로젝트를 springboot 프로젝트로 변경해 보겠다. 처음 build.gradle을 열면 기초적인 설정만 되어있는 상태이다. 이제 스프링부트에 필요한 설정들을 하나씩 추가할 것. 스프링 이니셜라이저를 통해 진행하지 않음. -> build.gradle의 코드가 무슨 역할을 하는지, 이..