%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4

2020-10-07
그간 가격을 결정하는 문제에 관심이 없었다. 그럴 만한 동기가 없었으니 어쩌면 당연한 일이다. 그러던 차에 우리 회사의 서비스의 가격을 책정해야 하는 난감한 문제를 만났다. 하지만, 아는 것이 너무 없어 어떻게 시작해야 할지 모르던 차에 마침 열정적인 지인의 권유로 < 프라이싱 >이란 책을 읽은 것이 아마도 긴 여정의 첫 시작이 될 듯하다. 가격의 다양한 차원들 프라이싱 40쪽 표는 두고두고 참고할만 지침을 제시한다. 가격의 다양한 차원들. 평소 무심결에 지나쳤던 가격의 다양한 양상이 가격 책정을 할 때는 시간을 두고 하나씩 풀어봐야 할 문제의 차원일 수 있다...
2020-09-16
해당 코드는 Github 공개되어 있습니다. 용어 명칭 설명 라우트(Route) 라우트는 목적지 URI, 조건자 목록과 필터의 목록을 식별하기 위한 고유 ID로 구성된다. 라우트는 모든 조건자가 충족됐을 때만 매칭된다 조건자(Predicates) 각 요청을 처리하기 전에 실행되는 로직, 헤더와 입력돤값 등 다양한 HTTP 요청이 정의된 기준에 맞는지를 찾는다. 필터(Filters) HTTP 요청 또는 나가는 HTTP 응답을 수정할 수 있게한다. 다운스트림 요청을 보내기전이나 후에 수정할 수 있다. 라우트 필터는 특정 라우트에 한정된다....
2020-09-11
분산 컴퓨팅 분야에서 일관성을 말할 때 자주 언급되는 것이 Eventual Consistency 이다. 간단하게 말하자면 단기적으로 일관성을 잃더라도 결국에는 일관성을 유지하는 모델 을 뜻하는데 이 용어는 더글라스 테리 외 에 의해 만들어졌고 워너 보겔스 에 의해 대중화되었다고 한다. [1] 일관성을 데이터 관점으로 좁혀보면 데이터 정합성 整合性 으로 이어진다. 전통적으로 관계형 데이터베이스에서는 테이블 간 데이터 정합성을 지키는 방법으로 기본 키 Primary Key...
2020-08-28
OKR 책 을 읽었다. 매우 훌륭한 책이다. 반도 읽기 전에 계속 읽기만 할 것이 아니라 당장 써먹어야겠다는 욕구가 일었다. 지금이 시도해볼 적기란 생각까지 들었다. 마침 복잡한 사정으로 베이징에서 전원 철수하고, 서울에서 서비스를 키워야 하는 상황이 찾아왔기 때문이다. 더군다나 코로나 때문에 베이징에 왕래도 할 수 없는 상태로 이동도 쉽지 않고, 자가 격리에 재택근무가 겹쳐 동료들이 혼란 속에 있었다. OKR 적용의 목적 그래서 다 읽기도 전에 일단 시도를 했다. 이 책은 한번 읽고 던져버릴 책도 아니고, 한번 읽었다고 내용을 다 이해할 수도 없다. 그래서, 책에서 받은 영감에 기초해서 실천하고, 피드백에 필요할 때 다시 읽을 생각이다. OKR의 디테일에 신경쓰기 보다는 중요한 것에 초점을 맞추려고 했다. 소수지만 한명한명이 소중한 우리회사의 동료들이 하는 노력들이 혼란을 견뎌내고...
2020-08-24
동일한 Bean 내에서 @Transactional 을 사용하는 경우 예상했던 것과 다르게 동작할 수 있습니다. 발생 원인과 해결 방법에 대해서 정리한 포스팅입니다. 위 코드는 Controller 에서 something() -> save() 을 차례대로 호출하는 코드입니다. save() 메서드에서는 특정 경우 RuntimeException 을 발생시키고 있습니다. save() 메서드에 @Transactional 때문에 해당 반복문 전체에 트랜잭션이 묶이게 되고 예외가 발생하면 전체가 Rollback될 것이라고 예상됩니다. 위 와 같이 해당 컨트롤러를 호출하고 결과를 조회하면 아래와 같습니다....
2020-08-18
데이터를 보는 많은 분들이 특징이 내가 만든 또는 내 PC의 엑셀에 있는 데이터하고 DB와 같이 서버에 있는 데이터하고 같이 볼 수 있는 방법이 없나? 라는 요구사항입니다. 이번 글에서 비슷하게 나마 요구사항을 만족시킬 수 있는 방법을 소개해 드리겠습니다. 최근 지인의 요청으로 AWS 환경을 좀 볼 수 있는 시간을 가졌습니다. 지인의 서비스는 작년 하반기 부터 갑작스럽게 성장하면서 데이터가 많아지고 분석의 요구도 많아지는데 전문적으로 이를 처리할 수 있는 개발 인력이나 조직은 거의 없는 상태였습니다. 물론 AWS의 좋은 서비스 덕분에 그럭저럭 운영은 하고 있었지만 한계에 부딪히고 있었는데 이런 저런 니즈가 서로 부합되어 잠시 도움을 주게 되었습니다. 대략 데이터 발생원으로 부터 정제된 형태의 데이터로 저장하는 데이터 파이프라인을 구성하고 이를 기반으로 SQL 등으로 쉽게 분석할 수 있는 체계를 만드는 작업이었습니다. 이번 글에서는 Google Sheet의 각 파일과 MySQL 또는 HDFS, S3 등에 저장된 데이터와 JOIN을 할 수 있는 방법에 대해 간단하게 소개해 드리겠습니다....
2020-08-11
최근 중국 전자 상거래 동향 중 하나는 모바일 거래 와 해외 직구 가 크게 성장하고 있다는 것이다. [1] 이런 상황에서 필자는 중국인들이 모바일을 통해 한국 상품을 구매할 수 있는 역직구몰을 만들고 있다. 모바일이라고 하면 안드로이드나 아이폰 앱을 떠올릴 수 있겠지만 앱 스토어 같은 곳에서 다운로드해 설치해야 하는 불편함과 서비스를 이용을 위한 회원 가입을 시키는 것은 쉬운 일이 아니다. 또한 앱을 개발하는 입장에서 안드로이드와 아이폰 코드를 함께 만들고 유지하는 것 역시 쉽지 않다. 위와 같은 문제를 해결하기 위해 선택한 것이...
2020-08-08
소프트웨어 세상에서 제발 건설식  비유가 사라지면 좋겠습니다. 건설업은 시설을 중심에 놓고, 사람을 부품으로 사용하는 생산체계입니다. 매번 맨땅에서부터 시작해야 하니 그런게 이해됩니다. 하지만, 소프트웨어 세상에선 그런걸 잘했다고 돈을 더벌진 않죠. 그냥 잘팔리는 제품을 만들어야 합니다. 즉, 소프트웨어 세계에선 사람이 비용이 아니라 투자대상입니다. IT 분야에서 남다른 통찰력을 보여주는 김수보님의 최근 글. IT 환경과 함께 변해온 개발 문화/방법론 및 변화 배경을 읽을 수 있다. 정말 오래된, 개발 분야에 건설 방법론을 적용하지 말자는 떡밥인데 개인적으로 해결책은 간단하다고 생각한다. 글 안에 답이 있다....
2020-08-07
책 표지는 이렇다. 이 책은 미국을 배경으로 제품관리자, Product Manager, 프로덕트 오너 등을 위해 쓴 글이지만, 반드시 PO, PM 이 아니더라도 서비스 기획자라 불리는 이들에게도 그렇고, 스타트업 창업자나 애자일에 관심있는 개발팀 리더에게 역시 필독서로 권할 만한 책이다. 가히 제품 개발의 교과서라 할 만하다. 독후감을 쓰기 전에 이 책을 소개한 김민지 님에게 감사를 드린다. 사실 이 글은 오늘 저녁에 있을 독서토론의 발제문으로 김민지 님이 제시한 것에 대해 미리 생각을 써두는 것이기도 하다. 그럼 출발~...
2020-07-31
필자는 마이크로서비스 아키텍처 Microservice Architecture (이하 MSA) 기반으로 커머스 시스템을 만들고 있다. MSA에서 어려운 점 중 하나는 데이터 일관성을 유지하는 일 이다. 예를 들어 주문 프로세스(결제, 주문 원장 기록, 재고 차감 등등)는 모두 성공하거나 하나라도 실패한다면 이전 상태로 되돌아가야 한다. 모놀리틱 아키텍처 Monolithic Architecture 와 관계형 데이터베이스를 사용하는 전통적인 시스템은 데이터베이스 트랜잭션을 사용하여 데이터 일관성을 보장한다. 반면 마이크로서비스마다 데이터베이스를 따로 사용하는 MSA는 데이터베이스 트랜잭션만으로 보장이 안된다. 왜냐하면 통합된 하나의 데이터베이스를 사용하지 않기 때문이다. 물론...
더보기