#react-testing-library초심자를 위한 React Testing LibraryReact Testing Library(이하 RTL)는 구현 기반의 테스트 도구인 Enzyme의 대안으로 자리 잡은 테스트 도구입니다. 따라서 RTL은 세부적인 구현사항보다는 실제 사용자 경험과 유사한 방식의 테스트를 작성할 것을 권고합니다. 예를 …
#tcpTCP/IPTCP/IP TCP TCP는 Transmission Control Protocol의 약어로서 인터넷상의 데이터를 주고받는 과정을 제어하는 통신 표준을 의미합니다. 이 프로토콜은 데이터를 교환하는 기기 간 데이터의 무결성(정확성)과 전달의 신뢰성을 보…
#race-condition비동기 처리 시 race condition 고려하기비동기 처리 시 race condition 고려하기 프로그래밍을 할 때 비동기 처리는 여간 까다로운 게 아닙니다. 저마다의 어려움이 있겠지만, 대표적으로 그 이유를 ‘낮은 예측성’에 들 수 있는데요. 아무리 잘 작성된 비동기 코드라 할 지라도, 동기…
#eventWeb Event 다루기Web Event 다루기 웹 개발에서 프론트엔드 영역이 이토록 발전할 수 있었던 가장 주된 이유는 웹의 특성이 단순한 ‘페이지’에서 ‘애플리케이션’으로 진화했다는 사실일 겁니다. 그리고 이 말은 곧, 좋은 웹의 기 준을 판단할 때 사용자의 행동에 따라…
#최적화웹 애플리케이션의 성능 고려하기웹 애플리케이션의 성능 고려하기 성능이 좋다는 건 웹 애플리케이션(이하 웹 앱) 구현에 어느 정도 익숙해지는 단계가 되면, 언젠가는 맞닥뜨려야 할 산이 있다. 바로 성능이다. 개발자의 관점에서 성능이 당최 무엇을 의미하는지는 몰라도, 누구든 성능이 …
#prototypePrototype, 그리고 ClassPrototype JS에서 프로토타입이란, 객체의 특성을 다른 객체로 상속하는 것을 가능하게 하는 메커니즘이다. (엄밀히 말하자면 ‘상속’이라는 단어는 적절치 않을 수 있다. 그 이유는 밑에서 다시 다루어 보겠지만, 일단은 일관된 이해를 돕기 위해 …