전체 글

전체 글

    블로그 썸네일 변경 및 구조화 프로젝트

    📂 동기 내 블로그를 들여다보면 썸네일 크기와 형식이 제각각이다. 대체 어떤 내용을 전달하려고 하는지도 명확하지 않다. 썸네일은 블로그의 첫인상인데, 보다 간결하고 명확하게 바꿀 필요가 있었다. 문제는 썸네일뿐만이 아니었다. 카테고리의 정리가 더 시급해 보였다. 프로그래밍과 컴퓨터 카테고리는 기술로 묶고, 잡다한 이야기나 불쑥 떠올라서 쓴 글들은 모두 생각 카테고리로 집어넣었다. 이때 회고 카테고리도 신설했는데, 회고를 글로 옮긴 적이 거의 없어서 이번 기회에 프로젝트 기준으로 회고를 작성하려 한다. 그동안 블로그를 운영해오며 생각이 정리되었다. 살아가면서 얻은 소소한 경험을 글로 기록한다는 일 자체가 참으로 값진 일이라는 걸 깨달았다. 그렇게 글 하나하나에 할애하는 시간은 점점 늘어갔고 비로소 글 전체..

    [ NodeJS ] fs 모듈 ENOTEMPTY: directory not empty, rmdir 에러

    fs모듈에서 폴더를 삭제하고 싶을 때 사진과 같은 에러가 뜨며 정상적으로 삭제되지 않는 경우가 있습니다. 에러 화면에서 볼 수 있듯이 폴더 내에 파일이 있으면 에러를 뿜게 됩니다. 이때 강제적으로 제거할 수 있는 방법이 있습니다. fs.rmdir(directory, { recursive: true, force: true }, (error) => { if (error) { return { isremoved: 0 } } else { return { isremoved: 1 } } }); { recursive: true, force: true } 를 설정으로 추가해주면 됩니다.

    Docker 자동 배포 시스템을 구축하며.

    😅 그동안의 비효율적인 배포 과정 기존 홈서버에 배포할 때 번거로운 과정의 연속이었다. 원격 접속으로 파일을 이동하고 서버를 종료시킨 다음 코드를 덮어쓰고 다시 실행하는 과정을 통해 코드를 업데이트할 수 있었다. 또한 깃허브와 같은 툴을 쓰지 않아 버전 관리에도 문제가 있었다. 이외에도 의존성이 깨지면 다른 소프트웨어에도 영향이 간다거나, 다운그레이드를 위해 앞선 과정을 다시 진행하는 등 문제점이 많았다. 코드란 유기체와 같다. 지속적으로 관리해주고 신경 써주지 않으면 찌꺼기(레거시 코드)가 필연적으로 발생하게 된다. 관리 방법 중 하나가 바로 배포의 자동화다. 이전 글에서도 설명했듯이, 몇 년 전에는 USB로 파일을 이동하는 만행(?)을 저지르기도 했다. 분명 당시에는 버전이 꼬이고 레거시 코드가 넘쳐..

    NodeJS 템플릿을 만들어보며

    https://devent.tistory.com/141 NodeJS 템플릿 개발기 I. 개발 동기 개발 동기를 3가지로 정리하자면 반복적인 코드 귀찮음 예) 로그인/인증 로직 라우터 몰빵 습관 개선 의지 내가 짠 코드 오픈소스화 '그동안 발로 짠 코드가 많아서 이번 기회에 devent.tistory.com 🖥 바퀴를 재발명하지 말자 앞선 글에 나와있듯이 자동차를 만들기 위해 바퀴를 재발명할 필요는 없다. 반복적인 일을 줄이기 위해서는 한 번 발명했던 기술을 공식화하여 누구나 쉽게 사용할 수 있도록 해야 한다. 마치 수학자들이 수학 공식을 만들듯, 개발자 또한 템플릿화를 해놓으면 편하다. 대부분의 상용 서비스들은 고만고만하다. 커뮤니티, 채팅 앱, 정보공유 서비스 등등 무수한 웹서비스들은 모두 프론트/백엔..

    비판은 창작에 비해 쉽다

    비판 없는 글은 없다. 독자로 하여금 글의 형식이 형편없거나 지루하다면 누구나 쉽게 비판할 수 있다. 그렇게 생긴 비판의 이유는 참으로 다양하다. 가치관이 서로 맞지 않아서 생기는 비판이 대부분이지만 간혹 가다 건전한 비판을 마주하기도 한다. 필자는 건전한 비판에 대해 "다시 생각하게 만드는 또 다른 의견"이라고 생각한다. 건전한 비판은 당사자로 하여금 생각하게 만든다. 글을 쓰다 보면 글의 목적과는 다른 방향으로 전개될 때가 허다하다. 이때 건전한 비판은 초점 잃은 문맥을 정확하게 꼬집으며 일맥상통하는 내용을 만드는 밑거름이 된다. 단적인 예로, 고등학교의 생활기록부가 있다. 생활기록부는 학교생활 전반의 이야기를 담은 기록물이다. 동시에 사람에 대한 객관적인 평가와 비판을 담고 있는 경우가 많다. 생활..

    불편함을 편하게 해결하려는 안일한 생각

    # [프리스타일 생각] 6번째 이야기 어떤 종류의 불편함이든 눈에 보이기만 하면 치워버리고 싶은 마음이 든다. 몇몇 작은 불편함은 금방 해결되지만 그렇다고 해서 모든 불편함이 사라지지는 않는다. 사라지지 않고 끊임없이 괴롭히는 불편함이란 개인이 해결하기 힘든 세상의 문제들이다. 그런 불편함을 편하게 해결할 수는 없다. 세상의 불편함은 불편하게 해결해야 한다. 발명의 대가였던 토머스 에디슨은 "인간의 가장 큰 약점은 끈기가 부족하다는 것이다."라는 말을 남기며 끈질김의 중요성을 강조했다. 무언가를 창조하거나 불편함을 해결하기 위해서는 끈기를 가지고 불편하게 노력해야 한다. 그렇게 얻은 편함은 불편했던 역사를 뒤바꿀 정도로 강력한 친구가 된다. 컴퓨터 기술이 발달하며 세상에 있는 수많은 불편함이 해결되었고 ..

    함께 일하기 위해 공부하는 사람.

    * 짧은 글 시리즈 4 보통 '학교 공부'라고 하면 방 안에서 혼자 책 펴고 열심히 쓰는 학생을 떠올린다. 그렇게 쌓인 지식은 100점을 받기 위해, 1등급을 받기 위해 쓰인다. 개인적이고 혼자만을 위한 공부다. 반면 공부라고 하면 너무나 포괄적이다. 탐험하는 여행가일 수도 독서모임에 참가하는 직장인일 수도 있다. 더군다나 공부의 목적 또한 개개인마다 천자 만별이다. 다양하고 스스로에 의한 공부다. 나는 어떤 공부를 해야할까. 혹여, 나의 얄팍한 지식이 조별과제에서의 피해가 가지 않을까. 함께 일하기 힘든 사람이지 않을까. 그런 일들을 최소화하고자 공부한다. 목적은 모두의 성장, 수단은 개인의 노력인 공부를 위해.

    이루지 못한, 이루고 싶었던 어제.

    * 짧은 글 시리즈 3 후회란 낙심 그 자체이다. 과거의 찬사에 대한 열망일 수도, 바꾸고 싶은 어제일 수도 있다. 그럼에도 과거의 순간은 지나갔다. 마치 카이로스의 뒷머리처럼 보이지만 잡을 수 없다. 결국, 잡을 수 없는 기회의 허상임을 깨달았을 때 비로소 후회한다. 지나간 순간의 집착은 미련은 만든다. 미련을 마음 속 깊이 품을 때면 과거를 떼어놓지 못하게 된다. 과거를 떼어놓지 못한 채로 현재를 살아가다 보면 미련은 점점 깊어진다. 깊어질 대로 깊어진 미련은 우리 마음속 한 구석에서 후회를 만든다. 후회하고 싶지 않다면 지나간 순간을 흘러보내는 연습을 해야 한다. 통제할 수 없는 과거를 딛고 일어서서 현재를 살아가자. 이루고 싶었던 어제를, 이루는 오늘로 만들기 위해.