본문 바로가기

전체 글7

1장 왜 Typescript 만 가지고 서비스를 개발하게 되었나? 프레임워크/라이브러리만 붙잡고, 깊이 없는 개발 문화가 싫어져서솔직히 말하면, 최근 몇 년 동안 봐온 개발 문화가 너무 답답했다.팀장은 신입만 계속 뽑았고, 신입들은 학원 출신. 기본기도 제대로 없었다.(도대체 뭘 보고 뽑은 건지 이해가 안 됨…)무엇이 문제인지, 왜 이런 문제가 발생했는지 알아보려고도 하지 않고,조금만 깊은 내용을 이야기해도 이해할 생각은 없고,오히려 엉뚱한 질문들로 시간을 잡아먹는다.배워야 할 것들을 알려줘도 공부를 안 한다.그냥 당장 눈앞의 프레임워크만 붙잡고 어떻게든 돌아가기만 하면 된다는 태도.그런 태도에 질렸고,그런 환경에서 일하는 게 더이상 즐겁지 않았다.그래서 퇴사했다.그리고 이상하게 ‘오기’가 생겼다퇴사 후, 이제 진짜 내가 만들고 싶은 서비스를 만들어보려고 하니까가장 먼.. 2025. 11. 18.
Tagged Union 을 사용하여 상태머신 구현하기 복잡한 조건과 다양한 상태가 존재하는 UI를 개발할 때, 코드는 금방 난잡해지고 이해하기 어려워질 수 있습니다. 특히 삭제와 같은 중요한 작업을 처리할 때 상태가 명확히 관리되지 않으면 예기치 않은 오류가 발생할 가능성이 높습니다.이러한 상황에서 유용한 도구가 바로 상태머신(State Machine)과 Tagged Union입니다.상태머신(State Machine)이란?상태머신은 상태(State)와 상태 간 전환(Transition)을 명확하게 정의하는 방법입니다. 각 상태가 명확히 구분되고 전환 규칙이 명확해지므로 코드를 이해하고 관리하기가 쉬워집니다.상태머신을 Vue에서 활용한 예시이번에 Vue로 개발한 삭제 기능에서 상태머신을 도입했으며, 이 과정에서 코드의 명확성이 크게 개선되었습니다. 예를 들어.. 2025. 3. 8.
Named Type vs Type Alias Named Type이름이 붙은 타입type MyInt intGo 컴파일러는 이를 기존 int 와 별개의 타입으로 인식Type Alias기존의 타입에 대해 별칭(alias) 를 붙여 사용type MyIntAlias = int정리구분 정의 방법 타입 호환 여부Named Typetype MyInt int별도의 타입, 명시적 변환 필요Type Aliastype MyIntAlias = int동일한 타입, 호환 가능Type Alias 는 주로 긴 타입 이름을 짧게 줄이거나, 기존 타입을 명확하게 표현하고자 할 때 사용Named Type 은 타입 안정성, 메서드 추가, 인터페이스 구현 등 특정 타입에 의미와 동작을 부여할 때 주로 사용메서드 추가하기int 는 primitive type 인데, method 를 추가할 .. 2025. 3. 8.
알고리즘 학습 로드맵 알고리즘 학습 로드맵단계별로 핵심 유형을 배우고, 점점 더 어려운 문제를 해결하는 방식🔹 1단계: 기본적인 탐색 & 정렬 (입문)✅ 완전 탐색 (Brute Force)✅ 정렬 (Sorting) → 버블 정렬, 선택 정렬, 병합 정렬, 퀵 정렬✅ 이분 탐색 (Binary Search) → 기본 탐색, Lower/Upper Bound✅ 스택/큐 (Stack & Queue) → LIFO/FIFO 개념 익히기📌 추천 문제수열에서 특정 값 찾기 (Binary Search)괄호 문자열 검사 (Stack)정렬된 배열에서 중복 제거 (Sorting)N개의 숫자를 정렬하기 (Merge Sort, Quick Sort)🔹 2단계: 자료구조 활용 & 탐색 알고리즘 (초급)✅ 해시(Hashing) → 해시 테이블, 해시맵.. 2025. 3. 4.