분류 전체보기

    2024년 11월 4주 회고

    페어 프로그래밍 2페어 프로그래밍은 아주 잘 되고 있다. 혼자서 하는 것보다 둘이서 하는 것이 훨씬 진도가 잘 나간다. 언듯 보면 둘이서 1인분의 시간을 낭비하는 것 같지만 그렇지 않다. 둘이서 프로그래밍을 하다가 이렇게 하면 어떨까? 하는 아이디어가 나오면 바로 적용하게 된다. 혼자서라면 고민하다 시간을 끌고 적용을 안 하게 될 수도 있는 사안이었다. 머릿속으로만 생각만 하다 넘겨버릴 수 있는 아이디어도 실제 행동으로 옮겨졌다. 그래서 결국은 더 나은 효율을 낼 수 있었다. 그래서 만족한다. 동료가 조금 더 우리 코드에 익숙해지고 시스템을 이해하기 시작한다면 직접 수정도 가능해 보인다. 그때는 훨씬 더 높은 효율을 낼 수 있을 거라 기대한다.   2분명 좋은 내용인 것은 맞는데, 책 내용이 머리에 들어..

    2024년 11월 3주 회고

    페어 프로그래밍해보고 싶었던 페어 프로그래밍을 해볼 기회가 생겼다. 지금 진행하고 있는 프로젝트에 새로 합류한 동료와 함께하게 되었다. 누가 시켜서 한 것은 아니고 내가 페어 프로그래밍을 해보자고 했다. 빨리 동료에게 프로젝트를 이해시키면서 해야 할 일도 처리하기 위해서다. 예상대로 코드를 수정하는 데 드는 시간이 많이 들긴 했다. 하지만 혼자서 일할 때보다 코드를 더 면밀하게 살펴보며 짜게 되었다. 혼자 했으면 대충 이해하고 갔을 것을 하나하나 설명하며 하다 보니 당연히 그럴 수밖에 없었다. 코드를 빠르게 추가, 수정하지 못하니 처음에는 답답하다가도 불필요한 걱정을 하는 일이 줄어 오히려 좋기도 했다. 혼자 고민하느라 시간을 보냈을 것 같은 상황이 여러 번 있었다. 하지만 함께하던 동료가 그 고민은 나..

    2024년 11월 2주 회고

    테스트 코드테스트 코드가 절실한 한 주였다. 부끄럽게도 주도하고 있는 프로젝트에 테스트 코드가 없다. 그 대가를 톡톡히 치른 한 주였다. 테스트 코드가 없다면 수동으로라도 충분히 테스트해야 했다. 하지만 늘 그렇듯 시간이 문제였다. 일정에 맞추려니 딱 수정한 기능만 확인하고 SQA팀에 수정 버전을 넘겼다. 운이 좋으면 넘어가겠지만, 이번에는 그러지 못했다. iup-go는 이제 그만...사내용을 만든 프로그램 GUI로 iup-go를 사용하고 있다. Golang으로, 크로스 플랫폼을 지원하는 네이티브 GUI라는 점이 마음에 들어 사용했다. 하지만 이제는 슬슬 그만 놓아줘야 할 것 같은 생각이 든다. Windows에서는 문제가 없지만 Ubuntu에서는 알 수 없는 문제가 생겼다. 해결해 보려고 노력했지만, 끝..

    커밋 메시지에 쓰기 좋은 영어 표현

    저는 커밋 메시지를 영어로 작성하고 있습니다.개발자가 반드시 배워야 하는 언어 하나를 꼽으라면 C, JAVA, Python 등이 아니라 영어라는 말도 있지요.그래서 그런지 저는 예전부터 커밋 메시지를 영어로 쓰고 싶다는 생각이 있었습니다.하지만 저는 영어를 편하게 사용할 수준이 안되어 감히 시도를 못 했지요.그러나 약 2년 전 즈음, 회사에서 시작한 새로운 프로젝트를 함께한 동료분께서는 항상 커밋 메시지를 영어로 작성하고 계셨습니다.그분이 가능하면 커밋 메시지를 영어로 썼으면 좋겠다고 하셔서 그때부터 저도 영어로 작성해야만 했습니다.영어 작문 실력이 꽝이라 저는 커밋 메시지를 쓸 때마다 번역기의 힘을 빌렸지요.하지만 언제까지나 번역기의 힘을 빌릴 수만은 없는 법.스스로 커밋 메시지를 영어로 쓰고 싶다는 ..

    <오블완 챌린지>를 기회삼아 다시 꾸준해보자

    아주 오랜만에 글을 씁니다.그동안 회사일이 바쁘고 육아를 하느라 정신없었다는 핑계로 글쓰기를 멈췄습니다.그렇다고 개발 공부를 안한 것은 아니고 개인 노트에는 꾸준히 메모하고 자료를 정리하고 했습니다.하지만 글을 공개할 만큼 다듬을 시간도 에너지도 없어 손 놓고 지냈습니다.마지막 글을 쓴지 2년하고 1개월이 지났네요.그럼에도 불구하고 누군가에게는 도움이 되었는지 하루 평균 70~80명 정도는 방문을 해주셨습니다.덕분에 어느덧 방문자 수가 10만을 넘겼더라고요. 방문해주신 모든 분께 감사 드립니다.잘 써보려 노력했지만 많이 부족하고 잘못된 정보도 있을 것 같아 괜시리 부끄러워지네요.여전히 개발도 글쓰기도 서툴지만 다시 한 번 도약을 해보려고 합니다.혼자서 남긴 글과 정보가 노트 안에 썩히기 보다는 필요한 분..

    Node.js로 라즈베리파이 GPIO 제어하기 (Blink)

    Node.js로 라즈베리파이 GPIO 제어하기 (Blink)

    라즈베리파이에서 GPIO를 제어하기 위해 흔히 쓰는 라이브러리로 WiringPi가 있습니다. WiringPi는 C로 만들어진 라이브러리여서 Node.js에서 바로 사용할 수 없습니다. Node.js의 패키지 관리자인 npm에서 WiringPi를 검색해보면 꽤 많은 패키지가 나옵니다. 하지만 제대로 동작하지 않는 것도 있었습니다. 제가 시도해본 것은 'wiring-pi' 'node-wiring-pi', 'rpio', 'onoff' 인데, 이 중에서 제대로 동작한 것은 'rpio'와 'onoff' 입니다. 저는 둘 중에서 'onoff'를 사용하기로 하였습니다. 'onoff'를 선택한 이유 'rpio'와 'onoff' 중에 'onoff'를 선택한 가장 큰 이유는 인터럽트 가능 여부입니다. 'rpio'는 공식적..

    라즈베리파이에 Node.js 설치하기

    우선 패키지 관리자의 패키지 리스트를 업데이트하고 설치된 패키지를 업그레이드합니다. sudo apt update sudo apt upgrade Node.js 패키지 저장소를 패키지 관리자에 추가합니다. 아래는 2022년 10월 5일 기준 LTS 버전인 16.17.1을 추가하는 과정입니다. curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - 만약 최신 버전인 18.0을 설치하려 한다면 다음과 같이 명령을 입력합니다. curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash - 저장소 추가가 완료되었다면 Node.js를 설치합니다. sudo apt install nodejs ..

    WSL 환경에 vcpkg로 GTK 라이브러리 빌드할 때 의존성 문제 해결하기

    WSL 환경에 vcpkg로 GTK 라이브러리 빌드할 때 의존성 문제 해결하기

    WSL(Windows Subsystem for Linux) 환경에서 gtk4를 빌드하는 것을 시도해보았습니다. vcpkg를 사용하면 설치하려는 패키지의 의존성을 검사해서 필요한 것까지 모두 설치되는 것으로 알고 있었습니다. 그러나 정작 필요한 도구와 라이브러리를 자동으로 설치하지 못하고 계속해서 에러를 뱉어내는 문제가 있었습니다. 그럴 때마다 에러 로그를 살펴보며 필요한 것들을 하나씩 설치했습니다. 불편하고 시간이 걸리긴 했지만, 문제를 하나씩 해결해나갔고 결국 gtk4를 설치할 수 있었습니다. WSL 환경에서 vcpkg로 gtk4를 빌드하며 따로 설치해준 패키지는 다음과 같습니다. bison pkg-config autoconf libtool libxrandr-dev libx11-dev libxft-de..