목록전체 글 (108)
컴퓨터를 공부하고자 마음먹은지 N일차
기술을 도입하게 된 계기 우선 저 로고부터 봐라 무려 치타다. 프레임워크나 기술들의 로고는 귀엽거나 단순한게 많다. 그런데, fastify는 무려 핵간지 치타다. 그런데 그저 내가 로고만 멋있냐고 도입했냐?(사실일정부분 차지함) 이름에서 느낄 수 있겠지만, 정말 단순히 빨라서이다 스택오버플로우 에서도 정말 빠르다고 했기 때문이다. 기술선택의 이유부터 프로젝트절망의 향기가 스멀스멀 느껴지는 사람이 있을거다.. 하지만 똑같은 프레임워크에서 express와 fastify가 양립할 수 있다면, 당연히 fastify를 선택하는게 맞다고 나는 생각했다. 속도가 두배나 차이가 나기 때문이다. 하지만, 유명한 프로젝트에서 fastify를 안고른 이유들이 다 있었다. 커뮤니티 규모의 차이 가장 큰 이유를 꼽자면, exp..
nest-fastify 앱을 dockerize해보자! 뭐 사실 거창한건 없다 ㅎ 이거때문에 장장 한시간가량은 날렸다. 내 삽질을 공유하고 싶어서 써본다. 우선 이번 문제는 nestjs 서버앱을 dockerize할려고 했을 때 일어난 문제였다. 아무리 docker포트와 로컬포트를 연결해줘도 응답이 뜨질 않는거시었다. 이게 fastify의 문제였는데, 해석이 딸려서 왠진 모르겠다 ㅎ.. 어떻게 해결했는지 지켜보시라! 우선 nest앱을 만들어준다. 빠르다고 동네방네 소문난 fastify를 쓸려고하는데, nest의 아름다운 규칙과 함께 쓰고싶다 이말이다. nest앱에 fastify를 적용시키는건 증말 간단하다. 공식문서에서 정말 친절하게 설명돼있기 때문이다. 아차차 혹여나볼 nest뉴비를위해 nest cli로 ..
왜 이제 쓰냐? 요즘 블로그 관리가 너무 소홀했다. 그래서 회고라도 후다닥쓸려고 달려왔다. 다른 동기들은 다 썼는데 나만 안썼어잉! 누가더쎔은 어떤 프로젝트인가? 누가더쎔레포에 가면 친절히 설명이 있다. 퍼블릭 레포로 바꿨다. 대립되는 두 단어를 주제로 의견을 내고 투표를 하는 간단한 사이트다. 어디에 투표했는지에 따라 댓글이 랜더되는 방향이 다르다구!! 프론트형님들 만만세! 니가 한일은 뭐임? 나는 aws를 총책임하에 클라이언트와 서버 모두 배포를했고, 몇몇 백엔드로직을 만들었다. 레포 프로젝트보드에 가면 내가 어떤코드를 작성했는지 나온다. 겪었던 문제 및 해결 진짜 많았다 그중 가장 기억에남는건, 특정 데이터를 던져줄때 이걸 join을 해줘야할지 말아야할지 고민을 많이한거같다. 데이터베이스에 저장되는..
이전: s3(정적호스팅)에적용하는법 ec2 서버에 https적용하는법 인증매니저를 통해 인증서만 제대로 발급받아줬다면, 이전 s3에 적용하는것 처럼 간단하다. 우선 도메인과 인증서를 발급받았다고 가정한다. 로드밸런서 설정 ec2 로 가서 좌측 탭의 로드밸런서를 눌러준다. 처음 생성한다면, 나처럼 텅텅 비어있을것이다. 위에 로드밸런서 생성을 눌러주자. 어플리케이션 로드밸런서생성을 선택해준다. 1단계에서 수정할 것은 리스너와 가용영역이다. HTTP는 기본적으로 설정이 돼있으나, HTTPS를 따로 추가해줘야한다. 여기서 가용영역부분이 헷갈릴거다. 아무거나 선택해도 좋지만 반드시 선택해야할것은, 적용할 인스턴스가 사용중인 가용영역은 반드시 포함해야한다. 2단계로 넘어가서 ACM에서 인증서 선택을 선택해준다. 자..
AWS s3에서 https적용하는법 우선 s3에 버킷을 만들고 빌드한 프로젝트를 넣으면, 엔드포인트를 제공해주는데, 이 엔드포인트는 기본적으로 https를 제공하지않는다. 그런데 요즘 시대에 https로 되어있지 않은 사이트를 찾는게 더 힘들다. 그래서 서버도 https통신을 써야하는것은 물론, 클라이언트도 반드시 사용을해줘야, 중간자공격을 막을 수 있다. 다행히도 s3은 매우쉬운방법으로 https통신을 쓰도록 만들 수 있다. 버킷설정은 생략하겠다. 도메인 발급받기 우선 https를 사용하기 위해선, aws에서 적당한 도메인을 생성해줘야한다. 서비스 검색을 통해 Route53 을 가보자. 도메인 등록을 눌러준다. 제일 싼 click으로 해주자... 예행연습이니까 뭐.. 눈물을 머금고 결제해준다. 여차저차..
이전글: api만들기 (express) 구조 설명 우선 내가 만들 api에 사용할 메소드는, get post put 그리고 delete메소드다. 보안상 문제 해결하기 기존 http모듈을 쓰면, password를 실어서 post요청을 보낸다면, 중간자 공격 에 취약하다. 중간에서 데이터를 가로챈다면, 게시글 삭제나, 수정 에 이용한 password정보가 그대로 탈취될것이다. 그래서 express에서 https모듈을 사용하여 취약한 보안을 보충한다. https모듈을 사용할 때에는 mkcert를사용해서 인증서를 받아올 수 있다. 123456789101112131415161718192021222324252627282930313233const express = require("express");const serv..
node.js로 CRUD api만들기 (express) node.js로 API를 만들 때 보통은, 생성되어있는 데이터를 요청을받아 던져주거나, 기존에 있던 데이터에 새롭게 생성하는 메소드를 먼저익힌다. 하지만 http통신을 통해 업데이트요청과 특정데이터의 삭제요청도 가능한데, 그것을 좀더 섬세하게 알아보고 간단한 api를 만들어보자. 거시적인 구조 우선 내가 만들 api에 사용할 메소드는, get post put 그리고 delete메소드다. HTTP의 각메소드의 용도에 맞게 서버를 만들어보자. GET '/' 게시물 불러오기 클라이언트가 GET요청을 보내면 내가 원하는 서버응답은, 게시물에 담긴 내용들이다. 내가 바라는 json형태로 된 게시물 폼은 이러하다. { "userId": "ㅇㅇ",..
문제링크 Reference 이 문제는 저의 혼자힘으로 결국 풀지못했습니다.. 이 블로그 의 코드를 전적으로 참조함을 명시합니다. 문제설명 이 문제는 이전에도 포스팅한 DP문제이다. DP도 DP나름 기초적인 문제들도 있지만 이문제는 나에게 상당한 시련을 주었다. 나름 DP대로 풀겠지 했는데, 백트래킹을 이용해 접근하고 있었다. 문제해결 전략을 좀더 몸에 녹이고나서 고난이도 문제를 접해야겠다. 물론 DFS로 해결한 코드도 있다 경의를 표합니다. 우선 대략적인 문제접근방식은 이러하다. 숫자 한개를 사용했을 때 표현가능한 숫자는 N하나 숫자 두개를 사용했을 때 표현가능한 숫자는 NN 숫자 한개사용했을 때 (+ - / *) 숫자 한개사용했을 때 숫자 세개를 사용했을 때 표현가능한 숫자는 NNN 숫자 한개사용했을 ..