전체 글
2023 오픈소스컨트리뷰션 아카데미 우승 후기
2023 오픈소스컨트리뷰션 아카데미 우승 후기
2024.01.14ArgoWorkflows 프로젝트를 주제로 컨트리뷰션 아카데미에 멘토로 참여해서 우승을 했다. 회사 업무를 계기로 만나서 친해진 툴인 ArgoWorkflows를 2년전에 접하고 지금에 와서 생각해보니 2년간 내 활동과 생각에 많은 영향을 주고 나를 발전시켜준 오픈소스였다는 생각이 든다. 오픈소스 컨트리뷰션 아카데미를 처음 알게 된건 3년 전쯤 이었다. 그때는 멘티로 참여했었던 대회였는데 오픈소스에 대해서 아무것도 몰라도 멘토가 있어서 오픈소스에 기여하는 방향을 배울 수 있다는 점이 참여하고 싶다는 생각이 들게 했었던 것으로 기억한다. 그러다가 작년에 우연한 기회로 ArgoWorkflows라는 툴에 기여할 수 있는 기회가 생기고, 그 이후로 몇건의 기여를 더 하게 되었던차에 메일을 받았다. 이전에 대회에 ..
레거시 교체! 달리는 기차의 바퀴를 갈아 끼우다
레거시 교체! 달리는 기차의 바퀴를 갈아 끼우다
2024.01.14나는 작년에 당근마켓 사내 개발자 플랫폼인 Kontrol의 배포 기능의 핵심 툴인 GoCD를 ArgoWorkflows라는 툴로 바꾸었다. 지난 2년을 회고하면서 가장 기억에 남았던 일이라 따로 글을 남겨본다. 사실 당근마켓 SRE밋업에서도 발표했던 사례이다. (원래 나도 발표 중 하나의 세션이 이 주제로 할 계획이었는데 개인사정으로 인해 당일 발표를 하지 못하게 되어서 같은 팀 동료인 알프레드가 대신 나의 주제를 함께 발표해주었다.) 원래 발표하려고 했던 발표자료 지난 포스팅에서 설득력을 갖추기 위해 노력한 이후로 팀에 영향력을 주게 된 기억에 남는 가장 대표적인 사례이기도 했다. 사실 Kontrol의 배포 백엔드가 GoCD였던 가장 큰 이유는 배포 시스템 개발을 처음 고민할 때 고민에 참여했던 엔지니..
당근마켓 SRE 딜리버리 파트 생존기
당근마켓 SRE 딜리버리 파트 생존기
2024.01.14입사 꿈에 그리던 일터인 당근마켓에 정식으로 합류하여 일하기 시작한지 2년이 되었다. SI업계에 대한 경험만 있었던 제가 당근마켓에서 일하게 되었을때 기대했던 것들이 있었다. 코드리뷰 문화가 있는 곳에서 개발을 경험하고, 서비스를 위한 진짜 고민을 해보는 것 자율적인 출퇴근과 수평적인 조직문화 최고의 동료라는 복지 모두가 옳은 말을 하는 곳 달콤했던 자유의 공기도 잠깐, 이곳이 일하지 않는 자에겐 낙원은 없는 진짜 정글이었다는 사실을 깨닳게 되는 데에는 오래 걸리지 않았다. 이전에는 경험해보지 못했던 자유와 책임에 따른 시스템 속에서 나는 새로운 난관들에 봉착하게 되었다. 업무 가시성 확보 비루한 개발 능력 설득력의 부재★ 딜리버리 정글에서는 설득력이 부족한 PR은 폐기당할 수 있어요. 내가 경험한 딜리..
친구 결혼식 사회본 썰
친구 결혼식 사회본 썰
2024.01.14제일 친한 친구 한명이 결혼을 했다. 서울에 처음 상경해서 공부를 시작한지 얼마 안되어서 만난 친구인데, 서로 알고 지낸 기간이 오래되진 않았지만 생각의 방향이 비슷해서인지 혹은 20대의 가장 불타는 시기를 함께 이겨낸 끈끈함인지 마음속 고민이 생기면 제일 먼저 찾게되는 친구였다. 그런 친구가 결혼을 한다며 나에게 결혼식 사회를 봐줄수 있겠냐고 물어본 날은 아직도 생생하다. 사실 너무 부담되고 떨려서, 듣자마자 고민을 3만번 정도 했던 것 같다. 많은 사람들 앞에서 하는 강의나 발표는 그래도 나름 여러번 해봤지만 그런 발표는 망해도 나 혼자 망하는데, 이건 망하면 친구와 친구 부모님, 형수님과 형수님의 부모님까지 같이 망하는 1 + 6의 대형 이벤트이기 때문이었다. 그렇지만 사실 답은 정해져 있었던 것 ..
Github Actions ARC
Github Actions ARC
2023.12.18GitHub Action이 Self-Hosted Runner의 새로운 공식 피쳐로 ARC라는 것을 제공하기 시작했다. ARC는 Action Runner Controller의 약자인데, 쿠버네티스에 설치되고 관리되며 Action Runner를 쿠버네티스 Pod로 실행할 수 있도록 기능을 제공한다. ARC는 원래 GitHub이 공식지원하지 않는 community 오픈소스로 관리되는 프로젝트였는데, 2022년 12월 12일 부터 GitHub이 인수해서 공식 관리하는 프로젝트로 승격되며 많은 기능들이 개선되었다. 공식 문서를 보며 동작을 이해하려고 했는데, 생소한 개념이 많아서 한번에 이해되지 않는 부분이 많았다. 그래서 직접 설치하고 코드를 분석하며 이해한 내용을 바탕으로, 컨트롤러의 동작을 좀더 쉽게 설명하..
오픈소스 응애의 험난한 컨트리뷰션 후기
오픈소스 응애의 험난한 컨트리뷰션 후기
2023.06.18대형 오픈소스에 컨트리뷰터가 되는 것은 언젠가 꼭 한번 쯤 해보고 싶다는 욕망과 함께 마음속 한켠에 고이 간직해 놓고, 오랫동안 외면해 왔던 도전 중 하나였다. 사실 오픈소스에 컨트리뷰션을 한다는 행위 자체는 누군가에겐, '엥 그게 뭐가 어려워? 그거 그냥 문서 번역이나 오탈자 기여만 해도 쉽게 해볼 수 있는건데?' 라고 말할 수 있을지도 모르는 그런 일인지도 모른다. 애초에 의미적으로만 따지자면, 코드가 공개되어 있는 레포라면 어디든 내가 PR을 올려서 머지가 되기만 한다면 그게 어떤 프로젝트이든 결과적으론 '오픈소스에 기여했다'고 할 수 있을테니까 말이다. 하지만, 내가 마음속에 품고 그리던 '컨트리뷰터'라는 단어가 가진 의미는 조금 달랐다. (컨트리뷰터의 사전적 의미를 재정의 하고 싶은 것이 아니다..
컨테이너의 구조와 오픈소스의 생태계에 관한 리서치(feat. 도커는 적폐인가?)
컨테이너의 구조와 오픈소스의 생태계에 관한 리서치(feat. 도커는 적폐인가?)
2023.04.16컨테이너 이미지의 빌드 및 배포에 관한 성능을 개선하기 위해 리서치를 하다보니, 혼자 알기에 너무 재밌는 배경들이 많아서 정리해 보기로 했다. 오늘은 컨테이너와 이미지의 구조 및 원리(특히 파일 시스템과 관련한 부분), 관련 컴포넌트들을 딥다이브하여 파헤쳐 보고, 오픈소스 생태계에서 이들을 활용하기 위해 어떤 움직임들을 보였는지 살펴보는 시간을 가져볼까 한다. 컨테이너 컨테이너 이미지가 뭔지 알려면 먼저 컨테이너에 대해서 알아야 한다. 흔히 컨테이너를 이야기 하면 도커를 엮어서 생각하는데, 사실 도커는 단일 기술이 아니다. 컨테이너의 빌드, 실행, repo관리, 네트워크 관리 등등 컨테이너와 관련한 온갖 기술들을 다 때려다 박아서 docker라는 하나의 커멘드 라인만으로 사용자들이 컨테이너 세상에 쉽게 ..
마인크래프트 서버 운영 일지 작성 시작(마밍아웃)
마인크래프트 서버 운영 일지 작성 시작(마밍아웃)
2022.11.09사실 나는 개인적으로 마인크래프트 서버를 운영한지 3년이 넘었다. 솔직히 마크가 초딩 겜이라는 인식도 있고, 아무래도 나름 기술 블로그 비스무리한걸 포스팅 하고 있는 입장에서 이런거까지 끄적일 필요는 없겠다고 생각하고 있었는데, 요즘에 여유가 생기면서 운영중인 마인크래프트 서버를 발전시키는 것에도 공을들이다보니, 생각보다 여기도 삽질해볼 여지가 많은 분야라는게 새삼느껴져서 부끄럽지만 운영일지를 써보자고 생각하게 되었다. 솔직히 마크 초딩겜 맞는거 같긴 하다 그래도 이 서버를 운영하면서 생각보다 많은 인연을 만들었고, 그냥 기억에만 남겨두기에는 많은 추억을 만든 공간이라 이제부터 조금씩 기록으로 남겨보려고 한다. 그냥 끝내기 아쉬우니까 서버배너나 한장 투척하구 마무으리
티스토리 프라치노 스킨에서 마크다운으로 글 쓰기
티스토리 프라치노 스킨에서 마크다운으로 글 쓰기
2022.11.09티스토리에서 마크다운으로 글을 복붙해 넣었더니 뭔가 마음에 안들게 변환이 되었다. sindresorhus라는 아주 고마운 개발자가 github-markdown-css라는 이름의 프로젝트로 깃헙 마크다운 테마 쉽게 적용할 수 있게 css 파일을 제공하고 있어서 이걸 활용하기로 했다. 우선 크게 맘에 안들었던 부분은 다음 3가지 였다. 표 헤더 코드박스 인용구 따로 수정하지 않고 그냥 보면 아래와 같이 보였었다. 내가 쓰고있는 티스토리 테마는 프라치노 공간이라는 테마인데, 아마도 마크다운을 적극적으로 지원하지는 않는 모양이었다. css파일들을 수정하지 않고 조금 번거롭더라도, github-markdown.css 파일에 선언된 .markdown-body 클래스로 감싸서 적용하려고 시도했는데, #tt-body-..
고루틴의 동작 원리에 관하여
고루틴의 동작 원리에 관하여
2022.02.13고루틴? 고루틴은 GO언어에서 프로그램의 동시성을 쉽게 구현하고 기존의 단순 스레드 기반의 구현에 비해 효율적인 동작을 수행해 내기 위해 만든 작업단위 이다. 고루틴의 장점 아래 내용에 들어가기에 앞서서 스레드에 관해 정리해야할 부분이 있다. CPU의 멀티스레딩에 활용되는 용어인 스레드와 아래에서 설명될 OS영역에서 다뤄지는 스레드는 서로 지칭하는 대상이 다르다. CPU의 스레드는 한개의 코어를 OS에게 여러개로 인식시켜 동작하도록 하는 하드웨어 영역의 개념이고, 아래에서 계속하여 언급할 스레드는 OS 하위의 소프트웨어 영역에서 CPU의 작업단위로 지칭되는 용어이다. 메모리 소비 고루틴은 스레드에 비해 더 작은 메모리만 필요로 함. 고루틴 생성에는 2KB의 스택만 필요로 하고 필요에 따라 힙을 사용. 반..
2021년 회고
2021년 회고
2022.01.032021년은 나에게 수확의 시기였다. 올해 초에 서울에 상경한 이후로 내가 해온 일들을 회고하는 시간을 가져서 였을까? 올 안해 동안은 나 스스로가 나에게 던지는 질문이 많았던 해였던 것 같다. SK하이닉스로의 파견, 판교 입성..? 회사에서 승진을 하고 처음으로 받은 임무는 개발 팀들과 함께 정자역에 위치한 SK하이닉스 분당두산타워 거점으로 장기 파견을 나가서 하이닉스 사내에 내부용 머신러닝 경진대회 플랫폼으로 사설 Kaggle을 개발해 주는 프로젝트를 담당하는 것이었다. 출퇴근을 부천에서 하던 나로써는 판교로 출퇴근은 너무 부담스러웠기에 회사 대표에게 조금 찡찡대었는데, 예상치 못하게 회사 대표가 야탑 근처에 사택을 구해주었다. 사택도 깔끔했고, 무엇보다 신축 건물인 분당두산타워에서 뷰가 좋은 창가 ..
DevOps 3년차 경력 이직 도전기(feat. 네카당)
DevOps 3년차 경력 이직 도전기(feat. 네카당)
2022.01.02개발자로 일을 하기 시작한지 3년이 훌쩍 넘었고, 길게만 느껴졌던 산업기능요원도 어느덧 소집 해제가 되어 민간인 신분이 되었다. 언제나 막내일 것만 같았던 나도 이제 조금씩 신입의 티를 벗기 시작했고, 회사에서 조금씩 고여가는 나를 보며, 이제 다음 계단을 밟기 위해 다시 한번 도약을 할 시기라는 것을 깨닫게 되었다. 인생은 곱셈과 같아서, 찬스가 왔을 때 내가 제로이면 아무런 의미가 없다는 말이 있다는 말이 있다. 서울에 상경 해서 부터 지난 5년간을 지금 다시 돌이켜 보면, 어디가 길인지도 모른채 그저 제로가 아니기 위해 무작정 달려왔었던 내가 있었다. 이직 준비를 하고, 나를 필요로 하는 회사를 찾기 위해 20번이 넘는 전형들을 진행하면서 힘이 부치기도 했지만, 오히려 수많은 엔지니어 분들을 통해 ..