{
    "componentChunkName": "component---node-modules-gatsby-theme-primer-wiki-src-templates-post-query-js",
    "path": "/posts/monitoring/cardinality-and-dimensionality/",
    "result": {"data":{"mdx":{"id":"aef47ecd-3705-5e7f-9339-2ec6f8b0cd80","tableOfContents":{"items":[{"url":"#카디널리티","title":"카디널리티"},{"url":"#디멘셔널리티","title":"디멘셔널리티"}]},"fields":{"title":"관찰 가능성 - 카디널리티와 디멘셔널리티","slug":"/posts/monitoring/cardinality-and-dimensionality/","url":"https://r0k.wiki/posts/monitoring/cardinality-and-dimensionality/","editUrl":"https://github.com/padawanR0k/wiki/blob/master/content/posts/monitoring/cardinality-and-dimensionality.md","lastUpdatedAt":"2026-07-05T07:49:54.000Z","lastUpdated":"7/5/2026","gitCreatedAt":"2026-07-05T07:49:54.000Z","shouldShowTitle":true},"frontmatter":{"title":"관찰 가능성 - 카디널리티와 디멘셔널리티","description":null,"imageAlt":null,"tags":["모니터링"],"date":"2026-07-05T00:00:00.000Z","dateModified":null,"language":null,"seoTitle":null,"image":null},"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"관찰 가능성 - 카디널리티와 디멘셔널리티\",\n  \"date\": \"2026-07-05T00:00:00.000Z\",\n  \"updated\": \"2026-07-05T00:00:00.000Z\",\n  \"tags\": [\"모니터링\"],\n  \"created\": null\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"카디널리티\"\n  }, \"\\uCE74\\uB514\\uB110\\uB9AC\\uD2F0\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uB370\\uC774\\uD130 \\uBCA0\\uC774\\uC2A4\\uC758 \\uCE21\\uBA74\\uC5D0\\uC11C\\uC758 \\uCE74\\uB514\\uB110\\uB9AC\\uD2F0\", mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uD55C \\uC9D1\\uD569\\uC5D0 \\uD3EC\\uD568\\uB41C \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\uB370\\uC774\\uD130 \\uAC12\\uC758 \\uACE0\\uC720\\uC131\"), mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uB192\\uC740 \\uCE74\\uB514\\uB110\\uB9AC\\uD2F0: \\uC8FC\\uBBFC\\uBC88\\uD638 \\uCEEC\\uB7FC\\uC758 \\uC8FC\\uBBFC\\uBC88\\uD638\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uB0AE\\uC740 \\uCE74\\uB514\\uB110\\uB9AC\\uD2F0: \\uC131\\uBCC4 \\uCEEC\\uB7FC\\uC758 \\uB0A8,\\uB140\")))))), mdx(\"p\", null, \"\\uB192\\uC740 \\uCE74\\uB514\\uB110\\uB9AC\\uD2F0\\uB294 \\uD2B9\\uC815 \\uB370\\uC774\\uD130\\uB97C \\uC2DD\\uBCC4\\uD558\\uAC70\\uB098 \\uC2DC\\uC2A4\\uD15C\\uC744 \\uC774\\uD574\\uD558\\uACE0\\uC790\\uD560 \\uB54C \\uC720\\uC6A9\\uD558\\uB2E4.\"), mdx(\"h1\", {\n    \"id\": \"디멘셔널리티\"\n  }, \"\\uB514\\uBA58\\uC154\\uB110\\uB9AC\\uD2F0\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uB370\\uC774\\uD130\\uB97C \\uBD84\\uC11D\\uD560 \\uB54C \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC788\\uB294\\xA0\", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\uC18D\\uC131(\\uD0A4)\\uC758 \\uAC1C\\uC218\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\uB514\\uBA58\\uC158\\uC744 \\uC870\\uD569\"), \"\\uD558\\uBA74 \\uB354\\uC6B1 \\uC138\\uBD80\\uC801\\uC778 \\uBD84\\uC11D\\uC774 \\uAC00\\uB2A5\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\uC989, \\uB514\\uBA58\\uC158\\uC774 \\uB9CE\\uC744\\uC218\\uB85D, \\uBD84\\uC11D\\uD560 \\uC218 \\uC788\\uB294 \\uC815\\uBCF4\\uAC00 \\uB354 \\uB9CE\\uC544\\uC9D0\"), mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\u201C\\uC9C0\\uB09C 30\\uBD84 \\uB3D9\\uC548 \\uD2B9\\uC815 \\uC11C\\uBE44\\uC2A4\\uC5D0\\uC11C \\uD2B9\\uC815 \\uC0AC\\uC6A9\\uC790 ID\\uAC00 \\uD2B9\\uC815 \\uC694\\uCCAD\\uC744 \\uBCF4\\uB0C8\\uC744 \\uB54C \\uBC1C\\uC0DD\\uD55C \\uC624\\uB958\\u201D\", mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uC2DC\\uAC04, \\uC11C\\uBE44\\uC2A4, \\uD658\\uACBD, \\uC0AC\\uC6A9\\uC790, \\uC694\\uCCAD Url, \\uC0C1\\uD0DC \\uB77C\\uB294 6\\uAC00\\uC9C0 \\uB514\\uBA58\\uC158\\uC744 \\uAC00\\uC9C0\\uBA74 \\uC704\\uC640 \\uAC19\\uC774 \\uBD84\\uC11D \\uAC00\\uB2A5\")))))), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"\\uCD9C\\uCC98: \\uB370\\uBE0C\\uC635\\uC2A4 \\uC5D4\\uC9C0\\uB2C8\\uC5B4\\uB97C \\uC704\\uD55C \\uC2E4\\uC804 \\uAD00\\uCC30 \\uAC00\\uB2A5\\uC131 \\uC5D4\\uC9C0\\uB2C8\\uC5B4\\uB9C1\")));\n}\n;\nMDXContent.isMDXComponent = true;","rawBody":"---\ntitle: 관찰 가능성 - 카디널리티와 디멘셔널리티\ndate: 2026-07-05\nupdated: 2026-07-05\ntags:\n  - 모니터링\ncreated:\n---\n\n# 카디널리티\n\n- 데이터 베이스의 측면에서의 카디널리티\n  - 한 집합에 포함된 **데이터 값의 고유성**\n    - 높은 카디널리티: 주민번호 컬럼의 주민번호\n    - 낮은 카디널리티: 성별 컬럼의 남,녀\n\n높은 카디널리티는 특정 데이터를 식별하거나 시스템을 이해하고자할 때 유용하다.\n\n# 디멘셔널리티\n\n- 데이터를 분석할 때 사용할 수 있는 **속성(키)의 개수**\n- **디멘션을 조합**하면 더욱 세부적인 분석이 가능\n- **즉, 디멘션이 많을수록, 분석할 수 있는 정보가 더 많아짐**\n  - “지난 30분 동안 특정 서비스에서 특정 사용자 ID가 특정 요청을 보냈을 때 발생한 오류”\n    - 시간, 서비스, 환경, 사용자, 요청 Url, 상태 라는 6가지 디멘션을 가지면 위와 같이 분석 가능\n\n> 출처: 데브옵스 엔지니어를 위한 실전 관찰 가능성 엔지니어링\n","excerpt":"카디널리티 데이터 베이스의 측면에서의 카디널리티 한 집합에 포함된  데이터 값의 고유성 높은 카디널리티: 주민번호 컬럼의 주민번호 낮은 카디널리티: 성별 컬럼의 남,녀 높은 카디널리티는 특정 데이터를 식별하거나 시스템을 이해하고자할 때 유용하다. 디…","outboundReferences":[],"inboundReferences":[]},"tagsOutbound":{"nodes":[{"frontmatter":{"title":"관찰 가능성 - 카디널리티와 디멘셔널리티","tags":["모니터링"]},"fields":{"slug":"/posts/monitoring/cardinality-and-dimensionality/","title":"관찰 가능성 - 카디널리티와 디멘셔널리티","lastUpdated":"7/5/2026","lastUpdatedAt":"2026-07-05T07:49:54.000Z","gitCreatedAt":"2026-07-05T07:49:54.000Z"}},{"frontmatter":{"title":"프론트엔드 모니터링 - datadog RUM 알아보기","tags":["모니터링"]},"fields":{"slug":"/posts/monitoring/datadog RUM/","title":"프론트엔드 모니터링 - datadog RUM 알아보기","lastUpdated":"8/17/2025","lastUpdatedAt":"2025-08-17T07:27:35.000Z","gitCreatedAt":"2025-08-17T07:27:35.000Z"}}]}},"pageContext":{"tags":["모니터링"],"slug":"/posts/monitoring/cardinality-and-dimensionality/","sidebarItems":[{"title":"","items":[{"title":"Recently Updated","url":"/latest/","collapse":true,"indent":false,"items":[{"title":"07-05: 관찰 가능성 - 카디널리티와 디멘셔널리티","url":"/posts/monitoring/cardinality-and-dimensionality/"},{"title":"06-30: 다국어 페이지 작업시 주의해야할 것 - hreflang / canonical","url":"/posts/seo/hreflang-canonical/"},{"title":"05-24: dynamic-range-limit - HDR 이미지/비디오 밝기 제한 CSS 속성","url":"/posts/web/dynamic-range-limit/"},{"title":"04-18: SEO 클로킹과 콘텐츠 게이팅","url":"/posts/seo/seo-cloaking-and-content-gating/"},{"title":"03-15: useTransition과 Suspense의 내부 상호작용","url":"/posts/frontend/use-transition-suspense/"},{"title":"03-15: 개발 생산성을 위한 내 개발 환경 세팅 기록","url":"/posts/my-setting/"},{"title":"01-29: 내가 써먹으려고 정리한 단축키 & 명령어 모음","url":"/posts/tip/shortcut/"},{"title":"01-13: 키보드 안쓰기","url":"/posts/tip/키보드 안쓰기/"},{"title":"10-25: git 관련 팁 정리","url":"/posts/tip/git/"},{"title":"08-17: 프론트엔드 모니터링 - datadog RUM 알아보기","url":"/posts/monitoring/datadog RUM/"}]}]},{"title":"Tags","items":[{"title":"Readme","type":"tag","url":"/tags/readme/","items":[{"title":"📝 r0k Wiki","url":"/"}]},{"title":"SEO","type":"tag","url":"/tags/seo/","items":[{"title":"다국어 페이지 작업시 주의해야할 것 - hreflang / canonical","url":"/posts/seo/hreflang-canonical/"},{"title":"SEO 클로킹과 콘텐츠 게이팅","url":"/posts/seo/seo-cloaking-and-content-gating/"}]},{"title":"Sentry","type":"tag","url":"/tags/sentry/","items":[{"title":"Sentry","url":"/posts/monitoring/sentry/"}]},{"title":"Web API","type":"tag","url":"/tags/web-api/","items":[{"title":"Blob","url":"/Web_API/Blob/"},{"title":"DOMMatrixReadOnly","url":"/Web_API/DOMMatrixReadOnly/"}]},{"title":"cloudflare","type":"tag","url":"/tags/cloudflare/","items":[{"title":"github 블로그에 도메인 연결하기 by cloudflare","url":"/posts/cloud/cloudflare/my-dns/"}]},{"title":"css","type":"tag","url":"/tags/css/","items":[{"title":"dynamic-range-limit - HDR 이미지/비디오 밝기 제한 CSS 속성","url":"/posts/web/dynamic-range-limit/"}]},{"title":"git","type":"tag","url":"/tags/git/","items":[{"title":"git 딥다이브 - git merge, rebase","url":"/posts/study/codesoom-git/git-deep-dive-02/"},{"title":"git 딥다이브 - history","url":"/posts/study/codesoom-git/git-deep-dive-03/"},{"title":"git 딥다이브 - git branch, tag, HEAD","url":"/posts/study/codesoom-git/git-deep-dive-01/"}]},{"title":"i18n","type":"tag","url":"/tags/i-18-n/","items":[{"title":"다국어 페이지 작업시 주의해야할 것 - hreflang / canonical","url":"/posts/seo/hreflang-canonical/"}]},{"title":"javascript","type":"tag","url":"/tags/javascript/","items":[{"title":"useTransition과 Suspense의 내부 상호작용","url":"/posts/frontend/use-transition-suspense/"},{"title":"프론트엔드 성능 최적화 팁 기록","url":"/posts/frontend/performance-tip/"},{"title":"callback부터 async await까지 - Javascript 비동기","url":"/posts/javascript/asynchronous/"},{"title":"웹팩을 쓰는 이유와 사용법 정리","url":"/posts/javascript/webpack/"},{"title":"자바스크립트 데드 코드 제거","url":"/posts/javascript/자바스크립트 데드 코드 제거/"},{"title":"웹에서\b영상 재생을 하기 위한 주변 지식","url":"/posts/web/video player/"}]},{"title":"my-setting","type":"tag","url":"/tags/my-setting/","items":[{"title":"개발 생산성을 위한 내 개발 환경 세팅 기록","url":"/posts/my-setting/"}]},{"title":"react","type":"tag","url":"/tags/react/","items":[{"title":"useTransition과 Suspense의 내부 상호작용","url":"/posts/frontend/use-transition-suspense/"}]},{"title":"react-query","type":"tag","url":"/tags/react-query/","items":[{"title":"react-query 동작 안하는 이슈 해결","url":"/posts/library/react-query/fail-request/"}]},{"title":"tip","type":"tag","url":"/tags/tip/","items":[{"title":"git 관련 팁 정리","url":"/posts/tip/git/"},{"title":"내가 써먹으려고 정리한 단축키 & 명령어 모음","url":"/posts/tip/shortcut/"},{"title":"나만의 업무 습관 정리","url":"/posts/tip/나만의 업무 습관 정리/"},{"title":"webstorm 사용 팁","url":"/posts/tip/webstorm/"},{"title":"키보드 안쓰기","url":"/posts/tip/키보드 안쓰기/"}]},{"title":"webstorm","type":"tag","url":"/tags/webstorm/","items":[{"title":"git 관련 팁 정리","url":"/posts/tip/git/"},{"title":"webstorm 사용 팁","url":"/posts/tip/webstorm/"}]},{"title":"개선","type":"tag","url":"/tags/개선/","items":[{"title":"eslint에서 biome로","url":"/posts/library/biome/"},{"title":"자바스크립트 데드 코드 제거","url":"/posts/javascript/자바스크립트 데드 코드 제거/"},{"title":"레거시를 더 나은 환경으로 만들기","url":"/posts/tip/레거시를 더 나은 환경으로 만들기/"}]},{"title":"단축키","type":"tag","url":"/tags/단축키/","items":[{"title":"내가 써먹으려고 정리한 단축키 & 명령어 모음","url":"/posts/tip/shortcut/"}]},{"title":"디깅","type":"tag","url":"/tags/디깅/","items":[{"title":"모노레포에서 서로 다른 React 버전 사용시 에러","url":"/posts/error/모노레포에서 서로 다른 react 버전 사용시 에러/"}]},{"title":"모니터링","type":"tag","url":"/tags/모니터링/","items":[{"title":"관찰 가능성 - 카디널리티와 디멘셔널리티","url":"/posts/monitoring/cardinality-and-dimensionality/"},{"title":"프론트엔드 모니터링 - datadog RUM 알아보기","url":"/posts/monitoring/datadog RUM/"}]},{"title":"성능최적화","type":"tag","url":"/tags/성능최적화/","items":[{"title":"프론트엔드 성능 최적화 팁 기록","url":"/posts/frontend/performance-tip/"}]},{"title":"오브젝트","type":"tag","url":"/tags/오브젝트/","items":[{"title":"오트젝트 01 객체, 설계","url":"/posts/books/object/오브젝트-01/"},{"title":"오트젝트 02 객체지향 프로그래밍","url":"/posts/books/object/오브젝트-02/"},{"title":"오트젝트 03 역할, 책임, 협력","url":"/posts/books/object/오브젝트-03/"},{"title":"오트젝트 05 책임 할당하기","url":"/posts/books/object/오브젝트-05/"},{"title":"오트젝트 04 설계 품질과 트레이드 오프","url":"/posts/books/object/오브젝트-04/"},{"title":"오트젝트 06 메시지와 인터페이스","url":"/posts/books/object/오브젝트-06/"}]},{"title":"정규언어","type":"tag","url":"/tags/정규언어/","items":[{"title":"정규언어","url":"/posts/regex/regular-language/"}]},{"title":"정규표현식","type":"tag","url":"/tags/정규표현식/","items":[{"title":"정규표현식 - 01. 입문 정규표현식","url":"/posts/regex/regex_01/"},{"title":"정규표현식 - 02. 정규표현식의 역사","url":"/posts/regex/regex_02/"},{"title":"정규표현식 - 03. 프로그래머를 위한 고급 정규표현식","url":"/posts/regex/regex_03/"}]},{"title":"플레이어","type":"tag","url":"/tags/플레이어/","items":[{"title":"웹에서\b영상 재생을 하기 위한 주변 지식","url":"/posts/web/video player/"}]}]}],"tagsGroups":[{"title":"Readme","type":"tag","url":"/tags/readme/","items":[{"title":"📝 r0k Wiki","url":"/"}]},{"title":"SEO","type":"tag","url":"/tags/seo/","items":[{"title":"다국어 페이지 작업시 주의해야할 것 - hreflang / canonical","url":"/posts/seo/hreflang-canonical/"},{"title":"SEO 클로킹과 콘텐츠 게이팅","url":"/posts/seo/seo-cloaking-and-content-gating/"}]},{"title":"Sentry","type":"tag","url":"/tags/sentry/","items":[{"title":"Sentry","url":"/posts/monitoring/sentry/"}]},{"title":"Web API","type":"tag","url":"/tags/web-api/","items":[{"title":"Blob","url":"/Web_API/Blob/"},{"title":"DOMMatrixReadOnly","url":"/Web_API/DOMMatrixReadOnly/"}]},{"title":"cloudflare","type":"tag","url":"/tags/cloudflare/","items":[{"title":"github 블로그에 도메인 연결하기 by cloudflare","url":"/posts/cloud/cloudflare/my-dns/"}]},{"title":"css","type":"tag","url":"/tags/css/","items":[{"title":"dynamic-range-limit - HDR 이미지/비디오 밝기 제한 CSS 속성","url":"/posts/web/dynamic-range-limit/"}]},{"title":"git","type":"tag","url":"/tags/git/","items":[{"title":"git 딥다이브 - git merge, rebase","url":"/posts/study/codesoom-git/git-deep-dive-02/"},{"title":"git 딥다이브 - history","url":"/posts/study/codesoom-git/git-deep-dive-03/"},{"title":"git 딥다이브 - git branch, tag, HEAD","url":"/posts/study/codesoom-git/git-deep-dive-01/"}]},{"title":"i18n","type":"tag","url":"/tags/i-18-n/","items":[{"title":"다국어 페이지 작업시 주의해야할 것 - hreflang / canonical","url":"/posts/seo/hreflang-canonical/"}]},{"title":"javascript","type":"tag","url":"/tags/javascript/","items":[{"title":"useTransition과 Suspense의 내부 상호작용","url":"/posts/frontend/use-transition-suspense/"},{"title":"프론트엔드 성능 최적화 팁 기록","url":"/posts/frontend/performance-tip/"},{"title":"callback부터 async await까지 - Javascript 비동기","url":"/posts/javascript/asynchronous/"},{"title":"웹팩을 쓰는 이유와 사용법 정리","url":"/posts/javascript/webpack/"},{"title":"자바스크립트 데드 코드 제거","url":"/posts/javascript/자바스크립트 데드 코드 제거/"},{"title":"웹에서\b영상 재생을 하기 위한 주변 지식","url":"/posts/web/video player/"}]},{"title":"my-setting","type":"tag","url":"/tags/my-setting/","items":[{"title":"개발 생산성을 위한 내 개발 환경 세팅 기록","url":"/posts/my-setting/"}]},{"title":"react","type":"tag","url":"/tags/react/","items":[{"title":"useTransition과 Suspense의 내부 상호작용","url":"/posts/frontend/use-transition-suspense/"}]},{"title":"react-query","type":"tag","url":"/tags/react-query/","items":[{"title":"react-query 동작 안하는 이슈 해결","url":"/posts/library/react-query/fail-request/"}]},{"title":"tip","type":"tag","url":"/tags/tip/","items":[{"title":"git 관련 팁 정리","url":"/posts/tip/git/"},{"title":"내가 써먹으려고 정리한 단축키 & 명령어 모음","url":"/posts/tip/shortcut/"},{"title":"나만의 업무 습관 정리","url":"/posts/tip/나만의 업무 습관 정리/"},{"title":"webstorm 사용 팁","url":"/posts/tip/webstorm/"},{"title":"키보드 안쓰기","url":"/posts/tip/키보드 안쓰기/"}]},{"title":"webstorm","type":"tag","url":"/tags/webstorm/","items":[{"title":"git 관련 팁 정리","url":"/posts/tip/git/"},{"title":"webstorm 사용 팁","url":"/posts/tip/webstorm/"}]},{"title":"개선","type":"tag","url":"/tags/개선/","items":[{"title":"eslint에서 biome로","url":"/posts/library/biome/"},{"title":"자바스크립트 데드 코드 제거","url":"/posts/javascript/자바스크립트 데드 코드 제거/"},{"title":"레거시를 더 나은 환경으로 만들기","url":"/posts/tip/레거시를 더 나은 환경으로 만들기/"}]},{"title":"단축키","type":"tag","url":"/tags/단축키/","items":[{"title":"내가 써먹으려고 정리한 단축키 & 명령어 모음","url":"/posts/tip/shortcut/"}]},{"title":"디깅","type":"tag","url":"/tags/디깅/","items":[{"title":"모노레포에서 서로 다른 React 버전 사용시 에러","url":"/posts/error/모노레포에서 서로 다른 react 버전 사용시 에러/"}]},{"title":"모니터링","type":"tag","url":"/tags/모니터링/","items":[{"title":"관찰 가능성 - 카디널리티와 디멘셔널리티","url":"/posts/monitoring/cardinality-and-dimensionality/"},{"title":"프론트엔드 모니터링 - datadog RUM 알아보기","url":"/posts/monitoring/datadog RUM/"}]},{"title":"성능최적화","type":"tag","url":"/tags/성능최적화/","items":[{"title":"프론트엔드 성능 최적화 팁 기록","url":"/posts/frontend/performance-tip/"}]},{"title":"오브젝트","type":"tag","url":"/tags/오브젝트/","items":[{"title":"오트젝트 01 객체, 설계","url":"/posts/books/object/오브젝트-01/"},{"title":"오트젝트 02 객체지향 프로그래밍","url":"/posts/books/object/오브젝트-02/"},{"title":"오트젝트 03 역할, 책임, 협력","url":"/posts/books/object/오브젝트-03/"},{"title":"오트젝트 05 책임 할당하기","url":"/posts/books/object/오브젝트-05/"},{"title":"오트젝트 04 설계 품질과 트레이드 오프","url":"/posts/books/object/오브젝트-04/"},{"title":"오트젝트 06 메시지와 인터페이스","url":"/posts/books/object/오브젝트-06/"}]},{"title":"정규언어","type":"tag","url":"/tags/정규언어/","items":[{"title":"정규언어","url":"/posts/regex/regular-language/"}]},{"title":"정규표현식","type":"tag","url":"/tags/정규표현식/","items":[{"title":"정규표현식 - 01. 입문 정규표현식","url":"/posts/regex/regex_01/"},{"title":"정규표현식 - 02. 정규표현식의 역사","url":"/posts/regex/regex_02/"},{"title":"정규표현식 - 03. 프로그래머를 위한 고급 정규표현식","url":"/posts/regex/regex_03/"}]},{"title":"플레이어","type":"tag","url":"/tags/플레이어/","items":[{"title":"웹에서\b영상 재생을 하기 위한 주변 지식","url":"/posts/web/video player/"}]}],"latestPosts":[{"fields":{"slug":"/posts/monitoring/cardinality-and-dimensionality/","title":"관찰 가능성 - 카디널리티와 디멘셔널리티","lastUpdatedAt":"2026-07-05T07:49:54.000Z","lastUpdated":"7/5/2026"},"frontmatter":{"draft":false,"tags":["모니터링"]}},{"fields":{"slug":"/posts/seo/hreflang-canonical/","title":"다국어 페이지 작업시 주의해야할 것 - hreflang / canonical","lastUpdatedAt":"2026-06-30T12:28:37.000Z","lastUpdated":"6/30/2026"},"frontmatter":{"draft":false,"tags":["SEO","i18n"]}},{"fields":{"slug":"/posts/web/dynamic-range-limit/","title":"dynamic-range-limit - HDR 이미지/비디오 밝기 제한 CSS 속성","lastUpdatedAt":"2026-05-24T04:36:13.000Z","lastUpdated":"5/24/2026"},"frontmatter":{"draft":false,"tags":["css"]}},{"fields":{"slug":"/posts/seo/seo-cloaking-and-content-gating/","title":"SEO 클로킹과 콘텐츠 게이팅","lastUpdatedAt":"2026-04-18T07:10:38.000Z","lastUpdated":"4/18/2026"},"frontmatter":{"draft":false,"tags":["SEO"]}},{"fields":{"slug":"/posts/frontend/use-transition-suspense/","title":"useTransition과 Suspense의 내부 상호작용","lastUpdatedAt":"2026-03-15T09:04:23.000Z","lastUpdated":"3/15/2026"},"frontmatter":{"draft":false,"tags":["react","javascript"]}},{"fields":{"slug":"/posts/my-setting/","title":"개발 생산성을 위한 내 개발 환경 세팅 기록","lastUpdatedAt":"2026-03-15T04:34:39.000Z","lastUpdated":"3/15/2026"},"frontmatter":{"draft":false,"tags":["my-setting"]}},{"fields":{"slug":"/posts/tip/shortcut/","title":"내가 써먹으려고 정리한 단축키 & 명령어 모음","lastUpdatedAt":"2026-01-29T12:10:22.000Z","lastUpdated":"1/29/2026"},"frontmatter":{"draft":false,"tags":["단축키","tip"]}},{"fields":{"slug":"/posts/tip/키보드 안쓰기/","title":"키보드 안쓰기","lastUpdatedAt":"2026-01-13T07:19:49.000Z","lastUpdated":"1/13/2026"},"frontmatter":{"draft":false,"tags":["tip"]}},{"fields":{"slug":"/posts/tip/git/","title":"git 관련 팁 정리","lastUpdatedAt":"2025-10-25T07:02:10.000Z","lastUpdated":"10/25/2025"},"frontmatter":{"draft":false,"tags":["webstorm","tip"]}},{"fields":{"slug":"/posts/monitoring/datadog RUM/","title":"프론트엔드 모니터링 - datadog RUM 알아보기","lastUpdatedAt":"2025-08-17T07:27:35.000Z","lastUpdated":"8/17/2025"},"frontmatter":{"draft":false,"tags":["모니터링"]}}]}},
    "staticQueryHashes": ["2320115945","2650345336","3495835395","451533639"]}