자바스크립트 Date 객체 깊은 복사하기 참고: https://stackoverflow.com/questions/1090815/how-to-clone-a-date-object 업무 중에 날짜 객체를 이용해서 시간 차이에 따른 상태변화를 할 일이 있었다. 그때 날짜 객체의 깊은 복사를 하지 않아 버그가 발생했었는데, 스택 오버 플로에서 해답을 찾았다. const targetDate = new Date(); const aliasDate = new Date(targetDate); 위와 같이 하면 깊은 복사가 완료된다. 매우 간단하다.
git cherry-pick 활용하기 참고: https://cselabnotes.com/kr/2021/03/31/git-명령어-git-cherry-pick/ 어떤 특정 commit만 집어서 적용하고 싶을 때 사용한다. 모르고 테스트용 브랜치에 작업을 했을 때, 그 코드 양이 너무 많아서 다시 다른 브랜치로 옮기기 어려웠던 적이 있다. 그럴 때 일단 테스트 브랜치에 commit 한 뒤 그 내용을 작업 브랜치에 cherry-pick 하는 식으로 문제를 해결했다. 명령어는 아래와 같다. $ git cherry-pick 예를 들어 123test4 이라는 커밋을 working branch에 적용하고 싶다면 $ git checkout working $ git cherry-pick 123test4 해주면 된다.
iOS, Safari(사파리) 자바스크립트 new Date() 크로스브라우징 이슈 특정 시간이 되면 어떤 요소가 사라지도록 처리하는 업무와 타이머를 생성할 필요가 있었는데 iOS와 Safari에서는 제대로 작동하지 않거나 타이머의 숫자가 NaN으로 나타나는 이슈가 있었다. 서핑을 좀 해보니 크로스 브라우징 문제였고, iOS와 safari가 아래와 같은 표기법을 지원하지 않아서였다. new Date('2021-06-27 18:23:24'); // invalid Data로 확인 구글링 결과 해결법은 크게 두 가지였다. 1. Moment.js 사용하기 https://momentjs.com/ 2. 표준표기법 사용하기 위 코드를 아래와 같이 사용하면 된다. new Date(2021, 5, 27, 1..
HTML/CSS 네이밍 시 container와 wrapper의 차이 참고 : https://stackoverflow.com/questions/4059163/css-language-speak-container-vs-wrapper 모달 컴포넌트를 만들다가 문득 container와 wrapper의 차이가 궁금해졌다. 퍼블리싱할 때 별 생각 없이 혼용해서 사용하던 단어였는데 규칙이나 관례가 있는지 찾아봤는데 stackoverflow의 한 답변이 가장 잘 정리되어 공유한다. 결론 둘다 레이아웃을 위한 div지만 container는 주로 여러 개의 요소를 감싸는 div이고, wrapper는 단일 요소의 레이아웃을 위한 div를 말한다. 예를 들면 아래와 같다. ... ... ... ... ...