전체 글

전체 글

    NodeJS 템플릿 개발기

    I. 개발 동기 개발 동기를 3가지로 정리하자면 반복적인 코드 귀찮음 예) 로그인/인증 로직 라우터 몰빵 습관 개선 의지 내가 짠 코드 오픈소스화 '그동안 발로 짠 코드가 많아서 이번 기회에 좋은 코드를 짜는 습관을 만들고 싶었다.' II. 개발 목적 서비스 개발에서 모듈화와 클린 코드의 중요성은 언급하지 않아도 알 수 있다. 클린 코드는 코드의 불필요한 재생산을 막아주어 안정적인 서비스 개발이 가능해진다. 그럼에도 프로젝트의 구조를 생성하고 기본 기능을 처음부터 다지기란 쉽지 않다. Github에는 템플릿 기능이 있다. 오늘은, Github를 활용하여 NodeJS + MySQL + ExpressJS + RESTApi... 를 포함한 기본 템플릿 프로젝트 개발 기를 소개하고자 한다. 서비스 레포는 아래 ..

    남들이 가지않는 길을 가려는 나에게

    # [프리스타일 생각] 5번째 이야기 지금, 나에게 편지를 써보고 싶다. 남들이 가지 않는 길을 가며 두려움에 떨고 있는 나에게, 괜찮다고 말해주고 싶다. 더 이상 길이 없으면 길을 만들라고, 누군가 그 길이 아니라고 떠들어대면 '모험 한 번 하지'라는 마음으로 나아가라고. 그렇게 전해주고 싶다. 1. 꿈꿀 수 있는 사람 나는 만나는 사람들마다 꿈이 무엇이냐고 물어본다. 그러곤 그 사람도 나에게 물어본다. '꿈이 뭐예요' 나는 답한다. 꿈꿀 수 있는 사람이요. | 안전한 세상을 만드는 사람이요. | CTO요. 멘트는 늘 바뀐다. 그렇기에 매일 꿈도 바뀐다. 내일을 또 무슨 꿈을 꿀까. 설레는 마음을 붙잡고 침대에 누워 꿈나라로 간다. 2. 마음을 가진 사람들과 세상이 끝날 때 사람들이 마지막으로 찾는 건..

    대입 시스템의 다양성

    I. 다양성의 몰락 흔히 대한민국 교육을 떠올릴 때 대입을 위해 공부하는 학생들을 떠올리기 십상이다. 일례로 2015년부터 매년 간 1인당 월평균 사교육비가 증가하며 대입을 위한 교육이 성행하고 있다는 사실을 알 수 있다. 사교육의 성행과 대입을 위한 교육의 획일화는 사회적 가치의 다양성을 억압하며 하나의 가치만 추구하도록 조장한다. 여기에서 하나의 가치는 대학 입시제도를 위한 개인의 능력으로 정의 내릴 수 있다. 학교는 학생들 스스로 다른 방법으로 살아갈 수 있는데도 대학만을 추구하며 입시 교육을 가르친다. 이렇듯 개인의 능력을 나타내는 획일화된 지표 가운데 대표적인 '생활기록부'와 '내신, 수능 등급'을 위한 교육이 교육계를 포함하여 사회 전반에서의 핵심 가치로 자리 잡고 있다. 사회가 단일화되어 모..

    VSCode 파일/폴더 아이콘 직관적으로 바꾸기

    VSCode에서 제공하는 기본 폴더에는 아이콘이 없습니다. VSCode의 익스텐션 기능을 이용하여 보다 직관적인 아이콘을 설정해주도록 하겠습니다. 먼저 왼쪽 사이드바에 익스텐션 바를 클릭해줍니다. 검색창에 Material Icon Theme를 입력하고 Install 버튼을 클릭해줍니다. Material Icon Theme을 클릭해주면 적용이 완료됩니다.

    층간소음에 대처하는 효과적인 방법

    층간소음은 누구에게나 괴롭다. 괴로움이 지속되면 대상에 대한 증오로 증오는 화로 번질 수 있다. 그렇다고 이러지도 저러지도 못하는 상황은 더한 괴로움으로 찾아온다. 그럼, 층간소음을 즐길 수 있을까? 층간소음을 재미있는 또 하나의 취미로 만들 수는 있을까? 그래서 내가 쓰고 있는 몇 가지 방법을 공유하고자 한다. 시작하기에 앞서 이 방법이 적용되기 위한 전제조건을 설명하자면, 화를 내지 말아야 한다 집중력이 좋아야 한다 최대한 긍정적으로 생각할 수 있어야 한다 무언가에 미쳐본 경험이 있어야 한다 1. 귀를 열기 우선 다들 아시다시피 층간소음의 종류에는 여러 가지가 있다. 층간소음에 있어 가장 유명하고 시끄러운 발 뒤꿈치 소리부터 의자 끄는 소리, 아기 우는 소리, 강아지 짖는 소리, 시끄러운 대화 소리,..

    [ NodeJS ] Express에서 다중 라우터 사용하기

    I. 라우팅 소개 라우팅은 URI의 정의와 클라이언트 요청에 응답하는 표현 방식을 말한다. 라우팅을 잘 사용하면 견고한 프로젝트와 개발 생산성이 향상될 수 있다. 이 글에서는 다중 라우팅을 설정하는 방법에 대해 알아보려 한다. 기본 디렉토리/파일 형식은 다음과 같다 app.js - api/ - api.js - routes/ - users.js II. 설정 방법 라우팅을 사용해서 아래와 같이 요청을 보내고 싶다면 어떻게 해야 할까. GET /api/users/1 router.get('/api/users/:user_id', users.load); 위와 같이 무식하게 할 수 도 있지만 라우팅으로 분리하여 각 파일별로 기능을 나눌 필요가 있다. app.js const express = require('expre..

    2021년을 마무리하며.

    새해 같지 않은 새해가 오며 올 한 해 동안 있었던 일들을 정리해보려 한다. 시작하기에 앞서 2021년 초반 기획했었던 도전과제를 완수했다는 점에서 지난 해 보다 계획적으로 살았다는 점을 강조하고 싶다. 그런 면에서 2021년은 인생의 터닝 포인트였을 뿐 아니라 정체된 도전의 늪에서 헤어 나올 수 있는 자신감을 준 고마운 해였다. 2021년을 돌아보며 프로그래밍/보안, 심리적 변화, 인간관계, 독서 및 취미활동을 주요 카테고리로 정리하여 나열해본다. 1. 프로그래밍 및 보안 1일 1프로그래밍을 꾸준하게 실천하며 스스로에게 꾸준함을 증명할 수 있었다. 복잡한 제품의 개발을 위해 알고리즘 분야에서의 전문성을 키워야겠다는 생각이 들었고 다음날부터 매일 꾸준하게 한 문제 씩이라도 풀자는 마음으로 임하였다. 그 ..

    장난과 진심 사이를 오갈 수 있는,

    I. 농담과 진심 사이, 부자연스럽게 흔히 너무 진지한 사람을 볼 때 '저 사람 너무 컨셉잡는거 아냐?'라는 생각이 들 정도로 부자연스럽게 느껴질 때가 있다. 한 마디로 어정쩡하게 무언가에 진심인 사람들은 저게 장난인지 진심인지를 가늠할 수 없다는 말이다. 이렇듯 그 사람이 전하고자 하는 바를 적절하게 전달하지 못하면 오해를 부를 수 있다. 오해는 그 사람에 대한 편견을 낳기에 우린 그 사람이 무슨 말을 하려 하는지 명확하게 알 필요가 있다. 그전에 하려는 말이 장난인지 아니면 진심인지를 먼저 파악해야 한다. 장난과 진심은 양 극단에 위치한 대화 감정이다. 장난의 경우 하려는 말의 의도를 비꼬아 웃음을 자아내거나 행동을 과장되게 표현하며 그 모습이 우스꽝스럽게 느껴지도록 하는 말 그대로 '장난'이다. 반..