전체 글
-
useMemo 처리된 non-primitive value를 컴포넌트 prop으로 넘길 시, 전달받은 컴포넌트에서도 해당 값이 memoization된 것인지 아닌지 파악하기React 2022. 7. 8. 10:24
정리: useMemo 처리된 non-primitive value는 하위 컴포넌트에 전달됐을 때도 같은 레퍼런스를 가리키는 non-primitive value이다. (pass by value가 아닌 pass by reference) 생각해보면, 컴포넌트에 prop을 전달하면 하위 컴포넌트에서는 props라는 객체에서 값을 꺼내서 사용하는데, 이때 props의 property는 reference로 값을 저장한다. 까마득히 잊고 있던 기억: useState도 memoization이 된다… 애초에 useState가 컴포넌트의 렌더링 과정에서도 값을 쥐고 있기 위한 hook인데… 이 점을 간과하다니..
-
git stash를 써보다.Git 2022. 2. 11. 10:19
코드 작업을 하다가 아직 commit을 하기는 애매한데 branch 변경을 해야할 때, working space에서 작업하던 코드들을 관리하기가 번거로웠던 경험을 했습니다. 이럴때마다 commit을 한후 checkout으로 다른 branch에 가서 작업한 후 돌아와 다시 git reset으로 working space를 복구했는데 너무 귀찮더라구요. 그러던 중 git stash를 발견했습니다. git stash는 working space의 작업 내용을 임시로 저장해주는 명령어인데요, 이렇게 하면 commit을 할 필요없이 다른 branch에 갔다 돌아와서 코드를 복구할 수 있습니다. 아래는 git stash 관련 명령어 목록입니다. * git stash는 코드를 임시 저장하는 명령어 * git stash ..
-
git rebase를 써보다.Git 2022. 2. 11. 10:14
git을 사용할 때 항상 git merge, git pull로 branch를 합치곤 했는데, 최근 어느 task에 대해 rebase로 branch를 병합할 일이 생겼습니다. rebase가 무엇인지 알아보려고 documentation도 뒤져보고 개인 workspace에서 이것저것 만지작 거려봤는데 그 결과 체감되는 장점은 아래와 같았습니다. 1. git history가 깔끔해진다. rebase를 검색하면 대표적인 장점으로 history가 깔끔해진다가 많이 언급되던데 정말 깔끔해지더라구요. 다만 상황에 따라 branch를 분리해서 보는게 더욱 나은 상황도 있을거 같아서 남용은 좋지 않을거 같다는 생각도 들었습니다. 2. 이미 쌓아놓은 commit 목록에서 일부만 남겨놓고 나머지는 버릴 수 있다. 전 comm..
-
2020.12.22(화) 개발 일지개발 일지 2020. 12. 23. 03:18
쉬는 시간에 '얄팍한 코딩사전'이라는 유튜버 님의 채널을 알게 됐다. 어려울수도 있는 개발 지식을 추상화해서 설명해주는 컨텐츠를 하시는데 깃과 함수형 프로그래밍에 대해서도 다루셨길래 보았다. 소감: 깃의 브랜치를 평행세계라는 비유를 들어 설명한 사람은 처음이다.(신박했으며 더욱 직관적으로 와닿았다) 소감2: 함수형 프로그래밍과 일급 함수, 순수 함수, 고계 함수를 전반적으로 다루면서 설명을 해주시는데 2번 정도 더 봐야할거 같다. 19:30~22:30 1. to-do-list 리팩토링 to-do-list 프로젝트의 bg.js, clock.js, weather.js에 대한 리팩토링을 진행했다. 00:50~03:20 1. to-do-list 리팩토링(to-do-list 프로젝트의 greeting.js에 대한..
-
2020.12.20(일) 개발 일지개발 일지 2020. 12. 21. 01:05
09:30 ~ 12:30 1. 이력서 작성 2. 마인드셋을 위한 글 감상 최근 비사이드소프트의 맹기완 대표님에 대해 알게 되었다. 조금만 검색해봐도 이 분이 얼마나 대단한 분인지 잘 나와있다. 그런데도 꾸준히 책을 읽으시고 스터디를 이끌어가시며 일관되게 노력하시는 모습이 인상적이었다.(페이스북 개인 계정에서 이 분이 노력에 대해 정의한 글을 본적이 있는데, '하기 힘들어도 참고 묵묵히 실천해 나가는 것'이라고 하셨던거 같다.) 프로 중의 프로도 이렇게 열심히 하는데 아직 신입으로 취업도 못한 내가 부끄러워졌다. 맹기완 대표님도 그렇고 우아한형제들의 개발자이자 기술이사이신 김민태님도 그렇고 또한 수 많은 글들을 보아도 기초에 충실하라고 한다. 많은 것들이 빠르게 변하는 시대이지만 변하지 않는 것들이 변하는..
-
콜백 함수란?JS(javascript) 2020. 12. 18. 11:44
*혼자 내용 정리를 위해 작성하는 글이라 정확하지 않은 정보가 포함되어 있을 수 있습니다. function getData() { $.get('https://domain.com/products/1', function(response) { console.log(response); }); console.log("hello!"); } getData(); 위의 코드를 실행했을 때 "hello"가 먼저 출력되고 ajax 통신으로부터 얻은 response가 이후에 출력될 것이다. 코드 순서로만 보면 "hello"가 나중에 출력돼야하지만 먼저 출력되는 이유는 javascript가 코드를 비동기 식으로 처리하기 때문이며 ajax 통신에는 delay가 존재하기 때문이다. 그런데 이미 "hello"가 출력되는 시점에서 "$..