All 357

이펙티브 타입스크립트 아이템 11 ~ 20

아이템 11 - 잉여 속성 체크의 한계 인지하기 구조적 타입 시스템에서 발생할 수있는 오류를 잡을 수 있도록 '잉여 속성 체크' 수행 객체 리터럴을 변수에 할당할 때 함수에 매개변수로 전달할 때 잉여 속성 체크는 할당 가능 검사와는 별도의 과정 타입 단언문을 사용하면 적용되지 않음 인덱스 시그니처를 사용해 속성을 예상할 수 있도록 함 interface Room { numDoors: number; ceilingHeightFt: number; } const r : Room = { numDoors: 1, ceilingHeightFt: 10, elephant: 'present', } // elephant가 없다고 에러가 발생 구조적 타이핑에 의한 오류 const obj = { num..

Dev/etc. 2023.06.12

이펙티브 타입스크립트 아이템 1 ~ 10

아이템 1 - 타입스크립트와 자바스크립트의 관계 이해하기 타입스크립트는 자바스크립트의 상위집합(superset) '정적' 타입 시스템 - 컴파일 시 변수의 타입을 지정하는 것 타입스크립트의 특징 자바스크립트의 런타임 동작을 모델링 함 타입 시스템은 런타임에 오류를 발생시킬 코드를 미리 찾아 냄 모든 오류를 찾아주지는 않고, 의도와 다르게 동작할 수도 있음 타입 체커를 통과하면서도 런타임 오류를 발생시킬 수 있음 아이템 2 - 타입스크립트 설정 이해하기 tsconfig.json에서 설정 tsc --init으로 설정파일 생성 대표적인 설정값 noImplicitAny 변수들이 미리 정의된 타입을 가져야 하는지 여부 제어, Any도 불가능. 타입을 정하지 않았어도 암시적으로 any로 간주하여 오류 발생시킴. 되..

Dev/etc. 2023.06.01

gzip to json javascript

import pako from 'pako' const url = 'http://~~~/test.gz'; const gzToJson = async () => { const { data } = await axios.get(url, { responseType: 'arraybuffer' }); const binaryData = data; const decompressedData = pako.inflate(binaryData); const json = JSON.parse(new TextDecoder().decode(decompressedData)); console.log(json); } BE에서 용량이 큰 JSON 파일을 gzip으로 으로 압축시켜 보내줬을 때 FE에서 압축 해제 후 디코드해서 사용하는 방법

Dev/etc. 2023.04.11

윈도우 11 vscode ssh 연결 방법

윈도우 11 VSCode ssh 연결 방법 개발 환경: 윈도우 11 그램 + 윈도우 11 데스크탑 데스크탑과 랩탑을 둘 다 활용하기 위해, 그램으로 데스크탑 윈도우 서버에 연결하는 과정을 기록 포트는 22번 그대로 썼고, 외부에서 사용할게 아니기 때문에 포트포워딩 안함 1. 윈도우 11 데스크탑 -> 윈도우 서버 설정 설정 -> 앱 -> 선택적 기능 -> 선택적 기능 추가 -> OpenSSH 서버 설치 관리자로 PowerShell 실행 -> Start-Service sshd로 서버 on (Stop-Service sshd로 off 가능) Set-Service -Name sshd -StartupType 'Automatic'로 윈도우 서버 자동으로 켜지게 설정 Get-NetFirewallRule -Name O..

Dev/etc. 2023.02.08