본문 바로가기

전체 글49

NestJS + Websocket으로 채팅만들기 #1 최근 Websocket을 활용하여 사이드프로젝트를 진행한것이 있다. 추후에 오픈소스로 공개 할 예정이지만 kimpga 를 클론코딩하여 만든 https://hsct.io 이다. Websocket Client를 활용하여 서비스 구성하는것은 너무 쉽고 재미있는 경험이었다. 하지만 아직 Server의 입장에서 Websocket을 다뤄 본 경험이 거의 전무하다 싶다. 빠르게 NestJS를 활용해서 채팅을 만들어 볼까 싶었다. NestJS로 Websocket 서버 구축하기 만들고 난 지금 보면 너무 간단하지만, 처음 Docs를 보았을때 내가 생각하는 Websocket이 맞나 싶었다. 👉 [NestJS Docs - Websocket] NestJS Docs에 Websocket 항목이 있는것을 알고 있었으므로 당연히 W.. 2021. 7. 16.
갑작스런 npm의 부재 (zsh: command not found: npm) 오늘 회사에서 퇴근하고나서, NestJS Websocket을 공부를 위해 NestJS에 Websocket을 설치하던 중 오류가 발생했다. nestjs/common 버전이 낮다는것 만 같아 아무 생각 없이 npm update -g nestjs 위 명령어를 입력했다. 아무 문제 없이 업데이트가 완료되었다고 나오고, 다시 npm install 을 통해 @nestjs/websocket 을 다운로드 시도를 했는데, 위 오류가 발생한것이다. 처음 맥북을 쓰면서 리눅스에 프로그램 관리가 어렵다고는 익히 들었던 것 같은데 막상 오류가 발생하니 땀이 뻘뻘났다. 예전에 설치할때 아무것도 모르고 homebrew가 아닌 다른 wget인가 독특한 방식으로 다운받았던 것 으로 기억하고있어 node에 오류가 발생하면 큰일이라고 생.. 2021. 7. 15.
보안에 대한 오늘의 고찰(GraphQL, 파일다운로드) 오늘은 RSTEAM CMS 제작 중 보안에 대한 의견차이로 인해 대표님과 투닥투닥하는 일이 있었다. 일단 논점은 회사에서 자체적으로 제작하고 있는 CMS에 들어가는 파일 다운로드 문제이다. 우리 회사에서 제작하고있는 CMS는 Backend 에서는 NestJS + GraphQL, Frontend에서는 React를 활용하고, JWT 토큰을 통해 User 를 식별한다. 따라서 프론트엔드에서 어떤 데이터를 받기 위해 요청을 하기 위해서는 Apollo Header에 JWT 토큰을 입력해서 전송을 해줘야 하는 것이다. 다만 예외적인 부분이 있다. GraphQL특성상 파일 업로드를 할 수 없고, 정해놓은 router를 통해 접속했을 때 검증을 진행하고, 해당 파일정보를 res.send 해주는 작업이 불가하다. 오늘 .. 2021. 7. 14.
비전공, 고졸 그리고 웹개발자5 절망 인사관리자는 정말 일을 잘하는것같다. 나에게 연락이란 연락은 한통도 오지 않았다. 이제는 패닉보다는 현실을 받아들이게 되는 나였다. 고졸자에 비전공인 내가 php로 프로그램을 만들어봤자 어떤것을 만든다고... 그래서 일단 돈도 필요하니 알바천국에서 쇼핑몰 관리 알바에 지원해 면접까지 보았고 그 다음주 월요일부터 일하기로 약속을 잡아뒀었다. 마음을 비우고 코드스테이츠에 대해 더 자세히 알아보고 군인시절 결제했던 리액트, 자바스크립트 동영상강의를 듣고 있었다. 그러던 가운데 두통의 전화가 왔다. 한통도 아니고 두통의 전화가 연달아 왔다. 두개의 다른 회사 그리고 같은날 면접약속이었다. (알바면접 화요일 오전, 회사 면접 전화 두통 화요일 오후, 면접예정일 목요일, 알바 첫출근 예정일 다음주 월요일) 사.. 2020. 3. 30.
비전공, 고졸 그리고 웹개발자4 자신감, 열정 나는 결국 취업을 해서 많은 경험을 쌓기로 마음을 먹게 되었다. 이것저것 사이트를 만들어 보았고, 지인의 홈페이지 제작 의뢰도 해보았으며, php로 시스템을 의뢰받아 제작해 납품도 해 보았다. 이 정도 경험과 이정도 열정이면 어디를 가서도 인정받고 일을 잘할 수 있을 것이라 생각했다. 사실 지금 내 나이 때에 이 정도 열정을 가지고 일을 하려는 사람은 내 생각에 얼마나 있을까 싶다고 생각했다. 그래서 곧바로 내가 항상 일거리를 알아보던 알바몬, 알바천국을 뒤져보았다. 드문드문 개발자를 구하기는 한다. 하지만 내가 생각하는 취직과는 거리가 멀었다. 한 프로젝트만 한다던가, 내가 궁극적으로 작업하고 싶은 백엔드를 구성하기보다는 프론트엔드 구성이 우선이었고, 가장 큰 문제는 그들은 신입이 아닌 .. 2020. 3. 29.
비전공, 고졸 그리고 웹개발자3 고졸자의 현실 군대에서의 나는 훌륭한 프로그래머였다. 어디서 배우지도 않았고, 좋아하는 프로그래밍을 하면서 군대 월급 외에 추가로 용돈까지 벌고 있었기 때문이었다. 그래서 남들보다 다른 사람인 것만 같았고, 인생의 자신감(?)도 계속 올라갔다. 그리고 좋아하지 않는 학교를 다니며 시간과 돈을 낭비하기보다는 복학을 하지 않고 나의 길을 찾아가기로 마음을 먹게 되었다. 개발자로서 그리고 새로운 사업을 준비하고, 회계와 경영을 배워 사업가의 길로 가자 하면서 말이다. '전역하면 셀러 오션에서 프리랜서로써 업무를 도맡아 하면서 용돈 벌어가면서 열심히 공부해야겠다!' 이게 군대에 있을때 나의 생각이었다. 지금 생각해보면 정말 단순한 생각이었고, 현실성이 없다. 현재 군인이거나, 고등학생이면서 대학의 길을 밟지 않.. 2020. 3. 28.
비전공, 고졸 그리고 웹개발자2 회고 어렸을 때부터 나는 프로그래밍을 좋아했다. 처음 접하게 된 계기를 생각해보아도 신기하다. 한 초등학교 3학년쯤이었을까? 아빠가 야간대학을 다니시며 공부하시던 두꺼운 책을 발견했다. 프린트를 해서 묶어놓은 형태의 종이 뭉텅이였는데 왜인지는 모르겠으나 한번 펼쳐보았다. 종이에 가장 앞장에 적혀있던 문구는 HTML 무엇인지도 몰랐다. 그러나 무언가에 이끌린 듯 책을 넘겨보았고 푹 빠져서 보게 되었다. 그 책에 적혀있던 내용들은 정말 단순했다. 글씨에 핵을 변경하는 방법, 글자 배경색 설정 방법, 페이지 배경 설정 방법과 같이 정말 HTML 태그의 기본 중의 기본이었다. 어쩌면 이렇게 기본중의 기본인 내용을 발견해서 푹 빠지게 된 것일지도 모르겠다. 그 책에서는 코딩을 메모장으로 가르쳐 주었다. 에디터라는.. 2020. 3. 27.
비전공, 고졸 그리고 웹개발자1 시작 나는 대학교 중퇴자이다(아직 휴학 상태이지만). 즉 현실적으로 그냥 고졸이다. 대학교에 발을 디뎠던, 캠퍼스 생활을 해 보았던, 교수님의 과제를 얼마나 했든 간에 상관없다. 졸업을 하지 않았으면 어쨌거나 저쨌거나 이력서상 학력란에 적혀있는 것은 고졸일 뿐이다. 나의 상태 물론 고졸자 출신인 개발자나 다른 직종 업무자분들도 많을 것이다. 다만, 그분들은 전문적인 기술을 고등학교에서 배워 사회에 나온 기술자분들이시고, 나는 그냥 인문계고등학교에서 열심히(?) 공부만 하다가 대학에 진학을 해 사실상 기술조차 부족한 그냥 고졸자 청년일 뿐이었다. 어쩌다? 그럼 나는 어쩌다가 대학을 포기하고 사회 초년생으로서 도전의 길을 택하게 되었을까? 사실상 이에 대해 진지하게 생각을 하게 된 것은 군대에서 미래에 대해.. 2020. 3. 26.
프로그래밍 무료 인터넷 강의 추천해드립니다. '코딩 야학' (feat.생활코딩) 저는 XETOWN에서 눈팅을 하는것을 좋아합니다. 프로그래밍을 좋아하기는 하지만 막상 만들고싶어도 어떻게만드는지, 또 내가 무엇을 모르는지를 모르기때문에 공부를 하고싶어도 막상 공부를 시작하지도 못하는거지요... 이렇게 한없이 시간만 죽죽흐르던 중 XETOWN에 흥미로운 글이 올라왔어요. (https://www.xetown.com/square/620689) '배움이란 좋군요.. ㅎ'라는 제목으로 프로그래밍을 배우고싶은 욕망을 자극시키는 글이 올라온거죠. 내용을 보니 딱 제가 보면 좋을것같더라구요. 그래서 저도 '하늘희님의 소개글'(클릭)을 보게 되었습니다. 구글과 생활코딩이 함께해서 '코딩 야학' 이라고 프로그래밍 수업을 무료로 진행한다고하네요. 저로써는 엄청 감사한일이었죠. 제가 프로그래밍을 배우기 위.. 2017. 6. 11.