전체 글

안녕하세요 🔭 소프트웨어 개발자 허형준입니다. 개인적인 에세이와 대중적인 기술 칼럼을 쓰고 있습니다. 테스트베드 스타트업 데벤트를 창립하고 bleeding edge 기술을 다루고 있습니다.
😅 그동안의 비효율적인 배포 과정 기존 홈서버에 배포할 때 번거로운 과정의 연속이었다. 원격 접속으로 파일을 이동하고 서버를 종료시킨 다음 코드를 덮어쓰고 다시 실행하는 과정을 통해 코드를 업데이트할 수 있었다. 또한 깃허브와 같은 툴을 쓰지 않아 버전 관리에도 문제가 있었다. 이외에도 의존성이 깨지면 다른 소프트웨어에도 영향이 간다거나, 다운그레이드를 위해 앞선 과정을 다시 진행하는 등 문제점이 많았다. 코드란 유기체와 같다. 지속적으로 관리해주고 신경 써주지 않으면 찌꺼기(레거시 코드)가 필연적으로 발생하게 된다. 관리 방법 중 하나가 바로 배포의 자동화다. 이전 글에서도 설명했듯이, 몇 년 전에는 USB로 파일을 이동하는 만행(?)을 저지르기도 했다. 분명 당시에는 버전이 꼬이고 레거시 코드가 넘쳐..
https://devent.tistory.com/141 NodeJS 템플릿 개발기 I. 개발 동기 개발 동기를 3가지로 정리하자면 반복적인 코드 귀찮음 예) 로그인/인증 로직 라우터 몰빵 습관 개선 의지 내가 짠 코드 오픈소스화 '그동안 발로 짠 코드가 많아서 이번 기회에 devent.tistory.com 🖥 바퀴를 재발명하지 말자 앞선 글에 나와있듯이 자동차를 만들기 위해 바퀴를 재발명할 필요는 없다. 반복적인 일을 줄이기 위해서는 한 번 발명했던 기술을 공식화하여 누구나 쉽게 사용할 수 있도록 해야 한다. 마치 수학자들이 수학 공식을 만들듯, 개발자 또한 템플릿화를 해놓으면 편하다. 대부분의 상용 서비스들은 고만고만하다. 커뮤니티, 채팅 앱, 정보공유 서비스 등등 무수한 웹서비스들은 모두 프론트/백엔..
· 😄생각
비판 없는 글은 없다. 독자로 하여금 글의 형식이 형편없거나 지루하다면 누구나 쉽게 비판할 수 있다. 그렇게 생긴 비판의 이유는 참으로 다양하다. 가치관이 서로 맞지 않아서 생기는 비판이 대부분이지만 간혹 가다 건전한 비판을 마주하기도 한다. 필자는 건전한 비판에 대해 "다시 생각하게 만드는 또 다른 의견"이라고 생각한다. 건전한 비판은 당사자로 하여금 생각하게 만든다. 글을 쓰다 보면 글의 목적과는 다른 방향으로 전개될 때가 허다하다. 이때 건전한 비판은 초점 잃은 문맥을 정확하게 꼬집으며 일맥상통하는 내용을 만드는 밑거름이 된다. 단적인 예로, 고등학교의 생활기록부가 있다. 생활기록부는 학교생활 전반의 이야기를 담은 기록물이다. 동시에 사람에 대한 객관적인 평가와 비판을 담고 있는 경우가 많다. 생활..
# [프리스타일 생각] 6번째 이야기 어떤 종류의 불편함이든 눈에 보이기만 하면 치워버리고 싶은 마음이 든다. 몇몇 작은 불편함은 금방 해결되지만 그렇다고 해서 모든 불편함이 사라지지는 않는다. 사라지지 않고 끊임없이 괴롭히는 불편함이란 개인이 해결하기 힘든 세상의 문제들이다. 그런 불편함을 편하게 해결할 수는 없다. 세상의 불편함은 불편하게 해결해야 한다. 발명의 대가였던 토머스 에디슨은 "인간의 가장 큰 약점은 끈기가 부족하다는 것이다."라는 말을 남기며 끈질김의 중요성을 강조했다. 무언가를 창조하거나 불편함을 해결하기 위해서는 끈기를 가지고 불편하게 노력해야 한다. 그렇게 얻은 편함은 불편했던 역사를 뒤바꿀 정도로 강력한 친구가 된다. 컴퓨터 기술이 발달하며 세상에 있는 수많은 불편함이 해결되었고 ..
* 짧은 글 시리즈 4 보통 '학교 공부'라고 하면 방 안에서 혼자 책 펴고 열심히 쓰는 학생을 떠올린다. 그렇게 쌓인 지식은 100점을 받기 위해, 1등급을 받기 위해 쓰인다. 개인적이고 혼자만을 위한 공부다. 반면 공부라고 하면 너무나 포괄적이다. 탐험하는 여행가일 수도 독서모임에 참가하는 직장인일 수도 있다. 더군다나 공부의 목적 또한 개개인마다 천자 만별이다. 다양하고 스스로에 의한 공부다. 나는 어떤 공부를 해야할까. 혹여, 나의 얄팍한 지식이 조별과제에서의 피해가 가지 않을까. 함께 일하기 힘든 사람이지 않을까. 그런 일들을 최소화하고자 공부한다. 목적은 모두의 성장, 수단은 개인의 노력인 공부를 위해.
* 짧은 글 시리즈 3 후회란 낙심 그 자체이다. 과거의 찬사에 대한 열망일 수도, 바꾸고 싶은 어제일 수도 있다. 그럼에도 과거의 순간은 지나갔다. 마치 카이로스의 뒷머리처럼 보이지만 잡을 수 없다. 결국, 잡을 수 없는 기회의 허상임을 깨달았을 때 비로소 후회한다. 지나간 순간의 집착은 미련은 만든다. 미련을 마음 속 깊이 품을 때면 과거를 떼어놓지 못하게 된다. 과거를 떼어놓지 못한 채로 현재를 살아가다 보면 미련은 점점 깊어진다. 깊어질 대로 깊어진 미련은 우리 마음속 한 구석에서 후회를 만든다. 후회하고 싶지 않다면 지나간 순간을 흘러보내는 연습을 해야 한다. 통제할 수 없는 과거를 딛고 일어서서 현재를 살아가자. 이루고 싶었던 어제를, 이루는 오늘로 만들기 위해.
I. 개발 동기 개발 동기를 3가지로 정리하자면 반복적인 코드 귀찮음 예) 로그인/인증 로직 라우터 몰빵 습관 개선 의지 내가 짠 코드 오픈소스화 '그동안 발로 짠 코드가 많아서 이번 기회에 좋은 코드를 짜는 습관을 만들고 싶었다.' II. 개발 목적 서비스 개발에서 모듈화와 클린 코드의 중요성은 언급하지 않아도 알 수 있다. 클린 코드는 코드의 불필요한 재생산을 막아주어 안정적인 서비스 개발이 가능해진다. 그럼에도 프로젝트의 구조를 생성하고 기본 기능을 처음부터 다지기란 쉽지 않다. Github에는 템플릿 기능이 있다. 오늘은, Github를 활용하여 NodeJS + MySQL + ExpressJS + RESTApi... 를 포함한 기본 템플릿 프로젝트 개발 기를 소개하고자 한다. 서비스 레포는 아래 ..
# [프리스타일 생각] 5번째 이야기 지금, 나에게 편지를 써보고 싶다. 남들이 가지 않는 길을 가며 두려움에 떨고 있는 나에게, 괜찮다고 말해주고 싶다. 더 이상 길이 없으면 길을 만들라고, 누군가 그 길이 아니라고 떠들어대면 '모험 한 번 하지'라는 마음으로 나아가라고. 그렇게 전해주고 싶다. 1. 꿈꿀 수 있는 사람 나는 만나는 사람들마다 꿈이 무엇이냐고 물어본다. 그러곤 그 사람도 나에게 물어본다. '꿈이 뭐예요' 나는 답한다. 꿈꿀 수 있는 사람이요. | 안전한 세상을 만드는 사람이요. | CTO요. 멘트는 늘 바뀐다. 그렇기에 매일 꿈도 바뀐다. 내일을 또 무슨 꿈을 꿀까. 설레는 마음을 붙잡고 침대에 누워 꿈나라로 간다. 2. 마음을 가진 사람들과 세상이 끝날 때 사람들이 마지막으로 찾는 건..
DipokalHHJ
허형준