일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- functional thinking
- 알고스팟
- 데이터유통
- 개발자로살아남기
- datalake
- spray
- 테스트주도개발
- 2017회고
- coursera
- 개발자
- Raw-Request-URI
- wait region split
- kafka
- 데이터야놀자
- 회고
- 해커컵
- 데이터플랫폼
- 데이터레이크
- 코딩인터뷰
- 함수형 사고
- 2016년회고
- 클린코드
- clean code
- 켄트백
- 동시성
- 실전사례
- hackercup2017
- 박종천
- 단위테스트
- 개발7년차매니저1일차
- Today
- Total
목록전체 글 (97)
Software Engineering Note
시스템 제작과 시스템 사용을 분리하라 제작(construction) 과 사용(use)는 다르다. 소프트웨어 시스템은 준비과정과 런타임 로직을 분리해야 한다.=> 관심사의 분리 객체를 생성하는 것과 객체를 사용하는 것을 분리해야 한다는 것이 주된 이야기 - Main 분리 생성관련 코드는 모두 main 또는 main이 호출하는 모듈로 옮기고 나머지 시스템은 이미 객체가 존재한다고 가정한다. main -> application (application은 main이나 객체가 생성되는 과정을 전혀 모른다.) - 팩토리 application에서 객체를 생성하는 시점을 정하고 싶을때가 있다. 이런때는 팩토리를 구현에서 application 쪽으로 넘겨준다. - 의존성 주입 (스프링 프레임워크의 DI를 생각하면 된다) ..
kafka 메시지를 처리하는 클라이언트 입장에서는 크게 simple consumer, high level consumer로 나누어진다. 대부분 high level consumer로 문제를 해결할 수 있지만 세세한 컨트롤이 필요한 경우에는 simple consumer를 써야한다. 얼마전에 http api로 데이터를 뒷단에 줘야하는 일이 있었다. 데이터 큐로 kafka를 사용하고 있었는데 여기에 있는 데이터를 넘겨줘야 했다. 그런데 한 번 주고 끝나는 것이 아니라, 과거에 줬던 데이터들을 다시 줘야 하는 경우가 있었다. 그걸 처리하기 위해서 db에 넣었다가 주는 등의 해결책이 거추장스럽게 느껴져 바로 꺼내줄 수는 없을까? 고민했는데 아래와 같이 http client를 만들어둔걸 보고 가능하리라 생각했다. h..
apache kafka home: http://kafka.apache.org/github: https://github.com/apache/kafka kafka 홈에 가보면 "A high-throughput distributed messaging system." 이렇게 소개하고 있다. 처음에는 큐라고 생각하고 접근했는데 큐보다는 훨씬 더 광범위한 기능을 가진, 그야말로 분산 메시징 시스템이다. kafka에는 몇가지 개념이 있는데 대략 이런 것들이 나온다. 원문First let's review some basic messaging terminology: - Kafka maintains feeds of messages in categories called topics.- We'll call processes ..