[TIL] gitmoji 커밋 메시지 컨벤션 gitmoji-cli를 활용해 이모티콘을 커밋 메시지 컨벤션으로 사용해보자! 다음 명령어로 설치해준다 npm i -g gitmoji-cli 터미널에서 다음과 같이 입력해 커밋할 수 있다 git add . gitmoji -c 모든 이모티콘은 공식 사이트에서 확인할 수 있다 gitmoji :truck: Move or rename resources (e.g.: files, paths, routes). gitmoji.dev Tools/Git, GitHub 2022.04.24
[HUFS/알고리즘] #6 정렬 알고리즘 정렬(Sorting) 알고리즘 내부(Internal) 정렬 입력의 크기가 주기억 장치의 공간보다 작은 경우 (빠름) 버블 정렬, 선택 정렬, 삽입 정렬 합병 정렬, 퀵 정렬, 힙 정렬, 쉘 정렬 기수 정렬 (입력이 제한된 크기 이내의 숫자로 구성될 때) 외부(External) 정렬: 입력의 크기가 주기억 장치의 공간보다 큰 경우 (느림) 보조 기억 장치에 있는 입력을 나누어 주기억 장치에 읽어 들인 후, 다시 보조 기억 장치에 저장 다방향(p-way) 합병, 다단계(Polyphase) 합병 1. 버블(Bubble) 정렬 이웃하는 숫자를 비교해 작은 수를 앞(위)쪽으로 이동시키는 과정을 반복해 정렬하는 알고리즘 * 작은 수가 앞으로 올라오는 과정이 마치 거품 같아 붙은 이름이다 이중 for문 n(n-1)/.. Computer Science/Algorithm 2022.04.18
[HUFS/알고리즘] #5 그리디 알고리즘(2) 5. 집합 커버(Set Cover) 문제 집합 커버 문제: n개의 원소를 가진 집합 U가 있고, U의 부분집합들을 원소로 하는 집합 F가 주어질 때, F의 원소들인 집합들 중에서 어떻게 선택하여 합하면 선택하는 집합의 수를 최소화하면서 U와 같게 되는가? 신도시 학교 배치 문제 (응용): 10개의 마을이 있을 때, 등교 거리가 15분 이내가 되도록 학교들의 위치를 선정할 때, 어느 마을에 학교를 신설해야 학교의 수가 최소가 되는가? 그렇다면 집합 커버 문제의 최적해는 어떻게 찾아야 할까? n이 커질 때, 2n-1개를 다 검사하는 것이 비효율적이기 때문에 최적해가 아닌 근사해(approximation solution)를 찾는다 while 루프 수행 최대 n번 / Line 2 O(1) / Line 3 O(n.. Computer Science/Algorithm 2022.04.11
[노마드코더] #6 Finishing Up Cleaning JS Home과 Auth 페이지를 리팩토링해보자 [src/components/PostFactory.js] import React, { useState } from "react"; import { v4 as uuidv4 } from "uuid"; import { storageService, dbService } from "fbase"; const PostFactory = (props) => { const [post, setPost] = useState(""); const [attachment, setAttachment] = useState(null); const onSubmit = async (event) => { event.preventDefault(); let attachmentUrl .. Back-end/Firebase 2022.04.10
[노마드코더] #5 Edit Profile Get My Own Posts 프로필 페이지에 내가 쓴 글 목록을 구현해보자 [src/components/Router.js] ... ... 사용자를 식별하기 위해 Profile에 userObj를 props로 넘겨준다 [src/routes/Profile.js] ... const getMyPosts = async () => { const posts = await dbService .collection("posts") .where("creatorId", "==", `${props.userObj.uid}`) .orderBy("createdAt", "desc") .get(); console.log(posts.docs.map((doc) => doc.data())); }; useEffect(() => { getMyP.. Back-end/Firebase 2022.04.08
[TIL] Next.js & TypeScript & styled-components 초기 세팅 ESLint & Prettier🔽 Next.js 초기세팅 - eslint, prettier, typescript(tsconfig) - 짜구's WIKI 프로젝트 생성 2. eslint, prettier 라이브러리 설치(vscode extension 설치와 settings.json 설정은 필수) 3. eslint 설정 예시 (.eslintrc) 3. prettier 설정 예시 (.prettierrc) wiki.jjagu.com 터미널에 다음 항목들을 설치하고, 위 글을 참고해 ESLint와 Prettier 설정을 해준다 npm i -D eslint eslint-config-airbnb eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react esli.. Front-end/Next.js 2022.04.07
[노마드코더] #4 File Upload Preview Images 파일 저장을 위해 Firebase 콘솔에서 Storage를 활성화시켜주자 글에 이미지를 함께 올릴 때, FileReader API로 이미지 미리보기를 구현해보자 [src/routes/Home.js] ... const onFileChange = (event) => { const { target: { files }, } = event; const theFile = files[0]; const reader = new FileReader(); // 파일이 읽어지면 실행 reader.onloadend = (finishedEvent) => { console.log(finishedEvent); }; reader.readAsDataURL(theFile); // 파일을 읽기 시작 }; ... .. Back-end/Firebase 2022.04.06