[Angular] ERROR in node_modules/@types/node/index.d.ts(20,1): error TS1084: Invalid 'reference' directive syntax. 해결법 문제) ERROR in node_modules/@types/node/index.d.ts(20,1): error TS1084: Invalid 'reference' directive syntax. 해결 방법) [bonita_sy@angular]$ npm install \@types/node@7.0.7 npm WARN @angular/compiler-cli@5.2.11 requires a peer of typescript@>=2.4.2 =2.4.2 Programming/JavaScript & TypeScript 2020.11.03
HTTP 헤더(Header) HTTP 헤더 - 클라이언트와 서버가 요청 또는 응답으로 부가적인 정보를 전송할 수 있도록 해주는 역할 - 대소문자를 구분하지 않는 키:줄바꿈이 없는 값 으로 이루어짐 (공백은 무시) - IANA 레지스트리에 신규 헤더 포함 모든 헤더가 나열되어 있음 (원본은 RFC 4229) ※ 커스텀 헤더는 'X-'를 앞에 붙여 추가 될 수 있었지만, RFC 6648에서 비표준 필드가 표준이 되었을 때 불편함을 유발해 2012년 6월 폐기 Context에 따른 Header 그룹화 General header - 요청과 응답 모두 적용 - body에 전송되는 데이터와 관련이 없는 헤더 Request header - patch될 리소스나 client에 대한 자세한 정보를 포함하는 헤더 Response header - 위치.. Web 2020.10.28
가상화, Container 그리고 VM - OS에서 애플리케이션에 이르기까지 새로운 SW 실행에 필요한 능력은 지속적으로 증가 - 더 많은 데이터, 더 높은 처리 능력, 더 큰 용량의 메모리 필요 - 가상화를 사용하여 단일 물리 머신을 여러 머신처럼 작동하도록 하고, 서버와 워크스테이션을 추가하는 데에 비용을 들이지 않아도 됨 가상화 - 단일화 물리 HW 시스템에서 여러 시뮬레이션 환경이나 전용 리소스를 생성할 수 있는 기술 - 하이퍼바이저라는 SW가 HW에 직접 연결되며, 1개의 시스템을 VM으로 분할 가능 - VM은 하이퍼바이저의 기능을 사용하여, 머신의 리소스를 HW에서 분리한 후 적절하게 배포 - 호스트 : 하이퍼바이저가 설치된 물리 HW - 게스트 : 리소스를 사용하는 여러 VM - 게스트는 CPU, 메모리, 스토리지 등의 컴퓨팅 리.. 기타 2020.10.27
WebSocket과 Socket.IO WebSocket - 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜 - 2011년 IETF에 의해 RFC6455로 표준화 - 웹 IDL의 웹소켓 API는 W3C에 의해 표준화 - 클라이언트가 요청을 해서 응답을 받는 방식이 아닌, 서버가 내용을 클라이언트에게 보내는 표준화된 방식을 제공 - 연결이 유지된 상태에서 메시지들을 오갈 수 있게 허용 -- HTTP 폴링과 같은 반이중방식에 비해 더 낮은 부하를 사용하여, 웹 브라우저와 서버간의 통신 가능 -- 서버와의 실시간 데이터 전송 용이 - 양방향 대화 방식 (클라이언트 서버) - 통신은 TCP 포트 80, 443(TLS 암호화 연결의 경우)를 통해 수행 - 방화벽을 통해 인터넷 연결을 차단하늩 일부 환경에 도움이 됨 - 대부분의 .. Programming/JavaScript & TypeScript 2020.10.26
[Git] 원격 저장소의 특정 브랜치 가져오기 원격 저장소에 있는 특정 브랜치 이름이 test_branch 라고 생각하고, 현재 내 위치는 master 브랜치일 때 git checkout -t origin/test_branch 하면 git branch -av 로 조회하면 test_branch가 생성된 것을 볼 수 있음! 기타 2020.10.23
[Regex] regex 패턴을 변수에 담아 사용하는 방법 /regex\\n/g 위 Regex를 변수에 담아보자. var match_string = "regex\n"; var regex_string = new RegExp(match_string, "g"); "original_string_regex\n_test_".replace(regex_string, "add_string"); https://stackoverflow.com/questions/494035/how-do-you-use-a-variable-in-a-regular-expression Programming/JavaScript & TypeScript 2020.10.22
[JavaScript] console.log 할 때 \r, \n, \t (Escape Sequence) 출력 방법 let str = 'hi\nbonita'; console.log(str); 결과 hi bonita console.log(JSON.stringify(str)); 결과 hi\nbonita https://stackoverflow.com/questions/21672334/javascript-how-to-show-escape-characters-in-a-string Programming/JavaScript & TypeScript 2020.10.22
[TypeScript] Decorator Decorator - TypeScript와 ES6의 Class 도입으로 클래스 및 클래스 멤버에 주석을 달거나 수정하는 것을 지원하기 위해 도입 - 클래스 선언과 멤버에 대한 주석과 메타 프로그래밍 구문을 모두 추가할 수 있는 방법을 제공 - JavaScript에 대한 stage 2 proposal - 향후 변경될 가능성 有 - @expression 으로 사용 -- expression은 decorate된 선언(declaration)에 대해 정보와 함께 런타임에 호출될 함수를 평가(evaluate)함 예제 // @sealed 라는 decorator 생성 function sealed(target) { // do something with 'target' ... } - 선언에 적용할 decorator를 커스터.. 카테고리 없음 2020.10.21
[TypeScript] Type Annotation Type Annotation TypeScript는 type이 있는 언어 (※ JavaScript는 loosely typed 언어, dynamic 언어 - 타입 지정이 필요 없고, 같은 변수에 여러 타입의 값을 넣을 수 있음) 변수나 함수, 객체 속성의 데이터 타입을 지정 변수명, 함수명, 객체 속성명 뒤에 : type 을 써서 데이터 타입을 지정 TypeScript는 JavaScript의 primitive type(number, string, boolean)을 사용 가능 Type annotation을 사용하여 type 검사를 수행 필수사항 X 사용 시 장점 컴파일러가 type을 확인하는 데에 도움 data type을 처리하는 오류 방지에 도움 협업을 할 때 읽기 쉬운 코드가 됨 유지보수에 장점 예제 //.. Programming/JavaScript & TypeScript 2020.10.21
[Git] merge와 rebase 차이 git에서 서로 다른 브랜치를 합치는 방법은 1. merge 2. rebase 가 있다. merge $ git checkout master $ git merge 마스터에_병합하고_싶은_브랜치 - 병합을 하면 합쳐진 브랜치의 커밋 메시지가 중복으로 쌓인다. rebase $ git checkout 리베이스할_브랜치 $ git rebase master --리베이스할 브랜치를 마스터 브랜치에 머지-- $ git checkout master $ git merge 리베이스한_브랜치 - 병합을 하면 브랜치의 커밋 메시지가 시간 순서대로 합쳐진다. 어쨌든 rebase도 브랜치를 합치려면 merge 명령어를 써야한다. 왜 나는 정리되어 있는 글을 읽으면 더 이해가 안될까? 이해력이 부족한건가 출처 https://back.. 기타 2020.10.20