[TS] 인덱스드 액세스 타입
TIL
인덱스드 액세스 타입(Indexed Access Type)은 객체, 배열, 튜플 타입으로부터 특정 프로퍼티나 요소의 타입만 추출하는 타입이다.객체 프로퍼티 타입 추출게시글 작성자 정보를 출력하는 함수를 작성해보자.interface Post { title: string; content: string; author: { id: number; name: string; };}function printAuthorInfo(author: { id: number; name: string }) { console.log(`${author.name}-${author.id}`);} 만약 Post의 author 타입이 수정되면 함수의 매개변수 타입도 함께 수정해야 한다.인덱스드 액세스 타입을 사용하면 이 문..
[CS50] 컴퓨팅 사고 - 알고리즘
TIL
알고리즘이란컴퓨터는 입력을 받아 처리한 후 출력한다. 입력받은 자료를 출력 형태로 만드는 처리 과정을 알고리즘이라고 한다.알고리즘은 입력값을 출력값으로 바꾸기 위한 명령들의 순서적 나열이다. 같은 결과를 만들더라도 알고리즘에 따라 소요 시간이 달라질 수 있다.정확한 알고리즘전화번호부에서 Mike Smith를 찾는다고 가정해보자.첫 페이지를 펼친다.Mike Smith가 있는지 확인한다.없으면 다음 페이지로 넘긴다.찾을 때까지 또는 끝날 때까지 반복한다.이 알고리즘은 정확하다. Mike Smith가 있다면 언젠가는 찾을 수 있다.하지만 한 페이지씩 넘기는 방식은 매우 비효율적이다. 한 번에 두 페이지를 넘기면? 빨라지지만 원하는 페이지를 건너뛸 수도 있다. 여전히 가장 효율적인 방법은 아니다. 효율적인 알고..
[CS50] 컴퓨팅 사고 - 정보의 표현
TIL
컴퓨터의 정보 처리우리는 컴퓨터를 통해 다양한 정보를 처리한다. 간단한 숫자부터 문자, 사진, 영상, 음악까지 정보를 표현하는 형태는 매우 많다. 컴퓨터는 어떻게 이런 다양한 정보를 처리할까?문자의 표현컴퓨터는 스위치를 ON/OFF하면서 숫자를 표현한다. 그렇다면 문자는 어떻게 표현할까?문자를 숫자로 표현할 수 있도록 정해진 약속(표준)이 있다. 그중 하나가 ASCII(American Standard Code for Information Interchange, 아스키코드)로, 총 128개의 문자를 정의한다.알파벳 'A'를 2진법으로 표현하면 다음과 같다. 10진법으로 65이므로 2^6×1 + 2^0×1 = 64+1, 즉 1000001이다. ASCII는 영문 알파벳과 기본 기호만 표현할 수 있어 한계가 있..