Skip to main content

Command Palette

Search for a command to run...

stc 관련 짧은 메모

Updated
2 min read

tsc 코드 봐야지 봐야지 하면서 재미 없다는 이유로 안 보고 있었는데, 진짜 봐야할 것 같다. 최근 작업이 더딘 건 연말이라고 신나게 놀려다녀서지만, 한 작업을 며칠간 들고있는 것도 내 취향은 아니다.

그런데 오늘 테스트 해보면서 찾은 케이스를 보고있다가

이건 진짜 안 보고 찍는 건 불가능하다

최종 결론을 내렸다. 사실 이런 결론을 내려도 내가 tsc 소스코드를 언제 읽을지는 장담할 수 없다. 나한테 프로그래밍이 여전히 업무보다 취미에 가까워서 그런지 재미 없는 작업은 도저히 할 수가 없더라.

그 케이스는

declare function foo2<T>(x: T, a: (t: T) => T, b: (t: T) => T): T;

foo2(
  null,
  (t: Object) => t,
  (t: string) => t
); // string
foo2(
  "a",
  (t: Object) => t,
  (t: string) => t
); // Object

이다. 참고로 strict 모드를 끄면 저 두 케이스 둘 다 Object로 추론된다. 여기서 이 케이스는 첫번째 인자를 string이나 Object에 할당할 수 있는지에 따라 달라지는 케이스일 것이라 추측할 수 있고, 그래서

declare function foo2<T>(x: T, a: (t: T) => T, b: (t: T) => T): T;

foo2(
  1,
  (t: Object) => t,
  (t: string) => t
); // Object

를 시도해본 결과 Object로 추론되더라. 이걸로 미루어볼 때 첫번째 인자가 Object에 할당할 수 있는 값이면 Object로 추론되는 것 같다. 근데 문제는 이런 이상한 룰이 한두개가 아니라는 것이다. 이걸 원본 소스코드 안 보고 찍어맞추는 건 내 능력 밖이다. 문제는 남이 짠 소스코드를 읽는 것처럼 재미 없는 작업을 하는 것도 내 능력 밖의 일이라는 건데... 이건 고민 좀 더 해봥야할 것 같다.

More from this blog

한국의 학벌에 대한 생각

내 블로그의 제목이 kdy1: The way I think 인만큼 앞으로는 내 생각을 더 자주 올리려고 한다. 한국 기준으로, 학벌은 사람을 볼 때 꽤나 유용한 지표이지만, 절대적이지는 않다. 경험적인 얘기일 뿐이지만, 성균관대학교 자퇴생으로서 느낀 것들이 몇 가지 있다. 대학까지 간 사람의 학벌은 학습 능력 x 성실함 에 대체로 비례한다. 그래서 의미가

Apr 3, 20261 min read

인간 지능에 대한 메모장

최종 업데이트: 2026/03/15 지능의 유전 현재 인류 기준으로, 고지능자는 고지능 유전자가 많이 겹친 사람이다. 지능의 유전엔 X 염색체가 매우 중요한 역할을 한다. 그리고 이게 남자와 여자의 지능 분포 차이를 만든다. 극상위권에 여자가 거의 없는 이유가 이것이다. 고지능 X 염색체가 여자한테서 발현되려면 2개가 있어야 한다. 이는 인간의 생

Mar 15, 20262 min read

Ai 코딩 팁 2 (한국어)

발표 자료: https://gamma.app/docs/AI--2a52e7tk3eb1ch1 AI 활용법 관련해서 간단하게 발표를 했다. 발표 자료 앞쪽은 전에 블로그에 올린 글이랑 같은 내용이다. 이 글에서는 기존 글에서 다루지 않은 내용들을 다루겠다. 에러 메시지 및 로깅 구체적 타입 및 스키마 활용 any 타입은 사람에게도 위험하지만, AI에게는 더 위험하다. 마찬가지로, JSON.parse처럼 아무 제약 없는 파싱 느슨한 인터페이스 ...

Jan 30, 20265 min read

kdy1: The way I think

233 posts