CINXE.COM

[B! API] R2Mのブックマーク

<!DOCTYPE html> <html lang="ja" data-page-scope="User" data-stable-request-url="https://b.hatena.ne.jp/R2M/API/" 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="API" 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! API] R2Mのブックマーク</title> <script src="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/js/v4/bookmark.js" async></script> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/css/v4/bookmark.css" /> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/css/v4/bookmark.star.css" /> <link rel="canonical" href="https://b.hatena.ne.jp/R2M/API/" /> <link rel="next" href="/R2M/API/?page=2"> <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> <meta name="viewport" content="width=device-width"> <link rel="search" type="application/opensearchdescription+xml" title="はてなブックマーク検索" href="/opensearch.xml" /> <link rel="search" type="application/opensearchdescription+xml" title="R2M のブックマーク内検索" href="/R2M/opensearch.xml"> <link rel="apple-touch-icon-precomposed" href="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/apple-touch-icon-precomposed.png" /> <link rel="mask-icon" href="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/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/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/icons/bookmark.ico" /> <meta name="msapplication-task" content="name=マイブックマーク; action-uri=/my; icon-uri=https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/icons/my-bookmark.ico" /> <meta name="msapplication-task" content="name=お気に入りのブックマーク; action-uri=/my/favorite; icon-uri=https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/icons/favorite-bookmark.ico" /> <meta name="msapplication-task" content="name=人気エントリー; action-uri=/hotentry; icon-uri=https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/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=API" /> <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&amp;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%2FAPI%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/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/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/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/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/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/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/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/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,072</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">(113)</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/" class="is-current" 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">(47)</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">(30)</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/" 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">(74)</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">(28)</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">(419)</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">(325)</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">(64)</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">(295)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/kernel/" data-gtm-click-label="user-tags"> kernel <span class="count">(27)</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">(223)</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">(87)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/R2M/network/" data-gtm-click-label="user-tags"> network <span class="count">(148)</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">(132)</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">(178)</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">(122)</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">(35)</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">(34)</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">(331)</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">(241)</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">(59)</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">(259)</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">(14)</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">(117)</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">(77)</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">(659)</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">(109)</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">(58)</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">(107)</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">(140)</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">(157)</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">(46)</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">(503)</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">(55)</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">(43)</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">(138)</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">(56)</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">(263)</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">(416)</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">(236)</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">(760)</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">(130)</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">(515)</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">(36)</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">(38)</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">(1069)</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">(939)</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">(120)</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">(20)</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">(605)</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">(559)</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">(268)</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">(145)</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">(33)</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">(67)</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">(12)</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">(128)</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">(112)</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">(266)</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">(173)</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">(2283)</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">(116)</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">(254)</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">(74)</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">(527)</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">(93)</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">(214)</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">(1931)</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">(132)</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">(226)</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">(2006)</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">(841)</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">(35)</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">(61)</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">(204)</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">(100)</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">(103)</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">(95)</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">(36)</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">(85)</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">(508)</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">(180)</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">(78)</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">(65)</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">(496)</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">(634)</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">(2283)</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">(2006)</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">(1931)</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">(1069)</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">(939)</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">(841)</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">(760)</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">(659)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/R2M/%E9%A3%9F/" data-gtm-click-label="user-tags"> 食 <span class="count">(634)</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">関連タグで絞り込む (63)</h3> <ul class="centerarticle-sub-navi"> <li> <a href="/R2M/API/amazon/" > amazon </a> </li> <li> <a href="/R2M/API/android/" > android </a> </li> <li> <a href="/R2M/API/api/" > api </a> </li> <li> <a href="/R2M/API/aws/" > aws </a> </li> <li> <a href="/R2M/API/azure/" > azure </a> </li> <li> <a href="/R2M/API/Chrome/" > Chrome </a> </li> <li> <a href="/R2M/API/DB/" > DB </a> </li> <li> <a href="/R2M/API/Dropbox/" > Dropbox </a> </li> <li> <a href="/R2M/API/Excel/" > Excel </a> </li> <li> <a href="/R2M/API/firebase/" > firebase </a> </li> <li> <a href="/R2M/API/Framework/" > Framework </a> </li> <li> <a href="/R2M/API/GitHub/" > GitHub </a> </li> <li> <a href="/R2M/API/Google/" > Google </a> </li> <li> <a href="/R2M/API/GPU/" > GPU </a> </li> <li> <a href="/R2M/API/GraphQL/" > GraphQL </a> </li> <li> <a href="/R2M/API/LLM/" > LLM </a> </li> <li> <a href="/R2M/API/microservice/" > microservice </a> </li> <li> <a href="/R2M/API/microsoft/" > microsoft </a> </li> <li> <a href="/R2M/API/OpenGL/" > OpenGL </a> </li> <li> <a href="/R2M/API/opengl/" > opengl </a> </li> <li> <a href="/R2M/API/programming/" > programming </a> </li> <li> <a href="/R2M/API/python/" > python </a> </li> <li> <a href="/R2M/API/rails/" > rails </a> </li> <li> <a href="/R2M/API/react/" > react </a> </li> <li> <a href="/R2M/API/redmine/" > redmine </a> </li> <li> <a href="/R2M/API/rest/" > rest </a> </li> <li> <a href="/R2M/API/REST/" > REST </a> </li> <li> <a href="/R2M/API/RESTful/" > RESTful </a> </li> <li> <a href="/R2M/API/Ruby/" > Ruby </a> </li> <li> <a href="/R2M/API/rust/" > rust </a> </li> <li> <a href="/R2M/API/security/" > security </a> </li> <li> <a href="/R2M/API/TypeScript/" > TypeScript </a> </li> <li> <a href="/R2M/API/USB/" > USB </a> </li> <li> <a href="/R2M/API/Vulkan/" > Vulkan </a> </li> <li> <a href="/R2M/API/web/" > web </a> </li> <li> <a href="/R2M/API/Web/" > Web </a> </li> <li> <a href="/R2M/API/webapi/" > webapi </a> </li> <li> <a href="/R2M/API/Web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" > Webサービス </a> </li> <li> <a href="/R2M/API/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" > webサービス </a> </li> <li> <a href="/R2M/API/windows/" > windows </a> </li> <li> <a href="/R2M/API/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" > あとで読む </a> </li> <li> <a href="/R2M/API/%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3/" > アーキテクチャ </a> </li> <li> <a href="/R2M/API/%E3%82%AB%E3%83%A1%E3%83%A9/" > カメラ </a> </li> <li> <a href="/R2M/API/%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89/" > クラウド </a> </li> <li> <a href="/R2M/API/%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" > サービス </a> </li> <li> <a href="/R2M/API/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0/" > システム </a> </li> <li> <a href="/R2M/API/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3/" > セキュリティ </a> </li> <li> <a href="/R2M/API/%E3%83%84%E3%83%BC%E3%83%AB/" > ツール </a> </li> <li> <a href="/R2M/API/%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88/" > ドキュメント </a> </li> <li> <a href="/R2M/API/%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9/" > パフォーマンス </a> </li> <li> <a href="/R2M/API/%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6/" > ブラウザ </a> </li> <li> <a href="/R2M/API/%E5%95%86%E5%93%81/" > 商品 </a> </li> <li> <a href="/R2M/API/%E6%8A%95%E8%B3%87/" > 投資 </a> </li> <li> <a href="/R2M/API/%E6%B0%97%E8%B1%A1/" > 気象 </a> </li> <li> <a href="/R2M/API/%E6%B1%BA%E6%B8%88/" > 決済 </a> </li> <li> <a href="/R2M/API/%E8%87%AA%E5%8B%95%E8%BB%8A/" > 自動車 </a> </li> <li> <a href="/R2M/API/%E8%A1%8C%E6%94%BF/" > 行政 </a> </li> <li> <a href="/R2M/API/%E8%A3%81%E5%88%A4/" > 裁判 </a> </li> <li> <a href="/R2M/API/%E8%A8%AD%E8%A8%88/" > 設計 </a> </li> <li> <a href="/R2M/API/%E8%AA%8D%E8%A8%BC/" > 認証 </a> </li> <li> <a href="/R2M/API/%E9%87%91%E8%9E%8D/" > 金融 </a> </li> <li> <a href="/R2M/API/%E9%8A%80%E8%A1%8C/" > 銀行 </a> </li> <li> <a href="/R2M/API/%E9%96%8B%E7%99%BA/" > 開発 </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"> APIに関するR2Mのブックマーク (122) </h2> </div> <div class="js-user-bookmark-item-autoload-container" data-next-page-path="/R2M/API/?page=2" data-next-xhr-path="/api/users/R2M/bookmarks?tag=API&amp;page=2" data-next-label="次のページ" > <script type="text/x-template" id="template-short-url-click"> {{#tweet_url}} <a href="{{tweet_url}}" target="_blank" rel="noopener noreferrer" data-gtm-click-label="reaction-twitter-clicks"><span>{{count}} clicks</span></a> {{/tweet_url}} {{^tweet_url}} <span>{{count}} clicks</span> {{/tweet_url}} </script> <script type="text/x-template" id="template-bookmark-item"> {{^is_wiped}} <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="{{url}}"> <div class="centerarticle-entry {{#has_image}}is-image-entry-unit{{/has_image}}"> <h3 class="centerarticle-entry-title"> <a href="{{url}}" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener{{#noreferrer}} noreferrer{{/noreferrer}}" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="{{favicon_url}}" alt="">{{title}}</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="{{page_url}}" class="js-keyboard-entry-page-openable" title="{{title}} ({{total_bookmarks}}ブックマーク)" data-gtm-click-label="user-bookmark-users">{{total_bookmarks_with_user_postfix}}</a> </span> </li> <li> <a href="/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/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/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://speakerdeck.com/nagix/xian-chang-deyi-li-tuapidezain"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://speakerdeck.com/nagix/xian-chang-deyi-li-tuapidezain" 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%2Fnagix%2Fxian-chang-deyi-li-tuapidezain" alt="">現場で役立つAPIデザイン</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/speakerdeck.com/nagix/xian-chang-deyi-li-tuapidezain" class="js-keyboard-entry-page-openable" title="現場で役立つAPIデザイン (526ブックマーク)" data-gtm-click-label="user-bookmark-users">526 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fspeakerdeck.com%2Fnagix" title="『speakerdeck.com/nagix』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> speakerdeck.com/nagix </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">Web <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>デザインについての知見はまだ広く浸透していません。書籍やオンライン情報はいろいろありますが、<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>セッションではその中から重要な要素をピックアップし、実際の著名なサービ…</p> <a href="https://speakerdeck.com/nagix/xian-chang-deyi-li-tuapidezain" 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/33e1b6f5ef349722165f7d4e6eb995b732eef7e4/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Ffac3b29cbc85497eae40488e8ee83613%2Fslide_0.jpg%3F33839152" alt="現場で役立つAPIデザイン"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4766255491227959361"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://speakerdeck.com/nagix/xian-chang-deyi-li-tuapidezain" 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/20250215#bookmark-4766255491227959361" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2025/02/15</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> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4766255491227959361/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/yuiseki/articles/4537101d0d4463"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/yuiseki/articles/4537101d0d4463" 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%2Fyuiseki%2Farticles%2F4537101d0d4463" alt="">Webサービスぶっ壊れ地獄、行きやすぜ!</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/yuiseki/articles/4537101d0d4463" class="js-keyboard-entry-page-openable" title="Webサービスぶっ壊れ地獄、行きやすぜ! (506ブックマーク)" data-gtm-click-label="user-bookmark-users">506 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fzenn.dev%2Fyuiseki" title="『zenn.dev/yuiseki』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> zenn.dev/yuiseki </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%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3">セキュリティ</a>の教科書には載らない、バグバウンティでも指摘されない、ニュースにもならない、「 現場の<a data-gtm-click-label="entry-summary-keyword" href="/q/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9">Webサービス</a>ぶっ壊れ地獄 」 ……教えてやりますぜ!! 1. サインアップし放題からのクレカ決済し放題地獄 この地獄、知ってやがるかい? 聞いてくれよ。ユーザーを簡単にサインアップさせる……</p> <a href="https://zenn.dev/yuiseki/articles/4537101d0d4463" 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/780e46593eab1be5b27897a84dd1640d9e466dcf/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--HK-4XYCs--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3AWeb%2525E3%252582%2525B5%2525E3%252583%2525BC%2525E3%252583%252593%2525E3%252582%2525B9%2525E3%252581%2525B6%2525E3%252581%2525A3%2525E5%2525A3%25258A%2525E3%252582%25258C%2525E5%25259C%2525B0%2525E7%25258D%252584%2525E3%252580%252581%2525E8%2525A1%25258C%2525E3%252581%25258D%2525E3%252582%252584%2525E3%252581%252599%2525E3%252581%25259C%2525EF%2525BC%252581%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Ayuiseki%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2g1akVIUkdJUFhyR0diNU8xMzdsMDZBT21lYUxIZ3gyWlE5RGpuUHdvPXMyNTAtYw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="Webサービスぶっ壊れ地獄、行きやすぜ!"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4765475573961290464"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://zenn.dev/yuiseki/articles/4537101d0d4463" 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/20250128#bookmark-4765475573961290464" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2025/01/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/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" data-gtm-click-label="user-reaction-tag">webサービス</a></li> <li><a href="/R2M/API/" data-gtm-click-label="user-reaction-tag">API</a></li> <li><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-reaction-tag">セキュリティ</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4765475573961290464/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://azukiazusa.dev/blog/try-chrome-internal-ai-summarization-api/"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://azukiazusa.dev/blog/try-chrome-internal-ai-summarization-api/" 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%2Fazukiazusa.dev%2Fblog%2Ftry-chrome-internal-ai-summarization-api%2F" alt="">Chrome の組み込み AI の Summarization API を試してみる</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/azukiazusa.dev/blog/try-chrome-internal-ai-summarization-api/" class="js-keyboard-entry-page-openable" title="Chrome の組み込み AI の Summarization API を試してみる (93ブックマーク)" data-gtm-click-label="user-bookmark-users">93 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fazukiazusa.dev%2F" title="『azukiazusa.dev』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> azukiazusa.dev </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/Chrome">Chrome</a> の組み込み <a data-gtm-click-label="entry-summary-keyword" href="/q/ai">AI</a> の Summarization <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> を試してみる 2024.10.13 <a data-gtm-click-label="entry-summary-keyword" href="/q/google">Google</a> では大規模言語モデル(LLM)などの <a data-gtm-click-label="entry-summary-keyword" href="/q/ai">AI</a> モデルをブラウザに直接統合するように設計された、Web プラットフォーム <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> とブラウザ機能を開発しています。これには Gimini Nano という <a data-gtm-click-label="entry-summary-keyword" href="/q/ai">AI</a> モデルが含まれており、<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%87%E3%82%B9%E3%82%AF">デスク</a>トップパソコンにおいてローカルで実行されるように設計されています。この記事では Summarization <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> を使用して、文章を要約してみます。 <a data-gtm-click-label="entry-summary-keyword" href="/q/google">Google</a> では大規模言語モデル(LLM)などの <a data-gtm-click-label="entry-summary-keyword" href="/q/ai">AI</a> モデルをブラウザに直接統合するように設計された、Web プラットフォーム <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> とブラウザ機能を開発しています。これには Gimini Nano という <a data-gtm-click-label="entry-summary-keyword" href="/q/ai">AI</a> モデルが含まれており、<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%87%E3%82%B9%E3%82%AF">デスク</a>トップパソコンにおいてローカルで実行されるよ</p> <a href="https://azukiazusa.dev/blog/try-chrome-internal-ai-summarization-api/" 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/54131de393b0a2155b45f3ac4904c2ae0ad7ad81/height=288;version=1;width=512/https%3A%2F%2Fazukiazusa.dev%2Fblog%2Fogp%2Ftry-chrome-internal-ai-summarization-api.png" alt="Chrome の組み込み AI の Summarization API を試してみる"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4760516051578171776"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://azukiazusa.dev/blog/try-chrome-internal-ai-summarization-api/" 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/20241014#bookmark-4760516051578171776" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2024/10/14</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/Chrome/" data-gtm-click-label="user-reaction-tag">Chrome</a></li> <li><a href="/R2M/API/" data-gtm-click-label="user-reaction-tag">API</a></li> <li><a href="/R2M/%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6/" data-gtm-click-label="user-reaction-tag">ブラウザ</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4760516051578171776/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.oreilly.co.jp//books/9784814400898/"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://www.oreilly.co.jp//books/9784814400898/" 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.oreilly.co.jp%2F%2Fbooks%2F9784814400898%2F" alt="">マスタリングAPIアーキテクチャ</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.oreilly.co.jp//books/9784814400898/" class="js-keyboard-entry-page-openable" title="マスタリングAPIアーキテクチャ (320ブックマーク)" data-gtm-click-label="user-bookmark-users">320 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fwww.oreilly.co.jp%2F" title="『www.oreilly.co.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> www.oreilly.co.jp </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">この10年の間に、ソフトウェア開発を行う方法は大きく変容しました。作業に依存関係が生じるモノリシックなアーキテクチャから、<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>の設計、構築、運用、変更に関するニーズはますます高まっています。 <a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</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>駆動型のシステムへ発展させていくかを、カンファレンスシステムを例に、具体的なケーススタディを通してわかりやすく解説しています。REST <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>設計と改善の全体像をしっかり学ぶことができます。また、<a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>ゲートウェイ、サービスメッシュなどの<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%8A%80%E8%A1%93">技術</a>を用いて、外部トラフ</p> <a href="https://www.oreilly.co.jp//books/9784814400898/" 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/4e004867b81b93c378daf43f82566124aab36b99/height=288;version=1;width=512/https%3A%2F%2Fwww.oreilly.co.jp%2Fbooks%2Fimages%2Fpicture_large978-4-8144-0089-8.jpeg" alt="マスタリングAPIアーキテクチャ"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4759680463575219232"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://www.oreilly.co.jp//books/9784814400898/" 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/20240926#bookmark-4759680463575219232" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2024/09/26</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/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/4759680463575219232/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://tech-blog.rakus.co.jp/entry/20240826/openapi"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://tech-blog.rakus.co.jp/entry/20240826/openapi" 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-blog.rakus.co.jp%2Fentry%2F20240826%2Fopenapi" alt="">OpenAPI Specificationを導入するまでの苦労と失敗、その後の効果 - RAKUS Developers Blog | ラクス エンジニアブログ</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/tech-blog.rakus.co.jp/entry/20240826/openapi" class="js-keyboard-entry-page-openable" title="OpenAPI Specificationを導入するまでの苦労と失敗、その後の効果 - RAKUS Developers Blog | ラクス エンジニアブログ (36ブックマーク)" data-gtm-click-label="user-bookmark-users">36 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Ftech-blog.rakus.co.jp%2F" title="『tech-blog.rakus.co.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> tech-blog.rakus.co.jp </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">はじめに 対象読者 TL;DR <a data-gtm-click-label="entry-summary-keyword" href="/q/openapi">OpenAPI</a> Specificationとは OASを導入することの何が嬉しい? 1. プロダクトごとに<a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>仕様書を記述するツールやフォーマットがバラバラでスイッチングコストがかかる 2. 記述量が増えると動作が重くなる 3. <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>仕様変更の伝達漏れの多発 導入までの課題 1. OASの調査に時間をかけすぎた 2. OASのデメリット全てに対応策を講じようとしてしまったこと 導入して1年、開発環境は改善されたのか? おわりに はじめに ラクス<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>開発2課の斉藤です。 ラクスの開発するプロダクトである楽楽明細、楽楽電子保存、楽楽請求では<a data-gtm-click-label="entry-summary-keyword" href="/q/openapi">OpenAPI</a> Specification(以下OAS)を採用した開発を行っています。 今でこそOASを活用した開発を行うことができていますが、導入にあたっては様々な苦労がありました。 そこで今回は 何故OASを</p> <a href="https://tech-blog.rakus.co.jp/entry/20240826/openapi" 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/def0ca9f21314642ffa82d85cc3b20c757669992/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fee89c3d7f0c7e753442f02333c429ee145ecbe9a%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Ft%252Ftech-rakus%252F20240826%252F20240826124705.png" alt="OpenAPI Specificationを導入するまでの苦労と失敗、その後の効果 - RAKUS Developers Blog | ラクス エンジニアブログ"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4758276399273133280"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://tech-blog.rakus.co.jp/entry/20240826/openapi" 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/20240826#bookmark-4758276399273133280" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2024/08/26</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/R2M/API/" data-gtm-click-label="user-reaction-tag">API</a></li> <li><a href="/R2M/%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-reaction-tag">開発</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4758276399273133280/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://syu-m-5151.hatenablog.com/entry/2024/08/20/191435"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://syu-m-5151.hatenablog.com/entry/2024/08/20/191435" 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%2Fsyu-m-5151.hatenablog.com%2Fentry%2F2024%2F08%2F20%2F191435" alt="">すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/syu-m-5151.hatenablog.com/entry/2024/08/20/191435" class="js-keyboard-entry-page-openable" title="すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる (311ブックマーク)" data-gtm-click-label="user-bookmark-users">311 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fsyu-m-5151.hatenablog.com%2F" title="『syu-m-5151.hatenablog.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> syu-m-5151.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">あなたがさっきまで読んでいた<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%8A%80%E8%A1%93">技術</a>的に役立つ記事は、10年後も使えるでしょうか?ほとんどの場合でいいえ はじめに 短期的に効果的な手法や知識は、ソフトウェア開発の分野において、急速に価値を失う傾向があります。この現象は、私たちが何を重点的に学ぶべきかを示唆しています。最も重要なのは、第一に基<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>的な原理・原則、そして第二に方法論です。特定の状況にのみ適用可能な知識や即座に結果を出すテクニックは、長期的には有用性を失う可能性が高いです。これは、<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%8A%80%E8%A1%93">技術</a>や手法が時間とともに進化し、変化していくためです。 learning.oreilly.com 「<a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> Design Patterns」は、このような考え方を体現した書籍です。しかも480 ページもあります。<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>書は単なる手法の列挙ではなく、Web <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>デザインの根幹をなす原則と哲学を探求しています。著者のJJ Geewax氏は、<a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>を「コンピュータ</p> <a href="https://syu-m-5151.hatenablog.com/entry/2024/08/20/191435" 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/f2a9f858796060932e2b158212e3fb13d9f87180/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F6c9ed2c2f54906f6440e4d1c5fe28ff167ed80d3%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fm.media-amazon.com%252Fimages%252FI%252F41qmQK3Cb4S._SL500_.jpg" alt="すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4758008598245774560"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://syu-m-5151.hatenablog.com/entry/2024/08/20/191435" 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/20240821#bookmark-4758008598245774560" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2024/08/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/%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/API/" data-gtm-click-label="user-reaction-tag">API</a></li> <li><a href="/R2M/%E8%A8%AD%E8%A8%88/" data-gtm-click-label="user-reaction-tag">設計</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4758008598245774560/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/nerocrux/articles/e53187bffa6321"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/nerocrux/articles/e53187bffa6321" 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%2Fubie_dev%2Farticles%2Fe53187bffa6321" alt="">マイクロサービス間通信における認証認可およびアクセス制御</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/ubie_dev/articles/e53187bffa6321" class="js-keyboard-entry-page-openable" title="マイクロサービス間通信における認証認可およびアクセス制御 (190ブックマーク)" data-gtm-click-label="user-bookmark-users">190 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fzenn.dev%2Fubie_dev" title="『zenn.dev/ubie_dev』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> zenn.dev/ubie_dev </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/2023">2023</a>年4月に基盤<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/ubie">Ubie</a> に入社しました nerocr<a data-gtm-click-label="entry-summary-keyword" href="/q/UX">ux</a> です。主に <a data-gtm-click-label="entry-summary-keyword" href="/q/ubie">Ubie</a> の ID 基盤の開発と保守運用を担当しています。 この記事は、<a data-gtm-click-label="entry-summary-keyword" href="/q/2023">2023</a> <a data-gtm-click-label="entry-summary-keyword" href="/q/ubie">Ubie</a> Engineers アドベントカレンダー 5 日目の記事となります。 <a data-gtm-click-label="entry-summary-keyword" href="/q/ubie">Ubie</a> では、モジュラモノリスを採用しつつ、マイクロサービスアーキテクチャも採用しており、領域によってサービスを分けて、それぞれの担当チームが開発と保守運用をしています。 クライアントから一つのリクエストを受け取ったあとに、<a data-gtm-click-label="entry-summary-keyword" href="/q/ubie">Ubie</a> のバックエンドではリクエストを受け取ったサービスだけがそのリクエストを処理することもあれば、別のサービスにディスパッチし、複数のサービスがひとつのリクエストを処理して結果を返すこともあります。 マイクロサービス間の通信が <a data-gtm-click-label="entry-summary-keyword" href="/q/ubie">Ubie</a> の内部で発生したとしても、必ずしも無制限で自由に行われていいわけで</p> <a href="https://zenn.dev/ubie_dev/articles/e53187bffa6321" 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/4419873d785a32a523e4e39cdee49140f502a1bf/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--6jHvDoYi--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E3%252583%25259E%2525E3%252582%2525A4%2525E3%252582%2525AF%2525E3%252583%2525AD%2525E3%252582%2525B5%2525E3%252583%2525BC%2525E3%252583%252593%2525E3%252582%2525B9%2525E9%252596%252593%2525E9%252580%25259A%2525E4%2525BF%2525A1%2525E3%252581%2525AB%2525E3%252581%25258A%2525E3%252581%252591%2525E3%252582%25258B%2525E8%2525AA%25258D%2525E8%2525A8%2525BC%2525E8%2525AA%25258D%2525E5%25258F%2525AF%2525E3%252581%25258A%2525E3%252582%252588%2525E3%252581%2525B3%2525E3%252582%2525A2%2525E3%252582%2525AF%2525E3%252582%2525BB%2525E3%252582%2525B9%2525E5%252588%2525B6%2525E5%2525BE%2525A1%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_34%3Anerocrux%252Cx_220%252Cy_108%2Fbo_3px_solid_rgb%3Ad6e3ed%252Cg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2VlOWMzMWRhODMuanBlZw%3D%3D%252Cr_20%252Cw_90%252Cx_92%252Cy_102%2Fco_rgb%3A6e7b85%252Cg_south_west%252Cl_text%3Anotosansjp-medium.otf_30%3AUbie%252520%2525E3%252583%252586%2525E3%252583%252583%2525E3%252582%2525AF%2525E3%252583%252596%2525E3%252583%2525AD%2525E3%252582%2525B0%252Cx_220%252Cy_160%2Fbo_4px_solid_white%252Cg_south_west%252Ch_50%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2g4N21NN0FEWGlQTVV5X2g2UWE2alJtTW9tcGdZY21NTVc3ZXoyWFE9czI1MC1j%252Cr_max%252Cw_50%252Cx_139%252Cy_84%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="マイクロサービス間通信における認証認可およびアクセス制御"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4746084717736533391"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://zenn.dev/nerocrux/articles/e53187bffa6321" 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/20240708#bookmark-4746084717736533391" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2024/07/08</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/%E8%AA%8D%E8%A8%BC/" data-gtm-click-label="user-reaction-tag">認証</a></li> <li><a href="/R2M/API/" data-gtm-click-label="user-reaction-tag">API</a></li> <li><a href="/R2M/microservice/" data-gtm-click-label="user-reaction-tag">microservice</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4746084717736533391/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://learn.microsoft.com/ja-jp/graph/auth/auth-concepts"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://learn.microsoft.com/ja-jp/graph/auth/auth-concepts" 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%2Flearn.microsoft.com%2Fja-jp%2Fgraph%2Fauth%2Fauth-concepts" alt="">Microsoft Graph の認証と承認の基本方法 - Microsoft Graph</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/learn.microsoft.com/ja-jp/graph/auth/auth-concepts" class="js-keyboard-entry-page-openable" title="Microsoft Graph の認証と承認の基本方法 - Microsoft Graph (2ブックマーク)" data-gtm-click-label="user-bookmark-users">2 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Flearn.microsoft.com%2F" title="『learn.microsoft.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> learn.microsoft.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/Microsoft">Microsoft</a> Graph は、<a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> Entra IDや <a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> 365 などの <a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> クラウド サービスのデータにアクセスするための保護された <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> ゲートウェイです。 これは、アプリが <a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> Graph を呼び出す権限があることを承認および検証する<a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> ID プラットフォームによって保護されます。 この記事では、<a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> Graph <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>を介してデータへのアクセスを承認されるアプリの要件の概要について説明します。 認証と承認のしくみを既に理解している場合は、異なる <a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> Graph SDK を使用して構築され、<a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> Graph <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> を呼び出すアプリのコード サンプルまたは <a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> Graph チュートリアルを<a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> ID プラットフォームします。</p> <a href="https://learn.microsoft.com/ja-jp/graph/auth/auth-concepts" 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/d6e4cb632c7025e9f5e05fd314fbf6dcd6144e8d/height=288;version=1;width=512/https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fmedia%2Fopen-graph-image.png" alt="Microsoft Graph の認証と承認の基本方法 - Microsoft Graph"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4744686756749594927"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://learn.microsoft.com/ja-jp/graph/auth/auth-concepts" 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/20240522#bookmark-4744686756749594927" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2024/05/22</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/microsoft/" data-gtm-click-label="user-reaction-tag">microsoft</a></li> <li><a href="/R2M/API/" data-gtm-click-label="user-reaction-tag">API</a></li> <li><a href="/R2M/%E8%AA%8D%E8%A8%BC/" data-gtm-click-label="user-reaction-tag">認証</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4744686756749594927/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://developer.microsoft.com/en-us/graph/graph-explorer"> <div class="centerarticle-entry "> <h3 class="centerarticle-entry-title"> <a href="https://developer.microsoft.com/en-us/graph/graph-explorer" 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%2Fdeveloper.microsoft.com%2Fen-us%2Fgraph%2Fgraph-explorer" alt="">graph-explorer</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/developer.microsoft.com/en-us/graph/graph-explorer" class="js-keyboard-entry-page-openable" title="graph-explorer (19ブックマーク)" data-gtm-click-label="user-bookmark-users">19 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fdeveloper.microsoft.com%2F" title="『developer.microsoft.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> developer.microsoft.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">All <a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> Global <a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> <a data-gtm-click-label="entry-summary-keyword" href="/q/security">Security</a> Azure Dynamics 365 <a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> 365 <a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> Teams <a data-gtm-click-label="entry-summary-keyword" href="/q/Windows">Windows</a> 365 <a data-gtm-click-label="entry-summary-keyword" href="/q/tech">Tech</a> &amp; innovation <a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> Cloud <a data-gtm-click-label="entry-summary-keyword" href="/q/ai">AI</a> Azure Space Mixed real<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>y <a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> HoloLens <a data-gtm-click-label="entry-summary-keyword" href="/q/Microsoft">Microsoft</a> Viva Quantum computing Sust<a data-gtm-click-label="entry-summary-keyword" href="/q/ai">ai</a>nabil<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>y Industries Education Automotive Financial services <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>vernment Healthcare Manufac<a data-gtm-click-label="entry-summary-keyword" href="/q/TURING">turing</a> Ret<a data-gtm-click-label="entry-summary-keyword" href="/q/ai">ai</a>l All industries Partners Find a partner Become a partner Partner <a data-gtm-click-label="entry-summary-keyword" href="/q/net">Net</a>work Azu</p> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-351865960"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://developer.microsoft.com/en-us/graph/graph-explorer" 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/20240522#bookmark-351865960" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2024/05/22</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/microsoft/" data-gtm-click-label="user-reaction-tag">microsoft</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/351865960/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://jina.ai/reader/"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://jina.ai/reader/" 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%2Fjina.ai%2Freader%2F" alt="">Reader API</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/jina.ai/reader/" class="js-keyboard-entry-page-openable" title="Reader API (251ブックマーク)" data-gtm-click-label="user-bookmark-users">251 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fjina.ai%2F" title="『jina.ai』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> jina.ai </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">World-class neural retriever for maximizing search relevancy.</p> <a href="https://jina.ai/reader/" 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/2c51cc4ad3cf8cbdcd72afb641c609be7d299fa2/height=288;version=1;width=512/https%3A%2F%2Fjina.ai%2Fbanner-reader-api.png" alt="Reader API"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4753561960241102368"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://jina.ai/reader/" 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/20240517#bookmark-4753561960241102368" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2024/05/17</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/R2M/LLM/" data-gtm-click-label="user-reaction-tag">LLM</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/4753561960241102368/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.jxck.io/entries/2024-04-26/csrf.html"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://blog.jxck.io/entries/2024-04-26/csrf.html" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fblog.jxck.io%2Fentries%2F2024-04-26%2Fcsrf.html" alt="">令和時代の API 実装のベースプラクティスと CSRF 対策 | blog.jxck.io</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/blog.jxck.io/entries/2024-04-26/csrf.html" class="js-keyboard-entry-page-openable" title="令和時代の API 実装のベースプラクティスと CSRF 対策 | blog.jxck.io (552ブックマーク)" data-gtm-click-label="user-bookmark-users">552 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fblog.jxck.io%2F" title="『blog.jxck.io』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> blog.jxck.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">Intro CSRF という古の攻撃がある。この攻撃を「古(いにしえ)」のものにすることができたプラットフォームの進化の背景を、「<a data-gtm-click-label="entry-summary-keyword" href="/q/Cookie">Cookie</a> が SameS<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>e Lax by Default になったからだ」という解説を見ることがある。 確かに、現実的にそれによって攻撃の成立は難しくなり、救われているサービスもある。しかし、それはプラットフォームが用意した対策の<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>質から言うと、解釈が少しずれていると言えるだろう。 今回は、「CSRF がどうして成立していたのか」を振り返ることで、<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>当にすべき対策は何であるかを解説していく。 結果として見えてくるのは、今サービスを実装する上での「ベース」(not ベスト)となるプラクティスだと筆者は考えている。 CSRF 成立の条件 例えば、攻撃者が用意した attack.examp</p> <a href="https://blog.jxck.io/entries/2024-04-26/csrf.html" 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/25f705929f7e98ea08f049f3c57b5de57a1b3ba0/height=288;version=1;width=512/https%3A%2F%2Fblog.jxck.io%2Fassets%2Fimg%2Fjxck.600x600.png" alt="令和時代の API 実装のベースプラクティスと CSRF 対策 | blog.jxck.io"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4752612051500405344"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://blog.jxck.io/entries/2024-04-26/csrf.html" 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/20240426#bookmark-4752612051500405344" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2024/04/26</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/R2M/web/" data-gtm-click-label="user-reaction-tag">web</a></li> <li><a href="/R2M/security/" data-gtm-click-label="user-reaction-tag">security</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/4752612051500405344/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/_kensh/asynchronous-over-synchronous"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://speakerdeck.com/_kensh/asynchronous-over-synchronous" 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%2F_kensh%2Fasynchronous-over-synchronous" alt="">Asynchronous over Synchronous / 同期という思い込み�世界は非同期で構成されている</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/speakerdeck.com/_kensh/asynchronous-over-synchronous" class="js-keyboard-entry-page-openable" title="Asynchronous over Synchronous / 同期という思い込み�世界は非同期で構成されている (96ブックマーク)" data-gtm-click-label="user-bookmark-users">96 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fspeakerdeck.com%2F_kensh" title="『speakerdeck.com/_kensh』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> speakerdeck.com/_kensh </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> <a data-gtm-click-label="entry-summary-keyword" href="/q/gateway">Gateway</a> や <a data-gtm-click-label="entry-summary-keyword" href="/q/lambda">Lambda</a> を使って 同期的な REST <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> を構築されている方は多いのではないでしょうか。サーバーレスで REST <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>をつくると、リクエストの分だけの課金であったり、デフォルトの可用性が与えられたりメリットは大きいです。ただし、サーバー…</p> <a href="https://speakerdeck.com/_kensh/asynchronous-over-synchronous" 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/cf74bc9b2e00fb9e8a810b7f5be4592467faaeb9/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F21906e26bf664678968218313c28aeed%2Fslide_0.jpg%3F30762234" alt="Asynchronous over Synchronous / 同期という思い込み�世界は非同期で構成されている"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4748119210793943343"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://speakerdeck.com/_kensh/asynchronous-over-synchronous" 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/20240120#bookmark-4748119210793943343" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2024/01/20</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/%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-reaction-tag">アーキテクチャ</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4748119210793943343/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://stoplight.io/solutions"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://stoplight.io/solutions" 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%2Fstoplight.io%2Fsolutions" alt="">Solutions for API Design and Management | Stoplight</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/stoplight.io/solutions" class="js-keyboard-entry-page-openable" title="Solutions for API Design and Management | Stoplight (98ブックマーク)" data-gtm-click-label="user-bookmark-users">98 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fstoplight.io%2F" title="『stoplight.io』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> stoplight.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/API">API</a> <a data-gtm-click-label="entry-summary-keyword" href="/q/EXCEL">excel</a>lence made easy.All of the benef<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>s of innovation w<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>hout the headaches. <a data-gtm-click-label="entry-summary-keyword" href="/q/CRE">Cre</a>ate a Succes<a data-gtm-click-label="entry-summary-keyword" href="/q/SF">sf</a>ul <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> ProgramTake a proactive approach w<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>h your <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> programs to efficiently <a data-gtm-click-label="entry-summary-keyword" href="/q/CRE">cre</a>ate consistent productiv<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>y and avoid the underbelly of delays and overages. Reduce Risk and Improve ROICon<a data-gtm-click-label="entry-summary-keyword" href="/q/NEC">nec</a>ted Software is mandatory for today’s consumers. Avoid disorganized develo<a data-gtm-click-label="entry-summary-keyword" href="/q/PM">pm</a>ent efforts that cause significant</p> <a href="https://stoplight.io/solutions" 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/25b70a70afbaa116f1e3ded919c4c1d1ea74dfc3/height=288;version=1;width=512/https%3A%2F%2Fcdn.prod.website-files.com%2F6320e912264435aca2ab0351%2F6489236e67c5fbe590d6354b_Solutions-Meta.png" alt="Solutions for API Design and Management | Stoplight"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4744819515861568815"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://stoplight.io/solutions" 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/20240113#bookmark-4744819515861568815" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2024/01/13</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/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/4744819515861568815/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/acn_jp_sdet/articles/c46299562e4ebb"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/acn_jp_sdet/articles/c46299562e4ebb" 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%2Facn_jp_sdet%2Farticles%2Fc46299562e4ebb" alt="">ブラウザ自動操作API入門: WebDriver APIとChrome DevTools Protocol(CDP)</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/acn_jp_sdet/articles/c46299562e4ebb" class="js-keyboard-entry-page-openable" title="ブラウザ自動操作API入門: WebDriver APIとChrome DevTools Protocol(CDP) (310ブックマーク)" data-gtm-click-label="user-bookmark-users">310 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fzenn.dev%2Facn_jp_sdet" title="『zenn.dev/acn_jp_sdet』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> zenn.dev/acn_jp_sdet </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">ウェブブラウザを自動操作する際には、WebDriverや<a data-gtm-click-label="entry-summary-keyword" href="/q/Chrome">Chrome</a> DevTools Protocol (CDP) などの<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>を基盤に構築された様々なブラウザ自動操作フレームワークが、テスト自動化の分野で重要な役割を果たしています。 例えば、Seleniumや<a data-gtm-click-label="entry-summary-keyword" href="/q/Playwright">Playwright</a>といったフレームワークを利用して、テストの自動化に取り組まれている方もいらっしゃると思います。 私もテスト自動化フレームワークの便利さを享受する一方で、フレームワークを介さずにブラウザを自動操作する方法についての興味がわいてきました。 そこで、この記事ではWebDriverやCDPが提供する<a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>を直接利用してブラウザを操作する方法を基礎から探求してみることにしました。 これにより、私たちが普段利用しているフレームワークの背後にある原理を理解し、より深い知見を得ることを目</p> <a href="https://zenn.dev/acn_jp_sdet/articles/c46299562e4ebb" 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/2daec74e07c8d5fa373cd441014f525519a2b902/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--z9UbTlnw--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E3%252583%252596%2525E3%252583%2525A9%2525E3%252582%2525A6%2525E3%252582%2525B6%2525E8%252587%2525AA%2525E5%25258B%252595%2525E6%252593%25258D%2525E4%2525BD%25259CAPI%2525E5%252585%2525A5%2525E9%252596%252580%25253A%252520WebDriver%252520API%2525E3%252581%2525A8Chrome%252520DevTools%252520Protocol%252528CDP%252529%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_34%3AInoue.T%252Cx_220%252Cy_108%2Fbo_3px_solid_rgb%3Ad6e3ed%252Cg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzQ1ZGY2NGNlZjguanBlZw%3D%3D%252Cr_20%252Cw_90%252Cx_92%252Cy_102%2Fco_rgb%3A6e7b85%252Cg_south_west%252Cl_text%3Anotosansjp-medium.otf_30%3AAccenture%252520Japan%252520SDET%252520...%252Cx_220%252Cy_160%2Fbo_4px_solid_white%252Cg_south_west%252Ch_50%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUFjSFR0ZTB0LW5KX2k1SU9aSHZOMHdXNkJHRURDWllEOFp5RG84NTI3SzVDcGgyPXM5Ni1j%252Cr_max%252Cw_50%252Cx_139%252Cy_84%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="ブラウザ自動操作API入門: WebDriver APIとChrome DevTools Protocol(CDP)"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4745519832085255055"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://zenn.dev/acn_jp_sdet/articles/c46299562e4ebb" 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/20231126#bookmark-4745519832085255055" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2023/11/26</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/R2M/%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6/" data-gtm-click-label="user-reaction-tag">ブラウザ</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/4745519832085255055/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://opensource.srad.jp/story/23/10/21/0414248/"> <div class="centerarticle-entry "> <h3 class="centerarticle-entry-title"> <a href="https://opensource.srad.jp/story/23/10/21/0414248/" 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%2Fopensource.srad.jp%2Fstory%2F23%2F10%2F21%2F0414248%2F" alt="">マツダ、オープンソースのAPIクライアントが著作権侵害だと主張してGitHubから削除させる | スラド オープンソース</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/opensource.srad.jp/story/23/10/21/0414248/" class="js-keyboard-entry-page-openable" title="マツダ、オープンソースのAPIクライアントが著作権侵害だと主張してGitHubから削除させる | スラド オープンソース (193ブックマーク)" data-gtm-click-label="user-bookmark-users">193 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fopensource.srad.jp%2F" title="『opensource.srad.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> opensource.srad.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">マツダがオープンソースのホームオートメーションソフトウェア Home Assistant が使用するオープンソースの<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> に DMCA 通知を送り、マツダ車へのアクセス機能を削除させたそうだ (Home Assistant のブログ記事、 Ars <a data-gtm-click-label="entry-summary-keyword" href="/q/tech">Tech</a>nica の記事、 <a data-gtm-click-label="entry-summary-keyword" href="/q/github">GitHub</a> のプルリクエスト)。 この <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> クライアントは <a data-gtm-click-label="entry-summary-keyword" href="/q/Python">Python</a> および <a data-gtm-click-label="entry-summary-keyword" href="/q/Javascript">JavaScript</a> で書かれており、マツダが <a data-gtm-click-label="entry-summary-keyword" href="/q/android">Android</a> / iOS 向けに公開している My<a data-gtm-click-label="entry-summary-keyword" href="/q/mazda">Mazda</a> アプリが使用する My<a data-gtm-click-label="entry-summary-keyword" href="/q/mazda">Mazda</a> (<a data-gtm-click-label="entry-summary-keyword" href="/q/mazda">Mazda</a> Con<a data-gtm-click-label="entry-summary-keyword" href="/q/NEC">nec</a>ted Service) <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> クライアントのコードがプロプライエタリな <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> 情報を含む同社の特定の情報を利用して書かれたものであり、MyMazd</p> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4743894477684578319"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://opensource.srad.jp/story/23/10/21/0414248/" 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/20231021#bookmark-4743894477684578319" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2023/10/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/API/" data-gtm-click-label="user-reaction-tag">API</a></li> <li><a href="/R2M/%E8%A3%81%E5%88%A4/" data-gtm-click-label="user-reaction-tag">裁判</a></li> <li><a href="/R2M/%E8%87%AA%E5%8B%95%E8%BB%8A/" data-gtm-click-label="user-reaction-tag">自動車</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4743894477684578319/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/neet/articles/de54e08de01c22"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/neet/articles/de54e08de01c22" 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%2Fneet%2Farticles%2Fde54e08de01c22" alt="">Fetch APIは「PATCH」だけ大文字と小文字の挙動が異なる</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/neet/articles/de54e08de01c22" class="js-keyboard-entry-page-openable" title="Fetch APIは「PATCH」だけ大文字と小文字の挙動が異なる (224ブックマーク)" data-gtm-click-label="user-bookmark-users">224 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fzenn.dev%2Fneet" title="『zenn.dev/neet』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> zenn.dev/neet </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">const url = &quot;https://f<a data-gtm-click-label="entry-summary-keyword" href="/q/etc">etc</a>h-<a data-gtm-click-label="entry-summary-keyword" href="/q/API">api</a>-n<a data-gtm-click-label="entry-summary-keyword" href="/q/ORM">orm</a>alization.<a data-gtm-click-label="entry-summary-keyword" href="/q/deno">deno</a>.dev&quot;; aw<a data-gtm-click-label="entry-summary-keyword" href="/q/ai">ai</a>t f<a data-gtm-click-label="entry-summary-keyword" href="/q/etc">etc</a>h(url, &#123; method: &quot;PATCH&quot; &#125;); aw<a data-gtm-click-label="entry-summary-keyword" href="/q/ai">ai</a>t f<a data-gtm-click-label="entry-summary-keyword" href="/q/etc">etc</a>h(url, &#123; method: &quot;patch&quot; &#125;); 実行すると、次のようなエラーを得るはずです。 PATCH を小文字で書いた際のエラーの一例 さて、どのような条件でこのエラーが発生するのでしょうか?これが意図されたものなのだとしたら、 GET や POST は大文字・小文字を無視してよくて PATCH は無視できない理由がなにかあるのでしょうか?以下でその理由を探ってみましょう。 いつエラーが発生するか このエラーは、 F<a data-gtm-click-label="entry-summary-keyword" href="/q/etc">etc</a>h <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> を利用して外部の HTTP サーバーに対してリクエストを行う時に、 PATCH と書くべきところを patch と書いていると発生します。</p> <a href="https://zenn.dev/neet/articles/de54e08de01c22" 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/2b5aa63cc51110d3d1365d4132b812b9ed9e32fa/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--knlDR0HC--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3AFetch%252520API%2525E3%252581%2525AF%2525E3%252580%25258CPATCH%2525E3%252580%25258D%2525E3%252581%2525A0%2525E3%252581%252591%2525E5%2525A4%2525A7%2525E6%252596%252587%2525E5%2525AD%252597%2525E3%252581%2525A8%2525E5%2525B0%25258F%2525E6%252596%252587%2525E5%2525AD%252597%2525E3%252581%2525AE%2525E6%25258C%252599%2525E5%25258B%252595%2525E3%252581%25258C%2525E7%252595%2525B0%2525E3%252581%2525AA%2525E3%252582%25258B%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3ARy%2525C5%25258D%252520Igarashi%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzViNmY4MzRlMDUuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="Fetch APIは「PATCH」だけ大文字と小文字の挙動が異なる"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4743209316747535503"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://zenn.dev/neet/articles/de54e08de01c22" 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/20231007#bookmark-4743209316747535503" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2023/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/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/4743209316747535503/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/saboyutaka/articles/e5515872871534"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/saboyutaka/articles/e5515872871534" 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%2Fshunjuio%2Farticles%2Fe5515872871534" alt="">GraphQLはいつ使うか、RESTとの比較</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/shunjuio/articles/e5515872871534" class="js-keyboard-entry-page-openable" title="GraphQLはいつ使うか、RESTとの比較 (217ブックマーク)" data-gtm-click-label="user-bookmark-users">217 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fzenn.dev%2Fshunjuio" title="『zenn.dev/shunjuio』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> zenn.dev/shunjuio </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">さぼです、沖縄でWebと設計について考えてます。<a data-gtm-click-label="entry-summary-keyword" href="/q/2023">2023</a>/09/23 に沖縄で行われた<a data-gtm-click-label="entry-summary-keyword" href="/q/tech">Tech</a>Ba<a data-gtm-click-label="entry-summary-keyword" href="/q/SEO">seO</a>kinawa<a data-gtm-click-label="entry-summary-keyword" href="/q/2023">2023</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/GraphQL">GraphQL</a>を使う時、または使わない時のヒントを持ち帰ってもらう 最近、<a data-gtm-click-label="entry-summary-keyword" href="/q/GraphQL">GraphQL</a>じゃなくてRESTで良くないと思うケースがなんとなくわかってきたのでそれを共有する という感じで話しました。話した内容を文字に起こし少し改修して<a data-gtm-click-label="entry-summary-keyword" href="/q/Zenn">Zenn</a>でも共有することとします。 まえおき 最近はクライアントAppとサーバーAppを分けて実装する事が増えてきた クライアントの環境はますます複雑になっている クライアントとサーバーはWeb<a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>で通信を行う クライアントが複雑になるのと同時にWeb<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>の要求・応答を効率</p> <a href="https://zenn.dev/shunjuio/articles/e5515872871534" 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/bce759595bd039d686ad499690b533bb313cff51/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--wgyUYEV---%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3AGraphQL%2525E3%252581%2525AF%2525E3%252581%252584%2525E3%252581%2525A4%2525E4%2525BD%2525BF%2525E3%252581%252586%2525E3%252581%25258B%2525E3%252580%252581REST%2525E3%252581%2525A8%2525E3%252581%2525AE%2525E6%2525AF%252594%2525E8%2525BC%252583%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_34%3Asaboyutaka%252Cx_220%252Cy_108%2Fbo_3px_solid_rgb%3Ad6e3ed%252Cg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzU3MGZmNGMxMGQuanBlZw%3D%3D%252Cr_20%252Cw_90%252Cx_92%252Cy_102%2Fco_rgb%3A6e7b85%252Cg_south_west%252Cl_text%3Anotosansjp-medium.otf_30%3A%2525E5%252590%252588%2525E5%252590%25258C%2525E4%2525BC%25259A%2525E7%2525A4%2525BE%2525E6%252598%2525A5%2525E7%2525A7%25258B%2525E3%252583%252586%2525E3%252583%252583%2525E3%252582%2525AF%2525E3%252583%252596%2525E3%252583%2525AD%2525E3%252582%2525B0%252Cx_220%252Cy_160%2Fbo_4px_solid_white%252Cg_south_west%252Ch_50%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2k2dGhDeVExUnVRN0Fvd3NGLUNIM1dXZXVxWHk5UEpnYVBtMmViPXMyNTAtYw%3D%3D%252Cr_max%252Cw_50%252Cx_139%252Cy_84%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="GraphQLはいつ使うか、RESTとの比較"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4743107708522278543"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://zenn.dev/saboyutaka/articles/e5515872871534" 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/20231006#bookmark-4743107708522278543" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2023/10/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> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4743107708522278543/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/ad5/articles/fae2e929fca79e"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/ad5/articles/fae2e929fca79e" 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%2Fad5%2Farticles%2Ffae2e929fca79e" alt="">APIトークン認証の論理設計</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/ad5/articles/fae2e929fca79e" class="js-keyboard-entry-page-openable" title="APIトークン認証の論理設計 (272ブックマーク)" data-gtm-click-label="user-bookmark-users">272 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fzenn.dev%2Fad5" title="『zenn.dev/ad5』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> zenn.dev/ad5 </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">SPAやモバイルアプリから利用する<a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>を開発する際の、トークン認証のお話です。 どの認証ライブラリを使うべきという話ではなく、トークン認証の論理的な設計について考察します。 私自身も結論が出ていないので、色んな意見が聞けると嬉しいです。 出発点 ユーザテーブルにアクセストークンを持つのが最も安直な発想だと思います。 ログイン成功時にアクセストークンを発行し、該当ユーザレコードにセット。 同時に有効期限もセットします。 認証時には、アクセストークンが存在し有効期限内であれば、認証を通過させ、 そうでなければ認証失敗とします。 ログアウト時には、該当ユーザレコードのアクセストークンを空にします。 発行日時を持ち、システム内に定義された有効期間をもとに、認証時に計算する方法もあると思います。 <a data-gtm-click-label="entry-summary-keyword" href="/q/laravel">Laravel</a> Sanctum 等はそういう実装です(しかもデフォルトでは有効期限なし)。 有効かどう</p> <a href="https://zenn.dev/ad5/articles/fae2e929fca79e" 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/3b1381d725aa5cc03f349e729e747ad6c424a4e9/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--ssix_YIO--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3AAPI%2525E3%252583%252588%2525E3%252583%2525BC%2525E3%252582%2525AF%2525E3%252583%2525B3%2525E8%2525AA%25258D%2525E8%2525A8%2525BC%2525E3%252581%2525AE%2525E8%2525AB%252596%2525E7%252590%252586%2525E8%2525A8%2525AD%2525E8%2525A8%252588%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3ARoku%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzAzMmUzNjRjMTUuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="APIトークン認証の論理設計"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4742309195325720079"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://zenn.dev/ad5/articles/fae2e929fca79e" 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/20230917#bookmark-4742309195325720079" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2023/09/17</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/R2M/%E8%AA%8D%E8%A8%BC/" data-gtm-click-label="user-reaction-tag">認証</a></li> <li><a href="/R2M/%E8%A8%AD%E8%A8%88/" data-gtm-click-label="user-reaction-tag">設計</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/4742309195325720079/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://apidog.com/jp/"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://apidog.com/jp/" 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%2Fapidog.com%2Fjp%2F" alt="">Apidog APIの設計、デバッグ、開発、モック、テストを一体化した包括的なプラットフォーム</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/apidog.com/jp/" class="js-keyboard-entry-page-openable" title="Apidog APIの設計、デバッグ、開発、モック、テストを一体化した包括的なプラットフォーム (23ブックマーク)" data-gtm-click-label="user-bookmark-users">23 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fapidog.com%2F" title="『apidog.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> apidog.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/API">API</a>定義を集中化し、標準化OASと互換性がありながら、その複雑さから解放します。直感的なインターフェースと効率的な操作により、企業の<a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>システムを迅速かつ標準化され、エレガントに構築できます。</p> <a href="https://apidog.com/jp/" 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/5bf5f546405c07baab6790743c91ced034393551/height=288;version=1;width=512/https%3A%2F%2Fassets.apidog.com%2Fstatic%2Flogo%2Ffavicon.ico" alt="Apidog APIの設計、デバッグ、開発、モック、テストを一体化した包括的なプラットフォーム"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4738383581050242469"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://apidog.com/jp/" 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/20230912#bookmark-4738383581050242469" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2023/09/12</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> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4738383581050242469/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/praha/articles/aab4b7cbe175f0"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/praha/articles/aab4b7cbe175f0" 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%2Fpraha%2Farticles%2Faab4b7cbe175f0" alt="">RustでAPIを開発してみたら結構辛かった話</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/praha/articles/aab4b7cbe175f0" class="js-keyboard-entry-page-openable" title="RustでAPIを開発してみたら結構辛かった話 (167ブックマーク)" data-gtm-click-label="user-bookmark-users">167 users</a> </span> </li> <li> <a href="/R2M/?url=https%3A%2F%2Fzenn.dev%2Fpraha" title="『zenn.dev/praha』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> zenn.dev/praha </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">はじめに 皆様こんにちは、株式会社プラハのAwataです。 今日は、以前書いたリーダーの振り返り記事で軽く触れていた、<a data-gtm-click-label="entry-summary-keyword" href="/q/Rust">Rust</a>での<a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>開発についての記事を書いていこうと思います。 結論<a data-gtm-click-label="entry-summary-keyword" href="/q/Rust">Rust</a>でWebは辛い!という話なんですが、約5か月くらい<a data-gtm-click-label="entry-summary-keyword" href="/q/Rust">Rust</a>でWeb開発をしたので、今後の参考になるようなことを書いていこうと思います。 ぜひ最後までお付き合いください。 TL;DR <a data-gtm-click-label="entry-summary-keyword" href="/q/Rust">Rust</a>でWeb開発はまだ早いかもしれない。 <a data-gtm-click-label="entry-summary-keyword" href="/q/Rust">Rust</a>でDDDはやりやすい。ただしDIがやりにくい場合があるので、そこは要注意。 <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>はやっぱり難しいけど人気の理由も少し分かった気がする そもそもなぜ<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>で開発しようと思ったのか気になる方も多いと思います</p> <a href="https://zenn.dev/praha/articles/aab4b7cbe175f0" 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/b33bacd292be7fa639a55f850f9574d85b280dc2/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--mYUvpmy8--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3ARust%2525E3%252581%2525A7API%2525E3%252582%252592%2525E9%252596%25258B%2525E7%252599%2525BA%2525E3%252581%252597%2525E3%252581%2525A6%2525E3%252581%2525BF%2525E3%252581%25259F%2525E3%252582%252589%2525E7%2525B5%252590%2525E6%2525A7%25258B%2525E8%2525BE%25259B%2525E3%252581%25258B%2525E3%252581%2525A3%2525E3%252581%25259F%2525E8%2525A9%2525B1%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_34%3AKyosuke%252520Awata%252Cx_220%252Cy_108%2Fbo_3px_solid_rgb%3Ad6e3ed%252Cg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2NiNzU1NDliMzkuanBlZw%3D%3D%252Cr_20%252Cw_90%252Cx_92%252Cy_102%2Fco_rgb%3A6e7b85%252Cg_south_west%252Cl_text%3Anotosansjp-medium.otf_30%3A%2525E3%252582%2525A2%2525E3%252582%2525AC%2525E3%252583%2525AB%2525E3%252583%2525BC%2525E3%252583%252588%2525E3%252583%252586%2525E3%252582%2525AF%2525E3%252583%25258E%2525E3%252583%2525AD%2525E3%252582%2525B8%2525E3%252583%2525BC%2525E3%252582%2525BA%25252FPrAha%252Cx_220%252Cy_160%2Fbo_4px_solid_white%252Cg_south_west%252Ch_50%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2MzYmYxMDc5MDQuanBlZw%3D%3D%252Cr_max%252Cw_50%252Cx_139%252Cy_84%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="RustでAPIを開発してみたら結構辛かった話"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4732632632995516100"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://zenn.dev/praha/articles/aab4b7cbe175f0" 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/20230301#bookmark-4732632632995516100" class="js-anchor-path" data-gtm-click-label="user-reaction-username">R2M</a></span> <span class="centerarticle-reaction-timestamp">2023/03/01</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/R2M/rust/" data-gtm-click-label="user-reaction-tag">rust</a></li> <li><a href="/R2M/API/" data-gtm-click-label="user-reaction-tag">API</a></li> <li><a href="/R2M/%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-reaction-tag">開発</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4732632632995516100/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/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/common/loading@2x.gif" alt="残りのブックマークを読み込んでいます" width="16" height="16" /></span> <span>1</span> <span><a href="/R2M/API/?page=2">2</a></span> <span><a href="/R2M/API/?page=3">3</a></span> <span><a href="/R2M/API/?page=4">4</a></span> <span><a href="/R2M/API/?page=5">5</a></span> <span><a href="/R2M/API/?page=6">6</a></span> <span><a href="/R2M/API/?page=7">7</a></span> <span class="centerarticle-pager-next"><a href="/R2M/API/?page=2">次のページ</a></span> </div> </li> </ul> </div> </div> <script type="text/javascript"> // ---------------- dfp section ---------------- var valve = valve || []; valve.push(function(v) { v.defineDFPSlot({ unit: '/4374287/b_pc_o_18_3025_0_no', sizes: [[300,250]], slotId: 'user-sidebar-ad-top' }); v.defineDFPSlot({ unit: '/4374287/b_pc_o_19_3060_0_no', sizes: [[300,600],[300,250]], slotId: 'user-sidebar-ad-bottom' }); v.sealDFPSlots(); }); </script> <script> var valve = window.valve || []; valve.push(function(v) { var pageKeyValues = {}; if (document.cookie.split(';').some(function(item) { return item.indexOf('202011_guest_status=register_incomplete') >= 0})) { pageKeyValues.bookmark_status = 'register_incomplete'; } v.config({ pageKeyValues: pageKeyValues, content: { result: "ng" }, service: 'bookmark' }); }); </script> <script src="https://cdn.pool.st-hatena.com/valve/valve.js" async></script> <div class="right-container"> <div id="user-sidebar-ad-top" class="centerarticle-aside-ad"></div> <section class="centerarticle-aside-section"> <div class="centerarticle-aside-info"> <h3 class="centerarticle-aside-info-title">お知らせ</h3> <ul class="centerarticle-aside-info-list"> <li class="centerarticle-aside-info-item"> <a href="https://bookmark.hatenastaff.com/entry/2025/02/18/125503?utm_source=user_page_side_column&amp;utm_medium=official_announcement&amp;utm_campaign=2025%2F02%2F18%2F125503" target="_blank"> <p class="centerarticle-aside-info-category">ランキング</p> <h4 class="centerarticle-aside-info-item-title">今週のはてなブックマーク数ランキング(2025年2月第3週)</h4> <time class="centerarticle-aside-info-item-time">2025/02/18</time> </a> </li> <li class="centerarticle-aside-info-item"> <a href="https://bookmark.hatenastaff.com/entry/2025/02/12/120845?utm_source=user_page_side_column&amp;utm_medium=official_announcement&amp;utm_campaign=2025%2F02%2F12%2F120845" target="_blank"> <p class="centerarticle-aside-info-category">ランキング</p> <h4 class="centerarticle-aside-info-item-title">今週のはてなブックマーク数ランキング(2025年2月第2週)</h4> <time class="centerarticle-aside-info-item-time">2025/02/12</time> </a> </li> <li class="centerarticle-aside-info-item"> <a href="https://bookmark.hatenastaff.com/entry/2025/02/07/115828?utm_source=user_page_side_column&amp;utm_medium=official_announcement&amp;utm_campaign=2025%2F02%2F07%2F115828" target="_blank"> <p class="centerarticle-aside-info-category">ランキング</p> <h4 class="centerarticle-aside-info-item-title">月間はてなブックマーク数ランキング(2025年1月)</h4> <time class="centerarticle-aside-info-item-time">2025/02/07</time> </a> </li> </ul> <div class="enterarticle-aside-info-readmore"> <a href="https://bookmark.hatenastaff.com/?utm_source=user_page_side_column&utm_medium=official_announcement&utm_campaign=readmore" class="enterarticle-aside-info-readmore-button" target="_blank">もっと読む</a> </div> </div> </section> <section class="centerarticle-aside-section"> <h3 class="centerarticle-aside-title">公式Twitter</h3> <ul class="centerarticle-aside-twitter"> <li><a href="https://twitter.com/HatenaBookmark" target="_blank" rel="noopener" data-gtm-click-label="user-officialTwitter-name">@HatenaBookmark</a><p>リリース、障害情報などのサービスのお知らせ</p></li> <li><a href="https://twitter.com/hatebu" target="_blank" rel="noopener" data-gtm-click-label="user-hotentryTwitter-name">@hatebu</a><p>最新の人気エントリーの配信</p></li> </ul> </section> <div id="user-sidebar-ad-bottom" class="centerarticle-aside-ad"></div> </div> </div> </div> <div class="progress-modal is-hidden js-progress-modal"> <div class="progress-modal-spiner"></div> <div class="progress-modal-message"> <p class="progress-modal-message-text js-progress-message">処理を実行中です</p> <button class="progress-modal-cancel js-cancel-button">中止</button> </div> </div> <div class="message-modal js-message-modal is-hidden auto-hide"> <div class="message-modal-message"> <p class="message-modal-message-text js-message-modal-message-text"></p> <button class="message-modal-btn js-message-modal-close-button">閉じる</button> </div> </div> <div id="keyboard-shortcut-help" class="shortcut-help is-hidden"> <h3 class="shortcut-help-title">キーボードショートカット一覧</h3> <p><span class="shortcut-help-key">j</span>次のブックマーク</p> <p><span class="shortcut-help-key">k</span>前のブックマーク</p> <p><span class="shortcut-help-key">l</span>あとで読む</p> <p><span class="shortcut-help-key">e</span>コメント一覧を開く</p> <p><span class="shortcut-help-key">o</span>ページを開く</p> <button tyle="button" class="shortcut-help-close js-close-button">✕</button> </div> <div class="footer"> <div class="footer-inner"> <div class="footer-inner-group footer-bookmark"> <h2 class="footer-title"><a href="/" data-gtm-label="footer-btop">はてなブックマーク</a></h2> <div class="footer-list-wrapper"> <ul class="footer-list footer-list--pc"> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/all" class="hotentry js-keyboard-openable" data-gtm-label="footerCategories-hotentry">総合</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/general" class="general js-keyboard-openable" data-gtm-label="footerCategories-general">一般</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/social" class="cat-social js-keyboard-openable" data-gtm-label="footerCategories-social">世の中</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/economics" class="cat-economics js-keyboard-openable" data-gtm-label="footerCategories-economics">政治と経済</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/life" class="cat-life js-keyboard-openable" data-gtm-label="footerCategories-life">暮らし</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/knowledge" class="cat-knowledge js-keyboard-openable" data-gtm-label="footerCategories-knowledge">学び</a></li> </ul> <ul class="footer-list footer-list--pc"> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/it" class="cat-it js-keyboard-openable" data-gtm-label="footerCategories-it">テクノロジー</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/entertainment" class="cat-entertainment js-keyboard-openable" data-gtm-label="footerCategories-entertainment">エンタメ</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/game" class="cat-game js-keyboard-openable" data-gtm-label="footerCategories-game">アニメとゲーム</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/fun" class="cat-fun js-keyboard-openable" data-gtm-label="footerCategories-fun">おもしろ</a></li> </ul> <ul class="footer-list"> <li class="footer-list-item"><a href="/guide/tools">アプリ・拡張機能</a></li> <li class="footer-list-item"><a href="https://bookmark.hatenastaff.com/">開発ブログ</a></li> <li class="footer-list-item"><a href="/help/">ヘルプ</a></li> <li class="footer-list-item"><a href="https://hatena.zendesk.com/hc/ja/categories/900000153166">お問い合わせ</a></li> <li class="footer-list-item footer-list-item--sp"><a href="/guide/guideline">ガイドライン</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/rule">利用規約</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/privacypolicy-ja">プライバシーポリシー</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/cookie-policy">利用者情報の外部送信について</a></li> </ul> <ul class="footer-list footer-list--pc"> <li class="footer-list-item footer-list-item--pc"><a href="/guide/guideline">ガイドライン</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/rule">利用規約</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/privacypolicy-ja">プライバシーポリシー</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/cookie-policy">利用者情報の外部送信について</a></li> </ul> </div> </div> <div class="footer-inner-group footer-bookmark-sns"> <h2 class="footer-title">公式Twitter</h2> <div class="footer-bookmark-list"> <ul class="footer-list"> <li class="footer-list-item"><a href="https://twitter.com/HatenaBookmark" target="_blank" rel="noopener" data-gtm-click-label="footer-officialTwitter-name">公式アカウント</a></li> <li class="footer-list-item"><a href="https://twitter.com/hatebu" target="_blank" rel="noopener" data-gtm-click-label="footer-hotentryTwitter-name">ホットエントリー</a></li> </ul> </div> </div> <div class="footer-inner-group footer-hatena"> <h2 class="footer-title">はてなのサービス</h2> <ul class="footer-list"> <li class="footer-list-item"><a href="https://hatenablog.com/" data-gtm-label="footerServices-blog">はてなブログ</a></li> <li class="footer-list-item"><a href="https://hatenablog.com/guide/pro?plus_via=hatenabookmark_footer&utm_source=hatenabookmark&utm_medium=referral&utm_campaign=hatenabookmark_to_hatenablog_pro&utm_content=hatenabookmark_footer" data-gtm-label="footerServices-blog-pro">はてなブログPro</a></li> <li class="footer-list-item"><a href="https://q.hatena.ne.jp/" data-gtm-label="footerServices-question">人力検索はてな</a></li> <li class="footer-list-item"><a href="http://d.hatena.ne.jp/" data-gtm-label="footerServices-keyword">はてなブログ タグ</a></li> <li class="footer-list-item"><a href="http://hatenanews.com/" data-gtm-label="footerServices-hatenanews">はてなニュース</a></li> <li class="footer-list-item"><a href="https://soredoko.jp/" data-gtm-label="footerServices-soredoko">ソレドコ</a></li> </ul> </div> </div> <div class="footer-bottom"> <div class="footer-app"> <ul> <li class="footer-list-item"><a href="https://apps.apple.com/jp/app/hatenabukkumaku/id354976659?mt=8" target="_blank" rel="noopener" data-gtm-click-label="footer-app-ios"><img src="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/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&amp;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/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/common/dl-button/googleplay@2x.png" alt="Google Playで手に入れよう"></a></li> </ul> </div> <div class="copyright">Copyright &copy; 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/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/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>

Pages: 1 2 3 4 5 6 7 8 9 10