분류 전체보기
-
[2018.05.26] [카프카, 데이터 플랫폼의 최강자] 저자 직강 세미나후기/세미나 2018. 5. 28. 23:54
지난주 토요일 카프카 세미나를 다녀왔다. 금요일 새벽에 페이스북에서 한다는 사실을 알고 급하게 신청했다. 다양하게 카프카가 사용되고 있지만 직접 구축하고 사용해보지는 않아서 카프카에 대해 두루뭉술한 상태였다. 그런 궁금증을 해소하고자 세미나도 참석하고 가는길에 책도 구입했다. 세션1. 저자 고승범(peter)님 첫번째 세션에서는 피터가 실무에서 직접 겪은 다양한 사례들을 공유해주셨다. 사내 공용 카프카를 설계하고 운영까지 하게 된 계기, 장애상황, 성능 비교 등을 나누어 주셨다. 정말 실무에서 산전수전 다 겪은 노력이 보였다. 덕분에 사내 공용 카프카를 잘 쓰고 있다. 세션2. 저자 공용준(Andrew)님 두번째 세션은 앤드류가 Kafka Streams와 KSQL에 대해 나누어 주셨다. Kafka도 잘 ..
-
[Java9] IOJava/기본 2018. 5. 14. 00:19
InputStreamjava.io.InputStream읽기/복사에 관한 3개의 메소드 추가됨readAllBytes() : intput stream의 모든 바이트들을 읽음readNBytes(byte[] b, int off, int len) : b배열의 off위치부터 len byte만큼 읽음transferTo(OutputStream out) : input stream에서 모든 bytes를 읽고, OutputStream에 씀이제 Apache Commons IO 같은거 안써도 됨 The ObjectInputStream Filter객체를 저장하거나 네트워크 전송을 위해 직렬화 함데이터를 객체로 역직렬화 할 때 데이터가 유효한지 검증이 필요함이제 입력을 필터링하기 위해 java.io.ObjectInputStream..
-
관계형 데이터베이스 실전 입문후기/Book Review 2018. 5. 13. 18:49
NoSQL 철저 입문을 했으니 이번에는 RDB를 철저 입문했다. 간단히 CRUD를 할 줄 아는 사람들은 많을 것이다. 하지만 좀 더 근본적으로 그 속내와 철학을 알고 바르게 사용 하는 사람들은 얼마 없을 것 같다. RDB를 조금 더 RDB 답게 사용하고자 하는 사람들에게 추천할 만한 책이다. 목차SQL과 관계형 모델술어논리와 관계형 모델정규화 논리(첫 번째) - 함수 종속성정규화 이론(두 번째) - 결합 종속성릴레이션의 직교성도메인 설계 전략NULL과의 싸움SELECT를 공략하자이력 데이터와 친해지기그래프에 맞서다인덱스 설계 전략웹 응용프로그램을 위한 데이터 구조리팩터링 최적의 해결책트랜잭션의 본질 기존의 SQL 설명서 같은 책들과 확연하게 구분되는 점이 있다. 바로 SQL과 관계형 모델을 철저하게 분리..
-
[Java9] Variable HandlesJava/기본 2018. 5. 2. 21:46
개요java.util.concurrent.atomic이나 sun.misc.Unsafe을 이용하여 값들을 읽기/쓰기 했었는데, 보다 일관적인 방법을 제공한다. 목적안정성: 유효한 메모리 바운더리안에서 사용무결정: final 필드 값을 업데이트 할 수 없음성능: sun.misc.Unsafe보다 성능이 비슷하거나 좋음사용성: sun.misc.Unsafe API, java.util.concurrent.atomic API보다 사용하기 좋음자극 자바에서 동시 및 병렬 프로그래밍이 할 일이 많아졌다. counter 값을 원자적으로(thread safe하게) 변경 하기 위해서는 AtomicInteger(공간문제나 추가 작업등으로 오버헤드가 큼)나 sun.misc.Unsafe API(안전하지 않고 이식성이 안좋음)을 사..
-
[Java9] try-with-resources ImprovementJava/기본 2018. 4. 28. 23:44
예전에 Java7에서 변화된 try-with-resources(이하 TWR)에 대해 포스팅을 했었다. Java9에서는 더 발전된 TWR가 나왔다. Java7의 TWR만 해도 확실히 편해졌지만 불편한 점이 여전히 존재했다. 자원 할당을 try 밖에서 하면 그 변수를 가지고 바로 try문 안에서 사용할 수는 없었다. 따로 try안에서 새로운 변수를 선언하여 사용해야 했다. 아래 코드를 보자. 하지만 Java9에서는 그럴 필요가 없게 되었다. 세미콜론을 이용해서 복수개의 변수를 가질 수도 있다. 한 가지 주의할 점은 사용할 변수가 final이거나 effectively final(초기화 된 이후 절대 바뀌지 않는 변수)이어야 한다는 점이다. 참고http://javasampleapproach.com/java/ja..
-
Docker container & image 모두 삭제Docker 2018. 4. 21. 10:12
도커로 이것저것 하다보면 불필요한 이미지나 컨테이너들이 많이 쌓이게 된다. (특히 컨테이너)새로운 마음으로 깨끗하게 정리하고 싶을 때 사용하면 된다. 모든 도커 컨테이너 삭제(remove all docker containers)구동중인 모든 도커 컨테이너들을 중지시키고, 삭제한다. docker stop $(docker ps -a -q) docker rm $(docker ps -a -q) 모든 도커 이미지 삭제(remove all docker images) docker rmi $(docker images -q)
-
NoSQL 철저 입문후기/Book Review 2018. 4. 19. 22:54
NoSQL에 대해서 개략적으로 알아보기 위해 선택했다. 이미 업무에서 Redis, MongoDB, HBase를 사용하고 있으나(물론 내가 설계하고 모델링하지는 않았다) 너무나 피상적으로 알고 사용만 하고 있어서 대충 각 NoSQL들의 특징들과 언제 써야 하는지 등을 알아보고 싶었다. 이 책에서는 네가지 유형의 NoSQL(키-값 데이터베이스, 문서 데이터베이스, 컬럼 패밀리 데이터베이스, 그래프 데이터베이스)의 특성의 소개와 특징들에 대해서 설명한다. 목차는 아래와 같다.요구 사항에 따른 데이터베이스의 종류다양한 NoSQL 데이터베이스키-값 데이터베이스 소개키-값 데이터베이스의 용어 정리키-값 데이터베이스 설계문서 데이터베이스 소개문서 데이터베이스 용어 정리문서 데이터베이스 설계컬럼 패밀리 데이터베이스 소..
-
토비의 스프링 3.1 Vol.1후기/Book Review 2018. 4. 7. 00:26
토비의 스프링 3.0을 구입했던게 2011년이다. 당시 관심은 있었으나 실력과 노력이 부족하여 소장만 했었다. 그리고 시간이 지났고 필요할 때 마다 필요한 부분만 조금씩 찾아서 보는 정도였다. 7년이 지난 지금 드디어 1권을 뗐다. 요새 회사에서 쓰는 기술, 필요한 기술, 알고 싶은 기술 등 공부할게 많아서 토비책에는 집중하지 못했으나 맘잡고 드디어 1권을 다 읽었다. 토비의 스프링5가 나오기 전에 3.1을 마무리 하고자 결심했는데 이제 반 이루었다. 2권은 실제적인 기술 응용 쪽이라 지금은 많이 바뀐 부분이 있을거라 생각된다. 그런 부분들은 또 빠르게 넘어갈 수 있을 것 같다. 1장이야 가장 핵심적인 내용이라 많이 읽어서 쉽게 넘어갔지만(그렇다고 100%이해 했냐고 하면 그건 또 아닌듯) 뒤로 갈수록 ..