본문 바로가기

개발자의 인생11

국제 표준 문서 저자가 되다 지난 주 나에게 아주 특별한 이력이 생겼다. 국제 표준 문서의 공동 저자 중 한 명이 된 것이다. (아래 링크 참조) RTCM Standard 13900.0, Maritime Messaging Service Architecture and Protocol 개발자 치고도 흔하지 않은 경험이라 후기를 남겨보고자 한다.  표준화 작업의 초기부터 현재까지 근 4~5년 정도 참여해왔다. 표준화 하려는 기술은 여러 기술이 복합적으로 얽히는 구성을 갖고 있어 본격적인 표준화 작업 전부터 난항을 겪고 있었다. 초반에 얼떨결에 내가 MCC MMS 워킹그룹의 리더를 맡게 되었었다. 분수에 맞지 않는 자리이고 내가 지극히 관심을 갖는 분야도 아니였기에 고생을 많이 했던 기억이 있다. 그 때 내가 했던 기여는 리포지토리를 만들.. 2025. 4. 3.
[Typescript] @types에 내가 사용할 라이브러리가 없을 때 등록하기 프로젝트에서 Typescript를 사용하다보면 가끔 type definition이 제공되지 않아 라이브러리를 쓰지 못하는 경우가 있다. 이 때 해결하는 방법이 두 가지 있다. 1. 로컬 솔루션: 로컬에 해당 폴더와 파일을 생성하기 (내 컴퓨터에서만 동작) 2. 궁극 솔루션: DefinitelyTyped 리포지토리에 PR을 신청하기 (다른 컴퓨터에서도 동작) 1번에 대해 한국어로 검색하면 정보가 나왔지만 2번의 경우엔 정보가 많지 않아 여기에 남겨본다. 1번도 2번에 포함되어 있기 때문에 1번을 먼저 설명하고 2번으로 넘어가겠다. 나의 경우엔 lucene-query-string-builder라는 라이브러리를 위한 type definition을 만드는 작업이었다. 로컬 솔루션 내가 사용하는 프로젝트의 로컬 .. 2025. 1. 24.
연결 역할을 하는 생성형 인공지능 어느 순간 내가 프로그래밍 중 함수 이름을 작명할 때 생성형 인공지능 서비스(이하 AI)에 의존을 많이 한다는 것을 깨달았다. 내가 짠 함수의 이름을 나의 졸렬한 작명 실력을 발휘하지 않고도 모든 이들이 이해할 수 있는 형태의 이름을 순식간에 만들어준다. 나의 코드의 독해성이 높아진다.  다른 AI 활용에 대해서는 비난의 여지가 많을 수 있지만 이런 종류의 활용에 대한 비난은 누가 할까 싶다. 잘 들여다 보면 이런 형태의 작업은 많은 이들에게 공유가 되며 AI의 개입으로 인해 서로의 이해도가 높아지는 경우이다.  누구나 다 열심히 업무를 하지만 서로의 업무를 공유하고 상대편의 업무를 들여다볼 때 서로의 고유한, 낯선 이름들과 형식에 피로도가 훌쩍 쌓이는 일은 매우 흔한 일이다. 그 교집합에 서로의 이해도.. 2025. 1. 17.
손으로 그린 그림을 3D 모델로 - Sketchurizer 함께 일했던 친구가 현재는 https://generio.ai/ 라는 스타트업을 시작했는데, 여기서 산출된 모델 퀄리티가 좋아 글을 남겨 본다.  Sketchurizer라는 서비스는 생성형 인공지능 기술을 활용하여 손으로 그린 스케치와 해당 스케치에 대한 설명을 입력하면 실제와 같은 이미지와 이를 기반으로 3D 모델을 제작해준다.  이 서비스를 이용하면 아이디어를 빠르게 시각화하고 3D 모델로 변환하여 제품 같은 것을 만들 때 초기 프로토타이핑을 빨리 수행할 수 있을 것 같다. 교육에도 활용할 수 있을만한 것이 학생들이 그린 그림을 3D 모델로 만드는 경험이 학생들에게 큰 영감을 줄 수 있을 것 같다. 물론 생성된 모델을 다른 컨텐츠에서 활용할 수 있다면 더욱 굉장한 경험이 될 것 같고. 생성된 모델은 3.. 2025. 1. 8.
징징대는 것이 의외로 몸값을 올리는 이유 나를 포함, 대부분의 사람들이 꾸준히 노력만 하면 몸값이 올라갈 것이라고 생각해왔다.물론 이 것도 맞지만, 현실 세계에서는 징징대기를 잘하는 사람이 더 높은 몸값을 받을 가능성이 높다.어떻게 보면 능력이 좋은 사람이 징징댈 확률이 높다는 의미이기도 하다. 이 글에서 왜 징징대는 것이 단순한 불평이 아니라 능력이 있는 사람임을 나타내는 신호인지,그리고 이를 어떻게 활용하면 몸값을 올릴 수 있는지 자세히 알아보자.왜 징징대는 것이 능력 있는 사람임을 나타낼까?단순히 불평으로만 들릴 수 있는 그들의 목소리의 원인을 들여다보면 그들이 문제를 인식하고, 문제 해결에 관심을 가지고 있으며, 자신이 더 나은 솔루션을 제공할 수 있음을 암시한다는 것을 알 수 있다.1. 문제를 인식하고 개선점을 찾는 능력능력 있는 사람.. 2025. 1. 4.
생활 속 모듈화와 분리가 개발자에게 중요한 이유 한국에서의 개발 경험을 갖고 처음 북유럽에서 일 할 때 가장 어려웠던 점은 개념의 모듈화에 대한 것이었다. 보다 정확히는 객체지향 프로그래밍의 SOLID 원칙의 첫 번째인 단일 책임 원칙(Single Responsibility Principle, SRP)을 의미한다. SRP는 한 클래스(혹은 모듈)는 하나의 기능만을 담당해야 한다는 개념이다. 다양한 재료를 섞어 조화로운 맛을 만드는 비빔밥의 나라답게 한국은 고수준의 개념 설계를 할 때 여러 기능들을 섞곤 한다. 이 섞임을 가장 잘 관찰할 수 있는 부분이 나에게는 인터페이스 구현이었다. 개발자 및 사용자 편의성을 고려하여 하나의 인터페이스를 이용해서 다양한 것들을 다룰 수 있도록 하는 것이었다. (대표적인 예가 채팅, 송금, 쇼핑 등을 한 큐에 제공해주는.. 2024. 9. 15.