CINXE.COM
スタディスト Tech Blog[B!]新着記事・評価 - はてなブックマーク
<!DOCTYPE html> <html lang="ja" data-page-scope="EntryList" data-stable-request-url="https://b.hatena.ne.jp/site/studist.tech/" data-device-type="PC" data-sentry-environment="production" data-sentry-sample-rate="0.1" data-category-name="all" data-issue-name="" data-page-subtype="recententry" data-page-type="entrylist" > <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>スタディスト Tech Blog[B!]新着記事・評価 - はてなブックマーク</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/site/studist.tech/" /> <link rel="next" href="/site/studist.tech/?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="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="alternate" type="application/rss+xml" href="/site/studist.tech/?sort=hot&threshold=3&mode=rss" /> <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=" fixed-header"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5TDHQX" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="link-app-banner js-dynamic-link-app-banner is-hidden"> <button class="link-app-banner-btn-close js-dynamic-link-app-banner-close-button"><span>close</span></button> <a class="link-app-banner-btn" href="https://hatenabookmark.page.link/app"> <div class="link-app-banner-btn-detail"> <div class="link-app-banner-icon"><img src="/images/v4/public/app/ic-ios.svg" alt="はてなブックマークアプリ"></div> <p class="link-app-banner-text">サクサク読めて、<br class="link-app-banner-text-newline">アプリ限定の機能も多数!</p> </div> <div class="link-app-banner-btn-open">アプリで開く</div> </a> </div> <header id="global-header" data-portal-static-origin="//cdn.www.st-hatena.com"> <div id="header" class="global-header-inner js-global-header-inner"> <h2 id="gh-logo"><a href="/" data-gtm-label="gh-blogo"><span>はてなブックマーク</span></a></h2> <div class="is-guest js-guest is-hidden"> <input id="gh-search-icon-check" type="checkbox" checked="checked" /> <label class="gh-search-icon" for="gh-search-icon-check" aria-label="検索を閉じる"><span>閉じる</span></label> <form class="gh-searchbox" method="get" action="/search_dwim" role="search"> <input value="" name="q" type="search" class="gh-inputtext" placeholder="キーワード・URLを検索" size="40" /> <input value="" type="submit" class="gh-search-button" /> </form> <ul class="gh-service-menu"> <li><a href="/guide" data-gtm-label="gh-guest-guide">はてなブックマークって?</a></li> <li><a href="/guide/tools" data-gtm-label="gh-guest-tools">アプリ・拡張の紹介</a></li> <li><a href="https://www.hatena.ne.jp/register?location=https%3A%2F%2Fb.hatena.ne.jp%2F%3Fregistered_from%3Dglobal-header&via=201037" class="gh-guest-register" data-gtm-label="gh-guest-register">ユーザー登録</a></li> <li><a href="https://www.hatena.ne.jp/login?location=https%3A%2F%2Fb.hatena.ne.jp%2Fsite%2Fstudist.tech%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> <script type="text/javascript"> (function() { var layout = "tile"; if (!isMobile()) { try { layout = window.localStorage.getItem("bstn.entrylist.layout") || "tile"; // default } catch (ignore) { layout = "tile" } if (layout === "list") { document.body.classList.add("style-list") } if (layout === "headline") { document.body.classList.add("style-headline") } (dataLayer = window.dataLayer || []).push({ event: 'boston:entrylist:layout', boston: { entrylist: { layout: layout, } } }); } document.body.setAttribute("data-entrylist-layout", layout) })() </script> <ul class="is-hidden"> </ul> <div class="is-hidden"> <div class="river-placement entrylist-image-entry" data-river-placement="url_search_1"></div> </div> <script type="text/javascript" src="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/js/v4/bookmark.river.js" async></script> <script type="text/x-template" id="template-ad-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> (function() { function hideAndRegister(configuration, callback) { var styleElement = document.createElement('style'); var selector = configuration.selector; var ads = configuration.ads; var css = ''; for (var i = 0; i < ads.length; i++) { var row = ads[i].row; css += selector + '.is-nativeads-loading > li:nth-child(' + row + ') > .entrylist-contents > * { display: none; }\n'; } styleElement.textContent = css; document.head.appendChild(styleElement); (nativeAds = window.nativeAds || []).push(function(nativeAds) { nativeAds.register(configuration).then(callback || function(){}); }); } if (isMobile()) { } else { var waitContentLoaded = function(callback) { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', callback); } else { callback(); } }; (nativeAds = window.nativeAds || []).push(function(nativeAds) { nativeAds.register( { selector: ".js-right-top-native-ad", ads: [ { placement: 'url_search_1', row: 1 } ], options: { insert: true, group: true } } ).catch(function() { waitContentLoaded(function() { var layout = document.body.getAttribute('data-entrylist-layout'); if (layout === 'tile') { var nativeAdContainer = document.querySelector('.js-right-top-native-ad'); if (nativeAdContainer) { nativeAdContainer.classList.add('is-hidden'); } var adContainer = document.querySelector('#entrylist-ad-right-top'); if (adContainer) { adContainer.classList.remove('is-hidden'); } var valve = window.valve || []; valve.push(function(v) { v.displayDFPSlot("entrylist-ad-right-top"); }); } else if (layout === 'list' || layout === 'headline') { var container = document.querySelector('.js-right-top-native-ad'); if (container) { container.classList.add('is-hidden'); } } }); }); }); } })(); </script> <script type="text/javascript"> // ---------------- dfp section ---------------- function showAdRightTopDFPSlot() { var nativeAdContainer = document.querySelector('.js-right-top-native-ad'); if (nativeAdContainer) { nativeAdContainer.classList.add('is-hidden'); } var adContainer = document.querySelector('#entrylist-ad-right-top'); if (adContainer) { adContainer.classList.remove('is-hidden'); } }; var valve = valve || []; if (isMobile()) { valve.push(function(v) { v.defineDFPSlot({ unit: '/4374287/bookmark_overlay_sp', sizes: [[320,80],[320,70],[320,50]], slotId: 'touch-footer-ad' }); v.defineDFPSlot({ unit: '/4374287/bookmark_entrylist_middle_rectangle_sp', sizes: [[300,250]], slotId: 'entrylist-ad-rectangle-middle' }); v.defineDFPSlot({ unit: '/4374287/bookmark_entrylist_bottom_rectangle_sp', sizes: [[300,250]], slotId: 'entrylist-ad-rectangle-bottom' }); v.sealDFPSlots(); }); } else { var layout = document.body.getAttribute('data-entrylist-layout'); if (layout === 'tile') { valve.push(function(v) { v.defineDFPSlot({ unit: '/4374287/bookmark_entrylist_middle_super_pc', sizes: [[728,90]], slotId: 'entrylist-ad-banner-middle' }); v.defineDFPSlot({ unit: '/4374287/bookmark_entrylist_bottom_super_pc', sizes: [[728,90]], slotId: 'entrylist-ad-banner-bottom' }); v.defineDFPSlot({ unit: '/4374287/bookmark_entrylist_top_right_rectangle_pc', sizes: [[300,250]], slotId: 'entrylist-ad-right-top', lazy: true }); v.sealDFPSlots(); }); } else if (layout === 'list' || layout === 'headline') { valve.push(function(v) { v.defineDFPSlot({ unit: '/4374287/bookmark_entrylist_sidebar_top_pc', sizes: [[300,250]], slotId: 'entrylist-ad-sidebar-top' }); v.defineDFPSlot({ unit: '/4374287/bookmark_entrylist_sidebar_bottom_pc', sizes: [[300,250]], slotId: 'entrylist-ad-sidebar-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, textSelector: ".entrylist-wrapper", content: { result: "ng" }, service: 'bookmark' }); }); </script> <script src="https://cdn.pool.st-hatena.com/valve/valve.js" async></script> <div id="container"> <div class="branding js-branding" class="__FIXME__"> <div class="branding-header"> <h1 class="branding-title"> <a href="/"><span>はてなブックマーク</span></a> </h1> <p class="gototop"><a href="/" data-gtm-click-label="branding-left-top-blogo">トップへ戻る</a></p> </div> <form class="branding-searchbox" method="get" action="/search_dwim"> <input value="https://studist.tech/" name="q" type="text" class="inputtext" id="searchtext" placeholder="キーワード・URLを検索" size="40" aria-label="キーワード・URLを検索" /> <input value="" type="submit" class="search-button" /> </form> <div class="navi-layout js-entrylist-layout-switcher"> <button type="button" class="navi-layout-tile js-entrylist-layout-switcher-item" data-layout="tile" aria-label="表示レイアウトをタイル形式に変更"></button> <button type="button" class="navi-layout-list js-entrylist-layout-switcher-item" data-layout="list" aria-label="表示レイアウトをリスト形式に変更"></button> <button type="button" class="navi-layout-headline js-entrylist-layout-switcher-item" data-layout="headline" aria-label="表示レイアウトをヘッドライン形式に変更"></button> </div> </div> <div class="navi-wrapper js-navi-category-wrapper is-unscrolled noscript"> <ul class="navi-body js-navi-category"> <li class="js-navi-category-item cat-all" data-category-name="cat-all"> <div class="navi-link js-navi-link"> <a href="/hotentry/all" class="navi-link-text cat-all" data-gtm-click-label="global-navi-all"><span>総合</span></a> <span class="gnavi-button js-gnavi-button" data-category-name="cat-all" data-gtm-click-label="global-navi-button-all"></span> </div> <div class="navi-item-detail js-navi-item-detail is-hidden"> <div class="navi-item-detail-inner js-navi-item-detail-inner"> <ul class="navi-item-list"> <li class="navi_hotentry"><a href="/hotentry/all" data-gtm-click-label="global-navi-hotentry">人気</a></li> <li class="navi_entrylist"><a href="/entrylist/all" data-gtm-click-label="global-navi-recententry">新着</a></li> </ul> <ul class="navi-item-issue"> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/all/IT" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/284fceb2cc66e9d4b4a7651280d668d0b83e5366/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F085512e723336a781b4a813205505f4c2082cc9d%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FT%252FTJO%252F20250214%252F20250214135104.png);"></a> </span> <span class="issue"> <a href="/entrylist/all/IT">IT</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/all/%E6%9C%80%E6%96%B0%E3%82%AC%E3%82%B8%E3%82%A7%E3%83%83%E3%83%88" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/4575c5168b57229630a7d99427f1912cc1d50edf/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fmobile%2Farticles%2F2502%2F26%2Fl_rk1640414_iPhone-01.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/all/%E6%9C%80%E6%96%B0%E3%82%AC%E3%82%B8%E3%82%A7%E3%83%83%E3%83%88">最新ガジェット</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/all/%E8%87%AA%E7%84%B6%E7%A7%91%E5%AD%A6" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/c117686cf566ea1a1376c0e2dc2d9720266d643b/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F47ad6e8e32ee306815ca41ebedaaf0dc-1200x630.jpeg);"></a> </span> <span class="issue"> <a href="/entrylist/all/%E8%87%AA%E7%84%B6%E7%A7%91%E5%AD%A6">自然科学</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/all/%E7%B5%8C%E6%B8%88%E3%83%BB%E9%87%91%E8%9E%8D" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/60d3e3234fab42bde425be83cd4cfd714b07ef6e/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F95f503789596ff9328ca0917214d2105-1200x630.jpeg);"></a> </span> <span class="issue"> <a href="/entrylist/all/%E7%B5%8C%E6%B8%88%E3%83%BB%E9%87%91%E8%9E%8D">経済・金融</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/all/%E3%81%8A%E3%82%82%E3%81%97%E3%82%8D" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b1638cdb5807a4788e4ba3c1109a984166e095fc/height=288;version=1;width=512/https%3A%2F%2Fanond.hatelabo.jp%2Fimages%2Fog-image-1500.gif);"></a> </span> <span class="issue"> <a href="/entrylist/all/%E3%81%8A%E3%82%82%E3%81%97%E3%82%8D">おもしろ</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/all/%E3%83%9E%E3%83%B3%E3%82%AC" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b1638cdb5807a4788e4ba3c1109a984166e095fc/height=288;version=1;width=512/https%3A%2F%2Fanond.hatelabo.jp%2Fimages%2Fog-image-1500.gif);"></a> </span> <span class="issue"> <a href="/entrylist/all/%E3%83%9E%E3%83%B3%E3%82%AC">マンガ</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/all/%E3%82%B2%E3%83%BC%E3%83%A0" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/fb54f855044da4e5753ee31dcb3214dc126b7ab4/height=288;version=1;width=512/https%3A%2F%2Fnews.denfaminicogamer.jp%2Fwp-content%2Fuploads%2F2025%2F02%2FGWYkQREbQAQUqQX-th250226.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/all/%E3%82%B2%E3%83%BC%E3%83%A0">ゲーム</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/all/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E7%B7%8F%E5%90%88%EF%BC%89" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/ea78f7be2ec3246f078965944c38a0922810494e/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F12921228815713059486%2F6802418398331985667%2F1740538801);"></a> </span> <span class="issue"> <a href="/entrylist/all/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E7%B7%8F%E5%90%88%EF%BC%89">はてなブログ(総合)</a> </span> </li> </ul> </div> </div> </li> <li class="js-navi-category-item cat-general" data-category-name="cat-general"> <div class="navi-link js-navi-link"> <a href="/hotentry/general" class="navi-link-text cat-general" data-gtm-click-label="global-navi-general"><span>一般</span></a> <span class="gnavi-button js-gnavi-button" data-category-name="cat-general" data-gtm-click-label="global-navi-button-general"></span> </div> <div class="navi-item-detail js-navi-item-detail is-hidden"> <div class="navi-item-detail-inner js-navi-item-detail-inner"> <ul class="navi-item-list"> <li class="navi_hotentry"><a href="/hotentry/general" data-gtm-click-label="global-navi-hotentry">人気</a></li> <li class="navi_entrylist"><a href="/entrylist/general" data-gtm-click-label="global-navi-recententry">新着</a></li> </ul> <ul class="navi-item-issue"> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/general/%E7%A4%BE%E4%BC%9A%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/69cf5e9ce65af26e5a99dc875ec4011093b2a038/height=288;version=1;width=512/https%3A%2F%2Fstatic.tokyo-np.co.jp%2Fimage%2Farticle%2Fsize1%2Fe%2F3%2Fa%2F9%2Fe3a9a628deb62044121b20f61297f6c8_1.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/general/%E7%A4%BE%E4%BC%9A%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9">社会ニュース</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/general/%E5%9C%B0%E5%9F%9F" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/d866e63d0b9f07eab9e54ed92ca686bc965bbcf1/height=288;version=1;width=512/https%3A%2F%2Fryukyushimpo.jp%2Ftachyon%2F2025%2F02%2F1RS20250226G00298010100_00.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/general/%E5%9C%B0%E5%9F%9F">地域</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/general/%E5%9B%BD%E9%9A%9B" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/1b5a76631a157450040240de09ba9ff5a13b0f60/height=288;version=1;width=512/https%3A%2F%2Fwww.yomiuri.co.jp%2Fmedia%2F2025%2F02%2F20250226-OYT1I50107-1.jpg%3Ftype%3Dogp);"></a> </span> <span class="issue"> <a href="/entrylist/general/%E5%9B%BD%E9%9A%9B">国際</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/general/%E5%A4%A9%E6%B0%97" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/341eef1ba15959cbeead9eedf6158b82e34c6f34/height=288;version=1;width=512/https%3A%2F%2Fafpbb.ismcdn.jp%2Fmwimgs%2F5%2F9%2F1000x%2Fimg_59167d4f00890b0bd74be1fe2751d7ff167267.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/general/%E5%A4%A9%E6%B0%97">天気</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/general/%E3%82%B0%E3%83%AB%E3%83%A1" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/391b5161c7d568697fb955183861320c55eb174d/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2Fd5e9ab53d20036250aee4d71f4d11abb-1200x630.jpeg);"></a> </span> <span class="issue"> <a href="/entrylist/general/%E3%82%B0%E3%83%AB%E3%83%A1">グルメ</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/general/%E6%98%A0%E7%94%BB%E3%83%BB%E9%9F%B3%E6%A5%BD" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/e7b009dba6f4901a9b8755386e7e0f0668465e9e/height=288;version=1;width=512/https%3A%2F%2Fdailyportalz.jp%2Fapplication%2Ffiles%2F2717%2F4053%2F2193%2Ftop.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/general/%E6%98%A0%E7%94%BB%E3%83%BB%E9%9F%B3%E6%A5%BD">映画・音楽</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/general/%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%84" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b1638cdb5807a4788e4ba3c1109a984166e095fc/height=288;version=1;width=512/https%3A%2F%2Fanond.hatelabo.jp%2Fimages%2Fog-image-1500.gif);"></a> </span> <span class="issue"> <a href="/entrylist/general/%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%84">スポーツ</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/general/%E3%81%AF%E3%81%A6%E3%81%AA%E5%8C%BF%E5%90%8D%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AA%E3%83%BC" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b1638cdb5807a4788e4ba3c1109a984166e095fc/height=288;version=1;width=512/https%3A%2F%2Fanond.hatelabo.jp%2Fimages%2Fog-image-1500.gif);"></a> </span> <span class="issue"> <a href="/entrylist/general/%E3%81%AF%E3%81%A6%E3%81%AA%E5%8C%BF%E5%90%8D%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AA%E3%83%BC">はてな匿名ダイアリー</a> </span> </li> </ul> </div> </div> </li> <li class="js-navi-category-item cat-social" data-category-name="cat-social"> <div class="navi-link js-navi-link"> <a href="/hotentry/social" class="navi-link-text cat-social" data-gtm-click-label="global-navi-social"><span>世の中</span></a> <span class="gnavi-button js-gnavi-button" data-category-name="cat-social" data-gtm-click-label="global-navi-button-social"></span> </div> <div class="navi-item-detail js-navi-item-detail is-hidden"> <div class="navi-item-detail-inner js-navi-item-detail-inner"> <ul class="navi-item-list"> <li class="navi_hotentry"><a href="/hotentry/social" data-gtm-click-label="global-navi-hotentry">人気</a></li> <li class="navi_entrylist"><a href="/entrylist/social" data-gtm-click-label="global-navi-recententry">新着</a></li> </ul> <ul class="navi-item-issue"> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/social/%E6%96%B0%E5%9E%8B%E3%82%B3%E3%83%AD%E3%83%8A%E3%82%A6%E3%82%A4%E3%83%AB%E3%82%B9" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b94f58da95d9c82b6929b071f77f92f8c8fdbdb8/height=288;version=1;width=512/https%3A%2F%2Fi0.wp.com%2Fecon101.jp%2Fwp-content%2Fuploads%2F2025%2F02%2F%25E6%2589%25B9%25E5%2588%25A4%25E7%2590%2586%25E8%25AB%2596.webp%3Ffit%3D1200%252C777%26ssl%3D1);"></a> </span> <span class="issue"> <a href="/entrylist/social/%E6%96%B0%E5%9E%8B%E3%82%B3%E3%83%AD%E3%83%8A%E3%82%A6%E3%82%A4%E3%83%AB%E3%82%B9">新型コロナウイルス</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/social/%E5%83%8D%E3%81%8D%E6%96%B9" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/4575c5168b57229630a7d99427f1912cc1d50edf/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fmobile%2Farticles%2F2502%2F26%2Fl_rk1640414_iPhone-01.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/social/%E5%83%8D%E3%81%8D%E6%96%B9">働き方</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/social/%E7%94%9F%E3%81%8D%E6%96%B9" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/60d3e3234fab42bde425be83cd4cfd714b07ef6e/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F95f503789596ff9328ca0917214d2105-1200x630.jpeg);"></a> </span> <span class="issue"> <a href="/entrylist/social/%E7%94%9F%E3%81%8D%E6%96%B9">生き方</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/social/%E5%9C%B0%E5%9F%9F" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/d866e63d0b9f07eab9e54ed92ca686bc965bbcf1/height=288;version=1;width=512/https%3A%2F%2Fryukyushimpo.jp%2Ftachyon%2F2025%2F02%2F1RS20250226G00298010100_00.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/social/%E5%9C%B0%E5%9F%9F">地域</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/social/%E5%8C%BB%E7%99%82%E3%83%BB%E3%83%98%E3%83%AB%E3%82%B9" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/0ae147f2937c2812cc2a5150cd0523c64eaa01fa/height=288;version=1;width=512/https%3A%2F%2Fi.gzn.jp%2Fimg%2F2025%2F02%2F26%2Fmetal-memediating-benefits-tea%2F00.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/social/%E5%8C%BB%E7%99%82%E3%83%BB%E3%83%98%E3%83%AB%E3%82%B9">医療・ヘルス</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/social/%E6%95%99%E8%82%B2" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b1638cdb5807a4788e4ba3c1109a984166e095fc/height=288;version=1;width=512/https%3A%2F%2Fanond.hatelabo.jp%2Fimages%2Fog-image-1500.gif);"></a> </span> <span class="issue"> <a href="/entrylist/social/%E6%95%99%E8%82%B2">教育</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/social/%E3%81%AF%E3%81%A6%E3%81%AA%E5%8C%BF%E5%90%8D%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AA%E3%83%BC" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b1638cdb5807a4788e4ba3c1109a984166e095fc/height=288;version=1;width=512/https%3A%2F%2Fanond.hatelabo.jp%2Fimages%2Fog-image-1500.gif);"></a> </span> <span class="issue"> <a href="/entrylist/social/%E3%81%AF%E3%81%A6%E3%81%AA%E5%8C%BF%E5%90%8D%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AA%E3%83%BC">はてな匿名ダイアリー</a> </span> </li> </ul> </div> </div> </li> <li class="js-navi-category-item cat-economics" data-category-name="cat-economics"> <div class="navi-link js-navi-link"> <a href="/hotentry/economics" class="navi-link-text cat-economics" data-gtm-click-label="global-navi-economics"><span>政治と経済</span></a> <span class="gnavi-button js-gnavi-button" data-category-name="cat-economics" data-gtm-click-label="global-navi-button-economics"></span> </div> <div class="navi-item-detail js-navi-item-detail is-hidden"> <div class="navi-item-detail-inner js-navi-item-detail-inner"> <ul class="navi-item-list"> <li class="navi_hotentry"><a href="/hotentry/economics" data-gtm-click-label="global-navi-hotentry">人気</a></li> <li class="navi_entrylist"><a href="/entrylist/economics" data-gtm-click-label="global-navi-recententry">新着</a></li> </ul> <ul class="navi-item-issue"> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/economics/%E6%94%BF%E6%B2%BB" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/d866e63d0b9f07eab9e54ed92ca686bc965bbcf1/height=288;version=1;width=512/https%3A%2F%2Fryukyushimpo.jp%2Ftachyon%2F2025%2F02%2F1RS20250226G00298010100_00.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/economics/%E6%94%BF%E6%B2%BB">政治</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/economics/%E7%B5%8C%E6%B8%88%E3%83%BB%E9%87%91%E8%9E%8D" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/60d3e3234fab42bde425be83cd4cfd714b07ef6e/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F95f503789596ff9328ca0917214d2105-1200x630.jpeg);"></a> </span> <span class="issue"> <a href="/entrylist/economics/%E7%B5%8C%E6%B8%88%E3%83%BB%E9%87%91%E8%9E%8D">経済・金融</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/economics/%E4%BC%81%E6%A5%AD" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/053c35a2ed39e48b31fb149968afc65912679f25/height=288;version=1;width=512/https%3A%2F%2Fwww.yomiuri.co.jp%2Fmedia%2F2025%2F02%2F20250226-OYT1I50087-1.jpg%3Ftype%3Dogpw);"></a> </span> <span class="issue"> <a href="/entrylist/economics/%E4%BC%81%E6%A5%AD">企業</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/economics/%E4%BB%95%E4%BA%8B%E3%83%BB%E5%B0%B1%E8%81%B7" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/beb43e50d5a87358c19bd0acaf3fee776b950843/height=288;version=1;width=512/https%3A%2F%2Fkyoto-np.ismcdn.jp%2Fmwimgs%2F3%2Fd%2F1200wm%2Fimg_3d7f99fc6c8cc1cb31f786dd45d4b979795785.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/economics/%E4%BB%95%E4%BA%8B%E3%83%BB%E5%B0%B1%E8%81%B7">仕事・就職</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/economics/%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%83%E3%83%88" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/8089dfd0b3af86d013bcb236a121488c1e8f5974/height=288;version=1;width=512/https%3A%2F%2Farticle-image-ix.nikkei.com%2Fhttps%253A%252F%252Fimgix-proxy.n8s.jp%252FDSXZQO6048318025022025000000-1.jpg%3Fauto%3Dformat%26bg%3DFFFF%26crop%3Dfocalpoint%26fit%3Dcrop%26h%3D630%26w%3D1200%26s%3D0f918384eb00e520a8898aee259445f6);"></a> </span> <span class="issue"> <a href="/entrylist/economics/%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%83%E3%83%88">マーケット</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/economics/%E5%9B%BD%E9%9A%9B" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/1b5a76631a157450040240de09ba9ff5a13b0f60/height=288;version=1;width=512/https%3A%2F%2Fwww.yomiuri.co.jp%2Fmedia%2F2025%2F02%2F20250226-OYT1I50107-1.jpg%3Ftype%3Dogp);"></a> </span> <span class="issue"> <a href="/entrylist/economics/%E5%9B%BD%E9%9A%9B">国際</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/economics/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E6%94%BF%E6%B2%BB%E3%81%A8%E7%B5%8C%E6%B8%88%EF%BC%89" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/ea78f7be2ec3246f078965944c38a0922810494e/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F12921228815713059486%2F6802418398331985667%2F1740538801);"></a> </span> <span class="issue"> <a href="/entrylist/economics/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E6%94%BF%E6%B2%BB%E3%81%A8%E7%B5%8C%E6%B8%88%EF%BC%89">はてなブログ(政治と経済)</a> </span> </li> </ul> </div> </div> </li> <li class="js-navi-category-item cat-life" data-category-name="cat-life"> <div class="navi-link js-navi-link"> <a href="/hotentry/life" class="navi-link-text cat-life" data-gtm-click-label="global-navi-life"><span>暮らし</span></a> <span class="gnavi-button js-gnavi-button" data-category-name="cat-life" data-gtm-click-label="global-navi-button-life"></span> </div> <div class="navi-item-detail js-navi-item-detail is-hidden"> <div class="navi-item-detail-inner js-navi-item-detail-inner"> <ul class="navi-item-list"> <li class="navi_hotentry"><a href="/hotentry/life" data-gtm-click-label="global-navi-hotentry">人気</a></li> <li class="navi_entrylist"><a href="/entrylist/life" data-gtm-click-label="global-navi-recententry">新着</a></li> </ul> <ul class="navi-item-issue"> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/life/%E3%82%AB%E3%83%AB%E3%83%81%E3%83%A3%E3%83%BC%E3%83%BB%E3%83%A9%E3%82%A4%E3%83%95%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/74f1155000a26102046c304716ab255c31522391/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F20b0868a3d80f5e8ceefb928558a3e8e-1200x630.jpeg);"></a> </span> <span class="issue"> <a href="/entrylist/life/%E3%82%AB%E3%83%AB%E3%83%81%E3%83%A3%E3%83%BC%E3%83%BB%E3%83%A9%E3%82%A4%E3%83%95%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB">カルチャー・ライフスタイル</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/life/%E3%83%95%E3%82%A1%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/8a28fb2e990fd33231ece924948011dd967a2430/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2Fcad40d0258354cd400e1c419d441c8e4-1200x630.jpeg);"></a> </span> <span class="issue"> <a href="/entrylist/life/%E3%83%95%E3%82%A1%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3">ファッション</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/life/%E9%81%8B%E5%8B%95%E3%83%BB%E3%82%A8%E3%82%AF%E3%82%B5%E3%82%B5%E3%82%A4%E3%82%BA" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b1638cdb5807a4788e4ba3c1109a984166e095fc/height=288;version=1;width=512/https%3A%2F%2Fanond.hatelabo.jp%2Fimages%2Fog-image-1500.gif);"></a> </span> <span class="issue"> <a href="/entrylist/life/%E9%81%8B%E5%8B%95%E3%83%BB%E3%82%A8%E3%82%AF%E3%82%B5%E3%82%B5%E3%82%A4%E3%82%BA">運動・エクササイズ</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/life/%E7%B5%90%E5%A9%9A%E3%83%BB%E5%AD%90%E8%82%B2%E3%81%A6" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/60d3e3234fab42bde425be83cd4cfd714b07ef6e/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F95f503789596ff9328ca0917214d2105-1200x630.jpeg);"></a> </span> <span class="issue"> <a href="/entrylist/life/%E7%B5%90%E5%A9%9A%E3%83%BB%E5%AD%90%E8%82%B2%E3%81%A6">結婚・子育て</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/life/%E4%BD%8F%E3%81%BE%E3%81%84" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/e7b009dba6f4901a9b8755386e7e0f0668465e9e/height=288;version=1;width=512/https%3A%2F%2Fdailyportalz.jp%2Fapplication%2Ffiles%2F2717%2F4053%2F2193%2Ftop.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/life/%E4%BD%8F%E3%81%BE%E3%81%84">住まい</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/life/%E3%82%B0%E3%83%AB%E3%83%A1" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/391b5161c7d568697fb955183861320c55eb174d/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2Fd5e9ab53d20036250aee4d71f4d11abb-1200x630.jpeg);"></a> </span> <span class="issue"> <a href="/entrylist/life/%E3%82%B0%E3%83%AB%E3%83%A1">グルメ</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/life/%E7%9B%B8%E7%B6%9A" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b93577743f3a3875f2115911a433934192bca39f/height=288;version=1;width=512/https%3A%2F%2Fwww.yomiuri.co.jp%2Fmedia%2F2025%2F02%2F20250226-OYT1I50090-1.jpg%3Ftype%3Dogpw);"></a> </span> <span class="issue"> <a href="/entrylist/life/%E7%9B%B8%E7%B6%9A">相続</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/life/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E6%9A%AE%E3%82%89%E3%81%97%EF%BC%89" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/7718d1264ff9f560d3265fa812de34f9c98d4543/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fccab3010a10f96bf9164f5144150458381835ad3%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fs%252Fsoredoko%252F20250221%252F20250221185957.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/life/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E6%9A%AE%E3%82%89%E3%81%97%EF%BC%89">はてなブログ(暮らし)</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/life/%E6%8E%83%E9%99%A4%E3%83%BB%E6%95%B4%E7%90%86%E6%95%B4%E9%A0%93" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b6abe78e6f1bfa8fde3bebdde60c13bbf6104289/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F121b46d38c4306562952d603d161eddb-1200x630.jpeg);"></a> </span> <span class="issue"> <a href="/entrylist/life/%E6%8E%83%E9%99%A4%E3%83%BB%E6%95%B4%E7%90%86%E6%95%B4%E9%A0%93">掃除・整理整頓</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/life/%E9%9B%91%E8%B2%A8" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/7718d1264ff9f560d3265fa812de34f9c98d4543/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fccab3010a10f96bf9164f5144150458381835ad3%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fs%252Fsoredoko%252F20250221%252F20250221185957.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/life/%E9%9B%91%E8%B2%A8">雑貨</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/life/%E8%B2%B7%E3%81%A3%E3%81%A6%E3%82%88%E3%81%8B%E3%81%A3%E3%81%9F%E3%82%82%E3%81%AE" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/53bdb296fc7f94099878946b1f75524085470581/height=288;version=1;width=512/https%3A%2F%2Finternet.watch.impress.co.jp%2Fimg%2Fiw%2Flist%2F1665%2F823%2F01.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/life/%E8%B2%B7%E3%81%A3%E3%81%A6%E3%82%88%E3%81%8B%E3%81%A3%E3%81%9F%E3%82%82%E3%81%AE">買ってよかったもの</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/life/%E6%97%85%E8%A1%8C" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/69cf5e9ce65af26e5a99dc875ec4011093b2a038/height=288;version=1;width=512/https%3A%2F%2Fstatic.tokyo-np.co.jp%2Fimage%2Farticle%2Fsize1%2Fe%2F3%2Fa%2F9%2Fe3a9a628deb62044121b20f61297f6c8_1.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/life/%E6%97%85%E8%A1%8C">旅行</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/life/%E3%82%A2%E3%82%A6%E3%83%88%E3%83%89%E3%82%A2" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/3e75e2830eca9c1eb9867391a382dcd447d0be69/height=288;version=1;width=512/https%3A%2F%2Fnewsatcl-pctr.c.yimg.jp%2Ft%2Famd-img%2F20250226-00000001-jij_afp-000-4-view.jpg%3Fexp%3D10800);"></a> </span> <span class="issue"> <a href="/entrylist/life/%E3%82%A2%E3%82%A6%E3%83%88%E3%83%89%E3%82%A2">アウトドア</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/life/%E8%B6%A3%E5%91%B3" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b1638cdb5807a4788e4ba3c1109a984166e095fc/height=288;version=1;width=512/https%3A%2F%2Fanond.hatelabo.jp%2Fimages%2Fog-image-1500.gif);"></a> </span> <span class="issue"> <a href="/entrylist/life/%E8%B6%A3%E5%91%B3">趣味</a> </span> </li> </ul> </div> </div> </li> <li class="js-navi-category-item cat-knowledge" data-category-name="cat-knowledge"> <div class="navi-link js-navi-link"> <a href="/hotentry/knowledge" class="navi-link-text cat-knowledge" data-gtm-click-label="global-navi-knowledge"><span>学び</span></a> <span class="gnavi-button js-gnavi-button" data-category-name="cat-knowledge" data-gtm-click-label="global-navi-button-knowledge"></span> </div> <div class="navi-item-detail js-navi-item-detail is-hidden"> <div class="navi-item-detail-inner js-navi-item-detail-inner"> <ul class="navi-item-list"> <li class="navi_hotentry"><a href="/hotentry/knowledge" data-gtm-click-label="global-navi-hotentry">人気</a></li> <li class="navi_entrylist"><a href="/entrylist/knowledge" data-gtm-click-label="global-navi-recententry">新着</a></li> </ul> <ul class="navi-item-issue"> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/knowledge/%E4%BA%BA%E6%96%87%E7%A7%91%E5%AD%A6" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/4f945f4a656a7057e4f0fb7fbc3cf8390ecc47bd/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F0c2fe243fb401c75f81846ad379e58ab-1200x630.jpeg);"></a> </span> <span class="issue"> <a href="/entrylist/knowledge/%E4%BA%BA%E6%96%87%E7%A7%91%E5%AD%A6">人文科学</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/knowledge/%E7%A4%BE%E4%BC%9A%E7%A7%91%E5%AD%A6" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b18f6bcab6678c72562248cd4770b675709d50b1/height=288;version=1;width=512/https%3A%2F%2Fstorage.bengo4.com%2Fnews%2Fimages%2F20779.png%3F1740544308);"></a> </span> <span class="issue"> <a href="/entrylist/knowledge/%E7%A4%BE%E4%BC%9A%E7%A7%91%E5%AD%A6">社会科学</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/knowledge/%E8%87%AA%E7%84%B6%E7%A7%91%E5%AD%A6" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/c117686cf566ea1a1376c0e2dc2d9720266d643b/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F47ad6e8e32ee306815ca41ebedaaf0dc-1200x630.jpeg);"></a> </span> <span class="issue"> <a href="/entrylist/knowledge/%E8%87%AA%E7%84%B6%E7%A7%91%E5%AD%A6">自然科学</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/knowledge/%E8%AA%9E%E5%AD%A6" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b1aeea061a3f40c324d06350f47742ad928cdee2/height=288;version=1;width=512/https%3A%2F%2Fi0.wp.com%2Fwww.alohaenglish.jp%2Fwp-content%2Fuploads%2F2024%2F12%2F23dd7c6aa4ee4ba18f54b6ba05cb9813.png%3Ffit%3D1000%252C500%26ssl%3D1);"></a> </span> <span class="issue"> <a href="/entrylist/knowledge/%E8%AA%9E%E5%AD%A6">語学</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/knowledge/%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%83%BB%E7%B5%8C%E5%96%B6%E5%AD%A6" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/4c0f26ec122c9a248346d0dd91f66fb3c280a183/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fnews%2Farticles%2F2502%2F26%2Fcover_news181.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/knowledge/%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%83%BB%E7%B5%8C%E5%96%B6%E5%AD%A6">ビジネス・経営学</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/knowledge/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/62ed87b1699514f8725366e03d9aa23f9913af49/height=288;version=1;width=512/https%3A%2F%2Fassets.st-note.com%2Fproduction%2Fuploads%2Fimages%2F176378741%2Frectangle_large_type_2_c654778f092605748b70658d70f0b3eb.png%3Ffit%3Dbounds%26quality%3D85%26width%3D1280);"></a> </span> <span class="issue"> <a href="/entrylist/knowledge/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3">デザイン</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/knowledge/%E6%B3%95%E5%BE%8B" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b18f6bcab6678c72562248cd4770b675709d50b1/height=288;version=1;width=512/https%3A%2F%2Fstorage.bengo4.com%2Fnews%2Fimages%2F20779.png%3F1740544308);"></a> </span> <span class="issue"> <a href="/entrylist/knowledge/%E6%B3%95%E5%BE%8B">法律</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/knowledge/%E6%9C%AC%E3%83%BB%E6%9B%B8%E8%A9%95" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/dcfb1d90bb6e5bb9f48293bbd64065ad9ab1aa1f/height=288;version=1;width=512/https%3A%2F%2Fassets.st-note.com%2Fproduction%2Fuploads%2Fimages%2F176423019%2Frectangle_large_type_2_c4f55513d931f9ece1763860df0c90af.png%3Ffit%3Dbounds%26quality%3D85%26width%3D1280);"></a> </span> <span class="issue"> <a href="/entrylist/knowledge/%E6%9C%AC%E3%83%BB%E6%9B%B8%E8%A9%95">本・書評</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/knowledge/%E5%B0%86%E6%A3%8B%E3%83%BB%E5%9B%B2%E7%A2%81" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/63d03c50b434bd760cffb9bd6fda650d5aebbd39/height=288;version=1;width=512/https%3A%2F%2Fcdn-img.www.sunday-webry.com%2Fpublic%2Fseries-thumbnail%2F3269754496548915247-0309b2f13be0089f4deb1512a407dc58%3F1654488887);"></a> </span> <span class="issue"> <a href="/entrylist/knowledge/%E5%B0%86%E6%A3%8B%E3%83%BB%E5%9B%B2%E7%A2%81">将棋・囲碁</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/knowledge/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E5%AD%A6%E3%81%B3%EF%BC%89" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/ad43a2dad07eb75e6578f01c8a363e448b1f2337/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F08b74000ce4500ec7a6238e8e1f4cd1d68d9b6fd%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fs%252Fsh_moe_kobayashi%252F20250109%252F20250109175316.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/knowledge/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E5%AD%A6%E3%81%B3%EF%BC%89">はてなブログ(学び)</a> </span> </li> </ul> </div> </div> </li> <li class="js-navi-category-item cat-it" data-category-name="cat-it"> <div class="navi-link js-navi-link"> <a href="/hotentry/it" class="navi-link-text cat-it" data-gtm-click-label="global-navi-it"><span>テクノロジー</span></a> <span class="gnavi-button js-gnavi-button" data-category-name="cat-it" data-gtm-click-label="global-navi-button-it"></span> </div> <div class="navi-item-detail js-navi-item-detail is-hidden"> <div class="navi-item-detail-inner js-navi-item-detail-inner"> <ul class="navi-item-list"> <li class="navi_hotentry"><a href="/hotentry/it" data-gtm-click-label="global-navi-hotentry">人気</a></li> <li class="navi_entrylist"><a href="/entrylist/it" data-gtm-click-label="global-navi-recententry">新着</a></li> </ul> <ul class="navi-item-issue"> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/it/IT" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/284fceb2cc66e9d4b4a7651280d668d0b83e5366/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F085512e723336a781b4a813205505f4c2082cc9d%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FT%252FTJO%252F20250214%252F20250214135104.png);"></a> </span> <span class="issue"> <a href="/entrylist/it/IT">IT</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/it/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E6%8A%80%E8%A1%93" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/f6a802e6eee1758f2b71d1417da0ba734f41b522/height=288;version=1;width=512/https%3A%2F%2Fforest.watch.impress.co.jp%2Fimg%2Fwf%2Flist%2F1665%2F225%2Femacs.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/it/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E6%8A%80%E8%A1%93">セキュリティ技術</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/it/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E3%83%86%E3%82%AF%E3%83%8E%E3%83%AD%E3%82%B8%E3%83%BC%EF%BC%89" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/49fb39e3046bf2e6360b0dd4677b34a9f5c8b6b2/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F5360550a71fce1afdd938c6087174cf0a35bc229%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn.blog.st-hatena.com%252Ffiles%252F26006613764871753%252F6802418398331954320);"></a> </span> <span class="issue"> <a href="/entrylist/it/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E3%83%86%E3%82%AF%E3%83%8E%E3%83%AD%E3%82%B8%E3%83%BC%EF%BC%89">はてなブログ(テクノロジー)</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/it/AI%E3%83%BB%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/284fceb2cc66e9d4b4a7651280d668d0b83e5366/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F085512e723336a781b4a813205505f4c2082cc9d%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FT%252FTJO%252F20250214%252F20250214135104.png);"></a> </span> <span class="issue"> <a href="/entrylist/it/AI%E3%83%BB%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92">AI・機械学習</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/it/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/286a91a7213304d776df26061b59003601f5d620/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs---A9ZDVvo--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3ACLINE%2525E3%252581%2525AB%2525E5%252585%2525A8%2525E9%252583%2525A8%2525E8%2525B3%2525AD%2525E3%252581%252591%2525E3%252582%25258D%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Amizchi%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2liclRHT052Z3d3ay1fNGxlcVk4TGNGSlNuX0FoWnpEWVlKaXJNcWc9czI1MC1j%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png);"></a> </span> <span class="issue"> <a href="/entrylist/it/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0">プログラミング</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/it/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/1b192fa6dae1f7ec1758bb1c2b915c00a05f554c/height=288;version=1;width=512/https%3A%2F%2Fautomaton-media.com%2Fwp-content%2Fuploads%2F2025%2F02%2F20250225-329575-header.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/it/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2">エンジニア</a> </span> </li> </ul> </div> </div> </li> <li class="js-navi-category-item cat-fun" data-category-name="cat-fun"> <div class="navi-link js-navi-link"> <a href="/hotentry/fun" class="navi-link-text cat-fun" data-gtm-click-label="global-navi-fun"><span>おもしろ</span></a> <span class="gnavi-button js-gnavi-button" data-category-name="cat-fun" data-gtm-click-label="global-navi-button-fun"></span> </div> <div class="navi-item-detail js-navi-item-detail is-hidden"> <div class="navi-item-detail-inner js-navi-item-detail-inner"> <ul class="navi-item-list"> <li class="navi_hotentry"><a href="/hotentry/fun" data-gtm-click-label="global-navi-hotentry">人気</a></li> <li class="navi_entrylist"><a href="/entrylist/fun" data-gtm-click-label="global-navi-recententry">新着</a></li> </ul> <ul class="navi-item-issue"> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/fun/%E3%81%BE%E3%81%A8%E3%82%81" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/da78a05937633f7a2b4b2219826151c370cd607b/height=288;version=1;width=512/https%3A%2F%2Fparts.blog.livedoor.jp%2Fimg%2Fusr%2Fcmn%2Fogp_image%2Flivedoor.png);"></a> </span> <span class="issue"> <a href="/entrylist/fun/%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/fun/%E3%83%8D%E3%82%BF" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/c34f14ce7d9b7e28244be3fff97b050cf39a65ca/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fnews%2Farticles%2F2502%2F26%2Fcover_news103.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/fun/%E3%83%8D%E3%82%BF">ネタ</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/fun/%E3%81%8A%E3%82%82%E3%81%97%E3%82%8D" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b1638cdb5807a4788e4ba3c1109a984166e095fc/height=288;version=1;width=512/https%3A%2F%2Fanond.hatelabo.jp%2Fimages%2Fog-image-1500.gif);"></a> </span> <span class="issue"> <a href="/entrylist/fun/%E3%81%8A%E3%82%82%E3%81%97%E3%82%8D">おもしろ</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/fun/%E3%81%93%E3%82%8C%E3%81%AF%E3%81%99%E3%81%94%E3%81%84" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/341eef1ba15959cbeead9eedf6158b82e34c6f34/height=288;version=1;width=512/https%3A%2F%2Fafpbb.ismcdn.jp%2Fmwimgs%2F5%2F9%2F1000x%2Fimg_59167d4f00890b0bd74be1fe2751d7ff167267.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/fun/%E3%81%93%E3%82%8C%E3%81%AF%E3%81%99%E3%81%94%E3%81%84">これはすごい</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/fun/%E3%81%8B%E3%82%8F%E3%81%84%E3%81%84" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/25604b8c565faf68c43bd8043a3a3b9448e61480/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak-img.shonenjumpplus.com%2Fpublic%2Fseries-thumbnail%2F316112896905499392-f6cccdc0e0d8fde0e0ae919fce49496b%3F1738582466);"></a> </span> <span class="issue"> <a href="/entrylist/fun/%E3%81%8B%E3%82%8F%E3%81%84%E3%81%84">かわいい</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/fun/%E9%9B%91%E5%AD%A6" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/4278d485b39a12c287a1956551031ab8f56d4ddb/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F14a5352f7f0653a456f467c088259d9b-1200x630.jpeg);"></a> </span> <span class="issue"> <a href="/entrylist/fun/%E9%9B%91%E5%AD%A6">雑学</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/fun/%E7%99%92%E3%82%84%E3%81%97" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b1bf13ac4613d2d839c157f15a29575c3cef8759/height=288;version=1;width=512/https%3A%2F%2Fnewsatcl-pctr.c.yimg.jp%2Ft%2Famd-img%2F20250223-00010008-elleonline-000-1-view.jpg%3Fexp%3D10800);"></a> </span> <span class="issue"> <a href="/entrylist/fun/%E7%99%92%E3%82%84%E3%81%97">癒やし</a> </span> </li> </ul> </div> </div> </li> <li class="js-navi-category-item cat-entertainment" data-category-name="cat-entertainment"> <div class="navi-link js-navi-link"> <a href="/hotentry/entertainment" class="navi-link-text cat-entertainment" data-gtm-click-label="global-navi-entertainment"><span>エンタメ</span></a> <span class="gnavi-button js-gnavi-button" data-category-name="cat-entertainment" data-gtm-click-label="global-navi-button-entertainment"></span> </div> <div class="navi-item-detail js-navi-item-detail is-hidden"> <div class="navi-item-detail-inner js-navi-item-detail-inner"> <ul class="navi-item-list"> <li class="navi_hotentry"><a href="/hotentry/entertainment" data-gtm-click-label="global-navi-hotentry">人気</a></li> <li class="navi_entrylist"><a href="/entrylist/entertainment" data-gtm-click-label="global-navi-recententry">新着</a></li> </ul> <ul class="navi-item-issue"> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/entertainment/%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%84" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b1638cdb5807a4788e4ba3c1109a984166e095fc/height=288;version=1;width=512/https%3A%2F%2Fanond.hatelabo.jp%2Fimages%2Fog-image-1500.gif);"></a> </span> <span class="issue"> <a href="/entrylist/entertainment/%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%84">スポーツ</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/entertainment/%E6%98%A0%E7%94%BB" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/cfcdfa1a0ab860347106b8b83e2c89739b71436b/height=288;version=1;width=512/https%3A%2F%2Fwww.watch.impress.co.jp%2Fimg%2Fipw%2Flist%2F1665%2F847%2Fprime2.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/entertainment/%E6%98%A0%E7%94%BB">映画</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/entertainment/%E9%9F%B3%E6%A5%BD" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/e7b009dba6f4901a9b8755386e7e0f0668465e9e/height=288;version=1;width=512/https%3A%2F%2Fdailyportalz.jp%2Fapplication%2Ffiles%2F2717%2F4053%2F2193%2Ftop.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/entertainment/%E9%9F%B3%E6%A5%BD">音楽</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/entertainment/%E3%82%A2%E3%82%A4%E3%83%89%E3%83%AB" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/bba080cd367d50a9350388bc8ffef81a254f6c48/height=288;version=1;width=512/https%3A%2F%2Fi.ytimg.com%2Fvi%2FIvMFMA89Yi8%2Fhqdefault.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/entertainment/%E3%82%A2%E3%82%A4%E3%83%89%E3%83%AB">アイドル</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/entertainment/%E8%8A%B8%E8%83%BD" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/246d5dd59e66cae7f4463cf99e20781617061eb4/height=288;version=1;width=512/https%3A%2F%2Fwww.mbs.jp%2Fnews%2Fkansainews%2F20250225%2Ffb%2FGE00063904.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/entertainment/%E8%8A%B8%E8%83%BD">芸能</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/entertainment/%E3%81%8A%E7%AC%91%E3%81%84" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/d691b35e064bb47f4da57067ab70a3c9e9814ab1/height=288;version=1;width=512/https%3A%2F%2Fcdn.mainichi.jp%2Fvol1%2F2025%2F02%2F25%2F20250225k0000m200225000p%2F0c10.jpg%3F1);"></a> </span> <span class="issue"> <a href="/entrylist/entertainment/%E3%81%8A%E7%AC%91%E3%81%84">お笑い</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/entertainment/%E3%82%B5%E3%83%83%E3%82%AB%E3%83%BC" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/f1662813fdb1971bccf7547b68fe56dc76c3f386/height=288;version=1;width=512/https%3A%2F%2Fnishispo-static.nishinippon.co.jp%2Fimage%2Farticle%2Fsize1%2Fd%2F9%2F6%2F9%2Fd96990047d328bd3d0570c8903dac8eb_1.jpg%3F20250225003720);"></a> </span> <span class="issue"> <a href="/entrylist/entertainment/%E3%82%B5%E3%83%83%E3%82%AB%E3%83%BC">サッカー</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/entertainment/%E8%A9%B1%E9%A1%8C%E3%81%AE%E5%8B%95%E7%94%BB" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/4c0f26ec122c9a248346d0dd91f66fb3c280a183/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fnews%2Farticles%2F2502%2F26%2Fcover_news181.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/entertainment/%E8%A9%B1%E9%A1%8C%E3%81%AE%E5%8B%95%E7%94%BB">話題の動画</a> </span> </li> </ul> </div> </div> </li> <li class="js-navi-category-item cat-game" data-category-name="cat-game"> <div class="navi-link js-navi-link"> <a href="/hotentry/game" class="navi-link-text cat-game" data-gtm-click-label="global-navi-game"><span>アニメとゲーム</span></a> <span class="gnavi-button js-gnavi-button" data-category-name="cat-game" data-gtm-click-label="global-navi-button-game"></span> </div> <div class="navi-item-detail js-navi-item-detail is-hidden"> <div class="navi-item-detail-inner js-navi-item-detail-inner"> <ul class="navi-item-list"> <li class="navi_hotentry"><a href="/hotentry/game" data-gtm-click-label="global-navi-hotentry">人気</a></li> <li class="navi_entrylist"><a href="/entrylist/game" data-gtm-click-label="global-navi-recententry">新着</a></li> </ul> <ul class="navi-item-issue"> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/game/%E3%83%9E%E3%83%B3%E3%82%AC" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b1638cdb5807a4788e4ba3c1109a984166e095fc/height=288;version=1;width=512/https%3A%2F%2Fanond.hatelabo.jp%2Fimages%2Fog-image-1500.gif);"></a> </span> <span class="issue"> <a href="/entrylist/game/%E3%83%9E%E3%83%B3%E3%82%AC">マンガ</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/game/Web%E3%83%9E%E3%83%B3%E3%82%AC" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/bf912ec5668f97611e1d12b7b5736111d2449e1d/height=288;version=1;width=512/https%3A%2F%2Fcdn-img.www.sunday-webry.com%2Fpublic%2Fseries-thumbnail%2F14079602755299850280-73258683adcb6550c60657abbaf4a11c%3F1696917505);"></a> </span> <span class="issue"> <a href="/entrylist/game/Web%E3%83%9E%E3%83%B3%E3%82%AC">Webマンガ</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/game/%E3%82%B2%E3%83%BC%E3%83%A0" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/fb54f855044da4e5753ee31dcb3214dc126b7ab4/height=288;version=1;width=512/https%3A%2F%2Fnews.denfaminicogamer.jp%2Fwp-content%2Fuploads%2F2025%2F02%2FGWYkQREbQAQUqQX-th250226.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/game/%E3%82%B2%E3%83%BC%E3%83%A0">ゲーム</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/game/%E4%BB%BB%E5%A4%A9%E5%A0%82" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/3eac973f5c166da948d554e3597bd3bbbeae6a54/height=288;version=1;width=512/https%3A%2F%2Fi.gzn.jp%2Fimg%2F2025%2F02%2F26%2Fanthropic-claude-play-pokemon%2F00.png);"></a> </span> <span class="issue"> <a href="/entrylist/game/%E4%BB%BB%E5%A4%A9%E5%A0%82">任天堂</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/game/PlayStation" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/55b6b2cc2e876811501750e047e3951249aabee8/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F0f05aca1ee767190e3fa599babafc3f21c9a7199%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fd%252Fdaikai6%252F20250219%252F20250219175552.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/game/PlayStation">PlayStation</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/game/%E3%82%A2%E3%83%8B%E3%83%A1" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b1638cdb5807a4788e4ba3c1109a984166e095fc/height=288;version=1;width=512/https%3A%2F%2Fanond.hatelabo.jp%2Fimages%2Fog-image-1500.gif);"></a> </span> <span class="issue"> <a href="/entrylist/game/%E3%82%A2%E3%83%8B%E3%83%A1">アニメ</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/game/%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%ABYouTuber" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/b032675062060f9e86860323d203faf29f361d67/height=288;version=1;width=512/https%3A%2F%2Fassets.st-note.com%2Fproduction%2Fuploads%2Fimages%2F176244112%2Frectangle_large_type_2_80cbd958ad6a8429345d8771f01f9d8e.png%3Ffit%3Dbounds%26quality%3D85%26width%3D1280);"></a> </span> <span class="issue"> <a href="/entrylist/game/%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%ABYouTuber">バーチャルYouTuber</a> </span> </li> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/game/%E3%82%AA%E3%82%BF%E3%82%AF%E3%82%AB%E3%83%AB%E3%83%81%E3%83%A3%E3%83%BC" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/fbd1b70c1cde64b46fb08ef157a169c34a57ce9c/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F01f40c4a2ddff3bce35cc37f1e68717b-1200x630.jpeg);"></a> </span> <span class="issue"> <a href="/entrylist/game/%E3%82%AA%E3%82%BF%E3%82%AF%E3%82%AB%E3%83%AB%E3%83%81%E3%83%A3%E3%83%BC">オタクカルチャー</a> </span> </li> </ul> </div> </div> </li> <li class="recommend"> <a href="/entrylist/all/iPhone%2016e" class="navi-link-text recommend" title="おすすめ" data-gtm-click-label="global-navi-recommended"><span>おすすめ</span></a> <p class="pickup"><a href="/hotentry/all/iPhone%2016e">iPhone 16e</a></p> </li> </ul> </div> <div class="navi-page"> <h2 class="navi-page-title">『スタディスト Tech Blog』</h2> <ul class="navi-page-mode"> <li class=""> <a href="/site/studist.tech/?sort=count" data-gtm-click-label="hotentry-button-beneath-global-navi">人気</a> </li> <li class="is-current"> <a href="/site/studist.tech/" data-gtm-click-label="entrylist-button-beneath-global-navi">新着</a> </li> <li class=""> <a href="/site/studist.tech/?sort=eid" data-gtm-click-label="all-button-beneath-global-navi">すべて</a> </li> </ul> </div> <div class="entrylist-wrapper"> <div class="entrylist-wrapper"> <div class="entrylist-main"> <section class="entrylist-unit"> <div class="entrylist-header"> <ul class="entrylist-header-main"> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/devin-secret-gh-token-issue-and-solution-4fdb66f8dc79"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/devin-secret-gh-token-issue-and-solution-4fdb66f8dc79" title="Devin の Secret に GH_TOKEN を指定するとDevinが gh コマンドを使えなくなる問題と対策" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4766406228562936033" data-entry-category="テクノロジー">Devin の Secret に GH_TOKEN を指定するとDevinが gh コマンドを使えなくなる問題と対策</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/devin-secret-gh-token-issue-and-solution-4fdb66f8dc79" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>5</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fdevin-secret-gh-token-issue-and-solution-4fdb66f8dc79" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/devin-secret-gh-token-issue-and-solution-4fdb66f8dc79" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">作成・整備促進グループの 杉山 です。 この記事では、Devin に GitHub トークンを設定する際の注意点について説明します。 はじめにスタディストでは先月末ごろから Devin の試験導入をしています。 そんな中で、Devin の Secret に GH_TOKEN を指定すると Devin の GitHub 操作が失敗する問題が発生しました。 この記事では、この問題の背景と対策について説明します。 背景Devin のマシンから GitHub にある社内イメージをダウンロードするために、GitHub Personal Access Token (PAT) が必要になり、 GH_TOKEN という名前で Secret に保存しました。 その後、その PAT を用いてイメージはダウンロードできるようになりました。 しかし、しばらくして Devin に GitHub に PR を作成する</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/ef7adc0869d1cda9b83b8855f443b0176114edcb/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2Am_Z1fwLNAV62yDG0Vo_efw.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2025/02/17 21:27</li> </ul> <ul class="entrylist-contents-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/devin-secret-gh-token-issue-and-solution-4fdb66f8dc79"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> </ul> <div class="entrylist-header-sub js-right-top-native-ad is-nativeads-loading"> </div> <div id="entrylist-ad-right-top" class="entrylist-header-sub is-hidden"></div> </div> <ul class="entrylist-item js-hotentries is-nativeads-loading"> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/saas-security-checksheet-3d5e5ca62064"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/saas-security-checksheet-3d5e5ca62064" title="SaaSのセキュリティチェックシート記入にあたって何を知る必要があるか" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4762818703510703680" data-entry-category="テクノロジー">SaaSのセキュリティチェックシート記入にあたって何を知る必要があるか</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/saas-security-checksheet-3d5e5ca62064" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>46</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fsaas-security-checksheet-3d5e5ca62064" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/saas-security-checksheet-3d5e5ca62064" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">セキュリティチェックシート、やっていますか?B2Bのサービスを提供している企業では、お客様にシステムを導入いただく際にセキュリティチェックシートを受領し、回答するケースも多いでしょう。私たちも主力事業の Teachme Biz を導入検討いただくお客様からセキュリティチェックシートをいただき回答することがあります。 セキュリティチェックシート、誰がやっていますか?私たちは直近では、開発組織内のマネージャー+SREチームが連携してセキュリティチェックシートを回答していました。これは後述するように回答にあたっての必要知識が広範であるためでした。 以下ブログでご紹介した記入の部分的な自動化と並行して、現在この回答体制を各プロダクト開発チーム(Stream-aligned team)主体に変更しようとしています。「You build it, you run it!」を体現するにあたって、セキュリテ</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/2c780a906ceda91c4f74e729f88a3aa06ef41f11/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2Ap9RBEdQittO1h71srhvqSA.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2024/12/02 13:16</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/%22X%20as%20a%20Service%22" rel="tag" data-gtm-click-label="entry-info-tag">X as a Service</a></li> <li><a href="/q/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3" rel="tag" data-gtm-click-label="entry-info-tag">セキュリティ</a></li> <li><a href="/q/techfeed" rel="tag" data-gtm-click-label="entry-info-tag">techfeed</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" rel="tag" data-gtm-click-label="entry-info-tag">あとで読む</a></li> <li><a href="/q/%E7%9F%A5%E8%AD%98" rel="tag" data-gtm-click-label="entry-info-tag">知識</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" rel="tag" data-gtm-click-label="entry-info-tag">開発</a></li> <li><a href="/q/security" rel="tag" data-gtm-click-label="entry-info-tag">security</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/saas-security-checksheet-3d5e5ca62064"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/short-url-amazon-cloudfront-3d94ee9c2901"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/short-url-amazon-cloudfront-3d94ee9c2901" title="短縮URL機能をFirebase Dynamic Links からAmazon CloudFrontへ移行したお話" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4756526455199728800" data-entry-category="テクノロジー">短縮URL機能をFirebase Dynamic Links からAmazon CloudFrontへ移行したお話</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/short-url-amazon-cloudfront-3d94ee9c2901" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>3</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fshort-url-amazon-cloudfront-3d94ee9c2901" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/short-url-amazon-cloudfront-3d94ee9c2901" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">注: Firebase Dynamic Links は非推奨になっているため、新しいプロジェクトでは使用しないでください。サービスは 2025 年 8 月 25 日に廃止されます。 Google は 7 年以上前に、URL… スタディストが提供しているTeachme Bizでは、一部でFDLを利用していたので本格的に移行を検討し始めました。 # 1年前に移行検討する理由このブログを書いているのが2024年7月なので、EOLまでまだ1年の猶予があります。なぜ今移行を検討するのかというと、Teachme Bizではモバイルアプリを提供しており、1年以内にリリースされたバージョンがサポート対象となっているためです。 リリースから1年以内のバージョンをサポート対象とします https://help.teachme.jp/hc/ja/articles/22205089652121 # FDLの利用状</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/b53188adba854eb4211cca521be7f47c684ab765/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2APUncTLRRbzY2ZjAXBNsY-g.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2024/07/19 21:38</li> </ul> <ul class="entrylist-contents-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/short-url-amazon-cloudfront-3d94ee9c2901"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/ai-security-74725850af84"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/ai-security-74725850af84" title="生成AI活用プロダクトのための継続的なセキュリティ担保" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4755556569426227392" data-entry-category="テクノロジー">生成AI活用プロダクトのための継続的なセキュリティ担保</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/ai-security-74725850af84" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>3</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fai-security-74725850af84" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/ai-security-74725850af84" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">Teachme AI はじめました突然ですが、本日は弊社プロダクト「Teachme Biz」の新機能である「Teachme AI」の提供開始日です🚀🚀🚀 多言語マニュアルの作成、AIで80%工数削減 「Teachme AI」6月27日提供開始 - マニュアル作成・共有システム 「Teachme Biz」</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/cdb4774cef987bbd443f0fb5cfcacf49f4cfbd04/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A900%2F1%2A3wBmhTgZg9S_Djg3M5LBpw.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2024/06/28 23:49</li> </ul> <ul class="entrylist-contents-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/ai-security-74725850af84"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/docker-build-cloud-f5e1e3dfa114"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/docker-build-cloud-f5e1e3dfa114" title="Docker Build Cloudを導入してコンテナイメージビルド時間を80%削減しました" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4754536719209232576" data-entry-category="テクノロジー">Docker Build Cloudを導入してコンテナイメージビルド時間を80%削減しました</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/docker-build-cloud-f5e1e3dfa114" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>5</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fdocker-build-cloud-f5e1e3dfa114" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/docker-build-cloud-f5e1e3dfa114" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">背景弊社では効率的で迅速な開発プロセスを維持するためにコンテナ技術を使用しています。 これまでもコンテナイメージのビルド時間を短縮するための改善を行ってきましたが、今回のDocker Build Cloudの導入により、ビルド時間を大幅に短縮することができました。この改善によって、プルリクエストごとの検証環境を迅速に作成し、デプロイフローをより速くすることが可能となりました。 成果まず最初に成果を共有します。 今回、Docker Build Cloudを活用することで、コンテナイメージビルド時間を劇的に短縮することに成功しました。具体的には、従来約6分30秒かかっていたイメージのフルビルド時間が、約1分10秒まで短縮されました。この結果、ビルド時間を80%削減することができました。 コンテナイメージビルドにおける課題今まではコンテナイメージビルドの高速化のため Registry cache</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/bade336e4da5d6a74e1ffd25d52802fc4558dfc5/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2Ao6OvAZuTjTob4NV9SpCOqg.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2024/06/07 00:09</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/docker" rel="tag" data-gtm-click-label="entry-info-tag">docker</a></li> <li><a href="/q/cloud" rel="tag" data-gtm-click-label="entry-info-tag">cloud</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/docker-build-cloud-f5e1e3dfa114"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/research-and-design-department-796c7569adde"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/research-and-design-department-796c7569adde" title="プロダクトデザイングループがリサーチ&デザイン室になった話" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4754489787535187936" data-entry-category="テクノロジー">プロダクトデザイングループがリサーチ&デザイン室になった話</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/research-and-design-department-796c7569adde" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>5</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fresearch-and-design-department-796c7569adde" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/research-and-design-department-796c7569adde" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">皆さん、こんにちは。開発本部のリサーチ&デザイン室(以下リサデ)の室長の磯野です。今回は、私たちがプロダクトデザイングループ(以下プロデザ)からリサデへと生まれ変わった経緯と、これからの目標について紹介します。 設立の背景と目的開発組織が成長するにつれ、プロダクトの提供価値をより早く、より大きく高めるためにユーザーリサーチ活動の重要性が増してきました。しかし、従来の開発案件に紐づくリサーチだけでは、以下のような課題が生じていました。 リサーチ活動が開発のボトルネックになってしまう戦略的な意思決定へのリサーチ活動の貢献が限定的になってしまうこれらの課題を解消するために、開発案件とは別に幅広い顧客理解や、顧客のビジネス成功につながる課題発見を目的とした、より広範なリサーチ活動が必要とされるようになりました。 また組織のVisionとして「Design boosts」を掲げて、以下のように目指す</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/b2e4742ffa08de567cab47f29f12c8b616415b51/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2ANSjEonzxeOBeJU_u0TM4tQ.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2024/06/05 23:52</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/%E7%B5%84%E7%B9%94" rel="tag" data-gtm-click-label="entry-info-tag">組織</a></li> <li><a href="/q/%E8%AA%BF%E6%9F%BB" rel="tag" data-gtm-click-label="entry-info-tag">調査</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" rel="tag" data-gtm-click-label="entry-info-tag">開発</a></li> <li><a href="/q/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3" rel="tag" data-gtm-click-label="entry-info-tag">デザイン</a></li> <li><a href="/q/design" rel="tag" data-gtm-click-label="entry-info-tag">design</a></li> <li><a href="/q/%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9" rel="tag" data-gtm-click-label="entry-info-tag">ビジネス</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/research-and-design-department-796c7569adde"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/false-sqli-on-multipart-boundary-30a97324debd"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/false-sqli-on-multipart-boundary-30a97324debd" title="MultipartのboundaryがSQLインジェクションとして検知されることがある" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4744311566478492431" data-entry-category="テクノロジー">MultipartのboundaryがSQLインジェクションとして検知されることがある</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/false-sqli-on-multipart-boundary-30a97324debd" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>4</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Ffalse-sqli-on-multipart-boundary-30a97324debd" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/false-sqli-on-multipart-boundary-30a97324debd" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">Photo by Dim Hou on UnsplashTeachme Biz にはCSVファイルをアップロードすることでアカウントの一括作成・一括更新ができる機能があります。先日、サービスをご利用中のお客様からのお問い合わせで「特定のCSVファイルのアップロードが 403 エラーになる」という事象が発覚しました。 アクセスログ等を調査した結果、この403エラーを返していたのはアプリケーションサーバーではなくその前段にある ALB (Application Load Balancer) であることが分かりました。ALBが、設定された WAF (Web Application Firewall) のルールに従いリクエストを終端していたのです。 ログを読んでみようAWS WAF の場合、ログの terminatingRuleId にリクエストを終端したルールが記録されます。問題のリクエストは</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/571097abec126cddea31822348e7cb843f93397e/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fda%3Atrue%2Fresize%3Afit%3A1200%2F0%2Avomigj5GWzAqPk5P');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2023/10/30 13:38</li> </ul> <ul class="entrylist-contents-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/false-sqli-on-multipart-boundary-30a97324debd"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/trying-and-givingup-rancher-and-podman-as-docker-alternatives-on-mac-a26596becd22"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/trying-and-givingup-rancher-and-podman-as-docker-alternatives-on-mac-a26596becd22" title="MacのDocker Desktop代替としてRancher DesktopとPodman Desktopを試して諦めた話" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4735257397916162469" data-entry-category="テクノロジー">MacのDocker Desktop代替としてRancher DesktopとPodman Desktopを試して諦めた話</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/trying-and-givingup-rancher-and-podman-as-docker-alternatives-on-mac-a26596becd22" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>45</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Ftrying-and-givingup-rancher-and-podman-as-docker-alternatives-on-mac-a26596becd22" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/trying-and-givingup-rancher-and-podman-as-docker-alternatives-on-mac-a26596becd22" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">どうも。最近Dockerのことばかり書いてるビジネステクノロジーユニットのおかしんです。今回はDocker Desktopの代替としてRancher DesktopやPodman Desktopを試したのですが、それぞれ解決できない問題があり諦めた話をします。</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/d9142d92f137c8d75989fc8cb1cf4bc95f27459a/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2ALwho_4c2SlZhX0doTOMo6A.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2023/04/18 09:00</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/docker" rel="tag" data-gtm-click-label="entry-info-tag">docker</a></li> <li><a href="/q/mac" rel="tag" data-gtm-click-label="entry-info-tag">mac</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" rel="tag" data-gtm-click-label="entry-info-tag">あとで読む</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/trying-and-givingup-rancher-and-podman-as-docker-alternatives-on-mac-a26596becd22"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/how-to-properly-use-docker-in-your-company-d5b3bf901e56"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/how-to-properly-use-docker-in-your-company-d5b3bf901e56" title="Docker Desktopの有料化が企業に与える影響と、企業における適切なDockerの利用方法" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4727097870309149123" data-entry-category="テクノロジー">Docker Desktopの有料化が企業に与える影響と、企業における適切なDockerの利用方法</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/how-to-properly-use-docker-in-your-company-d5b3bf901e56" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>51</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fhow-to-properly-use-docker-in-your-company-d5b3bf901e56" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/how-to-properly-use-docker-in-your-company-d5b3bf901e56" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">Photo by Mohammad Rahmani on Unsplashどうもビジネステクノロジーユニットの @おかしん です。 今や世の中のあらゆるシステムの開発現場においてコンテナ技術は無くてはならないものになっています。コンテナ技術の中で最も広く利用されているのはDockerコンテナですが、昨年オープンソースソフトウェアであるDockerを開発しているDocker社が「Docker Desktop」というアプリケーションを有料化しました。 そこで、企業においてはどのように対応すべきか?また回避策はあるのか?を考えてみました。 Docker Desktopとは何かDocker DesktopはDocker社が提供しているソフトウェアでオープンソースソフトウェアであるDockerをWindowsやMacOSにおいて簡単にインストールし利用できるアプリケーションです。 DockerはLi</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/8dbe16d45c3407c4785c438eaca4c8c53178a333/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fda%3Atrue%2Fresize%3Afit%3A1200%2F0%2AtxDyBzhBihNjpOme');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2022/10/24 11:15</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/Docker" rel="tag" data-gtm-click-label="entry-info-tag">Docker</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" rel="tag" data-gtm-click-label="entry-info-tag">あとで読む</a></li> <li><a href="/q/techfeed" rel="tag" data-gtm-click-label="entry-info-tag">techfeed</a></li> <li><a href="/q/windows" rel="tag" data-gtm-click-label="entry-info-tag">windows</a></li> <li><a href="/q/neta" rel="tag" data-gtm-click-label="entry-info-tag">neta</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/how-to-properly-use-docker-in-your-company-d5b3bf901e56"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-knowledge entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/read-clean-craftsmanship-a568a32eafb6"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/read-clean-craftsmanship-a568a32eafb6" title="Clean Craftsmanshipで感じたソフトウェア開発者に求められる職人気質" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4726123858721337603" data-entry-category="学び">Clean Craftsmanshipで感じたソフトウェア開発者に求められる職人気質</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/read-clean-craftsmanship-a568a32eafb6" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>4</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fread-clean-craftsmanship-a568a32eafb6" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/read-clean-craftsmanship-a568a32eafb6" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">開発プロセスより大事なことこのような背景からClean Craftsmanshipの発売を楽しみにしていました。 Clean Craftsmanshipの概要Clean Craftsmanshipについて簡単に紹介します。 Marc AndreessenのWhy Software Is Eating the Worldが示す通り、ソフトウェア開発者が世界に持つ影響力は日に日に大きくなっています。 また、ソフトウェア開発の最も有名な手法の1つとしてアジャイルソフトウェア開発宣言があると思います。 本書は、このような世界でアジャイルソフトウェア開発宣言では触れられていないソフトウェア開発者のクラフトマンシップ(職人気質)について書かれた本です。 Clean Craftsmanshipの感想本書の中で、プログラマーが関係する事故としてボーイング737 MAXの事故やトヨタの急加速事故などが紹介さ</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/b1a73fb5ba36b51a1cf2dd58b0166b3a025a1e93/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fda%3Atrue%2Fresize%3Afit%3A1200%2F0%2A5iKC7zjh4L24IUZW');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/knowledge" data-gtm-click-label="entry-info-category">学び</a> </li> <li class="entrylist-contents-date">2022/10/03 11:18</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/%E9%96%8B%E7%99%BA" rel="tag" data-gtm-click-label="entry-info-tag">開発</a></li> <li><a href="/q/%E8%80%83%E3%81%88%E6%96%B9" rel="tag" data-gtm-click-label="entry-info-tag">考え方</a></li> <li><a href="/q/book" rel="tag" data-gtm-click-label="entry-info-tag">book</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/read-clean-craftsmanship-a568a32eafb6"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/migration-to-vue-3-4b4c4fad0324"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/migration-to-vue-3-4b4c4fad0324" title="機能開発を止めずに、500コンポーネント規模の Vue 3 移行を完了させた開発プロセス" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4723291757465301890" data-entry-category="テクノロジー">機能開発を止めずに、500コンポーネント規模の Vue 3 移行を完了させた開発プロセス</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/migration-to-vue-3-4b4c4fad0324" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>174</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fmigration-to-vue-3-4b4c4fad0324" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/migration-to-vue-3-4b4c4fad0324" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">スタディスト 技術支援ユニットの笹木 (@s_sasaki_0529) です。 2022年上半期、およそ500コンポーネントを持つ Vue 2 プロダクトである Teachme Biz を、半年間に渡る単独作業を経て、 Vue 3 に移行することに成功しました。 本記事では、私達がどのようにして、機能開発は止めずにバージョンアップや破壊的変更への対応を行えたのかを簡単に振り返ろうと思います。 昨年の TypeScript 移行の次のステップとして、今年は Vue 3 移行を実現することにより、相乗効果でのフロントエンド開発体験の向上を実現しました。 モチベーションTeachme Biz をVue 3 に移行するモチベーションは概ね以下になります。 モダンブラウザに合わせてリアーキテクチャリングされた Vue 3 の恩恵を受けることVue 2 への機能追加・改修が 2.7 で終了してしまった</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/661682d8127b19576230278f77daf2b9983d788f/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fda%3Atrue%2Fresize%3Afit%3A600%2F0%2A-wPAnMneCErjgr-t');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2022/08/03 09:58</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/Vue" rel="tag" data-gtm-click-label="entry-info-tag">Vue</a></li> <li><a href="/q/vue.js" rel="tag" data-gtm-click-label="entry-info-tag">vue.js</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" rel="tag" data-gtm-click-label="entry-info-tag">あとで読む</a></li> <li><a href="/q/vue3" rel="tag" data-gtm-click-label="entry-info-tag">vue3</a></li> <li><a href="/q/%E7%A7%BB%E8%A1%8C" rel="tag" data-gtm-click-label="entry-info-tag">移行</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" rel="tag" data-gtm-click-label="entry-info-tag">開発</a></li> <li><a href="/q/development" rel="tag" data-gtm-click-label="entry-info-tag">development</a></li> <li><a href="/q/javascript" rel="tag" data-gtm-click-label="entry-info-tag">javascript</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/migration-to-vue-3-4b4c4fad0324"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/dropping-support-for-ie11-abbd36882c61"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/dropping-support-for-ie11-abbd36882c61" title="IE のサポートを終了せずに IE のサポートを終了した話" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4720284820257943042" data-entry-category="テクノロジー">IE のサポートを終了せずに IE のサポートを終了した話</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/dropping-support-for-ie11-abbd36882c61" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>27</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fdropping-support-for-ie11-abbd36882c61" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/dropping-support-for-ie11-abbd36882c61" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">IE サポートとは一体… スタディスト 開発本部 技術支援ユニットの笹木 (@s_sasaki_0529) です。 Microsoft による Internet Explorer (以下 IE) のサポート終了(2022/06)を 目前(執筆時点) とし、フロントエンドエンジニアの皆様はウッキウキの日々を過ごされていることでしょう。 今回は、弊社の主要プロダクトである Teachme Biz における「IE サポート終了」が何を指しているのかを明らかにし、その範囲内で開発体験を最大限良くするために行った仕組み作りについてお話します。 TL;DRTeachme Biz は IE の「サポートを終了」するが、ビルドターゲットから IE を除外する「提供終了」をするわけではないVue 3 を採用したいが、そのためには IE への「提供終了」が必須IE 用ブランチを切ってコードフリーズし、IE 用</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/944939971d25f3d08e31da846e690344e4cd19fa/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A671%2F0%2Aoq48IULciT-ugwpA.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2022/05/30 14:10</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/IE" rel="tag" data-gtm-click-label="entry-info-tag">IE</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" rel="tag" data-gtm-click-label="entry-info-tag">あとで読む</a></li> <li><a href="/q/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3" rel="tag" data-gtm-click-label="entry-info-tag">セキュリティ</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" rel="tag" data-gtm-click-label="entry-info-tag">開発</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/dropping-support-for-ie11-abbd36882c61"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/new-dx-for-frontend-f8acdfcc0d16?gi=73d0e1776feb"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/new-dx-for-frontend-f8acdfcc0d16?gi=73d0e1776feb" title="Rails と密なフロントエンドの開発環境を分離するための3つの工夫" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4717506466145625218" data-entry-category="テクノロジー">Rails と密なフロントエンドの開発環境を分離するための3つの工夫</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/new-dx-for-frontend-f8acdfcc0d16?gi=73d0e1776feb" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>3</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fnew-dx-for-frontend-f8acdfcc0d16%3Fgi%3D73d0e1776feb" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/new-dx-for-frontend-f8acdfcc0d16?gi=73d0e1776feb" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">スタディスト開発ブログ Advent Calendar 2021の20日目の記事です。本日は技術支援ユニットの笹木(@s_sasaki_0529) が、開発環境で Rails を立ち上げずに、リモートAPIサーバに接続してフロントエンド開発を行えるようにした話をします。 TL;DRSPA なのに Rails と Vue が密になってるアプリケーションを開発してるせめて開発環境ぐらいはフロントエンド単体で開発できる状態にしたい様々な問題を対処し、理想のフロントエンド開発環境を実現したTeachme Biz の現状のアーキテクチャスタディストが開発・運用する、マニュアル作成・共有システム Teachme Biz は、Vue.js (≠ Nuxt.js) によるフロントエンドと、Ruby on Rails によるバックエンドで構成されています。 Teachme Biz (Web) の大雑把な構成</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/57b69a02de081fecb1b1ae751f13e30ec9ece141/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1048%2F1%2AKfjgbUO2w34eUKq6VrlTNQ.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2022/03/31 16:39</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/Rails" rel="tag" data-gtm-click-label="entry-info-tag">Rails</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/new-dx-for-frontend-f8acdfcc0d16?gi=73d0e1776feb"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-knowledge entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/studist-lightning-talks-52202a75a809"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/studist-lightning-talks-52202a75a809" title="社内勉強会を長く続けるコツ" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4717476933397066242" data-entry-category="学び">社内勉強会を長く続けるコツ</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/studist-lightning-talks-52202a75a809" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>3</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fstudist-lightning-talks-52202a75a809" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/studist-lightning-talks-52202a75a809" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">VPoEの@katsuhisa_です。毎日空き時間をみつけてはポケモンを捕まえています。さて記事タイトルにもあるように、スタディストの社内勉強会(社内では 「Studist Lightning Talks」というイベント名で運営しています)が50回目を迎えました。 ※厳密には50回目ではなく、もっとたくさん実施しています。詳細は後述。 せっかくなのでこれまでを振り返りつつ、「社内勉強会を長く続けるコツ」についてまとめてみます。ちなみに長く続けるコツをまだ思いついていないので、このブログを書きながら整理を試みます。 そもそも社内勉強会をなぜやるか「社内勉強会、やったほうが良いよね、あると良いよね」と、ソフトウェアエンジニアの界隈では一定の認識がされているように思えます。では、なぜそういった場が求められているのでしょう。私が意識しているのは、次のようなものです。 社内勉強会は、良い文化資本を生</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/841274c6cacd7631d9e43e6eff42e101071fca2a/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2A56V9coNrq_JbpqazgN5iTw.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/knowledge" data-gtm-click-label="entry-info-category">学び</a> </li> <li class="entrylist-contents-date">2022/03/31 01:22</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/Work" rel="tag" data-gtm-click-label="entry-info-tag">Work</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/studist-lightning-talks-52202a75a809"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/migration-to-github-apps-c2752d506d9a"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/migration-to-github-apps-c2752d506d9a" title="Personal Access TokenからGitHub Appsに移行する" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4716402028695100194" data-entry-category="テクノロジー">Personal Access TokenからGitHub Appsに移行する</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/migration-to-github-apps-c2752d506d9a" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>11</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fmigration-to-github-apps-c2752d506d9a" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/migration-to-github-apps-c2752d506d9a" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">スタディスト開発部の松野です。最近GitHub Actions上でGitHub GraphQL APIを使って情報を取得する機会が多くありました。そこでGitHub Appsなるものを知り、使ってみたのでその紹介をしたいと思います。 結論(TL;DR)GitHub Actions から GitHub API を叩く際の認証と認可でどの仕組みを使うか検討したPersonal Access TokenやOAuth Appを使うと、ユーザー個人に紐づく仕組みのため色々やり辛い社内用の GitHub Appsを作成し、そのPrivate keyからAccess Tokenを生成する方法で解決GitHubと連携するための仕組みGitHubには、作成しているツールとGitHubとの連携を容易にする仕組みとして、GitHub Apps、OAuth App、Personal Access Tokenがあり</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/2c25499fad26af6dc86a7281086b2be8853b58f4/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2AMRjP6eAerMs6FRT5WYWijw.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2022/03/07 21:12</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/GitHub" rel="tag" data-gtm-click-label="entry-info-tag">GitHub</a></li> <li><a href="/q/Git" rel="tag" data-gtm-click-label="entry-info-tag">Git</a></li> <li><a href="/q/techfeed" rel="tag" data-gtm-click-label="entry-info-tag">techfeed</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/migration-to-github-apps-c2752d506d9a"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/test-eslint-config-by-eslint-8d03870a23d9"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/test-eslint-config-by-eslint-8d03870a23d9" title="ESLint の設定を ESLint でチェックする" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4716388216614251682" data-entry-category="テクノロジー">ESLint の設定を ESLint でチェックする</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/test-eslint-config-by-eslint-8d03870a23d9" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>8</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Ftest-eslint-config-by-eslint-8d03870a23d9" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/test-eslint-config-by-eslint-8d03870a23d9" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">ESLint の設定、見直せてますか? スタディスト 開発部 技術支援ユニットの笹木 (@s_sasaki_0529) です。 今回は ESLint の設定を ESLint でテストする という一見奇妙な表題で、 ESLint 設定周りの課題を解決したお話をします。 https://eslint.org/課題感ESLint には標準で多数のルールが組み込まれており、それぞれに詳細なオプションが用意されています。それに加えて、豊富なサードパーティ製のルールや、設定を継承する仕組み(extends) まで揃っているため、設定パターンは無限にあると言っても良いでしょう。 コードベースが小さいうちは、 eslint:recommended のような推奨設定を継承するだけで、すぐにベストプラクティスを実践することができます。 しかし、Vue や TypeScript といった技術構成や、Pretti</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/0bffd0e73afd5eadb6e272461a7ffd90307b69f1/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A866%2F0%2AcwTobRLSpUATTTzN.jpg');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2022/03/07 14:04</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/JavaScript" rel="tag" data-gtm-click-label="entry-info-tag">JavaScript</a></li> <li><a href="/q/test" rel="tag" data-gtm-click-label="entry-info-tag">test</a></li> <li><a href="/q/dev" rel="tag" data-gtm-click-label="entry-info-tag">dev</a></li> <li><a href="/q/techfeed" rel="tag" data-gtm-click-label="entry-info-tag">techfeed</a></li> <li><a href="/q/tips" rel="tag" data-gtm-click-label="entry-info-tag">tips</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" rel="tag" data-gtm-click-label="entry-info-tag">あとで読む</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/test-eslint-config-by-eslint-8d03870a23d9"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/how-to-make-slash-command-by-powerautomate-7b6644144c84"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/how-to-make-slash-command-by-powerautomate-7b6644144c84" title="Microsoft Power AutomateのみでSlackのSlashコマンドを作る" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4715557057420834402" data-entry-category="テクノロジー">Microsoft Power AutomateのみでSlackのSlashコマンドを作る</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/how-to-make-slash-command-by-powerautomate-7b6644144c84" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>3</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fhow-to-make-slash-command-by-powerautomate-7b6644144c84" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/how-to-make-slash-command-by-powerautomate-7b6644144c84" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">Power Automateでスラッシュコマンドこんにちはビジネステクノロジーユニットのおかしんです。 私の所属するビジネステクノロジーユニットでは、主に社内情報システム、ITデバイスの管理、セキュリティなどを担っており、私は最近は様々なシステム間連携の構築や自動化に取り組んでいます。 Microsoft Power AutomateについてMicrosoft Power Automateをご存知でしょうか?以前はMicrosoft Flowという名前でしたが、いわゆるIPaaS(Integration Platform as a Service)というジャンルで、様々なWebサービスをつなぎ合わせて、ノーコードもしくはローコードで自動化を実現するサービスです。 toC向けだとIFTTTなどが有名でしょうか。 toB向けのプロダクトでは Zapierautomate.iointegroma</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/63b65b87cdbb153c098253dddc5260b16fbfab8b/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2AnpKiFDVWneaOqq-Tz3EtFg.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2022/02/17 16:01</li> </ul> <ul class="entrylist-contents-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/how-to-make-slash-command-by-powerautomate-7b6644144c84"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/four-good-things-to-work-on-as-em-963fa78995b8"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/four-good-things-to-work-on-as-em-963fa78995b8" title="EMとして転職して3ヶ月で取り組んでよかったこと4つ" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4715230088385197602" data-entry-category="テクノロジー">EMとして転職して3ヶ月で取り組んでよかったこと4つ</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/four-good-things-to-work-on-as-em-963fa78995b8" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>3</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Ffour-good-things-to-work-on-as-em-963fa78995b8" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/four-good-things-to-work-on-as-em-963fa78995b8" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">昨年(2021年)11月に入社した、モバイルエンジニアの岡本です。気がつけば、入社して3ヶ月が経ちました。 3ヶ月の節目のタイミングでふりかえりをしてみたところ、エンジニアリングマネージャ(以下、EM)として取り組めて良かったと感じることがあったので、この記事で紹介したいと思います。 また、前提となる、EMとして転職することに対して抱いていた不安についてもはじめに紹介します。 ## 転職時に抱えていた不安 Photo by S Migaj on Unsplash今回の転職は人生初のEMとしての転職だったこともあり、以下のような不安を抱えていました。 ・EMに何を期待しているのだろうか ・EMに対する現場と上司の期待値はあっているのだろうか ・他にEMを目指したい人はいないのだろうか ・上記の内容を正直に話してもらえるだろうか ・EMが参画し不要な摩擦は起きないだろうか ・何から手を付け、ど</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/e0a65f99050e4ef2e64825d4fb80b89b090a341c/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fda%3Atrue%2Fresize%3Afit%3A1200%2F0%2AmyQaRSUG_Cmfo3I_');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2022/02/10 14:50</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88" rel="tag" data-gtm-click-label="entry-info-tag">マネジメント</a></li> <li><a href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2" rel="tag" data-gtm-click-label="entry-info-tag">エンジニア</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/four-good-things-to-work-on-as-em-963fa78995b8"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/tfmigrate-on-github-actions-f179cf096618"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/tfmigrate-on-github-actions-f179cf096618" title="tfmigrate on GitHub Actions を導入して state の操作フローを改善する" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4714444693638705282" data-entry-category="テクノロジー">tfmigrate on GitHub Actions を導入して state の操作フローを改善する</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/tfmigrate-on-github-actions-f179cf096618" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>5</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Ftfmigrate-on-github-actions-f179cf096618" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/tfmigrate-on-github-actions-f179cf096618" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">Photo by Christopher Gower on Unsplashこんにちは、SRE Unit の wind-up-bird です。少し前に Terraform Cloud から GitHub Actions に移行したお話というタイトルでブログを書きました。今回はその後日談を少し紹介したいと思います。 # これまでの state 運用今までは Terraform の state の操作は手動で実施していました。具体的には、terraform import, state mv, state rm をローカルで実行した後、PR を作成して state と tf ファイルの差分を埋めるという運用でした。 # 課題ここで以下のような問題が出てきます。 誰がどのような state 操作をした(しようとしているか)分からない。また、誤操作してしまう可能性もある。PRのレビュー後 tf ファ</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/f3171bf40da9575c19adb948c3108963ddf23a74/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2AOVuEKQXpu-zmDAxuELQFmw.jpeg');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2022/01/24 16:29</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/Terraform" rel="tag" data-gtm-click-label="entry-info-tag">Terraform</a></li> <li><a href="/q/GitHub" rel="tag" data-gtm-click-label="entry-info-tag">GitHub</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" rel="tag" data-gtm-click-label="entry-info-tag">あとで読む</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/tfmigrate-on-github-actions-f179cf096618"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/new-dx-for-frontend-f8acdfcc0d16"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/new-dx-for-frontend-f8acdfcc0d16" title="Rails と密なフロントエンドの開発環境を分離するための3つの工夫" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4712833878212017986" data-entry-category="テクノロジー">Rails と密なフロントエンドの開発環境を分離するための3つの工夫</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/new-dx-for-frontend-f8acdfcc0d16" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>3</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fnew-dx-for-frontend-f8acdfcc0d16" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/new-dx-for-frontend-f8acdfcc0d16" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">スタディスト開発ブログ Advent Calendar 2021の20日目の記事です。本日は技術支援ユニットの笹木(@s_sasaki_0529) が、開発環境で Rails を立ち上げずに、リモートAPIサーバに接続してフロントエンド開発を行えるようにした話をします。 TL;DRSPA なのに Rails と Vue が密になってるアプリケーションを開発してるせめて開発環境ぐらいはフロントエンド単体で開発できる状態にしたい様々な問題を対処し、理想のフロントエンド開発環境を実現したTeachme Biz の現状のアーキテクチャスタディストが開発・運用する、マニュアル作成・共有システム Teachme Biz は、Vue.js (≠ Nuxt.js) によるフロントエンドと、Ruby on Rails によるバックエンドで構成されています。 Teachme Biz (Web) の大雑把な構成</p> <p class="entrylist-contents-thumb"> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2021/12/20 23:02</li> </ul> <ul class="entrylist-contents-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/new-dx-for-frontend-f8acdfcc0d16"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-life entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/introduction-of-kyafu-command-92dcbed08d07"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/introduction-of-kyafu-command-92dcbed08d07" title="社内ツール kyafuコマンド の紹介" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4712669012573942210" data-entry-category="暮らし">社内ツール kyafuコマンド の紹介</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/introduction-of-kyafu-command-92dcbed08d07" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>9</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fintroduction-of-kyafu-command-92dcbed08d07" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/introduction-of-kyafu-command-92dcbed08d07" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">kyafu呼び出しに対する応答画像はSlack上でkyafu deployコマンドが叩かれている様子です。work1–10のどのインスタンスを利用するのかと検証したいブランチ名を指定しています。 構成を簡単に示すと以下のようになります。 簡易な構成図InfraやCI/CDについての知識がほとんどなかった私にとって、kyafuは魔法のコマンドでした。簡単に検証環境のデプロイや起動ができ、実行完了後に通知まで送ってくれるのでとても便利です。 ですが、当時のkyafu(というか検証環境の運用)には課題感もありました。それは、使用する環境の衝突が起きないように調整する必要があったことです。 大体どのチームがどの番号のインスタンスを使うのか、までは決まっていましたが、同一チーム内に検証したい機能が複数あった場合、検証用のインスタンス数に限りがあるため、待ちが発生することがありました。 Kuberne</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/21f6666382d35dd89502c3d4dc20861af16f9b72/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fda%3Atrue%2Fresize%3Afit%3A1200%2F0%2AVukFOdRJodO-j1Vn');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/life" data-gtm-click-label="entry-info-category">暮らし</a> </li> <li class="entrylist-contents-date">2021/12/16 09:41</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/%E3%83%84%E3%83%BC%E3%83%AB" rel="tag" data-gtm-click-label="entry-info-tag">ツール</a></li> <li><a href="/q/%E6%8A%80%E8%A1%93" rel="tag" data-gtm-click-label="entry-info-tag">技術</a></li> <li><a href="/q/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0" rel="tag" data-gtm-click-label="entry-info-tag">プログラミング</a></li> <li><a href="/q/%E4%BB%95%E4%BA%8B" rel="tag" data-gtm-click-label="entry-info-tag">仕事</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" rel="tag" data-gtm-click-label="entry-info-tag">あとで読む</a></li> <li><a href="/q/%2A%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" rel="tag" data-gtm-click-label="entry-info-tag">*あとで読む</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/introduction-of-kyafu-command-92dcbed08d07"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/look-back-myself-as-a-manager-cbe08b611223"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/look-back-myself-as-a-manager-cbe08b611223" title="エンジニアに戻った今、かつてマネージャーだった自分に何を思うか" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4712531590185898018" data-entry-category="テクノロジー">エンジニアに戻った今、かつてマネージャーだった自分に何を思うか</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/look-back-myself-as-a-manager-cbe08b611223" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>4</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Flook-back-myself-as-a-manager-cbe08b611223" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/look-back-myself-as-a-manager-cbe08b611223" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">Photo by Ludde Lorentz on Unsplashスタディスト開発ブログ Advent Calendar 2021 14日目担当の島田(@m0sh1dawa)です。好きなNBA選手はシェーン・バティエです。今回は技術寄りの話ではなく、VPoEの記事と同様にこの一年で感じたことを書き散らしていこうと思います。 これまでまず、私のスタディストにおける略歴を紹介します。 2017年にTeachme BizのWindowsアプリ開発担当として入社2019年からは組織変更に伴いネイティブアプリグループ(※)のエンジニアリングマネージャーを兼務2020年には二か月間の育休を取得育休復帰後は、課題解決の手札を増やすためにマネージャーからいちエンジニアにジョブチェンジし、現在に至る※Teachme BizにはWebアプリとは別に iOS, Android, Windows の各プラットフ</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/a8f3639b7c36c2fb55d77720d05904fb0ac518b8/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fda%3Atrue%2Fresize%3Afit%3A1200%2F0%2Aa3rso8VwvT133gZ4');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2021/12/14 10:38</li> </ul> <ul class="entrylist-contents-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/look-back-myself-as-a-manager-cbe08b611223"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/terraform-cloud-github-actions-47dc62cd1623"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/terraform-cloud-github-actions-47dc62cd1623" title="Terraform Cloud から GitHub Actions に移行したお話" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4712491095065336546" data-entry-category="テクノロジー">Terraform Cloud から GitHub Actions に移行したお話</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/terraform-cloud-github-actions-47dc62cd1623" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>56</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fterraform-cloud-github-actions-47dc62cd1623" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/terraform-cloud-github-actions-47dc62cd1623" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">スタディスト開発ブログ Advent Calendar 2021の13日目の記事です。 こんにちは、SRE Unit の wind-up-bird です。以前、 Serverless Framework を移行しているお話を書きましたが、今回は移行シリーズ第2弾ということで、 Terraform Cloud を Terraform on GitHub Actions に移行したお話をお届けしたいと思います。 # 移行前の運用スタディストではこれまで Terraform Cloud の Team & Governance プランを契約していました。移行前の Terraform による開発の流れは、以下のとおりです。 Terraform Cloud 上で Workspace を作成し、Version control workflow を利用する。Workspace には環境変数として、 AWS</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/fe475066bc162c30e9beedcde2a37b5ddd85ed70/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2ArWAz7-nV6MOysXkgnBniYw.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2021/12/13 13:41</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/terraform" rel="tag" data-gtm-click-label="entry-info-tag">terraform</a></li> <li><a href="/q/actions" rel="tag" data-gtm-click-label="entry-info-tag">actions</a></li> <li><a href="/q/%22GitHub%20Actions%22" rel="tag" data-gtm-click-label="entry-info-tag">GitHub Actions</a></li> <li><a href="/q/ci" rel="tag" data-gtm-click-label="entry-info-tag">ci</a></li> <li><a href="/q/github" rel="tag" data-gtm-click-label="entry-info-tag">github</a></li> <li><a href="/q/GitHubActions" rel="tag" data-gtm-click-label="entry-info-tag">GitHubActions</a></li> <li><a href="/q/aws" rel="tag" data-gtm-click-label="entry-info-tag">aws</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" rel="tag" data-gtm-click-label="entry-info-tag">あとで読む</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/terraform-cloud-github-actions-47dc62cd1623"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/release-mobile-app-with-capacitor-and-in-future-983ee083f2d"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/release-mobile-app-with-capacitor-and-in-future-983ee083f2d" title="Web開発者のみでCapacitor を利用し、3ヶ月でモバイルアプリをリリースした話と、展望" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4712254197438307554" data-entry-category="テクノロジー">Web開発者のみでCapacitor を利用し、3ヶ月でモバイルアプリをリリースした話と、展望</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/release-mobile-app-with-capacitor-and-in-future-983ee083f2d" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>28</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Frelease-mobile-app-with-capacitor-and-in-future-983ee083f2d" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/release-mobile-app-with-capacitor-and-in-future-983ee083f2d" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">スタディスト開発ブログ Advent Calendar 2021 8日目の記事です。Hansoku Cloud 開発グループのマネージャーをしている zuckey が担当します。2020年の末にHansoku Cloudという新規事業のアプリケーションをリリースしたのち、そのプロダクトおよびサービスのグロースに力を入れてきました。 本エントリでは、Hansoku Cloud で今年の6月に検討を開始し、9月にリリースにこぎつけたモバイルアプリの開発全般について書きます。 TL;DR“ガワネイティブ” からネイティブAPIへのブリッジ部分を提供してくれるライブラリ Capacitor を利用してiOS / Android向けのモバイルアプリをリリースしたWeb開発者がモバイルアプリを開発するにはどのようなツールを使うにしても、チームで学習を深めていく必要がある。Full Stack なチーム</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/871514a4bd2a14e395acdd2103ece6f1d5a1e6d4/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1019%2F1%2AnppydRfYeKHWoS7JCK5Kcw.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2021/12/08 11:07</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/cloud" rel="tag" data-gtm-click-label="entry-info-tag">cloud</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" rel="tag" data-gtm-click-label="entry-info-tag">あとで読む</a></li> <li><a href="/q/web" rel="tag" data-gtm-click-label="entry-info-tag">web</a></li> <li><a href="/q/article" rel="tag" data-gtm-click-label="entry-info-tag">article</a></li> <li><a href="/q/%E3%82%A2%E3%83%97%E3%83%AA" rel="tag" data-gtm-click-label="entry-info-tag">アプリ</a></li> <li><a href="/q/development" rel="tag" data-gtm-click-label="entry-info-tag">development</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" rel="tag" data-gtm-click-label="entry-info-tag">開発</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/release-mobile-app-with-capacitor-and-in-future-983ee083f2d"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/look-back-at-becoming-a-vpoe-4950424d5509"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/look-back-at-becoming-a-vpoe-4950424d5509" title="VPoEになって実質半年がたったので振り返りをする" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4712121792660631970" data-entry-category="テクノロジー">VPoEになって実質半年がたったので振り返りをする</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/look-back-at-becoming-a-vpoe-4950424d5509" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>3</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Flook-back-at-becoming-a-vpoe-4950424d5509" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/look-back-at-becoming-a-vpoe-4950424d5509" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">そうした中で、私が感じていることとしては、 VPoEの役割に限らないが、 VPoEのスタイルに唯一の解はないただし、CTOに比べると、問題空間はより限定される傾向にあるのではないかその中でも、採用・組織づくりについては特に期待が大きいというものです。CTOはフェーズによって期待が大きく変わりますが、VPoEはフェーズによっても問題空間はそれほど大きく変わらないが、より大規模に実行することが求められ続けるのではないか…と現時点では考えています。 各社ごとに特殊性があるその一方で、各社ごとに特殊性はあり、私がスタディストで担当している領域を改めて振り返ると、以下が一般的なVPoEの役割からは連想しづらい部分だと思います。 技術横断的な施策を推進するチームのマネージャーの役割人事領域のタスク推進にあたっての、全社関連部門とのハブ役前者は世の中的にはCTO室としてCTO管掌で整理されるケースがあり</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/80d2292dbc177b7b897900e84b54954341863e39/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fda%3Atrue%2Fresize%3Afit%3A1200%2F0%2AGp754y2Ob9QiH5IM');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2021/12/05 14:36</li> </ul> <ul class="entrylist-contents-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/look-back-at-becoming-a-vpoe-4950424d5509"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/serverless-framework-lambroll-64b6a32b7311"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/serverless-framework-lambroll-64b6a32b7311" title="Serverless Framework から lambroll + Terraform に移行しているお話" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4710317268709456674" data-entry-category="テクノロジー">Serverless Framework から lambroll + Terraform に移行しているお話</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/serverless-framework-lambroll-64b6a32b7311" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>49</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Fserverless-framework-lambroll-64b6a32b7311" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/serverless-framework-lambroll-64b6a32b7311" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">はじめまして、wind-up-bird です。スタディストの SRE Unit に入ってから約半年が経ちました。今回は社内で利用している Serverless Framework を lambroll に移行しているのでその話を少し書いてみようと思います。 これまでの開発の流れスタディストでは AWS Lambda および周辺リソース(AWS IAM や Amazon API Gateway など)の管理はこれまで Serverless Framework を利用していました。開発からリリースの流れは以下の通りです。 Lambda の開発serverless.yml を作成開発者がデプロイ担当者に連絡する担当者がローカルの環境から serverless deploy を手動実行Serverless Framework 導入当初は管理しているリソースが少なくこの運用でもあまり問題になりません</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/333e9b9b23d6629bca0b8810a553055f9a5f9ee2/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2AHIaHc5FvM8toakbvGnkPMg.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2021/10/27 16:57</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/lambda" rel="tag" data-gtm-click-label="entry-info-tag">lambda</a></li> <li><a href="/q/terraform" rel="tag" data-gtm-click-label="entry-info-tag">terraform</a></li> <li><a href="/q/aws" rel="tag" data-gtm-click-label="entry-info-tag">aws</a></li> <li><a href="/q/serverless" rel="tag" data-gtm-click-label="entry-info-tag">serverless</a></li> <li><a href="/q/lambroll" rel="tag" data-gtm-click-label="entry-info-tag">lambroll</a></li> <li><a href="/q/deploy" rel="tag" data-gtm-click-label="entry-info-tag">deploy</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" rel="tag" data-gtm-click-label="entry-info-tag">あとで読む</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" rel="tag" data-gtm-click-label="entry-info-tag">開発</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/serverless-framework-lambroll-64b6a32b7311"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/typescript-migration-90b99b7c8974"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/typescript-migration-90b99b7c8974" title="機能開発を止めずに、6万行の TypeScript 移行を完了させた開発プロセス" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4716702249214498242" data-entry-category="テクノロジー">機能開発を止めずに、6万行の TypeScript 移行を完了させた開発プロセス</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/typescript-migration-90b99b7c8974" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>169</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Ftypescript-migration-90b99b7c8974" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/typescript-migration-90b99b7c8974" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">スタディスト 開発部 技術支援ユニットの笹木 (@s_sasaki_0529) です。 2021年上半期、およそ6万行の JavaScript コードを TypeScript に置き換える作業を、半年間単独で行いました。 本記事では、機能開発自体を止めずに、どのように走り切ることができたのか、ふりかえりたいと思います。 なお、本記事の内容は、移行開始直後の登壇資料 “大規模 Vue アプリケーションの TypeScript 移行” と、移行完了後の登壇資料 “6万行の TypeScript 移行とその後” と重複する内容を含んでいます。 Teachme Biz と TypeScript弊社が開発している、マニュアル作成・共有システム Teachme Biz は、iOS/Android や Windows など、マルチプラットフォームで提供されています。 その中でも、作成・管理に多く使われて</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/03ef969c2cc5bf87692a59b77dffadfc4c916161/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2ABHzrwXsss2q1OW2ZXlNy3Q.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2021/09/24 20:14</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/TypeScript" rel="tag" data-gtm-click-label="entry-info-tag">TypeScript</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" rel="tag" data-gtm-click-label="entry-info-tag">あとで読む</a></li> <li><a href="/q/%E7%A7%BB%E8%A1%8C" rel="tag" data-gtm-click-label="entry-info-tag">移行</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" rel="tag" data-gtm-click-label="entry-info-tag">開発</a></li> <li><a href="/q/CI" rel="tag" data-gtm-click-label="entry-info-tag">CI</a></li> <li><a href="/q/javascript" rel="tag" data-gtm-click-label="entry-info-tag">javascript</a></li> <li><a href="/q/programming" rel="tag" data-gtm-click-label="entry-info-tag">programming</a></li> <li><a href="/q/%E6%8A%80%E8%A1%93" rel="tag" data-gtm-click-label="entry-info-tag">技術</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/typescript-migration-90b99b7c8974"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/report-feature-with-timestream-2e7062c6c465"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/report-feature-with-timestream-2e7062c6c465" title="Timestreamを利用した詳細版レポート機能をリリースしました" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4716726896971670914" data-entry-category="テクノロジー">Timestreamを利用した詳細版レポート機能をリリースしました</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/report-feature-with-timestream-2e7062c6c465" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>11</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Freport-feature-with-timestream-2e7062c6c465" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/report-feature-with-timestream-2e7062c6c465" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">皆さんは、レポート機能を活用してますか? マニュアルの中には「季節限定新メニューのレシピ」「あたらしく導入した機械設備の操作方法」など 必ず閲覧してほしいマニュアル ってありますよね。 「作成したマニュアルの閲覧数は伸びているけど、… 今回はこの詳細版レポート機能の中身のポイントと、そこに至るまでについてお話いたします。 詳細版レポート機能のポイントデータストアにTimestreamを利用しているTimestreamにデータ投入するにあたり Fluentd 用プラグインをOSSで開発NestJS を採用したマイクロサービスで提供順番に説明します。 データストアに Timestream を採用した理由従来のレポート機能は以下のようになっていました。 ユーザがマニュアル作成/閲覧などサービスを利用すると(①)、Fluentd経由で Amazon Kinesis Data Firehose にア</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/a97a86a67f660224c063c03aa804d94d28e20eac/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2AGc3zjO85kYFqxvZ4kb_tUg.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2021/09/07 22:10</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/timestream" rel="tag" data-gtm-click-label="entry-info-tag">timestream</a></li> <li><a href="/q/AWS" rel="tag" data-gtm-click-label="entry-info-tag">AWS</a></li> <li><a href="/q/Web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9" rel="tag" data-gtm-click-label="entry-info-tag">Webサービス</a></li> <li><a href="/q/web" rel="tag" data-gtm-click-label="entry-info-tag">web</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" rel="tag" data-gtm-click-label="entry-info-tag">あとで読む</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/report-feature-with-timestream-2e7062c6c465"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> <li class="cat-it entrylist-image-entry js-keyboard-selectable-item"> <div class="entrylist-contents"> <div class="js-bookmark-stock-button is-hidden" data-gtm-click-label="entry-info-stock-button"> <button class="js-bookmark-stock-button-ready readlater-button" title="あとで読む" alt="あとで読む" tabindex="0" type="button" data-href="https://studist.tech/trust-creates-value-for-qa-82c8565ef5c2"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://studist.tech/trust-creates-value-for-qa-82c8565ef5c2" title="「信頼」がQAの価値を生む" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4716754164660690338" data-entry-category="テクノロジー">「信頼」がQAの価値を生む</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/studist.tech/trust-creates-value-for-qa-82c8565ef5c2" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>22</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/studist.tech/" title="『studist.tech』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fstudist.tech%2Ftrust-creates-value-for-qa-82c8565ef5c2" class="favicon" alt="" /> <span>studist.tech</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/studist.tech/trust-creates-value-for-qa-82c8565ef5c2" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">こんにちは、QAグループマネージャーの岩崎です。 以前「モダンなQA組織を目指して」という記事を投稿してから、ブログみたよ!と連絡を貰えることがあり嬉しく思います。 今回はQA組織の成長、QAエンジニアとして成長するために意識してきたことや、普段行っている業務や考え方を整理し、「QAの価値」と「QAにとって重要な要素」を言語化した話をします。 前提:顧客価値を正しく提供するためのQA前提としてスタディストQAにおける品質についての話をします。 スタディストQAでは「顧客価値」を重視した品質活動をしています。 そのため下流のテスト活動にとどまらず、上流での品質担保を試行錯誤し、「顧客価値」を正しく提供・担保できるように日々尽力しています。 当然下流におけるテスト活動も重要ではありますが、上流工程でのアプローチが「顧客価値」を提供する上で最も重要だと考えているためです。 その上流工程での作業を</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/1d05cffe4885665abe57468a1f903fa22d138fb2/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2Am_v_sFDXZQp7oDuzLLhP5g.png');" data-gtm-click-label="entry-info-thumbnail"></span> </p> </a> </div> <ul class="entrylist-contents-meta"> <li class="entrylist-contents-category"> <a href="/entrylist/it" data-gtm-click-label="entry-info-category">テクノロジー</a> </li> <li class="entrylist-contents-date">2021/08/23 11:10</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/dev" rel="tag" data-gtm-click-label="entry-info-tag">dev</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" rel="tag" data-gtm-click-label="entry-info-tag">あとで読む</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://studist.tech/trust-creates-value-for-qa-82c8565ef5c2"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </li> </ul> <p class="entrylist-readmore js-keyboard-selectable-item"> <a href="/site/studist.tech/?page=2" class="js-keyboard-openable"> 次のページ </a> </p> </section> </div> <div class="entrylist-aside"> <div class="entrylist-ad-optional-rectangle"> <div id="entrylist-ad-sidebar-top"></div> </div> <div class="entrylist-ad-optional-rectangle"> <div id="entrylist-ad-sidebar-bottom"></div> </div> </div> </div> </div> <div class="entrylist-ad-pc-banner"> <div id="entrylist-ad-banner-bottom"></div> </div> <div class="entrylist-ad-sp-rectangle"> <div id="entrylist-ad-rectangle-bottom"></div> </div> </div> <div class="drawer-menu js-drawer-menu"> <button class="drawer-menu-button js-drawer-menu-button" data-gtm-click-label="drawer-open"> <span class="drawer-notify-count js-notify-count"></span> </button> <ul class="drawer-menu-body js-drawer-body-container"> </ul> <script type="text/x-template" id="template-drawer-body"> {{ #is_login_user }} <li class="drawer-loginMenu"> <a href="/{{ user_name }}/bookmark" class="drawer-loginMenu-username" data-gtm-click-label="drawer-header-username"><img src="{{ profile_image }}" alt="{{ user_name }}" /><span>{{ user_name }}</span></a> <button type="button" class="drawer-loginMenu-button js-notify-list-button notify" data-gtm-click-label="drawer-header-notify"> <span class="drawer-notify-count js-notify-count"></span> <span class="hide-text">通知</span> </button> <span role="link" class="drawer-loginMenu-button config"> <a href="/{{ user_name }}/config" data-gtm-click-label="drawer-header-config"><span class="hide-text">設定</span></a> </span> </li> {{ /is_login_user }} {{ #is_guest_user }} <li class="drawer-menu-item"> <a href="{{ login_url }}" rel="nofollow" data-gtm-click-label="drawer-guest-login"><span>ログイン</span></a> </li> <li class="drawer-menu-item"> <a href="/guide" rel="nofollow" data-gtm-click-label="drawer-guest-guide"> <span>はてなブックマークとは</span> </a> </li> {{ /is_guest_user }} <li class="drawer-notify-list js-drawer-notify-list is-loading"> <img src="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/common/loading@2x.gif" class="notify-list-loading-image" alt="読み込み中" /> <iframe class="notify-list js-notify-list"></iframe> </li> <li class="drawer-menu-item"> <a href="/hotentry" data-gtm-click-label="drawer-menu-hotentry">人気エントリー</a> </li> <li class="drawer-menu-item"> <a href="/entrylist" data-gtm-click-label="drawer-menu-entrylist">新着エントリー</a> </li> {{ #is_login_user }} <li class="drawer-menu-item"> <a href="/add" data-gtm-click-label="drawer-menu-bookmarkadd">ブックマークを追加</a> </li> <li class="drawer-toggleMenu js-drawer-submenu is-open"> <button type="button" class="drawer-toggleMenu-label js-drawer-submenu-label">マイページ</button> <ul class="service-submenu"> <li class="service-submenu-item"> <a href="/{{ user_name }}/bookmark" data-gtm-click-label="drawer-mypage-mybookmark">マイブックマーク</a> </li> <li class="service-submenu-item"> <a href="/{{ user_name}}/unread_bookmark" data-gtm-click-label="drawer-mypage-unread">あとで読む</a> </li> <li class="service-submenu-item"> <a href="/{{ user_name }}/hotentry" data-gtm-click-label="drawer-mypage-myhotentry">マイホットエントリー</a> </li> <li class="service-submenu-item"> <a href="/{{ user_name }}/interest" data-gtm-click-label="drawer-mypage-interest">関心ワード</a> </li> <li class="service-submenu-item"> <a href="/{{ user_name }}/favorite" data-gtm-click-label="drawer-mypage-favorite">お気に入り</a> </li> </ul> </li> {{ /is_login_user }} <li class="drawer-toggleMenu js-drawer-submenu is-open"> <button type="button" class="drawer-toggleMenu-label js-drawer-submenu-label">カテゴリー</button> <ul class="service-submenu"> <li class="service-submenu-item"> <a href="/hotentry/general" data-gtm-click-label="drawer-category-general">一般</a> <a href="/hotentry/social" data-gtm-click-label="drawer-category-social">世の中</a> <a href="/hotentry/economics" data-gtm-click-label="drawer-category-economics">政治と経済</a> <a href="/hotentry/life" data-gtm-click-label="drawer-category-life">暮らし</a> <a href="/hotentry/knowledge" data-gtm-click-label="drawer-category-knowledge">学び</a> <a href="/hotentry/it" data-gtm-click-label="drawer-category-it">テクノロジー</a> <a href="/hotentry/fun" data-gtm-click-label="drawer-category-fun">おもしろ</a> <a href="/hotentry/entertainment" data-gtm-click-label="drawer-category-entertainment">エンタメ</a> <a href="/hotentry/game" data-gtm-click-label="drawer-category-game">アニメとゲーム</a> </li> </ul> </li> {{ #is_app_target }} <li class="drawer-toggleMenu js-drawer-submenu is-open"> <button type="button" class="drawer-toggleMenu-label js-drawer-submenu-label">アプリをダウンロード</button> <ul class="service-submenu"> {{ #is_ios }} <li class="service-submenu-item device-ios app-bookmark"> <a href="https://apps.apple.com/jp/app/hatenabukkumaku/id354976659?mt=8" data-gtm-click-label="drawer-app-ios">はてなブックマーク</a> </li> {{ /is_ios }} {{ #is_android }} <li class="service-submenu-item device-android app-bookmark"> <a href="https://play.google.com/store/apps/details?id=com.hatena.android.bookmark&referrer=utm_source%3Dbookmark_sp%26utm_campaign%3Dbookmark_sp_drawer&hl=ja" data-gtm-click-label="drawer-app-android">はてなブックマーク</a> </li> {{ /is_android }} </ul> </li> {{ /is_app_target }} </script> </div> <div class="entry-notfound-modal js-entry-notfound-modal is-hidden"> <div class="entry-notfound-modal-widnow js-modal-content"> <div class="entry-notFound"> <div class="entry-notFound-text"> <h2 class="entry-notFound-title">このページはまだ<br />ブックマークされていません</h2> <p class="entry-notFound-description"><span class="for-pc">このページを</span>最初にブックマークしてみませんか?</p> </div> <form method="get" action="/my/add.confirm" class="entry-notFound-form js-entry-notfound-form"> <input name="url" type="text" value="" class="entry-notFound-textInput js-entry-notfound-input"> <button type="submit" class="entry-notFound-btn">ブックマークする</button> </form> <p class="entry-notFound-entryList-link js-entry-notfound-entrylist-link"> <a href="/site/studist.tech/"> <span>『</span><span>スタディスト Tech Blog</span><span>』の新着エントリーを見る</span> </a> </p> </div> <button type="button" class="entry-notfound-modal-window-close js-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> <script id="valve-dmp" data-service="bookmark" src="//cdn.pool.st-hatena.com/valve/dmp.js" async></script> <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&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 © 2005-2025 <a href="http://www.hatena.ne.jp/">Hatena</a>. All Rights Reserved.</div> </div> </div> <div id="touch-footer-ad"></div> <div id="touch-footer-ad-placeholder"></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>