Latest

데이터 분석이 쉬워지는 비법

데이터 분석이 쉬워지는 비법

단순 카운트 변화 추이는 로그의 상태를 정확히 표현하지 못한다. 다양한 상태 정보가 섞여 있는 상태에서 개수의 변화가 어떤 상태를 특정하는지 알기 힘들다는 얘기. count 추이(12~25일) 그래서 강조하는 게 상태별 고유성 확보를 통한 데이터 해상도 변경 및 다양한 Metric 활용. 카운트 추이로는 알 수 없었던 19일의 상태 변화가 해상도

By 강 명훈
Hadoop Resource Localization 파헤치기

Hadoop Resource Localization 파헤치기

하둡 클러스터를 온프레미스에서 운영하면서 발생했던 ResourceLocalizationService 관련 장애 하나를 소개해 드리려고 합니다. 장애 상황을 설명해 드리기 전에, YARN 의 ResourceLocalizationService 가 어떤 역할을 하는 서비스인지 살펴보겠습니다.   YARN 애플리케이션 동작방식 위 그림은 YARN 에서 MapReduce 애플리케이션이 동작하는 순서를 도식화 해놓은 그림입니다. 왼쪽 상단의 MapReduce program 이 하나의 Job 으로 실행되면, 전체

By 홍 태희
아기 발걸음 원칙과 아기 발걸음으로 OKR 적용하기

아기 발걸음 원칙과 아기 발걸음으로 OKR 적용하기

지난 글에 부연 설명없이 아기발걸음을 언급했다. 나는 꽤 오랜 기간 아기발걸음 원칙을 따르고 있어 자연스레 얻은 혜택이 많다.  그래서, 아기발걸음 원칙에 대해 아는 바를 써보려고 한다. 그리고, OKR 적용과 아기발걸음 원칙이 어떤 연관이 있는지 설명하는 식으로 이야기를 풀겠다. 아기 발걸음 원칙 많은 경우 나는 습관적으로 아기발걸음 원칙을 따른다. 특히 처음하는

By 안영회
가격의 진정한 의미는 무엇인가?

가격의 진정한 의미는 무엇인가?

그간 가격을 결정하는 문제에 관심이 없었다. 그럴 만한 동기가 없었으니 어쩌면 당연한 일이다. 그러던 차에 우리 회사의 서비스의 가격을 책정해야 하는 난감한 문제를 만났다. 하지만, 아는 것이 너무 없어 어떻게 시작해야 할지 모르던 차에 마침 열정적인 지인의 권유로 <프라이싱>이란 책을 읽은 것이 아마도 긴 여정의 첫 시작이

By 안영회
Spring Cloud Gateway

Spring Cloud Gateway

해당 코드는 Github 공개되어 있습니다. 용어 명칭 설명 라우트(Route) 라우트는 목적지 URI, 조건자 목록과 필터의 목록을 식별하기 위한 고유 ID로 구성된다. 라우트는 모든 조건자가 충족됐을 때만 매칭된다 조건자(Predicates) 각 요청을 처리하기 전에 실행되는 로직, 헤더와 입력돤값 등 다양한 HTTP 요청이 정의된 기준에 맞는지를 찾는다. 필터(Filters) HTTP 요청

By Yun
결과적 일관성인가? 최종적 일관성인가?

결과적 일관성인가? 최종적 일관성인가?

분산 컴퓨팅 분야에서 일관성을 말할 때 자주 언급되는 것이 Eventual Consistency이다. 간단하게 말하자면 단기적으로 일관성을 잃더라도 결국에는 일관성을 유지하는 모델을 뜻하는데 이 용어는 더글라스 테리 외에 의해 만들어졌고 워너 보겔스에 의해 대중화되었다고 한다.[1] 일관성을 데이터 관점으로 좁혀보면 데이터 정합성整合性으로 이어진다. 전통적으로 관계형 데이터베이스에서는 테이블 간 데이터 정합성을 지키는 방법으로

By 유 영모
OKR 실전 적용 경험담

OKR 실전 적용 경험담

OKR 책을 읽었다. 매우 훌륭한 책이다. 반도 읽기 전에 계속 읽기만 할 것이 아니라 당장 써먹어야겠다는 욕구가 일었다. 지금이 시도해볼 적기란 생각까지 들었다. 마침 복잡한 사정으로 베이징에서 전원 철수하고, 서울에서 서비스를 키워야 하는 상황이 찾아왔기 때문이다. 더군다나 코로나 때문에 베이징에 왕래도 할 수 없는 상태로 이동도 쉽지 않고, 자가 격리에

By 안영회
동일한 Bean(Class)에서 @Transactional 동작 방식

동일한 Bean(Class)에서 @Transactional 동작 방식

동일한 Bean 내에서 @Transactional을 사용하는 경우 예상했던 것과 다르게 동작할 수 있습니다. 발생 원인과 해결 방법에 대해서 정리한 포스팅입니다. @Service class CouponService( private val couponRepository: CouponRepository ) { fun something(i: Int) { println("something CurrentTransactionName: ${TransactionSynchronizationManager.getCurrentTransactionName()}") this.save(i) } @Transactional fun save(i: Int) { println("save CurrentTransactionName: ${TransactionSynchronizationManager.

By Yun
Presto를 이용하여 Google Sheets와 mysql 등 DB 데이터 JOIN 하기

Presto를 이용하여 Google Sheets와 mysql 등 DB 데이터 JOIN 하기

데이터를 보는 많은 분들이 특징이 내가 만든 또는 내 PC의 엑셀에 있는 데이터하고 DB와 같이 서버에 있는 데이터하고 같이 볼 수 있는 방법이 없나? 라는 요구사항입니다. 이번 글에서 비슷하게 나마 요구사항을 만족시킬 수 있는 방법을 소개해 드리겠습니다. 최근 지인의 요청으로 AWS 환경을 좀 볼 수 있는 시간을 가졌습니다. 지인의 서비스는

By 김형준
위챗 미니프로그램에서 위챗 페이 연동 삽질기(부제.Golang에서 EUC-KR 서버와 HTTP 통신하기)

위챗 미니프로그램에서 위챗 페이 연동 삽질기(부제.Golang에서 EUC-KR 서버와 HTTP 통신하기)

최근 중국 전자 상거래 동향 중 하나는 모바일 거래와 해외 직구가 크게 성장하고 있다는 것이다.[1] 이런 상황에서 필자는 중국인들이 모바일을 통해 한국 상품을 구매할 수 있는 역직구몰을 만들고 있다. 모바일이라고 하면 안드로이드나 아이폰 앱을 떠올릴 수 있겠지만 앱 스토어 같은 곳에서 다운로드해 설치해야 하는 불편함과 서비스를 이용을 위한 회원

By 유 영모
소프트웨어, 자본주의, 보안

소프트웨어, 자본주의, 보안

소프트웨어 세상에서 제발 건설식  비유가 사라지면 좋겠습니다. 건설업은 시설을 중심에 놓고, 사람을 부품으로 사용하는 생산체계입니다. 매번 맨땅에서부터 시작해야 하니 그런게 이해됩니다. 하지만, 소프트웨어 세상에선 그런걸 잘했다고 돈을 더벌진 않죠. 그냥 잘팔리는 제품을 만들어야 합니다. 즉, 소프트웨어 세계에선 사람이 비용이 아니라 투자대상입니다. IT 분야에서 남다른 통찰력을 보여주는 김수보님의 최근 글. IT

By 강 명훈
제품 기획/관리자를 위한 교과서, 인스파이어드

제품 기획/관리자를 위한 교과서, 인스파이어드

책 표지는 이렇다. 이 책은 미국을 배경으로 제품관리자, Product Manager, 프로덕트 오너 등을 위해 쓴 글이지만, 반드시 PO, PM 이 아니더라도 서비스 기획자라 불리는 이들에게도 그렇고, 스타트업 창업자나 애자일에 관심있는 개발팀 리더에게 역시 필독서로 권할 만한 책이다. 가히 제품 개발의 교과서라 할 만하다. 독후감을 쓰기 전에 이 책을 소개한 김민지님에게

By 안영회