CINXE.COM
[B! DB] shunt_iのブックマーク
<!DOCTYPE html> <html lang="ja" data-page-scope="User" data-stable-request-url="https://b.hatena.ne.jp/shunt_i/DB/" data-device-type="PC" data-sentry-environment="production" data-sentry-sample-rate="0.1" data-author-name="shunt_i" data-page-subtype="tag" data-page-type="user" data-platform="pc" data-search-query="" data-tag-filter="DB" data-visitor-name="ゲスト" > <head> <!-- Google Tag Manager --> <script> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5TDHQX'); </script> <!-- End Google Tag Manager --> <meta charset="UTF-8"> <title>[B! DB] shunt_iのブックマーク</title> <script src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/js/v4/bookmark.js" async></script> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/css/v4/bookmark.css" /> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/css/v4/bookmark.star.css" /> <link rel="canonical" href="https://b.hatena.ne.jp/shunt_i/DB/" /> <link rel="next" href="/shunt_i/DB/?page=2"> <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> <meta name="viewport" content="width=device-width"> <link rel="search" type="application/opensearchdescription+xml" title="はてなブックマーク検索" href="/opensearch.xml" /> <link rel="search" type="application/opensearchdescription+xml" title="shunt_i のブックマーク内検索" href="/shunt_i/opensearch.xml"> <link rel="apple-touch-icon-precomposed" href="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/apple-touch-icon-precomposed.png" /> <link rel="mask-icon" href="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/safari-pinned-tab-icon.svg" color="#00A4DE" /> <meta name="msapplication-navbutton-color" content="#2C6EBD" /> <meta name="msapplication-task" content="name=はてなブックマーク; action-uri=/; icon-uri=https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/icons/bookmark.ico" /> <meta name="msapplication-task" content="name=マイブックマーク; action-uri=/my; icon-uri=https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/icons/my-bookmark.ico" /> <meta name="msapplication-task" content="name=お気に入りのブックマーク; action-uri=/my/favorite; icon-uri=https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/icons/favorite-bookmark.ico" /> <meta name="msapplication-task" content="name=人気エントリー; action-uri=/hotentry; icon-uri=https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/icons/hotentry.ico" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="referrer" content="always"> <link rel="author" href="http://www.hatena.ne.jp/shunt_i/" /> <link rel="alternate" type="application/rss+xml" href="/shunt_i/bookmark.rss?tag=DB" /> <script> function isMobile() { const html = document.documentElement; const deviceType = html.dataset.deviceType || ''; if (deviceType.length > 0) { return deviceType === 'MOBILE'; } else { const maxMobileWidth = 480; const windowWidth = window.innerWidth; return maxMobileWidth >= windowWidth; } } </script> </head> <body class="page-centerarticle fixed-header"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5TDHQX" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="link-app-banner js-dynamic-link-app-banner is-hidden"> <button class="link-app-banner-btn-close js-dynamic-link-app-banner-close-button"><span>close</span></button> <a class="link-app-banner-btn" href="https://hatenabookmark.page.link/app"> <div class="link-app-banner-btn-detail"> <div class="link-app-banner-icon"><img src="/images/v4/public/app/ic-ios.svg" alt="はてなブックマークアプリ"></div> <p class="link-app-banner-text">サクサク読めて、<br class="link-app-banner-text-newline">アプリ限定の機能も多数!</p> </div> <div class="link-app-banner-btn-open">アプリで開く</div> </a> </div> <header id="global-header" data-portal-static-origin="//cdn.www.st-hatena.com"> <div id="header" class="global-header-inner js-global-header-inner"> <h2 id="gh-logo"><a href="/" data-gtm-label="gh-blogo"><span>はてなブックマーク</span></a></h2> <div class="is-guest js-guest is-hidden"> <input id="gh-search-icon-check" type="checkbox" checked="checked" /> <label class="gh-search-icon" for="gh-search-icon-check" aria-label="検索を閉じる"><span>閉じる</span></label> <form class="gh-searchbox" method="get" action="/search_dwim" role="search"> <input value="" name="q" type="search" class="gh-inputtext" placeholder="キーワード・URLを検索" size="40" /> <input value="" type="submit" class="gh-search-button" /> </form> <ul class="gh-service-menu"> <li><a href="/guide" data-gtm-label="gh-guest-guide">はてなブックマークって?</a></li> <li><a href="/guide/tools" data-gtm-label="gh-guest-tools">アプリ・拡張の紹介</a></li> <li><a href="https://www.hatena.ne.jp/register?location=https%3A%2F%2Fb.hatena.ne.jp%2F%3Fregistered_from%3Dglobal-header&via=201037" class="gh-guest-register" data-gtm-label="gh-guest-register">ユーザー登録</a></li> <li><a href="https://www.hatena.ne.jp/login?location=https%3A%2F%2Fb.hatena.ne.jp%2Fshunt_i%2FDB%2F" rel="nofollow" class="gh-guest-login" data-gtm-label="gh-guest-login">ログイン</a></li> <li class="gh-hatena-logo"><a href="http://www.hatena.ne.jp/"><img src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/logo/logo-global-white.svg" alt="Hatena" width="74px" height="13px"/></a></li> </ul> </div> <noscript> <ul class="gh-service-menu"> <li><a href="https://www.hatena.ne.jp/logout?location=https%3A%2F%2Fb.hatena.ne.jp%2F">ログアウト</a></li> </ul> </noscript> <script type="text/x-template" id="template-menu-hatena-user"> <form class="gh-searchbox" method="get" action="/search_dwim" role="search"> <input value="" name="q" type="search" class="gh-inputtext" placeholder="キーワード・URLを検索" size="40" /> <input value="" type="submit" class="gh-search-button" /> </form> <ul class="gh-service-menu"> <li><a class="hotentry" data-gtm-label="gh-mypage" href="{{hotentry_url}}"><img src="{{user_image_url}}" class="header-profile-icon" width="16" height="16" alt="{{username}}" /></a><a class="hotentry" data-gtm-label="gh-mypage" href="{{hotentry_url}}">マイページ</a></li> <li><a class="bookmark" data-gtm-label="gh-bookmark" href="{{bookmark_url}}">ブックマーク</a></li> <li><a class="unread_bookmark" data-gtm-label="gh-ril" href="{{bookmark_stock_url}}">あとで読む</a></li> <li><a class="add" data-gtm-label="gh-add" href="{{add_bookmark_url}}">追加</a></li> <li><a class="tools" data-gtm-label="gh-tools" href="/guide/tools">ツール</a></li> <li><a class="config" data-gtm-label="gh-config" href="/-/my/config/profile">設定</a></li> <li><a class="feedback" data-gtm-label="gh-feedback" href="/-/feedback/hatena_bookmark" target="_blank">フィードバック</a></li> <li id="header-username" class="gh-dropdown-services" data-gtm-label="gh-services" title="利用中のサービス" data-name="{{username}}"> <span class="header-dropdown gh-dropdown" tabindex="0"> <img src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/common/usermenu-wh.svg" alt="利用中のサービス" width="24" height="24" /> </span> <dl class="header-window" id="username-window"></dl> </li> <li id="header-notify" data-gtm-label="gh-notify" class="gh-dropdown-notify" title="あなたへのお知らせ"> <span class="header-dropdown gh-dropdown" tabindex="0"> <img src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/common/notify-wh.svg" alt="あなたへのお知らせ" width="25" height="25" /> <span class="notify-count"></span> </span> <div id="notify-window" class="header-window header-notify"></div> </li> <li class="gh-hatena-logo"><a href="http://www.hatena.ne.jp/"><img src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/logo/logo-global-white.svg" alt="Hatena" width="74px" height="13px"/></a></li> </ul> </script> </div> </header> <div id="info-header"><div id="info-header-message"></div><span></span></div> <div class="global-notification is-hidden js-global-notification"></div> <div id="container" class="js-user-page-container" data-author-name="shunt_i" > <div class="centerarticle-wrapper"> <div class="left-container"> <div class="js-user-info" data-user-name="shunt_i"> <div class="centerarticle-profile"> <a href="http://profile.hatena.ne.jp/shunt_i/"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" class="centerarticle-profile-image"/> </a> <div class="centerarticle-profile-main"> <a href="http://profile.hatena.ne.jp/shunt_i/" class="centerarticle-profile-nickname js-user-info-nickname" target="_blank" rel="noopener">shunt_i</a> <a href="/shunt_i/bookmark" class="centerarticle-profile-username">id:shunt_i</a> </div> </div> <ul class="userprofile-status"> <li> <a href="/shunt_i/bookmark" class="userprofile-status-link" data-gtm-click-label="user-count-bookmark"> <span class="userprofile-status-count">2,761</span> <span class="userprofile-status-text">ブックマーク</span> </a> </li> <li> <a href="/shunt_i/follow" class="userprofile-status-link" data-gtm-click-label="user-count-follow"> <span class="userprofile-status-count js-total-followings">-</span> <span class="userprofile-status-text">お気に入り</span> </a> </li> <li> <a href="/shunt_i/follower" class="userprofile-status-link" data-gtm-click-label="user-count-follower"> <span class="userprofile-status-count js-total-followers">-</span> <span class="userprofile-status-text">お気に入られ</span> </a> </li> </ul> </div> <div class="centerarticle-mainNavi"> </div> <div class="centerarticle-sidebar-menu js-user-tags"> <h3 class="centerarticle-aside-title">タグ</h3> <ul class="centerarticle-sub-navi"> <li><a href="/shunt_i/bookmark" data-gtm-click-label="user-tags-all">すべて</a></li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%20%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-tags"> あとで読む <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%20%E3%81%BE%E3%81%A8%E3%82%81/" data-gtm-click-label="user-tags"> まとめ <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%20%E3%81%BE%E3%81%A8%E3%82%81%E3%81%AE%E3%81%BE%E3%81%A8%E3%82%81/" data-gtm-click-label="user-tags"> まとめのまとめ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%20%EF%BC%88%E3%83%BB%E2%88%80%E3%83%BB%EF%BC%89%EF%BD%B2%EF%BD%B2!!/" data-gtm-click-label="user-tags"> (・∀・)イイ!! <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/2011%E5%B9%B4/" data-gtm-click-label="user-tags"> 2011年 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/3d/" data-gtm-click-label="user-tags"> 3d <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/AI/" data-gtm-click-label="user-tags"> AI <span class="count">(37)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/API/" data-gtm-click-label="user-tags"> API <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/AS3/" data-gtm-click-label="user-tags"> AS3 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/AWS/" data-gtm-click-label="user-tags"> AWS <span class="count">(34)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Angular/" data-gtm-click-label="user-tags"> Angular <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Arduino/" data-gtm-click-label="user-tags"> Arduino <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Atom/" data-gtm-click-label="user-tags"> Atom <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Bitbucket/" data-gtm-click-label="user-tags"> Bitbucket <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/CG/" data-gtm-click-label="user-tags"> CG <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/CKEditor/" data-gtm-click-label="user-tags"> CKEditor <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/COVID-19/" data-gtm-click-label="user-tags"> COVID-19 <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/CS/" data-gtm-click-label="user-tags"> CS <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/CSS/" data-gtm-click-label="user-tags"> CSS <span class="count">(34)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/CTP/" data-gtm-click-label="user-tags"> CTP <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/CentOS/" data-gtm-click-label="user-tags"> CentOS <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/ChatGPT/" data-gtm-click-label="user-tags"> ChatGPT <span class="count">(18)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Chief%20Joseph/" data-gtm-click-label="user-tags"> Chief Joseph <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/C%E8%A8%80%E8%AA%9E/" data-gtm-click-label="user-tags"> C言語 <span class="count">(20)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/DB/" class="is-current" data-gtm-click-label="user-tags"> DB <span class="count">(40)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/DDD/" data-gtm-click-label="user-tags"> DDD <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/DNS/" data-gtm-click-label="user-tags"> DNS <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/DTM/" data-gtm-click-label="user-tags"> DTM <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/DTP/" data-gtm-click-label="user-tags"> DTP <span class="count">(15)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/DTP%E3%82%A8%E3%82%AD%E3%82%B9%E3%83%91%E3%83%BC%E3%83%88/" data-gtm-click-label="user-tags"> DTPエキスパート <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/DeepLearning/" data-gtm-click-label="user-tags"> DeepLearning <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Evernote/" data-gtm-click-label="user-tags"> Evernote <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Excel/" data-gtm-click-label="user-tags"> Excel <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/FX/" data-gtm-click-label="user-tags"> FX <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/GDPR/" data-gtm-click-label="user-tags"> GDPR <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/GraphQL/" data-gtm-click-label="user-tags"> GraphQL <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/IT/" data-gtm-click-label="user-tags"> IT <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Illustrator/" data-gtm-click-label="user-tags"> Illustrator <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/IoT/" data-gtm-click-label="user-tags"> IoT <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Java/" data-gtm-click-label="user-tags"> Java <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Jenkins/" data-gtm-click-label="user-tags"> Jenkins <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Kotlin/" data-gtm-click-label="user-tags"> Kotlin <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Laravel/" data-gtm-click-label="user-tags"> Laravel <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/MachineLearning/" data-gtm-click-label="user-tags"> MachineLearning <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Makefile/" data-gtm-click-label="user-tags"> Makefile <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Next.js/" data-gtm-click-label="user-tags"> Next.js <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/OAuth/" data-gtm-click-label="user-tags"> OAuth <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/OS/" data-gtm-click-label="user-tags"> OS <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/PC/" data-gtm-click-label="user-tags"> PC <span class="count">(29)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/PostgreSQL/" data-gtm-click-label="user-tags"> PostgreSQL <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Processing/" data-gtm-click-label="user-tags"> Processing <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/RSS/" data-gtm-click-label="user-tags"> RSS <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Rails/" data-gtm-click-label="user-tags"> Rails <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Raspberry%20Pi/" data-gtm-click-label="user-tags"> Raspberry Pi <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Ruby/" data-gtm-click-label="user-tags"> Ruby <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Rust/" data-gtm-click-label="user-tags"> Rust <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/SEO/" data-gtm-click-label="user-tags"> SEO <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/SNS/" data-gtm-click-label="user-tags"> SNS <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Scratch/" data-gtm-click-label="user-tags"> Scratch <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Swift/" data-gtm-click-label="user-tags"> Swift <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Tailwind/" data-gtm-click-label="user-tags"> Tailwind <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/UI/" data-gtm-click-label="user-tags"> UI <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/UNIX/" data-gtm-click-label="user-tags"> UNIX <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/VJ/" data-gtm-click-label="user-tags"> VJ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Vue/" data-gtm-click-label="user-tags"> Vue <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Web%E5%88%B6%E4%BD%9C/" data-gtm-click-label="user-tags"> Web制作 <span class="count">(92)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/amazon/" data-gtm-click-label="user-tags"> amazon <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/art/" data-gtm-click-label="user-tags"> art <span class="count">(28)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/beacon/" data-gtm-click-label="user-tags"> beacon <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/bootstrap/" data-gtm-click-label="user-tags"> bootstrap <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/c++/" data-gtm-click-label="user-tags"> c++ <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/chrome/" data-gtm-click-label="user-tags"> chrome <span class="count">(20)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/coliss/" data-gtm-click-label="user-tags"> coliss <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/ctf/" data-gtm-click-label="user-tags"> ctf <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/design/" data-gtm-click-label="user-tags"> design <span class="count">(89)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/dj/" data-gtm-click-label="user-tags"> dj <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/docker/" data-gtm-click-label="user-tags"> docker <span class="count">(37)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/ds-10/" data-gtm-click-label="user-tags"> ds-10 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/emacs/" data-gtm-click-label="user-tags"> emacs <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/fashion/" data-gtm-click-label="user-tags"> fashion <span class="count">(47)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/firefox/" data-gtm-click-label="user-tags"> firefox <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/flash/" data-gtm-click-label="user-tags"> flash <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/font/" data-gtm-click-label="user-tags"> font <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/game/" data-gtm-click-label="user-tags"> game <span class="count">(31)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/git/" data-gtm-click-label="user-tags"> git <span class="count">(38)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/github/" data-gtm-click-label="user-tags"> github <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/golang/" data-gtm-click-label="user-tags"> golang <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/google/" data-gtm-click-label="user-tags"> google <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/google%20analytics/" data-gtm-click-label="user-tags"> google analytics <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/house/" data-gtm-click-label="user-tags"> house <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/html/" data-gtm-click-label="user-tags"> html <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/iPhone%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-tags"> iPhoneアプリ開発 <span class="count">(43)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/image/" data-gtm-click-label="user-tags"> image <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/iphone/" data-gtm-click-label="user-tags"> iphone <span class="count">(19)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/javascript/" data-gtm-click-label="user-tags"> javascript <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/kubernetes/" data-gtm-click-label="user-tags"> kubernetes <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/linux/" data-gtm-click-label="user-tags"> linux <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/mac/" data-gtm-click-label="user-tags"> mac <span class="count">(59)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/music/" data-gtm-click-label="user-tags"> music <span class="count">(124)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/mysql/" data-gtm-click-label="user-tags"> mysql <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/news/" data-gtm-click-label="user-tags"> news <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/nginx/" data-gtm-click-label="user-tags"> nginx <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/notion/" data-gtm-click-label="user-tags"> notion <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/obsidian/" data-gtm-click-label="user-tags"> obsidian <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/pdf/" data-gtm-click-label="user-tags"> pdf <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/perl/" data-gtm-click-label="user-tags"> perl <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/photoshop/" data-gtm-click-label="user-tags"> photoshop <span class="count">(25)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/php/" data-gtm-click-label="user-tags"> php <span class="count">(20)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/podcast/" data-gtm-click-label="user-tags"> podcast <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/prompt/" data-gtm-click-label="user-tags"> prompt <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/python/" data-gtm-click-label="user-tags"> python <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/react/" data-gtm-click-label="user-tags"> react <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/scheme/" data-gtm-click-label="user-tags"> scheme <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/server/" data-gtm-click-label="user-tags"> server <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/shell/" data-gtm-click-label="user-tags"> shell <span class="count">(17)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/slack/" data-gtm-click-label="user-tags"> slack <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/software/" data-gtm-click-label="user-tags"> software <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/sql/" data-gtm-click-label="user-tags"> sql <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/terraform/" data-gtm-click-label="user-tags"> terraform <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/threejs/" data-gtm-click-label="user-tags"> threejs <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/thunderbird/" data-gtm-click-label="user-tags"> thunderbird <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/unity/" data-gtm-click-label="user-tags"> unity <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/vagrant/" data-gtm-click-label="user-tags"> vagrant <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/vba/" data-gtm-click-label="user-tags"> vba <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/vim/" data-gtm-click-label="user-tags"> vim <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/visual%20studio/" data-gtm-click-label="user-tags"> visual studio <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/vscode/" data-gtm-click-label="user-tags"> vscode <span class="count">(26)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/webdesign/" data-gtm-click-label="user-tags"> webdesign <span class="count">(48)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" data-gtm-click-label="user-tags"> webサービス <span class="count">(242)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/web%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E7%94%A8/" data-gtm-click-label="user-tags"> webプロジェクト用 <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/windows/" data-gtm-click-label="user-tags"> windows <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/windows7/" data-gtm-click-label="user-tags"> windows7 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/word/" data-gtm-click-label="user-tags"> word <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/wordpress/" data-gtm-click-label="user-tags"> wordpress <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/xamarin/" data-gtm-click-label="user-tags"> xamarin <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/youtube/" data-gtm-click-label="user-tags"> youtube <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/zsh/" data-gtm-click-label="user-tags"> zsh <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%81%82%E3%81%A8%E3%81%A7%E3%82%84%E3%82%8B/" data-gtm-click-label="user-tags"> あとでやる <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-tags"> あとで読む <span class="count">(268)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%81%84%E3%81%84%E8%A9%B1/" data-gtm-click-label="user-tags"> いい話 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%81%8A%E9%87%91/" data-gtm-click-label="user-tags"> お金 <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%81%93%E3%82%8C%E3%81%AF%E3%81%99%E3%81%94%E3%81%84/" data-gtm-click-label="user-tags"> これはすごい <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%81%AF%E3%81%A6%E3%81%AA/" data-gtm-click-label="user-tags"> はてな <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%81%BE%E3%81%A8%E3%82%81/" data-gtm-click-label="user-tags"> まとめ <span class="count">(93)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%86%E3%81%8B%E3%81%97/" data-gtm-click-label="user-tags"> ゆかし <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%82%A4%E3%83%87%E3%82%A3%E3%82%A2%E2%80%BB/" data-gtm-click-label="user-tags"> アイディア※ <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%82%A6%E3%83%88%E3%83%89%E3%82%A2/" data-gtm-click-label="user-tags"> アウトドア <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%82%A6%E3%83%88%E3%83%89%E3%82%A2%E7%94%A8%E5%93%81/" data-gtm-click-label="user-tags"> アウトドア用品 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%82%AF%E3%82%A2%E3%83%AA%E3%82%A6%E3%83%A0/" data-gtm-click-label="user-tags"> アクアリウム <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%AA/" data-gtm-click-label="user-tags"> アセンブリ <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%83%8B%E3%83%A1/" data-gtm-click-label="user-tags"> アニメ <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%83%95%E3%82%A3%E3%83%AA%E3%82%A8%E3%82%A4%E3%83%88/" data-gtm-click-label="user-tags"> アフィリエイト <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%83%97%E3%83%AA/" data-gtm-click-label="user-tags"> アプリ <span class="count">(25)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-tags"> アプリ開発 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0/" data-gtm-click-label="user-tags"> アルゴリズム <span class="count">(21)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88/" data-gtm-click-label="user-tags"> イベント <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A4%E3%83%B3%E3%83%86%E3%83%AA%E3%82%A2/" data-gtm-click-label="user-tags"> インテリア <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9/" data-gtm-click-label="user-tags"> インフラ <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2/" data-gtm-click-label="user-tags"> エンジニア <span class="count">(32)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A8%E3%83%B3%E3%82%BF%E3%83%A1/" data-gtm-click-label="user-tags"> エンタメ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%AC%E3%82%B8%E3%82%A7%E3%83%83%E3%83%88/" data-gtm-click-label="user-tags"> ガジェット <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%AC%E3%83%B3%E3%83%80%E3%83%A0/" data-gtm-click-label="user-tags"> ガンダム <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%AD%E3%83%A3%E3%83%AA%E3%82%A2/" data-gtm-click-label="user-tags"> キャリア <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89/" data-gtm-click-label="user-tags"> キーボード <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%AF%E3%83%AC%E3%82%B8%E3%83%83%E3%83%88%E3%82%AB%E3%83%BC%E3%83%89/" data-gtm-click-label="user-tags"> クレジットカード <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%B2%E3%83%BC%E3%83%A0/" data-gtm-click-label="user-tags"> ゲーム <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/" data-gtm-click-label="user-tags"> コミュニケーション <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" data-gtm-click-label="user-tags"> サービス <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E9%81%8B%E7%94%A8/" data-gtm-click-label="user-tags"> サービス運用 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%B8%E3%83%A0/" data-gtm-click-label="user-tags"> ジム <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%B9%E3%82%BF%E3%83%BC%E3%82%A6%E3%82%A9%E3%83%BC%E3%82%BA/" data-gtm-click-label="user-tags"> スターウォーズ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%B9%E3%83%97%E3%83%AC%E3%83%83%E3%83%89%E3%82%B7%E3%83%BC%E3%83%88/" data-gtm-click-label="user-tags"> スプレッドシート <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3/" data-gtm-click-label="user-tags"> セキュリティ <span class="count">(33)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2/" data-gtm-click-label="user-tags"> ソフトウェア <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%BF%E3%82%B9%E3%82%AF%E7%AE%A1%E7%90%86/" data-gtm-click-label="user-tags"> タスク管理 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB/" data-gtm-click-label="user-tags"> チュートリアル <span class="count">(35)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%84%E3%83%BC%E3%83%AB/" data-gtm-click-label="user-tags"> ツール <span class="count">(25)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%86%E3%82%B9%E3%83%88/" data-gtm-click-label="user-tags"> テスト <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%86%E3%83%AC%E3%83%93/" data-gtm-click-label="user-tags"> テレビ <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3/" data-gtm-click-label="user-tags"> デザインパターン <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9/" data-gtm-click-label="user-tags"> データベース <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%88%E3%83%A9%E3%83%B3%E3%83%97/" data-gtm-click-label="user-tags"> トランプ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%88%E3%83%AC%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-tags"> トレーニング <span class="count">(36)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%8D%E3%82%BF/" data-gtm-click-label="user-tags"> ネタ <span class="count">(23)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF/" data-gtm-click-label="user-tags"> ネットワーク <span class="count">(22)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9/" data-gtm-click-label="user-tags"> ビジネス <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E9%80%81%E4%BF%A1/" data-gtm-click-label="user-tags"> ファイル送信 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0/" data-gtm-click-label="user-tags"> フォーム <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%95%E3%83%AA%E3%83%BC%E3%83%A9%E3%83%B3%E3%82%B9/" data-gtm-click-label="user-tags"> フリーランス <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF/" data-gtm-click-label="user-tags"> フレームワーク <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89/" data-gtm-click-label="user-tags"> フロントエンド <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%96%E3%83%A9%E3%82%B7/" data-gtm-click-label="user-tags"> ブラシ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%96%E3%83%AD%E3%82%B0/" data-gtm-click-label="user-tags"> ブログ <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%97%E3%83%AC%E3%82%BC%E3%83%B3/" data-gtm-click-label="user-tags"> プレゼン <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%97%E3%83%AC%E3%82%BC%E3%83%B3%E3%83%88/" data-gtm-click-label="user-tags"> プレゼント <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-tags"> プログラミング <span class="count">(144)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88/" data-gtm-click-label="user-tags"> マネジメント <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-tags"> マーケティング <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%A1%E3%83%BC%E3%83%AB/" data-gtm-click-label="user-tags"> メール <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%A9%E3%82%A4%E3%83%95%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB/" data-gtm-click-label="user-tags"> ライフスタイル <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%AA%E3%83%83%E3%82%AF%E3%83%87%E3%82%A3%E3%82%A2%E3%82%B9/" data-gtm-click-label="user-tags"> リックディアス <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF/" data-gtm-click-label="user-tags"> リモートワーク <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%AC%E3%82%BF%E3%83%83%E3%83%81/" data-gtm-click-label="user-tags"> レタッチ <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%AD%E3%83%9C%E3%83%83%E3%83%88/" data-gtm-click-label="user-tags"> ロボット <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%AF%E3%83%BC%E3%82%AD%E3%83%B3%E3%82%B0%EF%BC%9A%E5%B1%95%E7%A4%BA%E4%BC%9A/" data-gtm-click-label="user-tags"> ワーキング:展示会 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E4%B8%8D%E5%8B%95%E7%94%A3/" data-gtm-click-label="user-tags"> 不動産 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E4%BA%8B%E4%BB%B6/" data-gtm-click-label="user-tags"> 事件 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E4%BB%95%E4%BA%8B/" data-gtm-click-label="user-tags"> 仕事 <span class="count">(131)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E4%BC%9A%E7%A4%BE/" data-gtm-click-label="user-tags"> 会社 <span class="count">(39)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E4%BE%BF%E5%88%A9/" data-gtm-click-label="user-tags"> 便利 <span class="count">(18)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E4%BF%9D%E9%99%BA/" data-gtm-click-label="user-tags"> 保険 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%81%A5%E5%BA%B7/" data-gtm-click-label="user-tags"> 健康 <span class="count">(52)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%86%8D%E5%88%A9%E7%94%A8/" data-gtm-click-label="user-tags"> 再利用 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%86%99%E7%9C%9F/" data-gtm-click-label="user-tags"> 写真 <span class="count">(17)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%89%AF%E6%A5%AD/" data-gtm-click-label="user-tags"> 副業 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%8A%B9%E6%9E%9C/" data-gtm-click-label="user-tags"> 効果 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%8B%89%E5%BC%B7/" data-gtm-click-label="user-tags"> 勉強 <span class="count">(38)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%8B%95%E7%94%BB/" data-gtm-click-label="user-tags"> 動画 <span class="count">(38)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%8D%B0%E5%88%B7/" data-gtm-click-label="user-tags"> 印刷 <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%8D%B0%E5%88%B7%E4%BC%9A%E7%A4%BE/" data-gtm-click-label="user-tags"> 印刷会社 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%90%8D%E5%88%BA/" data-gtm-click-label="user-tags"> 名刺 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%95%86%E7%94%A8%E5%8F%AF/" data-gtm-click-label="user-tags"> 商用可 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%9C%B0%E5%9B%B3/" data-gtm-click-label="user-tags"> 地図 <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%9C%B0%E5%9F%9F%E6%83%85%E5%A0%B1/" data-gtm-click-label="user-tags"> 地域情報 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%AD%90%E4%BE%9B/" data-gtm-click-label="user-tags"> 子供 <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%AE%87%E5%AE%99/" data-gtm-click-label="user-tags"> 宇宙 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%AE%AE%E5%B4%8E%E9%A7%BF/" data-gtm-click-label="user-tags"> 宮崎駿 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%AE%B6%E5%85%B7/" data-gtm-click-label="user-tags"> 家具 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%AE%B6%E6%97%8F/" data-gtm-click-label="user-tags"> 家族 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%AE%B6%E9%9B%BB/" data-gtm-click-label="user-tags"> 家電 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%AF%8C%E9%87%8E%E7%94%B1%E6%82%A0%E5%AD%A3/" data-gtm-click-label="user-tags"> 富野由悠季 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%B0%B1%E8%81%B7/" data-gtm-click-label="user-tags"> 就職 <span class="count">(19)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%B7%A5%E4%BD%9C/" data-gtm-click-label="user-tags"> 工作 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%BA%83%E5%91%8A/" data-gtm-click-label="user-tags"> 広告 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%BA%97/" data-gtm-click-label="user-tags"> 店 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%BB%BA%E7%AF%89/" data-gtm-click-label="user-tags"> 建築 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%BC%95%E8%B6%8A%E3%81%97/" data-gtm-click-label="user-tags"> 引越し <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%81%8B%E6%84%9B/" data-gtm-click-label="user-tags"> 恋愛 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%88%A6%E4%BA%89/" data-gtm-click-label="user-tags"> 戦争 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%8A%95%E8%B3%87/" data-gtm-click-label="user-tags"> 投資 <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%90%BA%E5%B8%AF/" data-gtm-click-label="user-tags"> 携帯 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%94%BE%E5%B0%84%E8%83%BD%E6%B1%9A%E6%9F%93/" data-gtm-click-label="user-tags"> 放射能汚染 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%94%BF%E6%B2%BB/" data-gtm-click-label="user-tags"> 政治 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%95%99%E8%82%B2/" data-gtm-click-label="user-tags"> 教育 <span class="count">(35)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%95%B0%E5%AD%A6/" data-gtm-click-label="user-tags"> 数学 <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%96%99%E7%90%86/" data-gtm-click-label="user-tags"> 料理 <span class="count">(64)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%96%B0%E5%9E%8B%E3%82%B3%E3%83%AD%E3%83%8A%E3%82%A6%E3%82%A4%E3%83%AB%E3%82%B9/" data-gtm-click-label="user-tags"> 新型コロナウイルス <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%98%A0%E7%94%BB/" data-gtm-click-label="user-tags"> 映画 <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%9C%AC/" data-gtm-click-label="user-tags"> 本 <span class="count">(33)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%9D%B1%E5%8C%97%E5%9C%B0%E6%96%B9%E5%A4%AA%E5%B9%B3%E6%B4%8B%E6%B2%96%E5%9C%B0%E9%9C%87/" data-gtm-click-label="user-tags"> 東北地方太平洋沖地震 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%A4%9C%E7%B4%A2/" data-gtm-click-label="user-tags"> 検索 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/" data-gtm-click-label="user-tags"> 機械学習 <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%A9%9F%E8%83%BD%E6%8B%A1%E5%BC%B5/" data-gtm-click-label="user-tags"> 機能拡張 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%AC%B2%E3%81%97%E3%81%84%E3%82%82%E3%81%AE/" data-gtm-click-label="user-tags"> 欲しいもの <span class="count">(23)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE/" data-gtm-click-label="user-tags"> 正規表現 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%AD%B4%E5%8F%B2/" data-gtm-click-label="user-tags"> 歴史 <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%BC%AB%E7%94%BB/" data-gtm-click-label="user-tags"> 漫画 <span class="count">(31)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%81%BD%E5%AE%B3/" data-gtm-click-label="user-tags"> 災害 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%8F%8D%E3%82%B9%E3%83%9D/" data-gtm-click-label="user-tags"> 珍スポ <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%94%9F%E6%B4%BB/" data-gtm-click-label="user-tags"> 生活 <span class="count">(118)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%94%BB%E5%83%8F/" data-gtm-click-label="user-tags"> 画像 <span class="count">(21)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90/" data-gtm-click-label="user-tags"> 画像生成 <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%9D%A1%E7%9C%A0/" data-gtm-click-label="user-tags"> 睡眠 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%A4%BE%E4%BC%9A/" data-gtm-click-label="user-tags"> 社会 <span class="count">(28)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%A7%91%E5%AD%A6/" data-gtm-click-label="user-tags"> 科学 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%A8%8E%E9%87%91/" data-gtm-click-label="user-tags"> 税金 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%AB%B6%E3%83%97%E3%83%AD/" data-gtm-click-label="user-tags"> 競プロ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%B4%A0%E6%9D%90/" data-gtm-click-label="user-tags"> 素材 <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%B5%8C%E5%96%B6/" data-gtm-click-label="user-tags"> 経営 <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%B5%8C%E6%B8%88/" data-gtm-click-label="user-tags"> 経済 <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%B5%B1%E8%A8%88/" data-gtm-click-label="user-tags"> 統計 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%B5%B5/" data-gtm-click-label="user-tags"> 絵 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%BE%8E%E5%AE%B9/" data-gtm-click-label="user-tags"> 美容 <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%80%83%E3%81%88%E6%96%B9/" data-gtm-click-label="user-tags"> 考え方 <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%84%B3/" data-gtm-click-label="user-tags"> 脳 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%87%AA%E4%BD%9CPC/" data-gtm-click-label="user-tags"> 自作PC <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%87%AA%E8%BB%A2%E8%BB%8A/" data-gtm-click-label="user-tags"> 自転車 <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%8B%B1%E8%AA%9E/" data-gtm-click-label="user-tags"> 英語 <span class="count">(41)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%A6%B3%E5%85%89/" data-gtm-click-label="user-tags"> 観光 <span class="count">(44)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%A8%80%E8%91%89/" data-gtm-click-label="user-tags"> 言葉 <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%A8%AD%E8%A8%88/" data-gtm-click-label="user-tags"> 設計 <span class="count">(41)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%AA%AD%E3%81%BF%E7%89%A9/" data-gtm-click-label="user-tags"> 読み物 <span class="count">(46)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%B3%87%E6%96%99/" data-gtm-click-label="user-tags"> 資料 <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%B3%87%E6%A0%BC/" data-gtm-click-label="user-tags"> 資格 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%B5%B7%E6%A5%AD/" data-gtm-click-label="user-tags"> 起業 <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%BB%8A/" data-gtm-click-label="user-tags"> 車 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%BB%A2%E8%81%B7/" data-gtm-click-label="user-tags"> 転職 <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%BC%B8%E5%85%A5%E6%A5%AD/" data-gtm-click-label="user-tags"> 輸入業 <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-tags"> 開発 <span class="count">(207)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83/" data-gtm-click-label="user-tags"> 開発環境 <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%9A%9C%E5%AE%B3/" data-gtm-click-label="user-tags"> 障害 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%9B%91%E5%AD%A6/" data-gtm-click-label="user-tags"> 雑学 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%9B%91%E8%B2%A8/" data-gtm-click-label="user-tags"> 雑貨 <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%9B%BB%E5%AD%90%E5%B7%A5%E4%BD%9C/" data-gtm-click-label="user-tags"> 電子工作 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%9B%BB%E5%AD%90%E6%9B%B8%E7%B1%8D/" data-gtm-click-label="user-tags"> 電子書籍 <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%9F%B3%E6%A5%BD/" data-gtm-click-label="user-tags"> 音楽 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%A3%B2%E3%81%BF%E4%BC%9A/" data-gtm-click-label="user-tags"> 飲み会 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%A3%B2%E9%A3%9F%E5%BA%97/" data-gtm-click-label="user-tags"> 飲食店 <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%AB%98%E6%A0%A1%E9%87%8E%E7%90%83/" data-gtm-click-label="user-tags"> 高校野球 <span class="count">(1)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-tags"> あとで読む <span class="count">(268)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" data-gtm-click-label="user-tags"> webサービス <span class="count">(242)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-tags"> 開発 <span class="count">(207)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-tags"> プログラミング <span class="count">(144)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/%E4%BB%95%E4%BA%8B/" data-gtm-click-label="user-tags"> 仕事 <span class="count">(131)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/music/" data-gtm-click-label="user-tags"> music <span class="count">(124)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/%E7%94%9F%E6%B4%BB/" data-gtm-click-label="user-tags"> 生活 <span class="count">(118)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/%E3%81%BE%E3%81%A8%E3%82%81/" data-gtm-click-label="user-tags"> まとめ <span class="count">(93)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/Web%E5%88%B6%E4%BD%9C/" data-gtm-click-label="user-tags"> Web制作 <span class="count">(92)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/design/" data-gtm-click-label="user-tags"> design <span class="count">(89)</span> </a> </li> </ul> <p class="centerarticle-sub-navi-more"> <button type="button" class="js-display-all-tags" data-gtm-click-label="user-tags-show-all">タグをすべて表示</button> </p> </div> <div class="centerarticle-sidebar-menu"> <h3 class="centerarticle-aside-title">関連タグで絞り込む (12)</h3> <ul class="centerarticle-sub-navi"> <li> <a href="/shunt_i/DB/AWS/" > AWS </a> </li> <li> <a href="/shunt_i/DB/CS/" > CS </a> </li> <li> <a href="/shunt_i/DB/DDD/" > DDD </a> </li> <li> <a href="/shunt_i/DB/docker/" > docker </a> </li> <li> <a href="/shunt_i/DB/Laravel/" > Laravel </a> </li> <li> <a href="/shunt_i/DB/mysql/" > mysql </a> </li> <li> <a href="/shunt_i/DB/sql/" > sql </a> </li> <li> <a href="/shunt_i/DB/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" > あとで読む </a> </li> <li> <a href="/shunt_i/DB/%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0/" > アルゴリズム </a> </li> <li> <a href="/shunt_i/DB/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9/" > データベース </a> </li> <li> <a href="/shunt_i/DB/%E8%A8%AD%E8%A8%88/" > 設計 </a> </li> <li> <a href="/shunt_i/DB/%E9%96%8B%E7%99%BA/" > 開発 </a> </li> </ul> <p class="centerarticle-sub-navi-more"> <a href="/shunt_i/bookmark">タグの絞り込みを解除</a> </p> </div> </div> <div class="center-container"> <div class="centerarticle-title-container"> <h2 class="centerarticle-title"> DBに関するshunt_iのブックマーク (40) </h2> </div> <div class="js-user-bookmark-item-autoload-container" data-next-page-path="/shunt_i/DB/?page=2" data-next-xhr-path="/api/users/shunt_i/bookmarks?tag=DB&page=2" data-next-label="次のページ" > <script type="text/x-template" id="template-short-url-click"> {{#tweet_url}} <a href="{{tweet_url}}" target="_blank" rel="noopener noreferrer" data-gtm-click-label="reaction-twitter-clicks"><span>{{count}} clicks</span></a> {{/tweet_url}} {{^tweet_url}} <span>{{count}} clicks</span> {{/tweet_url}} </script> <script type="text/x-template" id="template-bookmark-item"> {{^is_wiped}} <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="{{url}}"> <div class="centerarticle-entry {{#has_image}}is-image-entry-unit{{/has_image}}"> <h3 class="centerarticle-entry-title"> <a href="{{url}}" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener{{#noreferrer}} noreferrer{{/noreferrer}}" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="{{favicon_url}}" alt="">{{title}}</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="{{page_url}}" class="js-keyboard-entry-page-openable" title="{{title}} ({{total_bookmarks}}ブックマーク)" data-gtm-click-label="user-bookmark-users">{{total_bookmarks_with_user_postfix}}</a> </span> </li> <li> <a href="/shunt_i/{{url_query}}" title="『{{root_title}}』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> {{root_title}} </a> </li> {{#is_categorized}} <li><a href="{{category_path}}" data-gtm-click-label="user-bookmark-category">{{category_title}}</a></li> {{/is_categorized}} </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">{{{summary_with_keyword_links}}}</p> {{#has_image}} <a href="{{canonical_url}}" class="centerarticle-entry-image" target="_blank" rel="noopener{{#noreferrer}} noreferrer{{/noreferrer}}" data-gtm-click-label="user-bookmark-thumb"> <img src="{{image_url}}" alt="{{title}}"> </a> {{/has_image}} </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-{{location_id}}"> <div class="centerarticle-reaction-comment js-user-bookmark-comment {{badge_icon}}" data-url="{{url}}" data-user-name="{{author_name}}"> <a href="{{top_page_path}}" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="{{profile_icon_url}}" alt="{{author_name}}" title="{{author_name}}" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="{{anchor_url}}" class="js-anchor-path" data-gtm-click-label="user-reaction-username">{{author_name}}</a></span> <span class="centerarticle-reaction-timestamp">{{created}}</span> <span class="js-private-icon status {{#is_public}}is-hidden{{/is_public}}"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">{{{comment_expanded}}}</span> <ul class="centerarticle-reaction-tags js-tag-text"> {{#tags}} <li><a href="/{{author_name}}/{{escaped_label}}/" data-gtm-click-label="user-reaction-tag">{{label}}</a></li> {{/tags}} </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="{{#is_bookmark}}comment-permalink{{/is_bookmark}}{{^is_bookmark}}original-permalink{{/is_bookmark}} js-comment-permalink"> <a href="{{comment_page_path}}" data-gtm-click-label="user-reaction-permalink" rel="{{#should_nofollow}}nofollow{{/should_nofollow}}">{{#is_bookmark}}リスト{{/is_bookmark}}{{^is_bookmark}}リンク{{/is_bookmark}}</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> {{#following_bookmarks}} <li> <a href="{{anchor_url}}" class="following-bookmark-link" data-gtm-click-label="user-bookmark-following-bookmarker-icon"> <img src="{{profile_icon_url}}" alt="{{author_name}}" class="following-bookmark-icon" > </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{author_name}}</span><span class="following-bookmark-timestamp">{{created}}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags"> {{ #tags }}<li>{{ label }}</li>{{ /tags }} </ul> </span> </span> </li> {{/following_bookmarks}} {{#following_bookmarks.length}} <li class="centerarticle-reaction-following-more"><button type="button" class="js-show-all-following-bookmarks" data-gtm-click-label="user-bookmark-showall-following-bookmarks">すべて表示</button></li> {{/following_bookmarks.length}} </ul> <div class="js-user-following-bookmarks-detail is-hidden"> {{#following_bookmarks}} <div class="centerarticle-reaction-comment js-user-bookmark-comment {{badge_icon}}" data-url="{{url}}" data-user-name="{{author_name}}"> <a href="{{top_page_path}}" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="{{profile_icon_url}}" alt="{{author_name}}" title="{{author_name}}" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="{{anchor_url}}" class="js-anchor-path" data-gtm-click-label="user-reaction-username">{{author_name}}</a></span> <span class="centerarticle-reaction-timestamp">{{created}}</span> <span class="js-private-icon status {{#is_public}}is-hidden{{/is_public}}"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">{{{comment_expanded}}}</span> <ul class="centerarticle-reaction-tags js-tag-text"> {{#tags}} <li><a href="/{{author_name}}/{{escaped_label}}/" data-gtm-click-label="user-reaction-tag">{{label}}</a></li> {{/tags}} </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="{{#is_bookmark}}comment-permalink{{/is_bookmark}}{{^is_bookmark}}original-permalink{{/is_bookmark}} js-comment-permalink"> <a href="{{comment_page_path}}" data-gtm-click-label="user-reaction-permalink" rel="{{#should_nofollow}}nofollow{{/should_nofollow}}">{{#is_bookmark}}リスト{{/is_bookmark}}{{^is_bookmark}}リンク{{/is_bookmark}}</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> {{/following_bookmarks}} </div> </li> {{/is_wiped}} </script> <script type="text/x-template" id="template-following-bookmarker-icon"> <li> <a href="{{anchor_url}}" class="following-bookmark-link" data-gtm-click-label="user-bookmark-following-bookmarker-icon"> <img src="{{profile_icon_url}}" alt="{{author_name}}" class="following-bookmark-icon" > </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{author_name}}</span><span class="following-bookmark-timestamp">{{created}}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags"> {{ #tags }}<li>{{ label }}</li>{{ /tags }} </ul> </span> </span> </li> </script> <script type="text/x-template" id="template-bookmark-item-editor"> <div class="centerarticle-entry {{#has_image}}is-image-entry-unit{{/has_image}}"> <h3 class="centerarticle-entry-title"> <a href="{{url}}" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener{{#noreferrer}} noreferrer{{/noreferrer}}" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="{{favicon_url}}" alt="">{{title}}</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="{{page_url}}" class="js-keyboard-entry-page-openable" title="{{title}} ({{total_bookmarks}}ブックマーク)" data-gtm-click-label="user-bookmark-users">{{total_bookmarks_with_user_postfix}}</a> </span> </li> <li> <a href="/shunt_i/{{url_query}}" title="『{{root_title}}』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> {{root_title}} </a> </li> {{#is_categorized}} <li><a href="{{category_path}}" data-gtm-click-label="user-bookmark-category">{{category_title}}</a></li> {{/is_categorized}} </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">{{{summary_with_keyword_links}}}</p> {{#has_image}} <a href="{{canonical_url}}" class="centerarticle-entry-image" target="_blank" rel="noopener{{#noreferrer}} noreferrer{{/noreferrer}}" data-gtm-click-label="user-bookmark-thumb"> <img src="{{image_url}}" alt="{{title}}"> </a> {{/has_image}} </div> </div> </script> <script type="text/x-template" id="template-bookmark-pager"> <li> <div class="centerarticle-pager"> <span class="centerarticle-waiting js-read-more-waiting is-hidden"><img src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/common/loading@2x.gif" alt="残りのブックマークを読み込んでいます" width="16" height="16" /></span> {{#previous}} <a href="{{page_path}}">{{label}}</a> {{/previous}} {{#pages}} {{#page_path}} <span><a href="{{page_path}}">{{label}}</a></span> {{/page_path}} {{^page_path}} <span>{{label}}</span> {{/page_path}} {{/pages}} {{#next}} <a href="{{page_path}}">{{label}}</a> {{/next}} </div> </li> </script> <ul class="js-user-bookmark-item-list js-keyboard-controllable-container"> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://blog.engineer.adways.net/entry/2024/11/15/120000"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://blog.engineer.adways.net/entry/2024/11/15/120000" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fblog.engineer.adways.net%2Fentry%2F2024%2F11%2F15%2F120000" alt="">【MySQL】メジャーバージョンアップグレードの味方: “アップグレードチェッカーユーティリティ”を理解して活用しよう - Adwaysエンジニアブログ</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/blog.engineer.adways.net/entry/2024/11/15/120000" class="js-keyboard-entry-page-openable" title="【MySQL】メジャーバージョンアップグレードの味方: “アップグレードチェッカーユーティリティ”を理解して活用しよう - Adwaysエンジニアブログ (58ブックマーク)" data-gtm-click-label="user-bookmark-users">58 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fblog.engineer.adways.net%2F" title="『blog.engineer.adways.net』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> blog.engineer.adways.net </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">あいさつ こんにちは! <a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%8A%80%E8%A1%93">技術</a><a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>部 <a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%8A%80%E8%A1%93">技術</a>戦略Div. リード<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2">エンジニア</a>の関根です! 2024年9月にジョインして、コツコツSRE活動を進めておりますっ <a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2">エンジニア</a>3年目ながらSREにゴリゴリ関われているのは、アドウェイズにオープンなコミュニケーションの<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%96%87%E5%8C%96">文化</a>があるおかげです。SREに少しでも興味がある人は、お待ちしておりますよ! 最近、<a data-gtm-click-label="entry-summary-keyword" href="/q/Netflix">Netflix</a>、アマプラ、U-NEXTに加えて<a data-gtm-click-label="entry-summary-keyword" href="/q/Apple">Apple</a>TVも契約してしまいました笑 <a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%98%A0%E7%94%BB">映画</a>やドラマの話しましょうね! あとお酒が大好きなので、社内外問わず飲みに行きましょうね!! この記事はなに? この記事は、<a data-gtm-click-label="entry-summary-keyword" href="/q/mysql">MySQL</a>メジャーバージョンアップグレード時にアップグレードチェッカーユーティリティ(以下、アップグレードチェッカー)を理解して活用することで、効率的にアップグレードを進めるための情報を記載しています。 SREとして、EOL対応屋さん的な動きをコツコツやっ</p> <a href="https://blog.engineer.adways.net/entry/2024/11/15/120000" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/2c3281ddf8d711d1db7e5c2ae7aa1f461c9e2709/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Ff2becf45ded975251b79dcfff7ec2cd62de0704a%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FA%252FAdwaysEngineerBlog%252F20241114%252F20241114225905.png" alt="【MySQL】メジャーバージョンアップグレードの味方: “アップグレードチェッカーユーティリティ”を理解して活用しよう - Adwaysエンジニアブログ"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4762045013041203008"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://blog.engineer.adways.net/entry/2024/11/15/120000" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20241117#bookmark-4762045013041203008" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2024/11/17</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> <li><a href="/shunt_i/mysql/" data-gtm-click-label="user-reaction-tag">mysql</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4762045013041203008/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://devblog.thebase.in/entry/2024/06/05/110000"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://devblog.thebase.in/entry/2024/06/05/110000" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fdevblog.thebase.in%2Fentry%2F2024%2F06%2F05%2F110000" alt="">explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/devblog.thebase.in/entry/2024/06/05/110000" class="js-keyboard-entry-page-openable" title="explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ (191ブックマーク)" data-gtm-click-label="user-bookmark-users">191 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fdevblog.thebase.in%2F" title="『devblog.thebase.in』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> devblog.thebase.in </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">はじめに こんにちは、バックエンド<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2">エンジニア</a>のSakiです!バックエンドで<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>を書いたり、<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>という言語そのもののメンテナーもしています。 この度、注文データダウンロードAppのパフォーマンスをアップさせるため、とても入念にデータベースまわりの処理を見直しました。その中でも特に速度に関わってくる「index」についての考え方をまとめたいと思います。 この記事は<a data-gtm-click-label="entry-summary-keyword" href="/q/mysql">MySQL</a>(Inno<a data-gtm-click-label="entry-summary-keyword" href="/q/DB">DB</a>)についての記事であり、他の<a data-gtm-click-label="entry-summary-keyword" href="/q/RDB">RDB</a>については当てはまらない場合もあるということにご注意ください。 indexとは何か、おさらい ご存知の方ももちろん多いと思いますが、indexについておさらいさせてください。 indexとは辞書でいうところの目次に相当するもので、目的のデータをいち早く検索するために重要なものです。もし辞書に目次が存在しなかった場合、目的の情報を探すのにとても苦労するだろうというのは想像しや</p> <a href="https://devblog.thebase.in/entry/2024/06/05/110000" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/9faecc86c869272f4e373c665b7c8c134a99410c/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F10328537792370962182%2F6801883189111675111%2F1717552800" alt="explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4754465865089109120"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://devblog.thebase.in/entry/2024/06/05/110000" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20240605#bookmark-4754465865089109120" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2024/06/05</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> <li><a href="/shunt_i/sql/" data-gtm-click-label="user-reaction-tag">sql</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4754465865089109120/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://zenn.dev/s3i7h/articles/12f25ca61fe02a"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/s3i7h/articles/12f25ca61fe02a" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Fs3i7h%2Farticles%2F12f25ca61fe02a" alt="">RDBの主キー、UUID使った方がいいの?(DDD, CleanArchitecture対応)</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/s3i7h/articles/12f25ca61fe02a" class="js-keyboard-entry-page-openable" title="RDBの主キー、UUID使った方がいいの?(DDD, CleanArchitecture対応) (123ブックマーク)" data-gtm-click-label="user-bookmark-users">123 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fzenn.dev%2Fs3i7h" title="『zenn.dev/s3i7h』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> zenn.dev/s3i7h </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">結論 お手軽モノリスならAutoIn<a data-gtm-click-label="entry-summary-keyword" href="/q/CRE">cre</a>mentが効率的だしこれでいいよ アプリケーション側で主キーを生成したい場合はL<a data-gtm-click-label="entry-summary-keyword" href="/q/UI">UI</a>Dを作る必要があるよ。<a data-gtm-click-label="entry-summary-keyword" href="/q/gui">GUI</a>Dで大は小を兼ねよう 主キーで<a data-gtm-click-label="entry-summary-keyword" href="/q/gui">GUI</a>Dを使うなら<a data-gtm-click-label="entry-summary-keyword" href="/q/ulid">ULID</a>よりも<a data-gtm-click-label="entry-summary-keyword" href="/q/uuid">UUID</a>v7がおすすめだよ ただし分散されているエンジンによっては<a data-gtm-click-label="entry-summary-keyword" href="/q/uuid">UUID</a>v4の方が効率的になる場合もあるよ 主キーは原則公開しない方がいいよ <a data-gtm-click-label="entry-summary-keyword" href="/q/uuid">UUID</a>v7や<a data-gtm-click-label="entry-summary-keyword" href="/q/ulid">ULID</a>はユニーク性を持ったInstant(time<a data-gtm-click-label="entry-summary-keyword" href="/q/stamp">stamp</a>)としても使えるよ 分散されたシステムでは厳密な時系列性を担保することはできないよ、あきらめてロックをかけつつ連番を一か所で生成しよう <a data-gtm-click-label="entry-summary-keyword" href="/q/RDB">RDB</a>のPrimary Key(主キー)とは? <a data-gtm-click-label="entry-summary-keyword" href="/q/mysql">MySQL</a>、Po<a data-gtm-click-label="entry-summary-keyword" href="/q/stg">stg</a>re<a data-gtm-click-label="entry-summary-keyword" href="/q/SQL">sQL</a>などの<a data-gtm-click-label="entry-summary-keyword" href="/q/RDB">RDB</a>では各レコードを識別するために一意な値を必要とします。これをPrimary Key(主キー)と呼びます。別のカラムにUNIQUEなInd</p> <a href="https://zenn.dev/s3i7h/articles/12f25ca61fe02a" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/959ee9fa9a17ac79f702e5dac2bb5d8b54057f18/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--YPhMNOc1--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3ARDB%2525E3%252581%2525AE%2525E4%2525B8%2525BB%2525E3%252582%2525AD%2525E3%252583%2525BC%2525E3%252580%252581UUID%2525E4%2525BD%2525BF%2525E3%252581%2525A3%2525E3%252581%25259F%2525E6%252596%2525B9%2525E3%252581%25258C%2525E3%252581%252584%2525E3%252581%252584%2525E3%252581%2525AE%2525EF%2525BC%25259F%252528DDD%25252C%252520CleanArchitecture%2525E5%2525AF%2525BE%2525E5%2525BF%25259C%252529%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Ayu-ichiro%252528s3i7h%252529%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzM1NWY5NWMwMTkuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="RDBの主キー、UUID使った方がいいの?(DDD, CleanArchitecture対応)"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4753827670158624576"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://zenn.dev/s3i7h/articles/12f25ca61fe02a" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20240524#bookmark-4753827670158624576" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2024/05/24</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> <li><a href="/shunt_i/DDD/" data-gtm-click-label="user-reaction-tag">DDD</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4753827670158624576/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://gihyo.jp/article/2024/05/practical-sql-query-tuning"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://gihyo.jp/article/2024/05/practical-sql-query-tuning" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fgihyo.jp%2Farticle%2F2024%2F05%2Fpractical-sql-query-tuning" alt="">[Software Design連動企画] 実践クエリチューニング | gihyo.jp</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/gihyo.jp/article/2024/05/practical-sql-query-tuning" class="js-keyboard-entry-page-openable" title="[Software Design連動企画] 実践クエリチューニング | gihyo.jp (46ブックマーク)" data-gtm-click-label="user-bookmark-users">46 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fgihyo.jp%2F" title="『gihyo.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> gihyo.jp </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">この記事は、『Software Design 2024年6月号』(2024年5月17日発売)の第1特集「<a data-gtm-click-label="entry-summary-keyword" href="/q/SQL">SQL</a>チューニングする前に知っておきたい 実行計画&インデックスのしくみ」の連動企画です。ぜひ<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>誌特集1もお読みください。 適切なインデックスを設計する インデックスの調整によるクエリの高速化は、<a data-gtm-click-label="entry-summary-keyword" href="/q/RDBMS">RDBMS</a>を使用する際の数あるチューニングテクニックの中でも最もお手軽なものです。テーブルのカラムの定義を変えるわけではないので、クエリの結果に違いが生じず、アプリケーションを変更する必要性がないからです。適切なインデックスを付与するだけでチューニングが済むというのは極めて効率的です。それでは適切なインデックスとはどのようなものでしょうか。<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>記事では、まずインデックスを設計する際に重要なポイントを解説します。 インデックスと<a data-gtm-click-label="entry-summary-keyword" href="/q/SQL">SQL</a>構文 「どのカラムの組み合わせに対してインデックスを作成すべきか」</p> <a href="https://gihyo.jp/article/2024/05/practical-sql-query-tuning" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/ff93d8d3a6fad0da4202a3d02dd6fc49c5c5e24f/height=288;version=1;width=512/https%3A%2F%2Fgihyo.jp%2Fassets%2Fimages%2FICON%2F2024%2F2279_sql.jpg" alt="[Software Design連動企画] 実践クエリチューニング | gihyo.jp"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4753579894424185984"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://gihyo.jp/article/2024/05/practical-sql-query-tuning" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20240518#bookmark-4753579894424185984" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2024/05/18</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">MySQLのクエリチューニング/これ読んで本誌も買った</span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> <li><a href="/shunt_i/sql/" data-gtm-click-label="user-reaction-tag">sql</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4753579894424185984/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://mickindex.sakura.ne.jp/database/idx_database.html"> <div class="centerarticle-entry "> <h3 class="centerarticle-entry-title"> <a href="https://mickindex.sakura.ne.jp/database/idx_database.html" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fmickindex.sakura.ne.jp%2Fdatabase%2Fidx_database.html" alt="">リレーショナル・データベースの世界</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/mickindex.sakura.ne.jp/database/idx_database.html" class="js-keyboard-entry-page-openable" title="リレーショナル・データベースの世界 (2037ブックマーク)" data-gtm-click-label="user-bookmark-users">2037 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fmickindex.sakura.ne.jp%2F" title="『mickindex.sakura.ne.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> mickindex.sakura.ne.jp </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">序文 私の<a data-gtm-click-label="entry-summary-keyword" href="/q/%E4%BB%95%E4%BA%8B">仕事</a>は、<a data-gtm-click-label="entry-summary-keyword" href="/q/DB">DB</a><a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2">エンジニア</a>です。といっても別に望んでデータベースの世界へきたわけではなく、当初、私はこの分野が面白くありませんでした。「Web系は花形、データベースは日陰」という言葉も囁かれていました。今でも囁かれているかもしれません。 ですが、しばらくデータベースを触っているうちに、私はこの世界にとても興味深いテーマが多くあることを知りました。なぜもっと早く気づかなかったのか、後悔することしきりです。 もちろん、自分の不明が最大の原因ですが、この世界に足を踏み入れた当時、先生も、導きの書となる入門書もなかったことも事実です。 今でこそバイブルと仰ぐ『プログラマのための<a data-gtm-click-label="entry-summary-keyword" href="/q/SQL">SQL</a> 第2版』も新入社員には敷居が高すぎました (2015年2月追記:その後、自分で第4版を訳出できたのだから、 <a data-gtm-click-label="entry-summary-keyword" href="/q/%E4%BA%BA%E7%94%9F">人生</a>は何があるか分からないものです)。 そこで、です。このサイトの目的は、データベースの世界に足を踏み</p> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4730852864744557444"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://mickindex.sakura.ne.jp/database/idx_database.html" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20240301#bookmark-4730852864744557444" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2024/03/01</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4730852864744557444/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://www.dbpilot.io/duckdb"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://www.dbpilot.io/duckdb" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.dbpilot.io%2Fduckdb" alt="">DB Pilot - DuckDB GUI Client</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.dbpilot.io/duckdb" class="js-keyboard-entry-page-openable" title="DB Pilot - DuckDB GUI Client (216ブックマーク)" data-gtm-click-label="user-bookmark-users">216 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fwww.dbpilot.io%2F" title="『www.dbpilot.io』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> www.dbpilot.io </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">Duck<a data-gtm-click-label="entry-summary-keyword" href="/q/DB">DB</a> <a data-gtm-click-label="entry-summary-keyword" href="/q/gui">GUI</a> Client <a data-gtm-click-label="entry-summary-keyword" href="/q/DB">DB</a> Pilot is a <a data-gtm-click-label="entry-summary-keyword" href="/q/Database">database</a> <a data-gtm-click-label="entry-summary-keyword" href="/q/gui">GUI</a> client for Duck<a data-gtm-click-label="entry-summary-keyword" href="/q/DB">DB</a> and various other <a data-gtm-click-label="entry-summary-keyword" href="/q/Database">database</a>s. Av<a data-gtm-click-label="entry-summary-keyword" href="/q/ai">ai</a>la<a data-gtm-click-label="entry-summary-keyword" href="/q/BL">bl</a>e for <a data-gtm-click-label="entry-summary-keyword" href="/q/mac">Mac</a>, w<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>h <a data-gtm-click-label="entry-summary-keyword" href="/q/Linux">Linux</a> and <a data-gtm-click-label="entry-summary-keyword" href="/q/Windows">Windows</a> support coming soon. Working w<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>h <a data-gtm-click-label="entry-summary-keyword" href="/q/SQL">SQL</a> has never been ea<a data-gtm-click-label="entry-summary-keyword" href="/q/sier">sier</a> - thanks to <a data-gtm-click-label="entry-summary-keyword" href="/q/DB">DB</a> Pilot's integrated <a data-gtm-click-label="entry-summary-keyword" href="/q/ai">AI</a> assistant.</p> <a href="https://www.dbpilot.io/duckdb" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/9c6817955ace3288bf72ef8143a7d6bb972d383d/height=288;version=1;width=512/https%3A%2F%2Fwww.dbpilot.io%2Fog-image.png" alt="DB Pilot - DuckDB GUI Client"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4748815876585753152"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://www.dbpilot.io/duckdb" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20240205#bookmark-4748815876585753152" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2024/02/05</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">DB client for Mac</span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4748815876585753152/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://zenn.dev/reiwatravel/articles/9ce1050bf8509b"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/reiwatravel/articles/9ce1050bf8509b" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Freiwatravel%2Farticles%2F9ce1050bf8509b" alt="">MySQLでUUIDv4をプライマリキーにするとパフォーマンス問題が起きるのはなぜ?(N回目)</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/reiwatravel/articles/9ce1050bf8509b" class="js-keyboard-entry-page-openable" title="MySQLでUUIDv4をプライマリキーにするとパフォーマンス問題が起きるのはなぜ?(N回目) (199ブックマーク)" data-gtm-click-label="user-bookmark-users">199 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fzenn.dev%2Freiwatravel" title="『zenn.dev/reiwatravel』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> zenn.dev/reiwatravel </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">はじめに こんにちは、令和トラベルでバックエンド<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2">エンジニア</a>をしている飯沼です。 <a data-gtm-click-label="entry-summary-keyword" href="/q/mysql">MySQL</a>では、<a data-gtm-click-label="entry-summary-keyword" href="/q/uuid">UUID</a> (v4)などのランダム性の高いIDをプライマリキーに設定すると、パフォーマンスが低下すると言われています。私自身もこの問題については認識しておりアンチパターンとして避けて来ましたが、イマイチ理由を理解できず何度も調べていたので自分の理解を整理しました。 ※ この記事は令和トラベルの<a data-gtm-click-label="entry-summary-keyword" href="/q/tech">Tech</a> LT会で共有した内容を記事にしたものです。社外の方にもご参加いただける<a data-gtm-click-label="entry-summary-keyword" href="/q/tech">Tech</a> LT会は connpass にて告知しています。 <a data-gtm-click-label="entry-summary-keyword" href="/q/uuid">UUID</a>をプライマリキーにするユースケース そもそも<a data-gtm-click-label="entry-summary-keyword" href="/q/uuid">UUID</a>をプライマリキーにするユースケースはどのようなものがあるのでしょうか? いくつかの観点から考えてみます。 パフォーマンス観点 大量の同時書き込みが発生するような状況でauto in<a data-gtm-click-label="entry-summary-keyword" href="/q/CRE">cre</a>mentを利用してIDを発</p> <a href="https://zenn.dev/reiwatravel/articles/9ce1050bf8509b" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/5804e6a80a408bec7220199921fb6d2d80425b4c/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--gYHkcYw5--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3AMySQL%2525E3%252581%2525A7UUIDv4%2525E3%252582%252592%2525E3%252583%252597%2525E3%252583%2525A9%2525E3%252582%2525A4%2525E3%252583%25259E%2525E3%252583%2525AA%2525E3%252582%2525AD%2525E3%252583%2525BC%2525E3%252581%2525AB%2525E3%252581%252599%2525E3%252582%25258B%2525E3%252581%2525A8%2525E3%252583%252591%2525E3%252583%252595%2525E3%252582%2525A9%2525E3%252583%2525BC%2525E3%252583%25259E%2525E3%252583%2525B3%2525E3%252582%2525B9%2525E5%252595%25258F%2525E9%2525A1%25258C%2525E3%252581%25258C%2525E8%2525B5%2525B7%2525E3%252581%25258D%2525E3%252582%25258B%2525E3%252581%2525AE%2525E3%252581%2525AF%2525E3%252581%2525AA%2525E3%252581%25259C%2525EF%2525BC%25259F%2525EF%2525BC%252588N%2525E5%25259B%25259E%2525E7%25259B%2525AE%2525EF%2525BC%252589%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_34%3AShumpei%252520IINUMA%252Cx_220%252Cy_108%2Fbo_3px_solid_rgb%3Ad6e3ed%252Cg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2M1ZWFiNjc3MGMuanBlZw%3D%3D%252Cr_20%252Cw_90%252Cx_92%252Cy_102%2Fco_rgb%3A6e7b85%252Cg_south_west%252Cl_text%3Anotosansjp-medium.otf_30%3A%2525E4%2525BB%2525A4%2525E5%252592%25258C%2525E3%252583%252588%2525E3%252583%2525A9%2525E3%252583%252599%2525E3%252583%2525AB%252520Tech%252520Blog%252Cx_220%252Cy_160%2Fbo_4px_solid_white%252Cg_south_west%252Ch_50%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUFjSFR0ZkZrYzJwUHZmSk00a2Jub2FESFFIWk83cFdNR1djeWpwUnEzOUdKRW9JQXc9czk2LWM%3D%252Cr_max%252Cw_50%252Cx_139%252Cy_84%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="MySQLでUUIDv4をプライマリキーにするとパフォーマンス問題が起きるのはなぜ?(N回目)"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4747994705538632367"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://zenn.dev/reiwatravel/articles/9ce1050bf8509b" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20240118#bookmark-4747994705538632367" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2024/01/18</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4747994705538632367/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://ocw.tsukuba.ac.jp/course/systeminformation/database-systems-i/"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://ocw.tsukuba.ac.jp/course/systeminformation/database-systems-i/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Focw.tsukuba.ac.jp%2Fcourse%2Fsysteminformation%2Fdatabase-systems-i%2F" alt="">データベース概論Ⅰ | 筑波大学オープンコースウェア|TSUKUBA OCW | 北川博之</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/ocw.tsukuba.ac.jp/course/systeminformation/database-systems-i/" class="js-keyboard-entry-page-openable" title="データベース概論Ⅰ | 筑波大学オープンコースウェア|TSUKUBA OCW | 北川博之 (999ブックマーク)" data-gtm-click-label="user-bookmark-users">999 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Focw.tsukuba.ac.jp%2F" title="『ocw.tsukuba.ac.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> ocw.tsukuba.ac.jp </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">データベースシステムに関する入門。データベースの基<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>概念、データモデリング、リレーショナルデータモデル、データベース言語<a data-gtm-click-label="entry-summary-keyword" href="/q/SQL">SQL</a>、リレーショナルデータベース設計論、物理的データ格納法、問合せ処理等について講述する。 (2018年度) 【教科書】 「データベースシステム」(北川博之著、オーム社) 北川 博之筑波大学 計算科学研究センター教授1978年東京大学理学部物理学科卒業。1980年同大学理学系研究科修士課程修了。日<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>電気(株)勤務の後、筑波大学電子・情報工学系講師、同助教授を経て、現在、筑波大学計算科学研究センター教授。理学博士(東京大学)。データベース、データ統合、データマイニング、ストリーム処理、情報検索、ビッグデータ等の研究に従事。著書「データベースシステム」(オーム社)等。日<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>データベース学会会長、ACM SI<a data-gtm-click-label="entry-summary-keyword" href="/q/GMO">GMO</a>D日<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>支部委員長等を歴任。情報処理学会フェロー、電子情報通信学会</p> <a href="https://ocw.tsukuba.ac.jp/course/systeminformation/database-systems-i/" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/fd2efe931bb4cb3338a088123377bdab6c68ea31/height=288;version=1;width=512/https%3A%2F%2Focw.tsukuba.ac.jp%2Fwp%2Fwp-content%2Fuploads%2F2018%2F04%2Fd45351da65f4e707c46f44c029d1be9f.png" alt="データベース概論Ⅰ | 筑波大学オープンコースウェア|TSUKUBA OCW | 北川博之"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4675075896491768162"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://ocw.tsukuba.ac.jp/course/systeminformation/database-systems-i/" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20240102#bookmark-4675075896491768162" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2024/01/02</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4675075896491768162/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://qiita.com/kunit/items/7f5883121a621a775e53"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/kunit/items/7f5883121a621a775e53" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fkunit%2Fitems%2F7f5883121a621a775e53" alt="">MySQL 5.7 から 8.0 にしたらテストが激遅になった - Qiita</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/kunit/items/7f5883121a621a775e53" class="js-keyboard-entry-page-openable" title="MySQL 5.7 から 8.0 にしたらテストが激遅になった - Qiita (318ブックマーク)" data-gtm-click-label="user-bookmark-users">318 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fqiita.com%2Fkunit" title="『qiita.com/kunit』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> qiita.com/kunit </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">この記事は、株式会社カオナビ Advent Calendar <a data-gtm-click-label="entry-summary-keyword" href="/q/2023">2023</a> の3日目です。 はじめに 株式会社カオナビの高橋(@kun<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>)です。 今回は <a data-gtm-click-label="entry-summary-keyword" href="/q/mysql">MySQL</a> バージョンアップ(5.7 -> 8.0) で起きた問題とそれに対してどのように対処したのかを書いていこうと思います。 何が起きたのか <a data-gtm-click-label="entry-summary-keyword" href="/q/mysql">MySQL</a> 5.7 から 8.0 にバージョンアップをするにあたって、CI およびローカル環境でテストができるように <a data-gtm-click-label="entry-summary-keyword" href="/q/mysql">MySQL</a> 8.0 のイメージを作成し、それをつかって各機能の担当者にテストを開始してもらっていたのですが、以下のような事が起きました。 接続を <a data-gtm-click-label="entry-summary-keyword" href="/q/mysql">MySQL</a> 5.7 から 8.0 に切り替えただけでテストの時間が3倍くらいかかるようになった そこを変更するだけで3倍遅くなるってやばいぞということで報告してくれた担当者と同じテストを自分でも実施してみると再現性があり、それが以下のどの</p> <a href="https://qiita.com/kunit/items/7f5883121a621a775e53" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/db256a9515918f51257cb996b78cef22525cfb8f/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9TXlTUUwlMjA1LjclMjAlRTMlODElOEIlRTMlODIlODklMjA4LjAlMjAlRTMlODElQUIlRTMlODElOTclRTMlODElOUYlRTMlODIlODklRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODElOEMlRTYlQkYlODAlRTklODElODUlRTMlODElQUIlRTMlODElQUElRTMlODElQTMlRTMlODElOUYmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWExMzI0OTEyOTM4MDY0ZTU2MzIwYjZlNmI3N2RjMzhl%26mark-x%3D120%26mark-y%3D96%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBrdW5pdCZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YzBmZTI4Yjg4NjBlYTEyYjA0YmY3NDNlYjFjYjNlNzc%26blend-x%3D120%26blend-y%3D445%26blend-mode%3Dnormal%26txt64%3DaW4g5qCq5byP5Lya56S-44Kr44Kq44OK44OT%26txt-width%3D972%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%25233A3C3C%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D134%26txt-y%3D546%26s%3Dfa29dfd44ee4906a64750169cb56859a" alt="MySQL 5.7 から 8.0 にしたらテストが激遅になった - Qiita"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4745865833754283247"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://qiita.com/kunit/items/7f5883121a621a775e53" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20231203#bookmark-4745865833754283247" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2023/12/03</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> <li><a href="/shunt_i/docker/" data-gtm-click-label="user-reaction-tag">docker</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4745865833754283247/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://tech.iimon.co.jp/entry/2023/12/01/113000"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://tech.iimon.co.jp/entry/2023/12/01/113000" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Ftech.iimon.co.jp%2Fentry%2F2023%2F12%2F01%2F113000" alt="">MySQLで全文検索機能を使う際のパフォーマンスについて調査してみた - iimon TECH BLOG</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/tech.iimon.co.jp/entry/2023/12/01/113000" class="js-keyboard-entry-page-openable" title="MySQLで全文検索機能を使う際のパフォーマンスについて調査してみた - iimon TECH BLOG (60ブックマーク)" data-gtm-click-label="user-bookmark-users">60 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Ftech.iimon.co.jp%2F" title="『tech.iimon.co.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> tech.iimon.co.jp </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">こんにちは、CTOの森です。iimonは今回が初のアドベントカレンダー参加です! <a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>記事はiimonアドベントカレンダー1日目の記事となります。 はじめに 検証した環境 <a data-gtm-click-label="entry-summary-keyword" href="/q/mysql">MySQL</a>/mecabのインストール 大量のデータを入れる 1レコードのINSERTにかかった時間 検索してみる 検索文字列が「出来事」の場合 インデックスなし N-gram(bi-gram) IN NATURAL LANGUAGE MODE IN BOOLEAN MODE MeCab IN NATURAL LANGUAGE MODE IN BOOLEAN MODE 検索文字列が「チューリングはロンドンのリッチモンドに住み」の場合 まとめ 参照したサイト 最後に はじめに 今回は<a data-gtm-click-label="entry-summary-keyword" href="/q/mysql">MySQL</a>で全文検索機能を使う際のパフォーマンスについて書こうと思います! 全文検索をちゃんと使うのであればElasticsearchやSolrな</p> <a href="https://tech.iimon.co.jp/entry/2023/12/01/113000" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/52e23dac6dd29b6714ca3c3e5e3c31dbf2942db5/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F6801883189062156672%2F6801883189062407818%2F1701409352" alt="MySQLで全文検索機能を使う際のパフォーマンスについて調査してみた - iimon TECH BLOG"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4745798132153159343"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://tech.iimon.co.jp/entry/2023/12/01/113000" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20231201#bookmark-4745798132153159343" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2023/12/01</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4745798132153159343/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://zenn.dev/hmarui66/articles/b87d6be351d6e2"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/hmarui66/articles/b87d6be351d6e2" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Fhmarui66%2Farticles%2Fb87d6be351d6e2" alt="">入門 B-link tree</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/hmarui66/articles/b87d6be351d6e2" class="js-keyboard-entry-page-openable" title="入門 B-link tree (109ブックマーク)" data-gtm-click-label="user-bookmark-users">109 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fzenn.dev%2Fhmarui66" title="『zenn.dev/hmarui66』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> zenn.dev/hmarui66 </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">概要 <a data-gtm-click-label="entry-summary-keyword" href="/q/DB">DB</a>MS で広く利用されている B+ tree には様々な variant が存在するが、B-link tree もその1つ。 シンプルなラッチプロトコルで並行アクセスをさばけるよう、リーフノード以外のノードにも右の隣接ノードへのポインタを持たせた構造となっており、Po<a data-gtm-click-label="entry-summary-keyword" href="/q/stg">stg</a>re<a data-gtm-click-label="entry-summary-keyword" href="/q/SQL">SQL</a> で使われていることでも有名。 この記事では主にこの B-link tree に焦点を当てる。 B+ tree 全般やその他インデックス<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%8A%80%E8%A1%93">技術</a>自体に興味がある場合は「最強<a data-gtm-click-label="entry-summary-keyword" href="/q/DB">DB</a>講義 #10 いまどきのデータベース索引<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%8A%80%E8%A1%93">技術</a>(石川佳治 教授)」の講義資料を読むのがおすすめ。 B-link tree 理解する上で必須な知識「ラッチ」 「ラッチ」というのはいわゆるロックのことだが、<a data-gtm-click-label="entry-summary-keyword" href="/q/DB">DB</a> においては「ロック」というとトランザクション分離のための高価な(数千<a data-gtm-click-label="entry-summary-keyword" href="/q/CPU">CPU</a>サイクルを要する)処理を指すことが多く、「ラッチ」という</p> <a href="https://zenn.dev/hmarui66/articles/b87d6be351d6e2" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/7a3d64fcabc337a8549915cc5832e76d60701345/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--2c5eeKCp--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_72%3A%2525E5%252585%2525A5%2525E9%252596%252580%252520B-link%252520tree%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Ahmarui66%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzRlN2Q4YjdmMzIuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="入門 B-link tree"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4742922052024204015"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://zenn.dev/hmarui66/articles/b87d6be351d6e2" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20230930#bookmark-4742922052024204015" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2023/09/30</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> <li><a href="/shunt_i/%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0/" data-gtm-click-label="user-reaction-tag">アルゴリズム</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4742922052024204015/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://www.sqlchat.ai/"> <div class="centerarticle-entry "> <h3 class="centerarticle-entry-title"> <a href="https://www.sqlchat.ai/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.sqlchat.ai%2F" alt="">SQL Chat</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.sqlchat.ai/" class="js-keyboard-entry-page-openable" title="SQL Chat (352ブックマーク)" data-gtm-click-label="user-bookmark-users">352 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fwww.sqlchat.ai%2F" title="『www.sqlchat.ai』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> www.sqlchat.ai </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">Chat-based <a data-gtm-click-label="entry-summary-keyword" href="/q/SQL">SQL</a> Client and Ed<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>or for the next decade</p> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4735400682388380293"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://www.sqlchat.ai/" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20230717#bookmark-4735400682388380293" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2023/07/17</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4735400682388380293/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://speakerdeck.com/myamagishi/miao-jian-10000-rikuesutowo-jian-dan-ni-inasugemusabawo-laravel-dezuo-rushe-ji"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://speakerdeck.com/myamagishi/miao-jian-10000-rikuesutowo-jian-dan-ni-inasugemusabawo-laravel-dezuo-rushe-ji" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fspeakerdeck.com%2Fmyamagishi%2Fmiao-jian-10000-rikuesutowo-jian-dan-ni-inasugemusabawo-laravel-dezuo-rushe-ji" alt="">秒間 10,000 リクエストを "簡単に"いなすゲームサーバーを Laravel で作る設計</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/speakerdeck.com/myamagishi/miao-jian-10000-rikuesutowo-jian-dan-ni-inasugemusabawo-laravel-dezuo-rushe-ji" class="js-keyboard-entry-page-openable" title="秒間 10,000 リクエストを "簡単に"いなすゲームサーバーを Laravel で作る設計 (262ブックマーク)" data-gtm-click-label="user-bookmark-users">262 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fspeakerdeck.com%2Fmyamagishi" title="『speakerdeck.com/myamagishi』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> speakerdeck.com/myamagishi </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">1秒間に <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a> が受信する HTTP リクエストが最大 10,000 回以上——— そんな世界が存在します。その一つが 「ソーシャル<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%B2%E3%83%BC%E3%83%A0">ゲーム</a>」 です。メンテナンスが明けた瞬間、イベントが始まった・終わる瞬間、様々なタイミングで<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%B2%E3%83%BC%E3%83%A0">ゲーム</a>サーバーは瞬間的に高負荷になります。もちろん、サービスをリリースし P…</p> <a href="https://speakerdeck.com/myamagishi/miao-jian-10000-rikuesutowo-jian-dan-ni-inasugemusabawo-laravel-dezuo-rushe-ji" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/e76f4714ffb2a036e765cf8b2feec9cb8a4ad94a/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F8efed2188f8c4cb59fbb385ab0addf7e%2Fslide_0.jpg%3F26133772" alt="秒間 10,000 リクエストを "簡単に"いなすゲームサーバーを Laravel で作る設計"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4739090465928012229"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://speakerdeck.com/myamagishi/miao-jian-10000-rikuesutowo-jian-dan-ni-inasugemusabawo-laravel-dezuo-rushe-ji" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20230710#bookmark-4739090465928012229" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2023/07/10</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/Laravel/" data-gtm-click-label="user-reaction-tag">Laravel</a></li> <li><a href="/shunt_i/%E8%A8%AD%E8%A8%88/" data-gtm-click-label="user-reaction-tag">設計</a></li> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4739090465928012229/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://zenn.dev/forcia_tech/articles/202304_db_rapid_search_strategy"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/forcia_tech/articles/202304_db_rapid_search_strategy" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Fforcia_tech%2Farticles%2F202304_db_rapid_search_strategy" alt="">検索が爆速になるデータベース設計を公開します</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/forcia_tech/articles/202304_db_rapid_search_strategy" class="js-keyboard-entry-page-openable" title="検索が爆速になるデータベース設計を公開します (795ブックマーク)" data-gtm-click-label="user-bookmark-users">795 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fzenn.dev%2Fforcia_tech" title="『zenn.dev/forcia_tech』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> zenn.dev/forcia_tech </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">こんにちは。<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2">エンジニア</a>の谷井です。 フォルシアでは、Spookと呼んでいる<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%8A%80%E8%A1%93">技術</a>基盤を用いて、主に<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%97%85%E8%A1%8C">旅行</a>業界やMRO業界に対して、膨大で複雑なデータを高速検索できるアプリケーションを提供しています。 今回はその高速検索のノウハウのうち、特に<a data-gtm-click-label="entry-summary-keyword" href="/q/DB">DB</a>の扱いに関連する部分について、ベテラン<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2">エンジニア</a>へのインタビューを通してそのエッセンスをまとめてみました。 一般的なベストプラクティスだけでなく、検索性能を高めることに特化しためずらしいアプローチもあるので、ぜひご覧ください。 フォルシアにおける検索<a data-gtm-click-label="entry-summary-keyword" href="/q/DB">DB</a>について まず前提としてフォルシアで扱うデータについて軽く説明します。 扱うデータの複雑さ たとえば、<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%97%85%E8%A1%8C">旅行</a>会社向けのアプリケーションであれば、宿泊素材の情報としては ホテルの情報「〇〇ホテル」(~約2万件) プランの情報「朝<a data-gtm-click-label="entry-summary-keyword" href="/q/%E9%A3%9F">食</a>付き・ロングステイ△△プラン」(0~1500件/施設) 客室の情報(~100件/</p> <a href="https://zenn.dev/forcia_tech/articles/202304_db_rapid_search_strategy" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/44a46fbc40f59ae739239cc1aee0200baedac378/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--MDkRNwME--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E6%2525A4%25259C%2525E7%2525B4%2525A2%2525E3%252581%25258C%2525E7%252588%252586%2525E9%252580%25259F%2525E3%252581%2525AB%2525E3%252581%2525AA%2525E3%252582%25258B%2525E3%252583%252587%2525E3%252583%2525BC%2525E3%252582%2525BF%2525E3%252583%252599%2525E3%252583%2525BC%2525E3%252582%2525B9%2525E8%2525A8%2525AD%2525E8%2525A8%252588%2525E3%252582%252592%2525E5%252585%2525AC%2525E9%252596%25258B%2525E3%252581%252597%2525E3%252581%2525BE%2525E3%252581%252599%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_34%3AFORCIA%252520Tech%252520Blog%252520%2525E9%252581%25258B...%252Cx_220%252Cy_108%2Fbo_3px_solid_rgb%3Ad6e3ed%252Cg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2QyMDIwOGYzMDMuanBlZw%3D%3D%252Cr_20%252Cw_90%252Cx_92%252Cy_102%2Fco_rgb%3A6e7b85%252Cg_south_west%252Cl_text%3Anotosansjp-medium.otf_30%3AFORCIA%252520Tech%252520Blog%252Cx_220%252Cy_160%2Fbo_4px_solid_white%252Cg_south_west%252Ch_50%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2NkZmRkZTQ5MGUuanBlZw%3D%3D%252Cr_max%252Cw_50%252Cx_139%252Cy_84%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="検索が爆速になるデータベース設計を公開します"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4735749939091158149"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://zenn.dev/forcia_tech/articles/202304_db_rapid_search_strategy" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20230429#bookmark-4735749939091158149" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2023/04/29</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> <li><a href="/shunt_i/%E8%A8%AD%E8%A8%88/" data-gtm-click-label="user-reaction-tag">設計</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4735749939091158149/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://speakerdeck.com/mixi_engineers/2022-sql-training"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://speakerdeck.com/mixi_engineers/2022-sql-training" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fspeakerdeck.com%2Fmixi_engineers%2F2022-sql-training" alt="">データベース研修(SQL基礎編)【ミクシィ22新卒技術研修】</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/speakerdeck.com/mixi_engineers/2022-sql-training" class="js-keyboard-entry-page-openable" title="データベース研修(SQL基礎編)【ミクシィ22新卒技術研修】 (309ブックマーク)" data-gtm-click-label="user-bookmark-users">309 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fspeakerdeck.com%2Fmixi_engineers" title="『speakerdeck.com/mixi_engineers』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> speakerdeck.com/mixi_engineers </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">22新卒<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%8A%80%E8%A1%93">技術</a>研修で実施したデータベース研修(<a data-gtm-click-label="entry-summary-keyword" href="/q/SQL">SQL</a>演習編)の講義資料です。 動画:https://youtu.be/dseGQ2MZF1U 演習用<a data-gtm-click-label="entry-summary-keyword" href="/q/colab">Colab</a> <a data-gtm-click-label="entry-summary-keyword" href="/q/note">Note</a>book https://<a data-gtm-click-label="entry-summary-keyword" href="/q/colab">colab</a>.research.<a data-gtm-click-label="entry-summary-keyword" href="/q/google">google</a>.com/<a data-gtm-click-label="entry-summary-keyword" href="/q/github">github</a>/mixigroup/<a data-gtm-click-label="entry-summary-keyword" href="/q/2022">2022</a>Begi…</p> <a href="https://speakerdeck.com/mixi_engineers/2022-sql-training" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/35af91f97cfe5cc3d4f3fee011c7693aab1f14af/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F06712529ccd940928958b12e20c25916%2Fslide_0.jpg%3F21213771" alt="データベース研修(SQL基礎編)【ミクシィ22新卒技術研修】"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4720322575187819362"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://speakerdeck.com/mixi_engineers/2022-sql-training" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20230126#bookmark-4720322575187819362" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2023/01/26</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/sql/" data-gtm-click-label="user-reaction-tag">sql</a></li> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> <li><a href="/shunt_i/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4720322575187819362/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://mickindex.sakura.ne.jp/database/db_optimize.html"> <div class="centerarticle-entry "> <h3 class="centerarticle-entry-title"> <a href="https://mickindex.sakura.ne.jp/database/db_optimize.html" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fmickindex.sakura.ne.jp%2Fdatabase%2Fdb_optimize.html" alt="">SQLを速くするぞ―お手軽パフォーマンス・チューニング</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/mickindex.sakura.ne.jp/database/db_optimize.html" class="js-keyboard-entry-page-openable" title="SQLを速くするぞ―お手軽パフォーマンス・チューニング (637ブックマーク)" data-gtm-click-label="user-bookmark-users">637 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fmickindex.sakura.ne.jp%2F" title="『mickindex.sakura.ne.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> mickindex.sakura.ne.jp </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">このサイトでは、<a data-gtm-click-label="entry-summary-keyword" href="/q/SQL">SQL</a> を高速化するためのちょっとしたパフォーマンス・チューニングの<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%8A%80%E8%A1%93">技術</a>を紹介します。と言っても、『プログラマのための<a data-gtm-click-label="entry-summary-keyword" href="/q/SQL">SQL</a> 第2版』の受け売りがほとんどなので、この<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>を読んでいただければ、<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>稿を読む必要はありません。 最初に、パフォーマンス・チューニングに関する全体の方針を述べておくと、それはボトルネック(一番遅いところ)を改善することです。当たり前ですが、既に十分速い処理をもっと速くしたところで、システム全体のパフォーマンスには影響しません。従って「処理が遅い」と感じたら、最初にすることは、<a data-gtm-click-label="entry-summary-keyword" href="/q/SQL">SQL</a> やアプリの改修ではなく、「どこが遅いのか」を調査することです。いきなりあてずっぽうで改善をはじめても効果は出ません。医者が患者を診るとき最初にすることが検査であるのと同じです。病因が何であるかを突き止めてからでないと、正しい処方はできないのです。 その基<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>を承知していただいた</p> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4730831249775141220"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://mickindex.sakura.ne.jp/database/db_optimize.html" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20230113#bookmark-4730831249775141220" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2023/01/13</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> <li><a href="/shunt_i/sql/" data-gtm-click-label="user-reaction-tag">sql</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4730831249775141220/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://qiita.com/KNR109/items/5d4a1954f3e8fd8eaae7"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/KNR109/items/5d4a1954f3e8fd8eaae7" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2FKNR109%2Fitems%2F5d4a1954f3e8fd8eaae7" alt="">【入門】データベース設計まとめ - Qiita</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/KNR109/items/5d4a1954f3e8fd8eaae7" class="js-keyboard-entry-page-openable" title="【入門】データベース設計まとめ - Qiita (134ブックマーク)" data-gtm-click-label="user-bookmark-users">134 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fqiita.com%2FKNR109" title="『qiita.com/KNR109』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> qiita.com/KNR109 </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">はじめに 今回はデータベース設計について学び直したので内容をまとめていきます。 自分は2021年に新卒でWeb系の開発会社にフロント<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2">エンジニア</a>として入社し<a data-gtm-click-label="entry-summary-keyword" href="/q/2022">2022</a>年で2年目になります。 実務では<a data-gtm-click-label="entry-summary-keyword" href="/q/Next.js">Next.js</a>×<a data-gtm-click-label="entry-summary-keyword" href="/q/TypeScript">TypeScript</a>を利用したフロントの開発をメインで行っています。 直近の開発案件で<a data-gtm-click-label="entry-summary-keyword" href="/q/rails">Rails</a>を使ったサーバーサイドの開発を担当することになり、<a data-gtm-click-label="entry-summary-keyword" href="/q/DB">DB</a>設計を触ったのですが体系的な理解をしていなかったので苦戦をしました。 実装はできたものの、データベース設計を「なんとなくの理解」で終わらせないように、体系的に学び直しました。 データベース設計の学習に関しては下記の書籍を参考に進めました。 スッキリわかる<a data-gtm-click-label="entry-summary-keyword" href="/q/SQL">SQL</a>入門 達人に学ぶ<a data-gtm-click-label="entry-summary-keyword" href="/q/DB">DB</a>設計 徹底指南書 対象者 データベース設計について基礎から学びたい人 何となくデータベースの設計をしている人 正規化について学びたい人 データベースと<a data-gtm-click-label="entry-summary-keyword" href="/q/DB">DB</a>MS</p> <a href="https://qiita.com/KNR109/items/5d4a1954f3e8fd8eaae7" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/3b420c88956cc2a82673251ec5cdc1e10a4f3beb/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgwJTkwJUU1JTg1JUE1JUU5JTk2JTgwJUUzJTgwJTkxJUUzJTgzJTg3JUUzJTgzJUJDJUUzJTgyJUJGJUUzJTgzJTk5JUUzJTgzJUJDJUUzJTgyJUI5JUU4JUE4JUFEJUU4JUE4JTg4JUUzJTgxJUJFJUUzJTgxJUE4JUUzJTgyJTgxJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz01NDMzY2VhZTcwMThiMzQxYjYxM2M1YmRjZmU0Y2IyNQ%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBLTlIxMDkmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTc1MTIyZWM1OTMwY2ViNzVjZTk1MWExNzU5MTFkYjhk%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4g5qCq5byP5Lya56S-44K144O844OJ44K544Kz44O844OX%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%25231E2121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3D345591cfa84828f14c488b27a864ea56" alt="【入門】データベース設計まとめ - Qiita"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4723616828154229090"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://qiita.com/KNR109/items/5d4a1954f3e8fd8eaae7" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20220813#bookmark-4723616828154229090" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2022/08/13</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4723616828154229090/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://qiita.com/hankehly/items/8f2e2e692c1acfdd9a39"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/hankehly/items/8f2e2e692c1acfdd9a39" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fhankehly%2Fitems%2F8f2e2e692c1acfdd9a39" alt="">ドキュメントDBかリレーショナルDBどっち使う? - Qiita</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/hankehly/items/8f2e2e692c1acfdd9a39" class="js-keyboard-entry-page-openable" title="ドキュメントDBかリレーショナルDBどっち使う? - Qiita (295ブックマーク)" data-gtm-click-label="user-bookmark-users">295 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fqiita.com%2Fhankehly" title="『qiita.com/hankehly』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> qiita.com/hankehly </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">{ "id": "bbc16639-c082-47e8-b9c0-2d59579c7336", "first_name": "taro", "last_name": "momo", "last<a data-gtm-click-label="entry-summary-keyword" href="/q/log">Log</a>gedIn": "<a data-gtm-click-label="entry-summary-keyword" href="/q/2022">2022</a>-07-31T06:03:37+00:00", "<a data-gtm-click-label="entry-summary-keyword" href="/q/EM">em</a><a data-gtm-click-label="entry-summary-keyword" href="/q/ai">ai</a>l": "taro@example.com", "skills": [ {"name": "<a data-gtm-click-label="entry-summary-keyword" href="/q/Python">python</a>"}, {"name": "<a data-gtm-click-label="entry-summary-keyword" href="/q/golang">golang</a>"}, {"name": "<a data-gtm-click-label="entry-summary-keyword" href="/q/%E8%8B%B1%E8%AA%9E">英語</a>"} ], "work_history": [ { "company": "E<a data-gtm-click-label="entry-summary-keyword" href="/q/NEC">NEC</a>HANGE", "pos<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>ion": "Software Developer", "start_date": "2018-03-26", "end_date": null }, { "company": "Company Inc.", "pos<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>ion"</p> <a href="https://qiita.com/hankehly/items/8f2e2e692c1acfdd9a39" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/0b529d0fd52ea4ee028c831e6d60f5e51d71cfbe/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20lMkYwJTJGMjUyNTU3OSUyRnByb2ZpbGUtaW1hZ2VzJTJGMTY4NjU0NDA4ND9peGxpYj1yYi00LjAuMCZhcj0xJTNBMSZmaXQ9Y3JvcCZtYXNrPWVsbGlwc2UmZm09cG5nMzImcz1hNzY1YWNmMzdlYjgwOWI1YjU5Y2RiNDBhMWExYzkxYw%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253Df4dd79e60351c56ea8ef2fe56736672c%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JUUzJTgzJTg5JUUzJTgyJUFEJUUzJTgzJUE1JUUzJTgzJUExJUUzJTgzJUIzJUUzJTgzJTg4REIlRTMlODElOEIlRTMlODMlQUElRTMlODMlQUMlRTMlODMlQkMlRTMlODIlQjclRTMlODMlQTclRTMlODMlOEElRTMlODMlQUJEQiVFMyU4MSVBOSVFMyU4MSVBMyVFMyU4MSVBMSVFNCVCRCVCRiVFMyU4MSU4NiVFRiVCQyU5RiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1wYWQ9MCZzPTAxYTk4ZWNmZWZkNWQyMjA3MThkNGMwODM2MWY5YzA0%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDBoYW5rZWhseSZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1wYWQ9MCZzPTFmMmQ0NTNjMGJkMGFlOTlmMjk2MzNkZmU2OGE3OTEx%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3D13853c1025559930578f1d6ac48eee97" alt="ドキュメントDBかリレーショナルDBどっち使う? - Qiita"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4723380715414156546"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://qiita.com/hankehly/items/8f2e2e692c1acfdd9a39" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20220811#bookmark-4723380715414156546" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2022/08/11</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4723380715414156546/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://qiita.com/ryamate/items/3779418172c4f5a83212"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/ryamate/items/3779418172c4f5a83212" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fryamate%2Fitems%2F3779418172c4f5a83212" alt="">ER図の作図について、 Draw.io, PlantUML, Mermaid を比較してみる。(VSCode拡張機能など) - Qiita</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/ryamate/items/3779418172c4f5a83212" class="js-keyboard-entry-page-openable" title="ER図の作図について、 Draw.io, PlantUML, Mermaid を比較してみる。(VSCode拡張機能など) - Qiita (316ブックマーク)" data-gtm-click-label="user-bookmark-users">316 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fqiita.com%2Fryamate" title="『qiita.com/ryamate』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> qiita.com/ryamate </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">はじめに データベース設計のER図について、<a data-gtm-click-label="entry-summary-keyword" href="/q/VSCode">VSCode</a>などで作成する以下3つの方法を比較した記事です。 <a data-gtm-click-label="entry-summary-keyword" href="/q/Draw.io">Draw.io</a> PlantUML <a data-gtm-click-label="entry-summary-keyword" href="/q/mermaid">Mermaid</a> 以前、Webアプリケーションを作成した際には、 <a data-gtm-click-label="entry-summary-keyword" href="/q/Draw.io">Draw.io</a> を使用して、作図しました。 (そのアプリのER図を今回サンプル図としています) 最近、 PlantUML を利用するようになり、ER図や、シーケンス図、クラス図の作図に利用しているのですが、とても編集しやすいと感じています。 ただ、どのツールにも、一長一短あるかと思いますので、それぞれ以下目次の内容を書いて、ご紹介したいと思います。 目次 1. <a data-gtm-click-label="entry-summary-keyword" href="/q/Draw.io">Draw.io</a> 1-1. <a data-gtm-click-label="entry-summary-keyword" href="/q/VSCode">VSCode</a>での使い方 1-2. ER図 1-3. 感想 2. PlantUML 2-1. <a data-gtm-click-label="entry-summary-keyword" href="/q/VSCode">VSCode</a>での使い方 2-2. ER図 2-3. 感想 3. <a data-gtm-click-label="entry-summary-keyword" href="/q/mermaid">Mermaid</a> 3-1. <a data-gtm-click-label="entry-summary-keyword" href="/q/VSCode">VSCode</a>での使い方</p> <a href="https://qiita.com/ryamate/items/3779418172c4f5a83212" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/3c0f3255429b1159a3f23e29fd7de352030deef3/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnMzLWFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20lMkZxaWl0YS1pbWFnZS1zdG9yZSUyRjAlMkY1MjcyMjYlMkZmYTk0NGE3ZTAyYjgwMWY0MmVlM2FlNTAyNDA1ZTk3YmFjMTM0Y2ZhJTJGeF9sYXJnZS5wbmclM0YxNjU4ODE0MzE2P2l4bGliPXJiLTQuMC4wJmFyPTElM0ExJmZpdD1jcm9wJm1hc2s9ZWxsaXBzZSZmbT1wbmczMiZzPTgyZDAyNDY1MjM4OWFkOGU0MTkwMDkwMzQzOGUwZGY1%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253Dcab6c1e3b05d4ef06e3059c21dcece67%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9RVIlRTUlOUIlQjMlRTMlODElQUUlRTQlQkQlOUMlRTUlOUIlQjMlRTMlODElQUIlRTMlODElQTQlRTMlODElODQlRTMlODElQTYlRTMlODAlODElMjBEcmF3LmlvJTJDJTIwUGxhbnRVTUwlMkMlMjBNZXJtYWlkJTIwJUUzJTgyJTkyJUU2JUFGJTk0JUU4JUJDJTgzJUUzJTgxJTk3JUUzJTgxJUE2JUUzJTgxJUJGJUUzJTgyJThCJUUzJTgwJTgyJUVGJUJDJTg4VlNDb2RlJUU2JThCJUExJUU1JUJDJUI1JUU2JUE5JTlGJUU4JTgzJUJEJUUzJTgxJUFBJUUzJTgxJUE5JUVGJUJDJTg5JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LXBhZD0wJnM9ZTdhNDQzNGI1ODcyMWI2YWY4YmJlMDE0OWFhNmQ4YWE%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDByeWFtYXRlJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LXBhZD0wJnM9YTMwZDIxYTY5NTcyNGU0ODRiMmExZDNlZDhhZDZiMjc%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3D611912f7f9379e29f71f462685fdf73d" alt="ER図の作図について、 Draw.io, PlantUML, Mermaid を比較してみる。(VSCode拡張機能など) - Qiita"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4723102132944277954"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://qiita.com/ryamate/items/3779418172c4f5a83212" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20220731#bookmark-4723102132944277954" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2022/07/31</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> <li><a href="/shunt_i/%E8%A8%AD%E8%A8%88/" data-gtm-click-label="user-reaction-tag">設計</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4723102132944277954/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://eng-blog.iij.ad.jp/archives/13937"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://eng-blog.iij.ad.jp/archives/13937" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Feng-blog.iij.ad.jp%2Farchives%2F13937" alt="">ファイル書き込みをするプログラムで気をつけた方がよいこと | IIJ Engineers Blog</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/eng-blog.iij.ad.jp/archives/13937" class="js-keyboard-entry-page-openable" title="ファイル書き込みをするプログラムで気をつけた方がよいこと | IIJ Engineers Blog (426ブックマーク)" data-gtm-click-label="user-bookmark-users">426 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Feng-blog.iij.ad.jp%2F" title="『eng-blog.iij.ad.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> eng-blog.iij.ad.jp </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">この記事について この記事では、ファイルに書き込みを行うプログラムを実装する時の注意点について説明します。 ファイル書き込みは、プログラミングにおいて比較的よく利用される機能でありながら、実装時に注意していないと、システムクラッシュ(意図しない電源の喪失や OS のクラッシュ等)後にファイル上のデータが整合性を失う可能性、平たく言えば、データが破損する場合があります。 今回の主な内容はトランザクションに関連する事柄で、ご存知の方からすると当たり前と思われることだと思われますが、執筆者がプログラミングの勉強を始めて以降知らない期間が長かったことと、他にもご存知ない方がある程度いらっしゃるのではないかと思ったため、このように記事にさせていただきました。 また、ここで説明する注意点は、クラッシュ後にデータの整合性が重要でない場合は、気を付ける必要がないものであることを先に書いておきます。 先にこ</p> <a href="https://eng-blog.iij.ad.jp/archives/13937" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/c416602c20442eebdb6a91becbc0d01ca2925ef3/height=288;version=1;width=512/https%3A%2F%2Feng-blog.iij.ad.jp%2Fwp-content%2Fuploads%2F2022%2F06%2Fa11b4bb3ba448d1fa402ac3dc62cc91f-4.png" alt="ファイル書き込みをするプログラムで気をつけた方がよいこと | IIJ Engineers Blog"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4721994283128602818"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://eng-blog.iij.ad.jp/archives/13937" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20220706#bookmark-4721994283128602818" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2022/07/06</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/CS/" data-gtm-click-label="user-reaction-tag">CS</a></li> <li><a href="/shunt_i/DB/" data-gtm-click-label="user-reaction-tag">DB</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4721994283128602818/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li> <div class="centerarticle-pager"> <span class="centerarticle-waiting js-read-more-waiting is-hidden"><img src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/common/loading@2x.gif" alt="残りのブックマークを読み込んでいます" width="16" height="16" /></span> <span>1</span> <span><a href="/shunt_i/DB/?page=2">2</a></span> <span class="centerarticle-pager-next"><a href="/shunt_i/DB/?page=2">次のページ</a></span> </div> </li> </ul> </div> </div> <script type="text/javascript"> // ---------------- dfp section ---------------- var valve = valve || []; valve.push(function(v) { v.defineDFPSlot({ unit: '/4374287/b_pc_o_18_3025_0_no', sizes: [[300,250]], slotId: 'user-sidebar-ad-top' }); v.defineDFPSlot({ unit: '/4374287/b_pc_o_19_3060_0_no', sizes: [[300,600],[300,250]], slotId: 'user-sidebar-ad-bottom' }); v.sealDFPSlots(); }); </script> <script> var valve = window.valve || []; valve.push(function(v) { var pageKeyValues = {}; if (document.cookie.split(';').some(function(item) { return item.indexOf('202011_guest_status=register_incomplete') >= 0})) { pageKeyValues.bookmark_status = 'register_incomplete'; } v.config({ pageKeyValues: pageKeyValues, content: { result: "ng" }, service: 'bookmark' }); }); </script> <script src="https://cdn.pool.st-hatena.com/valve/valve.js" async></script> <div class="right-container"> <div id="user-sidebar-ad-top" class="centerarticle-aside-ad"></div> <section class="centerarticle-aside-section"> <div class="centerarticle-aside-info"> <h3 class="centerarticle-aside-info-title">お知らせ</h3> <ul class="centerarticle-aside-info-list"> <li class="centerarticle-aside-info-item"> <a href="https://bookmark.hatenastaff.com/entry/2025/03/18/115302?utm_source=user_page_side_column&utm_medium=official_announcement&utm_campaign=2025%2F03%2F18%2F115302" target="_blank"> <p class="centerarticle-aside-info-category">ランキング</p> <h4 class="centerarticle-aside-info-item-title">今週のはてなブックマーク数ランキング(2025年3月第3週)</h4> <time class="centerarticle-aside-info-item-time">2025/03/18</time> </a> </li> <li class="centerarticle-aside-info-item"> <a href="https://bookmark.hatenastaff.com/entry/2025/03/11/113220?utm_source=user_page_side_column&utm_medium=official_announcement&utm_campaign=2025%2F03%2F11%2F113220" target="_blank"> <p class="centerarticle-aside-info-category">ランキング</p> <h4 class="centerarticle-aside-info-item-title">今週のはてなブックマーク数ランキング(2025年3月第2週)</h4> <time class="centerarticle-aside-info-item-time">2025/03/11</time> </a> </li> <li class="centerarticle-aside-info-item"> <a href="https://bookmark.hatenastaff.com/entry/2025/03/07/120023?utm_source=user_page_side_column&utm_medium=official_announcement&utm_campaign=2025%2F03%2F07%2F120023" target="_blank"> <p class="centerarticle-aside-info-category">ランキング</p> <h4 class="centerarticle-aside-info-item-title">月間はてなブックマーク数ランキング(2025年2月)</h4> <time class="centerarticle-aside-info-item-time">2025/03/07</time> </a> </li> </ul> <div class="enterarticle-aside-info-readmore"> <a href="https://bookmark.hatenastaff.com/?utm_source=user_page_side_column&utm_medium=official_announcement&utm_campaign=readmore" class="enterarticle-aside-info-readmore-button" target="_blank">もっと読む</a> </div> </div> </section> <section class="centerarticle-aside-section"> <h3 class="centerarticle-aside-title">公式Twitter</h3> <ul class="centerarticle-aside-twitter"> <li><a href="https://twitter.com/HatenaBookmark" target="_blank" rel="noopener" data-gtm-click-label="user-officialTwitter-name">@HatenaBookmark</a><p>リリース、障害情報などのサービスのお知らせ</p></li> <li><a href="https://twitter.com/hatebu" target="_blank" rel="noopener" data-gtm-click-label="user-hotentryTwitter-name">@hatebu</a><p>最新の人気エントリーの配信</p></li> </ul> </section> <div id="user-sidebar-ad-bottom" class="centerarticle-aside-ad"></div> </div> </div> </div> <div class="progress-modal is-hidden js-progress-modal"> <div class="progress-modal-spiner"></div> <div class="progress-modal-message"> <p class="progress-modal-message-text js-progress-message">処理を実行中です</p> <button class="progress-modal-cancel js-cancel-button">中止</button> </div> </div> <div class="message-modal js-message-modal is-hidden auto-hide"> <div class="message-modal-message"> <p class="message-modal-message-text js-message-modal-message-text"></p> <button class="message-modal-btn js-message-modal-close-button">閉じる</button> </div> </div> <div id="keyboard-shortcut-help" class="shortcut-help is-hidden"> <h3 class="shortcut-help-title">キーボードショートカット一覧</h3> <p><span class="shortcut-help-key">j</span>次のブックマーク</p> <p><span class="shortcut-help-key">k</span>前のブックマーク</p> <p><span class="shortcut-help-key">l</span>あとで読む</p> <p><span class="shortcut-help-key">e</span>コメント一覧を開く</p> <p><span class="shortcut-help-key">o</span>ページを開く</p> <button tyle="button" class="shortcut-help-close js-close-button">✕</button> </div> <div class="footer"> <div class="footer-inner"> <div class="footer-inner-group footer-bookmark"> <h2 class="footer-title"><a href="/" data-gtm-label="footer-btop">はてなブックマーク</a></h2> <div class="footer-list-wrapper"> <ul class="footer-list footer-list--pc"> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/all" class="hotentry js-keyboard-openable" data-gtm-label="footerCategories-hotentry">総合</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/general" class="general js-keyboard-openable" data-gtm-label="footerCategories-general">一般</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/social" class="cat-social js-keyboard-openable" data-gtm-label="footerCategories-social">世の中</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/economics" class="cat-economics js-keyboard-openable" data-gtm-label="footerCategories-economics">政治と経済</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/life" class="cat-life js-keyboard-openable" data-gtm-label="footerCategories-life">暮らし</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/knowledge" class="cat-knowledge js-keyboard-openable" data-gtm-label="footerCategories-knowledge">学び</a></li> </ul> <ul class="footer-list footer-list--pc"> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/it" class="cat-it js-keyboard-openable" data-gtm-label="footerCategories-it">テクノロジー</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/entertainment" class="cat-entertainment js-keyboard-openable" data-gtm-label="footerCategories-entertainment">エンタメ</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/game" class="cat-game js-keyboard-openable" data-gtm-label="footerCategories-game">アニメとゲーム</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/fun" class="cat-fun js-keyboard-openable" data-gtm-label="footerCategories-fun">おもしろ</a></li> </ul> <ul class="footer-list"> <li class="footer-list-item"><a href="/guide/tools">アプリ・拡張機能</a></li> <li class="footer-list-item"><a href="https://bookmark.hatenastaff.com/">開発ブログ</a></li> <li class="footer-list-item"><a href="/help/">ヘルプ</a></li> <li class="footer-list-item"><a href="https://hatena.zendesk.com/hc/ja/categories/900000153166">お問い合わせ</a></li> <li class="footer-list-item footer-list-item--sp"><a href="/guide/guideline">ガイドライン</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/rule">利用規約</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/privacypolicy-ja">プライバシーポリシー</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/cookie-policy">利用者情報の外部送信について</a></li> </ul> <ul class="footer-list footer-list--pc"> <li class="footer-list-item footer-list-item--pc"><a href="/guide/guideline">ガイドライン</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/rule">利用規約</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/privacypolicy-ja">プライバシーポリシー</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/cookie-policy">利用者情報の外部送信について</a></li> </ul> </div> </div> <div class="footer-inner-group footer-bookmark-sns"> <h2 class="footer-title">公式Twitter</h2> <div class="footer-bookmark-list"> <ul class="footer-list"> <li class="footer-list-item"><a href="https://twitter.com/HatenaBookmark" target="_blank" rel="noopener" data-gtm-click-label="footer-officialTwitter-name">公式アカウント</a></li> <li class="footer-list-item"><a href="https://twitter.com/hatebu" target="_blank" rel="noopener" data-gtm-click-label="footer-hotentryTwitter-name">ホットエントリー</a></li> </ul> </div> </div> <div class="footer-inner-group footer-hatena"> <h2 class="footer-title">はてなのサービス</h2> <ul class="footer-list"> <li class="footer-list-item"><a href="https://hatenablog.com/" data-gtm-label="footerServices-blog">はてなブログ</a></li> <li class="footer-list-item"><a href="https://hatenablog.com/guide/pro?plus_via=hatenabookmark_footer&utm_source=hatenabookmark&utm_medium=referral&utm_campaign=hatenabookmark_to_hatenablog_pro&utm_content=hatenabookmark_footer" data-gtm-label="footerServices-blog-pro">はてなブログPro</a></li> <li class="footer-list-item"><a href="https://q.hatena.ne.jp/" data-gtm-label="footerServices-question">人力検索はてな</a></li> <li class="footer-list-item"><a href="http://d.hatena.ne.jp/" data-gtm-label="footerServices-keyword">はてなブログ タグ</a></li> <li class="footer-list-item"><a href="http://hatenanews.com/" data-gtm-label="footerServices-hatenanews">はてなニュース</a></li> <li class="footer-list-item"><a href="https://soredoko.jp/" data-gtm-label="footerServices-soredoko">ソレドコ</a></li> </ul> </div> </div> <div class="footer-bottom"> <div class="footer-app"> <ul> <li class="footer-list-item"><a href="https://apps.apple.com/jp/app/hatenabukkumaku/id354976659?mt=8" target="_blank" rel="noopener" data-gtm-click-label="footer-app-ios"><img src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/common/dl-button/appstore@2x.png" alt="App Storeからダウンロード"></a></li> <li class="footer-list-item"><a href="https://play.google.com/store/apps/details?id=com.hatena.android.bookmark&referrer=utm_source%3Dbookmark_sp%26utm_campaign%3Dbookmark_sp_user&hl=ja" target="_blank" rel="noopener" data-gtm-click-label="footer-app-android"><img src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/common/dl-button/googleplay@2x.png" alt="Google Playで手に入れよう"></a></li> </ul> </div> <div class="copyright">Copyright © 2005-2025 <a href="http://www.hatena.ne.jp/">Hatena</a>. All Rights Reserved.</div> </div> </div> <div class="modal-overlay"></div> <script type="text/javascript" src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/js/v4/bookmark.star.js" async></script> <div class="js-head-notify is-hidden">設定を変更しました<span class="js-head-notify-close-button">x</span></div> </body> </html>