목록전체 글 (162)
개발새발
screen이 돌아가는 원리screen은 리눅스 서버에서 독립된 가상 터미널을 만들어서, 너의 로컬 세션과 무관하게 프로세스를 유지시킨다. 즉, 내가 접속을 끊거나 컴퓨터를 꺼도, 서버가 켜져 있기만 하면 screen 안에서 돌아가는 코드는 계속 실행됨. screen 시작screen세션을 생성하는 명령어세션 이름 지정 생성screen -S 지정한 세션명으로 세션을 생성세션 재진입screen -R 세션명과 일치하는 세션으로 진입만약 세션명과 일치하는 세션이 없다면 세션을 생성하고 진입세션 리스트screen -listctrl + a, ddetach, 세션은 종료되지 않고 현재 작업을 유지하면서 세션에서 빠져나옴 screen 세션은 detached 상태로 두고 컴퓨터를 꺼야 코드가 계속 돌아간다! 꼭 det..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
타입스크립트를 사용할 때, 객체 리터럴 내 메서드에서 this의 타입을 자동으로 추론하고 싶을 때가 있다. 하지만 기본적으로 타입스크립트는 객체 리터럴에서 this의 타입을 추론하지 못하기 때문에 this.money, this.name 등의 코드에서 타입 오류가 발생할 수 있다. 이 문제를 해결하기 위한 강력한 유틸리티 타입이 바로 ThisType 이다.const obj = { data: { money: 0, }, methods: { addMoney(amount: number) { this.money += amount; // ❌ 에러: Property 'money' does not exist on type ... }, },}; 위 코드는 실행 상 문제는 없지만 타입스크립트..
타입스크립트의 고급 타입 기능 중에서도 infer는 조건부 타입과 결합되어 타입 추론을 할 수 있게 해준다. infer는 특히 함수나 생성자 타입에서 내부 타입(인자, 반환값 등)을 꺼내올 때 사용되며, 타입스크립트에서 기본 제공하는 유틸리티 타입들 중 다음 네 가지에 사용된다:ParametersConstructorParametersReturnTypeInstanceType 1. Parameters: 함수 매개변수 타입 추출type MyParameters any> = T extends (...args: infer P) => any ? P : never;type Fn = (a: number, b: string) => boolean;type Params = MyParameters; // 결과: [number..
타입스크립트에는 실무에서 자주 사용하는 유틸리티 타입이 여러 가지 존재한다. 그중에서도 Exclude, Extract, Omit, NonNullable은 모두 조건부 타입 + 분배법칙을 이용해 동작하는 대표적인 타입들이다. 1. Exclude: 제거하기T에서 U에 해당하는 타입을 제거하는 타입이다.type MyExclude = T extends U ? never : T;type Result = MyExclude;// 결과: 1 | 3 1 | '2' | 3 은 유니언 타입이므로 분배법칙이 작동한다.'2' extends string은 true이므로 never 처리되고,나머지는 그대로 유지되어 1 | 3이 남는다. 2. Extract: 추출하기 T에서 U에 해당하는 타입만 추출한다.type MyExtract..