본문 바로가기

전체 글

(128)
HTTP vs HTTPS 의 차이와 연결과정 http와 https의 차이점에 대해서 내가 알고있는건 http 는 네트워크 상에서 정보를 누군가가 마음대로 조회, 수정이 가능하고 https는 설치 및 인증서를 유지하는데 추가 비용이 발생한다. 정도만 알고 있었다. 아주 자세한 통신의 내용까지는 아직 알지 못하지만 간략하게라도 알게된 순서를 정리해 둔다. HTTP 란 ? 서버/ 클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜로 80번포트를 사용한다. HTTP 서버가 80번 포트에서 요청을 기다리고 있으며 클라이언트는 80번 포트로 요청을 보낸다. HTTPS 란 ? ( Hyper Text Transfer Protocol Secure ) 데이터 암호화가 추가된 프로토콜로 443번 포트를 사용한다. 연결과정 1. 클라이언트(브라우저)가 서버로 최초..
< 중간 퀴즈 > Class에 대한 중간퀴즈 / class 의 constructor란? 1. class 의 constructor란? 2. 정적메소드란? 3. 상속의 개념? 4. 추상 클래스란 무엇인가? 5. 싱글톤 클래스의 개념? 정답 1. class 의 constructor란? class의 constructor는 예약어이다. 해당 클래스와 연결되며 객체가 생성되면서 실행되는 클래스에 기반해 만드는 모든 객체에도 연결되는 함수이다. 이를 활요해 구축하는 객체에 대한 초기화 작업을 수행할 수 있다. 2. 정적 메소드란? 클래스를 기반으로 생성된 객체가 아니라 클래스에서 직접 호출하는 메소드입니다. 3. 상속의 개념? 상속을 사용하면 일부 공통적인 기능을 공유하면서 특수화된 청사진을 생성할 수 있다. 4. 추상 클래스란 무엇인가? 인스턴스화 될 수 없고 확장되어야 하는 클래스이다. 5. 싱글톤..
<TypeScript, JavaScript> Class 란? -2. 클래스, 인스턴스화와 상속의 차이 / super() 이전 글에서 new 키워드로 클래스를 인스턴스화 해서 설계도에 비교하는 것 까지 정리를 했었다. 이번에는 상속에 대해서 정리해보자. 그리고 상속을하면서 super() 가 도대체 무엇인지 궁금했었는데 이번 기회에 정리를 하게 되었다. 단순히 ' 상속 = 부모 클래스를 복사해서 쓰는 것 ' 이상으로 상속이란? 다른 클래스에 있는 프로퍼티와 메소드를 extends 키워드를 이용해 상속한 다음 잠재적으로 새로은 프로퍼티와 메소드를 추가한다. 상속을 하면 상속의 대상을 부모클래스 상속을 받은 대상을 자식 클래스라고 한다. +) 자식클래스를 서브 클래스라고도 한다. 그리고 상속과 인스턴스화의 가장 큰 차이점은 정적 메소드에 접근할 수 있느냐 없느냐이다. 일단 간단한 클래스를 만들고 그 클래스를 상속받은 클래스를 써..
<Nestjs> nestjs 에서 prisma 사용하기 / Sequelize, TypeORM 대신 / npx prisma Prisma!!! Sequelize, TypeORM 말고 왜 나는 prisma를 썼냐? 답은 간단하다 테이블 생성하는게 진짜진짜 간단해보인다.... 그래서 예시를 보자마자 바로 이걸 쓰겠다고 마음먹었다ㅋㅋㅋ (하지만 블로그글은 typeorm이 훨씬 더 많았다ㅎㅎ 대신 우리에겐 Doc가 있다..!!!) 예전에 처음 Sequelize를 사용했을때 직접 쿼리문을 작성하지 않고도 원하는 대로 테이블을 생성해주는 것에 진짜 너무 기뻤는데 훨씬 사용하기 편해보이는 라이브러리라니...!!! 너무 좋아!!! 여기까지가 선택한 이유이고 실제로 어떻게 사용하는지 작성해 보겠다. 1. prisma 설치, 내가 쓰는 RDBMS에 맞게 기본 설정하기 $ npm install prisma --save-dev // 설치 $ npx..
<기업협업 프로젝트> 프로젝트 설계 프로젝트를 시작하기에 앞서 우리조는 일단 작업 분배를 파트별로 나누었다. - 프론트 2명 - 백엔드 1명 - 컨트랙트 1명 여기에서 내가 백엔드를 혼자 맡게 되었다. 그동안 백엔드를 해보고 싶기도 했고 이전 프로젝트에서 혼자 간단하게 어플을 만들때 백엔드의 필요성을 절실히 느꼈기 때문에 꼭 해보고싶었다ㅎㅎ 그리고 기업의 기술 요구 사항에 맞춰 nestjs를 사용하기로 마음먹었다! ( 무엇보다 프레임워크 마크가 너무 귀엽다ㅎㅎ 고앵쓰라니...!!! ) 반드시 쓰라는 강요는 아니었지만 이왕 도전하는 김에 새로운 프레임워크를 사용해 보자고 마음먹었다. 물론 typescript가 기반이라고 해서 typeScript부터 공부부터 시작했다. 어쩔 수 없이 공부기간을 좀 길게 잡았지만 그동안 같은 반에서 작업해왔던 ..
<Nestjs> 프레임워크와 라이브러리의 차이 / nestjs 설치 및 기본 명령어 / 테스트 코드 없이 생성 / --no-spec 1. 라이브러리와 프레임워크의 차이? Nestjs는 프레임 워크이다. 명확하게 어떤건 무조건 라이브러리이고 어떤건 무조건 프레임워크라고 하기 어렵다. 내가 이해한대로 설명하자면 코드를 실행시켜주는 주체가 누구이냐가 라이브러리와 프레임워크를 구분하는 기준이 된다. '코드를 실행시키는게 난데 이게 무슨소리??' 라고 할 수 있는데ㅋㅋㅋ 미리 정해진 틀에 맞춰서 써야지만 사용이 가능한 것은 프레임워크, 내가 비교적 자유롭게 코드를 사용하고, 대체가 비교적 쉬운 것이다. 예를 들어서 웹페이지를 만드는데 jQuery를 사용했다고 하자. 아시다시피 이렇게 '가져다가' 쓰는 느낌이다. jquery 대신에 javascript로 대체도 가능하고 바꾸기도 쉽다! 그리고 프레임워크는 지금 하고있는 nestjs를 예로 들면 ..
<Redis> nestjs에서 레디스 사용하기 / redis 테스트 코드 지난 글에서 레디스로 로컬에서 캐시서버를 구동시키는 설정을 했다. 이제 내 프로젝트에서 레디스를 사용하려면 어떻게 해야할지 살펴보자 일단 Nestjs에서 제공하는 cache-storage 특화모듈을 설치한다. in-mamory 스토리지 사용을 위해 아래 명령어로 패키지를 설치한다. $ npm install cache-manager $ npm install -D @types/cache-manager +) 이미지를 보면 내 디렉토리 구조를 볼 수 있는데 나는 app.module.ts로 필요한곳에 캐시모듈을 뿌려주는 것이 아니라 후에 추가하느라 따로 모듈과 서비스등을 만들고 필요한 곳에만 의존성을 추가해주었다. 여튼 테스트 코드는 다음과 같다. 여기서 주의해야할 점이 import 하는 부분이다. cacheMo..
<Redis> 레디스 설치 / redis 사용하기 / nosql / window 로컬에 레디스 서버 열어두기 레디스를 사용하게 된 배경 -우리의 플랫폼에서 회원가입을 할때 크리에이터라는 등급으로 회원가입을 하려면 이메일인증을 받아야 한다. 이 이메일 인증 과정이 1. 처음 회원가입 양식을 작성하고 제출하면, 제출한 데이터중 이메일로 임의로 발급한 uuid를 담아서 발송한다. 2. 그리고 사용자가 해당 이메일을 열람해 회원가입 버튼을 클릭하면 발급했던 uuid를 담아서 내가 지정한 라우터로 다시 요청을 보낸다. 3. 요청을 받으면 해당 사용자에게 발급한 uuid가 일치한지 확인 후 일치한다면 회원가입을 시켜준다( = db에 저장) 이 과정에서 크리에이터의 회원가입을 위한 데이터를 어떻게 처리할지 고민을 하게 되었다. 이메일 인증까지 완료해야 회원가입을 시켜주어야 하기 때문에 인증이 완료 될 때까지 데이터를 들고 ..

728x90