목록전체 글 (185)
hmk run dev
몽고 DB의 기본 개념 MongoDB는 고성능, 고가용성 및 쉬운 확장성을 제공하는 NoSQL, Document 지향 데이터베이스입니다. 데이터를 배열 및 중첩 Document와 같은 복잡한 데이터 유형을 효율적으로 저장할 수 있는 유연한 JSON과 유사한 형식인 BSON(Binary JSON)으로 저장합니다. JSON BSON 직렬화, 역직렬화 과정에서 CPU 리소스가 많이 사용될 수 있으나, 이를 내부 최적화 알고리즘으로 개선했고, 텍스트 보다 적은 용량을 사용해 저장공간의 용이성도 가져온다. 일반적으로 데이터베이스 I/O 연산이 더 큰 병목 현상을 일으키 때문에 효율적인 방법 같다. 몽고 DB의 유연과 확장 몽고 DB의 장점을 두 개의 키워드로 뽑으면 유연과 확장이라고 말할 수 있을 것 같다. 아래..
리액트 성능 측정하기 - 효율적인 테이블 컴포넌트 구현 사내에서 테이블 컴포넌트를 만들어야 하는 일이 생겼습니다. 그러나 특정 조건들로 인해 성능이슈가 생겼는데요 1. 페이징 처리가 없는 테이블의 형태 2. 옵션값 개수의 모든 경우의 수를 고려한 옵션생성(수십 ~ 수백 개의 테이블 row UI가 생김) 3. 판매 마켓별로 옵션들의 값을 수정할 수 있는 UI 4. 테이블 데이터(옵션)들을 일괄변경 할 수 있는 기능(자주 사용할 것으로 판단) 페이징 처리가 없는 테이블과 자주 사용되는 데이터 일괄 변경 기능은 리액트에서 성능 문제를 초래할 수 있습니다. 특히 수백 개의 테이블 row가 재렌더링 되는 경우, 애플리케이션의 성능 저하가 발생할 수 있습니다. 성능 측정과 개선 성능 측정은 React DevTool..
웹 브라우저의 보안 클라이언트 힌트 (Sec-CH-UA) 이해하기 웹 브라우저는 서버에게 어떻게 동작하고 어떤 환경에서 실행되고 있는지에 대한 정보를 전송하기 위해 다양한 헤더를 사용합니다. 이 중에서도 "Sec-CH-UA" 헤더는 보안 클라이언트 힌트의 사용자 에이전트 정보를 제공하는 중요한 역할을 합니다. 이번 글에서는 "Sec-CH-UA" 헤더의 각 필드에 대해 자세히 알아보겠습니다. "Sec-CH-UA"와 관련된 헤더는 주로 웹 브라우저에 의해 자동으로 생성되며, 클라이언트 측에서 서버에 전송됩니다. 이 헤더는 브라우저의 사용자 에이전트 정보와 함께 웹 페이지 요청에 포함됩니다. 유저가 어떤 환경에서 우리 서비스를 사용하는지에 대한 정보를 수집할 수도 있으며 웹사이트 크롤링을 방어할 때 Sec-C..