목록분류 전체보기 (11)
spaceBetweenWorkAndRest

왜 자바스크립트는 카멜 케이스를 사용할까?라는 궁금증이 들었다. 단순히 역사적인 이유가 있겠지 라는 생각을 하고 있었는데, 그 역사가 무엇일까? 에 대해 조사한 짧은 글이다. 결론적으론 역사적인 이유가 있었고 애덤 스미스의 보이지 않는 손처럼 모든 사람들이 암묵적으로 사용했기 때문에 현재 관습처럼 남아있다. 하지만 궁금증은 끝이 나질 않는다. 왜 사람들은 암묵적으로 카멜 케이스를 사용했던 걸까? 우선 가장 처음 찾은 답변 어이 친구 반드시 카멜케이스를 사용해야 하는 건 아니야~ stackoverflow는 정말 좋은 사이트이지만 엉뚱한 대답이 종종 존재한다. 해당 답변은 왜 자바스크립트가 카멜케이스를 사용하게 되었는지에 대한 답이 아니라 네가 원하는 대로 규칙을 정하면 돼~!라고 답하고 있었다. 물론 맞는..

리액트를 사용하는 개발자라면 반드시 사용하는 eslint가 있습니다. 바로 다양한 훅의 디펜던시를 잘 작성했는지 확인하는 ExhaustiveDeps입니다. 하지만 이 규칙... 굉장히 피곤한데 정확히 어떤 상황일 때 잔소리를 하는지 문서가 빈약한데 리액트 공식문서엔 간단한 설명만 있고, 종속성을 가능하면 정확하게 기입하는 게 좋다!라고 설명되어 있습니다. 지금까지는 단순히 해당 규칙을 켜 놓은 상태로 잔소리를 들어가며 종속성 배열을 수정 하곤 했는데, 문득 판단하는 기준이 뭘까?라는 생각이 들어서 조사를 조금 해봤습니다. 구글링으로도 관련된 레퍼런스를 찾기 어려워서 직접 린트 규칙에 대한 코드를 살펴보며 정리했습니다. 관련 코드 https://github.com/facebook/react/blob/mai..
많은 개발자는 좋은 개발팀에 들어가고 싶어한다. 좋은 개발팀 하면 꼭 따라붙는 키워드는 코드 리뷰이다. 나 역시 좋은 코드리뷰 문화를 갖고 있는 팀에 들어가고 싶어했다. 회사를 다니며 의외로 놀랐던 점은 신입 개발자 뿐만 아니라 경력이 많은 개발자 또한 좋은 코드리뷰 문화를 가진 팀을 원한다는 것이다. 코드 리뷰 문화가 좋은 팀에 들어가고 싶어요! 라는 마음을 나는 입사 하기 전부터 가지고 있었다. 지금 생각해보면 굉장히 이기적인 마음이었는데 그 당시 나에게 코드리뷰의 의미는 경력이 많은 개발자가 적은 개발자를 코칭하는 역할이라고 생각했었다. 지금 생각해 보면 터무니 없는 생각이었고 😵, 실제로 일을 해보니 코드 리뷰란 쌍방 소통이라는 점을 알게 되었다. 그렇기 때문에 다시 돌아와서 좋은 코드리뷰란 무엇..
리액트에서 이곳 저곳에서 모달을 만들며 생긴 여러가지 문제점들을 해결하고자 합니다. Problem 1 dry하지 않은 코드 react에서 가장 손쉽게 모달을 만드는 방법입니다. const Component = () => { const [isModalOpen, setIsModalOpen] = useState(false); const handleOpen = () => { setIsModalOpen(true); } const handleClose = () => { setIsModalOpen(false); } return ( modal open ); } 초기에는 모달의 양이 많지 않아서 각 컴포넌트에서 이를 모두 작성 했었습니다. 하지만 갈수록 사용되는 모달의 수가 많아지고 다양해 짐으로써 아래와 같은 문제가 ..

시작하기 전에... 우선 글을 시작하기 전에 한가지 말을 먼저 하자면, 이 글에서 다룰 내용은 여러분이 이미 알고 있을 내용일 수도 있고, 정답이 아닐수도 있다는 말을 드리고 싶다. 이 글은 주니어 개발자의 좌충우돌 상태 설계 **시도(?)**이기 때문이다. 나름 스스로 오랫동안 고민하고 다양한 레퍼런스를 조사하고 나서 개인적으로 가장 합리적이라고 생각하는 아키텍쳐를 선택하게 되었다. Next js의 렌더링 사이클 우선 상태 관리를 하기 전에 next js에서의 렌더링 사이클에 대한 이해가 필요하다. 기본적으로 next js는 ssr(server-side-render)과 csr(client-side-render)을 동시에 지원하기 때문에 page간 전환 시 어떤 흐름으로 렌더링이 되는지 개인적으로 많이 ..

SMTP 2021.07.18 이 글은 네트워크에서 어떻게 mail을 주고 받는지에 대해 조사한 글입니다. 목차 개요 프로토콜 설명 사용법 기타사항 마치며 개요 email시스템은 네트워크가 생겨난 이래 가장 많이 사용 되는 서비스중 하나입니다. 과거에도 물론이고 현재도 그 간편성 때문에 많이 사용 되고있습니다. 평소에 어떻게 email을 주고 받는지 궁금증은 갖고 있었지만 기회가 되지 않아 조사를 미루고 있었지만 이번에 회사에서 email을 주고 받을 필요가 있어서 조사할 수 있게 되었습니다. 조사하는 도중 email은 거의 대부분 smtp를 사용해서 메일을 주고 받음을 알게 되었습니다. 그럼 도대체 네트워크는 어떻게 email을 전달하고 받을 수 있는걸까? 프로토콜 설명 wiki에서 smtp를 다음과 같..

2021.05.28 이 글은 프론트엔드 진영에서 테스트 코드를 어떻게 작성하면 좋을지에 대한 글 입니다. 목차 서두 좋은 테스트 코드 선택과 집중 작성법 테스트 커버리지 마치며 서두 우리는 모두 테스트 코드의 중요성을 알고 있다. 아직 테스트 코드의 중요성을 알지 못한다면 굳이 이 글을 읽는것을 추천하지 않는다. 중요성을 인지하지 못하고 작성하는 테스트 코드는 엉망진창으로 작성될 확률이 높고 코드를 작성하는 시간 자체가 노동일 뿐이다. 잘 작성된 테스트 코드가 가져올 효용을 알고있다면 코드를 작성하는 시간은 고되지만 미래를 생각하며 버텨낼 수 있다. 테스트 코드를 작성하는일은 고되다. 시간도 많이 들고 에너지도 많이 드는 일이다. 또한 테스트 코드 자체는 철옹성은 아니다. 테스트 코드의 장점은 작성하지 ..
2021.05.02 이 글은 정규 표현식의 성능에 대해 조사한 글 입니다. 정규표현식의 성능 정규표현식은 문자열을 매치할때 원하는 문자를 빠르게 찾을수 있도록 고안된 하나의 문법이다. 우리는 프로그래밍을 할 때 이를 활용해서 원하는 형식의 문자열을 빠르고 간편하게 찾을 수 있다. 하지만 대부분 정규 표현식의 정확성에는 관심이 있지만 성능면에서 고려해보지는 않았을 것이다. 정규표현식은 성능 면에서 과연 빠를까? 도대체 어떤 원리로 문자열을 탐색해 나가는 것일까? 이 글에서 기본적인 정규 표현식의 기본적인 문법은 다루지 않도록 하고 정규표현식의 매칭 방법과 성능 향상에 대해서만 다뤄보도록 하겠다. 정규표현식의 알고리즘 여기 abc 문자열을 찾고자 하는 정규 표현식 /abc/ 가 있다. 정규표현식은 기본적으로..