기본 콘텐츠로 건너뛰기

독서

읽거나 읽어야 할 책을 기록

  • Effective Java - 조슈아 블로크
  • 개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴 - 최범균
  • 테스트 주도 개발 - 켄트 벡
  • 개발자와 DBA를 위한 Real MySQL - 이성욱
  • 소설같은 자바2 - 최영관
  • TOP CODER 알고리즘 트레이닝 - 타카하시 나오히로
  • HBase 완벽가이드 - 라스 조지
  • Programming in scala - 마틴 오더스키
  • 웹개발자를 위한 대규모 서비스를 지탱하는 기술 - 이토 나오야
  • 도메인 주도 설계 핵심 - 반 버논
  • 이것이 자바다 2권 - 신용범
  • 객체지향적으로 생각하라 - 맷와이스펠드
  • 테스트 주도 개발: 고품질 쾌속개발을 위한 TDD 실천법과 도구 - 채수원
  • Clean Code 애자일소프트웨어 장인 정신 - 로버트 C. 마틴
  • 리팩토링 코드 품질을 개선하는 객체지향사고법 - 마틴 파울러
  • DDD START! 도메인 주도 설계 구현과 핵심 개념 익히기 - 최범균
  • 엔터프라이즈 애플리케이션 아키텍쳐 패턴 - 마틴 파울러
  • 데이터베이스 첫걸음 - 기무라메이지
  • 그림으로 공부하는 IT 인프라 구조 - 야마자키 야스시
  • 행복한 프로그래밍 - 임백준
  • 누워서 읽는 알고리즘 - 임백준
  • GoF의 디자인 패턴 - 랄프 존슨, 리차드 헬름, 에릭 감마 와 존 브리시즈
  • Java언어로 배우는 디자인 패턴 입문 - 유키 히로시
  • Java언어로 배우는 디자인 패턴 입문 멀티 쓰레드 편 - 유키 히로시
  • 토비의 스프링 - 이일민
  • Head First Design Pattern - 엘리자베스 프리먼 과 캐시 시에라
  • Code Complete - 스티브 맥코넬
  • 실용주의 프로그래머 - 데이브 토마스 와 앤디 헌트
  • 자바 세상의 빌드를 이끈 메이븐 - 박재성
  • 스프링 부트 코딩 공작소 - 크레이그 월스
  • Practical 자바 유틸리티: Git, 서브버전, 메이븐, 그레이들, JUnit, 트랙, 젠킨스, JMeter - 장윤기
  • 자바 웹 개발 완벽 가이드 - 니콜라스 S. 윌리엄스
  • JPA 프로그래밍 입문 - 최범균
  • Hadoop 완벽 가이드 - 톰화이트
  • 아파치 Kafka 따라잡기 - 니샨트가르그
  • 실무 예제로 배우는 Elasticsearch 검색엔진(기본편) - 정호욱
  • 하이브 핵심정리 - 다융 두
  • 아파치 스파크 입문 - 사루타 고스케 , 도바시 마사루 , 요시다 고요 , 사사키 도루 , 쓰즈키 마사요시
  • 클린 코더 - 로버트 C. 마틴
  • The Nature of Software Development - 론 제프리스
  • 도메인 주도 설계 - 에릭 J. 에반스
  • 쉽게 배우는 알고리즘 - 문병로
  • 알고리즘 문제 해결 전략 - 구종만
  • 코딩 인터뷰 완전 분석 - 게일 라크만 맥도웰
  • 윤성우의 열혈 Java 프로그래밍 - 윤성우
  • 레거시코드 활용 전략 - 마이클 C. 페더스
  • 알고리즘 - 로버트 세지윅, 케빈 웨인

이 블로그의 인기 게시물

Docker Hadoop Hbase

Docker Hadoop Zookeeper 글에서 만든 컨테이너에서 계속 작업합니다. 우선 hduser로 접속합니다. 그리고 hbase 바이너리를 다운로드 받습니다. 바이너리 파일을 /usr/local/hbase 로 옮겨주고 권한을 줍니다. su hduser cd /tmp wget http://archive.apache.org/dist/hbase/stable/hbase-1.4.7-bin.tar.gz tar xvf hbase-1.4.7-bin.tar.gz sudo mkdir /usr/local/hbase sudo mv hbase-1.4.7/* /usr/local/hbase sudo chown -R hduser:hadoop /usr/local/hbase ./conf/hbase-env.sh 파일에서 JAVA_HOME 환경변수를 설정합니다. vim ./conf/hbase-env.sh export JAVA_HOME=/usr/lib/jvm/java-8-oracle 이제 로컬 파일시스템으로 동작하는 hbase를 실행해 보겠습니다. 다음의 명령어를 입력하면 hbase shell 로 접속할 수 있습니다. ./bin/start-hbase.sh ./bin/hbase shell Pseudo-Distributed Local System 으로 동작시키기 위해서는 환경설정을 몇가지를 추가하면 됩니다. 먼저, hbase가 실행중이라면 중지합니다. ./bin/stop-hbase.sh hbase-site.xml 파일을 편집합니다. vim ./conf/hbase-site.xml <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/...

냉장고 가계부 프로젝트 9

HATEOAS 적용을 일관성있게 하기위해서 FoodController 메서드 중 새로운 식품을 등록하는 메서드인 postFood 메서드도 리턴유형을 ResponseEntity<Food> 에서 ResponseEntity<FoodResource> 로 수정한다. 우선 테스트 메서드 postSave 부터 수정한다. @Test public void postSave() throws Exception { given(jpaFoodService.save(any(Food.class))).willReturn(milk); final ResultActions result = mvc.perform(post("/foods") .content(mapper.writeValueAsString(milk)) .contentType(MediaType.APPLICATION_JSON_UTF8)); result.andExpect(status().isCreated()) .andExpect(redirectedUrlPattern("**/foods/{id:\\d+}")); verifyResultContent(result); } 변경된 부분은 mvc.perform 메서드를 ResultActions 형의 result 변수에 할당하고있다. 할당한 변수를 내부검증 메서드인 verfiyResultContent 메서드에 파라미터로 전달하고 있다. 다음은 FoodController 의 postFood 메서드이다. @PostMapping public ResponseEntity<FoodResource> postFood(@RequestBody final Food food) { jpaFoodService.save(food); URI location = ...

냉장고 가계부 프로젝트 31

fridge-web에서 fridge 개인화 영역을 아직 구현하지 못했다. 개인화 데이터의 관리는 별도의 도메인으로 관리하기 위해서 fridge-member 프로젝트를 생성한다. fridge-member 의존성 라이브러리는 다음과 같다. <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-hateoas</artifactId> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-java8</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- Spring Cloud --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-cli...