키리찹의 IT노트 122

일정 관리 앱[7]. Moment-Calendar

📅 Moment-Calendar 🎤 Introduction 클론코딩으로 만들었던 바닐라 자바스크립트 기반의 크롭 웹 어플리케이션 'Momentum'과, 라이브러리 없이 Date 객체로 구현한 Calendar를 연결시켜 완성한 첫 번째 리액트 프로젝트입니다. 효율적이고 잘 짜여진 코드라고는 할 수 없지만, 지금까지 공부한 내용을 복습하면서 state, props, redux 등 리액트의 기본적인 기능을 익힐 수 있었습니다. 단순히 책이나 영상을 보고 따라하기보다는, 스스로 고민하며 문제를 해결하고 코딩할 수 있는 경험이었습니다. [🔨 Stack] CRA(Create React-App) Firebase [📸 Screenshots] [🌎 URL] Source code cdcoc0/momentum-calenda..

Develop/React 2021.06.11

일정 관리 앱[4]. Calendar

📆 Calendar [🔨 Stack] CRA(Create React-App) [📸 Screenshots] [🌎 URL] ↓↓ https://cdcoc0.github.io/calendar-react-datejs/ React App cdcoc0.github.io [🧾 Description] Date.js 객체로 달력 구현 이번 달 달력에 포함되는 지난 달의 마지막 주, 다음 달의 첫 주는 글자색을 연하게 설정 날짜를 클릭하면 해당 날짜로 포커스 이동 포커스 설정된 날짜를 더블클릭하면 일정 추가 모달 창 팝업 모달은 라이브러리 없이 구현 [📂 APIs / Libs] - Date Date.js로 날짜 정보를 가져옴 Day.js를 사용해 날짜 정보의 포맷 설정 - Context API 모달에서 포커스된 날짜 정보..

Develop/React 2021.05.25

6-8. 힙 정렬(Heap Sort)

힙이란? 힙(heap)을 사용해 정렬하는 알고리즘 힙은 '부모의 값이 자식보다 항상 크다'는 조건을 만족하는 완전이진트리 부모의 값이 자식보다 항상 작아도 힙이라고 함(부모와 자식 요소의 관계만 일정하면 됨) 완전이진트리 → 힙 힙은 루트가 가장 큰(혹은 작은) 값이어야 함 즉, 모든 부모와 자식의 관계는 항상 부모의 값 >= 자식의 값이 성립되어야 함 힙에서 부모와 자식 관계는 일정하지만 형제 사이의 대소 관계는 일정하지 않음 힙의 요소를 배열에 저장 부모와 자식의 인덱스 사이에는 다음과 같은 관계 성립 1. 부모는 a[(i - 1) / 2] 2. 왼쪽 자식은 a[i * 2 + 1] 3. 오른쪽 자식은 a[i * 2 + 2] 힙 정렬 '가장 큰 값이 루트에 위치'하는 특징을 이용하는 정렬 알고리즘 힙에..

6-7. 병합 정렬(Merge Sort)

정렬을 마친 배열의 병합 : 정렬을 마친 각 배열에서 선택한 요소의 값을 비교해 작은 값의 요소를 꺼내 새로운 배열에 넣는 작업을 반복하여 정렬 [그림] 배열 a와 b를 앞에서부터 차례로 비교하여 작은 값을 꺼내 비에 넣음 [실습 코드] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 static void merge(int[] a, int na, int[] b, int nb, int[] c) { int pa = 0; int pb = 0; int pc = 0; while(pa