전체 글
[프로그래머스] 주차요금 계산 (2022 KAKAO BLIND RECRUITMENT)
주차요금 계산 https://programmers.co.kr/learn/courses/30/lessons/92341?language=javascript 코딩테스트 연습 - 주차 요금 계산 [180, 5000, 10, 600] ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"] [14600, 34400, 5000] programmers.co.kr 풀이 function solution(fees, records) { const getTimeByMinute = time => { if(..
Toast UI Editor 이미지 첨부하기
Toast 에디터는 따로 설정해주지 않아도 에디터에 이미지를 첨부할 수 있다. 기본적으로 이미지 파일을 첨부하면 이미지가 base64로 인코딩 되어 삽입되는데, 그 길이가 매우 매우 상당하기 때문에 base64로 인코딩 된 이미지 그대로 DB에 넣어준다면 문제를 초래시킨다. 위처럼 이미지 하나를 첨부한 뒤, getHTML()을 통해 contents를 살펴보면, 엄청난 양의 텍스트가 들어있는것을 볼 수 있다. (너무 길어 콘솔에도 다 찍히지 않는다😳) 그러므로 우리는 이미지 첨부시 로직을 바꿔줄 필요가 있다. addImageBlobHook을 사용하자 이미지 첨부 로직은 hooks 옵션의 addImageBlobHook 를 통해서 커스텀할 수 있다. 잠깐 구조를 살펴보면 export type HookMap =..
React 에디터로 TOAST UI Editor 사용해보기
프로젝트에 쓸 에디터 선정에 많은 고민을 했다. React 사용자들이 주로 사용하는 에디터를 조사해서 몇 가지로 추려내었다. 에디터 선정을 위한 기준은 다음과 같았다. 직관적인 UI 사용자가 개발자가 아니기 때문에 마크다운에 치중하지않은 wysiwyg 에디터가 필요했다. 주 사용언어는 한글이다. 따라서 한글에 맞춤화된 에디터가 필요했으며, 메뉴 설명 또한 한글로 되어있어야 했다. 표 첨부, 사진 첨부 기능이 있어야 했다. react-quill, summernote, Slate 등의 많은 에디터를 살펴봤고, 결론적으로 NHN사에서 제공하는 Toast Editor를 사용하기로 했다. 설치🛠 react에서 사용하기 때문에 리엑트 버전을 설치한다. toast-ui/react-editor npm i @toast-..
클린 코드(Clean code) Day 9
🔖 오늘 읽은 범위 : 10장 클래스 🙂 책에서 기억하고 싶은 내용을 써보세요. 클래스는 작아야 한다. 클래스 이름은 해당 클래스 책임을 기술해야 한다. 간결한 이름이 떠오르지 않는다면 클래스 크기가 너무 커서 그렇다. 클래스 이름이 모호하다면 책임이 너무 많아서이다. → 단일 책임 원칙 (Single Responsibility Principle) 단일 책임 원칙은 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다는 원칙이다. 클래스는 변경하기 쉬워야 한다. 요구사항은 변하기 마련이다. 따라서 코드도 변하기 마련이다. 새 기능을 수정하거나 기존 기능을 변경할 때 건드릴 코드가 최소인 시스템 구조가 바람직하다. 이상적인 시스템이라면 새 기능을 추가할 때 시스템을 확장할 뿐 기존 코드를 변경하지는 ..
클린 코드(Clean code) Day 8
🔖 오늘 읽은 범위 : 9장 단위 테스트 🙂 책에서 기억하고 싶은 내용을 써보세요. 테스트는 유연성, 유지보수성, 재사용성을 제공한다. 테스트 케이스가 없다면 모든 변경이 잠정적인 버그다. ✔️ 깨끗한 테스트를 위한 다섯 가지 규칙 Fast🏃🏼 테스트는 빨리 돌아야 한다. 테스트가 느리면 자주 돌릴 엄두를 못 내고, 자주 돌리지 않으면 초반에 문제를 찾아내 고치지 못한다. Independent🧍🏼♂️ 각 테스트는 서로 의존하면 안 된다. 각 테스트는 독립적으로 실행할 수 있어야 하며 순서에 영향을 받지 말아야 한다. 서로에게 의존하면 결함이 발생한 원인을 찾기 힘들며 때로는 숨겨진다. Repeatable 🔄 어떤 환경에서도 반복 가능해야 한다. 실제 환경, QA환경, 네트워크에 연결되지 않은 환경에서도..