분류 전체보기
-
[회고] 2023 돌아보기Daily-Life 2023. 12. 29. 04:48
🍀 목차 Lacked(아쉬웠던 점) Liked(좋았던 점) Learned(배운 점) Longed for(바라는 점) 1년은 새해에는 참 길어 보이다가도 연말에는 참 짧은 것 같다. 회고는 11월에 처음 작성했었는데, 내가 무엇을 해왔었는지 전체적으로 바라볼 수 있어서 좋았다. 2023년의 마지막 주, 올해의 나를 돌아보고 싶어 작성한다. 4L 회고(Liked, Lacked, Learned, Longed for : 4개의 L을 기록하며 회고하는 방식)는 보통 Liked부터 시작하던데, 회고 글은 Lacked부터 시작하기로 했다. Lacked(아쉬웠던 점) 번아웃 2022년 12월, 최종 탈락을 연달아 2번 겪으며 심적으로 많이 힘들었다. 정말 가고 싶었던 회사가 있어 더 타격이 컸다. 직장을 다니는 것도 ..
-
[TypeScript] 타입(type)과 인터페이스(interface)의 차이점Front-End/TypeScript 2023. 12. 22. 23:45
🍀 목차 확장 새 필드 추가 사용 범위 Index Signature type으로만 선언 가능한 타입들 타입(type)과 인터페이스(interface)는 TypeScript에서 객체의 타입을 만드는 데 사용된다. type alias로는 객체 타입뿐 아니라 모든 유형의 타입을 만들 수 있는데, 이처럼 두 키워드의 특징과 차이점을 알아보자. 확장 type(교차 타입 사용) type Animal = { name: string sound: string } type BearFeature = { honey: boolean sound: string } type Bear = Animal & BearFeature; const bear:Bear = {name:"Pooh",sound:"kkao~",honey:true}; be..
-
[WizSched] 설정 기록Front-End/Project 2023. 12. 15. 02:04
🍀 목차Issues, TemplatesProjectsdefault branch 변경Vite Template을 활용하여 React+TS 세팅ESLint 설정Prettier 설정Tailwind CSS 설치postcss.config.jstailwind.config.jstsconfig.json 프로젝트 요약Google APIs를 활용한 프로젝트 Issues, Templates 개선에 대한 고민만 담은 라벨 추가(예정) Issue 템플릿을 등록하여 이슈 등록 시 편하게 만든다. 개인 프로젝트기에 매번 Assignees는 나이고, Feat 관련 이슈는 Labels를 매번 Feat으로 붙여줘야 할 테니 default로 바꿔주었다. 비슷하게 Bug, Refector, 기타 작업을 위한 템플릿도 만들..
-
[React] 번들러(Bundler)Front-End/React 2023. 12. 7. 23:34
🍀 목차글의 목적CRA(Creat-React-App)번들러WebpackVite 글의 목적 처음 React 프로젝트를 시작하게 되었을 때, 공식 문서에서는 Create React App을 추천해 줬었다. React에 아직 익숙지 않은 개발자에게 Create-React-App은 처음부터 React로 만들어진 새로운 애플리케이션을 만드는 가장 편한 방법이었다. 모든 React App을 CRA(Create-React-APP)로 만들어야 하는 줄 알았던 때도 있었다. 시간이 지나며 Webpack, Bundler, Vite 등의 키워드를 마주치는 비율이 높아졌고, 왜 현재는 CRA를 추천하지 않는 사람들이 많은 지 알고 싶어 글을 작성하게 되었다. 글을 통해 번들러(Bundler)에 대한 개념을 대략적으로..
-
[React] 상태 관리 (+라이브러리)Front-End/React 2023. 12. 1. 18:54
🍀 목차전역 상태상태 관리의 필요성대표적 라이브러리와 콘셉트계속되는 연구들 전역 상태 상태는 변화하는 동적인 데이터이다. 웹 페이지에서 데이터는 사용자와 상호작용을 통해 변경되기도 하고, 그렇게 변한 데이터가 UI에 나타나기도 한다. React에서는 Component(컴포넌트)들이 State(상태)라는 객체를 가지며, 변경되면 컴포넌트는 리렌더링되어 반영하게 된다. 이러한 상태들은 보통 컴포넌트 안에서 관리되나, 단일 컴포넌트를 넘어 전역적으로 프로젝트에서 사용되는 상태가 될 수도 있다. 보통 전역이란 단어가 붙으면 프로그램 어디서나 접근할 수 있다를 의미하는데, 전역 상태도 같다. 또한, 상태기에 컴포넌트가 변경을 감지해 리렌더링 해야 한다. 전역 상태의 예시에는 무엇이 있을까?다크모드나 로그인..
-
[프로그래머스] 표현 가능한 이진트리(JavaScript)Problem-Solving/Problem 2023. 11. 24. 18:01
🍀 목차 문제 설계 구현(JavaScript) 최종 코드 문제 https://school.programmers.co.kr/learn/courses/30/lessons/150367 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 (1) 표현 가능한 이진트리 경우의 수(h = 1(최소)) 루트 노드가 0일때 루트 노드가 1일 때 (2) 더미 노드를 채워 포화 이진트리로 만드는 부분 높이가 h인 포화 이진트리 노드 수는 2^(h+1) - 1라는 것을 이용한다. 문제를 왼쪽 서브 트리, 루트, 오른쪽 서브 트리로 생각할 수 있다(분할 정복). 구현(JavaS..
-
[회고] 우아한테크코스 프리코스를 회고하며Daily-Life 2023. 11. 20. 23:14
🍀 목차프리코스란?1주 차2주 차3주 차4주 차1주 차 ➡️4주 차 프리코스란? 우아한테크코스는 우아한형제들에서 진행하는 웹 개발 교육과정이다. 프리코스는 해당 교육과정의 선발 과정 중 하나이며, 각 모집분야에 명시된 언어를 활용하여 약 한 달간 주어진 미션을 수행한다. 지원서를 제출하면 모두가 참여 가능하며 커뮤니티(디스코드)를 통해 지원자들끼리 다양한 공유활동(지난 과제 리뷰/개발 지식 공유/모각코 등)이 가능하다. 내가 프리코스에 참여하게 된 이유는 총 세 가지였다. 1. 무언가를 만들어 본 적이 너무 옛날이다. 프로젝트도 계속 흐지부지됐고, 그러다 보니 내가 정말 무언가를 만들 수 있을까? 에 대한 두려움이 생겼다. 간단한 것이라도 주어진 문제에 도전해보고자 했다.2. 테스트 코드를 맛볼 수 ..
-
[최소신장트리] 크루스칼(Kruskal) 알고리즘Problem-Solving/Algorithm 2023. 10. 29. 03:28
🍀 목차 크루스칼 알고리즘 같은 목적을 가진 알고리즘 기본 이해 구현(JavaScript) 시간 복잡도 크루스칼 알고리즘 최소 신장 트리 (MST : Minimum Spanning Tree) 알고리즘 중 하나. MST(Minimum Spanning Tree) 모든 정점을 잇는 최소 비용 Spanning Tree를 찾는 것이 목적. 무향 가중치 그래프에서 적용한다. 사이클이 포함되어서는 안 된다(트리는 사이클 없이 모든 정점이 연결되어 있는 그래프 자료구조). 기본적으로 그리디 알고리즘을 바탕으로 하고 있다. 항상 최소 비용을 찾고 탐욕적으로 선택한다. 간선 선택 기반 알고리즘이다. 간선을 가중치(비용) 오름차순으로 정렬하고 Union-Find 알고리즘을 적용하며 사이클 형성 유무를 판단하며 선택해 간다...