2021/11

이번 포스팅에서는 테스트에 대한 이야기를 해보려고 한다. 첫 번째 주제는 단위 테스트이다. Jest 설치하기 유닛 테스트를 할 수 있는 라이브러리는 여러 가지가 있지만, 나는 jest가 지금 시점에서는 가장 좋은 옵션이라고 생각을 한다. 자바스크립트를 사용하는 프론트엔드, 백엔드 모두 활발하게 쓰이고 있으며, test runner와 test matcher, test mock 등을 별도의 여러 개의 라이브러리를 설치해 주지 않고 이 jest 프레임워크 안에서 한꺼번에 할 수 있기 때문이다. 그러면 jest 를 프로젝트에 설치하는 과정부터 하나씩 살펴보도록 하자. 먼저 jest 라이브러리를 설치한다. yarn add --dev jest 설치 후에는 package.json 파일에 다음과 같이 스크립트를 추가해..
오늘은 오랜만에 제품 리뷰 포스팅을 하려 한다. 내가 약 2달 전쯤에 구매했던 뱅앤올룹슨 베오사운드 A1 2세대 블루투스 스피커이다. 참고로 이 포스팅은 어떠한 대가도 받지 않고 작성하는 솔직. 담백. 리뷰임을 먼저 밝힌다. 나는 이전에 JBL의 Pulse 3 스피커를 사용했다. 그 스피커도 나에겐 충분히 좋았다. 개인적인 사정으로 그 스피커를 다른 사람에게 넘겨주게 된 이후, 한동안은 블루투스 스피커 없이 살았다. 예를 들면 맥북 내장 스피커, 아이패드 스피커, 갤럭시 폰 스피커 등등... 나쁘진 않았지만 뭔가 아쉬움이 있었고, 그래서 여러가지 블루투스 스피커를 알아보기 시작했다. 10만원 이하의 스피커부터 100만원 이상까지 정~말 다양한 종류의 스피커가 있었다. 개인적으로 한 번도 안 써본 브랜드의..
아이템 1. 타입스크립트와 자바스크립트 관계 이해하기 타입스크립트는 문법적으로 자바스크립트의 상위집합. → 자바스크립트 프로그램에 문법 오류가 없다면, 유효한 타입스크립트 프로그램이라고 할 수 있다. → 자바스크립트 프로그램에 어떤 이슈가 존재한다면 문법 오류가 아니라도 타입 체커에게 지적당할 가능성이 높다. → 문법의 유효성과 동작의 이슈는 독립적인 문제 타입 시스템의 목표 중 하나는 런타임에 오류를 발생시킬 코드를 미리 찾아내는 것이다. → 그러나 타입 체커가 모든 오류를 찾아내지는 않음 → 타입 체커를 통과하면서 런타임 오류를 발생시키는 코드는 충분히 존재. 타입스크립트 타입 시스템은 자바스크립트의 런타임 동작을 '모델링' 한다. const x = 2 + '3'; // 정상, string const..
4. 영지식 증명에 대해 어린아이에게 설명해 준다고 생각하고 본인만의 언어로 설명해주세요. 영지식 증명은 말 그대로 지식이 없이 해당 내용을 증명하는 것이다. 비유를 통해 설명을 해 보도록 한다. 증명자 재석은 어떤 동굴 안에 비밀의 문을 열 수 있는 열쇠를 가지고 있다. 동굴은 다음과 같은 고리 모양으로 되어 있으며 가운데 비밀의 문이 있다. 입구에서는 비밀의 문이 보이지 않는다. 검증자 명수는 키를 가지고 있을 수도 있고, 아닐 수도 있다. 명수가 키를 가지고 있는지 여부를 재석은 알아내야 하지만 명수는 그 사실을 알려주지 않는다. 이러한 상황 속에서 명수가 아무런 정보도 주지 않고 키를 가지고 있는지 재석이 증명하려면 다음과 같이 해볼 수가 있다. 먼저 명수가 A 또는 B 문으로 들어간다. 재석은 ..
최근에 웹 프론트엔드 개발자로 취업을 준비하는 개발자 지망생 분들을 멘토링을 하면서 여러가지 질문들을 받는데, 그 중에서 나도 고민을 하고 답변을 해준 질문들이 있었던 것 같아 그러한 질문들도 조금씩 블로그에서 다루어 보려고 한다. 이번 주제는 리액트에서의 상태관리를 어떤 방식으로 하는 것이 소위 best practice인가에 대한 질문을 받았고 이에 대한 내 생각을 정리해 보려고 한다. 어디까지나 이 글이 정답은 절.대. 아니며 자유로운 의견은 댓글로 남겨주면 감사할 것 같다. 질문 : 리액트에서 상태관리는 어떻게 해야 하나요? 상태관리 라이브러리는 꼭 써야 하나요? 쓰게 된다면 어떤 것을 써야 하나요? 이 이야기를 하려면 먼저 Flux 패턴에 대해서 이야기를 할 수 밖에 없을 것 같다. Flux 패턴..
DevOwen
'2021/11 글 목록