Category Archives: 후기

카프카 기술서 두권 비교

아파치 카프카로 데이터 스트리밍 애플리케이션 제작 – 에이콘

카프카에 대해서 개괄적으로 나와 있기는 한데 정리가 깔끔하지는 않다

훑어보기는 괜찮다

그런데… 이 책이 더 좋은 것 같다

~~~

기술만 훑어보려고 하는거면 1~2단원만 보면 될 것 같고 자세히 보려면 좀 오래걸릴 것 같다.
코드랑 기술이 상세하게 설명 돼 있어서 더 그런것같은데..

메시지 전송 기술에서 카프카가 거의 표준으로 자리잡아서 다른걸 생각하기가 힘들 정도다
복잡한 라우팅을 하는 경우에 AMQP를 쓴다고는 하지만… AMQP에서 지원되는 케이스를 생각 해 봐도 카프카에서도 다 할 수가 있을 것 같다

예전에 금융사 SMS처리하는 프로젝트에서 사람들 mysql가지고 개삽푸는거 본 적이 있는데
내가 들어갔으면 메시지 서비스로 하지 않았을까 싶은데…
그 때는 rabbitmq를 선택하지 않았을까?? 카프카의 특성을 제대로 모르고 있어서..
당시에는 문서도 잘 안나와있어서 좀 골치아프기도 했다.
요새는 번역서도 나와있어서 사용하기 좋은 것 같다

끝으로 최근.. 아파치에서 카프카의 경쟁 시스템이 출현했다는 슬픈소식

Apache Pulsar

마이크로서비스 아키텍처 구축 대용량 시스템의 효율적인 분산 설계 기법, 한빛미디어

몇달쯤 전에 처음 볼 때는 뭐 당연한걸 책으로 써놨네~ 하면서 대충 훑어보고 말았는데
최근 MSA 관련 작업을 하면서 다시 보게 됐다.

다시 보니까 전에 못 보던 부분도 보이고 전체적인 흐름도 잘 정리되서 좋았다.

MSA 관련기술

DevOps 관련 플로우

  • 빌드시 유닛테스트
  • CI/CD
    • pull request 하면서 유닛테스트
    • 통과시 container build
      – 이미지에 로깅 툴을 넣어서배포
    • stg(staging) 배포
  • 통합테스트(수동?또는자동)
  • prd(production) 배포

예전에 제대로 모르고 넘어간 요소들

API GW(zuul), CircuitBreaker(hystrix), ServiceDiscovery(eureka), ClientLoadbalancer(ribbon)

넷플릭스쪽이 관련 인프라가 잘 돼 있어서 spring쪽 개발자는 그걸 참고하면 편하다.

MSA적용실패사례 – MSA vs Monolith

예전에 O2O 서비스를 만들 때도 SOA를 시도했다가 실패했는데
모놀리스형태로 만들어야 할 규모의 서비스를 무리하게 분할한게 원인이었다.

처음에 사용자별로 서비스를 나눈 것 까지는 좋았다.

  • 사용자ROLE별로 구분된 웹서버
    • 일반사용자
    • 관리자
    • 사장님
  • 인증서버
  • APP api서버

그런데 여기서 일부 기능을 떼서 서비스 지역정보, 메일문자전송, 다국어관리, … 이렇게 넣다보니 일이 너무 많아졌다.

DevOps도 처음 적용해서 여기저기 오류 터지는데 서비스 개발까지 하려니 죽어났다.

MSA 적용 실패요인

인력부족, 기술부족, 자금부족

MSA를 제대로 이해하고 있고 관련기술을 구성할만한 사람이 있어야된다.
연구하면서 진행하려면 서비스 개발 이외에 최소 서너명이 더 있어야 하지 않을까

서비스 변화

MSA는 서비스 목표가 확실해진 이후에 해야되는 것 같다. 전체적인 서비스 구조는 고정 되어 있고 기능을 추가하기 좋다는거지 서비스의 큰 흐름이 변하는 경우에는 절대로 쓰면 안된다.

초기 스타트업은 서비스 하다가 버리고 다시 시작하기도 하고 메인 기능이 막 바뀌고 추가되고 하니까 MSA에 적합하지 않다.

~

개발자라면 한번쯤 보는게 좋을 것 같다.

요즘 대부분 서비스가 MSA화 되어가고 있고 이정도 속도면 10년안에 국가프로젝트도 MSA적용이 일반화될 것 같으니까

자바9 모듈프로그래밍, 한빛미디어

자바9의 모듈화(jigsaw) 개념을 중심만 다뤘다.

간단하다
소스루트에다가 module-info.java파일을 생성해서
module{}을 정의하고
requires, exports.. 외 몇가지 구문으로 정의하는것.

typescript같은 언어에서 export 선언한 것만 접근할 수 있는것처럼

 

이 책의 내용은 이게 전부다. 모듈화에만 집중해놔서
자세한 정보는 : http://openjdk.java.net/projects/jigsaw/quick-start

실전적용

라이브러리 개발의 경우에는 캡슐화에 신경쓰려면 세부적인 설정을 해야겠지만
일반적인 서비스모듈 개발에는 현재와 별 차이는 없을 것 같다.
maven/gradle에서 좀 더 신경쓸게 생기겠지만

gradle의 한개 모듈마다 module-info.java를 한개씩 갖게 된다.
jar파일 한개당 한개의 module이라고 생각하면 된다.

기타 책들

가장 빨리 만나는 코어 자바9: 자바9으로 배우는 모던 자바, 길벗
도 같이 봤는데.. 이건 두꺼우면서 쓸데없는 내용이 잔뜩 있고
막상 중요한 부분은 짧게 설명이 돼 있어서 제대로 보지 않았다.

자바9에서 변하는 점

구조적으로 큰 변화인지는 모르겠지만 개발하는 입장에서는 코드상에 큰 변화는 없다.

gradle에 mysql.jar을 가져와서 ide에서는 com.mysql.Driver이 검색되는데 프로젝트에서는 빨간불이 뜨는 상황은 좀 더 자주 보게 되겠지만.

어차피 지금도 gradle 모듈로 프로젝트 나눠서 개발하는 사람은 거의 변화를 못 느끼지 않을까

~

어차피 금방 보니까 한번 보면 좋지 않을까

혹시 다른내용이 있나 싶어서 꼼꼼히 읽다가 몇시간 지났는데 별거 없으니 그냥 훑어보면 될 것 같다. 아니 그냥 공식도큐먼트랑 블로그만 몇 개 봐도 되려나

창업공간 이용/방문 후기

위워크 강남점

위치 : 강남역 6번출구 홍우빌딩. 삼성전자 주변. 현대블랙스튜디오 앞건물
특징 : 미국식 소비문화를 지향해서 1회용품사용을 엄청나게 많이 한다
서비스 : 매주월요일 아침 먹을걸 준다. 청소서비스. 택배. 명절이나 무슨날이면 뭐 챙겨주고 행사도 있고 그렇다.
커뮤니티 : 옆 회사 사람들하고 인사도 안함

이전 직장 다니면서 1년정도 썼는데 창렬한 가성비지만 환경이 나쁘지는 않다.

중소형공유사무실0

위치 : 2호선 어딘가
특징 : 친하게 지내려면 무한히 친할 수 있다
서비스 : 청소.
커뮤니티 : 하기나름

개인적으로 사업을 시작하려고 하는데 사무실 따로 얻기는 부담스러워서 들어가게 됐는데… 사무환경이 나쁘는 않은데 물관리가 전혀 안된다.
영업사원 아저씨 맨날 전화질하고 (다른 어떤 사무실은 아줌마일 수도 있겠지) 시끄럽게 군다. 휴대폰은 항상 벨소리 최고음량

오피스19

위치 : 관악구 낙성대역과 서울대역 사이
특징 : 관리자가 없는거나 마찬가지
서비스 : 식빵과 잼 제공. 토스터. 드립커피. 카페에서모닝커피제공. 
사무실 청소 서비스 없음
커뮤니티 : 없음

1층은 카페고 2층 일부와 3층전체가 공유사무실로 사용되고 있는데
방음이 전혀 안된다.
운이 좋게 옆 사무실에 조용한 사람이 쓰고 있다면 모를까 재수없게 걸리면 못 쓴다. 소음에 민감한 사람은 사무실 오래 못 쓰고 나가는 것 같다.
아랫층에 식당과 지하에 강당이 있는데 여기서 행사가 있으면 그 소음이 사무실까지 들린다.
렙실은 입주자 이외에 일반인에게도 임대되는데 이 사람들은 엄청 시끄럽게 군다.
가장 큰문제는 관리인이 관리를 안한다는 것

(방문)중소형공유사무실1

서울대입구역 인근

우리 외주 맡길 것 있는데 좀 봐달랜다.
그럼 사무실 돈 안내고 써도 되나?
이런 애들이 많다. 돈도 받으면서 외주도 주겠다는? 미친건가?
값은 제대로 쳐주긴할건가

(방문) 패스트파이브

교대역 인근

시설은 깔끔하고 좋다. 위워크에 비해 소규모로 두층을 쓰고 있었다.
시리얼 제공

(방문) 가산 아파트형공장 소호사무실

딱 봐도 방음 전혀 안되게 생겨서 그냥 나왔다.

~ 결론

돈 많이 주고 위워크, 패스트파이브 쓰던가 입지 괜찮은 단독사무실 이용

안 그러면 월세보다 더 귀한 본인의 인건비가 날라간다.

(예제로 배우는 프로그래밍) 루아

이 책을 다 봤지만 메인함수 작성하는 방법을 아직 모른다.

인터넷의 1시간만에 루아 마스터하기~ 문서같은 느낌이었다

그래도 루아 언어 자체가 간단하기 때문에 그정도면 충분할 것 같다.

메인함수 작성법이나 system.in 하는방법은 따로 찾아보면 되니까

nginx에서 사용할 수 있다고 해서 보게 됐는데 생각보다 간단해서 쉽게 접근해볼 수 있을 것 같다.

[도서] Chef Solo 입문 : 인프라스트럭처 자동화 프레임워크 – 뒤늦은 완독

기술서도 완독이라는 표현을 쓰나? 잘 안쓰는 것 같기도 하고..

클라우드가 나와서 일반 개발자가 직접 인프라를 운영해서 kubernetes, hadoop 등등 클러스터를 대규모로 운영할 일은 잘 없다보니.. 인기가 많이 식었지만

개발피씨, 개발서버, local vagrant 등을 설정할 때는 여전히 유용할 것 같다.

좀 사양기술이기도 하고 책도 옛날거라 예제도 다 오류나서 해서 안보려고 했는데, vagrant 개발환경 구성하다가 왠지 chef를 적용 해 보고 싶어서 다시 보기 시작했다.
보통은 docker를 쓰는데 이번엔 몇개 프로젝트 함께 돌리는거라 프로젝트별로 설정 해 놓은 docker를 쓰기는 좀 껄끄러운 상황…
아닌가? 그냥 vagrant를 쓰고 싶었다.

옛날버전이라 책으로는 개념만 익히고 웹튜토리얼이랑 도큐먼트쪽 명령어 찾아 보면서 공부할 수 밖에 없었는데 그러다 보니 시간이 많이 걸렸다.(이틀정도..)

chef 공부하기 힘든 이유가 몇 가지 있다

  • 개념이 뒤죽박죽… chef-solo chef-client –local-mode 비슷한게 섞여있고
  • 용어는 지맘대로.. 들어도 뭔지 모름 chef, kitchen, knife
  • 버전업하면서 legacy 다 바뀜

이런 난관을 넘고 vagrant 정도는 chef로 설정할 수 있게 되어 버렸다.ㅎ

이제 안쓸수가 없군.

추가로

Chef, 클라우드 서비스 설정관리 자동화 도구.

라는 책도 있는데 이건 되는게 더없고 개념이해도 더 힘들다.
두꺼운 책이 오류나니까 더 답도없다.
(책이 처음 쓰여질때는 오류가 아니었겠지 deprecated책이라)

절대 사서 보지 말기 바람.

면접후기 – 잘나가는 B급문화컨셉 쿨한컨셉 스타트업(갓졸업해가는?)회사

원래 회사명은 함부로 쓰면 안되니까
좀 씹는 내용이 될 것 같기도 하고


스타트업이라고 생각했는데 대기업이었다.

면접 엄청 딱딱함. 그냥 내가 맘에 안들었나?
‘인사팀은 왜 이런새끼를 불러온거야~ 대충 물어보고 쫒아내야지’라고 맘먹고 있었던걸까

자기소개를 해보세요
“`아..아… 뭐라고 .. 이거 너무 어려운데“`

기술 지식적인 부분만 물어본다.
아니 내가 이것밖에 생각에 안 나는건가
생각해서 알 수 있는 부분이 아닌 지식만.
“`아… 잘 기억 안나는데… 뭐라구요? 다시 말씀 해 주세요. 이거 말씀하신거 맞나요?“`

이력서 보면서 잘 생각도 안나는 지난 경력을 자꾸 물어본다.
나도 한장 뽑아서 주던가…
“`그 때.. 한 것 같은데… “`

그리고 그 뒤에는 패닉상태.. 이미 뭐 기억도 안난다.
그런회사 합격할 정도로 3분스피치 자기소개하고 질문하는거 딱딱 대답하게 연습할 정도 되면
투자나 받고 말지
긴장되는 상황에서의 3분스피치 능력이 개발능력하고 별로 상관 없다고 생각하는데
원하는 인재상을 잘 모르겠다.

너무 불만이 많은가
창업이나 해야겠다.
취업은 무슨..

Amazon Summit, Seoul 2018 참관 후기

이번 컨퍼런스의 키워드 : datalake, serverless, devops, msa

s3, redshift를 이용한 datalate 구축
lambda를 이용한 serverless architecture
이것저것 이용한 devops전략

machine learning, block chain도 있었지만…
AWS컨퍼런스다 보니 아키텍처럴한 내용이 주를 이뤄서 다른분야의 발표는 별로 안 보였다.
특정 saas의존적인 방식이라 좀 꺼렸는데… 어차피 AWS이외의 선택지가 없다고 보고 그냥 들어가야되는건가?
AWS생태계에 종속된 편안한 개가 될지… 야생의 힘들고 야근많이 하고 배고픈 늑대가 될지

serverless 클러스터 관련 오픈소스도 있는 것 같기는한데…
https://openwhisk.apache.org/
https://github.com/serverless/serverless
https://github.com/Miserlou/Zappa

컨퍼런스 후기 – Fast Campus 2017 Future Conference ( Data Science )

6개 세션이 있었는데 2개 좋았고 2개는 보통 2개는 별로

부식

드립커피를 주겠다는 그 생각이야 감사하지만… 아침에 바쁜데 거기 줄을 길게 늘어서 있으면 방해된다.

1회용품을 너무 많이 사용한다.
어쩔 수 없다고 할 수도 있지만… 개인적으로 사용을 좀 줄이면 좋겠다는 생각이 든다.
하다못해 분리수거라도 좀 하게 해놓던가… 분리수거 준비를 안 해놔서 이것저것 막 모아서 버려져있떤데 이거 분리를 누가 할 사람도 없으니
그냥 대충 봉투에 담아서 버렸을것같다.

간식이나 식사종류는 잘 나왔다.
점심은 샌드위치 반쪼가리라 좀 적었지만
음료, 커피, 물, 과일도 중간중간에 준비 해 주고
그런데 뭘 줄지 미리 알려줬으면 더 좋지 않았을까?

발표 관련

발표하는분들이 패스트캠퍼스에서 유료강의하는분들인 줄 알았는데
아니었나?
일반 개발자 컨퍼런스도 아니고 패스트캠퍼스 컴퓨터 학원 이름걸고 하는 강의형 컨퍼런스 아닌가
PPT도 전문가가 좀 봐주고 리허설도 해 보고 했어야 하지 않았을까 싶다

컨퍼런스 컨셉도 지식의 전달일지
트렌드 소개가 될지
방향이 좀 모호했던 것 같다.
연사들도 좀 혼란을 겪는 것 같아 보였다
제목과 좀 거리가 느껴지는 발표도 있었고