CINXE.COM
[B! GraphQL] R2Mのブックマーク
<!DOCTYPE html> <html lang="ja" data-page-scope="User" data-stable-request-url="https://b.hatena.ne.jp/R2M/GraphQL/" data-device-type="PC" data-sentry-environment="production" data-sentry-sample-rate="0.1" data-author-name="R2M" data-page-subtype="tag" data-page-type="user" data-platform="pc" data-search-query="" data-tag-filter="GraphQL" 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! GraphQL] R2Mのブックマーク</title> <script src="https://b.st-hatena.com/384dc1d336d3aaeb338666fdd1d11e38974714c5/js/v4/bookmark.js" async></script> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/384dc1d336d3aaeb338666fdd1d11e38974714c5/css/v4/bookmark.css" /> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/384dc1d336d3aaeb338666fdd1d11e38974714c5/css/v4/bookmark.star.css" /> <link rel="canonical" href="https://b.hatena.ne.jp/R2M/GraphQL/" /> <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="R2M のブックマーク内検索" href="/R2M/opensearch.xml"> <link rel="apple-touch-icon-precomposed" href="https://b.st-hatena.com/384dc1d336d3aaeb338666fdd1d11e38974714c5/images/v4/public/apple-touch-icon-precomposed.png" /> <link rel="mask-icon" href="https://b.st-hatena.com/384dc1d336d3aaeb338666fdd1d11e38974714c5/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/384dc1d336d3aaeb338666fdd1d11e38974714c5/images/v4/public/icons/bookmark.ico" /> <meta name="msapplication-task" content="name=マイブックマーク; action-uri=/my; icon-uri=https://b.st-hatena.com/384dc1d336d3aaeb338666fdd1d11e38974714c5/images/v4/public/icons/my-bookmark.ico" /> <meta name="msapplication-task" content="name=お気に入りのブックマーク; action-uri=/my/favorite; icon-uri=https://b.st-hatena.com/384dc1d336d3aaeb338666fdd1d11e38974714c5/images/v4/public/icons/favorite-bookmark.ico" /> <meta name="msapplication-task" content="name=人気エントリー; action-uri=/hotentry; icon-uri=https://b.st-hatena.com/384dc1d336d3aaeb338666fdd1d11e38974714c5/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/R2M/" /> <link rel="alternate" type="application/rss+xml" href="/R2M/bookmark.rss?tag=GraphQL" /> <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%2FR2M%2FGraphQL%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/384dc1d336d3aaeb338666fdd1d11e38974714c5/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/384dc1d336d3aaeb338666fdd1d11e38974714c5/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/384dc1d336d3aaeb338666fdd1d11e38974714c5/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/384dc1d336d3aaeb338666fdd1d11e38974714c5/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="R2M" > <div class="centerarticle-wrapper"> <div class="left-container"> <div class="js-user-info" data-user-name="R2M"> <div class="centerarticle-profile"> <a href="http://profile.hatena.ne.jp/R2M/"> <img src="https://cdn.profile-image.st-hatena.com/users/R2M/profile.png" class="centerarticle-profile-image"/> </a> <div class="centerarticle-profile-main"> <a href="http://profile.hatena.ne.jp/R2M/" class="centerarticle-profile-nickname js-user-info-nickname" target="_blank" rel="noopener">R2M</a> <a href="/R2M/bookmark" class="centerarticle-profile-username">id:R2M</a> </div> </div> <ul class="userprofile-status"> <li> <a href="/R2M/bookmark" class="userprofile-status-link" data-gtm-click-label="user-count-bookmark"> <span class="userprofile-status-count">38,189</span> <span class="userprofile-status-text">ブックマーク</span> </a> </li> <li> <a href="/R2M/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="/R2M/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="/R2M/bookmark" data-gtm-click-label="user-tags-all">すべて</a></li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%20%E3%83%8D%E3%82%BF/" data-gtm-click-label="user-tags"> ネタ <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/.net/" data-gtm-click-label="user-tags"> .net <span class="count">(114)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/2ch/" data-gtm-click-label="user-tags"> 2ch <span class="count">(497)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/3D/" data-gtm-click-label="user-tags"> 3D <span class="count">(143)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/3DCG/" data-gtm-click-label="user-tags"> 3DCG <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/3D%E3%83%97%E3%83%AA%E3%83%B3%E3%82%BF/" data-gtm-click-label="user-tags"> 3Dプリンタ <span class="count">(18)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/API/" data-gtm-click-label="user-tags"> API <span class="count">(121)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/AR/" data-gtm-click-label="user-tags"> AR <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/AV/" data-gtm-click-label="user-tags"> AV <span class="count">(111)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Amazon/" data-gtm-click-label="user-tags"> Amazon <span class="count">(78)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Arduino/" data-gtm-click-label="user-tags"> Arduino <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/C++/" data-gtm-click-label="user-tags"> C++ <span class="count">(48)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/CI/" data-gtm-click-label="user-tags"> CI <span class="count">(20)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/COVID-19/" data-gtm-click-label="user-tags"> COVID-19 <span class="count">(284)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/CPU/" data-gtm-click-label="user-tags"> CPU <span class="count">(110)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Chrome/" data-gtm-click-label="user-tags"> Chrome <span class="count">(28)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/DIY/" data-gtm-click-label="user-tags"> DIY <span class="count">(31)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/DirectX/" data-gtm-click-label="user-tags"> DirectX <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Dropbox/" data-gtm-click-label="user-tags"> Dropbox <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/EU/" data-gtm-click-label="user-tags"> EU <span class="count">(216)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Excel/" data-gtm-click-label="user-tags"> Excel <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/FPGA/" data-gtm-click-label="user-tags"> FPGA <span class="count">(54)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Firefox/" data-gtm-click-label="user-tags"> Firefox <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Framework/" data-gtm-click-label="user-tags"> Framework <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/GPGPU/" data-gtm-click-label="user-tags"> GPGPU <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/GPU/" data-gtm-click-label="user-tags"> GPU <span class="count">(66)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/GitHub/" data-gtm-click-label="user-tags"> GitHub <span class="count">(33)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Google/" data-gtm-click-label="user-tags"> Google <span class="count">(164)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Google%20App%20Engine/" data-gtm-click-label="user-tags"> Google App Engine <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Grafana/" data-gtm-click-label="user-tags"> Grafana <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/GraphQL/" class="is-current" data-gtm-click-label="user-tags"> GraphQL <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/HMD/" data-gtm-click-label="user-tags"> HMD <span class="count">(59)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/HPC/" data-gtm-click-label="user-tags"> HPC <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/HTML/" data-gtm-click-label="user-tags"> HTML <span class="count">(42)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/HTML5/" data-gtm-click-label="user-tags"> HTML5 <span class="count">(20)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/IMF/" data-gtm-click-label="user-tags"> IMF <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/ISIS/" data-gtm-click-label="user-tags"> ISIS <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/IT/" data-gtm-click-label="user-tags"> IT <span class="count">(21)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/LL/" data-gtm-click-label="user-tags"> LL <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/LLM/" data-gtm-click-label="user-tags"> LLM <span class="count">(85)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/LLVM/" data-gtm-click-label="user-tags"> LLVM <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/MVC/" data-gtm-click-label="user-tags"> MVC <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/MVNO/" data-gtm-click-label="user-tags"> MVNO <span class="count">(23)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/NHK/" data-gtm-click-label="user-tags"> NHK <span class="count">(43)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/OSS/" data-gtm-click-label="user-tags"> OSS <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Oculus%20Rift/" data-gtm-click-label="user-tags"> Oculus Rift <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/OculusRift/" data-gtm-click-label="user-tags"> OculusRift <span class="count">(18)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/OpenCV/" data-gtm-click-label="user-tags"> OpenCV <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/P2P/" data-gtm-click-label="user-tags"> P2P <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/PC/" data-gtm-click-label="user-tags"> PC <span class="count">(187)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/PC%E3%83%91%E3%83%BC%E3%83%84/" data-gtm-click-label="user-tags"> PCパーツ <span class="count">(33)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/PC%E5%91%A8%E8%BE%BA%E6%A9%9F%E5%99%A8/" data-gtm-click-label="user-tags"> PC周辺機器 <span class="count">(105)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Raspberry%20Pi/" data-gtm-click-label="user-tags"> Raspberry Pi <span class="count">(44)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Ruby/" data-gtm-click-label="user-tags"> Ruby <span class="count">(124)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/SF/" data-gtm-click-label="user-tags"> SF <span class="count">(36)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/SRE/" data-gtm-click-label="user-tags"> SRE <span class="count">(29)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/TPP/" data-gtm-click-label="user-tags"> TPP <span class="count">(15)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/TV/" data-gtm-click-label="user-tags"> TV <span class="count">(118)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Tensorflow/" data-gtm-click-label="user-tags"> Tensorflow <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Togetter/" data-gtm-click-label="user-tags"> Togetter <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/TypeScript/" data-gtm-click-label="user-tags"> TypeScript <span class="count">(49)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/UI/" data-gtm-click-label="user-tags"> UI <span class="count">(67)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/UML/" data-gtm-click-label="user-tags"> UML <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/USB/" data-gtm-click-label="user-tags"> USB <span class="count">(29)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Unix/" data-gtm-click-label="user-tags"> Unix <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/VR/" data-gtm-click-label="user-tags"> VR <span class="count">(167)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Visual%20Studio/" data-gtm-click-label="user-tags"> Visual Studio <span class="count">(23)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/Vue.js/" data-gtm-click-label="user-tags"> Vue.js <span class="count">(17)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/WebAssembly/" data-gtm-click-label="user-tags"> WebAssembly <span class="count">(23)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/YouTube/" data-gtm-click-label="user-tags"> YouTube <span class="count">(49)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/android/" data-gtm-click-label="user-tags"> android <span class="count">(420)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/art/" data-gtm-click-label="user-tags"> art <span class="count">(49)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/aws/" data-gtm-click-label="user-tags"> aws <span class="count">(139)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/azure/" data-gtm-click-label="user-tags"> azure <span class="count">(48)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/bash/" data-gtm-click-label="user-tags"> bash <span class="count">(22)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/bitcoin/" data-gtm-click-label="user-tags"> bitcoin <span class="count">(26)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/bluetooth/" data-gtm-click-label="user-tags"> bluetooth <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/business/" data-gtm-click-label="user-tags"> business <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/c%23/" data-gtm-click-label="user-tags"> c# <span class="count">(52)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/css/" data-gtm-click-label="user-tags"> css <span class="count">(73)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/database/" data-gtm-click-label="user-tags"> database <span class="count">(330)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/deep%20learning/" data-gtm-click-label="user-tags"> deep learning <span class="count">(61)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/docker/" data-gtm-click-label="user-tags"> docker <span class="count">(82)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/driver/" data-gtm-click-label="user-tags"> driver <span class="count">(17)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/electron/" data-gtm-click-label="user-tags"> electron <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/filesystem/" data-gtm-click-label="user-tags"> filesystem <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/git/" data-gtm-click-label="user-tags"> git <span class="count">(65)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/go/" data-gtm-click-label="user-tags"> go <span class="count">(45)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/hardware/" data-gtm-click-label="user-tags"> hardware <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/http/" data-gtm-click-label="user-tags"> http <span class="count">(28)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/ingress/" data-gtm-click-label="user-tags"> ingress <span class="count">(19)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/ios/" data-gtm-click-label="user-tags"> ios <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/iot/" data-gtm-click-label="user-tags"> iot <span class="count">(24)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/iphone/" data-gtm-click-label="user-tags"> iphone <span class="count">(65)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/jQuery/" data-gtm-click-label="user-tags"> jQuery <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/java/" data-gtm-click-label="user-tags"> java <span class="count">(69)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/javascript/" data-gtm-click-label="user-tags"> javascript <span class="count">(296)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/kernel/" data-gtm-click-label="user-tags"> kernel <span class="count">(28)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/kinect/" data-gtm-click-label="user-tags"> kinect <span class="count">(20)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/kubernetes/" data-gtm-click-label="user-tags"> kubernetes <span class="count">(34)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/library/" data-gtm-click-label="user-tags"> library <span class="count">(18)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/linux/" data-gtm-click-label="user-tags"> linux <span class="count">(224)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/mail/" data-gtm-click-label="user-tags"> mail <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/markdown/" data-gtm-click-label="user-tags"> markdown <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/microservice/" data-gtm-click-label="user-tags"> microservice <span class="count">(19)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/microsoft/" data-gtm-click-label="user-tags"> microsoft <span class="count">(26)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/music/" data-gtm-click-label="user-tags"> music <span class="count">(89)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/mysql/" data-gtm-click-label="user-tags"> mysql <span class="count">(88)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/network/" data-gtm-click-label="user-tags"> network <span class="count">(149)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/node.js/" data-gtm-click-label="user-tags"> node.js <span class="count">(31)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/os/" data-gtm-click-label="user-tags"> os <span class="count">(43)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/php/" data-gtm-click-label="user-tags"> php <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/programming/" data-gtm-click-label="user-tags"> programming <span class="count">(136)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/python/" data-gtm-click-label="user-tags"> python <span class="count">(99)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/rails/" data-gtm-click-label="user-tags"> rails <span class="count">(56)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/react/" data-gtm-click-label="user-tags"> react <span class="count">(183)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/redmine/" data-gtm-click-label="user-tags"> redmine <span class="count">(24)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/rust/" data-gtm-click-label="user-tags"> rust <span class="count">(81)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/rx/" data-gtm-click-label="user-tags"> rx <span class="count">(15)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/science/" data-gtm-click-label="user-tags"> science <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/security/" data-gtm-click-label="user-tags"> security <span class="count">(124)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/serverless/" data-gtm-click-label="user-tags"> serverless <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/shop/" data-gtm-click-label="user-tags"> shop <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/software/" data-gtm-click-label="user-tags"> software <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/sql/" data-gtm-click-label="user-tags"> sql <span class="count">(36)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/sqlserver/" data-gtm-click-label="user-tags"> sqlserver <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/tool/" data-gtm-click-label="user-tags"> tool <span class="count">(36)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/twitter/" data-gtm-click-label="user-tags"> twitter <span class="count">(37)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/unity/" data-gtm-click-label="user-tags"> unity <span class="count">(46)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/web/" data-gtm-click-label="user-tags"> web <span class="count">(183)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" data-gtm-click-label="user-tags"> webサービス <span class="count">(322)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/web%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3/" data-gtm-click-label="user-tags"> webデザイン <span class="count">(57)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/web%E6%BC%AB%E7%94%BB/" data-gtm-click-label="user-tags"> web漫画 <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/windows/" data-gtm-click-label="user-tags"> windows <span class="count">(242)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/x86/" data-gtm-click-label="user-tags"> x86 <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-tags"> あとで読む <span class="count">(338)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%81%84%E3%81%98%E3%82%81/" data-gtm-click-label="user-tags"> いじめ <span class="count">(29)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%81%91%E3%81%97%E3%81%8B%E3%82%89%E3%82%93/" data-gtm-click-label="user-tags"> けしからん <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%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">(24)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%81%93%E3%82%8C%E3%81%AF%E3%81%B2%E3%81%A9%E3%81%84/" data-gtm-click-label="user-tags"> これはひどい <span class="count">(78)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%81%AF%E3%81%A6%E3%81%AA/" data-gtm-click-label="user-tags"> はてな <span class="count">(40)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%81%AF%E3%81%A6%E3%83%96/" data-gtm-click-label="user-tags"> はてブ <span class="count">(20)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%81%BE%E3%81%A8%E3%82%81/" data-gtm-click-label="user-tags"> まとめ <span class="count">(67)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A2%E3%83%8B%E3%83%A1/" data-gtm-click-label="user-tags"> アニメ <span class="count">(258)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A2%E3%83%95%E3%83%AA%E3%82%AB/" data-gtm-click-label="user-tags"> アフリカ <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A2%E3%83%97%E3%83%AA/" data-gtm-click-label="user-tags"> アプリ <span class="count">(50)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A2%E3%83%A1%E3%83%AA%E3%82%AB/" data-gtm-click-label="user-tags"> アメリカ <span class="count">(242)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%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">(64)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3/" data-gtm-click-label="user-tags"> アーキテクチャ <span class="count">(60)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A2%E3%83%BC%E3%83%88/" data-gtm-click-label="user-tags"> アート <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A4%E3%82%AE%E3%83%AA%E3%82%B9/" data-gtm-click-label="user-tags"> イギリス <span class="count">(57)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A4%E3%82%B9%E3%83%A9%E3%83%A0/" data-gtm-click-label="user-tags"> イスラム <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A4%E3%82%BF%E3%83%AA%E3%82%A2/" data-gtm-click-label="user-tags"> イタリア <span class="count">(18)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88/" data-gtm-click-label="user-tags"> イベント <span class="count">(32)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88/" data-gtm-click-label="user-tags"> イラスト <span class="count">(25)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%93%E3%83%A5%E3%83%BC/" data-gtm-click-label="user-tags"> インタビュー <span class="count">(91)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88/" data-gtm-click-label="user-tags"> インターネット <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A4%E3%83%B3%E3%83%89/" data-gtm-click-label="user-tags"> インド <span class="count">(29)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9/" data-gtm-click-label="user-tags"> インフラ <span class="count">(36)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A6%E3%82%AF%E3%83%A9%E3%82%A4%E3%83%8A/" data-gtm-click-label="user-tags"> ウクライナ <span class="count">(271)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF/" data-gtm-click-label="user-tags"> エディタ <span class="count">(15)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A8%E3%83%8D%E3%83%AB%E3%82%AE%E3%83%BC/" data-gtm-click-label="user-tags"> エネルギー <span class="count">(556)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2/" data-gtm-click-label="user-tags"> エンジニア <span class="count">(119)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3/" data-gtm-click-label="user-tags"> エンジン <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%AA%E3%83%AA%E3%83%B3%E3%83%94%E3%83%83%E3%82%AF/" data-gtm-click-label="user-tags"> オリンピック <span class="count">(32)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%AA%E3%83%BC%E3%82%B9%E3%83%88%E3%83%A9%E3%83%AA%E3%82%A2/" data-gtm-click-label="user-tags"> オーストラリア <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9/" data-gtm-click-label="user-tags"> オープンソース <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%AB%E3%83%A1%E3%83%A9/" data-gtm-click-label="user-tags"> カメラ <span class="count">(55)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%AB%E3%83%AB%E3%83%88/" data-gtm-click-label="user-tags"> カルト <span class="count">(185)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%AC%E3%82%B8%E3%82%A7%E3%83%83%E3%83%88/" data-gtm-click-label="user-tags"> ガジェット <span class="count">(77)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%AE%E3%83%AA%E3%82%B7%E3%83%A3/" data-gtm-click-label="user-tags"> ギリシャ <span class="count">(36)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89/" data-gtm-click-label="user-tags"> クラウド <span class="count">(78)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%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">(17)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%B2%E3%83%BC%E3%83%A0/" data-gtm-click-label="user-tags"> ゲーム <span class="count">(660)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%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">(110)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A/" data-gtm-click-label="user-tags"> コンテナ <span class="count">(59)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9/" data-gtm-click-label="user-tags"> コンパイラ <span class="count">(25)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%B5%E3%83%83%E3%82%AB%E3%83%BC/" data-gtm-click-label="user-tags"> サッカー <span class="count">(98)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC/" data-gtm-click-label="user-tags"> サーバー <span class="count">(79)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" data-gtm-click-label="user-tags"> サービス <span class="count">(63)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0/" data-gtm-click-label="user-tags"> システム <span class="count">(210)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-tags"> システム開発 <span class="count">(29)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%B7%E3%83%AA%E3%82%A2/" data-gtm-click-label="user-tags"> シリア <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%B9%E3%82%A6%E3%82%A7%E3%83%BC%E3%83%87%E3%83%B3/" data-gtm-click-label="user-tags"> スウェーデン <span class="count">(17)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%84/" data-gtm-click-label="user-tags"> スポーツ <span class="count">(152)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%B9%E3%83%9E%E3%83%9B/" data-gtm-click-label="user-tags"> スマホ <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%83%95%E3%82%A9%E3%83%B3/" data-gtm-click-label="user-tags"> スマートフォン <span class="count">(25)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%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">(129)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%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">(63)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%81%E3%83%99%E3%83%83%E3%83%88/" data-gtm-click-label="user-tags"> チベット <span class="count">(35)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%84%E3%83%BC%E3%83%AB/" data-gtm-click-label="user-tags"> ツール <span class="count">(75)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%86%E3%82%B9%E3%83%88/" data-gtm-click-label="user-tags"> テスト <span class="count">(109)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%86%E3%83%AC%E3%83%93/" data-gtm-click-label="user-tags"> テレビ <span class="count">(25)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%86%E3%83%AD/" data-gtm-click-label="user-tags"> テロ <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4/" data-gtm-click-label="user-tags"> ディスプレイ <span class="count">(40)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3/" data-gtm-click-label="user-tags"> デザイン <span class="count">(85)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9/" data-gtm-click-label="user-tags"> デバイス <span class="count">(28)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%87%E3%83%BC%E3%82%BF/" data-gtm-click-label="user-tags"> データ <span class="count">(126)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%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">(23)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90/" data-gtm-click-label="user-tags"> データ分析 <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB/" data-gtm-click-label="user-tags"> トラブル <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%88%E3%83%AB%E3%82%B3/" data-gtm-click-label="user-tags"> トルコ <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%88%E3%83%B3%E3%83%87%E3%83%A2/" data-gtm-click-label="user-tags"> トンデモ <span class="count">(49)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%89%E3%82%A4%E3%83%84/" data-gtm-click-label="user-tags"> ドイツ <span class="count">(142)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%89%E3%83%A9%E3%83%9E/" data-gtm-click-label="user-tags"> ドラマ <span class="count">(39)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3%E5%8B%95%E7%94%BB/" data-gtm-click-label="user-tags"> ニコニコ動画 <span class="count">(158)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%8B%E3%82%BB%E5%8C%BB%E7%99%82/" data-gtm-click-label="user-tags"> ニセ医療 <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%8B%E3%82%BB%E7%A7%91%E5%AD%A6/" data-gtm-click-label="user-tags"> ニセ科学 <span class="count">(52)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9/" data-gtm-click-label="user-tags"> ニュース <span class="count">(21)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%8D%E3%82%BF/" data-gtm-click-label="user-tags"> ネタ <span class="count">(893)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%8D%E3%83%83%E3%83%88/" data-gtm-click-label="user-tags"> ネット <span class="count">(79)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%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">(34)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2/" data-gtm-click-label="user-tags"> ハードウェア <span class="count">(35)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%90%E3%83%83%E3%83%86%E3%83%AA%E3%83%BC/" data-gtm-click-label="user-tags"> バッテリー <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9/" data-gtm-click-label="user-tags"> パフォーマンス <span class="count">(47)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9/" data-gtm-click-label="user-tags"> ビジネス <span class="count">(505)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%95%E3%82%A1%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3/" data-gtm-click-label="user-tags"> ファッション <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88/" data-gtm-click-label="user-tags"> フォント <span class="count">(35)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%95%E3%83%A9%E3%83%B3%E3%82%B9/" data-gtm-click-label="user-tags"> フランス <span class="count">(56)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%95%E3%83%AA%E3%83%BC%E3%82%BD%E3%83%95%E3%83%88/" data-gtm-click-label="user-tags"> フリーソフト <span class="count">(34)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%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">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%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">(15)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%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">(46)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6/" data-gtm-click-label="user-tags"> ブラウザ <span class="count">(52)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%96%E3%83%A9%E3%83%83%E3%82%AF/" data-gtm-click-label="user-tags"> ブラック <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%96%E3%83%A9%E3%83%83%E3%82%AF%E4%BC%81%E6%A5%AD/" data-gtm-click-label="user-tags"> ブラック企業 <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3/" data-gtm-click-label="user-tags"> ブロックチェーン <span class="count">(31)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%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">(273)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E/" data-gtm-click-label="user-tags"> プログラミング言語 <span class="count">(28)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88/" data-gtm-click-label="user-tags"> プロジェクト <span class="count">(42)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E7%AE%A1%E7%90%86/" data-gtm-click-label="user-tags"> プロジェクト管理 <span class="count">(44)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%97%E3%83%AD%E3%83%AC%E3%82%B9/" data-gtm-click-label="user-tags"> プロレス <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%99%E3%83%88%E3%83%8A%E3%83%A0/" data-gtm-click-label="user-tags"> ベトナム <span class="count">(24)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%99%E3%83%B3%E3%83%81%E3%83%A3%E3%83%BC/" data-gtm-click-label="user-tags"> ベンチャー <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%9B%E3%83%A1%E3%82%AA%E3%83%91%E3%82%B7%E3%83%BC/" data-gtm-click-label="user-tags"> ホメオパシー <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%9E%E3%82%A4%E3%83%8A%E3%83%B3%E3%83%90%E3%83%BC/" data-gtm-click-label="user-tags"> マイナンバー <span class="count">(26)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%9E%E3%82%B9%E3%82%B3%E3%83%9F/" data-gtm-click-label="user-tags"> マスコミ <span class="count">(139)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%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">(57)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%9E%E3%83%B3%E3%82%AC/" data-gtm-click-label="user-tags"> マンガ <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2/" data-gtm-click-label="user-tags"> メディア <span class="count">(132)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%A1%E3%83%B3%E3%82%BF%E3%83%AB/" data-gtm-click-label="user-tags"> メンタル <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%A1%E3%83%B3%E3%82%BF%E3%83%AB%E3%83%98%E3%83%AB%E3%82%B9/" data-gtm-click-label="user-tags"> メンタルヘルス <span class="count">(48)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%A2%E3%83%90%E3%82%A4%E3%83%AB/" data-gtm-click-label="user-tags"> モバイル <span class="count">(56)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%A9%E3%82%A4%E3%83%88%E3%83%8E%E3%83%99%E3%83%AB/" data-gtm-click-label="user-tags"> ライトノベル <span class="count">(18)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA/" data-gtm-click-label="user-tags"> ライブラリ <span class="count">(55)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%AC%E3%82%B7%E3%83%94/" data-gtm-click-label="user-tags"> レシピ <span class="count">(265)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC/" data-gtm-click-label="user-tags"> レビュー <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%AD%E3%82%B7%E3%82%A2/" data-gtm-click-label="user-tags"> ロシア <span class="count">(418)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E3%83%AD%E3%83%9C%E3%83%83%E3%83%88/" data-gtm-click-label="user-tags"> ロボット <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%B8%8D%E5%8B%95%E7%94%A3/" data-gtm-click-label="user-tags"> 不動産 <span class="count">(237)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%B8%AD%E5%9B%BD/" data-gtm-click-label="user-tags"> 中国 <span class="count">(762)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%B8%AD%E5%A4%AE%E9%8A%80%E8%A1%8C/" data-gtm-click-label="user-tags"> 中央銀行 <span class="count">(163)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%B8%AD%E6%9D%B1/" data-gtm-click-label="user-tags"> 中東 <span class="count">(81)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BA%8B%E4%BB%B6/" data-gtm-click-label="user-tags"> 事件 <span class="count">(564)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BA%8B%E6%95%85/" data-gtm-click-label="user-tags"> 事故 <span class="count">(149)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BA%8B%E6%A5%AD/" data-gtm-click-label="user-tags"> 事業 <span class="count">(25)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BA%A4%E9%80%9A/" data-gtm-click-label="user-tags"> 交通 <span class="count">(131)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BA%BA%E4%BA%8B/" data-gtm-click-label="user-tags"> 人事 <span class="count">(21)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BA%BA%E5%8F%A3/" data-gtm-click-label="user-tags"> 人口 <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BA%BA%E5%B7%A5%E7%9F%A5%E8%83%BD/" data-gtm-click-label="user-tags"> 人工知能 <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BA%BA%E6%9D%90/" data-gtm-click-label="user-tags"> 人材 <span class="count">(18)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BA%BA%E6%A8%A9/" data-gtm-click-label="user-tags"> 人権 <span class="count">(152)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BA%BA%E7%89%A9/" data-gtm-click-label="user-tags"> 人物 <span class="count">(80)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BA%BA%E7%94%9F/" data-gtm-click-label="user-tags"> 人生 <span class="count">(274)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BB%8B%E8%AD%B7/" data-gtm-click-label="user-tags"> 介護 <span class="count">(65)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BB%8F%E6%95%99/" data-gtm-click-label="user-tags"> 仏教 <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BB%95%E4%BA%8B/" data-gtm-click-label="user-tags"> 仕事 <span class="count">(516)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BB%AE%E6%83%B3%E9%80%9A%E8%B2%A8/" data-gtm-click-label="user-tags"> 仮想通貨 <span class="count">(15)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BC%81%E6%A5%AD/" data-gtm-click-label="user-tags"> 企業 <span class="count">(260)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BC%9A%E7%A4%BE/" data-gtm-click-label="user-tags"> 会社 <span class="count">(78)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BC%9A%E8%A8%88/" data-gtm-click-label="user-tags"> 会計 <span class="count">(37)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BD%8F%E5%AE%85/" data-gtm-click-label="user-tags"> 住宅 <span class="count">(96)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E4%BF%9D%E9%99%BA/" data-gtm-click-label="user-tags"> 保険 <span class="count">(39)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%81%A5%E5%BA%B7/" data-gtm-click-label="user-tags"> 健康 <span class="count">(138)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%86%99%E7%9C%9F/" data-gtm-click-label="user-tags"> 写真 <span class="count">(65)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%87%BA%E7%89%88/" data-gtm-click-label="user-tags"> 出版 <span class="count">(26)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%8A%B4%E5%83%8D/" data-gtm-click-label="user-tags"> 労働 <span class="count">(1070)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%8A%B4%E5%83%8D%E7%B5%84%E5%90%88/" data-gtm-click-label="user-tags"> 労働組合 <span class="count">(39)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%8B%95%E7%89%A9/" data-gtm-click-label="user-tags"> 動物 <span class="count">(83)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%8B%95%E7%94%BB/" data-gtm-click-label="user-tags"> 動画 <span class="count">(66)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%8C%96%E5%AD%A6/" data-gtm-click-label="user-tags"> 化学 <span class="count">(28)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%8C%97%E6%9C%9D%E9%AE%AE/" data-gtm-click-label="user-tags"> 北朝鮮 <span class="count">(76)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%8C%BB%E7%99%82/" data-gtm-click-label="user-tags"> 医療 <span class="count">(942)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%8D%8A%E5%B0%8E%E4%BD%93/" data-gtm-click-label="user-tags"> 半導体 <span class="count">(119)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%8E%9F%E5%AD%90%E5%8A%9B/" data-gtm-click-label="user-tags"> 原子力 <span class="count">(80)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%8E%9F%E7%99%BA/" data-gtm-click-label="user-tags"> 原発 <span class="count">(553)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%8F%B0%E6%B9%BE/" data-gtm-click-label="user-tags"> 台湾 <span class="count">(51)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%8F%B8%E6%B3%95/" data-gtm-click-label="user-tags"> 司法 <span class="count">(142)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%90%8C%E4%BA%BA/" data-gtm-click-label="user-tags"> 同人 <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%95%86%E5%93%81/" data-gtm-click-label="user-tags"> 商品 <span class="count">(58)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%96%B6%E6%A5%AD/" data-gtm-click-label="user-tags"> 営業 <span class="count">(21)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%9B%B3%E6%9B%B8%E9%A4%A8/" data-gtm-click-label="user-tags"> 図書館 <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%9B%BD%E5%82%B5/" data-gtm-click-label="user-tags"> 国債 <span class="count">(19)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%9B%BD%E9%9A%9B/" data-gtm-click-label="user-tags"> 国際 <span class="count">(609)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%9C%B0%E4%B8%AD%E7%86%B1/" data-gtm-click-label="user-tags"> 地中熱 <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%9C%B0%E5%9B%B3/" data-gtm-click-label="user-tags"> 地図 <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%9C%B0%E6%96%B9/" data-gtm-click-label="user-tags"> 地方 <span class="count">(149)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%9C%B0%E7%86%B1/" data-gtm-click-label="user-tags"> 地熱 <span class="count">(38)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%9C%B0%E7%86%B1%E7%99%BA%E9%9B%BB/" data-gtm-click-label="user-tags"> 地熱発電 <span class="count">(107)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%9C%B0%E7%90%86/" data-gtm-click-label="user-tags"> 地理 <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%9C%B0%E9%9C%87/" data-gtm-click-label="user-tags"> 地震 <span class="count">(40)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%A0%B1%E9%81%93/" data-gtm-click-label="user-tags"> 報道 <span class="count">(61)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%A2%97%E7%94%B0/" data-gtm-click-label="user-tags"> 増田 <span class="count">(564)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%A4%96%E4%BA%A4/" data-gtm-click-label="user-tags"> 外交 <span class="count">(272)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%A4%A7%E5%AD%A6/" data-gtm-click-label="user-tags"> 大学 <span class="count">(146)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%A4%A7%E9%98%AA/" data-gtm-click-label="user-tags"> 大阪 <span class="count">(15)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%A4%AA%E9%99%BD%E5%85%89%E7%99%BA%E9%9B%BB/" data-gtm-click-label="user-tags"> 太陽光発電 <span class="count">(18)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%A5%91%E7%B4%84/" data-gtm-click-label="user-tags"> 契約 <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%AD%90%E3%81%A9%E3%82%82/" data-gtm-click-label="user-tags"> 子ども <span class="count">(35)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%AD%90%E4%BE%9B/" data-gtm-click-label="user-tags"> 子供 <span class="count">(23)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%AD%90%E8%82%B2%E3%81%A6/" data-gtm-click-label="user-tags"> 子育て <span class="count">(38)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%AD%A6%E7%BF%92/" data-gtm-click-label="user-tags"> 学習 <span class="count">(68)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%AE%87%E5%AE%99/" data-gtm-click-label="user-tags"> 宇宙 <span class="count">(68)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%AE%87%E5%AE%99%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-tags"> 宇宙開発 <span class="count">(29)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%AE%89%E5%85%A8%E4%BF%9D%E9%9A%9C/" data-gtm-click-label="user-tags"> 安全保障 <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%AE%97%E6%95%99/" data-gtm-click-label="user-tags"> 宗教 <span class="count">(200)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%AE%9F%E9%A8%93/" data-gtm-click-label="user-tags"> 実験 <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%AE%B6%E5%BA%AD/" data-gtm-click-label="user-tags"> 家庭 <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%AE%B6%E6%97%8F/" data-gtm-click-label="user-tags"> 家族 <span class="count">(34)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%AE%B6%E9%9B%BB/" data-gtm-click-label="user-tags"> 家電 <span class="count">(129)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%B0%86%E6%A3%8B/" data-gtm-click-label="user-tags"> 将棋 <span class="count">(37)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%B0%8F%E8%AA%AC/" data-gtm-click-label="user-tags"> 小説 <span class="count">(55)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%B0%91%E5%AD%90%E5%8C%96/" data-gtm-click-label="user-tags"> 少子化 <span class="count">(32)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%B1%B1%E5%BD%A2/" data-gtm-click-label="user-tags"> 山形 <span class="count">(43)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%B7%AE%E5%88%A5/" data-gtm-click-label="user-tags"> 差別 <span class="count">(135)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%B9%B4%E9%87%91/" data-gtm-click-label="user-tags"> 年金 <span class="count">(72)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%BA%83%E5%91%8A/" data-gtm-click-label="user-tags"> 広告 <span class="count">(37)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%BB%BA%E7%AF%89/" data-gtm-click-label="user-tags"> 建築 <span class="count">(103)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%BB%BA%E8%A8%AD/" data-gtm-click-label="user-tags"> 建設 <span class="count">(22)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%BE%8C%E3%81%A7/" data-gtm-click-label="user-tags"> 後で <span class="count">(17)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%BE%93%E8%BB%8D%E6%85%B0%E5%AE%89%E5%A9%A6/" data-gtm-click-label="user-tags"> 従軍慰安婦 <span class="count">(38)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E5%BF%83%E7%90%86/" data-gtm-click-label="user-tags"> 心理 <span class="count">(113)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%80%9D%E6%83%B3/" data-gtm-click-label="user-tags"> 思想 <span class="count">(36)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%80%A7/" data-gtm-click-label="user-tags"> 性 <span class="count">(25)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%83%85%E5%A0%B1/" data-gtm-click-label="user-tags"> 情報 <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%85%B0%E5%AE%89%E5%A9%A6%E5%95%8F%E9%A1%8C/" data-gtm-click-label="user-tags"> 慰安婦問題 <span class="count">(57)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%86%B2%E6%B3%95/" data-gtm-click-label="user-tags"> 憲法 <span class="count">(49)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%88%A6%E4%BA%89/" data-gtm-click-label="user-tags"> 戦争 <span class="count">(268)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%8A%80%E8%A1%93/" data-gtm-click-label="user-tags"> 技術 <span class="count">(224)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%8A%95%E8%B3%87/" data-gtm-click-label="user-tags"> 投資 <span class="count">(176)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%8E%A1%E7%94%A8/" data-gtm-click-label="user-tags"> 採用 <span class="count">(35)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%8F%89%E3%82%81%E4%BA%8B/" data-gtm-click-label="user-tags"> 揉め事 <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%90%BA%E5%B8%AF/" data-gtm-click-label="user-tags"> 携帯 <span class="count">(89)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%94%BE%E5%B0%84%E8%83%BD/" data-gtm-click-label="user-tags"> 放射能 <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%94%BE%E9%80%81/" data-gtm-click-label="user-tags"> 放送 <span class="count">(22)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%94%BF%E5%BA%9C/" data-gtm-click-label="user-tags"> 政府 <span class="count">(40)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%94%BF%E6%B2%BB/" data-gtm-click-label="user-tags"> 政治 <span class="count">(2287)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%94%BF%E7%AD%96/" data-gtm-click-label="user-tags"> 政策 <span class="count">(66)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%95%99%E8%82%B2/" data-gtm-click-label="user-tags"> 教育 <span class="count">(503)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%95%B0%E5%AD%A6/" data-gtm-click-label="user-tags"> 数学 <span class="count">(117)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%96%87%E5%8C%96/" data-gtm-click-label="user-tags"> 文化 <span class="count">(171)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%96%87%E5%AD%A6/" data-gtm-click-label="user-tags"> 文学 <span class="count">(25)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%96%87%E6%88%BF%E5%85%B7/" data-gtm-click-label="user-tags"> 文房具 <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%96%87%E7%AB%A0/" data-gtm-click-label="user-tags"> 文章 <span class="count">(24)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%96%99%E7%90%86/" data-gtm-click-label="user-tags"> 料理 <span class="count">(223)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%97%85/" data-gtm-click-label="user-tags"> 旅 <span class="count">(23)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%97%85%E8%A1%8C/" data-gtm-click-label="user-tags"> 旅行 <span class="count">(87)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%97%A5%E6%9C%AC/" data-gtm-click-label="user-tags"> 日本 <span class="count">(206)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%97%A5%E9%8A%80/" data-gtm-click-label="user-tags"> 日銀 <span class="count">(323)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%98%A0%E5%83%8F/" data-gtm-click-label="user-tags"> 映像 <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%98%A0%E7%94%BB/" data-gtm-click-label="user-tags"> 映画 <span class="count">(255)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%9B%B8%E7%B1%8D/" data-gtm-click-label="user-tags"> 書籍 <span class="count">(104)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%9B%B8%E8%A9%95/" data-gtm-click-label="user-tags"> 書評 <span class="count">(122)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%9C%80%E9%81%A9%E5%8C%96/" data-gtm-click-label="user-tags"> 最適化 <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%9C%AC/" data-gtm-click-label="user-tags"> 本 <span class="count">(62)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%9D%B1%E6%97%A5%E6%9C%AC%E5%A4%A7%E9%9C%87%E7%81%BD/" data-gtm-click-label="user-tags"> 東日本大震災 <span class="count">(44)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%9D%B1%E9%9B%BB/" data-gtm-click-label="user-tags"> 東電 <span class="count">(35)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%9E%97%E6%A5%AD/" data-gtm-click-label="user-tags"> 林業 <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%A0%BC%E5%B7%AE/" data-gtm-click-label="user-tags"> 格差 <span class="count">(30)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%A8%AA%E6%B5%9C/" data-gtm-click-label="user-tags"> 横浜 <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/" data-gtm-click-label="user-tags"> 機械学習 <span class="count">(310)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%AC%A7%E5%B7%9E/" data-gtm-click-label="user-tags"> 欧州 <span class="count">(77)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE/" data-gtm-click-label="user-tags"> 正規表現 <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%AD%AF%E7%A7%91/" data-gtm-click-label="user-tags"> 歯科 <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%AD%B4%E5%8F%B2/" data-gtm-click-label="user-tags"> 歴史 <span class="count">(529)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%AD%B4%E5%8F%B2%E4%BF%AE%E6%AD%A3%E4%B8%BB%E7%BE%A9/" data-gtm-click-label="user-tags"> 歴史修正主義 <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%B0%97%E8%B1%A1/" data-gtm-click-label="user-tags"> 気象 <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%B1%BA%E6%B8%88/" data-gtm-click-label="user-tags"> 決済 <span class="count">(101)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%B2%96%E7%B8%84/" data-gtm-click-label="user-tags"> 沖縄 <span class="count">(38)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%B3%95%E5%BE%8B/" data-gtm-click-label="user-tags"> 法律 <span class="count">(77)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%B5%B7%E5%A4%96/" data-gtm-click-label="user-tags"> 海外 <span class="count">(17)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%B5%B7%E5%A4%96%E3%81%AE%E5%8F%8D%E5%BF%9C/" data-gtm-click-label="user-tags"> 海外の反応 <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%B7%B1%E5%B1%A4%E5%AD%A6%E7%BF%92/" data-gtm-click-label="user-tags"> 深層学習 <span class="count">(31)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%BC%81%E6%A5%AD/" data-gtm-click-label="user-tags"> 漁業 <span class="count">(69)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E6%BC%AB%E7%94%BB/" data-gtm-click-label="user-tags"> 漫画 <span class="count">(362)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%81%BD%E5%AE%B3/" data-gtm-click-label="user-tags"> 災害 <span class="count">(98)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%82%8E%E4%B8%8A/" data-gtm-click-label="user-tags"> 炎上 <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%82%BA%E6%9B%BF/" data-gtm-click-label="user-tags"> 為替 <span class="count">(94)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%84%A1%E7%B7%9A/" data-gtm-click-label="user-tags"> 無線 <span class="count">(22)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%89%A9%E6%B5%81/" data-gtm-click-label="user-tags"> 物流 <span class="count">(35)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%89%A9%E7%90%86/" data-gtm-click-label="user-tags"> 物理 <span class="count">(25)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%89%B9%E8%A8%B1/" data-gtm-click-label="user-tags"> 特許 <span class="count">(23)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%8A%AF%E7%BD%AA/" data-gtm-click-label="user-tags"> 犯罪 <span class="count">(146)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%8C%AB/" data-gtm-click-label="user-tags"> 猫 <span class="count">(21)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%92%B0%E5%A2%83/" data-gtm-click-label="user-tags"> 環境 <span class="count">(170)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%94%9F%E6%B4%BB/" data-gtm-click-label="user-tags"> 生活 <span class="count">(215)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%94%9F%E7%89%A9/" data-gtm-click-label="user-tags"> 生物 <span class="count">(63)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%94%9F%E7%94%A3%E6%80%A7/" data-gtm-click-label="user-tags"> 生産性 <span class="count">(21)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%94%A3%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="/R2M/%E7%94%BB%E5%83%8F/" data-gtm-click-label="user-tags"> 画像 <span class="count">(36)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%94%BB%E5%83%8F%E5%87%A6%E7%90%86/" data-gtm-click-label="user-tags"> 画像処理 <span class="count">(36)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%9A%87%E5%AE%A4/" data-gtm-click-label="user-tags"> 皇室 <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%9B%A3%E8%A6%96/" data-gtm-click-label="user-tags"> 監視 <span class="count">(51)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%A0%94%E7%A9%B6/" data-gtm-click-label="user-tags"> 研究 <span class="count">(405)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%A4%BE%E4%BC%9A/" data-gtm-click-label="user-tags"> 社会 <span class="count">(1933)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%A4%BE%E4%BC%9A%E4%BF%9D%E9%9A%9C/" data-gtm-click-label="user-tags"> 社会保障 <span class="count">(48)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%A6%8F%E7%A5%89/" data-gtm-click-label="user-tags"> 福祉 <span class="count">(101)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%A7%91%E5%AD%A6/" data-gtm-click-label="user-tags"> 科学 <span class="count">(213)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%A8%8E/" data-gtm-click-label="user-tags"> 税 <span class="count">(134)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%A8%8E%E5%88%B6/" data-gtm-click-label="user-tags"> 税制 <span class="count">(197)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%A8%8E%E9%87%91/" data-gtm-click-label="user-tags"> 税金 <span class="count">(35)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%AE%A1%E7%90%86/" data-gtm-click-label="user-tags"> 管理 <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%B1%B3%E5%9B%BD/" data-gtm-click-label="user-tags"> 米国 <span class="count">(234)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%B2%BE%E7%A5%9E/" data-gtm-click-label="user-tags"> 精神 <span class="count">(62)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%B4%A0%E6%9D%90/" data-gtm-click-label="user-tags"> 素材 <span class="count">(25)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%B5%84%E3%81%BF%E8%BE%BC%E3%81%BF/" data-gtm-click-label="user-tags"> 組み込み <span class="count">(32)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%B5%84%E7%B9%94/" data-gtm-click-label="user-tags"> 組織 <span class="count">(47)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%B5%8C%E5%96%B6/" data-gtm-click-label="user-tags"> 経営 <span class="count">(91)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%B5%8C%E6%B8%88/" data-gtm-click-label="user-tags"> 経済 <span class="count">(2008)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%B5%8C%E6%B8%88%E5%AD%A6/" data-gtm-click-label="user-tags"> 経済学 <span class="count">(365)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%B5%B1%E8%A8%88/" data-gtm-click-label="user-tags"> 統計 <span class="count">(132)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E7%B5%B1%E8%A8%88%E5%AD%A6/" data-gtm-click-label="user-tags"> 統計学 <span class="count">(20)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%82%B2%E5%85%90/" data-gtm-click-label="user-tags"> 育児 <span class="count">(76)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%84%B3/" data-gtm-click-label="user-tags"> 脳 <span class="count">(17)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%87%AA%E5%8B%95%E8%BB%8A/" data-gtm-click-label="user-tags"> 自動車 <span class="count">(216)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%87%AA%E5%8B%95%E9%81%8B%E8%BB%A2/" data-gtm-click-label="user-tags"> 自動運転 <span class="count">(28)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%87%AA%E6%B2%BB%E4%BD%93/" data-gtm-click-label="user-tags"> 自治体 <span class="count">(34)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86/" data-gtm-click-label="user-tags"> 自然言語処理 <span class="count">(44)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%87%AA%E8%A1%9B%E9%9A%8A/" data-gtm-click-label="user-tags"> 自衛隊 <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%88%AA%E7%A9%BA/" data-gtm-click-label="user-tags"> 航空 <span class="count">(41)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%88%B9/" data-gtm-click-label="user-tags"> 船 <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%8A%B8%E8%83%BD/" data-gtm-click-label="user-tags"> 芸能 <span class="count">(211)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%8A%B8%E8%A1%93/" data-gtm-click-label="user-tags"> 芸術 <span class="count">(19)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%8B%B1%E5%9B%BD/" data-gtm-click-label="user-tags"> 英国 <span class="count">(49)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%8B%B1%E8%AA%9E/" data-gtm-click-label="user-tags"> 英語 <span class="count">(74)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%91%97%E4%BD%9C%E6%A8%A9/" data-gtm-click-label="user-tags"> 著作権 <span class="count">(68)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%99%90%E6%AE%BA/" data-gtm-click-label="user-tags"> 虐殺 <span class="count">(26)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%A1%8C%E6%94%BF/" data-gtm-click-label="user-tags"> 行政 <span class="count">(842)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%A1%A8%E7%8F%BE/" data-gtm-click-label="user-tags"> 表現 <span class="count">(28)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%A3%81%E5%88%A4/" data-gtm-click-label="user-tags"> 裁判 <span class="count">(74)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%A3%BD%E5%93%81/" data-gtm-click-label="user-tags"> 製品 <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%A3%BD%E9%80%A0/" data-gtm-click-label="user-tags"> 製造 <span class="count">(47)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%A6%8F%E5%88%B6/" data-gtm-click-label="user-tags"> 規制 <span class="count">(22)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%A6%8F%E6%A0%BC/" data-gtm-click-label="user-tags"> 規格 <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%A6%B3%E5%85%89/" data-gtm-click-label="user-tags"> 観光 <span class="count">(36)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%A8%80%E8%91%89/" data-gtm-click-label="user-tags"> 言葉 <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%A8%80%E8%AA%9E/" data-gtm-click-label="user-tags"> 言語 <span class="count">(63)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%A8%AD%E8%A8%88/" data-gtm-click-label="user-tags"> 設計 <span class="count">(205)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%A8%B4%E8%A8%9F/" data-gtm-click-label="user-tags"> 訴訟 <span class="count">(34)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%AA%8D%E8%A8%BC/" data-gtm-click-label="user-tags"> 認証 <span class="count">(101)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%AA%AD%E3%81%BF%E7%89%A9/" data-gtm-click-label="user-tags"> 読み物 <span class="count">(36)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%AA%BF%E6%9F%BB/" data-gtm-click-label="user-tags"> 調査 <span class="count">(34)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%AB%96%E6%96%87/" data-gtm-click-label="user-tags"> 論文 <span class="count">(44)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%AB%9C%E5%A0%B1/" data-gtm-click-label="user-tags"> 諜報 <span class="count">(18)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%AD%A6%E5%AF%9F/" data-gtm-click-label="user-tags"> 警察 <span class="count">(32)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%AD%B0%E8%AB%96/" data-gtm-click-label="user-tags"> 議論 <span class="count">(51)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%B2%A1%E6%94%BF/" data-gtm-click-label="user-tags"> 財政 <span class="count">(104)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%B2%A7%E5%9B%B0/" data-gtm-click-label="user-tags"> 貧困 <span class="count">(66)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%B2%BF%E6%98%93/" data-gtm-click-label="user-tags"> 貿易 <span class="count">(97)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%B3%87%E6%96%99/" data-gtm-click-label="user-tags"> 資料 <span class="count">(37)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%B3%87%E6%BA%90/" data-gtm-click-label="user-tags"> 資源 <span class="count">(26)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%BB%8A/" data-gtm-click-label="user-tags"> 車 <span class="count">(86)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%BB%8D%E4%BA%8B/" data-gtm-click-label="user-tags"> 軍事 <span class="count">(513)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E8%BE%B2%E6%A5%AD/" data-gtm-click-label="user-tags"> 農業 <span class="count">(197)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%80%9A%E4%BF%A1/" data-gtm-click-label="user-tags"> 通信 <span class="count">(99)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%80%9A%E8%B2%A8/" data-gtm-click-label="user-tags"> 通貨 <span class="count">(33)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%81%8B%E7%94%A8/" data-gtm-click-label="user-tags"> 運用 <span class="count">(96)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%81%93%E5%85%B7/" data-gtm-click-label="user-tags"> 道具 <span class="count">(15)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%81%B8%E6%8C%99/" data-gtm-click-label="user-tags"> 選挙 <span class="count">(181)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%83%B5%E6%94%BF/" data-gtm-click-label="user-tags"> 郵政 <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%83%BD%E5%B8%82/" data-gtm-click-label="user-tags"> 都市 <span class="count">(56)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%85%92/" data-gtm-click-label="user-tags"> 酒 <span class="count">(79)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%87%8E%E7%90%83/" data-gtm-click-label="user-tags"> 野球 <span class="count">(38)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%87%91%E8%9E%8D/" data-gtm-click-label="user-tags"> 金融 <span class="count">(565)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%87%91%E8%9E%8D%E6%94%BF%E7%AD%96/" data-gtm-click-label="user-tags"> 金融政策 <span class="count">(184)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%89%84%E9%81%93/" data-gtm-click-label="user-tags"> 鉄道 <span class="count">(66)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%8A%80%E8%A1%8C/" data-gtm-click-label="user-tags"> 銀行 <span class="count">(75)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-tags"> 開発 <span class="count">(497)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%9A%9C%E5%AE%B3/" data-gtm-click-label="user-tags"> 障害 <span class="count">(101)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%9B%87%E7%94%A8/" data-gtm-click-label="user-tags"> 雇用 <span class="count">(108)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%9B%A3%E6%B0%91/" data-gtm-click-label="user-tags"> 難民 <span class="count">(18)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%9B%BB%E5%8A%9B/" data-gtm-click-label="user-tags"> 電力 <span class="count">(20)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%9B%BB%E5%8A%9B%E4%BC%9A%E7%A4%BE/" data-gtm-click-label="user-tags"> 電力会社 <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%9B%BB%E5%AD%90/" data-gtm-click-label="user-tags"> 電子 <span class="count">(17)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%9B%BB%E5%AD%90%E5%B7%A5%E4%BD%9C/" data-gtm-click-label="user-tags"> 電子工作 <span class="count">(31)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%9B%BB%E5%AD%90%E6%9B%B8%E7%B1%8D/" data-gtm-click-label="user-tags"> 電子書籍 <span class="count">(22)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%9B%BB%E6%B0%97/" data-gtm-click-label="user-tags"> 電気 <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%9B%BB%E8%A9%B1/" data-gtm-click-label="user-tags"> 電話 <span class="count">(15)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%9F%93%E5%9B%BD/" data-gtm-click-label="user-tags"> 韓国 <span class="count">(195)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%9F%B3%E6%A5%BD/" data-gtm-click-label="user-tags"> 音楽 <span class="count">(175)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%A0%98%E5%9C%9F/" data-gtm-click-label="user-tags"> 領土 <span class="count">(71)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%A3%9F/" data-gtm-click-label="user-tags"> 食 <span class="count">(637)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%A3%9F%E5%93%81/" data-gtm-click-label="user-tags"> 食品 <span class="count">(19)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/%E9%A6%99%E6%B8%AF/" data-gtm-click-label="user-tags"> 香港 <span class="count">(18)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/R2M/%E6%94%BF%E6%B2%BB/" data-gtm-click-label="user-tags"> 政治 <span class="count">(2287)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/R2M/%E7%B5%8C%E6%B8%88/" data-gtm-click-label="user-tags"> 経済 <span class="count">(2008)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/R2M/%E7%A4%BE%E4%BC%9A/" data-gtm-click-label="user-tags"> 社会 <span class="count">(1933)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/R2M/%E5%8A%B4%E5%83%8D/" data-gtm-click-label="user-tags"> 労働 <span class="count">(1070)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/R2M/%E5%8C%BB%E7%99%82/" data-gtm-click-label="user-tags"> 医療 <span class="count">(942)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/R2M/%E3%83%8D%E3%82%BF/" data-gtm-click-label="user-tags"> ネタ <span class="count">(893)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/R2M/%E8%A1%8C%E6%94%BF/" data-gtm-click-label="user-tags"> 行政 <span class="count">(842)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/R2M/%E4%B8%AD%E5%9B%BD/" data-gtm-click-label="user-tags"> 中国 <span class="count">(762)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/R2M/%E3%82%B2%E3%83%BC%E3%83%A0/" data-gtm-click-label="user-tags"> ゲーム <span class="count">(660)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/R2M/%E9%A3%9F/" data-gtm-click-label="user-tags"> 食 <span class="count">(637)</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">関連タグで絞り込む (9)</h3> <ul class="centerarticle-sub-navi"> <li> <a href="/R2M/GraphQL/API/" > API </a> </li> <li> <a href="/R2M/GraphQL/database/" > database </a> </li> <li> <a href="/R2M/GraphQL/GitHub/" > GitHub </a> </li> <li> <a href="/R2M/GraphQL/graphql/" > graphql </a> </li> <li> <a href="/R2M/GraphQL/gRPC/" > gRPC </a> </li> <li> <a href="/R2M/GraphQL/react/" > react </a> </li> <li> <a href="/R2M/GraphQL/rust/" > rust </a> </li> <li> <a href="/R2M/GraphQL/TypeScript/" > TypeScript </a> </li> <li> <a href="/R2M/GraphQL/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" > あとで読む </a> </li> </ul> <p class="centerarticle-sub-navi-more"> <a href="/R2M/bookmark">タグの絞り込みを解除</a> </p> </div> </div> <div class="center-container"> <div class="centerarticle-title-container"> <h2 class="centerarticle-title"> GraphQLに関するR2Mのブックマーク (15) </h2> </div> <div > <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="/R2M/{{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="/R2M/{{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/384dc1d336d3aaeb338666fdd1d11e38974714c5/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://tech.smarthr.jp/entry/2023/07/20/120000"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://tech.smarthr.jp/entry/2023/07/20/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%2Ftech.smarthr.jp%2Fentry%2F2023%2F07%2F20%2F120000" alt="">SmartHRのマルチアプリケーションに分散した従業員データを集約する - SmartHR Tech Blog</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/tech.smarthr.jp/entry/2023/07/20/120000" class="js-keyboard-entry-page-openable" title="SmartHRのマルチアプリケーションに分散した従業員データを集約する - SmartHR Tech Blog (59ブックマーク)" data-gtm-click-label="user-bookmark-users">59 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Ftech.smarthr.jp%2F" title="『tech.smarthr.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> tech.smarthr.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/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC">プログラマー</a>のkinoppydです。最近は<a data-gtm-click-label="entry-summary-keyword" href="/q/smarthr">SmartHR</a>内でのプロダクトを横断して開発を行うプロダクト基盤チームというところで<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/tech">tech</a>.<a data-gtm-click-label="entry-summary-keyword" href="/q/smarthr">smarthr</a>.jp <a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a>集めるマンの概念図 分散したプロダクトの課題 <a data-gtm-click-label="entry-summary-keyword" href="/q/smarthr">SmartHR</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%9C%AC">本</a>機能」にある従業員情報を使い文書配布、年末調整、タレントマネジメントなどを行う小さなアプリケーション群によってサービスが提供されています。各アプリケーションは完全に独立したリポジトリとデータベースを持っており、「基<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>機能」とのデータのやり取りには公開・非公開のREST <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>を利用しています。 <a data-gtm-click-label="entry-summary-keyword" href="/q/smarthr">SmartHR</a>のプロダクト間の構成概略図 <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>で繋がれた基<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>機能とサービスの世界観には、一つ問題点があります。それは、複数のサービス</p> <a href="https://tech.smarthr.jp/entry/2023/07/20/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/3e145ba12fa3d1f3f2b1fbd04c36e2a9d3c5e239/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F026574e35b428e0fd49f8701773678be43347e5a%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fs%252Fsmarthr%252F20240205%252F20240205175515.png" alt="SmartHRのマルチアプリケーションに分散した従業員データを集約する - SmartHR Tech Blog"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4739582166915949797"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://tech.smarthr.jp/entry/2023/07/20/120000" data-user-name="R2M"> <a href="/R2M/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/R2M/profile.png" alt="R2M" title="R2M" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/R2M/20230721#bookmark-4739582166915949797" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2023/07/21</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="/R2M/GraphQL/" data-gtm-click-label="user-reaction-tag">GraphQL</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4739582166915949797/comment/R2M" 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/sonatard/graphql-knowhow"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://speakerdeck.com/sonatard/graphql-knowhow" 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%2Fsonatard%2Fgraphql-knowhow" alt="">GraphQL実践ノウハウ/graphql-knowhow</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/speakerdeck.com/sonatard/graphql-knowhow" class="js-keyboard-entry-page-openable" title="GraphQL実践ノウハウ/graphql-knowhow (313ブックマーク)" data-gtm-click-label="user-bookmark-users">313 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fspeakerdeck.com%2Fsonatard" title="『speakerdeck.com/sonatard』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> speakerdeck.com/sonatard </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/GraphQL">GraphQL</a>実践ノウハウv2 https://<a data-gtm-click-label="entry-summary-keyword" href="/q/speakerdeck">speakerdeck</a>.com/sonatard/<a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">graphql</a>-knowhow-v2 宣言的<a data-gtm-click-label="entry-summary-keyword" href="/q/UI">UI</a>の状態管理とアーキテクチャ<a data-gtm-click-label="entry-summary-keyword" href="/q/swift">Swift</a><a data-gtm-click-label="entry-summary-keyword" href="/q/UI">UI</a>と<a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a>による実践 https://<a data-gtm-click-label="entry-summary-keyword" href="/q/speakerdeck">speakerdeck</a>.com/sonatard/<a data-gtm-click-label="entry-summary-keyword" href="/q/swift">swift</a><a data-gtm-click-label="entry-summary-keyword" href="/q/UI">ui</a>…</p> <a href="https://speakerdeck.com/sonatard/graphql-knowhow" 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/6b7a90683d3dc4dd1153918b00e7627262a718f3/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fd5635c53c7dc4761a0b2771d67675a7c%2Fslide_0.jpg%3F23242794" alt="GraphQL実践ノウハウ/graphql-knowhow"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4726281299951962499"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://speakerdeck.com/sonatard/graphql-knowhow" data-user-name="R2M"> <a href="/R2M/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/R2M/profile.png" alt="R2M" title="R2M" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/R2M/20221007#bookmark-4726281299951962499" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2022/10/07</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="/R2M/%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="/R2M/GraphQL/" data-gtm-click-label="user-reaction-tag">GraphQL</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4726281299951962499/comment/R2M" 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://findy-code.io/pick-up/interviews/souzoh-engineer"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://findy-code.io/pick-up/interviews/souzoh-engineer" 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%2Ffindy-code.io%2Fpick-up%2Finterviews%2Fsouzoh-engineer" alt="">NestJSでスケーラブルなBFFを構築。メルカリShopsエンジニアがGraphQL活用のリアルを語る【技術選定の裏側:GraphQL編 vol.2】 | IT/Webエンジニアの転職・求人サイトFindy – GitHubからスキル偏差値を算出</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/findy-code.io/pick-up/interviews/souzoh-engineer" class="js-keyboard-entry-page-openable" title="NestJSでスケーラブルなBFFを構築。メルカリShopsエンジニアがGraphQL活用のリアルを語る【技術選定の裏側:GraphQL編 vol.2】 | IT/Webエンジニアの転職・求人サイトFindy – GitHubからスキル偏差値を算出 (72ブックマーク)" data-gtm-click-label="user-bookmark-users">72 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Ffindy-code.io%2F" title="『findy-code.io』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> findy-code.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">ハイクラス<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/%E8%BB%A2%E8%81%B7">転職</a>・求人サイト。自社開発のWeb企業の求人多数!<a data-gtm-click-label="entry-summary-keyword" href="/q/github">GitHub</a>登録をすると、<a data-gtm-click-label="entry-summary-keyword" href="/q/it">IT</a>/Web企業とマッチングします。ユーザーサクセス (キャリア)面談も実施。</p> <a href="https://findy-code.io/pick-up/interviews/souzoh-engineer" 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/dbc4aa505fe9b91db00717babd7ce7eca4b61917/height=288;version=1;width=512/https%3A%2F%2Fs3-ap-northeast-1.amazonaws.com%2Ffindy-code-images%2Finterviews%2Fsouzoh-engineer%2Ftop.jpg" alt="NestJSでスケーラブルなBFFを構築。メルカリShopsエンジニアがGraphQL活用のリアルを語る【技術選定の裏側:GraphQL編 vol.2】 | IT/Webエンジニアの転職・求人サイトFindy – GitHubからスキル偏差値を算出"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4716476778875349794"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://findy-code.io/pick-up/interviews/souzoh-engineer" data-user-name="R2M"> <a href="/R2M/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/R2M/profile.png" alt="R2M" title="R2M" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/R2M/20220309#bookmark-4716476778875349794" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2022/03/09</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="/R2M/GraphQL/" data-gtm-click-label="user-reaction-tag">GraphQL</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4716476778875349794/comment/R2M" 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://note.com/qsona/n/n8362e4721748"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://note.com/qsona/n/n8362e4721748" 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%2Fnote.com%2Fqsona%2Fn%2Fn8362e4721748" alt="">RESTful API との比較で GraphQL API を作ることの難しさ|qsona</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/note.com/qsona/n/n8362e4721748" class="js-keyboard-entry-page-openable" title="RESTful API との比較で GraphQL API を作ることの難しさ|qsona (296ブックマーク)" data-gtm-click-label="user-bookmark-users">296 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fnote.com%2Fqsona" title="『note.com/qsona』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> note.com/qsona </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/API">API</a> の設計手法として、以下の2つのパターンが考えられる ・Resource-based <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> ・Usecase-based <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> Usecase-based というのは要はクライアントの要求にそのまま沿った形で <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> を作るということだ。しかし、<a data-gtm-click-label="entry-summary-keyword" href="/q/UI">UI</a> やその他クライアントの要求というのは変わりやすいものなので、そのたびにいちいち <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> を変更しないといけないとか、<a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> に一貫性がなくて使いにくいとか、1つの endpoint で多数の要求に対処する "神<a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>" が作られてパフォーマンスが悪化する、というような問題が起こる。 したがって、注意深く RESTful <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> を設計すると Resource-based になる。ここで言っている Resource というのはテーブル設計にやや近いが、そのまま</p> <a href="https://note.com/qsona/n/n8362e4721748" 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/fbfe05b395ea7fded5a587409c90d60ca7a675e1/height=288;version=1;width=512/https%3A%2F%2Fd2l930y2yx77uc.cloudfront.net%2Fproduction%2Fsocial_images%2F0639f4cb8241bd7bdbb14a59c01f381247e880b4.jpg" alt="RESTful API との比較で GraphQL API を作ることの難しさ|qsona"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4716301081371823842"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://note.com/qsona/n/n8362e4721748" data-user-name="R2M"> <a href="/R2M/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/R2M/profile.png" alt="R2M" title="R2M" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/R2M/20220306#bookmark-4716301081371823842" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2022/03/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="/R2M/API/" data-gtm-click-label="user-reaction-tag">API</a></li> <li><a href="/R2M/GraphQL/" data-gtm-click-label="user-reaction-tag">GraphQL</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4716301081371823842/comment/R2M" 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://findy-code.io/pick-up/interviews/mobilitytechnologies-engineer"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://findy-code.io/pick-up/interviews/mobilitytechnologies-engineer" 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%2Ffindy-code.io%2Fpick-up%2Finterviews%2Fmobilitytechnologies-engineer" alt="">API設計が楽でコア業務に集中できるように。GraphQLで開発がどう変わったか?タクシーアプリGOの中の人に聞きました【技術選定の裏側:GraphQL編 vol.1】 | IT/Webエンジニアの転職・求人サイトFindy – GitHubからスキル偏差値を算出</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/findy-code.io/pick-up/interviews/mobilitytechnologies-engineer" class="js-keyboard-entry-page-openable" title="API設計が楽でコア業務に集中できるように。GraphQLで開発がどう変わったか?タクシーアプリGOの中の人に聞きました【技術選定の裏側:GraphQL編 vol.1】 | IT/Webエンジニアの転職・求人サイトFindy – GitHubからスキル偏差値を算出 (92ブックマーク)" data-gtm-click-label="user-bookmark-users">92 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Ffindy-code.io%2F" title="『findy-code.io』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> findy-code.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">ハイクラス<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/%E8%BB%A2%E8%81%B7">転職</a>・求人サイト。自社開発のWeb企業の求人多数!<a data-gtm-click-label="entry-summary-keyword" href="/q/github">GitHub</a>登録をすると、<a data-gtm-click-label="entry-summary-keyword" href="/q/it">IT</a>/Web企業とマッチングします。ユーザーサクセス (キャリア)面談も実施。</p> <a href="https://findy-code.io/pick-up/interviews/mobilitytechnologies-engineer" 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/73a9f3472ece625bd33afb386f650ce55e5baf34/height=288;version=1;width=512/https%3A%2F%2Fs3-ap-northeast-1.amazonaws.com%2Ffindy-code-images%2Finterviews%2Fmobilitytechnologies-engineer%2Ftop.jpg" alt="API設計が楽でコア業務に集中できるように。GraphQLで開発がどう変わったか?タクシーアプリGOの中の人に聞きました【技術選定の裏側:GraphQL編 vol.1】 | IT/Webエンジニアの転職・求人サイトFindy – GitHubからスキル偏差値を算出"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4716152291296671650"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://findy-code.io/pick-up/interviews/mobilitytechnologies-engineer" data-user-name="R2M"> <a href="/R2M/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/R2M/profile.png" alt="R2M" title="R2M" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/R2M/20220302#bookmark-4716152291296671650" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2022/03/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="/R2M/API/" data-gtm-click-label="user-reaction-tag">API</a></li> <li><a href="/R2M/GraphQL/" data-gtm-click-label="user-reaction-tag">GraphQL</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4716152291296671650/comment/R2M" 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/quramy/graphqltofalsexiang-kihe-ifang-2022nian-ban"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://speakerdeck.com/quramy/graphqltofalsexiang-kihe-ifang-2022nian-ban" 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%2Fquramy%2Fgraphqltofalsexiang-kihe-ifang-2022nian-ban" alt="">GraphQLとの向き合い方2022年版</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/speakerdeck.com/quramy/graphqltofalsexiang-kihe-ifang-2022nian-ban" class="js-keyboard-entry-page-openable" title="GraphQLとの向き合い方2022年版 (343ブックマーク)" data-gtm-click-label="user-bookmark-users">343 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fspeakerdeck.com%2Fquramy" title="『speakerdeck.com/quramy』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> speakerdeck.com/quramy </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%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89">フロントエンド</a>カンファレンス<a data-gtm-click-label="entry-summary-keyword" href="/q/%E5%8C%97%E6%B5%B7%E9%81%93">北海道</a>2024 『小規模サイトでも使えるV<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>e 〜<a data-gtm-click-label="entry-summary-keyword" href="/q/HTML">HTML</a>コーディングをよりスマートに〜』長谷川広武(ハム)</p> <a href="https://speakerdeck.com/quramy/graphqltofalsexiang-kihe-ifang-2022nian-ban" 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/6e2e2b5d3a2756766dd4423fcc7f09e28a0ce760/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F4e14ac32e93547ce844c44c9e7b35237%2Fslide_0.jpg%3F20545460" alt="GraphQLとの向き合い方2022年版"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4715795077633191202"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://speakerdeck.com/quramy/graphqltofalsexiang-kihe-ifang-2022nian-ban" data-user-name="R2M"> <a href="/R2M/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/R2M/profile.png" alt="R2M" title="R2M" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/R2M/20220223#bookmark-4715795077633191202" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2022/02/23</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="/R2M/GraphQL/" data-gtm-click-label="user-reaction-tag">GraphQL</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4715795077633191202/comment/R2M" 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/cockscomb/graphql-highway"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://speakerdeck.com/cockscomb/graphql-highway" 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%2Fcockscomb%2Fgraphql-highway" alt="">GraphQL Highway</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/speakerdeck.com/cockscomb/graphql-highway" class="js-keyboard-entry-page-openable" title="GraphQL Highway (276ブックマーク)" data-gtm-click-label="user-bookmark-users">276 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fspeakerdeck.com%2Fcockscomb" title="『speakerdeck.com/cockscomb』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> speakerdeck.com/cockscomb </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/rails">Rails</a>#40</p> <a href="https://speakerdeck.com/cockscomb/graphql-highway" 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/eb975b97ea2915194ccf739efed9703515313c37/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F340008e80eb84a2b959aaf2862f66dfd%2Fslide_0.jpg%3F19834818" alt="GraphQL Highway"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4712694762529555746"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://speakerdeck.com/cockscomb/graphql-highway" data-user-name="R2M"> <a href="/R2M/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/R2M/profile.png" alt="R2M" title="R2M" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/R2M/20211218#bookmark-4712694762529555746" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2021/12/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="/R2M/GraphQL/" data-gtm-click-label="user-reaction-tag">GraphQL</a></li> <li><a href="/R2M/API/" data-gtm-click-label="user-reaction-tag">API</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4712694762529555746/comment/R2M" 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://shogo82148.github.io/blog/2021/11/29/github-graphql-global-node-id-will-change/"> <div class="centerarticle-entry "> <h3 class="centerarticle-entry-title"> <a href="https://shogo82148.github.io/blog/2021/11/29/github-graphql-global-node-id-will-change/" 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%2Fshogo82148.github.io%2Fblog%2F2021%2F11%2F29%2Fgithub-graphql-global-node-id-will-change%2F" alt="">GitHub GraphQL のノードIDフォーマットが変わるらしい</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/shogo82148.github.io/blog/2021/11/29/github-graphql-global-node-id-will-change/" class="js-keyboard-entry-page-openable" title="GitHub GraphQL のノードIDフォーマットが変わるらしい (21ブックマーク)" data-gtm-click-label="user-bookmark-users">21 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fshogo82148.github.io%2F" title="『shogo82148.github.io』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> shogo82148.github.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">弊社では <a data-gtm-click-label="entry-summary-keyword" href="/q/Terraform">Terraform</a> <a data-gtm-click-label="entry-summary-keyword" href="/q/github">GitHub</a> Provider を使って <a data-gtm-click-label="entry-summary-keyword" href="/q/github">GitHub</a> のレポジトリ管理・権限管理などを行っているのですが、 プロバイダーが repos<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>ory_id を認識してくれない問題に遭遇しました。 原因を探ってみると <a data-gtm-click-label="entry-summary-keyword" href="/q/github">GitHub</a> <a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a> <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> に かなり大きな変更が入ること を知ったので、メモとして残しておきます。 グローバルノードID <a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a> <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> から扱えるすべてのオブジェクト (レポジトリ、ユーザー、<a data-gtm-click-label="entry-summary-keyword" href="/q/etc">etc</a>) にはIDが振ってあります。 Using global node IDs 例えば僕 (@sho<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>82148) のノードIDは MDQ6VXNlcjExNTczNDQ= です。 $ <a data-gtm-click-label="entry-summary-keyword" href="/q/cURL">curl</a> https://<a data-gtm-click-label="entry-summary-keyword" href="/q/API">api</a>.<a data-gtm-click-label="entry-summary-keyword" href="/q/github">github</a>.com/users/sho<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>82148 | jq .node_id "MDQ6VXNlcjExNTcz</p> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4711930474860040578"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://shogo82148.github.io/blog/2021/11/29/github-graphql-global-node-id-will-change/" data-user-name="R2M"> <a href="/R2M/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/R2M/profile.png" alt="R2M" title="R2M" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/R2M/20211202#bookmark-4711930474860040578" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2021/12/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="/R2M/GitHub/" data-gtm-click-label="user-reaction-tag">GitHub</a></li> <li><a href="/R2M/GraphQL/" data-gtm-click-label="user-reaction-tag">GraphQL</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4711930474860040578/comment/R2M" 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://github.com/Quramy/gql-study-workshop"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://github.com/Quramy/gql-study-workshop" 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%2Fgithub.com%2FQuramy%2Fgql-study-workshop" alt="">GitHub - Quramy/gql-study-workshop</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/github.com/Quramy/gql-study-workshop" class="js-keyboard-entry-page-openable" title="GitHub - Quramy/gql-study-workshop (38ブックマーク)" data-gtm-click-label="user-bookmark-users">38 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fgithub.com%2FQuramy" title="『github.com/Quramy』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> github.com/Quramy </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">You signed in w<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>h another tab or window. Reload to refresh your <a data-gtm-click-label="entry-summary-keyword" href="/q/session">session</a>. You signed out in another tab or window. Reload to refresh your <a data-gtm-click-label="entry-summary-keyword" href="/q/session">session</a>. You <a data-gtm-click-label="entry-summary-keyword" href="/q/Switch">switch</a>ed accounts on another tab or window. Reload to refresh your <a data-gtm-click-label="entry-summary-keyword" href="/q/session">session</a>. Dismiss alert</p> <a href="https://github.com/Quramy/gql-study-workshop" 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/a58bf89149e488c26e8435938349c04ab4f51163/height=288;version=1;width=512/https%3A%2F%2Fopengraph.githubassets.com%2F218ad584f06d95ac4c988511874e8dae88f1184375a26084ffe7f6431be11a45%2FQuramy%2Fgql-study-workshop" alt="GitHub - Quramy/gql-study-workshop"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4705033249904772962"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://github.com/Quramy/gql-study-workshop" data-user-name="R2M"> <a href="/R2M/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/R2M/profile.png" alt="R2M" title="R2M" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/R2M/20210706#bookmark-4705033249904772962" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2021/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="/R2M/GraphQL/" data-gtm-click-label="user-reaction-tag">GraphQL</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4705033249904772962/comment/R2M" 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/tatta/books/5096cb23126e64"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/tatta/books/5096cb23126e64" 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%2Ftatta%2Fbooks%2F5096cb23126e64" alt="">TypeScript * GraphQLのバックエンド設計プラクティス</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/tatta/books/5096cb23126e64" class="js-keyboard-entry-page-openable" title="TypeScript * GraphQLのバックエンド設計プラクティス (333ブックマーク)" data-gtm-click-label="user-bookmark-users">333 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fzenn.dev%2Ftatta" title="『zenn.dev/tatta』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> zenn.dev/tatta </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">2冊目も公開中なのでみてください! https://<a data-gtm-click-label="entry-summary-keyword" href="/q/Zenn">zenn</a>.dev/tatta/books/4e993c596e7dc9 <a data-gtm-click-label="entry-summary-keyword" href="/q/TypeScript">TypeScript</a>を使いはじめて1年になるので、バックエンドのWebアプリを設計するときに気を付けていることをまとめました。(※社内勉強会用資料の公開版です。) <a data-gtm-click-label="entry-summary-keyword" href="/q/TypeScript">TypeScript</a>については、<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/%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89">フロントエンド</a>に関する公開情報が豊富です。一方でバックエンドに関する公開情報が少ないと感じています。(かくいう私も<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/TypeScript">TypeScript</a> * <a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a> という構成は<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/%E8%B6%A3%E5%91%B3">趣味</a>で採用されている方も多いのではないでしょうか? 私もその1人です。私のような方のためにも、バックエンドの設計プラクティスについてまとめようと思い筆を取りました。 <a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>書がこれから始める読者にとっては教科書のようになり、</p> <a href="https://zenn.dev/tatta/books/5096cb23126e64" 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/c7f8ad90f48e9c9d41ff316b5a39a75da15f2248/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--APge3F_u--%2Fg_center%252Ch_280%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYm9va19jb3Zlci84M2U4NWNlYjE5LmpwZw%3D%3D%252Cw_200%2Fv1627283836%2Fdefault%2Fog-base-book_yz4z02.jpg" alt="TypeScript * GraphQLのバックエンド設計プラクティス"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4704568446701960258"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://zenn.dev/tatta/books/5096cb23126e64" data-user-name="R2M"> <a href="/R2M/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/R2M/profile.png" alt="R2M" title="R2M" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/R2M/20210627#bookmark-4704568446701960258" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2021/06/27</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="/R2M/TypeScript/" data-gtm-click-label="user-reaction-tag">TypeScript</a></li> <li><a href="/R2M/GraphQL/" data-gtm-click-label="user-reaction-tag">GraphQL</a></li> <li><a href="/R2M/API/" data-gtm-click-label="user-reaction-tag">API</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4704568446701960258/comment/R2M" 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.wantedly.com/companies/wantedly/post_articles/314403"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://www.wantedly.com/companies/wantedly/post_articles/314403" 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.wantedly.com%2Fcompanies%2Fwantedly%2Fpost_articles%2F314403" alt="">RustでProtocol BuffersからGraphQL BFFを自動生成してみた知見 | Wantedly Engineer Blog</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.wantedly.com/companies/wantedly/post_articles/314403" class="js-keyboard-entry-page-openable" title="RustでProtocol BuffersからGraphQL BFFを自動生成してみた知見 | Wantedly Engineer Blog (55ブックマーク)" data-gtm-click-label="user-bookmark-users">55 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fwww.wantedly.com%2F" title="『www.wantedly.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> www.wantedly.com </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/wantedly">Wantedly</a>でインターンをしている遠藤です。インターンのタスクとして「<a data-gtm-click-label="entry-summary-keyword" href="/q/Rust">Rust</a>でProtocol Buffersから<a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a> BFFを自動生成する」という<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%8A%80%E8%A1%93">技術</a>検証で作成したツールのソースコードはここにあります: EXPERIMENTAL] Generate <a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a> sch<a data-gtm-click-label="entry-summary-keyword" href="/q/EM">em</a>a and <a data-gtm-click-label="entry-summary-keyword" href="/q/gateway">gateway</a> from Proto defin<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>ions. Licensed under e<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>her of Apache License, Version 2.0 or M<a data-gtm-click-label="entry-summary-keyword" href="/q/it">IT</a> license at your option. Unless you explic<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>ly state otherwise, any contribution intentionally subm<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>ted for inclusion in</p> <a href="https://www.wantedly.com/companies/wantedly/post_articles/314403" 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/a6f6375f52a829417ff4efdc4195589871e36ceb/height=288;version=1;width=512/https%3A%2F%2Fimages.wantedly.com%2Fi%2F9pKex5a%3Fw%3D1200%26h%3D630%26style%3Dcover" alt="RustでProtocol BuffersからGraphQL BFFを自動生成してみた知見 | Wantedly Engineer Blog"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4700350679328581922"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://www.wantedly.com/companies/wantedly/post_articles/314403" data-user-name="R2M"> <a href="/R2M/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/R2M/profile.png" alt="R2M" title="R2M" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/R2M/20210328#bookmark-4700350679328581922" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2021/03/28</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="/R2M/rust/" data-gtm-click-label="user-reaction-tag">rust</a></li> <li><a href="/R2M/GraphQL/" data-gtm-click-label="user-reaction-tag">GraphQL</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4700350679328581922/comment/R2M" 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://productionreadygraphql.com/blog/2020-05-21-graphql-to-sql/"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://productionreadygraphql.com/blog/2020-05-21-graphql-to-sql/" 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%2Fproductionreadygraphql.com%2Fblog%2F2020-05-21-graphql-to-sql%2F" alt="">On GraphQL-to-SQL</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/productionreadygraphql.com/blog/2020-05-21-graphql-to-sql/" class="js-keyboard-entry-page-openable" title="On GraphQL-to-SQL (30ブックマーク)" data-gtm-click-label="user-bookmark-users">30 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fproductionreadygraphql.com%2F" title="『productionreadygraphql.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> productionreadygraphql.com </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/GraphQL">GraphQL</a> has a reputation for <a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>s N+1 pro<a data-gtm-click-label="entry-summary-keyword" href="/q/BL">bl</a><a data-gtm-click-label="entry-summary-keyword" href="/q/EM">em</a> which can often happen when impl<a data-gtm-click-label="entry-summary-keyword" href="/q/EM">em</a>ented n<a data-gtm-click-label="entry-summary-keyword" href="/q/ai">ai</a>vely. This leads to a lot of us trying to solve the issue of data f<a data-gtm-click-label="entry-summary-keyword" href="/q/etc">etc</a>hing 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/GraphQL">GraphQL</a> in the most efficient way possi<a data-gtm-click-label="entry-summary-keyword" href="/q/BL">bl</a>e. Besides the popular Dataloader approach, another very co<a data-gtm-click-label="entry-summary-keyword" href="/q/MMO">mmo</a>n way of tackling this pro<a data-gtm-click-label="entry-summary-keyword" href="/q/BL">bl</a><a data-gtm-click-label="entry-summary-keyword" href="/q/EM">em</a> is by taking a <a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a> query, and coming up w<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>h the exact <a data-gtm-click-label="entry-summary-keyword" href="/q/SQL">SQL</a> needed to resolve <a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>: // example fr</p> <a href="https://productionreadygraphql.com/blog/2020-05-21-graphql-to-sql/" 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/2a6871ce011e7b013c0ff7586468c7f8fd4cb7c8/height=288;version=1;width=512/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1524514587686-e2909d726e9b%3Fixlib%3Drb-1.2.1%26ixid%3DeyJhcHBfaWQiOjEyMDd9%26auto%3Dformat%26fit%3Dcrop%26w%3D2550%26q%3D80" alt="On GraphQL-to-SQL"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4686096330243783170"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://productionreadygraphql.com/blog/2020-05-21-graphql-to-sql/" data-user-name="R2M"> <a href="/R2M/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/R2M/profile.png" alt="R2M" title="R2M" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/R2M/20200524#bookmark-4686096330243783170" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2020/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="/R2M/GraphQL/" data-gtm-click-label="user-reaction-tag">GraphQL</a></li> <li><a href="/R2M/database/" data-gtm-click-label="user-reaction-tag">database</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4686096330243783170/comment/R2M" 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://blog.wnotes.net/posts/opensources-grpc-graphql-gateway/"> <div class="centerarticle-entry "> <h3 class="centerarticle-entry-title"> <a href="https://blog.wnotes.net/posts/opensources-grpc-graphql-gateway/" 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.wnotes.net%2Fposts%2Fopensources-grpc-graphql-gateway%2F" alt="">Protocol BuffersでgRPCとGraphQL両対応のコードを生成するプラグイン書いた - blog::wnotes.net</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/blog.wnotes.net/posts/opensources-grpc-graphql-gateway/" class="js-keyboard-entry-page-openable" title="Protocol BuffersでgRPCとGraphQL両対応のコードを生成するプラグイン書いた - blog::wnotes.net (69ブックマーク)" data-gtm-click-label="user-bookmark-users">69 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fblog.wnotes.net%2F" title="『blog.wnotes.net』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> blog.wnotes.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/grpc">gRPC</a>、あるいは<a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a> 昨今の<a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>開発に<a data-gtm-click-label="entry-summary-keyword" href="/q/grpc">gRPC</a>、または<a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a>を採用するケースは増えてきていて、ドメインロジックを<a data-gtm-click-label="entry-summary-keyword" href="/q/grpc">gRPC</a>で実装して、<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89">フロントエンド</a>(BFF)は<a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a>経由のHTTP一<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>で取得するのはベストプラクティスの一つだと思っています。 とはいえ人的リソースや管理の問題から、Protobufと<a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a>スキーマを両方メンテナンスしていくのはとてもつらくて、 他のエントリでも結果としてどちらかに寄せました、というケースをよく目にしました。 実際自分もやってはみたものの、両方のメンテナンスをしていくのは相当辛くて、Protobufを直して<a data-gtm-click-label="entry-summary-keyword" href="/q/grpc">gRPC</a>のI/Fを変更、合わせて<a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a>のSch<a data-gtm-click-label="entry-summary-keyword" href="/q/EM">em</a>aにも手を入れてフロントに渡して…というのは管理コストに見合わないな、ってことで諦めました(今は <a data-gtm-click-label="entry-summary-keyword" href="/q/grpc">grpc</a>/<a data-gtm-click-label="entry-summary-keyword" href="/q/grpc">grpc</a>-web 、または <a data-gtm-click-label="entry-summary-keyword" href="/q/grpc">grpc</a>-ecosyst<a data-gtm-click-label="entry-summary-keyword" href="/q/EM">em</a>/</p> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4686052937627941090"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://blog.wnotes.net/posts/opensources-grpc-graphql-gateway/" data-user-name="R2M"> <a href="/R2M/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/R2M/profile.png" alt="R2M" title="R2M" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/R2M/20200523#bookmark-4686052937627941090" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2020/05/23</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="/R2M/gRPC/" data-gtm-click-label="user-reaction-tag">gRPC</a></li> <li><a href="/R2M/GraphQL/" data-gtm-click-label="user-reaction-tag">GraphQL</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4686052937627941090/comment/R2M" 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://toranoana-lab.hatenablog.com/entry/2020/03/25/192927"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://toranoana-lab.hatenablog.com/entry/2020/03/25/192927" 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%2Ftoranoana-lab.hatenablog.com%2Fentry%2F2020%2F03%2F25%2F192927" alt="">RustでGraphQLやってみるその1(導入編) - 虎の穴ラボ技術ブログ</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/toranoana-lab.hatenablog.com/entry/2020/03/25/192927" class="js-keyboard-entry-page-openable" title="RustでGraphQLやってみるその1(導入編) - 虎の穴ラボ技術ブログ (47ブックマーク)" data-gtm-click-label="user-bookmark-users">47 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Ftoranoana-lab.hatenablog.com%2F" title="『toranoana-lab.hatenablog.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> toranoana-lab.hatenablog.com </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">こんにちは、とらラボのY.Fです。 先日、こんな記事を書きました。 toranoana-lab.<a data-gtm-click-label="entry-summary-keyword" href="/q/hatena">hatena</a><a data-gtm-click-label="entry-summary-keyword" href="/q/BL">bl</a>og.com <a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>を読んだだけでは寂しいので、実際に作ってみたいと思います。 今回の記事では導入編として、<a data-gtm-click-label="entry-summary-keyword" href="/q/DB">DB</a>などを利用しない<a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a>サーバーを立ててみようと思います。 ちなみに、著者は<a data-gtm-click-label="entry-summary-keyword" href="/q/Rust">Rust</a>初心者に毛が生えたような感じなのでツッコミも歓迎です! 環境 今回メインで使うものは以下のようになります。 <a data-gtm-click-label="entry-summary-keyword" href="/q/Rust">rust</a>up 1.12.1 <a data-gtm-click-label="entry-summary-keyword" href="/q/Rust">Rust</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/Rust">Rust</a> 1.42.0 言語<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>体 actix-web 2.0系 Webフレームワーク juniper 0.14.2 <a data-gtm-click-label="entry-summary-keyword" href="/q/Rust">Rust</a>用<a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a>ライブラリ <a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a>サーバーを作る ということで、作って行きたいと思います。 <a data-gtm-click-label="entry-summary-keyword" href="/q/Rust">rust</a>upを使った言語のインストールなどは割愛します。 <a data-gtm-click-label="entry-summary-keyword" href="/q/Rust">rust</a>up</p> <a href="https://toranoana-lab.hatenablog.com/entry/2020/03/25/192927" 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/3a489dfe24678c650e878f51675b120fc6dcf8e9/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fb5c27808b9eb4a36a36199c5fbf5c518ebf45376%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Ft%252Ftoranoana-lab%252F20200325%252F20200325192552.png" alt="RustでGraphQLやってみるその1(導入編) - 虎の穴ラボ技術ブログ"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4683372265305781474"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://toranoana-lab.hatenablog.com/entry/2020/03/25/192927" data-user-name="R2M"> <a href="/R2M/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/R2M/profile.png" alt="R2M" title="R2M" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/R2M/20200325#bookmark-4683372265305781474" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2020/03/25</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="/R2M/rust/" data-gtm-click-label="user-reaction-tag">rust</a></li> <li><a href="/R2M/graphql/" data-gtm-click-label="user-reaction-tag">graphql</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4683372265305781474/comment/R2M" 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/hrk091/react-hookstographqldeshe-nei-regasisabisuwojuan-kiqu-tutemitaramofalsesugokuhakadotutahua-153983bf-84bd-4be7-83c4-c8fa826db79e"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://speakerdeck.com/hrk091/react-hookstographqldeshe-nei-regasisabisuwojuan-kiqu-tutemitaramofalsesugokuhakadotutahua-153983bf-84bd-4be7-83c4-c8fa826db79e" 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%2Fhrk091%2Freact-hookstographqldeshe-nei-regasisabisuwojuan-kiqu-tutemitaramofalsesugokuhakadotutahua-153983bf-84bd-4be7-83c4-c8fa826db79e" alt="">React HooksとGraphQLで社内レガシーサービスを巻き取ってみたらものすごくはかどった話</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/speakerdeck.com/hrk091/react-hookstographqldeshe-nei-regasisabisuwojuan-kiqu-tutemitaramofalsesugokuhakadotutahua-153983bf-84bd-4be7-83c4-c8fa826db79e" class="js-keyboard-entry-page-openable" title="React HooksとGraphQLで社内レガシーサービスを巻き取ってみたらものすごくはかどった話 (105ブックマーク)" data-gtm-click-label="user-bookmark-users">105 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fspeakerdeck.com%2Fhrk091" title="『speakerdeck.com/hrk091』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> speakerdeck.com/hrk091 </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">New <a data-gtm-click-label="entry-summary-keyword" href="/q/net">Net</a>work Provisioning Syst<a data-gtm-click-label="entry-summary-keyword" href="/q/EM">em</a> Leveraging <a data-gtm-click-label="entry-summary-keyword" href="/q/Kubernetes">Kubernetes</a> and Cloud Native Open Source</p> <a href="https://speakerdeck.com/hrk091/react-hookstographqldeshe-nei-regasisabisuwojuan-kiqu-tutemitaramofalsesugokuhakadotutahua-153983bf-84bd-4be7-83c4-c8fa826db79e" 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/b94118cafa0dad83c6777ba12e56c6c049ed7b44/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F1a9f94380ed2484e8b131eb750dd7471%2Fslide_0.jpg%3F14778244" alt="React HooksとGraphQLで社内レガシーサービスを巻き取ってみたらものすごくはかどった話"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4680985859031399810"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://speakerdeck.com/hrk091/react-hookstographqldeshe-nei-regasisabisuwojuan-kiqu-tutemitaramofalsesugokuhakadotutahua-153983bf-84bd-4be7-83c4-c8fa826db79e" data-user-name="R2M"> <a href="/R2M/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/R2M/profile.png" alt="R2M" title="R2M" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/R2M/20200204#bookmark-4680985859031399810" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2020/02/04</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="/R2M/react/" data-gtm-click-label="user-reaction-tag">react</a></li> <li><a href="/R2M/graphql/" data-gtm-click-label="user-reaction-tag">graphql</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4680985859031399810/comment/R2M" 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/384dc1d336d3aaeb338666fdd1d11e38974714c5/images/v4/public/common/loading@2x.gif" alt="残りのブックマークを読み込んでいます" width="16" height="16" /></span> <span>1</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/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> <li class="centerarticle-aside-info-item"> <a href="https://bookmark.hatenastaff.com/entry/2025/03/05/192802?utm_source=user_page_side_column&utm_medium=official_announcement&utm_campaign=2025%2F03%2F05%2F192802" target="_blank"> <p class="centerarticle-aside-info-category">お知らせ</p> <h4 class="centerarticle-aside-info-item-title">旧バージョンのChrome拡張機能についてのお知らせと新バージョンご利用のお願い</h4> <time class="centerarticle-aside-info-item-time">2025/03/06</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/384dc1d336d3aaeb338666fdd1d11e38974714c5/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/384dc1d336d3aaeb338666fdd1d11e38974714c5/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/384dc1d336d3aaeb338666fdd1d11e38974714c5/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>