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

2020-12-24
xORM 은 필자가 선호하는 ORM Object–relational mapping 프레임워크이다. 주요 특징 Features 은 아래와 같다. [caption id="attachment_28157" align="alignnone" width="600"] https://gobook.io/read/gitea.com/xorm/manual-en-US/[/caption] [caption id="attachment_28158" align="alignnone" width="600"] https://gobook.io/read/gitea.com/xorm/manual-en-US/[/caption] xORM은 대부분의 ORM에서 지원하는 테이블 간의 연관 관계 처리를 지원하지 않는다. 필요하면 직접 구현해야 한다. 언뜻 생각하면 불편할 것 같은데 연관 관계를 포기함으로써 기능들이 단순화되어 익히는데 시간이 짧게 걸리고 쓰기 쉽다는 장점이 있다. 이 글은 필자가 xORM을 사용하며 편리하다고 느낀 기능을 소개한다....
2020-12-10
스타트업 개발자 혼자 빠르게 싸게 서버 구축하기 - 1편 스타트업 개발자 혼자 빠르게 싸게 서버 구축하기 - 2편 스타트업 개발자 혼자 빠르게 싸게 서버 구축하기 - 3편 스타트업 개발자 혼자 빠르게 싸게 서버 구축하기 - 4편 지난 3편 에서는 애플리케이션을 빌드/배포할 때 호스트 서버에 쉘 스크립트 Shell script 를 만들어 사용했다. 워드프레스와 마찬가지로 개발 서버 역시 도커를 사용한다. 왜냐하면 하나의 서버에 여러 서비스를 올리는 경우 SDK...
2020-11-11
Hadoop ResourceLocalizationService 에 대한 설명과 트러블슈팅 내용...
2020-10-28
지난 글 에 부연 설명없이 아기발걸음 을 언급했다. 나는 꽤 오랜 기간 아기발걸음 원칙을 따르고 있어 자연스레 얻은 혜택이 많다.  그래서, 아기발걸음 원칙에 대해 아는 바를 써보려고 한다. 그리고, OKR 적용과 아기발걸음 원칙이 어떤 연관이 있는지 설명하는 식으로 이야기를 풀겠다. 아기 발걸음 원칙 많은 경우 나는 습관적으로 아기발걸음 원칙을 따른다. 특히 처음하는 일에는 예외없이 적용한다. 처음 시작하는 일은 대체로 요령이 없어 단번에 처리하려고 들면 무리만 하고 헛심을 쓰기 쉽다. 마치 어깨에 힘이 들어가 헛스윙을 하는 야구선수의 동작에 비유할 수 있다. 더구나 실수를 피하려고 잘하려고 계획 하다보면 머뭇거리거나 미루기도 한다. 마치 선생님이 나타나기 전까지는 문제를 풀 엄두를 못 내는 모범생처럼 말이다. 하지만,...
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을 할 수 있는 방법에 대해 간단하게 소개해 드리겠습니다....
더보기