[TypeScript] Conditional Types, extends, infer
2022. 12. 25. 22:20
프로그래밍 언어/TypeScript
Conditional Types TypeScript에서 삼항 연산자를 이용해 타입을 지정하는 방식입니다. 예시) TypeScript에 내장된 Utility Types의 Extract 타입 type Extract = T extends U ? T : never T extends U 가 참이면 T를, 그렇지 않으면 never를 반환합니다. 삼항 연산자의 조건문에 올 수 있는 문법에는 extends 키워드 밖에 없습니다. extends extends 키워드는 슈퍼 클래스를 서브 클래스에게 상속해 줄 때 사용하는 키워드입니다. 타입 지정 시, extends 키워드는 T extends U 에 대해 T 는 U 에 포함된다는 의미입니다. extends 키워드가 사용되는 조건문 예시를 살펴보며 제대로 이해한 게 맞는지 ..
[TypeScript] 기본 타입
2022. 12. 20. 17:35
프로그래밍 언어/TypeScript
TypeScript 의 기본 타입에는 boolean, number, string, array, tuple, enum, any, void, null, undefined, never, object 등이 있습니다. 이에 대해 하나씩 예시와 함께 살펴보겠습니다. 불린(Boolean) true 혹은 false 값을 나타냅니다. let isExist:boolean = false; 숫자(Number) TypeScript의 모든 숫자는 부동 소수 값입니다. 16진수, 10진수 리터럴에 더불어 2진수, 8진수 리터럴도 지원합니다. // 10진수 리터럴 let decimal: number = 3; // 16진수 리터럴 let hex: number = 0xf00d; // 2진수 리터럴 let binary: number = ..
[원티드 백엔드 챌린지 코스 수강] AWS 인프라 관련 요소들 살펴보기
2022. 12. 19. 17:05
AWS
들어가며 이번 달 원티드 백엔드 챌린지 코스 주제는 백엔드 인프라 설계 with AWS 였다. 첫 수업에서는 AWS 인프라 관련 요소들에 대해 살펴보았습니다. AWS 인프라 관련 요소들에는 AWS API Gateway, AWS S3, AWS ELB, AWS CloudFront, AWS Secret Manager 등이 있다고 합니다. 한 번의 수업만 듣고는 다 이해하지 못해 따로 공부하는 시간을 가졌고 이번 글을 통해 수업 내용에 제가 공부한 내용을 추가해 학습 내용을 정리하는 시간을 가지려고 합니다. 여러 자료를 찾아보며 나름대로 정리한 내용이라 부정확한 정보가 있을 수 있으니 언제든지 잘못된 정보가 있다면 댓글로 남겨주시기 바랍니다. 앞에서 언급했다시피 AWS 인프라 관련 요소들에는 AWS API Ga..
[Nest] WebSocket 서버 구성하기(feat. Socket.io)
2022. 12. 12. 19:58
라이브러리 & 프레임워크/NestJS
WebSocket이란? WebSocket(ws) 이란 http 프로토콜과 같이 프로토콜의 일종이며, 클라이언트와 서버(브라우저와 서버)를 연결하고 언제든 양방향(주고 받는) 통신 또는 데이터 전송이 가능하도록 하는 기술입니다. 이번 게시글에서는 WebSocket 프로토콜을 기반으로 구축된 Socket.io 라이브러리를 이용하여 WebSocket 서버를 구성 후 연결 테스트를 해보겠습니다. 역시나 NestJS 의 공식문서에 설명이 잘 되어 있어 이를 참고했습니다. https://docs.nestjs.com/websockets/gateways#gateways Documentation | NestJS - A progressive Node.js framework Nest is a framework for bui..
[Network] IP Class
2022. 12. 9. 15:53
컴퓨터 과학/네트워크
네트워크 클래스의 등장 배경 우리는 이제껏 IPv4 체계의 IP 주소를 사용해 왔기 때문에 이미 인프라가 IPv4 환경으로 구축되어 있습니다. 따라서 이미 구성된 인프라를 최대한 활용하기 위해서 IPv4 체계의 IP 주소를 사용하는 네트워크의 규모에 따라 관리하기 쉽도록 클래스라는 이름으로 나누기 시작했습니다. 이는 네트워크 클래스의 등장으로 이어졌습니다. 네트워크 클래스란? 네트워크 클래스는 IPv4 네트워크를 규모에 맞게 잘 사용하기 위해 등장한 개념입니다. IP 주소에서 어떻게 네트워크 주소와 호스트 주소를 구분할 수 있을까? -> 클래스를 이용해 네트워크 주소와 호스트 주소를 구분할 수 있다. 예시) 203.240.100.1 203.240.100.1 IP 가 C 클래스이기 때문에 204.240.1..
[Network] IP 주소
2022. 12. 9. 14:57
컴퓨터 과학/네트워크
IP 주소란? IP 주소 : 네트워크 환경에서 컴퓨터 간 데이터를 주고받기 위해 각 컴퓨터에 부여된 네트워크 상 주소 각기 떨어져 있는 컴퓨터들이 데이터를 주고받기 위해서는 각 컴퓨터들의 주소가 존재해야 합니다. 그 주소가 바로 IP 주소입니다. IP 주소는 네트워크 주소 + 호스트 주소로 구분됩니다. 네트워크 주소는 인터넷 상에서 네트워크를 구분하는 역할을 하고, 호스트 주소는 특정 네트워크 안에 존재하는 기기들을 구분하는 역할을 합니다. IP와 IP 주소의 차이 우리는 흔히들 IP 주소와 IP 를 동일한 개념으로 사용하는 경우가 많은데요. 사실 차이가 있으니 이에 주의해서 사용해야 합니다. IP : 프로토콜 IP 주소 : 인터넷 상에서 데이터를 주고받을 때 사용되는 각 컴퓨터들의 주소 IP 주소 부여..
[Linux] scp 명령어 사용법
2022. 12. 6. 15:46
리눅스
scp 명령어란? scp 명령어는 secure copy의 줄임말로 ssh를 이용하여 네트워크로 연결된 호스트 간에 파일을 주고받는 명령어입니다. 원격지에 있는 파일과 디렉토리를 보내거나 가져올 때 사용하는 파일 전송 프로토콜입니다. scp 명령어 사용법 로컬에서 원격지로 파일 전송하는 경우 1) 단일 파일을 원격지로 전송할 때 scp [옵션] [파일명] [원격지_id]@[원격지_ip]:[보낼 경로] $ scp test.sql root@49.247.34.67:/test 2) 복수 파일을 원격지로 전송할 때 scp [옵션] [파일명 1] [파일명 2] [원격지_id]@[원격지_ip]:[보낼 경로] $ scp test.sql test2.sql root@49.247.34.67:/test 3) 여러 파일을 포함한..
[JavaScript] 문자열 자르기 (substr, substring, slice)
2022. 12. 5. 15:02
프로그래밍 언어/JavaScript
들어가며 이번 게시글에서는 자바스크립트에서 문자열을 자르는 함수에 대해 알아보고자 합니다. 자바스크립트에서 문자열을 자르는 함수 자바스크립트에서 문자열을 자르기 위해서는 substr(), substring(), slice() 함수를 사용하면 됩니다. String.prototype.substr(start[, length]) String.prototype.substring(indexStart[, indexEnd]) String.prototype.slice(beginIndex[, endIndex]) 위 세 가지 함수의 인수 중 대괄호([]) 부분은 생략 가능하며, 생략할 경우 시작 위치부터 문자열 끝까지 자릅니다. substr() 함수 substr() 함수는 시작 위치부터 해당 길이만큼 문자열을 자르는 기본적..