전체 글

웹개발 및 프로젝트에서 배운것들을 정리하고, 공부하는 블로그입니다.
· NestJs
기존에 공부했던 nestJS강의에서 nestJs의 대략적인 구동 원리를 알아보았었는데, 해당 강의를 들으면서 최신버전과 다른 점이 많기도하고, 더 구체적으로 알고 싶어져서 공부를 더 깊게 해보기로 했습니다..! 오늘은 첫 시작이라 별로 새로운건 없었지만 그래도 오늘 배운 내용 중에 기존보다 좀 더 구체화 된 지식이 있어서 정리해보려 합니다! 1. NestJS요청 라이프 사이클 라이프 사이클이란 요청이 디바이스로부터 서버로 보내진 다음에 응답이 되어서 돌아오는 과정을 전부 표현한 것이라 볼 수 있습니다. 이거 머리어 새겨두고 공부하면서 어느부분을 하고 있는건지 상기시키며 하면 좋을 것 같습니다! 2. nest g resource 이전에는 nest g mo, rest g service 이런식으로 각각 따로따..
1. 가상 머신 1) 전통적 배포방식 물리적인 컴퓨터 한 대에 하나의 OS를 설치하고, 여러가지 프로그램을 설치합니다. 계정을 나눠 여러명의 사용자가 이용가능합니다. 하지만!! 어떤 프로그램을 설치했을 때 다른 앱에 영향을 미칩니다 하나의 OS를 유저들이 공유하기 때문입니다! 그래서 서로 독립적이지 못하죠! CPU, RAM도 유저별로 사용량을 지정할 수 없습니다! 2) 가상화 배포방식 가상머신을 기반으로 배포하는 것을 말합니다. 가상머신이란? 컴퓨터의 하드웨어를 소프트웨어적으로 구현한 것입니다. 전통적 배포방식과의 차이점은!! 계정을 나누는 것이 아니라 한 대의 컴퓨터로 여러 OS가 구동 가능하며, CPU,RAM을 설정하여 이를 수행할 수 있습니다. 여기에서 중간에 있는 Hyperviser가 하나의 시스..
오늘은 성공기 입니다! ㅎㅎ 지난 포스팅에서 다른 방법으로 ssl-key를 발급 받기로 했었죠? 마지막 남은 그 방법으로 ssl-key를 발급받고 어떻게 배포했는지까지 자세히 한번 포스팅해보도록 하겠습니다! 저희와 비슷한 환경에서 프로젝트를 진행했다면 많은 도움일 될거라 생각합니다 😁😁 1. Cerbot으로 ssl-key 발급받기: DNS TXT 방법 마지막 남은 방법은 dns txt 방법입니다... sudocertbotcertonly --manual --preferred-challenges=dns -d [구매한도메인] 이렇게 터미널에서 입력하면!! kimseeun@gimseeuns-MacBook-Air ~ % sudo certbot certonly--manual --preferred-challenges..
· NestJs
1. NestJs 기본 구조 지난 포스팅에서는 프로젝트 만들기까지 해 보았습니다. 그럼 만들어진 NestJs 프로젝트의 각 폴더 및 파일들이 어떤 역할을 하는 것인지 살펴보도록 하겠습니다! 프로젝트를 만들면 아래와 같이 파일들이 생성되었는데요! 하나하나 살펴볼게용 eslintrc.js 개발자들이 특정한 규칙을 가지고 코드를 깔끔하게 짤 수 있게 도와주는 라이브러리입니다. 타입스크립트를 쓰는 가이드라인을 제시해 주고, 문법에 오류가 나면 알려주는 역학을 합니다. prettierrc 주로 코드 형식을 맞추는 데사용합니다. 작은따옴표를 사용할지, 큰 따옴표를 사용할지, Indent값을 2로 줄지, 4로 줄지 등등,,, 에러를 찾는 것이 아닌 코드 포맷터 역할을 합니다. nest-cli.json nest 프로젝..
· NestJs
목차 1. NestJs란? 2. NestJs는 어떻게 구성되었나?? 3. NestJs의 철학 4. NestJs CLI설치하기 5. NestJs 프로젝트 만들어보기 요즘에 Nest.js에 관심이 생겨서 한 번 배워보려고 합니다 ㅎㅎ! 기존에 새싹에서 Express와 Spring을 다뤘었고 프로젝트도 Express로는 두번, Spring으로는 한번 해봤었는데 Nest.js는 새로운 기술이라서 도전해보고 싶었습니다! 요즘에 뜨고 있기도 하구요!! Express를 요즘엔 대부분 Nest.js로 바꾸는 추세더라구요! 좀 더 다양한 프로젝트에 활용할 수 있는 역량을 키우고 싶기도하고,,,, 그래서 오늘은 Nest.js에 대한 소개를 한번 해보려 합니다! 1. NestJs란? Nest(NestJs)는 효율적이고 확장..
http로 배포를 했었는데요,,, seo최적화 및 클립보드 링크복사기능을 위해서 https가 필요했는데,,, 그 과정이 꽤나 험난했어서 ssl키 발급부터 ssl키를 프로젝트 파일에 넣고, dockerfile을 만든 후 이미지를 업로드해서 배포하기 까지의 과정을 살펴보려 합니다... 1. 사전작업 우선, Https로 배포하기 위해 ec2의 인바운드규칙에서 80포트는 접근하지 못하게 하였고 443으로만 접근하게 해 두었으며,ec2 바깥에 로드밸런서로 80포트(Http)로 접근시 443(https)로 리다이렉트 되도록 설정을 해 둔 상태입니다. 그리고 탄력적 ip로 고정 public ip를 사용하였고 이 public Ip를 도메인주소의 A레코드에 연결해 두었습니다. 2. 배포환경 저희 프로젝트의 배포환경은 프..
· 네트워크
오늘은 HTTPS에 대해서 알아보도록 하겠습니다.... 사실 HTTPS를 설명하기 위해서 HTTP를 해왔던거라고 보시면 됩니다.. 왜냐하면 3차프로젝트에서 HTTPS로 배포해야하는 상황이었는데, 그게 잘 안되고 찾아볼 레퍼런스도 부족해서 얘를 완벽하게 이해하고 접근해야겠다는 생각에 다시 공부하기로하고 공부를 끝내고 적고있는겁니다,,,ㅎ 그럼 시작해 보겠습니당!! 일단 HTTPS?? 간단하게 말하자면 암호화된 HTTP입니다. 그럼 먼저 암호화가 무엇인지부터 알고 가는게 좋겠죠? 1. 암호화 암호화는 승인된 당사자만 정보를 이해할 수 있도록 데이트를 "스크램블"한 방법입니다. 이를 복호화하려면 송신자와 수신자가 서로 동의한 "key"가 필요합니다. 또한 이를 만들기 위한 키가 쓰이기도 합니다. ciphert..
· 네트워크
1. HTTP/2 2009년 구글은 HTTP/1.1의 한계를 극복하기 위해 SPDY 프로토콜을 개발했습니다. 이후 2015년, SPDY를 기반으로 하는 HTTP/2 프로토콜을 만들었습니다. (1) 바이너리 포맷 계층 애플리케이션 계층과 전송 계층 사이에 바이너리 포맷 계층을 추가합니다. HTTP 1.0은 일반 텍스트 메시지를 전송하고 줄바꿈으로 데이터를 나눴다면, HTTP 2.0은 0과 1로 이루어진 바이너리 데이터로 변경되었고, 더 작은 메시지가 프레임으로 캡슐화되어 전송됩니다. (2) 멀티플렉싱 단일 TCP연결의 여러 스트림에서 여러 HTTP 요청과 응답을 비동기적으로 보낼 수 있습니다. 이를 통해 HOL을 해결합니다. 1.1에서는 병렬요청을 하려면 다중TCP연결을 통해서 하고 일반적으로는 TCP연결..
SsenDev
0210