shell script에서 #!를 뭐라고 부를까?
이번에 Docker 관련 공부하면서 몇시간 동안 삽질하면서 시간을 낭비했는데 Shell Script의 첫라인에 #! 관련 라인을 넣지 않아서 발생하는 문제였습니다. Bourne shell (sh)과 Bourne Again shell (bash)의 "==", "=" 에 대한 미묘한 차이 때문에 발생하는 문제였습니다. 예를 들어 if 절에 문자열 비교 시 bash에서는 "==", "="
이번에 Docker 관련 공부하면서 몇시간 동안 삽질하면서 시간을 낭비했는데 Shell Script의 첫라인에 #! 관련 라인을 넣지 않아서 발생하는 문제였습니다. Bourne shell (sh)과 Bourne Again shell (bash)의 "==", "=" 에 대한 미묘한 차이 때문에 발생하는 문제였습니다. 예를 들어 if 절에 문자열 비교 시 bash에서는 "==", "="
안녕하세요. devpools의 도경태입니다. medium에 먼저 간단하게 글을 올렸구요. 시리즈 물이 될 거 같은 예감입니다. 바로 그냥 들어가겠습니다. 프로젝트를 진행하며 MSA 를 적용하게 되었습니다. MSA를 적용하면서 맞닥들이는 실제 사례를 들어 시작해 볼까합니다. MSA를 왜 적용하게 되었는지, 어떻게 적용하는지 이것을 하기 위해서 팀은 어떤일을 해야 하는지, 기술적인 검증은 어떻게 진행되는지 진지하게 살펴보도록
지난 글에 이어서 이번에는 Consumer Group이라는 주제를 가지고 설명하려고 합니다. 이 내용 역시 제가 처음 카프카를 접했을때, 정말 이해가 안되고 어려웠던 부분이었습니다. 컨슈머 그룹에 대해 국내 자료들을 검색했었는데, 안타깝게도 제가 이해하는데 도움이 될만한 글을 찾지 못하였습니다. 그래서, 제가 카프카를 처음 접하시는 분들이 컨슈머 그룹에 대한 개념을 잘 이해하실 수 있도록
개요 해당 글은 엘라스틱서치(이하 ES)가 어떻게 구동이 되는지 소스코드 레벨에서 따라가 보는것을 목적으로 합니다. ES 소스에 대한 궁금증을 해결하고 오픈소스 코드를 분석을 하여 실력을 늘리는데 목적이 있습니다. 아래 포스팅을 * 오픈소스 코드분석 Tip은 김형준님이 쓰신 오픈소스: 코드 분석 어떻게 하나? 포스팅 참고 부탁 드립니다. * 해당 포스팅은 엘라스틱서치(ES)를
지난 글에서는 전체 시스템 구성과 Kafka에 저장된 로그 데이터를 몇가지 처리를 한 다음에 hdfs에 저장하는 구성을 NiFi를 이용하여 처리하였습니다. * 지난글: 코드 한줄 없이 서비스 Dashboard 만들기(1) 이번 글에서는 hdfs에 저장된 데이터를 이용하여 분당 또는 10분당 PV, UV 또는 다른 정보를 조회할 수 있는 Dashboard를 구성해보도록 하겠습니다. 주제가 "코드
이 글은 제 브런치(https://brunch.co.kr/@jojoldu/2/write)에 먼저 소개했던 글을 옮긴 것입니다. 앞으로 popit에서도 열심히 글을 공유하겠습니다. 잘 부탁드리겠습니다! 올 한해는 그 어떤 해보다 잊을 수 없는 한해였던것 같다. 돌이켜보면 뭔가 대단한 일들을 한적은 없는데, 티끌모아 태산이라고 별거 아닌 노력도 모이니깐 나름의 결과가 나와 신기하고
저는 국내 메신저 회사에서 우연한 기회로 전사 공용 카프카를 운영하고 있습니다. 현재 기준으로 제가 관리하는 카프카 클러스터는 용도와 종류에 따라 5종류로 구분되고, 전체 서버는 약 50여대 됩니다. 이 수치는 지금도 계속 증가하고 있어 나중에는 더 늘어날 것 같습니다. 제가 글을 적는 이유는 카프카에 대해서 스터디하고 운영하면서 겪었던 일들중에서, 쉽게 이해가
git 을 sql로 질의하다 이번 시리즈는 사실 개발자의 막일을 줄인다기 보다 git 정보를 재미나게(?) 볼 수 있는 툴 하나를 소개 하려한다. gitql 은 git 레포지토리를 sql로 볼 수 있는 툴이다. go로 개발되어 있으며 gitql을 설치 한 후 기존 레포지토리에서 명령어와 함께 sql을 보고자 하는 필드와 테이블을 지정하여 실행시키면 (예를 들어
* 지난 이야기: [코드 리뷰 이야기] 단수형을 단수형이라 부르지 못하고, 복수형을 복수형이라 부르지 못하니 * 사전 학습 자료: 오리지널 콤보, 슈퍼 콤보, 울트라 콤보 이 글은 지루한 내용을 쉽게 전달하기 위해 저렴한 B급 정서가 의도적으로 weaving 되어 있습니다. 읽기에 불쾌하지 않은 수위를 유지하려 합니다만 혹, 거북하거나 적절치 못한 표현으로 글 읽기에 방해가
엘라스틱서치(이하 ES)를 회사에서 사용하고 공부하며 조금 더 심도있게 소스를 들여다 보고 싶다는 생각이 들었습니다. 이 생각이 확장되어 오픈소스를 분석하면서 실제로 동작이 맞는지 확인해보고자 로컬에서 ES를 띄워야겠다고 이어졌습니다. (오픈소스 분석방법에도 나와있는 내용을 동감합니다.) 이 과정에서 ES를 로컬에서 효율적으로 띄우는 방법을 정리하여 포스팅 합니다. Gradle 2.13 설치 ES 공식
서비스를 운영하는 조직에서는 PV, UV 등과 같은 지표를 꾸준하게 관리하고 있습니다. 각종 지표를 꾸준하게 관리하는 이유는 서비스가 기획 의도했던 방향대로 사용자가 사용하고 있는지, 서비스의 문제는 없는지 등을 파악하기 위함입니다. 간단하게 이런 지표는 엑셀 등으로 관리할 수 있지만 많은 사람들이 공유하기 어렵고, 실시간 데이터를 바로 반영하기 어렵습니다. 또한, 새로운 기능을 출시하고
SQL 의 많은 장점 중 GROUP BY 는 가장 유용하고 자주 사용하게 되는 구문 중 하나이며, 데이터의 양이 많아지고 컬럼이 늘어날수록 필수적으로 사용해야만 하는 구문입니다. GROUP BY 를 엑셀에서의 기능으로 본다면, 피벗(Pivot)과 유사한 역할을 한다고 보시면 되는데, 엑셀에서 피벗은 없어서는 안되는 필수 기능이기에 GROUP BY = PIVOT 으로서 초간단