분류 전체보기 썸네일형 리스트형 NestJS에서 HTTP Method Get, Head 등록 우선순위 문제를 알아보자 #HTTP #GET #HEAD HTTP Method인 GET과 HEAD를 사용하여 파일의 메타정보(예: 용량)를 확인한 후 다운로드하는 로직을 개발하던 중, HEAD 요청을 보내더라도 GET 핸들러가 호출되는 현상을 발견하였다. 해당 라우팅 로직은 GET과 HEAD 요청 모두 S3 Bucket으로부터 presigned URL을 생성한 뒤, 클라이언트를 해당 URL로 리다이렉트하는 방식이다. HEAD 요청임에도 GET 핸들러가 실행되는 것이 이상하여 리서칭을 진행한 결과, StackOverflow의 이 글과 Express 공식 문서에 따르면 Express 4.x에서는 "first come, first served", 즉 먼저 정의된 라우트가 우선 처리된다는 규칙이 있음을 확인할 수 있었다. 실제 코드를 다시 확인해보니 GET 메서드가 .. 더보기 막연한 환상을 가진 개발자의 스타트업 좌충우돌 경험기 주의이 글은 스타트업에 환상을 품고 있었던 한 개발자가 실제로 스타트업에 입사한 후 겪은 경험의 일부를 담고 있다.모든 스타트업이 이 글에서 다루는 내용과 같지 않으며 필자가 직접 겪은 주관적인 경험에 기반한 이야기이므로, 과하게 몰입하거나 일반화하지 않기를 바란다.필자는 현재 특정 산업 분야에서 1위를 차지하고 있는 스타트업에 재직중인 개발자다. 입사 전에는 스타트업에 대한 막연한 기대와 환상이 있었다. 우연히 면접 기회를 얻게 되었고 입사까지 하게 되었다. 입사한 후 느낀 스타트업의 분위기는 기존에 경험했었던 회사들과 사뭇 달랐다. 이름이나 직책 대신 영어로 된 닉네임을 사용했고 '싱크(Sync)', '컨텍스트(Context)', '그레이 존(Gray Zone)' 같은 낯선 영어 표현들이 업무 곳곳에.. 더보기 2021년 08월 회고록 8월을 되돌아보며 얼마만큼 계획했던 일을 진행했는지 체크하기 위해 회고록을 작성한다. 팀 내 스프링 스터디 7월에 시작했었던 스터디를 꾸준히 진행하고 있다. `토비의 스프링`이란 책을 읽으며 배웠던 점은 내가 안다고 자부했던 생각이 착각이었다는 것과 항상 겸손하게 살아야한다는 생각이 들었다. 스터디가 중반 단계까지 진행되었으며 이번 스터디의 목표는 추석 전까지 토비의 스프링책을 완독하는 것이다. 일일 목표 계획 및 달성하기 평소 개발에 대해 여러 이야기를 나누는 개발자 친구가 있다. 이 친구는 머신러닝 분야를 종사하는데 항상 성장에 목말라있는 친구이다. 이 친구와 이야기하는 도중 어떻게 하면 성장할 수 있을까라는 주제에서 비롯된 계획인데 한번 실행해보려고 한다. 노션을 통해 계획달성표를 작성하여 꾸준히 .. 더보기 2021년 07월 회고록 8월이 끝나는 입장에서 7월 회고록을 작성한다는게 머쓱한 일이지만 자신의 성취를 다시 되돌아보는 일이 얼마나 중요한지 알고 있기에 늦게나마 회고록을 작성한다. 팀 내 스프링 스터디 7월에는 회사 팀 내 사원들과 함께 스프링 관련된 스터디를 진행하였다. 스프링을 사용하고 있는 입장에서 스프링에 대해서 확실하게 알고 활용하기 위해서 팀 시작한 스터디이다. 스프링의 바이블이라고 하는 토비의 스프링이라는 책을 스터디 도서로 지정하여 진행하는 방식이며 매주 스터디 당일날 발표할 사람을 뽑는 방식으로 진행하였다. 이펙티브 자바 전에 한번 읽었던 이펙티브 자바를 재 정독을 시작하였다. 검색하다가 우연히 `자바봄`이라는 스프링/자바 관련 블로그를 찾았는데 책을 읽는 방식에 대해 깊은 감명을 받아 시작하게 되었다. 매주.. 더보기 2021년 06월 회고록 5월 회고록에서 목표했었던 계획을 6월 회고록에서 다시 한번 되짚어 보려고한다. 아래 그림은 5월 회고록 당시에 작성했었던 목표였다. 이루려고 했었던 목표 중에 RealMySQL, AWS 서버구축, 자바8 인 액션 책 읽기 이렇게 3가지를 실패했었다. 7월 회고록에는 목표했었던 책을 다시 읽어보려고 한다. 더보기 Postgresql 설치하기 리눅스 CentOS 7에 Postgresql을 설치해야하는 일이 생겼습니다. 설치하는 과정을 복습하는 의미에서 포스팅 하려고 합니다. CentOS 설치하면 yum 명령어가 작동하지 않는경우가 존재합니다. yum의 접속 url이 잘못되어 있거나 등 여러가지 이유가 존재합니다. 먼저, dns 서버 IP가 설정되어있는지 확인합니다. 만약 아무것도 없다면 search com 이하 부분을 추가해주세요 vi /etc/resolv.conf search com nameserver 8.8.8.8 # 구글 도메인 서버 nameserver 168.126.63.1 # KT 서버 nameserver 164.124.101.2 # LG 파워콤 서버 다음은 yum의 레포지터리를 수정하겠습니다. /etc/yum.repos.d/Cent.. 더보기 [토이 프로젝트] 다중 채팅 프로그램 구현(1) 이전 개발을 진행하다가 중단되었던 토이 프로젝트를 보완하여 다시 진행하려고 한다. 목표는 다음과 같다. 1. 회사에서 사용하는 카프카(MessageQueue)에 익숙해지기 2. 테스트를 중심적으로 개발해보기(무조건 TDD를 하겠다는건 아니다) 다음은 토이 프로젝트에 필요한 서버리스트이다. 1. CI/CD를 위한 Jenkins 서버 1대 2. NginX 웹서버 1대 3. 브라우저, 모바일과의 소켓연결을 위한 소켓서버 3대(모바일은 추후 고려해야할듯 싶다) (Netty 프레임워크 사용예정) - 클라이언트가 서버로부터 채팅 메시지를 가지고 위한 방법 고려 4. Messaging Queue 역할을 하는 주키퍼 1대, 카프카 1대 5. Api 역할을 하는 톰캣 WAS 서버 1대 6. 이미지를 저장할 수 있는 AW.. 더보기 2021년 04월 회고록 4월 1일부터 현재 회사에 입사한 후 회사업무, 개인프로젝트 리팩토링, 알고리즘 스터디를 진행하느라 정신없었던 그리고 빠르게 지나갔던 한달이었다. 알고리즘에 대해서 회고해보자면 BOJ와 프로그래머스의 문제유형은 많이 다르다고 느꼈다. 프로그래머스 문제를 풀었을 때 익숙하지 않아 해매는 부분도 많았지만 곧 잘 적응하여 수월하게 풀었던 것 같다. 4월말부터 문제풀이와 회사업무를 진행하며 자바8 문법(람다 등)에 나름 익숙해진 것 같아 자바가 아닌 자바스크립트로 문제를 풀기 시작했다. ( 나중에는 코틀린으로 풀거다 -_- ) 자바스크립트로 문제를 풀며 느낀 장단점이 존재한다. 장점 함수형 프로그래밍을 통해 가독성과 간결함을 동시에 잡을 수 있었다. ← 이 부분은 자바8의 도움이 큰것 같다. MDN이 한글화되어.. 더보기 이전 1 2 3 4 ··· 8 다음