기계인간 on Twitter: “git은 무엇으로 해시값을 만드는지랑, 각 커밋들의 연결이 방향 비순환 그래프라는 것만 알면 덜 헷갈리고 금방 배운다고 생각한다. 회사에서 한 10 명에게 그런 방식으로 알려준 다음 커맨드를 알려드렸더니 굉장히 빨리 익숙해지던 기억. git 학습은 이론이 중요하다고 생각한다.” - 보통 Git을 쓴다고 하면 사용되는 몇 가지 커밋에 익숙해지는데 그치는 경우가 있다. 나도 그 중 한명이었다. 그런데 그 Git의 개념을 이해하는데 애먹다 보면, 대체 왜 이런식의 버전 관리 시스템이 나온걸까? 하고 이해를 하고싶어지는 순간이 있는데, 위의 트윗처럼 기본 개념을 익히고 나서 Git을 사용하면 잘못된 사용 때문에 고생할 일이 거의 없어지게 된다. 아래의 링크도 조금 길지만 Git의 기본 개념을 잘 설명하고 있다.
tsmonad
라는 라이브러리를 써서 개발한 적이 있는데, 기본적인 기능은 그럭저럭 동작하지만 이제는 관리가 안되는 상태이다. 그러다 발견한 패키지가 이건데, 딱 Either(Result), Maybe 모나드를 활용한 더 안정적인 데이터 처리를 하고자 할 때 활용하기 아주 좋다고 생각한다. 문서도 깔끔하게 잘 되어있고 방법도 대체적으로 원하는 방식으로 처리할 수 있도록 다양하게 제공하고.justify-content: space-evenly
라는 속성이 있다. 균등하게 간격을 넓혀주는 속성인데, Edge 브라우저에서는 구현이 되어있지 않아서 폴백 스타일을 만들어주어야 한다. 의사 엘리먼트를 사용하여 간단하게 처리할 수 있다.div
로 때울 수 있는 것은 아니다. 프론트엔드 개발자라면 시맨틱한 웹을 만들기 위해 노력하고 잘 모른다 할지라도 최소한의 신경을 써서 마크업을 해야 할 의무가 있으며, 그게 실제로 엄청나게 어려운 것이 아니다는 이야기이다.useState
를 활용하는게 좋으나, 한 컴포넌트(혹은 커스텀 훅)에서 서로 연계되지 않은 상태를 여럿 활용해야 할 때는 useReducer
가 더 좋은 선택이다. 또한 useContext
를 사용하여 전역으로 dispatch
를 전달하는 방법도 소개한다.useMemo
는 적당히 잘 쓰고 있다고 생각하지만 useCallback
은 좀 아무 생각없이 쓰고 있다는 생각을 하고 있었다. ‘어차피 나중에 최적화 한다면 그냥 지금 써놓으면 되는거 아냐?’ 하고 말이다. 이 글을 읽고 그 원리를 파악하는데 도움이 되기도 했지만, “제품의 최적화를 할 시간에 핵심 가치에 집중하라” 는 내용에 깨달음을 얻었다. 또한 최적화를 시도하고자 한다면 제대로 측정을 한 다음에 시도할 것을 강조하기도 한다. 이 글을 읽고 나름 정리를 해 보기도 했다.fetch
후 가져온 데이터 기반으로 컴포넌트 랜더링을 할 때 loading
, success
, failed
상태에 따라 패턴 매칭 처럼 랜더링 하는 전략 구현체README.md
파일을 어떤 내용으로 채워야 할지 감이 안잡힐 때가 많은데 이 CLI를 이용하면 쉽게 괜찮은 내용의 README 파일을 작성할 수 있겠다.sprites
엘리먼트를 실제 DOM처럼 다룰 수 있게 도와주는 2D 랜더링 라이브러리. 애니메이션을 다루는 것은 언제나 궁금한 분야기 때문에 예제를 살펴 보았지만 눈이 팽팽 돈다.