위키백과에서 먼저 정의를 살펴보았습니다. "라이브러리는 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임이다. 여기에는 구성 데이터, 문서, 도움말 자료, 메시지 틀, 미리 작성된 코드, 서브루틴, 클래스, 값, 자료형 사양을 포함할 수 있다." "컴퓨터 프로그래밍에서, 소프트웨어 프레임워크는 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조이다. 간단히 뼈대, 골조, 프레임워크라고도 한다." 글만 간단히 보아도 두 개념이 많이 다른 것을 알 수 있습니다. 라이브러리는 프레임워크에 비해 작은 개념입니다. 프론트개발을 할때 쉽게 접하는 것을 예로 들어보자면 jQuery, React 같은 것들이 라이브러리입니다. 엥? 왜 React가 라이브러리이지? 프레임워크 아니었어..
react-testing-library 를 사용한 리액트 컴포넌트 테스트 react-testing-library Enzyme과 달리 모든 테스트를 DOM 위주로 진행 필요한 기능만 지원해서 가볍다 일관성있고 좋은 관습을 따르는 테스트 코드를 작성할 수 있게 유도해준다. props, state 조회하는 작업을 하지 않음 리팩터링 시 구조, 네이밍 변경 시 기능이 똑같이 작동한다면 테스트가 실패하지 않음 CRA 프로젝트 생성 react-testing-library, jest-dom 설치 jest-dom은 jest 확장, dom관련 matcher를 추가해준다. vscode 사용 시 @types/jest 도 같이 설치 테스트 코드 작성 테스팅 스냅샷 테스팅 ㄴ 렌더링결과와 이전 렌더링 결과의 일치여부(u 키로 ..
Fingerprint.js 라이브러리 https://github.com/Valve/fingerprintjs 사용자의 브라우저 버전을 표시할 수 있다. - 웹 서버가 통신을 하는 과정에서 전송되는 기본정보 - 브라우저의 종류 - PC의 운영체제(OS) - 쿠키 사용여부(브라우저 설정값) 정보 - 어도비 플래시(Adobe Flash), 자바 가상머신(Java Virtual Machine)을 통해 브라우저 기능을 지원하는 프로그램의 버전 - PC의 표준시 - 화면 해상도 - PC의 보유 글꼴 및 색상 등의 정보 - 그 외에도 여러가지. 이러한 정보들을 모아서 브라우저 지문이라고한다. 개인을 식별 할 수 있는 정보이기보다는 접속한 pc, 브라우저의 단순한 설정 정보를 말한다. 다양한 값을 가지기 때문에 로그인 ..