개발

· 개발
Type Guard란?Type Guard는 런타임에서 특정 값의 타입을 검증하여 TypeScript 컴파일러가 해당 스코프 내에서 더 구체적인 타입으로 추론할 수 있도록 도와주는 함수다. 이는 TypeScript의 타입 시스템과 JavaScript의 런타임 동작을 연결하는 핵심적인 기능이다. 타입 서술어Type Guard의 핵심은 타입 서술어(Type Predicate)다. 이는 함수의 반환 타입을 parameter is Type 형태로 정의하는 것이다.function isDeviceStatusString(value: string): value is DeviceStatusString { return Object.keys(DeviceStatus).includes(value);} 여기서 value is D..
· 개발
유니언 열거형과 열거형 멤버 타입계산되지 않는 상수 열거 멤버의 특수한 부분 집합이 있다. 리터럴 열거형 멤버 리터럴 열거형 멤버는 초기화 값이 존재하지 않거나, 아래 값들로 초기화되는 멤버다.문자 리터럴 (예시. "foo", "bar, "baz")숫자 리터럴 (예시. 1, 100)숫자 리터럴에 단항 연산자 - 가 적용된 경우 (e.g. -1, -100) 열거형의 모든 멤버가 리터럴 열거형 값을 가지면 특별한 의미로 쓰이게 된다. 첫째로 열거형 멤버를 타입처럼 사용할 수 있다. 예를 들어 특정 멤버는 오직 열거형 멤버의 값만 가지게 할 수 있다.enum ShapeKind { Circle, Square,}interface Circle { kind: ShapeKind.Circle; ra..
· 개발
클로저는 주변 상태에 대한 참조와 함께 묶인 함수의 조합이다. 즉, 클로저는 내부 함수에서 외부 함수의 범위에 대한 접근을 제공한다. JavaScript에서 클로저는 함수 생성 시 함수가 생성될 때마다 생성된다.function init() { var name = "Mozilla"; // name은 init에 의해 생성된 지역 변수이다. function displayName() { // displayName() 은 내부 함수이며, 클로저다. console.log(name); // 부모 함수에서 선언된 변수를 사용한다. } displayName();}init(); init()은 지역 변수 name과 함수 displayName()을 생성한다. displayName()은 init() 안에 정의..
· 개발
빌더 패턴복합 객체의 생성 과정과 표현 방법을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 하는 패턴빌더 패턴의 장점은 아래와 같다.객체들을 단계별로 생성하거나 생성 단계들을 연기하거나 재귀적으로 단계들을 실행할 수 있다.제품들의 다양한 표현을 만들 때 같은 생성 코드를 재사용할 수 있다. eg. 빌더 패턴 예제class Pizza { private String dough = ""; private String sauce = ""; private String topping = ""; public void setDough(String dough) { this.dough = dough; } public void setSauce(String s..
· 개발
NullAway 소개NullAway는 Java 코드에서 NullPointerException(NPE)을 제거하는 데 도움을 주는 도구다. NullAway를 사용하려면, 먼저 필드, 메서드 파라미터, 또는 반환 값이 null일 수 있는 경우 해당 부분에 @Nullable 어노테이션을 추가해야 한다. 이 어노테이션들을 기반으로, NullAway는 타입 기반의 로컬 검사를 수행하여 코드 내에서 dereference(참조)되는 어떤 포인터도 null이 아님을 보장한다. NullAway는 Kotlin이나 Swift 언어에서의 타입 기반 널 안정성 검사, 그리고 Java용 Checker Framework나 Eradicate와 유사하다. NullAway는 매우 빠르다. Error Prone의 플러그인으로 제작되었으며..
· 개발
MIME미디어 타입 (Multipurpose Internet Mail Extensions 또는 MIME type로도 알려져 있음)이란 문서, 파일 또는 바이트 집합의 성격과 형식을 나타낸다. MIME 타입은 IETF의 RFC 6838에 정의 및 표준화되어 있다.브라우저는 '파일 확장자가 아닌' MIME 타입을 사용하여 URL 처리 방법을 결정한다. 따라서, 웹 서버가 응답의 Content-Type 헤더에 올바른 MIME 타입을 보내는 것이 중요하다. 올바르게 구성하지 않으면, 브라우저가 파일 내용을 잘못 해석할 가능성이 높고, 사이트가 제대로 작동하지 않고 다운로드한 파일이 잘못 처리될 수 있다. MIME의 구조type/subtype;parameter=value일반적으로 /으로 구분된 type과 subt..
belljun
'개발' 카테고리의 글 목록