CINXE.COM
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="generator" content="Gatsby 5.13.4"/><meta name="description" content="クイックサマリー:「テストピラミッド」は、自動テストをUI、サービス、ユニット単位に整理することで、開発に自動テストを組み込む方法を示すために作成されました。2012年に定義されて以降、このモデルは…" data-gatsby-head="true"/><meta property="og:title" content="テストピラミッド万歳 | POSTD" data-gatsby-head="true"/><meta property="og:site_name" content="POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディア" data-gatsby-head="true"/><meta property="og:url" content="https://postd.cc/long-live-test-pyramid/" data-gatsby-head="true"/><meta property="og:image" content="https://files.smashing.media/articles/long-live-test-pyramid/long-live-test-pyramid.jpg" data-gatsby-head="true"/><meta name="msapplication-TileColor" content="#ffffff" data-gatsby-head="true"/><meta name="msapplication-TileImage" content="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAIAAABoJHXvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3NpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplMTE0N2M1NS1hYmIzLTQwN2YtOGRmMy0zNzRhM2JkNGRkYmYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjIwMEM5N0ZGMkM4MTFFMzgxMjM5NDExNDlEMUM0REMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjIwMEM5N0VGMkM4MTFFMzgxMjM5NDExNDlEMUM0REMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6YTBhOWE0NTEtYTc4OC00Y2ZjLTgyYWYtNGFjMDIzY2UwNzU0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOmUxMTQ3YzU1LWFiYjMtNDA3Zi04ZGYzLTM3NGEzYmQ0ZGRiZiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpKUn6UAAAR3SURBVHja7Ny/Szp9AMDxJzPS1AyDDCQxK+nn0KAVYVANBWKWSEtTEf0JNQVNbUFjS1NDWEMR1VQ29IPmcigKJbChyCIDKYR8Dr4Pz/B9HrzTvnpnvd9DUHzqrnt13ue8u0rS6fRfVDyVAAYYAUaAAUaAEWCAEWAEGGAEGAEGGAFGgAFGgBFggBFgBBhgBBgBBhgBRoABBhhgBBgVCKykpOS3r/x3iVLGiH5Lbmk0Gq1WazKZLBaL3W5vamrq7Ozs6empqqoCTIlg/5tKpXK5XKOjo36/XyBUllg6z0lZYg5rVbDt09/fv7m5mUql0soIMEk5HI5gMPj5+QlYcYD9qru7OxwOA1Y0YELl5eWLi4sy7mqA5ZLP50skErKAMUvMsY6OjoODg5qaGqb1xQEm1NraGgqFzGYzYF8Fq6io8Hg8UlZPmK8/Pz9Ho9FYLJbDphD2s+PjY6PRyHnYl45hVqs12/WMx+M7OzvT09MmkymrDej1egs5BwHs95LJ5MrKivATpJstLS0BJhvYv2xzc3NqtVriG5LX19eAyQn2q6Ojo+rqailmQ0NDgMkPJnR1dVVbWyvF7PDwEDD5wYQuLi70er0o2MDAAGCKABMKBoNSTmBubm7yvT1VXMOV0vj4eCAQED1BWl1d5TxMEXuYkDAPFJ002u129jCl5HA4/H5/5jGRSESYpOR1NQDLosnJSdExJycngCmlwcFBnU6Xeczl5SVgSqmsrKy3tzfzGOFQB5iCam9vzzzg9vYWMAVls9kyD3h6egJMQYle+np9fQVMQYmeiqlUKsAU1NvbW+YBBoMBMAX1+Pj4xddMwAqa6Kw93/fkAJZdZ2dnmQe0tLQAppSEc6xoNApY0bS2tiY6pqurK6/r8D3vS7RarXd3d3/2F0kmk3a7/eHhIcMYrVYbj8eFj+xh8re8vJxZS8jj8eRV65+/ZS5gSrkVR6PRiG7M3d1dLmDKXyKRCAQC7+/vmYfV1dUNDw/ne2UAEz90eb3ecDgsOnJ2dra0tDTvK8RLYoZisZjT6ZSyGevr6z8+PrjNTU6w9fV16Y9/bW1tceevbGChUMjtdkt/lZqYmOBhiEKDCXOK09PT+fn55ubmrI4pjY2NwrkXj8wW6IE+IWFz39/fRyKRVCqV7W9nNBrPz8+zNeadDnnS6/V7e3t9fX2FXChgOVZZWbm/vy96ExVgigATjlvb29ttbW0yLPtbTjry2tjY2MvLS1qmAMsis9m8sbGRljXApB6xFhYW5PrvN99/Wv9nD1czMzNTU1MSH3Zm0iEPWENDg8/nGxkZcbvd+b7VELAsUqvVBoNBp9NZLBabzWa3251Op8vlEj5V5tWDYgX7sQEGGGCAEWCAAQYYAQYYYIAB9h3AlHBPgJTyvj0BAwwwwAADDDDAfgwYAQYYYIARYIABBljxTtmZ1gMGGGCAAQYYYIDRD53WE2CAEWAEGAEGGAFGgAFGgBFggBFgBBhgBBgBBhgBRoABRoARYIARYAQYYAQYAQYYFUt/CzAAPkGUpXqQ7qgAAAAASUVORK5CYII=" data-gatsby-head="true"/><meta name="apple-mobile-web-app-title" content="POSTD" data-gatsby-head="true"/><style data-href="/styles.13c58abb04fb026633da.css" data-identity="gatsby-global-css">code[class*=language-],pre[class*=language-]{word-wrap:normal;background:none;color:#fff;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;-webkit-hyphens:none;hyphens:none;line-height:1.5;tab-size:4;text-align:left;text-shadow:0 -.1em .2em #000;white-space:pre;word-break:normal;word-spacing:normal}:not(pre)>code[class*=language-],pre[class*=language-]{background:#141414}pre[class*=language-]{border:.3em solid #545454;border-radius:.5em;box-shadow:inset 1px 1px .5em #000;margin:.5em 0;overflow:auto;padding:1em}pre[class*=language-]::selection{background:#27292a}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{background:hsla(0,0%,93%,.15);text-shadow:none}:not(pre)>code[class*=language-]{border:.13em solid #545454;border-radius:.3em;box-shadow:inset 1px 1px .3em -.1em #000;padding:.15em .2em .05em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#787878}.token.namespace,.token.punctuation{opacity:.7}.token.boolean,.token.deleted,.token.number,.token.tag{color:#cf694a}.token.builtin,.token.constant,.token.keyword,.token.property,.token.selector,.token.symbol{color:#f9ee9a}.language-css .token.string,.style .token.string,.token.attr-name,.token.attr-value,.token.char,.token.entity,.token.inserted,.token.operator,.token.string,.token.url,.token.variable{color:#919e6b}.token.atrule{color:#7386a5}.token.important,.token.regex{color:#e9c163}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.language-markup .token.attr-name,.language-markup .token.punctuation,.language-markup .token.tag{color:#ad895c}.token{position:relative;z-index:1}.line-highlight.line-highlight{background:rgba(84,84,84,.25);background:linear-gradient(90deg,rgba(84,84,84,.1) 70%,rgba(84,84,84,0));border-bottom:1px dashed #545454;border-top:1px dashed #545454;margin-top:.75em;z-index:0}.line-highlight.line-highlight:before,.line-highlight.line-highlight[data-end]:after{background-color:#8794a6;color:#f5f2f0}pre[class*=language-].line-numbers{counter-reset:linenumber;padding-left:3.8em;position:relative}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{border-right:1px solid #999;font-size:100%;left:-3.8em;letter-spacing:-1px;pointer-events:none;position:absolute;top:0;-webkit-user-select:none;user-select:none;width:3em}.line-numbers-rows>span{counter-increment:linenumber;display:block}.line-numbers-rows>span:before{color:#999;content:counter(linenumber);display:block;padding-right:.8em;text-align:right}.admonition{margin-bottom:1em;padding:15px 30px 15px 15px}.admonition h5{margin-bottom:8px;margin-top:0;text-transform:uppercase}.admonition-icon{display:inline-block;margin-right:.2em;vertical-align:middle}.admonition-icon svg{stroke-width:0;display:inline-block;height:22px;width:22px}.admonition-content>:last-child{margin-bottom:0}.admonition{background-color:rgba(118,51,219,.1);border-left:8px solid #7633db}.admonition h5{color:#7633db}.admonition .admonition-icon svg{stroke:#7633db;fill:#7633db}.admonition-caution{background-color:rgba(230,126,34,.1);border-left:8px solid #e67e22}.admonition-caution h5{color:#e67e22}.admonition-caution .admonition-icon svg{stroke:#e67e22;fill:#e67e22}.admonition-tip{background-color:rgba(46,204,113,.1);border-left:8px solid #2ecc71}.admonition-tip h5{color:#2ecc71}.admonition-tip .admonition-icon svg{stroke:#2ecc71;fill:#2ecc71}.admonition-warning{background-color:rgba(231,76,60,.1);border-left:8px solid #e74c3c}.admonition-warning h5{color:#e74c3c}.admonition-warning .admonition-icon svg{stroke:#e74c3c;fill:#e74c3c}.admonition-important{background-color:rgba(52,152,219,.1);border-left:8px solid #3498db}.admonition-important h5{color:#3498db}.admonition-important .admonition-icon svg{stroke:#3498db;fill:#3498db}.admonition-note{background-color:rgba(241,196,15,.1);border-left:8px solid #f1c40f}.admonition-note h5{color:#f1c40f}.admonition-note .admonition-icon svg{stroke:#f1c40f;fill:#f1c40f}</style><style>.gatsby-image-wrapper{position:relative;overflow:hidden}.gatsby-image-wrapper picture.object-fit-polyfill{position:static!important}.gatsby-image-wrapper img{bottom:0;height:100%;left:0;margin:0;max-width:none;padding:0;position:absolute;right:0;top:0;width:100%;object-fit:cover}.gatsby-image-wrapper [data-main-image]{opacity:0;transform:translateZ(0);transition:opacity .25s linear;will-change:opacity}.gatsby-image-wrapper-constrained{display:inline-block;vertical-align:top}</style><noscript><style>.gatsby-image-wrapper noscript [data-main-image]{opacity:1!important}.gatsby-image-wrapper [data-placeholder-image]{opacity:0!important}</style></noscript><script type="module">const e="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;e&&document.body.addEventListener("load",(function(e){const t=e.target;if(void 0===t.dataset.mainImage)return;if(void 0===t.dataset.gatsbyImageSsr)return;let a=null,n=t;for(;null===a&&n;)void 0!==n.parentNode.dataset.gatsbyImageWrapper&&(a=n.parentNode),n=n.parentNode;const o=a.querySelector("[data-placeholder-image]"),r=new Image;r.src=t.currentSrc,r.decode().catch((()=>{})).then((()=>{t.style.opacity=1,o&&(o.style.opacity=0,o.style.transition="opacity 500ms linear")}))}),!0);</script><style data-styled="" data-styled-version="6.1.10">.eChxWj{display:none;background:transparent;border:none;appearance:none;}/*!sc*/ @media (max-width: 767px){.eChxWj{display:block;}}/*!sc*/ data-styled.g1[id="HeaderNavButton__Wrapper-sc-giz7fq-0"]{content:"eChxWj,"}/*!sc*/ .jpcQJX{width:22px;height:2px;background:#1b1b1b;transition:opacity 0.2s,transform 0.2s;}/*!sc*/ .jpcQJX:nth-child(1){transform:translateY(0) rotate(0);}/*!sc*/ .jpcQJX:nth-child(2){margin-top:6px;opacity:1;}/*!sc*/ .jpcQJX:nth-child(3){margin-top:6px;transform:translateY(0) rotate(0);}/*!sc*/ data-styled.g2[id="HeaderNavButton__Line-sc-giz7fq-1"]{content:"jpcQJX,"}/*!sc*/ .hLsmrx{display:inline;}/*!sc*/ @media (max-width: 767px){.hLsmrx{display:none;}}/*!sc*/ .kITRPe{display:none;}/*!sc*/ @media (max-width: 767px){.kITRPe{display:none;}}/*!sc*/ data-styled.g3[id="HeaderLogo__Pc-sc-128t2eb-0"]{content:"hLsmrx,kITRPe,"}/*!sc*/ .djySHL{display:none;}/*!sc*/ @media (max-width: 767px){.djySHL{display:inline;}}/*!sc*/ .iNZNRU{display:inline;}/*!sc*/ @media (max-width: 767px){.iNZNRU{display:inline;}}/*!sc*/ data-styled.g4[id="HeaderLogo__Sp-sc-128t2eb-1"]{content:"djySHL,iNZNRU,"}/*!sc*/ .fcSJox{line-height:1.6;color:#666;font-size:12px;font-weight:bold;white-space:nowrap;}/*!sc*/ @media (max-width: 767px){.fcSJox{font-size:10px;font-weight:normal;}}/*!sc*/ .iQWsBp{line-height:1.6;color:#666;font-size:10px;font-weight:normal;white-space:nowrap;}/*!sc*/ @media (max-width: 767px){.iQWsBp{font-size:10px;font-weight:normal;}}/*!sc*/ data-styled.g5[id="HeaderDescription__Text-sc-clsdq0-0"]{content:"fcSJox,iQWsBp,"}/*!sc*/ .icgTxN{display:flex;align-items:center;}/*!sc*/ data-styled.g6[id="HeaderLeftSide__Wrapper-sc-151me4h-0"]{content:"icgTxN,"}/*!sc*/ .iteQnd{margin-left:20px;}/*!sc*/ data-styled.g7[id="HeaderLeftSide__DescriptionWrapper-sc-151me4h-1"]{content:"iteQnd,"}/*!sc*/ .egfLUA:not(:first-child){margin-left:20px;}/*!sc*/ data-styled.g8[id="HeaderIconLink__ExternalLink-sc-nsmdxc-0"]{content:"egfLUA,"}/*!sc*/ .hyUZWO{display:flex;}/*!sc*/ data-styled.g9[id="HeaderIcons__Wrapper-sc-fl6baq-0"]{content:"hyUZWO,"}/*!sc*/ .dOgXOf{display:block;font-size:11px;color:#767676;}/*!sc*/ data-styled.g10[id="Copyright__Text-sc-1yjjwtv-0"]{content:"dOgXOf,"}/*!sc*/ .kUpMwN{text-align:center;}/*!sc*/ data-styled.g11[id="HeaderCorpInfo__Wrapper-sc-1k2ubzo-0"]{content:"kUpMwN,"}/*!sc*/ .kHPENY{margin-top:12px;}/*!sc*/ data-styled.g12[id="HeaderCorpInfo__CopyrightWrapper-sc-1k2ubzo-1"]{content:"kHPENY,"}/*!sc*/ .gPnRce{font-size:14px;font-weight:bold;color:inherit;}/*!sc*/ @media (max-width: 767px){.gPnRce{font-size:13px;}}/*!sc*/ .cuVxce{font-size:14px;font-weight:bold;color:#fff;}/*!sc*/ @media (max-width: 767px){.cuVxce{font-size:13px;}}/*!sc*/ data-styled.g13[id="NavLinkHeading__Text-sc-9g8hpt-0"]{content:"gPnRce,cuVxce,"}/*!sc*/ .cZIIUC{font-size:13px;color:inherit;text-decoration:none;}/*!sc*/ @media (max-width: 767px){.cZIIUC{font-size:12px;}}/*!sc*/ .iHRgOu{font-size:13px;color:#fff;text-decoration:none;}/*!sc*/ @media (max-width: 767px){.iHRgOu{font-size:12px;}}/*!sc*/ data-styled.g14[id="NavLink__StyledLink-sc-12swpe6-0"]{content:"cZIIUC,iHRgOu,"}/*!sc*/ .ORlYd{font-size:13px;color:inherit;text-decoration:none;}/*!sc*/ @media (max-width: 767px){.ORlYd{font-size:12px;}}/*!sc*/ .fWpGyB{font-size:13px;color:#fff;text-decoration:none;}/*!sc*/ @media (max-width: 767px){.fWpGyB{font-size:12px;}}/*!sc*/ data-styled.g15[id="NavLink__ExternalLink-sc-12swpe6-1"]{content:"ORlYd,fWpGyB,"}/*!sc*/ .kjavfV{display:inline-block;padding:8px 12px;border:1px solid #ddd;border-radius:30px;}/*!sc*/ data-styled.g16[id="NavLink__TagLink-sc-12swpe6-2"]{content:"kjavfV,"}/*!sc*/ .jYwaN{display:inline-block;}/*!sc*/ .jYwaN::after{display:inline-block;width:7px;height:7px;margin-left:7px;content:"";border-top:2px solid #1b1b1b;border-right:2px solid #1b1b1b;transform:rotate(45deg);}/*!sc*/ .fXlqex{display:inline-block;}/*!sc*/ .fXlqex::after{display:inline-block;width:7px;height:7px;margin-left:7px;content:"";border-top:2px solid #fff;border-right:2px solid #fff;transform:rotate(45deg);}/*!sc*/ data-styled.g17[id="NavLink__MoreLink-sc-12swpe6-3"]{content:"jYwaN,fXlqex,"}/*!sc*/ .bubIBK:not(:first-child){margin-top:40px;}/*!sc*/ data-styled.g18[id="HeaderNavLinks__Wrapper-sc-df9m31-0"]{content:"bubIBK,"}/*!sc*/ .kGEgB{display:flex;flex-wrap:wrap;justify-content:space-between;}/*!sc*/ data-styled.g19[id="HeaderNavLinks__LinkList-sc-df9m31-1"]{content:"kGEgB,"}/*!sc*/ .kJcagp{display:flex;flex-wrap:wrap;margin-left:-10px;}/*!sc*/ data-styled.g20[id="HeaderNavLinks__TagLinkList-sc-df9m31-2"]{content:"kJcagp,"}/*!sc*/ .hWqcld{flex-basis:50%;margin-top:17px;}/*!sc*/ data-styled.g21[id="HeaderNavLinks__LinkItem-sc-df9m31-3"]{content:"hWqcld,"}/*!sc*/ .pbhGK{margin:17px 0 0 10px;}/*!sc*/ data-styled.g22[id="HeaderNavLinks__TagLinkItem-sc-df9m31-4"]{content:"pbhGK,"}/*!sc*/ .bRPEEh{margin-top:20px;}/*!sc*/ data-styled.g23[id="HeaderNavLinks__MoreLinkWrapper-sc-df9m31-5"]{content:"bRPEEh,"}/*!sc*/ .hUVZkP{position:fixed;z-index:50;display:none;width:100vw;height:100vh;padding:104px 20px 20px;overflow-y:scroll;background:#fff;}/*!sc*/ @media (max-width: 767px){.hUVZkP{display:none;}}/*!sc*/ data-styled.g24[id="HeaderNavSp__Wrapper-sc-14jg0n6-0"]{content:"hUVZkP,"}/*!sc*/ .hWYlUd{display:flex;justify-content:center;margin-top:40px;}/*!sc*/ data-styled.g25[id="HeaderNavSp__IconWrapper-sc-14jg0n6-1"]{content:"hWYlUd,"}/*!sc*/ .egqDVK{margin-top:50px;}/*!sc*/ data-styled.g26[id="HeaderNavSp__CorpWrapper-sc-14jg0n6-2"]{content:"egqDVK,"}/*!sc*/ .iFioks{display:flex;position:fixed;width:100vw;background:#fff;justify-content:center;z-index:100;transition:top 0.3s ease;top:-130px;padding:30px 30px 25px;box-shadow:none;}/*!sc*/ @media (max-width: 767px){.iFioks{display:none;}}/*!sc*/ data-styled.g27[id="StickyHeader__Wrapper-sc-1tro7id-0"]{content:"iFioks,"}/*!sc*/ .ipFjCB{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1400px;}/*!sc*/ data-styled.g28[id="StickyHeader__Inner-sc-1tro7id-1"]{content:"ipFjCB,"}/*!sc*/ .jZcOeb{display:flex;justify-content:center;padding:30px 30px 25px;background:#fff;}/*!sc*/ @media (max-width: 767px){.jZcOeb{position:fixed;z-index:100;width:100vw;padding:16px 20px 13px;box-shadow:0 1px 8px rgba(0,0,0,0.08);}}/*!sc*/ data-styled.g29[id="Header__Wrapper-sc-106uhe9-0"]{content:"jZcOeb,"}/*!sc*/ .dhzlK{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1400px;}/*!sc*/ data-styled.g30[id="Header__Inner-sc-106uhe9-1"]{content:"dhzlK,"}/*!sc*/ @media (max-width: 767px){.iVJYb{display:none;}}/*!sc*/ data-styled.g31[id="Header__HeaderNavPc-sc-106uhe9-2"]{content:"iVJYb,"}/*!sc*/ @media (max-width: 767px){.iZzKMA{display:none;}}/*!sc*/ data-styled.g32[id="FooterLogo__Pc-sc-1683ea-0"]{content:"iZzKMA,"}/*!sc*/ .cJGseb{display:none;}/*!sc*/ @media (max-width: 767px){.cJGseb{display:inline;}}/*!sc*/ data-styled.g33[id="FooterLogo__Sp-sc-1683ea-1"]{content:"cJGseb,"}/*!sc*/ .cwTvsA{font-size:13px;line-height:1.6;color:#f2f2f2;}/*!sc*/ @media (max-width: 767px){.cwTvsA{font-size:10px;}}/*!sc*/ data-styled.g34[id="FooterDescription__Text-sc-uki65r-0"]{content:"cwTvsA,"}/*!sc*/ .kdDnWo{display:flex;align-items:center;}/*!sc*/ @media (max-width: 767px){.kdDnWo{flex-direction:column;align-items:flex-start;}}/*!sc*/ data-styled.g35[id="FooterHeading__Wrapper-sc-ysx04u-0"]{content:"kdDnWo,"}/*!sc*/ .cGqMhn{margin-left:30px;}/*!sc*/ @media (max-width: 767px){.cGqMhn{margin:11px 0 0;}}/*!sc*/ data-styled.g36[id="FooterHeading__DescriptionWrapper-sc-ysx04u-1"]{content:"cGqMhn,"}/*!sc*/ @media (max-width: 767px){.dOceWS{display:flex;flex-wrap:wrap;justify-content:space-between;}}/*!sc*/ @media (max-width: 767px){.jBZdg{display:block;flex-wrap:wrap;justify-content:space-between;}}/*!sc*/ data-styled.g37[id="FooterNavLinks__LinkList-sc-he94nd-0"]{content:"dOceWS,jBZdg,"}/*!sc*/ .YkDvs{display:flex;flex-wrap:wrap;margin:16px 0 0 -10px;}/*!sc*/ @media (max-width: 767px){.YkDvs{justify-content:space-between;margin:0;}}/*!sc*/ data-styled.g38[id="FooterNavLinks__TagLinkList-sc-he94nd-1"]{content:"YkDvs,"}/*!sc*/ .ixQQMe{flex-basis:50%;margin-top:13px;}/*!sc*/ .ixQQMe:first-child{margin-top:29px;}/*!sc*/ @media (max-width: 767px){.ixQQMe{margin-top:17px;}.ixQQMe:first-child{margin-top:17px;}}/*!sc*/ data-styled.g39[id="FooterNavLinks__LinkItem-sc-he94nd-2"]{content:"ixQQMe,"}/*!sc*/ .lhjcLx{margin:13px 0 0 10px;}/*!sc*/ @media (max-width: 767px){.lhjcLx{flex-basis:50%;margin:17px 0 0 0;}}/*!sc*/ data-styled.g40[id="FooterNavLinks__TagLinkItem-sc-he94nd-3"]{content:"lhjcLx,"}/*!sc*/ .dkcwbg{margin-top:20px;}/*!sc*/ data-styled.g41[id="FooterNavLinks__MoreLinkWrapper-sc-he94nd-4"]{content:"dkcwbg,"}/*!sc*/ .hVwNys{display:flex;justify-content:space-between;margin-top:40px;}/*!sc*/ @media (max-width: 767px){.hVwNys{flex-direction:column;}}/*!sc*/ data-styled.g42[id="FooterNav__Wrapper-sc-pvduf3-0"]{content:"hVwNys,"}/*!sc*/ .bXAwgS{max-width:480px;}/*!sc*/ .bXAwgS:nth-child(1),.bXAwgS:nth-child(2),.bXAwgS:nth-child(4){flex-shrink:0;}/*!sc*/ .bXAwgS:not(:first-child){margin-left:20px;}/*!sc*/ @media (max-width: 767px){.bXAwgS{max-width:initial;}.bXAwgS:not(:first-child){margin:40px 0 0;}}/*!sc*/ data-styled.g43[id="FooterNav__LinksWrapper-sc-pvduf3-1"]{content:"bXAwgS,"}/*!sc*/ .gPDJrz{margin-top:30px;}/*!sc*/ @media (max-width: 767px){.gPDJrz{margin-top:20px;}}/*!sc*/ data-styled.g44[id="FooterNav__CorpLogoWrapper-sc-pvduf3-2"]{content:"gPDJrz,"}/*!sc*/ .icmzgP{background-color:#1b1b1b;}/*!sc*/ data-styled.g45[id="Footer__Wrapper-sc-1cjwj21-0"]{content:"icmzgP,"}/*!sc*/ .eQGFNj{width:100%;max-width:1400px;padding:45px 30px 18px;margin:0 auto;}/*!sc*/ @media (max-width: 767px){.eQGFNj{padding:40px 20px 20px;}}/*!sc*/ data-styled.g46[id="Footer__Inner-sc-1cjwj21-1"]{content:"eQGFNj,"}/*!sc*/ .eKVIfm{margin-top:84px;text-align:center;}/*!sc*/ @media (max-width: 767px){.eKVIfm{margin-top:39px;}}/*!sc*/ data-styled.g47[id="Footer__CopyrightWrapper-sc-1cjwj21-2"]{content:"eKVIfm,"}/*!sc*/ .WitCQ{position:relative;width:70px;height:70px;cursor:pointer;background-color:#1b1b1b;border:none;border-radius:50%;outline:none;appearance:none;}/*!sc*/ @media (max-width: 767px){.WitCQ{width:52px;height:52px;}}/*!sc*/ .WitCQ::before{position:absolute;top:45%;left:50%;display:block;width:12px;height:12px;content:"";border-top:2px solid #fff;border-left:2px solid #fff;transform:translate(-50%) rotate(45deg);}/*!sc*/ @media (max-width: 767px){.WitCQ::before{width:7px;height:7px;}}/*!sc*/ data-styled.g48[id="ToTopButton__Button-sc-60bzld-0"]{content:"WitCQ,"}/*!sc*/ .fDmxku{display:flex;justify-content:center;}/*!sc*/ data-styled.g49[id="TopButtonWrapper__Wrapper-sc-ssgdg7-0"]{content:"fDmxku,"}/*!sc*/ .daaPTY{display:flex;justify-content:flex-end;width:100%;max-width:1400px;padding:0 30px 30px;}/*!sc*/ @media (max-width: 767px){.daaPTY{padding:0 20px 20px;}}/*!sc*/ data-styled.g50[id="TopButtonWrapper__Inner-sc-ssgdg7-1"]{content:"daaPTY,"}/*!sc*/ html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{padding:0;margin:0;font-size:100%;vertical-align:baseline;background:transparent;border:0;outline:0;}/*!sc*/ body{line-height:1;}/*!sc*/ article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}/*!sc*/ blockquote,q{quotes:none;}/*!sc*/ blockquote::before,blockquote::after,q::before,q::after{content:'';content:none;}/*!sc*/ a{padding:0;margin:0;font-size:100%;vertical-align:baseline;background:transparent;}/*!sc*/ ins{color:#000;text-decoration:none;background-color:#ff9;}/*!sc*/ mark{font-style:italic;font-weight:bold;color:#000;background-color:#ff9;}/*!sc*/ del{text-decoration:line-through;}/*!sc*/ abbr[title],dfn[title]{cursor:help;border-bottom:1px dotted;}/*!sc*/ table{border-spacing:0;border-collapse:collapse;}/*!sc*/ hr{display:block;height:1px;padding:0;margin:1em 0;border:0;border-top:1px solid #ccc;}/*!sc*/ input,select{vertical-align:middle;}/*!sc*/ html{font-family:'Helvetica Neue',Arial,YuGothic,'Yu Gothic Medium','Yu Gothic','Hiragino Kaku Gothic ProN','Hiragino Sans',Meiryo,sans-serif;background:#f6f6f6;}/*!sc*/ *{box-sizing:border-box;line-height:1;}/*!sc*/ *:not(code,code *){color:#1b1b1b;}/*!sc*/ a:hover{color:#767676;opacity:0.8;}/*!sc*/ ul,ol{list-style:none;}/*!sc*/ data-styled.g51[id="sc-global-egvZzt1"]{content:"sc-global-egvZzt1,"}/*!sc*/ .eXXaLr{display:flex;justify-content:center;padding:50px 30px 60px;}/*!sc*/ @media (max-width: 767px){.eXXaLr{padding:74px 0 50px;}}/*!sc*/ data-styled.g52[id="Layout__Wrapper-sc-wljzn2-0"]{content:"eXXaLr,"}/*!sc*/ .cmfBeF{width:100%;max-width:1340px;}/*!sc*/ data-styled.g53[id="Layout__Inner-sc-wljzn2-1"]{content:"cmfBeF,"}/*!sc*/ .hWiQHX{font-size:20px;font-weight:bold;line-height:calc(20 / 14);}/*!sc*/ @media (max-width: 767px){.hWiQHX{font-size:18px;line-height:calc(18 / 14);}}/*!sc*/ data-styled.g54[id="SidebarHeading__Text-sc-100o8h8-0"]{content:"hWiQHX,"}/*!sc*/ .kOYsxR{display:block;}/*!sc*/ .kOYsxR img{width:100%;}/*!sc*/ data-styled.g55[id="SidebarImage__ExternalLink-sc-1ovfkzr-0"]{content:"kOYsxR,"}/*!sc*/ @media (max-width: 1399px){.ckiZSO{height:auto;width:100%;min-width:310;}}/*!sc*/ data-styled.g56[id="SidebarImage__Image-sc-1ovfkzr-1"]{content:"ckiZSO,"}/*!sc*/ .dlwWsb{margin-top:18px;}/*!sc*/ data-styled.g57[id="SidebarInformation__Item-sc-n9a31x-0"]{content:"dlwWsb,"}/*!sc*/ .bWRSUM{padding:20px;margin-top:19px;background-color:#fff;}/*!sc*/ data-styled.g58[id="SidebarLatestArticles__List-sc-4r6ql-0"]{content:"bWRSUM,"}/*!sc*/ .kxdipa:not(:first-of-type){padding-top:16px;margin-top:12px;border-top:1px solid #eee;}/*!sc*/ data-styled.g59[id="SidebarLatestArticles__Item-sc-4r6ql-1"]{content:"kxdipa,"}/*!sc*/ .fkdbFp{font-size:12px;color:#666;}/*!sc*/ data-styled.g60[id="SidebarLatestArticles__Date-sc-4r6ql-2"]{content:"fkdbFp,"}/*!sc*/ .cAFnYh{display:inline-block;margin-top:5px;font-size:16px;font-weight:bold;line-height:1.7;color:#1b1b1b;text-decoration:none;}/*!sc*/ data-styled.g61[id="SidebarLatestArticles__ArticleLink-sc-4r6ql-3"]{content:"cAFnYh,"}/*!sc*/ .ddvARG{display:inline-block;padding:8px 15px;font-size:14px;text-decoration:none;background:#fff;border:1px solid #ddd;border-radius:30px;}/*!sc*/ @media (max-width: 767px){.ddvARG{padding:8px 12px;font-size:13px;}}/*!sc*/ .ddvARG::before{content:"#";}/*!sc*/ .eZNwhP{display:inline-block;padding:8px 15px;font-size:14px;text-decoration:none;background:#fff;border:none;border-radius:30px;}/*!sc*/ @media (max-width: 767px){.eZNwhP{padding:8px 12px;font-size:13px;}}/*!sc*/ .eZNwhP::before{content:"#";}/*!sc*/ data-styled.g62[id="Tag__StyledLink-sc-1jf1fx3-0"]{content:"ddvARG,eZNwhP,"}/*!sc*/ .govONA{display:flex;flex-wrap:wrap;margin-top:9px;margin-left:-12px;}/*!sc*/ @media (max-width: 767px){.govONA{margin-top:7px;}}/*!sc*/ data-styled.g63[id="SidebarTags__List-sc-1sqne6a-0"]{content:"govONA,"}/*!sc*/ .cqMIrZ{margin-top:11px;margin-left:12px;}/*!sc*/ @media (max-width: 767px){.cqMIrZ{margin-top:12px;}}/*!sc*/ data-styled.g64[id="SidebarTags__Item-sc-1sqne6a-1"]{content:"cqMIrZ,"}/*!sc*/ .jsxPmt{margin-top:22px;}/*!sc*/ data-styled.g65[id="SidebarTags__NavLinkWrapper-sc-1sqne6a-2"]{content:"jsxPmt,"}/*!sc*/ .cfbUWz{width:310px;margin-left:30px;}/*!sc*/ @media (max-width: 1399px){.cfbUWz{width:calc(100 / 1400 * 310vw);margin-left:calc(100 / 1400 * 30vw);}}/*!sc*/ @media (max-width: 767px){.cfbUWz{width:100%;max-width:initial;margin:80px 0 0 0;}}/*!sc*/ data-styled.g66[id="Sidebar__Wrapper-sc-e0afmy-0"]{content:"cfbUWz,"}/*!sc*/ .liqkbQ:not(:first-of-type){margin-top:60px;}/*!sc*/ @media (max-width: 767px){.liqkbQ:not(:first-of-type){margin-top:46px;}}/*!sc*/ data-styled.g67[id="Sidebar__Inner-sc-e0afmy-1"]{content:"liqkbQ,"}/*!sc*/ .dYVJnu{position:sticky;top:0px;}/*!sc*/ data-styled.g68[id="Sidebar__StickyInner-sc-e0afmy-2"]{content:"dYVJnu,"}/*!sc*/ .OPsHt{display:flex;justify-content:space-between;margin-top:50px;}/*!sc*/ @media (max-width: 767px){.OPsHt{flex-direction:column;margin-top:0;}}/*!sc*/ data-styled.g69[id="page__FullWidthContent-sc-dlpr27-0"]{content:"OPsHt,"}/*!sc*/ .elZjqD{width:100%;}/*!sc*/ data-styled.g70[id="page__LeftColumn-sc-dlpr27-1"]{content:"elZjqD,"}/*!sc*/ .kdQgRZ{display:flex;justify-content:center;}/*!sc*/ data-styled.g71[id="page__Wrapper-sc-dlpr27-2"]{content:"kdQgRZ,"}/*!sc*/ .eza-DsE{display:flex;}/*!sc*/ @media (max-width: 767px){.eza-DsE{padding:0 20px;}}/*!sc*/ data-styled.g72[id="page__SidebarWrapper-sc-dlpr27-3"]{content:"eza-DsE,"}/*!sc*/ .irjTJi{font-size:14px;color:#666;}/*!sc*/ @media (max-width: 767px){.irjTJi{font-size:13px;}}/*!sc*/ data-styled.g74[id="ArticleDate__Text-sc-a95f93-0"]{content:"irjTJi,"}/*!sc*/ .fxciTM{font-size:30px;color:#1b1b1b;}/*!sc*/ @media (max-width: 767px){.fxciTM{font-size:22px;}}/*!sc*/ data-styled.g75[id="ArticleTitle__Text-sc-n1jdqj-0"]{content:"fxciTM,"}/*!sc*/ .ksKsDv{margin-top:16px;}/*!sc*/ @media (max-width: 767px){.ksKsDv{margin-top:12px;}}/*!sc*/ data-styled.g76[id="ArticleInfo__TitleWrapper-sc-1qj3yjx-0"]{content:"ksKsDv,"}/*!sc*/ .lpgjCc{display:flex;flex-wrap:wrap;margin-top:18px;}/*!sc*/ @media (max-width: 767px){.lpgjCc{margin-top:12px;}}/*!sc*/ data-styled.g77[id="ArticleInfo__TagList-sc-1qj3yjx-1"]{content:"lpgjCc,"}/*!sc*/ .idjGgX{margin-right:11px;margin-bottom:5px;}/*!sc*/ data-styled.g78[id="ArticleInfo__TagItem-sc-1qj3yjx-2"]{content:"idjGgX,"}/*!sc*/ .UTMQN{padding-bottom:18px;border-bottom:1px solid #eee;}/*!sc*/ @media (max-width: 767px){.UTMQN{padding-bottom:14px;}}/*!sc*/ data-styled.g79[id="OriginalInfo__Wrapper-sc-7610xd-0"]{content:"UTMQN,"}/*!sc*/ .dlhUOl{display:flex;align-items:center;padding:15px 20px;background-color:#f6f6f6;}/*!sc*/ @media (max-width: 767px){.dlhUOl{align-items:flex-start;padding:10px;}}/*!sc*/ data-styled.g80[id="OriginalInfo__Content-sc-7610xd-1"]{content:"dlhUOl,"}/*!sc*/ .MuIKa{width:50px;height:50px;margin-right:15px;border-radius:50%;}/*!sc*/ @media (max-width: 767px){.MuIKa{width:36px;height:36px;margin-right:10px;}}/*!sc*/ data-styled.g81[id="OriginalInfo__OriginalIcon-sc-7610xd-2"]{content:"MuIKa,"}/*!sc*/ .jWRgds{font-size:14px;line-height:1.6;color:#666;}/*!sc*/ @media (max-width: 767px){.jWRgds{font-size:13px;}}/*!sc*/ data-styled.g82[id="OriginalInfo__TextArea-sc-7610xd-3"]{content:"jWRgds,"}/*!sc*/ .hulzJL{display:flex;}/*!sc*/ @media (max-width: 767px){.hulzJL{flex-direction:column;}}/*!sc*/ data-styled.g83[id="OriginalInfo__Information-sc-7610xd-4"]{content:"hulzJL,"}/*!sc*/ .cWvAEW{margin-top:12px;font-size:12px;}/*!sc*/ @media (max-width: 767px){.cWvAEW{margin-top:10px;font-size:10px;}}/*!sc*/ data-styled.g84[id="OriginalInfo__Note-sc-7610xd-5"]{content:"cWvAEW,"}/*!sc*/ .qHERx{margin-left:5px;}/*!sc*/ @media (max-width: 767px){.qHERx{margin-top:10px;margin-left:0;}}/*!sc*/ data-styled.g85[id="OriginalInfo__Author-sc-7610xd-6"]{content:"qHERx,"}/*!sc*/ .jPuUmd{color:#469af6;text-decoration:none;}/*!sc*/ data-styled.g86[id="OriginalInfo__ExternalLink-sc-7610xd-7"]{content:"jPuUmd,"}/*!sc*/ .kjRFXp{display:flex;justify-content:center;}/*!sc*/ data-styled.g89[id="ShareButtons__Wrapper-sc-1lies9q-0"]{content:"kjRFXp,"}/*!sc*/ .bzlnxh{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;}/*!sc*/ @media (max-width: 767px){.bzlnxh{justify-content:flex-start;}}/*!sc*/ data-styled.g90[id="ShareButtons__List-sc-1lies9q-1"]{content:"bzlnxh,"}/*!sc*/ .gaAEkH{padding-bottom:6px;}/*!sc*/ .gaAEkH:not(:first-child){margin-left:10px;}/*!sc*/ .gaAEkH:nth-child(3){padding-bottom:0;}/*!sc*/ @media (max-width: 767px){.gaAEkH:not(:first-child){margin-left:8px;}}/*!sc*/ data-styled.g91[id="ShareButtons__Item-sc-1lies9q-2"]{content:"gaAEkH,"}/*!sc*/ .bNqEXq img,.bNqEXq video{width:100%;}/*!sc*/ .bNqEXq div[style^='width']{max-width:100%!important;}/*!sc*/ .bNqEXq h2{padding-bottom:24px;margin-top:55px;font-size:26px;line-height:1.6;border-bottom:2px solid #707070;}/*!sc*/ @media (max-width: 767px){.bNqEXq h2{padding-bottom:16px;font-size:20px;}}/*!sc*/ .bNqEXq h3{margin-top:55px;font-size:24px;font-weight:bold;line-height:1.6;}/*!sc*/ @media (max-width: 767px){.bNqEXq h3{margin-top:44px;font-size:18px;}}/*!sc*/ .bNqEXq h3::before{padding-right:15px;content:'';border-left:5px solid #adb5bb;}/*!sc*/ @media (max-width: 767px){.bNqEXq h3::before{padding-right:11px;}}/*!sc*/ .bNqEXq h4{margin-top:50px;font-size:20px;font-weight:bold;line-height:1.6;}/*!sc*/ @media (max-width: 767px){.bNqEXq h4{margin-top:38px;font-size:16px;}}/*!sc*/ .bNqEXq p{margin-top:25px;font-size:17px;line-height:2;}/*!sc*/ @media (max-width: 767px){.bNqEXq p{margin-top:24px;font-size:15px;line-height:1.9;}}/*!sc*/ .bNqEXq a{color:#469af6;text-decoration:none;}/*!sc*/ .bNqEXq ul{margin-top:20px;}/*!sc*/ .bNqEXq ul li{position:relative;padding-left:1.8rem;font-size:17px;line-height:2;}/*!sc*/ .bNqEXq ul li:not(:first-of-type){margin-top:5px;}/*!sc*/ .bNqEXq ul li::before{position:absolute;top:13px;left:5px;display:inline-block;width:6px;height:6px;content:'';background-color:#1b1b1b;}/*!sc*/ @media (max-width: 767px){.bNqEXq ul li{padding-left:1.5rem;font-size:15px;}}/*!sc*/ .bNqEXq ol{margin-top:20px;counter-reset:item;}/*!sc*/ .bNqEXq ol li{padding-left:1.7rem;font-size:17px;line-height:2;text-indent:-1.7rem;}/*!sc*/ .bNqEXq ol li:not(:first-of-type){margin-top:5px;}/*!sc*/ @media (max-width: 767px){.bNqEXq ol li:not(:first-of-type){margin-top:8px;}}/*!sc*/ .bNqEXq ol li::before{padding-right:0.7rem;content:counter(item) '.';counter-increment:item;}/*!sc*/ @media (max-width: 767px){.bNqEXq ol li::before{padding-right:0.6rem;}}/*!sc*/ @media (max-width: 767px){.bNqEXq ol li{padding-left:1.4rem;font-size:15px;line-height:1.9;text-indent:-1.4rem;}}/*!sc*/ .bNqEXq em{font-style:italic;}/*!sc*/ .bNqEXq code{font-size:15px;line-height:1;}/*!sc*/ .bNqEXq pre .line-numbers-rows{padding:1em;font-size:15px;line-height:1;}/*!sc*/ .bNqEXq pre .line-numbers-rows span{padding:0.3em 0;}/*!sc*/ .bNqEXq blockquote{position:relative;padding:0 42px;}/*!sc*/ @media (max-width: 767px){.bNqEXq blockquote{padding:0 25px;}}/*!sc*/ .bNqEXq blockquote::before,.bNqEXq blockquote::after{position:absolute;width:24px;height:24px;content:'';background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhlJREFUSA3tVEFuE1EMtT/TVZHoDeAIOUKy6Eg0RSS0rJmegHACwgnaniDTNalCBQEpQcrkBJQbNCegSKgbJmPsmfj3Z/J/tmz6N7af39ge2/8DPJz/3QEMFXA5niRAeApI747acRriCX45nvaB4K1BanXb8bXLNa6hehkccAAIe8By9G32TH11OfwySRl7L9yCcFb3R3Vg+PV7B4gGihPAVfd560ZtV5aVA7xRjJAuVFe51iKptFjmP6rKgfPQxfFhnCjZlR8/T5vGgFMxnfhaudai5fJvX4Nz+HkouCTi4KkmJKBzX/CSpySpHhHt7xqzk6ivLqsZwdMVvjhux706R237B0WRJwpKa0J9Fw4BdpTLVv9e39RsAiY2rduYT1b3K5bLf5r5KRVqhzwcT2/ZeCIw97SHgLyivKRI2auDeC66nNFstlfc5b8qi/0AHQJoiG2Arur3wCbglWOe/xBB9mg36nZbrdvN7al/QykP/ERRp0UKbUpEaC7v8sGmx4dgsrofpdNNsPDRFZNWiB49jq4VC0lu8Uv12QS8OZmCITkaTxrSJr6BP0McwXl+5UxEdxJgKkDo8IB+3w9wO5fXZK5xbILXL/Yz2X911CUS9BU7Otw/2/YXHLSnXJtAgNXT8EGqVUKl8zsjQZ1jdnea8kQ4kKiLooC1J5tn5z+yjlEU3Wy70fKl3Iv8T96Q4Zfz8Yd7QMMd+AeJjsQzpDMHYwAAAABJRU5ErkJggg==);}/*!sc*/ @media (max-width: 767px){.bNqEXq blockquote::before,.bNqEXq blockquote::after{width:20px;height:20px;background-size:20px 20px;}}/*!sc*/ .bNqEXq blockquote::before{top:4px;left:0;}/*!sc*/ @media (max-width: 767px){.bNqEXq blockquote::before{top:2px;}}/*!sc*/ .bNqEXq blockquote::after{right:0;bottom:4px;transform:rotate(180deg);}/*!sc*/ @media (max-width: 767px){.bNqEXq blockquote::after{bottom:4px;}}/*!sc*/ .bNqEXq table{width:100%;margin-top:25px;}/*!sc*/ .bNqEXq th{font-weight:bold;text-align:left;}/*!sc*/ .bNqEXq td,.bNqEXq th{padding:10px;font-size:15px;line-height:2;border:1px solid #e6e6e6;}/*!sc*/ @media (max-width: 767px){.bNqEXq td,.bNqEXq th{font-size:14px;}}/*!sc*/ .bNqEXq .admonition-info{background-color:#f6f6f6;border-left:8px solid #1b1b1b;}/*!sc*/ .bNqEXq .admonition-none{background-color:#f6f6f6;border-left:8px solid #1b1b1b;}/*!sc*/ .bNqEXq .admonition-none div:first-child{display:none;}/*!sc*/ .bNqEXq .admonition-info h5{color:#1b1b1b;}/*!sc*/ .bNqEXq .admonition-info .admonition-icon svg{stroke:#1b1b1b;fill:#1b1b1b;}/*!sc*/ .bNqEXq summary{cursor:pointer;}/*!sc*/ data-styled.g92[id="textPageStyles__TextPage-sc-1qtxiy0-0"]{content:"bNqEXq,"}/*!sc*/ .flbPUF{background-color:#f6f6f6;border-bottom:1px solid #eee;padding:25px 5%;align-items:normal;grid-template-columns:0.2fr 0.8fr;gap:0px 25px;grid-template-areas:". header" "img name" "img introduce";margin-top:50px;display:grid;grid-template-rows:0.1fr 0.2fr;}/*!sc*/ @media (max-width: 767px){.flbPUF{padding:30px 20px;align-items:center;gap:20px 20px;grid-template-areas:"header header" "img name" "introduce introduce";}}/*!sc*/ data-styled.g93[id="SupervisorInfo__Wrapper-sc-1j48flx-0"]{content:"flbPUF,"}/*!sc*/ .dvXvVG{grid-area:header;font-weight:normal;font-size:16px;}/*!sc*/ @media (max-width: 767px){.dvXvVG{font-weight:bold;font-size:20px;}}/*!sc*/ data-styled.g94[id="SupervisorInfo__Header-sc-1j48flx-1"]{content:"dvXvVG,"}/*!sc*/ .ftZoJh{grid-area:img;}/*!sc*/ data-styled.g95[id="SupervisorInfo__ImageWrapper-sc-1j48flx-2"]{content:"ftZoJh,"}/*!sc*/ .mBQUt{width:100%;height:auto;border-radius:50%;}/*!sc*/ data-styled.g96[id="SupervisorInfo__Image-sc-1j48flx-3"]{content:"mBQUt,"}/*!sc*/ .eoJhWn{grid-area:name;font-size:16px;font-weight:700;line-height:1.2;white-space:pre-wrap;}/*!sc*/ data-styled.g97[id="SupervisorInfo__NameWrapper-sc-1j48flx-4"]{content:"eoJhWn,"}/*!sc*/ .hPxcFm{line-height:2;}/*!sc*/ data-styled.g98[id="SupervisorInfo__Name-sc-1j48flx-5"]{content:"hPxcFm,"}/*!sc*/ .hHtnWv{grid-area:introduce;font-size:14px;line-height:1.5;white-space:pre-wrap;margin-top:15px;}/*!sc*/ @media (max-width: 767px){.hHtnWv{margin-top:0;}}/*!sc*/ data-styled.g99[id="SupervisorInfo__Introduce-sc-1j48flx-6"]{content:"hHtnWv,"}/*!sc*/ .dGIkDp{margin-top:8px;}/*!sc*/ data-styled.g100[id="SupervisorInfo__SocialLinkWrapper-sc-1j48flx-7"]{content:"dGIkDp,"}/*!sc*/ .lfoiSu{line-height:1.5;}/*!sc*/ data-styled.g101[id="SupervisorInfo__SocialLinkItem-sc-1j48flx-8"]{content:"lfoiSu,"}/*!sc*/ .gZbwdw{color:#469af6;}/*!sc*/ data-styled.g102[id="SupervisorInfo__SocialLink-sc-1j48flx-9"]{content:"gZbwdw,"}/*!sc*/ .lbIhIM{max-width:875px;padding:50px 80px 60px;background-color:#fff;}/*!sc*/ @media (max-width:1236px){.lbIhIM{max-width:calc(100 / 1400 * 951vw);}}/*!sc*/ @media (max-width: 767px){.lbIhIM{max-width:100%;padding:50px 20px 50px;}}/*!sc*/ data-styled.g120[id="article__Inner-sc-19k0vly-0"]{content:"lbIhIM,"}/*!sc*/ .ikOPxI{width:100%;height:auto;max-height:350px;margin-top:20px;object-fit:contain;}/*!sc*/ data-styled.g121[id="article__MainVisual-sc-19k0vly-1"]{content:"ikOPxI,"}/*!sc*/ .hRbWsE{margin-top:18px;}/*!sc*/ @media (max-width: 767px){.hRbWsE{margin-top:14px;}}/*!sc*/ data-styled.g122[id="article__OriginalWrapper-sc-19k0vly-2"]{content:"hRbWsE,"}/*!sc*/ .ezXiKj{margin-top:60px;}/*!sc*/ @media (max-width: 767px){.ezXiKj{margin-top:50px;}}/*!sc*/ data-styled.g123[id="article__ShareButtonsWrapper-sc-19k0vly-3"]{content:"ezXiKj,"}/*!sc*/ </style><link rel="preconnect" href="https://www.googletagmanager.com"/><link rel="dns-prefetch" href="https://www.googletagmanager.com"/><link rel="alternate" type="application/rss+xml" title="POSTD" href="/feed/"/><title data-gatsby-head="true">テストピラミッド万歳 | POSTD</title><link rel="icon" type="image/ico" href="/static/favicon-730c2b8b363f1d98a40b76cde8ccdc73.ico" data-gatsby-head="true"/><link rel="apple-touch-icon-precomposed" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAIAAABoJHXvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3NpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplMTE0N2M1NS1hYmIzLTQwN2YtOGRmMy0zNzRhM2JkNGRkYmYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjIwMEM5N0ZGMkM4MTFFMzgxMjM5NDExNDlEMUM0REMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjIwMEM5N0VGMkM4MTFFMzgxMjM5NDExNDlEMUM0REMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6YTBhOWE0NTEtYTc4OC00Y2ZjLTgyYWYtNGFjMDIzY2UwNzU0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOmUxMTQ3YzU1LWFiYjMtNDA3Zi04ZGYzLTM3NGEzYmQ0ZGRiZiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpKUn6UAAAR3SURBVHja7Ny/Szp9AMDxJzPS1AyDDCQxK+nn0KAVYVANBWKWSEtTEf0JNQVNbUFjS1NDWEMR1VQ29IPmcigKJbChyCIDKYR8Dr4Pz/B9HrzTvnpnvd9DUHzqrnt13ue8u0rS6fRfVDyVAAYYAUaAAUaAEWCAEWAEGGAEGAEGGAFGgAFGgBFggBFgBBhgBBgBBhgBRoABBhhgBBgVCKykpOS3r/x3iVLGiH5Lbmk0Gq1WazKZLBaL3W5vamrq7Ozs6empqqoCTIlg/5tKpXK5XKOjo36/XyBUllg6z0lZYg5rVbDt09/fv7m5mUql0soIMEk5HI5gMPj5+QlYcYD9qru7OxwOA1Y0YELl5eWLi4sy7mqA5ZLP50skErKAMUvMsY6OjoODg5qaGqb1xQEm1NraGgqFzGYzYF8Fq6io8Hg8UlZPmK8/Pz9Ho9FYLJbDphD2s+PjY6PRyHnYl45hVqs12/WMx+M7OzvT09MmkymrDej1egs5BwHs95LJ5MrKivATpJstLS0BJhvYv2xzc3NqtVriG5LX19eAyQn2q6Ojo+rqailmQ0NDgMkPJnR1dVVbWyvF7PDwEDD5wYQuLi70er0o2MDAAGCKABMKBoNSTmBubm7yvT1VXMOV0vj4eCAQED1BWl1d5TxMEXuYkDAPFJ002u129jCl5HA4/H5/5jGRSESYpOR1NQDLosnJSdExJycngCmlwcFBnU6Xeczl5SVgSqmsrKy3tzfzGOFQB5iCam9vzzzg9vYWMAVls9kyD3h6egJMQYle+np9fQVMQYmeiqlUKsAU1NvbW+YBBoMBMAX1+Pj4xddMwAqa6Kw93/fkAJZdZ2dnmQe0tLQAppSEc6xoNApY0bS2tiY6pqurK6/r8D3vS7RarXd3d3/2F0kmk3a7/eHhIcMYrVYbj8eFj+xh8re8vJxZS8jj8eRV65+/ZS5gSrkVR6PRiG7M3d1dLmDKXyKRCAQC7+/vmYfV1dUNDw/ne2UAEz90eb3ecDgsOnJ2dra0tDTvK8RLYoZisZjT6ZSyGevr6z8+PrjNTU6w9fV16Y9/bW1tceevbGChUMjtdkt/lZqYmOBhiEKDCXOK09PT+fn55ubmrI4pjY2NwrkXj8wW6IE+IWFz39/fRyKRVCqV7W9nNBrPz8+zNeadDnnS6/V7e3t9fX2FXChgOVZZWbm/vy96ExVgigATjlvb29ttbW0yLPtbTjry2tjY2MvLS1qmAMsis9m8sbGRljXApB6xFhYW5PrvN99/Wv9nD1czMzNTU1MSH3Zm0iEPWENDg8/nGxkZcbvd+b7VELAsUqvVBoNBp9NZLBabzWa3251Op8vlEj5V5tWDYgX7sQEGGGCAEWCAAQYYAQYYYIAB9h3AlHBPgJTyvj0BAwwwwAADDDDAfgwYAQYYYIARYIABBljxTtmZ1gMGGGCAAQYYYIDRD53WE2CAEWAEGAEGGAFGgAFGgBFggBFgBBhgBBgBBhgBRoABRoARYIARYAQYYAQYAQYYFUt/CzAAPkGUpXqQ7qgAAAAASUVORK5CYII=" data-gatsby-head="true"/><script type="text/javascript" id="mierucajs" data-gatsby-head="true"> window.__fid = window.__fid || [];__fid.push([298475738]); (function() { function mieruca(){if(typeof window.__fjsld != "undefined") return; window.__fjsld = 1; var fjs = document.createElement('script'); fjs.type = 'text/javascript'; fjs.async = true; fjs.id = "fjssync"; var timestamp = new Date;fjs.src = ('https:' == document.location.protocol ? 'https' : 'http') + '://hm.mieru-ca.com/service/js/mieruca-hm.js?v='+ timestamp.getTime(); var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(fjs, x); }; setTimeout(mieruca, 500); document.readyState != "complete" ? (window.attachEvent ? window.attachEvent("onload", mieruca) : window.addEventListener("load", mieruca, false)) : mieruca(); })(); </script><script src="https://b.st-hatena.com/js/bookmark_button.js" data-gatsby-head="true"></script><script src="https://platform.twitter.com/widgets.js" data-gatsby-head="true"></script><script crossorigin="anonymous" src="https://connect.facebook.net/ja_JP/sdk.js#xfbml=1&version=v10.0" nonce="jX8miYcO" data-gatsby-head="true"></script><script src="https://widgets.getpocket.com/v1/j/btn.js?v=1" id="pocket-btn-js" data-gatsby-head="true"></script></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><header class="Header__Wrapper-sc-106uhe9-0 jZcOeb"><div class="Header__Inner-sc-106uhe9-1 dhzlK"><div class="HeaderLeftSide__Wrapper-sc-151me4h-0 icgTxN"><a href="/"><h1 class="HeaderLogo__Pc-sc-128t2eb-0 hLsmrx"><img src="/static/logo-10ab68d2ba3b6095a7c9c0d4ce901428.png" alt="POSTD PRODUCED BY NIJIBOX" width="160" height="75"/></h1><h1 class="HeaderLogo__Sp-sc-128t2eb-1 djySHL"><img src="/static/logo-10ab68d2ba3b6095a7c9c0d4ce901428.png" alt="POSTD PRODUCED BY NIJIBOX" width="96" height="45"/></h1></a><div class="HeaderLeftSide__DescriptionWrapper-sc-151me4h-1 iteQnd"><p class="HeaderDescription__Text-sc-clsdq0-0 fcSJox">ニジボックスが運営する<br/>エンジニアに向けた<br/>キュレーションメディア</p></div></div><nav class="Header__HeaderNavPc-sc-106uhe9-2 iVJYb"><div class="HeaderIcons__Wrapper-sc-fl6baq-0 hyUZWO"><a href="https://feedly.com/i/subscription/feed%2Fhttps%3A%2F%2Fpostd.cc%2Ffeed%2F" target="_blank" rel="noopener noreferrer" class="HeaderIconLink__ExternalLink-sc-nsmdxc-0 egfLUA"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA5BJREFUaAXtWLFSGzEQ5bh4JmODB6g8doHp0iV/QNylCyUddpmOdOkSunSZfAFHBx18QfwHoU1HCuw2HsYeGtt57+bEyHfSnfbuTMyEnfFIWmlX70larc5ra8/yvAL/9wp4y6DfarWO5vP5sed5byL/fZTB7e3tWdnzlU6g2WyeAnjXBBSkgsFg0DP15dX5eQ1NdmngOZ47srm52b67u7sy2efRlUYgC7wCVzaJUgi4gl8GiUIxsAWpVqs/tGBVGJ3KMmIi9w4UBU+GZRynXDtQBnh9i7AT15PJpPMHoutd6mICZYNXIPOSEBGQggeoEwLEUfmsgKaVeUi8SHOo90nBw7aHpBXQBzLzDYpT1tOEMcFLAWOcj5NTEOcBj2dDoMAicV3X6/XfaB8ona0EiUalUnnn+/7FPcQ2TukzCRQFryYiCWThPa6y0tlKCYnUGCgLPIHiGBE4j8cW2y7iEhNWAv8avCKYRcJIYFXAu5BIEFg18FkkFgisKvg0Eg8EVh28jURI4KmAN5FYXyZ43CBX/KmJyyqZS6KMvebv7Ox8guLQ0XlPz7C6TfyeB/AzPCUOkcDOXROY7i+rzmS3sbEx8uH8GxtZBuiXgu8qnyBxuQwS8N/wsHJzNVFK+R0rf2zqt6x81zQWn56XWKz3pr68unUXQxyHfcZKfKwEfKPRaMP+ddxHwfZo3SXIsGph0OgkJOA5Fq/Ln/DTLgh4wRzY+x5W5i2c85GVKTC4waAAvzbAHKAMdwV6BmwX7YTEiSYGFFBMp9NOmAcwSRd+TvP4AvgTgP9isl0meMwXXirh94Dkg0MHOpvNPg6Hw6+6TtUfAzznenhKsCHdifF4vG36J+GxwBPzwi0UJakeO1yE2VAPbNo8JnjOl/iklBwnBPLC92scPOKDz4hfGPeKkxUUYyJdOEL6BNLjpNuyrt9MSGABSBzFxwjaRvC0T+yAcirZCWWjSh08dQWfElbw9G3dAXZSpDvBY4NrlTkiIfDVh3I/0WFXpIKn2UIQm/xIAxs+duOBTb/UgdyuaQ6LLhM87TIJcJCEBM564tlB8NHf8G36cxAn8PSTeYT0ySTHCat9DdvLyP6AxHRfKXVn8PQhIkADCQmOF4oIPH1bbyHbxEVuJ5vPSC8GTzsxARppJDpovqSugIxg+yGKM7GbXAQ4C0nUarVznO1t/PagkhIZIU4u8CA8xIOwT5/P8hRX4C/0uyMrvpz0RwAAAABJRU5ErkJggg==" alt="Feedly" width="24" height="24"/></a><a href="https://postd.cc/feed/" target="_blank" rel="noopener noreferrer" class="HeaderIconLink__ExternalLink-sc-nsmdxc-0 egfLUA"><img src="data:image/png;base64,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" alt="RSS" width="24" height="24"/></a><a href="https://twitter.com/POSTDcc" target="_blank" rel="noopener noreferrer" class="HeaderIconLink__ExternalLink-sc-nsmdxc-0 egfLUA"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAVmSURBVHgBzVm7UhtJFL2SoEpbvOSCQLyqRObMkHkzKcMZZOsIyHYj5C9AZHZkKVtHEpkdGaJ1hsg2Ywg38pj3ZjIQYJ4+Z9wzNRo9puch4FRJ6mn19Nzue+7p2z0JiQG5XC5zfX29gOKL+/v7HH5nk8lkBuWM3QZlM5FImCga+Oz19/fXTUAiIiEhQaOvrq5WYVQel3kJBw6mEmUwgQdgG44ZLrpnOAbUMJD1oAMJNICJiYm1HhjeBPRdOj4+XtdtrzUAzHoOHP+M4qw8DEx4o6DjjaRfg8nJyaWbm5tdeTjjCU7YLjy+4Ncw1e1PUgZBWkYxLQ+PNJ79x9DQkJyfn+90atRxAMr4kjwyqHLdBtF2AHQdbvxbngg4iOHhYROD2Gv5z1vBgCXne6k0IdFAYM95A7sliBE820/QeCKjlLAJTRRSvPeN/EdEdmRkJHF2dla3KxwKKa3/6tcDvLOIhWaz3X9TU1Ml/L8mwbBxdHS0DLmmTO9qtCeVZsCkBi8cDwwMDLwXDa2Hh+ZHR0c/NQA8dBnBNcsP6hr7+/ubKNODWdGDAeNfcfLu7u7+wbUOddOYpB+2F6wYYAf4WRY9kItVu4wPy1W77vb2dhGDbGj0Y7Kt8vw2zRBNYACrzMlYtjyA2eesBeF+bnBw8DuoVMaM59XDrbrT09Mv0O0fuJ6X7sYX0NbEs2n8cwkGxwtWDIAKYVIFS9YuLy+lr6/PLbtzoIWBPmlYvsO9dhvStijhUEcfhYRu8HbrBIbQiPeqzlQDy3gGZuMN7inHsdLjOc9SIejjhkMlyBs9SCpkEJDpk5OTT14qweB1GP8WarWKy7cSHf8l0FmZQSHRMIfZMJlBigpGGFs4PDysu6hUgfHFAHKpg0oSxr+Q6KhSl2H0il2BfqtUCgQr60i1olK7zxITuP9Owc0lPDhq6pCFGmVg5AdQ6RmuX+JD45+DSh+QhG2EkUs/wO50El85iQdF0DGPwC2hbKoHLIyPj1sqo04tchIvMglw8l7ig6VAyGZn4d5tVWfJLX/dMRIXfLeUAUGarDF4qTiqzlq5vTESF1LgLF0c55bxJeJhC/Hw0btKQ24/umIkFiSh2Tp5SxBQLnlgxbxoxc6LcByzRgl1x0gMMNFv0pD4YNhyyTSBuQ5iwaGS/Er8JC4q8agyBTf/LvG4lAnaq7GxsYySy3lI9B5oU3NRKctV2iO3UbBFFVoWNTMRYGWX6XTaqzSOAkGZvtp5kWuVjnretJLEAzYlAhTHF0kXGFmVZpl0FIht7ErXKq27d2gL3F9PYWN16XJxYCCG/sJsfmF2ics/2zRpp0BM+LJYpTc09g6dYOD+d9Y6gFnYCdGBlV0eHBzU/FJjKhAD26NA3AcvMbVGuS7BUbFs4Bfd6eaobgdUHHUIppOgWXsHphveVbrNpsgXoM8MaWttKRWNfhPNFxUwmMa85qziodyM6yyEbiol1LPSoNIsqFAJSKUa6WfZ4vSu7wVTKUsmRHbJgC3YC50XPttQB/bss9x0tKh5rlODB76h3ZKEC3wD92+1+0O9X1vqdjPjDqJRcq69DWLQ5l7ChPdm3BUt2WhUbe4VaBMXS299y/H6xcVFAwH1v4Tf6PcEoNdrBO6/3vq27wewBTRcSvHoUKcZbd9XdHxDw1OvpzAIb9C2/C8+mJ6eXmDu8tDvDMh5fN5wpe/aTjSQzWZzqVQq1hMFHxgUE1vruyElGmBgIy4qvaaUmvV3XOX5TK17JCCUN0ris+AEgZLtCvKhsv3iQvteCQk1kDwevor4CLXwMafCz04Yw50+JAbYg5FfKziPKnPiihfOMAZJehj4/YYqgxupsEa78RMK9vsn6EQJOAAAAABJRU5ErkJggg==" alt="Twitter" width="24" height="24"/></a><a href="https://www.facebook.com/postdcc" target="_blank" rel="noopener noreferrer" class="HeaderIconLink__ExternalLink-sc-nsmdxc-0 egfLUA"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABLJJREFUaAXVWt1OE0EUbosB+QnQeAEBjQ0hqDdYjSiXveIS6BO0fQLxlhvhBQiGB6DyAuo9QfROQ9I2hBgaNDWGH6MilX8Q8Ps2O812u7PsbgdYJ1lm98w5Z75v5szZ6SzBgILSitLY2Dh0dnYWCQaDMb2OGF1DVkBbAfU8693d3TdbKEYdL/dBL0a0Iej6+voEwCRxRb34AZksrvT+/v5Lr2RcE2hvb4/U1NQ8BeAkeXgBbmHDmUifnJy82NjYKFi0S0WuCHR0dDzHaI/AmyrgZmBbmJHJtbW1cXOD7NkRgc7OzigcT3sNFVnnMjlD6/T0NO5kNkIyJ0IO8Encv70s8OyXfSFMM3rfFElLjbQFDbqDadxet9O7oDb2Odzc3Px1e3s7K+tDSsAAXmZ7WXJbEpZrwEfgS4OEdRHH4n5dEug3FQQAPoq2t7iUZZpQKBTo7u7+0N/fn+/q6gq3tbU1wX/w8PDwbz6f/7GysnJvfX39+uLi4h0dl1W1hTT7wLywr5k19WyjBHxdXV1xYmIiMzg42IuF+QR98bIsIPC+r6/PjkArBuIVjB8YHZQRQJ4fU5Vt8JYuZjKZz01NTTFjhzb352ZEYiNGhNKY8FMy4hsWCnzDVl0wUsWFhYVPAP+wamcmB8RIrEJcIoC8OwKhktCZmprKtLS09ItOHNanDvUYSkmhqxHgxgyChBBWUyNv/xkaGnpUjY/zbDkLOuaAtgYQr0kYKRn9eDy+DF9954FA+3fsQH8iaRxTd2lpad+BjVDh9n0Y9mmNABgpGX16HxgYOBO9WNUA/DuVShVmZ2eZTdqsdJzI4IfrNX2NUwECUSdGTnR6enq0EZXpJhKJwtzcXFkqlOnayYmZ2EOcCjtFt221tbUNMpvj4+MvKsAL/w0NDTEuYmWjT8cYmVJmEx2JemdnZ1vcK6qjF0FAig1xa7s+pIaSBgxWLASftyXtvhcTewgsIr5HKgFI7NJ4ldj4ThzE9tlTXGIb/A1Z4JYqRqOjox9nZmYeu/XnmxnAzrXZLXjqcxF/9WKo2mZ5efmuW5/EzkVccGuoWh8vuG9HR0eu3RI7Qyjr2lKxATZlGx5dZhlC8x6NlZlhJ+r0t0BZn8QewgnYlc8AMtpeGTKHD8QepC5SKUncd2hnq4aThVw4HLb0tbm5me3t7VW198qtrq5qe6EAmKRtUfmwUWDW3gM4nyeBog9xyiAVdcwBjQCyAI+1X8u0/SYnVmImrtKbeG9vbwTP/8MsFHWs2riWCJARmE1qUh//IUZiFRBLBCjQT7xyotGHdc54Kkd8ZQR0wEnUfgwlYiK2slJBALk1i2lKlmn54IGYiM0MpYIAFfRz+JRZ+QqfUzqmCgiWBKgFtmlUfiCR0rEATmWREqCqgcRVrIkiwiZuB54YbQkYSMRwf5nZKYevMVFZ2BCXKOcSoCJGIYuL34rH8XiRs8FRH2df5k9JArC5dkRAGDEH4580Inh+IWSKag04fbMPNz5dEaBjvgUxQiPoLIwd4TOIqgkt2qYEcOMbln05KWXfyJwYCB12hsKtxyRPiXnQit+osYODg5uQ8bohdPX6F9ryuH+HMJnHfmaeDkw6rh//AbFw/GAvX5JeAAAAAElFTkSuQmCC" alt="Facebook" width="24" height="24"/></a></div></nav><button type="button" class="HeaderNavButton__Wrapper-sc-giz7fq-0 eChxWj"><div class="HeaderNavButton__Line-sc-giz7fq-1 jpcQJX"></div><div class="HeaderNavButton__Line-sc-giz7fq-1 jpcQJX"></div><div class="HeaderNavButton__Line-sc-giz7fq-1 jpcQJX"></div></button></div></header><nav class="HeaderNavSp__Wrapper-sc-14jg0n6-0 hUVZkP"><div class="HeaderNavLinks__Wrapper-sc-df9m31-0 bubIBK"><h2 class="NavLinkHeading__Text-sc-9g8hpt-0 gPnRce">ABOUT</h2><ul class="HeaderNavLinks__LinkList-sc-df9m31-1 kGEgB"><li class="HeaderNavLinks__LinkItem-sc-df9m31-3 hWqcld"><a class="NavLink__StyledLink-sc-12swpe6-0 cZIIUC" href="/about/">POSTDについて</a></li><li class="HeaderNavLinks__LinkItem-sc-df9m31-3 hWqcld"><a href="https://www.nijibox.jp/contacts/contact-form1" target="_blank" rel="noopener noreferrer" class="NavLink__ExternalLink-sc-12swpe6-1 ORlYd">お問い合わせ</a></li><li class="HeaderNavLinks__LinkItem-sc-df9m31-3 hWqcld"><a class="NavLink__StyledLink-sc-12swpe6-0 cZIIUC" href="/about/terms/">利用規約</a></li><li class="HeaderNavLinks__LinkItem-sc-df9m31-3 hWqcld"><a href="https://cdn.p.recruit.co.jp/terms/njb-t-1001/index.html" target="_blank" rel="noopener noreferrer" class="NavLink__ExternalLink-sc-12swpe6-1 ORlYd">プライバシーポリシー</a></li><li class="HeaderNavLinks__LinkItem-sc-df9m31-3 hWqcld"><a href="https://www.recruit.co.jp/privacy/personaldata/" target="_blank" rel="noopener noreferrer" class="NavLink__ExternalLink-sc-12swpe6-1 ORlYd">パーソナルデータ指針</a></li></ul></div><div class="HeaderNavLinks__Wrapper-sc-df9m31-0 bubIBK"><h2 class="NavLinkHeading__Text-sc-9g8hpt-0 gPnRce">CATEGORY</h2><ul class="HeaderNavLinks__LinkList-sc-df9m31-1 kGEgB"><li class="HeaderNavLinks__LinkItem-sc-df9m31-3 hWqcld"><a class="NavLink__StyledLink-sc-12swpe6-0 cZIIUC" href="/category/design/">デザイン</a></li><li class="HeaderNavLinks__LinkItem-sc-df9m31-3 hWqcld"><a class="NavLink__StyledLink-sc-12swpe6-0 cZIIUC" href="/category/startups/">スタートアップ</a></li><li class="HeaderNavLinks__LinkItem-sc-df9m31-3 hWqcld"><a class="NavLink__StyledLink-sc-12swpe6-0 cZIIUC" href="/category/products/">プロダクト・サービス</a></li><li class="HeaderNavLinks__LinkItem-sc-df9m31-3 hWqcld"><a class="NavLink__StyledLink-sc-12swpe6-0 cZIIUC" href="/category/computer-science/">コンピュータサイエンス</a></li><li class="HeaderNavLinks__LinkItem-sc-df9m31-3 hWqcld"><a class="NavLink__StyledLink-sc-12swpe6-0 cZIIUC" href="/category/careers/">キャリア・働き方</a></li><li class="HeaderNavLinks__LinkItem-sc-df9m31-3 hWqcld"><a class="NavLink__StyledLink-sc-12swpe6-0 cZIIUC" href="/category/programming/">プログラミング</a></li><li class="HeaderNavLinks__LinkItem-sc-df9m31-3 hWqcld"><a class="NavLink__StyledLink-sc-12swpe6-0 cZIIUC" href="/category/infrastructure/">インフラ・ミドルウェア</a></li><li class="HeaderNavLinks__LinkItem-sc-df9m31-3 hWqcld"><a class="NavLink__StyledLink-sc-12swpe6-0 cZIIUC" href="/category/system-development/">開発手法・プロジェクト管理</a></li></ul></div><div class="HeaderNavLinks__Wrapper-sc-df9m31-0 bubIBK"><h2 class="NavLinkHeading__Text-sc-9g8hpt-0 gPnRce">PICK UP タグ</h2><ul class="HeaderNavLinks__TagLinkList-sc-df9m31-2 kJcagp"><li class="HeaderNavLinks__TagLinkItem-sc-df9m31-4 pbhGK"><a class="NavLink__StyledLink-sc-12swpe6-0 NavLink__TagLink-sc-12swpe6-2 cZIIUC kjavfV" href="/tag/javascript/">#JavaScript</a></li><li class="HeaderNavLinks__TagLinkItem-sc-df9m31-4 pbhGK"><a class="NavLink__StyledLink-sc-12swpe6-0 NavLink__TagLink-sc-12swpe6-2 cZIIUC kjavfV" href="/tag/react/">#React</a></li><li class="HeaderNavLinks__TagLinkItem-sc-df9m31-4 pbhGK"><a class="NavLink__StyledLink-sc-12swpe6-0 NavLink__TagLink-sc-12swpe6-2 cZIIUC kjavfV" href="/tag/google/">#Google</a></li><li class="HeaderNavLinks__TagLinkItem-sc-df9m31-4 pbhGK"><a class="NavLink__StyledLink-sc-12swpe6-0 NavLink__TagLink-sc-12swpe6-2 cZIIUC kjavfV" href="/tag/ui-design/">#UIデザイン</a></li><li class="HeaderNavLinks__TagLinkItem-sc-df9m31-4 pbhGK"><a class="NavLink__StyledLink-sc-12swpe6-0 NavLink__TagLink-sc-12swpe6-2 cZIIUC kjavfV" href="/tag/software-architecture/">#ソフトウェアアーキテクチャ</a></li><li class="HeaderNavLinks__TagLinkItem-sc-df9m31-4 pbhGK"><a class="NavLink__StyledLink-sc-12swpe6-0 NavLink__TagLink-sc-12swpe6-2 cZIIUC kjavfV" href="/tag/nodejs/">#NodeJS</a></li><li class="HeaderNavLinks__TagLinkItem-sc-df9m31-4 pbhGK"><a class="NavLink__StyledLink-sc-12swpe6-0 NavLink__TagLink-sc-12swpe6-2 cZIIUC kjavfV" href="/tag/productivity/">#生産性</a></li><li class="HeaderNavLinks__TagLinkItem-sc-df9m31-4 pbhGK"><a class="NavLink__StyledLink-sc-12swpe6-0 NavLink__TagLink-sc-12swpe6-2 cZIIUC kjavfV" href="/tag/performance/">#パフォーマンス</a></li><li class="HeaderNavLinks__TagLinkItem-sc-df9m31-4 pbhGK"><a class="NavLink__StyledLink-sc-12swpe6-0 NavLink__TagLink-sc-12swpe6-2 cZIIUC kjavfV" href="/tag/data-science/">#データサイエンス</a></li><li class="HeaderNavLinks__TagLinkItem-sc-df9m31-4 pbhGK"><a class="NavLink__StyledLink-sc-12swpe6-0 NavLink__TagLink-sc-12swpe6-2 cZIIUC kjavfV" href="/tag/agile/">#アジャイル</a></li><li class="HeaderNavLinks__TagLinkItem-sc-df9m31-4 pbhGK"><a class="NavLink__StyledLink-sc-12swpe6-0 NavLink__TagLink-sc-12swpe6-2 cZIIUC kjavfV" href="/tag/summary/">#まとめ</a></li><li class="HeaderNavLinks__TagLinkItem-sc-df9m31-4 pbhGK"><a class="NavLink__StyledLink-sc-12swpe6-0 NavLink__TagLink-sc-12swpe6-2 cZIIUC kjavfV" href="/tag/engineer-employment/">#エンジニア採用</a></li></ul><div class="HeaderNavLinks__MoreLinkWrapper-sc-df9m31-5 bRPEEh"><a class="NavLink__StyledLink-sc-12swpe6-0 NavLink__MoreLink-sc-12swpe6-3 cZIIUC jYwaN" href="/tag/">タグ一覧を見る</a></div></div><div class="HeaderNavSp__IconWrapper-sc-14jg0n6-1 hWYlUd"><div class="HeaderIcons__Wrapper-sc-fl6baq-0 hyUZWO"><a href="https://feedly.com/i/subscription/feed%2Fhttps%3A%2F%2Fpostd.cc%2Ffeed%2F" target="_blank" rel="noopener noreferrer" class="HeaderIconLink__ExternalLink-sc-nsmdxc-0 egfLUA"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA5BJREFUaAXtWLFSGzEQ5bh4JmODB6g8doHp0iV/QNylCyUddpmOdOkSunSZfAFHBx18QfwHoU1HCuw2HsYeGtt57+bEyHfSnfbuTMyEnfFIWmlX70larc5ra8/yvAL/9wp4y6DfarWO5vP5sed5byL/fZTB7e3tWdnzlU6g2WyeAnjXBBSkgsFg0DP15dX5eQ1NdmngOZ47srm52b67u7sy2efRlUYgC7wCVzaJUgi4gl8GiUIxsAWpVqs/tGBVGJ3KMmIi9w4UBU+GZRynXDtQBnh9i7AT15PJpPMHoutd6mICZYNXIPOSEBGQggeoEwLEUfmsgKaVeUi8SHOo90nBw7aHpBXQBzLzDYpT1tOEMcFLAWOcj5NTEOcBj2dDoMAicV3X6/XfaB8ona0EiUalUnnn+/7FPcQ2TukzCRQFryYiCWThPa6y0tlKCYnUGCgLPIHiGBE4j8cW2y7iEhNWAv8avCKYRcJIYFXAu5BIEFg18FkkFgisKvg0Eg8EVh28jURI4KmAN5FYXyZ43CBX/KmJyyqZS6KMvebv7Ox8guLQ0XlPz7C6TfyeB/AzPCUOkcDOXROY7i+rzmS3sbEx8uH8GxtZBuiXgu8qnyBxuQwS8N/wsHJzNVFK+R0rf2zqt6x81zQWn56XWKz3pr68unUXQxyHfcZKfKwEfKPRaMP+ddxHwfZo3SXIsGph0OgkJOA5Fq/Ln/DTLgh4wRzY+x5W5i2c85GVKTC4waAAvzbAHKAMdwV6BmwX7YTEiSYGFFBMp9NOmAcwSRd+TvP4AvgTgP9isl0meMwXXirh94Dkg0MHOpvNPg6Hw6+6TtUfAzznenhKsCHdifF4vG36J+GxwBPzwi0UJakeO1yE2VAPbNo8JnjOl/iklBwnBPLC92scPOKDz4hfGPeKkxUUYyJdOEL6BNLjpNuyrt9MSGABSBzFxwjaRvC0T+yAcirZCWWjSh08dQWfElbw9G3dAXZSpDvBY4NrlTkiIfDVh3I/0WFXpIKn2UIQm/xIAxs+duOBTb/UgdyuaQ6LLhM87TIJcJCEBM564tlB8NHf8G36cxAn8PSTeYT0ySTHCat9DdvLyP6AxHRfKXVn8PQhIkADCQmOF4oIPH1bbyHbxEVuJ5vPSC8GTzsxARppJDpovqSugIxg+yGKM7GbXAQ4C0nUarVznO1t/PagkhIZIU4u8CA8xIOwT5/P8hRX4C/0uyMrvpz0RwAAAABJRU5ErkJggg==" alt="Feedly" width="24" height="24"/></a><a href="https://postd.cc/feed/" target="_blank" rel="noopener noreferrer" class="HeaderIconLink__ExternalLink-sc-nsmdxc-0 egfLUA"><img src="data:image/png;base64,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" alt="RSS" width="24" height="24"/></a><a href="https://twitter.com/POSTDcc" target="_blank" rel="noopener noreferrer" class="HeaderIconLink__ExternalLink-sc-nsmdxc-0 egfLUA"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAVmSURBVHgBzVm7UhtJFL2SoEpbvOSCQLyqRObMkHkzKcMZZOsIyHYj5C9AZHZkKVtHEpkdGaJ1hsg2Ywg38pj3ZjIQYJ4+Z9wzNRo9puch4FRJ6mn19Nzue+7p2z0JiQG5XC5zfX29gOKL+/v7HH5nk8lkBuWM3QZlM5FImCga+Oz19/fXTUAiIiEhQaOvrq5WYVQel3kJBw6mEmUwgQdgG44ZLrpnOAbUMJD1oAMJNICJiYm1HhjeBPRdOj4+XtdtrzUAzHoOHP+M4qw8DEx4o6DjjaRfg8nJyaWbm5tdeTjjCU7YLjy+4Ncw1e1PUgZBWkYxLQ+PNJ79x9DQkJyfn+90atRxAMr4kjwyqHLdBtF2AHQdbvxbngg4iOHhYROD2Gv5z1vBgCXne6k0IdFAYM95A7sliBE820/QeCKjlLAJTRRSvPeN/EdEdmRkJHF2dla3KxwKKa3/6tcDvLOIhWaz3X9TU1Ml/L8mwbBxdHS0DLmmTO9qtCeVZsCkBi8cDwwMDLwXDa2Hh+ZHR0c/NQA8dBnBNcsP6hr7+/ubKNODWdGDAeNfcfLu7u7+wbUOddOYpB+2F6wYYAf4WRY9kItVu4wPy1W77vb2dhGDbGj0Y7Kt8vw2zRBNYACrzMlYtjyA2eesBeF+bnBw8DuoVMaM59XDrbrT09Mv0O0fuJ6X7sYX0NbEs2n8cwkGxwtWDIAKYVIFS9YuLy+lr6/PLbtzoIWBPmlYvsO9dhvStijhUEcfhYRu8HbrBIbQiPeqzlQDy3gGZuMN7inHsdLjOc9SIejjhkMlyBs9SCpkEJDpk5OTT14qweB1GP8WarWKy7cSHf8l0FmZQSHRMIfZMJlBigpGGFs4PDysu6hUgfHFAHKpg0oSxr+Q6KhSl2H0il2BfqtUCgQr60i1olK7zxITuP9Owc0lPDhq6pCFGmVg5AdQ6RmuX+JD45+DSh+QhG2EkUs/wO50El85iQdF0DGPwC2hbKoHLIyPj1sqo04tchIvMglw8l7ig6VAyGZn4d5tVWfJLX/dMRIXfLeUAUGarDF4qTiqzlq5vTESF1LgLF0c55bxJeJhC/Hw0btKQ24/umIkFiSh2Tp5SxBQLnlgxbxoxc6LcByzRgl1x0gMMNFv0pD4YNhyyTSBuQ5iwaGS/Er8JC4q8agyBTf/LvG4lAnaq7GxsYySy3lI9B5oU3NRKctV2iO3UbBFFVoWNTMRYGWX6XTaqzSOAkGZvtp5kWuVjnretJLEAzYlAhTHF0kXGFmVZpl0FIht7ErXKq27d2gL3F9PYWN16XJxYCCG/sJsfmF2ics/2zRpp0BM+LJYpTc09g6dYOD+d9Y6gFnYCdGBlV0eHBzU/FJjKhAD26NA3AcvMbVGuS7BUbFs4Bfd6eaobgdUHHUIppOgWXsHphveVbrNpsgXoM8MaWttKRWNfhPNFxUwmMa85qziodyM6yyEbiol1LPSoNIsqFAJSKUa6WfZ4vSu7wVTKUsmRHbJgC3YC50XPttQB/bss9x0tKh5rlODB76h3ZKEC3wD92+1+0O9X1vqdjPjDqJRcq69DWLQ5l7ChPdm3BUt2WhUbe4VaBMXS299y/H6xcVFAwH1v4Tf6PcEoNdrBO6/3vq27wewBTRcSvHoUKcZbd9XdHxDw1OvpzAIb9C2/C8+mJ6eXmDu8tDvDMh5fN5wpe/aTjSQzWZzqVQq1hMFHxgUE1vruyElGmBgIy4qvaaUmvV3XOX5TK17JCCUN0ris+AEgZLtCvKhsv3iQvteCQk1kDwevor4CLXwMafCz04Yw50+JAbYg5FfKziPKnPiihfOMAZJehj4/YYqgxupsEa78RMK9vsn6EQJOAAAAABJRU5ErkJggg==" alt="Twitter" width="24" height="24"/></a><a href="https://www.facebook.com/postdcc" target="_blank" rel="noopener noreferrer" class="HeaderIconLink__ExternalLink-sc-nsmdxc-0 egfLUA"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABLJJREFUaAXVWt1OE0EUbosB+QnQeAEBjQ0hqDdYjSiXveIS6BO0fQLxlhvhBQiGB6DyAuo9QfROQ9I2hBgaNDWGH6MilX8Q8Ps2O812u7PsbgdYJ1lm98w5Z75v5szZ6SzBgILSitLY2Dh0dnYWCQaDMb2OGF1DVkBbAfU8693d3TdbKEYdL/dBL0a0Iej6+voEwCRxRb34AZksrvT+/v5Lr2RcE2hvb4/U1NQ8BeAkeXgBbmHDmUifnJy82NjYKFi0S0WuCHR0dDzHaI/AmyrgZmBbmJHJtbW1cXOD7NkRgc7OzigcT3sNFVnnMjlD6/T0NO5kNkIyJ0IO8Encv70s8OyXfSFMM3rfFElLjbQFDbqDadxet9O7oDb2Odzc3Px1e3s7K+tDSsAAXmZ7WXJbEpZrwEfgS4OEdRHH4n5dEug3FQQAPoq2t7iUZZpQKBTo7u7+0N/fn+/q6gq3tbU1wX/w8PDwbz6f/7GysnJvfX39+uLi4h0dl1W1hTT7wLywr5k19WyjBHxdXV1xYmIiMzg42IuF+QR98bIsIPC+r6/PjkArBuIVjB8YHZQRQJ4fU5Vt8JYuZjKZz01NTTFjhzb352ZEYiNGhNKY8FMy4hsWCnzDVl0wUsWFhYVPAP+wamcmB8RIrEJcIoC8OwKhktCZmprKtLS09ItOHNanDvUYSkmhqxHgxgyChBBWUyNv/xkaGnpUjY/zbDkLOuaAtgYQr0kYKRn9eDy+DF9954FA+3fsQH8iaRxTd2lpad+BjVDh9n0Y9mmNABgpGX16HxgYOBO9WNUA/DuVShVmZ2eZTdqsdJzI4IfrNX2NUwECUSdGTnR6enq0EZXpJhKJwtzcXFkqlOnayYmZ2EOcCjtFt221tbUNMpvj4+MvKsAL/w0NDTEuYmWjT8cYmVJmEx2JemdnZ1vcK6qjF0FAig1xa7s+pIaSBgxWLASftyXtvhcTewgsIr5HKgFI7NJ4ldj4ThzE9tlTXGIb/A1Z4JYqRqOjox9nZmYeu/XnmxnAzrXZLXjqcxF/9WKo2mZ5efmuW5/EzkVccGuoWh8vuG9HR0eu3RI7Qyjr2lKxATZlGx5dZhlC8x6NlZlhJ+r0t0BZn8QewgnYlc8AMtpeGTKHD8QepC5SKUncd2hnq4aThVw4HLb0tbm5me3t7VW198qtrq5qe6EAmKRtUfmwUWDW3gM4nyeBog9xyiAVdcwBjQCyAI+1X8u0/SYnVmImrtKbeG9vbwTP/8MsFHWs2riWCJARmE1qUh//IUZiFRBLBCjQT7xyotGHdc54Kkd8ZQR0wEnUfgwlYiK2slJBALk1i2lKlmn54IGYiM0MpYIAFfRz+JRZ+QqfUzqmCgiWBKgFtmlUfiCR0rEATmWREqCqgcRVrIkiwiZuB54YbQkYSMRwf5nZKYevMVFZ2BCXKOcSoCJGIYuL34rH8XiRs8FRH2df5k9JArC5dkRAGDEH4580Inh+IWSKag04fbMPNz5dEaBjvgUxQiPoLIwd4TOIqgkt2qYEcOMbln05KWXfyJwYCB12hsKtxyRPiXnQit+osYODg5uQ8bohdPX6F9ryuH+HMJnHfmaeDkw6rh//AbFw/GAvX5JeAAAAAElFTkSuQmCC" alt="Facebook" width="24" height="24"/></a></div></div><div class="HeaderNavSp__CorpWrapper-sc-14jg0n6-2 egqDVK"><div class="HeaderCorpInfo__Wrapper-sc-1k2ubzo-0 kUpMwN"><img src="data:image/png;base64,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" alt="NIJIBOX" width="100" height="37"/><div class="HeaderCorpInfo__CopyrightWrapper-sc-1k2ubzo-1 kHPENY"><small class="Copyright__Text-sc-1yjjwtv-0 dOgXOf">©NIJIBOX CO.,LTD ALL RIGHTS RESERVED</small></div></div></div></nav><div class="StickyHeader__Wrapper-sc-1tro7id-0 iFioks"><div class="StickyHeader__Inner-sc-1tro7id-1 ipFjCB"><div class="HeaderLeftSide__Wrapper-sc-151me4h-0 icgTxN"><a href="/"><h1 class="HeaderLogo__Pc-sc-128t2eb-0 kITRPe"><img src="/static/logo-10ab68d2ba3b6095a7c9c0d4ce901428.png" alt="POSTD PRODUCED BY NIJIBOX" width="160" height="75"/></h1><h1 class="HeaderLogo__Sp-sc-128t2eb-1 iNZNRU"><img src="/static/logo-10ab68d2ba3b6095a7c9c0d4ce901428.png" alt="POSTD PRODUCED BY NIJIBOX" width="96" height="45"/></h1></a><div class="HeaderLeftSide__DescriptionWrapper-sc-151me4h-1 iteQnd"><p class="HeaderDescription__Text-sc-clsdq0-0 iQWsBp">ニジボックスが運営する<br/>エンジニアに向けた<br/>キュレーションメディア</p></div></div><div class="HeaderIcons__Wrapper-sc-fl6baq-0 hyUZWO"><a href="https://feedly.com/i/subscription/feed%2Fhttps%3A%2F%2Fpostd.cc%2Ffeed%2F" target="_blank" rel="noopener noreferrer" class="HeaderIconLink__ExternalLink-sc-nsmdxc-0 egfLUA"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA5BJREFUaAXtWLFSGzEQ5bh4JmODB6g8doHp0iV/QNylCyUddpmOdOkSunSZfAFHBx18QfwHoU1HCuw2HsYeGtt57+bEyHfSnfbuTMyEnfFIWmlX70larc5ra8/yvAL/9wp4y6DfarWO5vP5sed5byL/fZTB7e3tWdnzlU6g2WyeAnjXBBSkgsFg0DP15dX5eQ1NdmngOZ47srm52b67u7sy2efRlUYgC7wCVzaJUgi4gl8GiUIxsAWpVqs/tGBVGJ3KMmIi9w4UBU+GZRynXDtQBnh9i7AT15PJpPMHoutd6mICZYNXIPOSEBGQggeoEwLEUfmsgKaVeUi8SHOo90nBw7aHpBXQBzLzDYpT1tOEMcFLAWOcj5NTEOcBj2dDoMAicV3X6/XfaB8ona0EiUalUnnn+/7FPcQ2TukzCRQFryYiCWThPa6y0tlKCYnUGCgLPIHiGBE4j8cW2y7iEhNWAv8avCKYRcJIYFXAu5BIEFg18FkkFgisKvg0Eg8EVh28jURI4KmAN5FYXyZ43CBX/KmJyyqZS6KMvebv7Ox8guLQ0XlPz7C6TfyeB/AzPCUOkcDOXROY7i+rzmS3sbEx8uH8GxtZBuiXgu8qnyBxuQwS8N/wsHJzNVFK+R0rf2zqt6x81zQWn56XWKz3pr68unUXQxyHfcZKfKwEfKPRaMP+ddxHwfZo3SXIsGph0OgkJOA5Fq/Ln/DTLgh4wRzY+x5W5i2c85GVKTC4waAAvzbAHKAMdwV6BmwX7YTEiSYGFFBMp9NOmAcwSRd+TvP4AvgTgP9isl0meMwXXirh94Dkg0MHOpvNPg6Hw6+6TtUfAzznenhKsCHdifF4vG36J+GxwBPzwi0UJakeO1yE2VAPbNo8JnjOl/iklBwnBPLC92scPOKDz4hfGPeKkxUUYyJdOEL6BNLjpNuyrt9MSGABSBzFxwjaRvC0T+yAcirZCWWjSh08dQWfElbw9G3dAXZSpDvBY4NrlTkiIfDVh3I/0WFXpIKn2UIQm/xIAxs+duOBTb/UgdyuaQ6LLhM87TIJcJCEBM564tlB8NHf8G36cxAn8PSTeYT0ySTHCat9DdvLyP6AxHRfKXVn8PQhIkADCQmOF4oIPH1bbyHbxEVuJ5vPSC8GTzsxARppJDpovqSugIxg+yGKM7GbXAQ4C0nUarVznO1t/PagkhIZIU4u8CA8xIOwT5/P8hRX4C/0uyMrvpz0RwAAAABJRU5ErkJggg==" alt="Feedly" width="24" height="24"/></a><a href="https://postd.cc/feed/" target="_blank" rel="noopener noreferrer" class="HeaderIconLink__ExternalLink-sc-nsmdxc-0 egfLUA"><img src="data:image/png;base64,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" alt="RSS" width="24" height="24"/></a><a href="https://twitter.com/POSTDcc" target="_blank" rel="noopener noreferrer" class="HeaderIconLink__ExternalLink-sc-nsmdxc-0 egfLUA"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAVmSURBVHgBzVm7UhtJFL2SoEpbvOSCQLyqRObMkHkzKcMZZOsIyHYj5C9AZHZkKVtHEpkdGaJ1hsg2Ywg38pj3ZjIQYJ4+Z9wzNRo9puch4FRJ6mn19Nzue+7p2z0JiQG5XC5zfX29gOKL+/v7HH5nk8lkBuWM3QZlM5FImCga+Oz19/fXTUAiIiEhQaOvrq5WYVQel3kJBw6mEmUwgQdgG44ZLrpnOAbUMJD1oAMJNICJiYm1HhjeBPRdOj4+XtdtrzUAzHoOHP+M4qw8DEx4o6DjjaRfg8nJyaWbm5tdeTjjCU7YLjy+4Ncw1e1PUgZBWkYxLQ+PNJ79x9DQkJyfn+90atRxAMr4kjwyqHLdBtF2AHQdbvxbngg4iOHhYROD2Gv5z1vBgCXne6k0IdFAYM95A7sliBE820/QeCKjlLAJTRRSvPeN/EdEdmRkJHF2dla3KxwKKa3/6tcDvLOIhWaz3X9TU1Ml/L8mwbBxdHS0DLmmTO9qtCeVZsCkBi8cDwwMDLwXDa2Hh+ZHR0c/NQA8dBnBNcsP6hr7+/ubKNODWdGDAeNfcfLu7u7+wbUOddOYpB+2F6wYYAf4WRY9kItVu4wPy1W77vb2dhGDbGj0Y7Kt8vw2zRBNYACrzMlYtjyA2eesBeF+bnBw8DuoVMaM59XDrbrT09Mv0O0fuJ6X7sYX0NbEs2n8cwkGxwtWDIAKYVIFS9YuLy+lr6/PLbtzoIWBPmlYvsO9dhvStijhUEcfhYRu8HbrBIbQiPeqzlQDy3gGZuMN7inHsdLjOc9SIejjhkMlyBs9SCpkEJDpk5OTT14qweB1GP8WarWKy7cSHf8l0FmZQSHRMIfZMJlBigpGGFs4PDysu6hUgfHFAHKpg0oSxr+Q6KhSl2H0il2BfqtUCgQr60i1olK7zxITuP9Owc0lPDhq6pCFGmVg5AdQ6RmuX+JD45+DSh+QhG2EkUs/wO50El85iQdF0DGPwC2hbKoHLIyPj1sqo04tchIvMglw8l7ig6VAyGZn4d5tVWfJLX/dMRIXfLeUAUGarDF4qTiqzlq5vTESF1LgLF0c55bxJeJhC/Hw0btKQ24/umIkFiSh2Tp5SxBQLnlgxbxoxc6LcByzRgl1x0gMMNFv0pD4YNhyyTSBuQ5iwaGS/Er8JC4q8agyBTf/LvG4lAnaq7GxsYySy3lI9B5oU3NRKctV2iO3UbBFFVoWNTMRYGWX6XTaqzSOAkGZvtp5kWuVjnretJLEAzYlAhTHF0kXGFmVZpl0FIht7ErXKq27d2gL3F9PYWN16XJxYCCG/sJsfmF2ics/2zRpp0BM+LJYpTc09g6dYOD+d9Y6gFnYCdGBlV0eHBzU/FJjKhAD26NA3AcvMbVGuS7BUbFs4Bfd6eaobgdUHHUIppOgWXsHphveVbrNpsgXoM8MaWttKRWNfhPNFxUwmMa85qziodyM6yyEbiol1LPSoNIsqFAJSKUa6WfZ4vSu7wVTKUsmRHbJgC3YC50XPttQB/bss9x0tKh5rlODB76h3ZKEC3wD92+1+0O9X1vqdjPjDqJRcq69DWLQ5l7ChPdm3BUt2WhUbe4VaBMXS299y/H6xcVFAwH1v4Tf6PcEoNdrBO6/3vq27wewBTRcSvHoUKcZbd9XdHxDw1OvpzAIb9C2/C8+mJ6eXmDu8tDvDMh5fN5wpe/aTjSQzWZzqVQq1hMFHxgUE1vruyElGmBgIy4qvaaUmvV3XOX5TK17JCCUN0ris+AEgZLtCvKhsv3iQvteCQk1kDwevor4CLXwMafCz04Yw50+JAbYg5FfKziPKnPiihfOMAZJehj4/YYqgxupsEa78RMK9vsn6EQJOAAAAABJRU5ErkJggg==" alt="Twitter" width="24" height="24"/></a><a href="https://www.facebook.com/postdcc" target="_blank" rel="noopener noreferrer" class="HeaderIconLink__ExternalLink-sc-nsmdxc-0 egfLUA"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABLJJREFUaAXVWt1OE0EUbosB+QnQeAEBjQ0hqDdYjSiXveIS6BO0fQLxlhvhBQiGB6DyAuo9QfROQ9I2hBgaNDWGH6MilX8Q8Ps2O812u7PsbgdYJ1lm98w5Z75v5szZ6SzBgILSitLY2Dh0dnYWCQaDMb2OGF1DVkBbAfU8693d3TdbKEYdL/dBL0a0Iej6+voEwCRxRb34AZksrvT+/v5Lr2RcE2hvb4/U1NQ8BeAkeXgBbmHDmUifnJy82NjYKFi0S0WuCHR0dDzHaI/AmyrgZmBbmJHJtbW1cXOD7NkRgc7OzigcT3sNFVnnMjlD6/T0NO5kNkIyJ0IO8Encv70s8OyXfSFMM3rfFElLjbQFDbqDadxet9O7oDb2Odzc3Px1e3s7K+tDSsAAXmZ7WXJbEpZrwEfgS4OEdRHH4n5dEug3FQQAPoq2t7iUZZpQKBTo7u7+0N/fn+/q6gq3tbU1wX/w8PDwbz6f/7GysnJvfX39+uLi4h0dl1W1hTT7wLywr5k19WyjBHxdXV1xYmIiMzg42IuF+QR98bIsIPC+r6/PjkArBuIVjB8YHZQRQJ4fU5Vt8JYuZjKZz01NTTFjhzb352ZEYiNGhNKY8FMy4hsWCnzDVl0wUsWFhYVPAP+wamcmB8RIrEJcIoC8OwKhktCZmprKtLS09ItOHNanDvUYSkmhqxHgxgyChBBWUyNv/xkaGnpUjY/zbDkLOuaAtgYQr0kYKRn9eDy+DF9954FA+3fsQH8iaRxTd2lpad+BjVDh9n0Y9mmNABgpGX16HxgYOBO9WNUA/DuVShVmZ2eZTdqsdJzI4IfrNX2NUwECUSdGTnR6enq0EZXpJhKJwtzcXFkqlOnayYmZ2EOcCjtFt221tbUNMpvj4+MvKsAL/w0NDTEuYmWjT8cYmVJmEx2JemdnZ1vcK6qjF0FAig1xa7s+pIaSBgxWLASftyXtvhcTewgsIr5HKgFI7NJ4ldj4ThzE9tlTXGIb/A1Z4JYqRqOjox9nZmYeu/XnmxnAzrXZLXjqcxF/9WKo2mZ5efmuW5/EzkVccGuoWh8vuG9HR0eu3RI7Qyjr2lKxATZlGx5dZhlC8x6NlZlhJ+r0t0BZn8QewgnYlc8AMtpeGTKHD8QepC5SKUncd2hnq4aThVw4HLb0tbm5me3t7VW198qtrq5qe6EAmKRtUfmwUWDW3gM4nyeBog9xyiAVdcwBjQCyAI+1X8u0/SYnVmImrtKbeG9vbwTP/8MsFHWs2riWCJARmE1qUh//IUZiFRBLBCjQT7xyotGHdc54Kkd8ZQR0wEnUfgwlYiK2slJBALk1i2lKlmn54IGYiM0MpYIAFfRz+JRZ+QqfUzqmCgiWBKgFtmlUfiCR0rEATmWREqCqgcRVrIkiwiZuB54YbQkYSMRwf5nZKYevMVFZ2BCXKOcSoCJGIYuL34rH8XiRs8FRH2df5k9JArC5dkRAGDEH4580Inh+IWSKag04fbMPNz5dEaBjvgUxQiPoLIwd4TOIqgkt2qYEcOMbln05KWXfyJwYCB12hsKtxyRPiXnQit+osYODg5uQ8bohdPX6F9ryuH+HMJnHfmaeDkw6rh//AbFw/GAvX5JeAAAAAElFTkSuQmCC" alt="Facebook" width="24" height="24"/></a></div></div></div><main class="Layout__Wrapper-sc-wljzn2-0 eXXaLr"><section class="Layout__Inner-sc-wljzn2-1 cmfBeF"><div class="page__FullWidthContent-sc-dlpr27-0 OPsHt"><div class="page__LeftColumn-sc-dlpr27-1 elZjqD"><div class="page__Wrapper-sc-dlpr27-2 kdQgRZ"><div class="article__Inner-sc-19k0vly-0 lbIhIM"><p class="ArticleDate__Text-sc-a95f93-0 irjTJi">2024年2月28日</p><div class="ArticleInfo__TitleWrapper-sc-1qj3yjx-0 ksKsDv"><h1 class="ArticleTitle__Text-sc-n1jdqj-0 fxciTM">テストピラミッド万歳</h1></div><ul class="ArticleInfo__TagList-sc-1qj3yjx-1 lpgjCc"><li class="ArticleInfo__TagItem-sc-1qj3yjx-2 idjGgX"><a class="Tag__StyledLink-sc-1jf1fx3-0 ddvARG" href="/tag/テスト/">テスト</a></li><li class="ArticleInfo__TagItem-sc-1qj3yjx-2 idjGgX"><a class="Tag__StyledLink-sc-1jf1fx3-0 ddvARG" href="/tag/テストツール/">テストツール</a></li></ul><img src="https://files.smashing.media/articles/long-live-test-pyramid/long-live-test-pyramid.jpg" class="article__MainVisual-sc-19k0vly-1 ikOPxI"/><div class="article__OriginalWrapper-sc-19k0vly-2 hRbWsE"><div class="OriginalInfo__Wrapper-sc-7610xd-0 UTMQN"><div class="OriginalInfo__Content-sc-7610xd-1 dlhUOl"><img src="https://pbs.twimg.com/profile_images/1672602673986564097/VP63K_CH_400x400.jpg" alt="Ramona Schwering" class="OriginalInfo__OriginalIcon-sc-7610xd-2 MuIKa"/><div class="OriginalInfo__TextArea-sc-7610xd-3 jWRgds"><div class="OriginalInfo__Information-sc-7610xd-4 hulzJL"><a href="https://www.smashingmagazine.com/2023/09/long-live-test-pyramid/" class="OriginalInfo__ExternalLink-sc-7610xd-7 jPuUmd">Long Live The Test Pyramid</a><p class="OriginalInfo__Author-sc-7610xd-6 qHERx">(2023-9-6)<!-- -->by<!-- --> <a href="https://www.ramona.codes/" class="OriginalInfo__ExternalLink-sc-7610xd-7 jPuUmd">Ramona Schwering</a></p></div><p class="OriginalInfo__Note-sc-7610xd-5 cWvAEW">本記事は、原著者の許諾のもとに翻訳・掲載しております。</p></div></div></div></div><div class="textPageStyles__TextPage-sc-1qtxiy0-0 bNqEXq"><p><strong>クイックサマリー</strong>:<a href="https://martinfowler.com/bliki/TestPyramid.html">「テストピラミッド」</a>は、自動テストをUI、サービス、ユニット単位に整理することで、開発に自動テストを組み込む方法を示すために作成されました。2012年に定義されて以降、このモデルは次第に使われなくなってきたように思いますが、本当に廃れてしまったのでしょうか。この記事では、最新のテスト戦略を紹介するとともに、今日のソフトウェア開発におけるテストピラミッドの関連性を検討します。</p> <hr> <p>筆者の同僚である<a href="http://www.jpietrzyk.de/">ジャン・フィリップ・ピエトルチェク</a>が、かつてコードを書く開発者の責任について、次のように述べました。</p> <div class="admonition admonition-none alert alert--info"><div class="admonition-heading"><h5><span class="admonition-icon"><svg></svg></span>none</h5></div><div class="admonition-content"><p>「我々の仕事の成果を最終的に使用する人々は、(中略)我々がただ最善を尽くすだけでなく、実際に機能するものを作ることを期待しているのです。」</p><p>— ジャン・フィリップ・ピエトルチェク</p></div></div> <p>彼の言葉は、私たちが書くコードをそれに依存する人々の観点からとらえている点で非常に印象に残りました。目まぐるしく変化するこの世界では、ユーザーは私たちが可能な限り最高のコードを記述し、開発したソフトウェアが実際に機能することを期待しています。このレベルの期待に応えるのは当然容易ではなく、だからこそ、開発スタックにおいてはテストが重要な要素になるのです。テストでは、仕事の質を評価し、さまざまなシナリオに照らして検証を行うことで、顕在化する前に問題を特定します。</p> <p>テストピラミッドは数あるテスト戦略の内の一つです。2012年に紹介されて以降、おそらく10年近くは主要なテストモデルとして利用されてきましたが、最近は以前ほど参照されなくなっています。テストピラミッドは今でも定番のテスト手法なのでしょうか。それとも、他の手法も多数台頭してきている中、昨今の開発事情により適した最新のモデルの影に隠れ、埋もれてしまっているのでしょうか。</p> <p>この記事ではその点を探っていきたいと思います。</p> <h2>テスト戦略の目的 <a href="#テスト戦略の目的">#</a><a name="テスト戦略の目的"></a></h2> <p>ユーザーの信頼を得るためには、書いたコードによって製品がユーザーの期待どおり確実に機能するよう、強固なテスト戦略が求められます。優れたテストコードを書くためには、まず何から始めればよいのでしょうか。テストコードはいくつ必要でしょうか。これまで多くの人がこれらの問いへの答えを見つけようと取り組んできました。しかし、求めていた気づきを私に与えてくれたのは、ケント・C・ドッズの次の一言でした。</p> <div class="admonition admonition-none alert alert--info"><div class="admonition-heading"><h5><span class="admonition-icon"><svg></svg></span>none</h5></div><div class="admonition-content"><p>「最大の問題は、何をテストするのかということと、実装に関する詳細をテストすることで得られる偽りの自信ではなく、真の自信が得られるような方法でテストを行うにはどうすればよいかを見極めることです。」</p><p>— ケント・C・ドッズ</p></div></div> <p>これが出発点です。<strong>テストの目標を決めることが、テスト戦略を策定する上で最も重要な作業になります</strong>。ネット上には誤った判断を揶揄したミームが溢れていますが、そうした判断の多くは、単にテストの目的や、いくつテストを行えば確信が得られるのかが不明であったことに起因します。テストには、コードを適切に検証し、コードが期待どおり機能することを確認するための「最適な比率」があります。</p> <blockquote class="twitter-tweet"><p lang="en" dir="ltr">2 unit tests. 0 integration tests. <a href="https://t.co/K2MZKwr8JT">pic.twitter.com/K2MZKwr8JT</a></p>— DEV Community (@ThePracticalDev) <a href="https://twitter.com/ThePracticalDev/status/892788721350836225?ref_src=twsrc%5Etfw">August 2, 2017</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> <p><em>2つの単体テスト統合テストなし</em></p> <p>問題は、さまざまなユニットを結合してどう連動させるのかについての戦略を持たず、1種類のテスト(多くの場合は単体テスト)にのみ重点を置く開発者が多いことです。例えば、洗面台のテストを行う際、蛇口と排水口を別々にテストしても、両者が正常に連動するのかは分かりません。単体テストでは蛇口が問題なく機能していても、排水口が詰まっているにも関わらず蛇口から水が流れ続ければ、洗面台として正常に機能しているとは言えません。</p> <p>テスト手法について説明する際、ピラミッドモデルの例のようにしばしば「形」が用いられます。この記事では、筆者が見てきた形をいくつか紹介し、それぞれの形を実際のテストに当てはめるとどうなのか、結論としてどのテスト戦略が、筆者の考える今日の開発に適した包括的テストの基準を満たすのかを考察したいと思います。</p> <h2>基本に戻る <a href="#基本に戻る">#</a><a name="基本に戻る"></a></h2> <p>その前に、各種テストの一般的な定義をおさらいしましょう。</p> <h3>手動テスト</h3> <ul> <li>人の手によって行われるテストです。実際のユーザーがユースケースに従ってアプリ内をクリックして回り、場合によってはユースケースに記述されていない方法で予期しないシナリオでのアプリの動作を検証します。多くの場合、このテストは製品チームが観察する中、ユーザーとのリアルタイムでの対面もしくはリモートインタビューの形式で行われます。</li> </ul> <h3>単体テスト</h3> <ul> <li>このタイプのテストでは、アプリを「ユニット」と呼ばれるテスト可能で独立した小さな構成要素に分け、各ユニットを個別にテストし、正常に動作することを確認します。</li> </ul> <h3>統合テスト</h3> <ul> <li>コンポーネントまたはシステム間の連携に重点を置いたテストです。各ユニットを組み合わせてテストし、統合された状態で全体として正常に機能することを確認します。</li> </ul> <h3>E2E(エンドツーエンド)テスト</h3> <ul> <li>このタイプのテストでは、コンピューターが実際のユーザーとのやり取りをシミュレーションします。一定の手順に従うことが求められる作業をユーザーが完遂できるのか、期待する結果が得られるのかなど、ユーザーの視点に立って検証を行うためのテストと考えてください。インプットに対して適切なアウトプットが得られるのか確認することで、ユーザー体験全体を検証します。</li> </ul> <p>では、これらのテストをどう組み合わせればよいでしょうか。従来アプリケーションを問わず定番として用いられてきたのが、各テストを包括的なテストスイートとしてまとめたテストピラミッドです。</p> <h2>偉大なるテストピラミッド万歳 <a href="#偉大なるテストピラミッド万歳">#</a><a name="偉大なるテストピラミッド万歳"></a></h2> <p>マイク・コーンが著書<a href="https://www.mountaingoatsoftware.com/books/succeeding-with-agile-software-development-using-scrum">『Succeeding with Agile』</a>で最初に紹介し、マーチン・ファウラーが<a href="https://martinfowler.com/articles/practical-test-pyramid.html">「実用的なテストピラミッド」</a>という記事でさらに発展させたテストピラミッドは、パフォーマンスとコストに基づいてテストを優先順位付けしています。異なる粒度のテストを記述し、高位レベルのテストは少なく、素早く安価で実施できる信頼性の高い単体テストは多くするよう推奨しています。テストの順序としては、素早く低コストで実施できるものから、時間とコストのかかるものの順に行うよう推奨しています。ピラミッドの最下部には多くの単体テストが位置し、次にサービス(統合テスト)が真ん中に来ます。そして最上部に、E2Eテストを含むより具体的で少数のUIテストが位置します。</p> <p><img src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/long-live-test-pyramid/test-pyramid.jpg"> <em>3層に分かれたピラミッドの手書きイラスト</em>(<a href="https://www.smashingmagazine.com/2023/09/long-live-test-pyramid/#:~:text=into%20three%20tiers.%20(-,Large%20preview,-)">拡大プレビュー</a>)</p> <p>関係者の間では、テストピラミッドはテスト構造のあるべき姿を単純化しすぎているとの声が高まっています。約10年前にテストピラミッドについての記事を執筆したマーチン・ファウラーは、<a href="https://martinfowler.com/articles/2021-test-shapes.html">この問題について最近ブログ記事を書いています</a>。筆者のチームでは、このモデルは私たちの仕事をエンドユーザーに近づけるものなのか、それとも遠ざけるものなのかという問いも出ています。ピラミッドの高位層は単体テストの信頼性を高め、より優れた価値をもたらしますが、各構成要素がどう連動するのかという大局的な視点に欠けるように思われます。少なくとも私たちには、テストピラミッドが時代遅れになりつつあるように感じられました。</p> <h2>ピラミッドからダイヤモンドへ <a href="#ピラミッドからダイヤモンドへ">#</a><a name="ピラミッドからダイヤモンドへ"></a></h2> <p>筆者のチーム内で議論された論点の1つが、ピラミッドが<strong>単体テストに重点を置きすぎている</strong>ということです。ピラミッドは、単体テストの性質と対象範囲を説明する形としては非常に優れています。しかし、単体テストとは何かと4人に問えば、おそらく4通りの回答が返ってくるでしょう。明確化のため、ピラミッドの形を少し変える必要があるかもしれません。</p> <p>筆者のチームが最も明確化する必要があったのは、単体テストを「いつ」「どこで」で止めるかということです。ピラミッドの形は、単体テストがテストプロセスの大部分を占めることを示唆しますが、私たちはそれが間違っているように感じました。結局のところ、単体テストをまとめるのは統合テストなので。</p> <p>したがって、テスト戦略を表すピラミッドの見方を変えてみると、ダイヤモンドの形に変化します。</p> <p><img src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/long-live-test-pyramid/testing-diamond-illustration.png"> <em>4層に分かれたピラミッドの手書きイラスト</em>(<a href="https://www.smashingmagazine.com/2023/09/long-live-test-pyramid/#:~:text=pyramid%20split%20into%20four%20tiers.%20(-,Large%20preview,-)">拡大プレビュー</a>)</p> <p>統合テストは、単体テストには複雑すぎる場合があるため、テストピラミッドの「忘れられた層」と呼ばれることがあります。しかし、テストダイヤモンド(しばしば2つの特定の層に分けられる)ではより重視されます。</p> <ol> <li> <p><strong>統合テスト層</strong> この層は、テストピラミッドの場合とほぼ同じですが、「単体テストとして行うには規模が大きすぎる」と見なされるテストが割り当てられます。つまり、単体テストの層と統合テストの層の中間に位置します。この層には、特定のコンポーネントなどのテストが適しています。</p> </li> <li> <p><strong>システム統合テスト層</strong> この層は、APIから取得したデータなどの「実際の」統合テストを中心に扱います。</p> </li> </ol> <p>したがって、ダイヤモンドの形は統合テストを行った直後に単体テストを行うプロセスを示唆しますが、それらの単体テストはピラミッドモデルの場合ほど重視されません。そのため、単体テストが重視されなくなった分、統合テスト層に相応の予算が割り当てられます。</p> <h2>手動テストの位置付けは? <a href="#自動テストの位置づけは?">#</a><a name="自動テストの位置づけは?"></a></h2> <p>テスト戦略が「ピラミッド型」であれ「ダイヤモンド型」であれ、重要な手動テストが依然としてプロセスに欠けています。自動テストは確かに重要ですが、手動テストが不要になるほどではありません。</p> <p>自動テストと手動テストは互いに欠かせないものだと思います。自動テストは定型的な共通作業を不要にし、人間がより注力すべき部分にテスターが集中できるようにする必要があります。自動化は手動テストを置き換えるのではなく、補完すべきなのです。</p> <p>この点を加味した場合、ダイヤモンドやピラミッドの形はどうなるでしょうか。手動テストはどの層にも含まれていませんが、どこかに入れるべきです。自動テストは効率的にバグを検出してくれますが、より包括的なテストを行うためには手動テストが必要です。とは言え、主に自動テストに重点を置いたテスト戦略が理想的であるのも事実です。</p> <p>これをテスト戦略の形に当てはめると、ピラミッドやダイヤモンドというよりアイスクリームコーンのような形になります。</p> <p><img src="https://files.smashing.media/articles/long-live-test-pyramid/testing-ice-cream-cone.png"> <em>4層に分かれた、アイスクリームコーンに似た逆ピラミッドの手書きイラスト</em>(<a href="https://files.smashing.media/articles/long-live-test-pyramid/testing-ice-cream-cone.png">拡大プレビュー</a>)</p> <p>これは実際に「アイスクリームコーン」と呼ばれる手法です。実装までの時間は長くかかりますが、より確かな自信が得られ、より多くのバグを検出できます。2015年に発表された記事で、<a href="https://saeedgatson.com/the-software-testing-ice-cream-cone/">サイード・ガトソンが簡潔に説明しています</a>。</p> <p>しかし、ピザのような形で実際にテストの内容を説明しきれるのでしょうか。この概念はグレブ・バームトフによって突き詰められ、彼が<a href="https://changelog.com/posts/the-testing-pyramid-should-look-more-like-a-crab">「Testing crab(蟹)」</a>モデルと呼ぶ形に集約されました。この手法では、スクリーンショットを比較し、人間が差異を検証します。目視テストと機能テストは蟹の胴体部分を構成し、その他のテストは蟹の手足を構成します。テストの際に実装前と実装後のスナップショットを撮影できるツールがあり、撮影したスナップショットを重ね合わせることで、視覚的なリグレッションを確認できます。</p> <h2>テストトロフィー <a href="#テストトロフィー">#</a><a name="テストトロフィー"></a></h2> <p>どのテスト手法もコストがかさみますが、テストピラミッドはその点を適切に表しています。ただ、その形自体が現実的ではないか、テストの内容全体と、各テスト層に置かれた重点を考慮するのに効果的ではない可能性があります。したがって、各テスト層と、それぞれどの程度重視すべきかを正確に表した<strong>これらすべての手法の間に妥協点を見つける</strong>必要があります。</p> <p>ギレルモ・ローチが2016年にこの点を簡潔に表現した次の言葉を筆者は気に入っています。</p> <blockquote class="twitter-tweet"><p lang="en" dir="ltr">Write tests. Not too many. Mostly integration.</p>— Guillermo Rauch (@rauchg) <a href="https://twitter.com/rauchg/status/807626710350839808?ref_src=twsrc%5Etfw">December 10, 2016</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> <p><em>テストを書こう。ただし書きすぎないこと。主に統合テスト。</em></p> <p>少し掘り下げてみましょう。</p> <ul> <li><strong>テストを書こう</strong> 信頼を築くためだけではなく、メンテナンス時間を節約できるため。</li> </ul> <ul> <li><strong>書きすぎないこと</strong> 100%の網羅率は、聞こえは良いですが必ずしも得策ではありません。アプリの詳細をすべて漏れなくテストした場合、少なくとも一部のテストはエンドユーザー体験にとって重要ではなく、テストを実行することが目的化しており、維持コストが増えることを意味します。</li> </ul> <ul> <li><strong>主に統合テスト</strong> 統合テストに重点が置かれています。合理的な実行時間を維持しつつ、高いレベルの確信が得られるため、最も事業価値のあるテストです。</li> </ul> <p>ケント・C・ドッズの記事を読んでいる人ならば、以下の概念をご存知かもしれません。彼が提唱する<a href="https://kentcdodds.com/blog/the-testing-trophy-and-testing-classifications">「テストトロフィー」</a>手法では、統合テストの優先度が従来のテストピラミッドよりも高く設定されており、ギレルモ・ローチの主張とも完全に一致しています。</p> <p><img src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/long-live-test-pyramid/testing-trophy-illustration.png"> <em>4つの層に分かれた薄い金色のトロフィーの手書きイラスト</em>(<a href="https://files.smashing.media/articles/long-live-test-pyramid/testing-trophy-illustration.png">拡大プレビュー</a>)</p> <p>ケントは、包括的なテストが製品の成功において果たす重要な役割について説明しています。彼は、単体テストよりも、<strong>製品のコア機能と評価される挙動について理解を深められる統合テストの価値を重視</strong>しています。また、彼はモックアップテストの数を減らし、統合テストの数を増やすことを提案しています。テストトロフィーは、テストの粒度を従来とは少し異なる方法で表した比喩であり、テストを以下の種類に分類しています。</p> <ol> <li> <p><strong>静的分析</strong>:これらのテストはデバッグの手順を実行することで、素早くタイプミスを特定します。</p> </li> <li> <p><strong>単体テスト</strong>:テストトロフィーでは、テストピラミッドほど重視されません。</p> </li> <li> <p><strong>統合テスト</strong>:テストトロフィーで最も重視されるテストです。</p> </li> <li> <p><strong>ユーザーインタフェース(UI)</strong>:E2Eテストや目視テストを含み、テストピラミッドと同様にテストトロフィーでも重要な役割を担います。</p> </li> </ol> <p>「テストトロフィー」はユーザーの視点を重視しており、費用対効果に優れています。では、テストトロフィーが最も推奨される手法なのでしょうか。テスト戦略としては最も理にかなっていますが、問題もあります。単体テストには依然として有益な利点がありますが、統合テストやE2Eテストには、ランタイムが長いことや信頼性が低いことなどの欠点があります。単体テストの利点は妥当であり、筆者は今でも好んで使用しています。</p> <h2>テストピラミッドは古いのか?<a href="#テストピラミッドは古いのか?">#</a><a name="テストピラミッドは古いのか?"></a></h2> <p>テストピラミッドは、ソフトウェア開発においてアプリケーションが正常に機能することを確認するのに役立つテストモデルとして、今でも人気があります。しかし、どんなモデルでもそうであるように、欠点もあります。最大の問題は、単体テストの定義を明確化しなくてはならないことです。</p> <p>筆者のチームは、テストパイプラインでダイヤモンドの形に改良を加えたものを使用しました。その結果、完全に間違ってはおらず、単に不完全なだけであることが判明しました。特に各種テストの優先順位を決める上で、今でも貴重な知見を得ています。</p> <p>ジャスティン・サールズがうまく言い表しているように、開発チームが教科書通りのテストパターンに従うことはほとんどありません。</p> <blockquote class="twitter-tweet"><p lang="en" dir="ltr">People love debating what percentage of which type of tests to write, but it's a distraction. Nearly zero teams write expressive tests that establish clear boundaries, run quickly & reliably, and only fail for useful reasons. Focus on that instead.<a href="https://t.co/xLceALKrWe">https://t.co/xLceALKrWe</a></p>— Justin Searls (@searls) <a href="https://twitter.com/searls/status/1393385209089990659?ref_src=twsrc%5Etfw">May 15, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> <p><em>どのタイプのテストを何割書くかということについて盛んに議論されていますが、本質からずれていると思います。境界を明確に定め、素早く確実に実行され、失敗する際には必ず有益な理由がある表現豊かなテストを書いているチームはほとんどありません。重視すべきはそちらでしょう。</em></p> <p><em>@MartinFowlerのテストピラミッドはもう古い。 統合テスト>単体テストが新常識でしょう</em></p> <p><em>フロントエンドでは、@rauchgと@kentcdoddsが提唱する「テストトロフィー」があります</em></p> <p><em>バックエンドでは、@theburningmonkのコースで@SpotifyEngの「テストハニカム」が提唱されています</em></p> <p>これは、筆者のチームの経験上でも言えることで、テストを切り分けたり定義したりするのは難しい場合が多いです。それは別に悪いことではありません。マーチン・ファウラーでさえ、異なるテストモデルがテストの対象範囲に対する見方にプラスの影響を与えていることを強調しています。</p> <p>したがって、テストピラミッドが古いとは決して考えません。むしろ、今も昔と変わらず知っておくべきものだと思います。しかし、ポイントはテストモデルの「形」にこだわりすぎないことです。覚えておくべき最も重要なことは、<strong>テストは素早く確実に実行されるべきであり、実際に問題があるとき以外は失敗してはいけない</strong>ということです。単に網羅的なテストを目指すのではなく、ユーザーの役に立つことが重要です。最も重要な作業は、テストの設計段階でこれらの要素の優先順位を決めた際にすでに終えているのです。</p> <h2>参考文献 <a href="#参考文献">#</a><a name="参考文献"></a></h2> <ul> <li>“<a href="https://martinfowler.com/articles/practical-test-pyramid.html">The Practical Test Pyramid</a>,” Ham Vocke</li> <li>“<a href="https://martinfowler.com/articles/2021-test-shapes.html">On the Diverse And Fantastical Shapes of Testing,</a>” Martin Fowler</li> <li>“<a href="https://changelog.com/posts/the-testing-pyramid-should-look-more-like-a-crab">The Testing Pyramid Should Look More Like A Crab,</a>” Gleb Bahmutov</li> <li>“<a href="https://saeedgatson.com/the-software-testing-ice-cream-cone/">The Software Testing Ice Cream Cone,</a>” Saeed Gatson</li> <li>“<a href="https://kentcdodds.com/blog/write-tests">Write tests. Not too many. Mostly integration,</a>” Kent C. Dodds</li> <li>“<a href="https://kentcdodds.com/blog/the-testing-trophy-and-testing-classifications">The Testing Trophy and Testing Classifications,</a>” Kent C. Dodds</li> <li>“<a href="https://kentcdodds.com/blog/static-vs-unit-vs-integration-vs-e2e-tests">Static vs Unit vs Integration vs E2E Testing for Frontend Apps,</a>” Kent C. Dodds</li> </ul></div><div data-testid="supervisor-info" class="SupervisorInfo__Wrapper-sc-1j48flx-0 flbPUF"><span class="SupervisorInfo__Header-sc-1j48flx-1 dvXvVG">監修者</span><div class="SupervisorInfo__ImageWrapper-sc-1j48flx-2 ftZoJh"><img src="data:image/jpeg;base64,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" alt="監修者_古川陽介" class="SupervisorInfo__Image-sc-1j48flx-3 mBQUt"/></div><div class="SupervisorInfo__NameWrapper-sc-1j48flx-4 eoJhWn"><b data-testid="supervisor-name" class="SupervisorInfo__Name-sc-1j48flx-5 hPxcFm">古川陽介</b><br/>株式会社リクルート プロダクト統括本部 プロダクト開発統括室 グループマネジャー 株式会社ニジボックス デベロップメント室 室長 Node.js 日本ユーザーグループ代表</div><div class="SupervisorInfo__Introduce-sc-1j48flx-6 hHtnWv">複合機メーカー、ゲーム会社を経て、2016年に株式会社リクルートテクノロジーズ(現リクルート)入社。 現在はAPソリューショングループのマネジャーとしてアプリ基盤の改善や運用、各種開発支援ツールの開発、またテックリードとしてエンジニアチームの支援や育成までを担う。 2019年より株式会社ニジボックスを兼務し、室長としてエンジニア育成基盤の設計、技術指南も遂行。 Node.js 日本ユーザーグループの代表を務め、Node学園祭などを主宰。<ul class="SupervisorInfo__SocialLinkWrapper-sc-1j48flx-7 dGIkDp"><li class="SupervisorInfo__SocialLinkItem-sc-1j48flx-8 lfoiSu">Twitter<!-- -->:<!-- --> <a href="https://twitter.com/yosuke_furukawa" title="Twitter" rel="noopener external noreferrer" target="_blank" data-wpel-link="external" class="SupervisorInfo__SocialLink-sc-1j48flx-9 gZbwdw">@yosuke_furukawa</a></li><li class="SupervisorInfo__SocialLinkItem-sc-1j48flx-8 lfoiSu">Github<!-- -->:<!-- --> <a href="https://github.com/yosuke-furukawa" title="Github" rel="noopener external noreferrer" target="_blank" data-wpel-link="external" class="SupervisorInfo__SocialLink-sc-1j48flx-9 gZbwdw">yosuke-furukawa</a></li></ul></div></div><div class="article__ShareButtonsWrapper-sc-19k0vly-3 ezXiKj"><div class="ShareButtons__Wrapper-sc-1lies9q-0 kjRFXp"><ul class="ShareButtons__List-sc-1lies9q-1 bzlnxh"><li class="ShareButtons__Item-sc-1lies9q-2 gaAEkH"><a href="https://b.hatena.ne.jp/entry/" class="hatena-bookmark-button" data-hatena-bookmark-layout="vertical-normal" data-hatena-bookmark-lang="ja" title="このエントリーをはてなブックマークに追加"><img src="https://b.st-hatena.com/images/v4/public/entry-button/button-only@2x.png" alt="このエントリーをはてなブックマークに追加"/></a></li><li class="ShareButtons__Item-sc-1lies9q-2 gaAEkH"><a href="https://twitter.com/share?ref_src=twsrc%5Etfw" class="twitter-share-button" data-lang="ja" data-show-count="false">Tweet</a></li><li class="ShareButtons__Item-sc-1lies9q-2 gaAEkH"><div id="fb-root"></div><div class="fb-like" data-width="84" data-layout="box_count" data-action="like" data-size="small" data-share="false"></div></li><li class="ShareButtons__Item-sc-1lies9q-2 gaAEkH"><a data-pocket-label="pocket" data-pocket-count="vertical" class="pocket-btn" data-lang="en">pocket</a></li></ul></div></div></div></div></div><div class="page__SidebarWrapper-sc-dlpr27-3 eza-DsE"><nav class="Sidebar__Wrapper-sc-e0afmy-0 cfbUWz"><div class="Sidebar__Inner-sc-e0afmy-1 liqkbQ"><h2 class="SidebarHeading__Text-sc-100o8h8-0 hWiQHX">最新記事</h2><ul class="SidebarLatestArticles__List-sc-4r6ql-0 bWRSUM"><li class="SidebarLatestArticles__Item-sc-4r6ql-1 kxdipa"><p class="SidebarLatestArticles__Date-sc-4r6ql-2 fkdbFp">2025年3月24日</p><a class="SidebarLatestArticles__ArticleLink-sc-4r6ql-3 cAFnYh" href="/i18n-with-nextjs-output-export/">NextJSのoutput: exportによるi18n</a></li><li class="SidebarLatestArticles__Item-sc-4r6ql-1 kxdipa"><p class="SidebarLatestArticles__Date-sc-4r6ql-2 fkdbFp">2025年2月21日</p><a class="SidebarLatestArticles__ArticleLink-sc-4r6ql-3 cAFnYh" href="/Interop-and-hard-problems/">Interopと難解な問題</a></li><li class="SidebarLatestArticles__Item-sc-4r6ql-1 kxdipa"><p class="SidebarLatestArticles__Date-sc-4r6ql-2 fkdbFp">2025年1月24日</p><a class="SidebarLatestArticles__ArticleLink-sc-4r6ql-3 cAFnYh" href="/cors-the-ultimate-guide/">CORSガイドの決定版</a></li><li class="SidebarLatestArticles__Item-sc-4r6ql-1 kxdipa"><p class="SidebarLatestArticles__Date-sc-4r6ql-2 fkdbFp">2024年12月12日</p><a class="SidebarLatestArticles__ArticleLink-sc-4r6ql-3 cAFnYh" href="/history-future-regular-expressions-javascript/">進化した正規表現:JavaScriptの正規表現の歴史と未来</a></li><li class="SidebarLatestArticles__Item-sc-4r6ql-1 kxdipa"><p class="SidebarLatestArticles__Date-sc-4r6ql-2 fkdbFp">2024年11月28日</p><a class="SidebarLatestArticles__ArticleLink-sc-4r6ql-3 cAFnYh" href="/rabitq-bench/">アルゴリズムのパフォーマンスを段階的に改善する</a></li></ul></div><div class="Sidebar__Inner-sc-e0afmy-1 liqkbQ"><h2 class="SidebarHeading__Text-sc-100o8h8-0 hWiQHX">PICK UP タグ</h2><ul class="SidebarTags__List-sc-1sqne6a-0 govONA"><li class="SidebarTags__Item-sc-1sqne6a-1 cqMIrZ"><a class="Tag__StyledLink-sc-1jf1fx3-0 eZNwhP" href="/tag/javascript/">JavaScript</a></li><li class="SidebarTags__Item-sc-1sqne6a-1 cqMIrZ"><a class="Tag__StyledLink-sc-1jf1fx3-0 eZNwhP" href="/tag/react/">React</a></li><li class="SidebarTags__Item-sc-1sqne6a-1 cqMIrZ"><a class="Tag__StyledLink-sc-1jf1fx3-0 eZNwhP" href="/tag/google/">Google</a></li><li class="SidebarTags__Item-sc-1sqne6a-1 cqMIrZ"><a class="Tag__StyledLink-sc-1jf1fx3-0 eZNwhP" href="/tag/ui-design/">UIデザイン</a></li><li class="SidebarTags__Item-sc-1sqne6a-1 cqMIrZ"><a class="Tag__StyledLink-sc-1jf1fx3-0 eZNwhP" href="/tag/software-architecture/">ソフトウェアアーキテクチャ</a></li><li class="SidebarTags__Item-sc-1sqne6a-1 cqMIrZ"><a class="Tag__StyledLink-sc-1jf1fx3-0 eZNwhP" href="/tag/nodejs/">NodeJS</a></li><li class="SidebarTags__Item-sc-1sqne6a-1 cqMIrZ"><a class="Tag__StyledLink-sc-1jf1fx3-0 eZNwhP" href="/tag/productivity/">生産性</a></li><li class="SidebarTags__Item-sc-1sqne6a-1 cqMIrZ"><a class="Tag__StyledLink-sc-1jf1fx3-0 eZNwhP" href="/tag/performance/">パフォーマンス</a></li><li class="SidebarTags__Item-sc-1sqne6a-1 cqMIrZ"><a class="Tag__StyledLink-sc-1jf1fx3-0 eZNwhP" href="/tag/data-science/">データサイエンス</a></li><li class="SidebarTags__Item-sc-1sqne6a-1 cqMIrZ"><a class="Tag__StyledLink-sc-1jf1fx3-0 eZNwhP" href="/tag/agile/">アジャイル</a></li><li class="SidebarTags__Item-sc-1sqne6a-1 cqMIrZ"><a class="Tag__StyledLink-sc-1jf1fx3-0 eZNwhP" href="/tag/summary/">まとめ</a></li><li class="SidebarTags__Item-sc-1sqne6a-1 cqMIrZ"><a class="Tag__StyledLink-sc-1jf1fx3-0 eZNwhP" href="/tag/engineer-employment/">エンジニア採用</a></li></ul><div class="SidebarTags__NavLinkWrapper-sc-1sqne6a-2 jsxPmt"><a class="NavLink__StyledLink-sc-12swpe6-0 NavLink__MoreLink-sc-12swpe6-3 cZIIUC jYwaN" href="/tag/">タグ一覧を見る</a></div></div><div class="Sidebar__Inner-sc-e0afmy-1 Sidebar__StickyInner-sc-e0afmy-2 liqkbQ dYVJnu"><h2 class="SidebarHeading__Text-sc-100o8h8-0 hWiQHX">NIJIBOX Information</h2><ul><li class="SidebarInformation__Item-sc-n9a31x-0 dlwWsb"><a href="https://nijibox.connpass.com/" target="_blank" rel="noopener noreferrer" class="SidebarImage__ExternalLink-sc-1ovfkzr-0 kOYsxR"><img src="/static/default-6561860a9c2c3d37cdc0a578591d8b61.png" alt="BUISINESS&CREATIVEイベント 詳しくはこちら" width="310" height="258" class="SidebarImage__Image-sc-1ovfkzr-1 ckiZSO"/></a></li><li class="SidebarInformation__Item-sc-n9a31x-0 dlwWsb"><a href="https://recruit.nijibox.jp/" target="_blank" rel="noopener noreferrer" class="SidebarImage__ExternalLink-sc-1ovfkzr-0 kOYsxR"><img src="/static/banner_recruit-fb2c6cab82e53f03ff716f18ec45fd6d.png" alt="中途採用サイト NIJIBOX" width="310" height="122" class="SidebarImage__Image-sc-1ovfkzr-1 ckiZSO"/></a></li><li class="SidebarInformation__Item-sc-n9a31x-0 dlwWsb"><a href="https://qiita.com/organizations/nijibox" target="_blank" rel="noopener noreferrer" class="SidebarImage__ExternalLink-sc-1ovfkzr-0 kOYsxR"><img src="/static/banner_qiita-4135a9660ef331f7b5ec4ad5a303db2d.png" alt="Qiita ニジボックスのQiitaページを見る" width="310" height="132" class="SidebarImage__Image-sc-1ovfkzr-1 ckiZSO"/></a></li><li class="SidebarInformation__Item-sc-n9a31x-0 dlwWsb"><a href="https://www.wantedly.com/companies/nijibox" target="_blank" rel="noopener noreferrer" class="SidebarImage__ExternalLink-sc-1ovfkzr-0 kOYsxR"><img src="/static/banner_wantedly-62a88dcf15d8cce8a4780b37dd3ab282.png" alt="WANTEDLY ニジボックスのWantedlyページを見る" width="310" height="132" class="SidebarImage__Image-sc-1ovfkzr-1 ckiZSO"/></a></li><li class="SidebarInformation__Item-sc-n9a31x-0 dlwWsb"><a href="https://www.nijibox.jp/document/developmentworks?utm_source=postd-docs-dl&utm_medium=banner&utm_campaign=postd-banner2" target="_blank" rel="noopener noreferrer" class="SidebarImage__ExternalLink-sc-1ovfkzr-0 kOYsxR"><img src="/static/banner_works-c9efc34dae20a9a03ebae5bcc8f4a937.png" alt="ニジボックスの制作・開発実績" width="310" height="122" class="SidebarImage__Image-sc-1ovfkzr-1 ckiZSO"/></a></li><li class="SidebarInformation__Item-sc-n9a31x-0 dlwWsb"><a href="https://www.nijibox.jp/contacts/contact-form1" target="_blank" rel="noopener noreferrer" class="SidebarImage__ExternalLink-sc-1ovfkzr-0 kOYsxR"><img src="/static/banner_contact-90bdb549f8a02a5f49b4eb74a20c8365.png" alt="案件のご相談・お問い合わせ" width="310" height="78" class="SidebarImage__Image-sc-1ovfkzr-1 ckiZSO"/></a></li><li class="SidebarInformation__Item-sc-n9a31x-0 dlwWsb"><a href="https://www.nijibox.jp/service/development?utm_source=postd-corp-development&utm_medium=banner&utm_campaign=postd-banner" target="_blank" rel="noopener noreferrer" class="SidebarImage__ExternalLink-sc-1ovfkzr-0 kOYsxR"><img src="/static/banner_develop-8d056aff35b53a7599d181dadbd36764.png" alt="ワンストップ開発支援サービスの詳細を見る" width="310" height="122" class="SidebarImage__Image-sc-1ovfkzr-1 ckiZSO"/></a></li></ul></div></nav></div></div></section></main><div class="TopButtonWrapper__Wrapper-sc-ssgdg7-0 fDmxku"><div class="TopButtonWrapper__Inner-sc-ssgdg7-1 daaPTY"><button type="button" class="ToTopButton__Button-sc-60bzld-0 WitCQ"></button></div></div><footer class="Footer__Wrapper-sc-1cjwj21-0 icmzgP"><div class="Footer__Inner-sc-1cjwj21-1 eQGFNj"><div class="FooterHeading__Wrapper-sc-ysx04u-0 kdDnWo"><p class="FooterLogo__Pc-sc-1683ea-0 iZzKMA"><img src="/static/logo_white-c929dd6d7d7586fbb8592e86a6b312cc.png" alt="POSTD PRODUCED BY NIJIBOX" width="160" height="75"/></p><p class="FooterLogo__Sp-sc-1683ea-1 cJGseb"><img src="/static/logo_white-c929dd6d7d7586fbb8592e86a6b312cc.png" alt="POSTD PRODUCED BY NIJIBOX" width="130" height="61"/></p><div class="FooterHeading__DescriptionWrapper-sc-ysx04u-1 cGqMhn"><p class="FooterDescription__Text-sc-uki65r-0 cwTvsA">POSTDはニジボックスが運営する、<br/>エンジニアに向けたキュレーションメディアです。</p></div></div><nav class="FooterNav__Wrapper-sc-pvduf3-0 hVwNys"><div class="FooterNav__LinksWrapper-sc-pvduf3-1 bXAwgS"><div><h2 class="NavLinkHeading__Text-sc-9g8hpt-0 cuVxce">ABOUT</h2><ul class="FooterNavLinks__LinkList-sc-he94nd-0 dOceWS"><li class="FooterNavLinks__LinkItem-sc-he94nd-2 ixQQMe"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/about/">POSTDについて</a></li><li class="FooterNavLinks__LinkItem-sc-he94nd-2 ixQQMe"><a href="https://www.nijibox.jp/contacts/contact-form1" target="_blank" rel="noopener noreferrer" class="NavLink__ExternalLink-sc-12swpe6-1 fWpGyB">お問い合わせ</a></li><li class="FooterNavLinks__LinkItem-sc-he94nd-2 ixQQMe"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/about/terms/">利用規約</a></li><li class="FooterNavLinks__LinkItem-sc-he94nd-2 ixQQMe"><a href="https://cdn.p.recruit.co.jp/terms/njb-t-1001/index.html" target="_blank" rel="noopener noreferrer" class="NavLink__ExternalLink-sc-12swpe6-1 fWpGyB">プライバシーポリシー</a></li><li class="FooterNavLinks__LinkItem-sc-he94nd-2 ixQQMe"><a href="https://www.recruit.co.jp/privacy/personaldata/" target="_blank" rel="noopener noreferrer" class="NavLink__ExternalLink-sc-12swpe6-1 fWpGyB">パーソナルデータ指針</a></li></ul></div></div><div class="FooterNav__LinksWrapper-sc-pvduf3-1 bXAwgS"><div><h2 class="NavLinkHeading__Text-sc-9g8hpt-0 cuVxce">CATEGORY</h2><ul class="FooterNavLinks__LinkList-sc-he94nd-0 dOceWS"><li class="FooterNavLinks__LinkItem-sc-he94nd-2 ixQQMe"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/category/design/">デザイン</a></li><li class="FooterNavLinks__LinkItem-sc-he94nd-2 ixQQMe"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/category/startups/">スタートアップ</a></li><li class="FooterNavLinks__LinkItem-sc-he94nd-2 ixQQMe"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/category/products/">プロダクト・サービス</a></li><li class="FooterNavLinks__LinkItem-sc-he94nd-2 ixQQMe"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/category/computer-science/">コンピュータサイエンス</a></li><li class="FooterNavLinks__LinkItem-sc-he94nd-2 ixQQMe"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/category/careers/">キャリア・働き方</a></li><li class="FooterNavLinks__LinkItem-sc-he94nd-2 ixQQMe"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/category/programming/">プログラミング</a></li><li class="FooterNavLinks__LinkItem-sc-he94nd-2 ixQQMe"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/category/infrastructure/">インフラ・ミドルウェア</a></li><li class="FooterNavLinks__LinkItem-sc-he94nd-2 ixQQMe"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/category/system-development/">開発手法・プロジェクト管理</a></li></ul></div></div><div class="FooterNav__LinksWrapper-sc-pvduf3-1 bXAwgS"><div><h2 class="NavLinkHeading__Text-sc-9g8hpt-0 cuVxce">PICK UP タグ</h2><ul class="FooterNavLinks__TagLinkList-sc-he94nd-1 YkDvs"><li class="FooterNavLinks__TagLinkItem-sc-he94nd-3 lhjcLx"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/tag/javascript/">#JavaScript</a></li><li class="FooterNavLinks__TagLinkItem-sc-he94nd-3 lhjcLx"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/tag/react/">#React</a></li><li class="FooterNavLinks__TagLinkItem-sc-he94nd-3 lhjcLx"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/tag/google/">#Google</a></li><li class="FooterNavLinks__TagLinkItem-sc-he94nd-3 lhjcLx"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/tag/ui-design/">#UIデザイン</a></li><li class="FooterNavLinks__TagLinkItem-sc-he94nd-3 lhjcLx"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/tag/software-architecture/">#ソフトウェアアーキテクチャ</a></li><li class="FooterNavLinks__TagLinkItem-sc-he94nd-3 lhjcLx"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/tag/nodejs/">#NodeJS</a></li><li class="FooterNavLinks__TagLinkItem-sc-he94nd-3 lhjcLx"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/tag/productivity/">#生産性</a></li><li class="FooterNavLinks__TagLinkItem-sc-he94nd-3 lhjcLx"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/tag/performance/">#パフォーマンス</a></li><li class="FooterNavLinks__TagLinkItem-sc-he94nd-3 lhjcLx"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/tag/data-science/">#データサイエンス</a></li><li class="FooterNavLinks__TagLinkItem-sc-he94nd-3 lhjcLx"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/tag/agile/">#アジャイル</a></li><li class="FooterNavLinks__TagLinkItem-sc-he94nd-3 lhjcLx"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/tag/summary/">#まとめ</a></li><li class="FooterNavLinks__TagLinkItem-sc-he94nd-3 lhjcLx"><a class="NavLink__StyledLink-sc-12swpe6-0 iHRgOu" href="/tag/engineer-employment/">#エンジニア採用</a></li></ul><div class="FooterNavLinks__MoreLinkWrapper-sc-he94nd-4 dkcwbg"><a class="NavLink__StyledLink-sc-12swpe6-0 NavLink__MoreLink-sc-12swpe6-3 iHRgOu fXlqex" href="/tag/">タグ一覧を見る</a></div></div></div><div class="FooterNav__LinksWrapper-sc-pvduf3-1 bXAwgS"><div><h2 class="NavLinkHeading__Text-sc-9g8hpt-0 cuVxce">運営会社 (株式会社ニジボックス)</h2><ul class="FooterNavLinks__LinkList-sc-he94nd-0 jBZdg"><li class="FooterNavLinks__LinkItem-sc-he94nd-2 ixQQMe"><a href="https://www.nijibox.jp/about" target="_blank" rel="noopener noreferrer" class="NavLink__ExternalLink-sc-12swpe6-1 fWpGyB">会社概要</a></li><li class="FooterNavLinks__LinkItem-sc-he94nd-2 ixQQMe"><a href="https://www.nijibox.jp/work" target="_blank" rel="noopener noreferrer" class="NavLink__ExternalLink-sc-12swpe6-1 fWpGyB">制作実績</a></li><li class="FooterNavLinks__LinkItem-sc-he94nd-2 ixQQMe"><a href="https://www.nijibox.jp/docs-dl" target="_blank" rel="noopener noreferrer" class="NavLink__ExternalLink-sc-12swpe6-1 fWpGyB">実績資料ダウンロード</a></li></ul></div><div class="FooterNav__CorpLogoWrapper-sc-pvduf3-2 gPDJrz"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABKCAYAAAD+IBtNAAAAAXNSR0IArs4c6QAAE5hJREFUeAHtXQuQHMV5/md2Z/eO0+NObyyBjoeDEqAsMATbGHTyQ1ZMohOySUw5lE5JERxI9CCupBJwtMI4zgNLJwGxIYp1olIFoiBIEBkJytajMBaODEcFGYhjuJMUkDi4h06nu31N5/vnZvZ6d2d2Z2cfd5G6r/q6p///7/7nn/6m/+7pmdWowmFz9L5vakK7WghtbziZ2nsXxU5UuAlVnbJAzSygVbqlLRSbJyL6u5qmhbluIegNTdBeErSnN5U+GKNYotJtqvqUBaplgYoDhBXdHPl2h6bRylylAZYhjcR+BovQtb1r4t/6VS6POlYWmEgWqApAHozEFggK/ZI0/BUO3YLEXrhke0OJ9Atwx04XZldUZYHaWqBYBw6szZbofXuItC/5rkBQUmj0M02IvRhp9vYlzdfgjpm+5RWjskAVLKBXoU6rSpHW2kuqWyMDaL2RNO07mq4dnh7R/7IkecWsLFAFC1QNIKtT92JiLt4KqjNGk7vgflVthAuql5I7tyxQNYBg+iHgKm0Obk5t3pbw/f5dtOANKUllAU8LVA0g3GJd0nwMKOn1bL0IQQuJtUVYFFlZoKoWqCpA7qDYGYwk/xL4DIS2ZFPk278ZWF4JKguUaYGqAsTSLZF+CKNIKpCeQFdIozWBZJWQskAFLFB1gKym2HH086cD6yrEbRspNi2wvBJUFijDAlUHiKWbKHHJVz4hTTvPiOh/IhepvLJArSxQs2XUzZH7DmF/1nXBTkwc742bF+HBYTBXLVijSkpZgGozgowaurQHh1kXR5vXFNG/mlWkDpQFamCBmgGkL2E+hb29x8s4J7XkW4bxlGgwC9QMIOweYdv7w8HUxK4uuGdbjPs/FVReySkLBLFAzQDCyiUT5qPYfnImiKIsIzTxjaCySk5ZIIgFagqQuynWizcNAz84xLskt6gl3yCXWckEtUBNAcJKasn0A8EfHKol36AXWskFs0AomFhwqedp/6kvhz83gp26l+EB4tSSa9LoiuvSizbvp/3qXZGSjacESrVAzZ6DuCnGbx6apC/DuNKKGcanMBH3NaJhBLp1TeJvn3CrU5UpC1TSAuMKEPlEHqDYjKgRasUbIMsE0RfxTnu9TJfzAMgrAIha0ZKNovJVscCEAYh8dhtpY30oMriESG/VNHETRphZMt3Km9qnVyfvPZRXrgqUBSpogQkJEPn88PxEbzT0a3VrZNGWYWS5wqIL2rE68a2vybwqryxQaQuUDZCNL8+7VEvpK+AWtWLjyua7P3v0yWJK6n++5y/Q8FLI7DLDxjO06fP/W0zGoT9E988XUbHCJHGTGQ/dto7ued+hqVRZoNIWKBkgMUF6008v/EzaJNzNNUyw6bIxpcSGdTccjY0du+f01c93YAUr890szClewweCnjXT2rP08NJX3aVUqbJA7S1gff2wWLP/9PrshtBA5Auk6a30Et2E9dVZcHXyAt5Bb84rdCkAOBbIxQDaVTi+KhSi9WL1nqPIP2dq2i4anr6fHr0mKfOqvLJALS3g0s1Hm28/NGu2mYjejJXXZfgS4udwh4/6UOyVdTd0F11dgovVD4AVfQYCwA3g2w/PYw/Xs2kSu+nBL5/yoYNiURaomAWyAIL5xJVaOgRAiFYA4hreIlhKS9yh776xu7GgzNp9jSEz3leQx4WIupNQ5oA1bzGN5+jhz3e7sKkiZYGKWsACwPcOXni7rmn3ouYLy649pTWtW9zV71nPn71wTUg3/9OT7pMAwBwxNbqHtizd5VNEsSkLlGwBaw6CceJySJYPDm4+kmzG/07OuoWQlsYybUkDk1s1PLZdjsfu51dqvwkWCnjk+4Td2ADmRZ7n4CgEmRbkMajxWKsd4LRYgMwM8Eyx+XogN1hMxo2Oeq5FeYNNO4x6fH3XGHL8TGmSLfeBHznIyLaxRfMSXzbLkypQgHabQZ5vs7wOXfsLsHuSUE8LiL6vk8zvAKRrVNyzDd8EkdZ5Au7ZufCkvLl8eIyqY5rBv9zockILUbbPLufO3mLnCyUOP/P4Pa3vgNd5x/4O5B9l4QDhMcg4ix1wh+kXPutoB9+tNi+nT/iQk23jyY6Oxde9HR15uyeTD4INjPVgbZPY+1G+E8cbUH+XVO4nW+p1yvDrood+1wgn/ttPK354oLxz0dzZRRG6u5Rr6TUn337/PZq21JWoCsfDAgykDnTkPsS2UhWAzEJE7pzvIubKN9pl74JnG2Izjqsewhg5HrjzohPTX+ubTG+emkQ98UhZjWJu0FykgsIAKiLM5E++/yu65Zf7xNeP7HsFN+5DKNrjQ0yx1M4C3Jm5E2O1UuO7ftEAXpZhcHBaLLSBYSEiPx6oamCAvAV/vvXqaYPEsSdu0JGBSfT2YAMNp0rfDV90BKGiAHI94bmnemjF2y8BGAfpooGTzAOXxtou/5arQHmFi3DBFuJcOsur5qyUPgC7tOSeGezVjLLliDFEZwl/PfI7Ef0Elm2UGPm7zh3ONeDrgeMYYisiBx5tWkDfbx1V6V8Y3axLrntmNEkts/roxpl91DVUb4HlndP1wBH6o4+AEcR7hLhz9xyA0TFe0dqiqTjd9D8/t0Bx/fEjHhqYXUUrCsawCWKLg4mee1LoqF0463Z02v1IOfJ15k7cbNNwWDDEJOo6yLRLx7wI0onj5aivA+lKm7YW6X47XygZANHqd5BvRF39Xsysr0Tr1nkEkQoyWWwOpIsnDdPvze2h2y85DsD00sxoIkP3yjAANu1rbnSl69YE3pUkF7IL9fc/2Uqvbr2TNr/wffqsJzhYSnfVX64vYL4FxuILoEIJFrA7cqck0iblXbOwcwsI820ir4a1uzKOFsrXpDWnQ3uJyfXJ8m78Mm8sjA2GbwEkBcN5YdNyv/y6YKaR5FGE5wZZAd/Zbc4qkA5cXCiJ6p3VyKwWQLjRTbgA7Ed3eGugKEUs0F+EzuQWiWenlM/L8t0f14SffbXaxDakMTvvlXCnX4vIo8h6yHe5XVOUd4Du1NvNPGEKw8UqYbeTHxdMN62RIg8gcNMWyI6aPxcKKnuHwTnUf8ybXBHKNhiOh/iOitR2llcCW7XhFBdJp1mww0t8TrbLyRRIO0FzOnIBtlESrh2DigGyzWbOu6agd4C20qZzwvyARyMdpR7ih0zOwyMuLxocF4zdsDMpnX74zlxKCTy646BpzZzkBrhfmfnJ/P4T9KMn7qEpieFcthKORTcAly5BIChrnkGDVnS2yqGDLce5cadtk85xFzpnl3Q8blm+wUFHbj8PJC7gWAX+ncyMHSZkIv01HwQN7II1RaTP5npM1OUl4AUfHSsTHJa2Zeld4HwPwEA82G2XeBgkbdLxuZpdBDvkBRjjGcQ2ySg8MY5Jx+OexSXtgBKrJEW24URew7E8cqyy+Sw2+5bvPlGXKiqanSIBRLg9LLzlyRB25l7sVHRJ33tONnCKHlzN+Qe7VW1QToEk2BVqh/06g4lWT8ru/DJIFkqtrbLpmaJRgHisZGW4fGSaDGki4/awcO7kC/AeyGSnqkv73neyZaQV3WriqgcM1gaCAomrdQoWrsfdmd2uCRdsELyeo9iBXHAwfRQgOc9CcgR9HU7D8xMnwDmZ+o8/b57jHFtpiprl43l48Fdu0Kq3xJulmgdILIc2i/HcOOCOlBdw6lchbkBk18oJ653MREoB3A7o84kcnRahvC2nzAZIqHxXZUpYmoOgFSOeykzIuVFdz96DdWkFXKxodZd4s2yFHtGGAnkkyaKf6wewTydiDHZoQXRAwg8K+XjCBBsc8pzjgKTctlyQjI4g/CykzDAtMjaCWFUJrTmnygxgpsSHaOYZx4Y5XL4PxUAT9ff7Zq8AowJJcSMyUMC1U+Jsk/LjmnUBxyro2wKlVkmKZYHEAoiGngaGsnosr2RFdV4Qs0PORF0janZIF1TAvcJactmgdvQpJVUg8WWtdolLvltLxbXNAhwxtCjrwuDoYC3s1BUkoyMIc1Vgoj7FGHOzcvdk4Vu8mRHk4gq4V9B4XADCpkJYi1jWDcWqpbx/uOdkgnRnypSNWwYdrnPcGndpGOBoRPEaiZQBh1PmAhLeRdE4BhCt/A7XBDcLwBhBozvxIHGr0zinmFB/F8mLgij1/2UFS9ZfzsOY/ThmkIxLwIXjtwIvkxqfUB+zgH7LJd1KzTb7EFgo8fC1KBb4WjXaTBtsMOTJ2OXbbQLzrx0DSAXuyFdOHfz3aPrMTHzZ5Oa1Nxz9D1mD9JYvbU9vWbrEDNHsJe8cflmmBctXf4m3iF5dRejVJH9FqvxlXNhqPTCVmikpu1zidjqcVJSX3SmVtEr5vKw9Gsg8HXlM+QVrpaJ2Ke+WjUmFa8YAUoGJ+gUN8cG7FvcUfjd609LeK3q6Q5ISgbJhwh6yczCgg3wMp32vdOoPSvlxz0K/hVBC7sDFOiTPATohc8BWvhF1bCtwInJ92yHbX4DXIU11MsX4Qe9yeJFKLpZZgQ7nscVEatDOjs1H8ml+SkRao/6Jdtf0o3hgHnSaWYjfRAU8+jJIOJxAfNrKjfM/6Lbc7tj7oEqjrc4BdDju/H5Ch8TUhrr2IVpAQ8qgWYnIda+U+GSwSMWVy+JGbAcN+7GEtfEv+N1d2ozoVJub9lFj43CQH87Jruj4TKJAXwPJrmbiHqEz3AbtHiui4RZ0wJz19SIS5ZMXQTfhsxrfHRjnwZsJY6h3vl13C9KWAk2VAj67ytKTjIulzUSHE3S89CqyJKYKIEAuGXzU+qRQpihO/l6aygi4Z7rci8+Z0qM409WI/zBBz/h16HUzOv3OEvVrAT/PWQqtEDJtA+JyxKqHsRGEmxrdcuIgOFjjJi049c9kYLvJrajvFuwVnjH4fTqGz/3swAtTj5+6w8RybwaXwdqowIJC0IYrIOf37qu5tHUIZRsRn0bnm1BLu9CJOy4DIvAmRZxTF+TZveKb7Fo7OvOHbhy3I3aArx9pTULWRRADNI3i+GaToNvRuS8OosHIq9Sb6kI9HmH46fM+Sr1YN92DXKyYv/30SJh6H8c6Z+HFgGI1KbqygA8LZAHE4YeHqdEHhK+50x0oW4ZoOLRiaeJNIo5eYXhrA6UOR73IeeW43fIbVTsMMjfPov7OPAZVoCxQRQtku1h2Q3CP2A14kaMYpFnoon/kd1TRMxva3bU2T/hdAxD/BfQ+Ukf0b9Oor5BP6t6QKlUWqIAFXAEi14s3OD449QhtxU8QnDLm0jdC8+jK8Png8JhGFAOI+MhDkBs1BIU/mRCRaxOHwpcnf9Bg0DPaH5/dq1WyrVV+4lnA1cViNcW/0uShFK0wBX0N4GB3KwMmDR6SgRmK0Yx5fe5v0WLR8fRz7icqBjQ6/VdNeUR9booiN8QpfF0C9WXNYUcwcu2GwOOT6mi3tsraxpInrwqUBaplgUynz2tApxA6Jx430MdlcDCfiI/OMxLYLhiajQ+6X4R0DggMN8xWGEDMkxvMk5J7FRZkXJ0gA8AIfXxsk2OODDwstK/TdOqzas8hq0NlgepawHMEcZoVItWWOvbjHybeeEgzj/0IPT/tkLJSDV3ZAFB4VBk5jE+NuLwwmDwYpfiP66zRwvh0nLSGrNFirD49SlrzVyh6xV0UPv8z/Gl//tS/CsoCNbeAJ0CwFv1mKp1ekE6lKB6P0/DwMCUHush4p4Pq39tBerLPXVmukccluFq5QZzGW+mTPEAB5lRkDo1c+HVKzv9Dikw+nyJRgMkIUyQSIcMweN3/RoDlp7n1qmNlgWpZwBUgAMdLqVTq+mQyaYGDATIST1AqmUAapzTeCDRO7qHGk0/S5JE3ytRNo4GG36aB2b9PqVmLKWxEKRQyqK4OoIhEqS4apWjUAgiDBK/u8he5VFAWqI0FvOYgj6MjXo+7NXdI/LhtiN8pJ4HH4bqmU0qP0KmmJfTBeYuobuTXNLv3KWoa/AmFTH4VxF9I6ZPow6m/Qx9OW0Fx42MABMCAyQY+GQSAAANW2xhxkLV0QAb6+G/AnxqKS1mgoAU878YYReZD8ghGkYZEImGNJDyKJBMYTUZGrBhPpFF+hkz8aHrIHKQZ/btpRt8uqku+59nomegl1DPtZvpo8hdJ6IBESMcIUUfRCI8adVbU9TDV1/PIMRrDYXxCWNe/C4D8jWfFiqAsUAULeAJEbgtgeT6dTi+F25WZjzBI4vEkJZJwuVA+NDwC8CSsSfyUoV/QzL5naOrpn2HpycSfQb1TFtOHTctpqP63UDXWjI0ITWqox6gQAhBGwREFQKKYbzAw2J1CRIX0GwBGt6yPyisL1MoCvgDiKAOgfBVxB0YVneclPLIMDQ3D9UrTMAPGHllGABwSgEXyJE0deoX6Jt9I6VCj5TbxnILdqTDmF/X19RSC68ZlnOeRJBwOwcUKHQQoFjntqlRZYLwsUBJAZCUBlBMAymxrIp/gybwNEJ7QD/NDEBNuWMICDzo7JhIRqovoGTcqFI6MulEYMXiVCpFXqf4AvE/J7ai8ssB4WiAwQBylAZS/g/v114ijcxOMKsNnMC/BI/gEwCIwkjBANN2A+xQaBQhGiwhcqDC7UeEw/57aAvDUbAuzo7tKlQWKWaBsgDgNACg8qX8bI0rUmdQnk6kMQHiizSMFzy/sSfcPAIo/deRVqixwzlgAYDmACb3APEXgAaOVAjQoFnHEK88ZQ6gTVRZQFlAWOJst8H8eVFgSaYzUsAAAAABJRU5ErkJggg==" alt="NIJIBOX" width="100" height="37"/></div></div></nav><div class="Footer__CopyrightWrapper-sc-1cjwj21-2 eKVIfm"><small class="Copyright__Text-sc-1yjjwtv-0 dOgXOf">©NIJIBOX CO.,LTD ALL RIGHTS RESERVED</small></div></div></footer></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script async="" src="https://www.googletagmanager.com/gtag/js?id=G-ZRBE5VR4GW"></script><script> if(true) { window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-ZRBE5VR4GW', {"send_page_view":false}); } </script><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/long-live-test-pyramid/";/*]]>*/</script><!-- slice-start id="_gatsby-scripts-1" --> <script id="gatsby-chunk-mapping" > window.___chunkMapping="{\"app\":[\"/app-7862a0f0e58965cb071f.js\"],\"component---src-templates-archive-tsx\":[\"/component---src-templates-archive-tsx-a398bac4b54bb7368d62.js\"],\"component---src-templates-article-tsx\":[\"/component---src-templates-article-tsx-b5050cffc65f0e29ba86.js\"],\"component---src-templates-category-tsx\":[\"/component---src-templates-category-tsx-4303f7f48a48734b912c.js\"],\"component---src-templates-page-noside-tsx\":[\"/component---src-templates-page-noside-tsx-ca6d6aea1289b5471fc1.js\"],\"component---src-templates-page-tsx\":[\"/component---src-templates-page-tsx-032af047f283d10a1d75.js\"],\"component---src-templates-tag-tsx\":[\"/component---src-templates-tag-tsx-2f5fc68ab0ad41e21a78.js\"],\"component---src-templates-taglist-tsx\":[\"/component---src-templates-taglist-tsx-ad74af94586e6e995882.js\"],\"component---src-templates-top-tsx\":[\"/component---src-templates-top-tsx-3af234529e8aeca55345.js\"]}"; </script> <script>window.___webpackCompilationHash="86681e9a0c3cb768b9d9";</script><script src="/webpack-runtime-d686a71b7354fd3db495.js" async></script><script src="/framework-fa69763f435206bd6b0a.js" async></script><script src="/app-7862a0f0e58965cb071f.js" async></script><!-- slice-end id="_gatsby-scripts-1" --></body></html>