카테고리

· 개발
동료의 작업물을 리뷰해야할 일이 생길 때, 가장 먼저 보게 되는 것이 코드보다 Pull Request (이하 PR)의 내용이다. PR 내용은 코드를 마주하기 전 내 작업물을 동료에게 소개하는 일종의 제안서라고 볼 수 있다. 그런데 협업을 하다보면 개인의 성향마다 이 내용이 편차가 생기기 마련이다. 개개인별로 PR에 대한 작업 설명이 상이하게 되면, 리뷰어 또한 PR을 확인할 때 해당 작업 결과물에 대한 사전 이해도도 상이하게 된다. 이를 방지하고자 Github에 PR을 올릴 때 공통 Template을 적용하여 작업물에 대한 이해도를 평준화시킬 수 있다. TL;DR Github에 PR 템플릿을 적용하면 작업물에 대한 이해도를 평준화시킬 수 있으며, 리뷰어는 작업자가 어떤 의도로 작업을 했는지에 대해 이해도..
올해 하반기의 화두는 '이직'이였다. 언제나 퇴사 준비생이 되어야한다는 것은 알고 있었지만, 정말로 이직해야할 때가 오니 채용 시장은 너무 춥고 개발자로서 나라는 존재는 너무 작아보였다. 쟁쟁한 개발자들 사이에서 나의 경쟁력은 어디에 있는지 고민하고, 나를 세일즈하는 일은 쉽지 않았다. 시행 착오 끝에 약 2달의 준비 끝에 이직을 성공했고, 현재 입사한 회사에서 온보딩을 하고 있다. 이글을 적으면서 이직 과정을 회고해보려고한다. 3년차 백엔드 개발자의 이직기 (시리즈) 이번 이직 기간은 약 3달이었고, 그 과정 동안 우여곡절을 많이 겪어 한 페이지의 글로 축약이 어려웠다. 그래서 시리즈로 연재하고자 한다. [이번 글] 이직 계기 ~ 이직을 위한 기초 체력 준비 과제/코딩 테스트 커피챗/면접 과정 처우 협..
· 개발
팀의 프로젝트 레포지토리를 살펴볼 때, 협업 인원이 많을수록 코드의 일관성이 깨지는 경우가 많았다. lint 한 번을 돌려봐도 사용하지 않는 변수가 속출하고, 곳곳에 타입이 명시 되지 않는 경우도 있다. 이러한 환경에서 협업 인원이 더 늘어나면 코드 퀄리티를 유지하기가 더욱 어려워질 수 밖에 없었다. 따라서 그라운드 룰을 적용하여 코드 퀄리티를 유지할 수 있는 라이브러리 도입이 필요했다. TL;DR husky를 도입하여 팀에서 정의한 그라운드 룰에 따른 코드 퀄리티를 보장할 수 있다. 이는 팀워크 향상과 버그 감소에도 기여할 수 있고, 새로운 팀원이 합류하게 되어도 쉽게 코드 퀄리티를 유지할 수 있다! 이 글에서 다루는 것 팀의 코드 일관성 보장 과정 husky 설치 git hook의 pre-commit..
· 책
이 글은 한빛미디어 리뷰어 활동을 위해 책을 제공받아 작성된 서평입니다. 형.우리 언제까지 갈까. 글쎄 나도 모르겠어. 하지만 분명히 언젠가 끝날꺼야 그러겠지 그러면 그다음엔 우리 뭘까? god - INTRO 가사 중 개발자로 커리어 전환을 하고 나서 적응기간이 막 끝난 이후 불현듯 '언제까지 개발을 할 수 있을까?'라는 생각이 들기 시작했다. 스타트업에서 오래 살아남은 개발자 분을 뵙기란 하늘의 별따기나 다름없었다. 황량한 사막에서 당장 살아남는데에 급급한 느낌이었다. 내가 당장 개발자로서 살고는 있지만, 언제까지 개발을 할 수 있는지는 아무도 답변을 해줄 수 없었다. 그래서 을 읽게 되었다. "평범한 개발자의 비범한 인생 전략 74가지"라는 부제를 가지고 있는 이 책은 어느 주니어 개발자에게는 제갈공..
소켓(Socket)의 정의 소켓은 일반적으로 접점을 위한 도구로 정의되어있다. 하지만 네트워켓 상에서의 소켓은 BSD UNIX 에서 개발한 네트워크 프로그래밍 인터페이스이다. 이를 네트워크 소켓(Network Socket) 이라고 하며 최근에는 호스트 간의 통신을 대부분 인터넷으로 하기 때문에 인터넷 소켓(Internet Socket)이라고도 한다. 네트워크 통신을 하려면 각 TCP/IP 계층 (OSI 7 계층)의 협력을 통해 이루어진다. 소켓은 그 중 전송 계층 (Transport Layer)와 응용 계층 (Application Layer) 사이에 있는 인터페이스이다. 즉, 통신의 시작점과 종료점. 엔드 포인트(end-point)라고 볼 수 있다. 우리는 소켓을 이용하여 TCP나 UDP에 접근할 수 있..
채용 공고는 지원자가 회사에 지원하기 전 가장 처음으로 접하는 관문이나 마찬가지이다. 지원자는 채용 공고를 통해서 그 회사의 현황, 개발 문화 등을 엿보며 이 회사에 지원해야 하는지를 고민해볼 수 있다. 하지만 현업자로서 채용 공고를 바라보는 시선은 어떨까? 이직의 신호탄이 될 수 있지만, 잘 정비된 채용공고는 내가 속한 회사의 개발 문화에 또 다른 자양분이 될 수 있다. 채용 공고의 구성 개인적으로 잘 쓰여진 채용 공고에는 3가지가 들어가 있어야 한다고 생각한다. 개발로서 달성해야하는 비즈니스적 목표 개발자가 현실적으로 작업해야 하는 기술적인 구성 인프라 개발자가 유연하게 일할 수 있도록 구성되어있는 사내 개발 문화 개발로서 달성해야하는 비즈니스적 목표 말 그대로, 개발자가 '개발로서 회사에 무엇을 기..
· 개발
언젠가 docker 배포를 했을 때 아래와 같은 에러가 발생하여 당황스러웠던 적이 있었다. ERROR: for failed to register layer: Error processing tar file(exit status 1): write /app/node_modules/typescript/lib/tsserver.js: no space left on device ERROR: failed to register layer: Error processing tar file(exit status 1): write /app/node_modules/typescript/lib/tsserver.js: no space left on device no space left on device 즉, 용량이 부족해서 배포가 되..
· 개발
도커 컨테이너 내부 파일에 오류가 생기면 컨테이너를 실행할 수가 없다. 이럴 경우 도커 내부에 들어갈 수도 없는 상황이 벌어져서 수습을 하기가 어려운데, 우회적으로 도커 컨테이너의 내부 파일을 수정하는 방법을 안내하고자 한다. 준비물 오류가 난 도커 컨테이너 수정 방법 도커 컨테이너 내부 파일을 수정하기 위해 우선 도커 컨테이너의 파일을 복사하여 다시 도커 컨테이너로 넣는 방식을 이용한다. 1. 우선 도커 컨테이너의 목록을 먼저 확인한다. docker ps -a 2. 도커 컨테이너 ID를 확인 후, 복사할 파일의 경로를 입력하고 현재 호스트에 붙여 넣을 경로를 지정한다. docker cp containerid:컨테이너파일경로/붙여넣을호스트경로 3. 붙여넣을 호스트 경로에 컨테이너 파일이 있는지 확인하고 ..
· 개발
CI/CD는 이제 조직의 생산성을 위한 필수 요소가 되었다. CI를 구성하기 위해 jenkins, github-actions, gitlab-runner 등이 있다. 이 글에서는 CI를 파이프라인을 구성하기 위한 요소로 gitlab-runner를 등록하는 방법에 대해 작성해보겠다. 여기서는 각 프로젝트 별 Specific runners를 등록하는 방법으로 진행한다. 준비물 1. gitlab 계정과 프로젝트 2. gitlab-runner를 설치할 머신이나 인스턴스 (도커가 설치되어있어야함) 이 글에서의 설치 환경 ubuntu 20.0.4 인스턴스에 gitlab-runner 설치하기 gitlab-runner를 설치하는 방법에는 여러 가지가 있지만 여기서는 dind (docker in docker) 방식으로 설..
[Girls in Tech X AWS] 멘토링 프로그램에 멘티로 참여하게 되었다. 멘토링 기간은 9월 1일부터 10월 18일까지였다. 우리 팀은 5회차의 멘토링 프로그램이 있었고, 팀의 구성은 멘토님 한 분과 멘티 4명으로 직무 분포는 솔루션 아키텍쳐인 멘토님을 필두로 클라우드 개발자 한 분, 백엔드 개발자 두 분, 모바일 앱 개발자 한 분으로 구성되었다. 멘토링 신청 목적 멘토링을 신청할 때의 내 고민은 '커리어의 방향성을 어떻게 잡아야하는가?' 였다. 스타트업 백엔드 개발자라면 인프라, DB 등 다양한 방면에 대해 커버리지를 높여야하는 경향이 크다. 이렇게 넓은 범위 안에서 어떻게하면 중심을 잡고 커리어를 쌓을 수 있는지가 고민이었다. 그리고 비슷한 고민을 가진 다른 분들이 계시다면 그분들과 서로 성..
amber-go
'분류 전체보기' 카테고리의 글 목록