기록 (98) 썸네일형 리스트형 [Typescript] 고급 타입 타입 가드 Narrowing 요약 typeof 변수 속성명 in 오브젝트 자료 인스턴스 instanceof 부모 타입가드는 특정 속성이나 메소드를 사용하기 전에 그것이 존재하는지 확인하거나 타입을 사용하기 전에 이 타입으로 어떤 작업을 수행할 수 있는지를 확인하는 개념 런타임 시 특정 타입으로 작업을 수행하기 전에 해당 타입을 검사하는 코드 패턴 작업을 수행하기 전에 타입을 검사하여 런타임 오류를 방지할 수 있음 객체의 경우, instanceof나 in을 사용 다른 타입들의 경우 typeof를 사용 // typeof type Combinable = string | number; function add(a: Combinable, b: Combinable){ if(typeof a === 'string' ||.. [Typescript] 클래스 & 인터페이스 private : 생성된 객체 내부에서만 접근 가능한 속성 protected : private과 비슷하지만 private과 다른 점은 이 클래스에서뿐 아니라 이 클래스를 확장하는 모든 클래스에서도 사용 가능 함 readonly 키워드 초기화 중에 한 번만 사용 가능 특정 속성이 초기화 되고 나면 이후에는 변경되어서는 안됨 추가적인 타입 안전성을 더해주고 의도를 명확하게 해줌 약식 초기화 // 초기화 약식 전 class Department { private id: string; private name: string; private employees: string[] = []; constructor(id: string, name: string) { this.id = n; this.name = n; } } /.. [Typescript] 구조 분해 ✍️ 구조 분해란? ✍️ 배열에서 요소를 추출하는 것 const [hobby1, hobby2, ...remainingHobbies] = hobbies; 첫번째 요소 hobby1 이라는 이름으로 const에 저장 두번째 요소 hobby2 라는 이름으로 const에 저장 문자열의 요소가 2개 이상인 경우 매개변수를 추가하여 hobby1, hobby2에서 추출하지 않은 나머지 요소가 모두 remainingHobbies라는 새 배열에 저장되므로 해당 배열에 병합 됨 구조 분해는 원래의 배열을 바꾸지 않음 새로운 배열로 생성 배열은 정렬된 목록이므로 요소는 순서대로 추출 됨 하지만 순서가 항상 보장되지는 않아 위치별로 요소를 추출하는 것이 아닌 키 이름으로 요소를 추출 함 배열뿐만 아니라 객체도 동일하게 사용 마.. [Typescript] TypeScript 컴파일러(및 구성) watch mode : 변경사항이 있을때마다 자동으로 컴파일 tsc app.ts -w 단점은 이 파일을 구체적으로 지정해야 함 그렇기 때문에 큰 프로젝트에서는 보통 사용하지 않음 모든 ts파일 컴파일 tsc —init : tsconfig.json 파일 생성 이 프로젝트를 타입스크립트 프로젝트라고 처음에 지정하면서 한 번만 실행하면 됨 이 프로젝트는 타입스크립트가 관리한다는 뜻 이 커맨드가 실행되는 폴더의 모든 항목을 알려주는 역할 따라서 올바른 폴더에 위치하는 것이 중요 tsc : 모든 ts파일 컴파일 자동으로 js파일 생성 모든 타입스크립트 파일에 관찰 모드 적용하기 모든 ts파일 컴파일 한 후 tsc -w 입력하면 모든 ts파일에 관찰 모드가 적용 됨 이제 변경 사항을 적용하고 저장하면 변경된 파일이.. [Typescript] Typescript 기본 & 기본 타입 Using Type number JS나 TS에서 number 타입은 하나뿐 string ‘Hi’, “Hi”,Hi boolean true, false 자바스크립트 차이 자바스크립트는 동적 타입 문자열을 할당할 때 처음에 숫자형 변수가 있더라도 전혀 문제 없음 그래서 특정 타입에 의존하는 코드가 있는 경우, 런타임에서 현재 타입을 확인할 수 있는 typeof를 사용 반면, 타입스크립트는 정적 타입 변수와 매개변수의 타입을 먼저 정의함 런타임 중에 갑자기 변경되지 않음 숫자형으로 설정한 변수에 문자열을 할당하면 에러발생 타입스크립트는 자바스크립트보다 훨씬 많은 타입을 알고 있음 결론 : 타입스크립트 타입은 컴파일 중에 확인되는 반면, 자바스크립트 타입은 런타임 중에 확인 됨 추가: 타입스크립트는 타입을 명시적.. [Nginx] Nginx 란? 👩💻 동작 순서 예 👩💻 client (브라우저) ↔ web server (Nginx) ↔ was (Node.js) ↔ database (MySQL) WHAT Web Server : 단순히 정적 파일을 응답 WAS (Web Application Server) : 클라이언트 요청에 대해 동적인 처리가 이뤄진 후 응답 WHY 웹서버를 별도로 운영하는 이유? - was의 부담을 줄여주기 위해 굳이 nginx를 사용하는 이유? 빠르다 리버스 프록시로 사용 가능 (Reverse Proxy) 프록시에는 1. 리버스 프록시 2. 포워드 프록시 가 존재함 리버스 프록시 : 인터넷과 백엔드 사이에 있는 서버 캐싱서버로 사용 가능, 보안 포워드 프록시 : 인터넷과 프론트 사이에 있는 서 SSL 지원 웹페이지 접근 인증.. [Network] 데이터 통신 기초 Network 컴퓨터와 컴퓨터가 그물망처럼 통신 매체 (유선 or 무선)로 연결되어 데이터를 주고 받는 것 데이터 통신 데이터: 무언가에 대한 정보를 컴퓨터에 표현한 것 데이터는 비트(bit)로 구성되는데, 비트는 '0' 이나 '1'인 상태를 유지할 수 있음 컴퓨터에서는 비트로 모든 정보가 저장되고 데이터를 주고 받음 데이터 통신: 네크워크를 실행하는 방법 컴퓨터랑 컴퓨터를 연결하는 파이프(통신 매체)가 있음 데이터를 보내고 싶은 쪽에서 파이프에 데이터를 보내면 받는 쪽에 도달하는 개념 컴퓨터에 파이프 접속구가 필요한데 이를 '인터페이스'라고 함 인터페이스: 컴퓨터와 파이프의 중개역같은 개념 데이터 통신을 하기 위해서는 기기와 프로토콜이 필요함 [컴퓨터]+[인터페이스] [인터페이스]+[컴퓨터] 프로토콜 .. [Network] 데이터 통신 기초 Network 컴퓨터와 컴퓨터가 그물망처럼 통신 매체 (유선 or 무선)로 연결되어 데이터를 주고 받는 것 데이터 통신 데이터: 무언가에 대한 정보를 컴퓨터에 표현한 것 데이터는 비트(bit)로 구성되는데, 비트는 '0' 이나 '1'인 상태를 유지할 수 있음 컴퓨터에서는 비트로 모든 정보가 저장되고 데이터를 주고 받음 데이터 통신: 네크워크를 실행하는 방법 컴퓨터랑 컴퓨터를 연결하는 파이프(통신 매체)가 있음 데이터를 보내고 싶은 쪽에서 파이프에 데이터를 보내면 받는 쪽에 도달하는 개념 컴퓨터에 파이프 접속구가 필요한데 이를 '인터페이스'라고 함 인터페이스: 컴퓨터와 파이프의 중개역같은 개념 데이터 통신을 하기 위해서는 기기와 프로토콜이 필요함 [컴퓨터]+[인터페이스] [인터페이스]+[컴퓨터] 프로토콜 .. 이전 1 2 3 4 5 ··· 13 다음