[JS] crypto.randomUUID()를 사용하여 자바스크립트로 랜덤 id 생성하기
·
Frontend/HTML ∙ CSS ∙ JavaScript
바닐라 자바스크립트로 투두리스트를 만들어보고 있다. GitHub - jisunipark/toodooContribute to jisunipark/toodoo development by creating an account on GitHub.github.com crypto.randomUUID 메서드 새롭게 생성되는 todo 아이템 객체의 id 값으로 랜덤한 값을 넣어주고 싶다. 찾아보니 Web API에서 제공하는 Crypto 인터페이스의 crypto.randomUUID 메서드를 활용해 쉽게 UUID를 생성할 수 있다.const id = crypto.randomUUID();console.log(id); // "cbfc904b-b898-4deb-b736-ba433489904c" crypto.randomUUID 메..
[React] cloneElement로 변수에 담긴 컴포넌트 활용하기
·
Frontend/React.js
💁🏻‍♀️ too long? click HERE🚨 문제 상황컴포넌트화 한 svg 아이콘을 상수화해서 객체의 프로퍼티 값으로 저장해 두었다. 여기까지는 해결을 했는데 이어지는 문제는 이 컴포넌트에 프롭을 어떻게 내려주어야 하는지.. 상수화를 위해 만든 객체 구조는 대략 이렇다. (전체 코드는 이전 포스트에)export const BOARDS: Boards = { dashboard: { boardName: '대시보드', icon: , link: '/main', },}구조분해 문법을 사용해서 해당 svg 아이콘을 가지고 있는 icon 프로퍼티의 값을 가져온다. 적절한 자리에 {icon}을 넣어 주긴 했는데..function BoardItem({ boardType, pathname }:..
[React] 리액트 컴포넌트를 값으로 사용하기
·
Frontend/React.js
벡엔드, 디자이너분과 같이 협업 프로젝트를 진행 중이다. "Keepy-Uppy"라는 개발 프로젝트 협업을 돕는 서비스다. 작업하는 과정에서 물음표가 생긴 부분을 멘토님께 질문드렸고 새로 알게 된 내용을 정리할 겸, 조금 더 제대로 공부할 겸 남긴다.💁🏻‍♀️ too long? click HERE🚨 문제 상황지난 번 svg 파일을 컴포넌트화 해서 사용하는 방법에 대해 알게 된 후 우리 프로젝트에도 그렇게 변경하는 것이 좋겠다는 의견을 냈고, 감사히 다른 팀원 분께서 변환 작업을 맡아주셨다. 그래서 오늘은 기존에 사용하던 svg 이미지들을 해당 컴포넌트로 바꾸는 작업을 했다. svg 컴포넌트 만들기지난번 "The-Julge" 프로젝트를 진행하며 svg 파일의 색상을 다루느라 시간을 꽤 쓴 적이 있다. ..
[React] svg 컴포넌트 만들기
·
Frontend/React.js
지난번 "The-Julge" 프로젝트를 진행하며 svg 파일의 색상을 다루느라 시간을 꽤 쓴 적이 있다. svg 파일 내의 fill 속성에 접근해서 색상값만 변경해 주면 되는 건 알겠는데, 리액트에서 사용하기에 생각보다 번거로웠다. 그러다가 생각해 냈던 방법이 svg 파일을 컴포넌트 화하는 방법이었다. prop으로 색상을 지정해 주는 방법! 그 방법을 생각해내고서 좋은 방법이라고는 생각했는데 굳이 컴포넌트까지 만드는 건 '투 머치'인가 싶은 생각도 들고, 그 방법에 대해 어떤지 물어봤던 팀원의 반응이 뜨뜻미지근해서 결국엔 같은 아이콘을 색상만 바꿔 두 개씩 만들었던 적이 있다. 필요한 색깔이 두 가지였으니 다행이지, 같은 아이콘이 여러 색깔로 필요했다면 파일 하나하나 import 해오기에도, 알맞은 것을..
[리팩터링 2판] Chapter 3 - 코드에서 나는 악취
·
개발서적/리팩터링 2판
코드에서 악취가 날 때 그것이 무엇 때문에 나는 냄새인지 찾을 수 있도록(ㅋㅋ) 코드 악취의 요소 24가지를 설명한다. 개인적으로 이번 챕터는 저자가 너무 말을 웃기게 해서 재밌게 읽은 챕터다. (일단 코드 악취라는 말부터가 재미있음) 그런데 각각의 문제 유형에 대한 해결책으로 구체적 리팩터링 단계를 언급하는 부분이 많아서 책을 끝까지 읽은 후에 다시 돌아와서 재차 읽어보면 더 제대로 이해할 수 있을 것 같다. 우선은 쭉 훑어보는 식으로 읽었다. 우선 악취 요소 24가지는 다음과 같다:기이한 이름중복 코드긴 함수긴 매개변수 목록전역 데이터가변 데이터뒤엉킨 변경산탄총 수술기능 편애데이터 뭉치기본형 집착반복되는 switch문반복문성의 없는 요소추측성 일반화임시 필드메세지 체인중개자내부자 거래거대한 클래스서로..
[리팩터링 2판] Chapter 2 - 리팩터링 원칙
·
개발서적/리팩터링 2판
리팩터링을 ‘왜’ 해야 하는지 납득이 되게 하는 챕터다. 리팩터링을 왜 해야하는지, 그리고 어떻게 해야 하는지를 말한다. 개인적으로 ‘아하!’ 모먼트와 ‘오호~’ 모먼트가 많았던 챕터다. Quotes & Notes리팩터링: 소프트웨어의 겉보기 동작은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법(…) ‘겉보기 동작’이란 표현을 썼다. 리팩터링하기 전과 후의 코드가 똑같이 동작해야 한다는 뜻이다.누군가 “리팩터링하다가 코드가 깨져서 며칠이나 고생했다”라고 한다면, 십중팔구 리팩터링한 것이 아니다.기능을 추가할 때는 ‘기능 추가’ 모자를 쓴 다음 기존 코드는 절대 건드리지 않고 새 기능을 추가하기만 한다. (…) 반면 리팩터링 할 때는 ‘리팩터링’ 모자를 쓴 다음 기능 추가는..
[리팩터링 2판] Chapter 1 - 리팩터링: 첫 번째 예시
·
개발서적/리팩터링 2판
리팩터링 2판 읽기 스터디를 시작했다. 일주일에 한 챕터씩 읽고 함께 책 내용에 대해 이야기 나눠보는 스터디다. 안 그래도 스프린트 과정 끝나고서 개발 서적 많이 읽으려고 하던 와중이었는데 좋다! 첫 챕터에는 예시 코드를 차근차근 정리해가며 리팩터링이 어떤 식으로 이루어지는지 그 예시가 나온다. 확실히 예시를 코드를 따라가며 실제로 컴퓨터로 따라 작성해보니 리팩터링을 어떻게 해야 하는지 대략적으로나마 감이 잡힌다. 깃헙 레포도 하나 팠다. 코드 따라 작성해보기" data-og-description=" 코드 따라 작성해보기. Contribute to jisunipark/refactoring development by creating an account on GitHub." data-og-host="gith..
나는 질문하는 사람인가?
·
배움과 성장/생각 기록
개발 공부를 시작하면서 부쩍 ‘질문’이라는 키워드를 정말 많이 듣는다. 끊임없이 맞닥뜨리는 문제들을 해결해 나가야 하는 직종이라 그런가. 어느 직종인들 문제 해결이 필요하지 않겠느냐마는, 개발자에는 특히나 자잘한 문제들이 많이 발생하는 것 같다. 코딩을 하는 것 자체가 문제를 해결하기 위함이겠만 코딩을 하면서 발생하는 에러도 처리해야 하고 예측하지 못한 결과도 바로잡아야 하니까. 두더지 잡기 게임하듯 시시각각 문제를 잡아야 하고, 그 과정에서 문제 해결 능력이 중요하다 보니 질문하는 것이 개발자에게는 특히 중요한 것 같다. 나는 질문하는 사람인가? 사실 난 질문을 잘 못한다. 질문을 많이 안 해봐서 질문하기 낯설고, 내가 다른 사람의 시간을 뺏는 것 같아 질문하기 미안하고, 나만 모르는 것 같아 질문하기..