인사이트
-
타입스크립트 컴파일러인사이트 2025. 4. 17. 13:09
타입스크립트 컴파일러 💡 타입스크립트 컴파일러가 Go로 재작성되고 있는 이유 → 성능 향상 타입스크립트 컴파일러는 타입스크립트 자체로 작성되어 Node.js 환경에서 실행되었다. 이는 개발 초기에는 유연성을 제공했지만대규모 프로젝트에서 빌드 속도가 느리고 메모리 사용량이 많다는 단점이 있었다. Go 언어는 빠른 컴파일 속도, 낮은 메모리 사용량, 그리고 뛰어난 동시성 지원으로 알려져 있다. 타입스크립트 팀은 Go로 컴파일러를 재작성함으로써 다음과 같은 이점을 기대하고있다. 훨씬 빠른 빌드 속도: 최대 10배까지 성능 향상낮은 메모리 사용량: 대규모 프로젝트에서도 효율적인 컴파일 가능향상된 개발자 경험: IDE에서의 코드 완성, 오류 검사 등의 속도가 빨라져 더욱 쾌적한 개발 환경을 제공 (논란)? C#..
-
맵드 타입(Mapped Type)인사이트 2025. 4. 3. 14:13
맵드 타입(Mapped Type) 정의: 타입 연산은 기존 타입을 기반으로 새로운 타입을 생성. ✅ 기본 문법{ [ P in K ] : T }{ [ P in K ] ? : T }{ readonly [ P in K ] : T }{ readonly [ P in K ] ? : T } ✅ 여러 개의 키-값 쌍을 가지는 객체를 표현할 때type MagicWords = '이걸요?' | '제가요?' | '왜요?';type Gauges = { [K in MagicWords]: number };const gaugesInfo: Gauges = { "이걸요?": 54, "제가요?": 1000, "왜요?": 33,} ✅ 불변 데이터의 유연한 변환 가능 공식문서- 매핑중에는 추가할 수 있는 수정자로 readonly..
-
인덱스드 시그니처 (Index Signatures)와 인덱스드 접근 타입 (Indexed Access Types)인사이트 2025. 3. 27. 13:47
JavaScript의 유연성과 TypeScript의 정적 타입 시스템 사이의 간극을 메우기 위한 것들을 이번 톺아보기 스터디에서 주로 다루고있는데,오늘은 인덱스드 시그니처 (Index Signatures)와 인덱스드 접근 타입 (Indexed Access Types)에 대해 이야기해보려한다. 인덱스드 시그니처 (Index Signatures) JavaScript의 객체는 속성 이름을 동적으로 추가하거나 변경할 수 있는 매우 유용한 자료 구조이다. 하지만 타입스크립트와 같은 정적 타입 언어에서는 객체의 속성 이름과 타입을 미리 정의하는 것이 일반적이다. 하지만, API 응답 데이터 등 속성 이름이 런타임에 결정되거나 예측하기 어려운 경우가 많다보니, 타입스크립트에서 모든 가능한 속성 이름을 정의하는 것은 ..
-
타입스크립트의 any는 언제 써야할까? 이를 보완할 수 있는 방법은 없을까?인사이트 2025. 3. 6. 15:15
1. JavaScript의 자유로움과 그 한계JavaScript는 동적 타입(dynamic typing) 언어로, 변수를 선언할 때 특정 타입을 지정할 필요가 없다.이러한 유연성 덕분에 JavaScript는 빠른 프로토타이핑과 유연한 개발이 가능하지만, 코드의 안정성이 떨어지고, 대규모 프로젝트에서는 유지보수가 어려워지는 문제가 발생한다.let a = "Hello";a = 42; // 정상 동작 특히 내가 느꼈던, JavaSciprt의 한계점은 크게 두가지였다. 타입 오류가 런타임에서야 발견됨 → 해당 타입만 가지고있는 메서드 사용하다가, API 콜 타입이 달라지면 그대로 에러.협업 시 코드의 의도가 불명확 → 유지보수와 확장성이 어려워짐. 오타 포함. 사실 오타때문에 더 고생하는 것 같았음.2. Typ..
-
프론트엔드라도 수학이 필요하다. (feat: 친동생과의 수학과외 시작)인사이트 2025. 2. 22. 15:46
3년전 프론트엔드 부트캠프를 알아볼 때였다.그 당시 비전공자 학생들을 대상으로 하는 단기 부트캠프가 인기가 많았다. 나도 그랬지만, 비전공자 학생들이 가장 걱정하던 것 중 하나가 '수학과 CS 지식'이었다. 주변에선 "프론트는 CS나 수학적 지식이 실무에선 그렇게 필요 없다"며 학생들을 안심시켰다. 그 말이 반은 맞고 반은 틀렸다고 생각한다. CS 지식이나 수학적 지식이 없이도 개발은 가능하다. 일단 돌아가게 만든다면 충분히 가능하다. 하지만 서비스를 지속적으로 운영하는 회사라면 이야기가 달라진다. CS 지식과 수학은 결국 비즈니스를 고려한 코드를 작성할 때 숲을 보는 역할을 해준다. 오늘은 그 중 수학이 왜 필요한가에 대해 글을 써보려 한다. 초중고 시절 주입식 교육 때문에 수학은 공식을 무조건 외웠고..
-
조화로운 UI/UX: 우에다 쇼지의 균형에서 배우다인사이트 2025. 2. 1. 11:17
〈우에다 쇼지 모래극장〉 방문친한 지인이 제안해주셔서 가게 된 우에다 쇼지 사진전.회현역에 내려 3번출구에서 작은 언덕을 올라가면 고즈넉한 건물이 하나 보입니다.눈이 많이 오던 날에 갔던 터라, 더욱 고요하고 운치가 있었네요. 요즘 바빠서 전시를 자주 못 가지만, 전시를 꽤 좋아하는 편입니다. 이론에 대해서 잘 아는 건 아니지만, 조화와 균형을 기준을 삼아 작가가 어떻게 표현했나를 고민해보고 분석해봅니다. 기술과 감각의 조화.프론트엔드는 정말 어려운 분야인 것 같습니다. 물론 기술력이 기본이 되어야 하지만, 사용자의 경험과 심미안을 고려하는 감각도 겸비해야한다고 생각합니다.아, 이타적인 감각이 중요하다고 볼 수 있겠네요. 데이터를 기반으로 UI/UX를 설계하는 것도 중요하지만, 그 데이터를 어떻게 ..
-
애자일과 회고의 중요성: 아재여행과 함께한 개발 방법론 참여 후기인사이트 2025. 1. 20. 11:19
애자일에 대해 부정적이었는데 다른 시각으로 보게되었다! 팀 내 프로세스를 도입하는 것은 항상 고민이 된다. 아무리 좋은 프로세스라도 팀원들이 따르지 않으면 소용이 없다. 멋져보이는 여러 가지를 합쳐서 제안하면 팀원들이 그 프로세스를 적용하는 데 시간이 걸리고, 너무 부실한 프로세스를 도입하면 참여율이 낮아지기도 한다.MBTI를 맹신하는 것은 아니지만, F, T와 S, N 성향 차이가 크다고 다들 입을 모아 말하지 않는가. 좋은 의도라고 포장된 꿀사과도 누군가에게는 독사과이다.대학 4학년 때 스포츠 협회와 협업하는 프로젝트에서 두 팀의 리더로 활동한 적이 있다. 그때는 스포츠 업계에서 코로나 백신을 무조건 맞아야 했던 시기였다. 부작용으로 몸져 누웠던 게 이상하지 않았던 시점이라, 백신을 포함한 예상되는 ..