CINXE.COM
Sweet Escape[B!]新着記事・評価 - はてなブックマーク
<!DOCTYPE html> <html lang="ja" data-page-scope="EntryList" data-stable-request-url="https://b.hatena.ne.jp/site/www.keisuke69.net/" 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>Sweet Escape[B!]新着記事・評価 - はてなブックマーク</title> <script src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/js/v4/bookmark.js" async></script> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/css/v4/bookmark.css" /> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/css/v4/bookmark.star.css" /> <link rel="canonical" href="https://b.hatena.ne.jp/site/www.keisuke69.net/" /> <link rel="next" href="/site/www.keisuke69.net/?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/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/apple-touch-icon-precomposed.png" /> <link rel="mask-icon" href="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/safari-pinned-tab-icon.svg" color="#00A4DE" /> <meta name="msapplication-navbutton-color" content="#2C6EBD" /> <meta name="msapplication-task" content="name=はてなブックマーク; action-uri=/; icon-uri=https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/icons/bookmark.ico" /> <meta name="msapplication-task" content="name=マイブックマーク; action-uri=/my; icon-uri=https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/icons/my-bookmark.ico" /> <meta name="msapplication-task" content="name=お気に入りのブックマーク; action-uri=/my/favorite; icon-uri=https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/icons/favorite-bookmark.ico" /> <meta name="msapplication-task" content="name=人気エントリー; action-uri=/hotentry; icon-uri=https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/icons/hotentry.ico" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="referrer" content="always"> <link rel="alternate" type="application/rss+xml" href="/site/www.keisuke69.net/?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%2Fwww.keisuke69.net%2F" rel="nofollow" class="gh-guest-login" data-gtm-label="gh-guest-login">ログイン</a></li> <li class="gh-hatena-logo"><a href="http://www.hatena.ne.jp/"><img src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/logo/logo-global-white.svg" alt="Hatena" width="74px" height="13px"/></a></li> </ul> </div> <noscript> <ul class="gh-service-menu"> <li><a href="https://www.hatena.ne.jp/logout?location=https%3A%2F%2Fb.hatena.ne.jp%2F">ログアウト</a></li> </ul> </noscript> <script type="text/x-template" id="template-menu-hatena-user"> <form class="gh-searchbox" method="get" action="/search_dwim" role="search"> <input value="" name="q" type="search" class="gh-inputtext" placeholder="キーワード・URLを検索" size="40" /> <input value="" type="submit" class="gh-search-button" /> </form> <ul class="gh-service-menu"> <li><a class="hotentry" data-gtm-label="gh-mypage" href="{{hotentry_url}}"><img src="{{user_image_url}}" class="header-profile-icon" width="16" height="16" alt="{{username}}" /></a><a class="hotentry" data-gtm-label="gh-mypage" href="{{hotentry_url}}">マイページ</a></li> <li><a class="bookmark" data-gtm-label="gh-bookmark" href="{{bookmark_url}}">ブックマーク</a></li> <li><a class="unread_bookmark" data-gtm-label="gh-ril" href="{{bookmark_stock_url}}">あとで読む</a></li> <li><a class="add" data-gtm-label="gh-add" href="{{add_bookmark_url}}">追加</a></li> <li><a class="tools" data-gtm-label="gh-tools" href="/guide/tools">ツール</a></li> <li><a class="config" data-gtm-label="gh-config" href="/-/my/config/profile">設定</a></li> <li><a class="feedback" data-gtm-label="gh-feedback" href="/-/feedback/hatena_bookmark" target="_blank">フィードバック</a></li> <li id="header-username" class="gh-dropdown-services" data-gtm-label="gh-services" title="利用中のサービス" data-name="{{username}}"> <span class="header-dropdown gh-dropdown" tabindex="0"> <img src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/common/usermenu-wh.svg" alt="利用中のサービス" width="24" height="24" /> </span> <dl class="header-window" id="username-window"></dl> </li> <li id="header-notify" data-gtm-label="gh-notify" class="gh-dropdown-notify" title="あなたへのお知らせ"> <span class="header-dropdown gh-dropdown" tabindex="0"> <img src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/common/notify-wh.svg" alt="あなたへのお知らせ" width="25" height="25" /> <span class="notify-count"></span> </span> <div id="notify-window" class="header-window header-notify"></div> </li> <li class="gh-hatena-logo"><a href="http://www.hatena.ne.jp/"><img src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/logo/logo-global-white.svg" alt="Hatena" width="74px" height="13px"/></a></li> </ul> </script> </div> </header> <div id="info-header"><div id="info-header-message"></div><span></span></div> <div class="global-notification is-hidden js-global-notification"></div> <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/21bb37de101e3d895eac61554a1ca07012b63961/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://www.keisuke69.net/" 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/4459ffdddd5431a9b6161d4a339a0ebe4e86c05c/height=288;version=1;width=512/https%3A%2F%2Fwww.publickey1.jp%2F2025%2Fhyperlight-wasm-ann01.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/788b05ef0bbd47470bbf7d09b23e3523f153d923/height=288;version=1;width=512/https%3A%2F%2Fimg1.kakaku.k-img.com%2Fimages%2Fmaga%2F21941%2Fthumbnail_ogp.jpg%3Fv%3D20240724);"></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/684bf70d4d4ff6103c45c21834fefee258a7d8d8/height=288;version=1;width=512/https%3A%2F%2Fnatgeo.nikkeibp.co.jp%2Fatcl%2Fnews%2F25%2F032700162%2Fph_thumb.jpg);"></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/3564e2a428609d27bfe1013f86e42c03d1f1f74b/height=288;version=1;width=512/https%3A%2F%2Fassets.bwbx.io%2Fimages%2Fusers%2FiqjWHBFdfxIU%2FinZgjjRCgAro%2Fv1%2F-1x-1.jpg);"></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/5a9bf4c0287cd327006a22d93abf59a5d46f1b99/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak-img.shonenjumpplus.com%2Fpublic%2Fseries-thumbnail%2F17106567262865789116-caa274353909c12cd301546e97b37898%3F1742976746);"></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/169f2a6675aa855320002accb1c66e7d1cb5d17b/height=288;version=1;width=512/https%3A%2F%2Fautomaton-media.com%2Fwp-content%2Fuploads%2F2025%2F03%2Fpalworld-20250331-333514-header.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/b97da9f1f5b033c7e8975a91fcd409400b42cc25/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F318b25166e6505dc94bc1b8677d7a966744b6870%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fy%252Fyasu_wakamenori%252F20250331%252F20250331192000.png);"></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/8361fe7a3e5a39c5ee861f5a2d874d93e8f034d5/height=288;version=1;width=512/https%3A%2F%2Fcdn.mainichi.jp%2Fvol1%2F2022%2F06%2F24%2F20220624k0000m040065000p%2F0c10.jpg%3F1);"></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/177b5bb2bc80f87d5f339fd19966a5f4654645bb/height=288;version=1;width=512/https%3A%2F%2Fstatic.chunichi.co.jp%2Fimage%2Farticle%2Fsize1%2F0%2Ff%2Fb%2F7%2F0fb78eed60bd6e531f83669915922ed1_1.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/47dca390809143adfeb9deba2b4d2265ceedd5e7/height=288;version=1;width=512/https%3A%2F%2Fafpbb.ismcdn.jp%2Fmwimgs%2F2%2F0%2F1000x%2Fimg_2030d6a2b52a48f55ad62273a65ecd5b98516.jpg);"></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/d895f547d8a8a33ff855bcde42292548e40a5b58/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2Fc62da7c4902e17ca156052a1db37667a-1200x630.jpeg);"></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/a785c617619f986deb164354ac8db0af4fd41eda/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak-img.shonenjumpplus.com%2Fpublic%2Fseries-thumbnail%2F17106567262291071385-0a62b0b69cc4c3039b89fc4004f8f9d7%3F1741136630);"></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/5820a091436e627c0bc1299e04cbbd685e341266/height=288;version=1;width=512/https%3A%2F%2Fwww.shochiku-tokyu.co.jp%2Fcommon%2Fimages%2Fhead%2Fogp.png%3Fver%3D1);"></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/46934e0d0d508f46580040955254d0b7d1eb288d/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak-img.shonenjumpplus.com%2Fpublic%2Fseries-thumbnail%2F17106567254627040784-3671080e46f869adc94e7de7d207f4fe%3F1742975173);"></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> <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%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E4%B8%80%E8%88%AC%EF%BC%89" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/15c3a8fe89323b428020ab173eb30514b50b075b/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Ff882db110f319c79d9f721da05a0c20ff9c869ac%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fk%252Fkoshikakeol%252F20250330%252F20250330131618.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/general/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E4%B8%80%E8%88%AC%EF%BC%89">はてなブログ(一般)</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/3cdce006c2b86ae179600bbf7b34d5e9f102663d/height=288;version=1;width=512/https%3A%2F%2Farticle-image-ix.nikkei.com%2Fhttps%253A%252F%252Fimgix-proxy.n8s.jp%252FDSXZQO6086783005032025000000-1.jpg%3Fauto%3Dformat%26bg%3DFFFF%26crop%3Dfocalpoint%26fit%3Dcrop%26h%3D630%26w%3D1200%26s%3De99e0246f669244d0da2f600305951da);"></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/a4746e529382914dbf8bba1be6a239097d60933c/height=288;version=1;width=512/https%3A%2F%2Fnordot-res.cloudinary.com%2Fc_fill%2Cw_400%2Ch_210%2Cg_faces%2Cq_auto%3Aeco%2Fch%2Fimages%2F1279409174943006723%2Forigin_1.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/e9113a88a9a847dba4dcf94d1a2fc3e4e63c047c/height=288;version=1;width=512/https%3A%2F%2Fimgopt.asahi.com%2Fogp%2FAS20250326003080_comm.jpg);"></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/177b5bb2bc80f87d5f339fd19966a5f4654645bb/height=288;version=1;width=512/https%3A%2F%2Fstatic.chunichi.co.jp%2Fimage%2Farticle%2Fsize1%2F0%2Ff%2Fb%2F7%2F0fb78eed60bd6e531f83669915922ed1_1.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/4a34e68cf6d6bb0a6cdb87860abedb400ac825e4/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F8ea9faeaf98ae37b83c66afc04a69bef9af1ce69%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FN%252FNATROM%252F20250330%252F20250330165105.png);"></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/c313017878240336c6802ae08946f37a7687cf8d/height=288;version=1;width=512/https%3A%2F%2Fcdn.mainichi.jp%2Fvol1%2F2023%2F06%2F26%2F20230626k0000m040189000p%2F0c10.jpg%3F1);"></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> <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%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E4%B8%96%E3%81%AE%E4%B8%AD%EF%BC%89" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/8c4d39f501bbd7e21233aa17e35d00658d70ee9d/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F261d15428b8ecea43e712b0cf2ddc6a3fce877a3%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fk%252Fkumakumakoara%252F20250325%252F20250325200512.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/social/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E4%B8%96%E3%81%AE%E4%B8%AD%EF%BC%89">はてなブログ(世の中)</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/47dca390809143adfeb9deba2b4d2265ceedd5e7/height=288;version=1;width=512/https%3A%2F%2Fafpbb.ismcdn.jp%2Fmwimgs%2F2%2F0%2F1000x%2Fimg_2030d6a2b52a48f55ad62273a65ecd5b98516.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/3564e2a428609d27bfe1013f86e42c03d1f1f74b/height=288;version=1;width=512/https%3A%2F%2Fassets.bwbx.io%2Fimages%2Fusers%2FiqjWHBFdfxIU%2FinZgjjRCgAro%2Fv1%2F-1x-1.jpg);"></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/5820a091436e627c0bc1299e04cbbd685e341266/height=288;version=1;width=512/https%3A%2F%2Fwww.shochiku-tokyu.co.jp%2Fcommon%2Fimages%2Fhead%2Fogp.png%3Fver%3D1);"></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/81486fb6fc372c5a04b21d3376cea4271ed2b160/height=288;version=1;width=512/https%3A%2F%2Fassets.st-note.com%2Fproduction%2Fuploads%2Fimages%2F179631211%2Frectangle_large_type_2_0098394c3711081da91ddb15c54f063e.jpeg%3Ffit%3Dbounds%26quality%3D85%26width%3D1280);"></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/33be6720a13f14a4f6e5ac44cae06daea2c5266b/height=288;version=1;width=512/https%3A%2F%2Farticle-image-ix.nikkei.com%2Fhttps%253A%252F%252Fimgix-proxy.n8s.jp%252FDSXZQO6198608031032025000000-1.jpg%3Fauto%3Dformat%26bg%3DFFFF%26crop%3Dfocalpoint%26fit%3Dcrop%26fp-x%3D0.06%26fp-y%3D0.2%26h%3D630%26w%3D1200%26s%3Da7ab7d81e0a37c75abfa2d94ab726f06);"></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/47dca390809143adfeb9deba2b4d2265ceedd5e7/height=288;version=1;width=512/https%3A%2F%2Fafpbb.ismcdn.jp%2Fmwimgs%2F2%2F0%2F1000x%2Fimg_2030d6a2b52a48f55ad62273a65ecd5b98516.jpg);"></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/14657cd563501a83c6f4bd86693c2bdf73e1efa5/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F3b1a7926132ba393b609516b53b6262a39f6ba0c%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Ft%252Ftt-suzukiit%252F20250327%252F20250327202924.jpg);"></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/c10bf56bbc38ebddd01b8779746c6cf5971af4fa/height=288;version=1;width=512/https%3A%2F%2Fautomaton-media.com%2Fwp-content%2Fuploads%2F2025%2F03%2Fswords-and-slippers-20250328-333156-header.jpg);"></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/a94a01e717f3286aa32ea00edc481782e77b6474/height=288;version=1;width=512/https%3A%2F%2Flidea.today%2Farticles%2Fuploads%2F003999_01_TOP.jpg);"></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/b62d55e313a39ca9574a3358b71d0a37504be84c/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F427486c0f3cd011272bf2d5de97ddff4-1200x630.jpeg);"></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/f7568bebf7e3f211176cfdd6763ccf4df2a01822/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2Fa26a53f2715e7f7e6649f90014b78de8-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/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/%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/a785c617619f986deb164354ac8db0af4fd41eda/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak-img.shonenjumpplus.com%2Fpublic%2Fseries-thumbnail%2F17106567262291071385-0a62b0b69cc4c3039b89fc4004f8f9d7%3F1741136630);"></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/9ffc4e2c9e49645993ed2ab41e2d9a1a6fc438a8/height=288;version=1;width=512/https%3A%2F%2Fwww3.nhk.or.jp%2Fnews%2Fhtml%2F20250331%2FK10014765981_2503311841_0331184217_01_02.jpg);"></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/61c211e11fc7b47c05e53eaaa617199773a30d41/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F962598d221a7e98e11395042e0e37c4154bdbd80%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fs%252Fsoredoko%252F20250326%252F20250326210201.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/a94a01e717f3286aa32ea00edc481782e77b6474/height=288;version=1;width=512/https%3A%2F%2Flidea.today%2Farticles%2Fuploads%2F003999_01_TOP.jpg);"></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/c7df294f52cd0d4047736f82a59b839b7f282976/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F6d29ac72980bfdae0330d8aa5b9f4059-1200x630.jpeg);"></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/5c6537640a51d68412dd5694e9ade06610923d58/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fae7e3db725bead77fd7d064d0f8666c5c9e35ce3%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fs%252Fsoredoko%252F20250326%252F20250326185049.png);"></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/6455583a3f50e67a63744d241b53764cb010aa64/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F127c7a9ec4fdef22dbc817defb4cc973-1200x630.jpeg);"></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/ce9f3817dec9d33213e97bd90bdd1b2d13896300/height=288;version=1;width=512/https%3A%2F%2Farticle-image-ix.nikkei.com%2Fhttps%253A%252F%252Fimgix-proxy.n8s.jp%252FDSXZQO6189343027032025000000-1.jpg%3Fauto%3Dformat%26bg%3DFFFF%26crop%3Dfocalpoint%26fit%3Dcrop%26h%3D630%26w%3D1200%26s%3Df70c27d8967de25a82d652a81d8193f8);"></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/cbba50989760665b5e8876242653fbe7a70de744/height=288;version=1;width=512/https%3A%2F%2Fapi.kai-you.net%2Fstorage%2Fimages%2Fupload_images%2F2025%2F03%2F33b0950a-339f-4a83-87d4-4bb2d43009c4%2Fjpg%2Fkakuyomunext_interview.jpg);"></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/cbba50989760665b5e8876242653fbe7a70de744/height=288;version=1;width=512/https%3A%2F%2Fapi.kai-you.net%2Fstorage%2Fimages%2Fupload_images%2F2025%2F03%2F33b0950a-339f-4a83-87d4-4bb2d43009c4%2Fjpg%2Fkakuyomunext_interview.jpg);"></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/13890fb158f21ab3760d52173cd2b1ef9bf9406c/height=288;version=1;width=512/https%3A%2F%2Fi0.wp.com%2Fecon101.jp%2Fwp-content%2Fuploads%2F2025%2F03%2F%25E3%2582%25B8%25E3%2583%25A7%25E3%2583%25BC%25E3%2582%25B8%25E4%25B8%25BB%25E7%25BE%25A9%25E3%2580%2580%25E3%2582%25B5%25E3%2583%25A0%25E3%2583%258D.webp%3Ffit%3D1170%252C780%26ssl%3D1);"></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/684bf70d4d4ff6103c45c21834fefee258a7d8d8/height=288;version=1;width=512/https%3A%2F%2Fnatgeo.nikkeibp.co.jp%2Fatcl%2Fnews%2F25%2F032700162%2Fph_thumb.jpg);"></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/013ff3f103386a2f411a25bb87558ef054c762b5/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F284767a9479e0cabca6b62753ad7404ec69f59bd%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fs%252Fsh_sakurako_ogawa%252F20250326%252F20250326133531.jpg);"></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/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/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/c7df294f52cd0d4047736f82a59b839b7f282976/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F6d29ac72980bfdae0330d8aa5b9f4059-1200x630.jpeg);"></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/346933ddd9ebe0c5d84fca0ac644127c232d1f6d/height=288;version=1;width=512/https%3A%2F%2Fwww3.nhk.or.jp%2Fnews%2Fhtml%2F20250331%2FK10014766451_2503312125_0331212907_01_02.jpg);"></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/15a0200e4e07fe1cc7d1d823a40a067a2f708e51/height=288;version=1;width=512/https%3A%2F%2Fdain.cocolog-nifty.com%2Fmyblog%2Fimages%2Fsugohon.jpg);"></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/c454f7286561948c16db638614fdd0bcdedd58d4/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Febc49c6c264f12786c8c3f7337b0f50fa2922503%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fw%252Fwlj-Friday%252F20250321%252F20250321164600.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/4459ffdddd5431a9b6161d4a339a0ebe4e86c05c/height=288;version=1;width=512/https%3A%2F%2Fwww.publickey1.jp%2F2025%2Fhyperlight-wasm-ann01.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/9daa396c1d58097f3792c579d2d9ac6e3fc5c0ef/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Ff6d6f1d725b6fc755380d13f1a8c199aa7fb0d29%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FF%252FFFRI%252F20250331%252F20250331112517.png);"></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/b97da9f1f5b033c7e8975a91fcd409400b42cc25/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F318b25166e6505dc94bc1b8677d7a966744b6870%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fy%252Fyasu_wakamenori%252F20250331%252F20250331192000.png);"></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/05a7c7189ebaf8f276d26a47546daf5c2243a909/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F954177edff6f4b5f82933da77ce9a7f4%2Fslide_0.jpg%3F34484300);"></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/d233933e3f5d1ffb397c051e20ec9dd4395169c1/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnMzLWFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20lMkZxaWl0YS1pbWFnZS1zdG9yZSUyRjAlMkYzOTU2NjI4JTJGOTMyMjc3ZThmYzI1ZjJlMjgzYTIyZDY5MDE1NTg3MTYzZDU5YzZlZSUyRnhfbGFyZ2UucG5nJTNGMTc0MzMxMjkzOD9peGxpYj1yYi00LjAuMCZhcj0xJTNBMSZmaXQ9Y3JvcCZtYXNrPWVsbGlwc2UmZm09cG5nMzImcz03N2ZkZGM4NjQ3MmQzNDk0YzYyM2ZmYjRkODgwZWM3Mg%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253Dda91113ff78ebedd8a6a6486f3a6c323%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JUUzJTgwJTkwLk5FVCVFMyU4MCU5MUh0dHBDbGllbnQlRTMlODElQUUlRTYlQUQlQTMlRTMlODElOTclRTMlODElODQlRTQlQkQlQkYlRTMlODElODQlRTYlOTYlQjkmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtcGFkPTAmcz0xZjQ3MDBkYzdkYzA2ODg2ZDc5YWZmNWMwMTVjNmUwOQ%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDB5YXJpcmkmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtcGFkPTAmcz0xZWExNmNkOWY3MzA2OWQzZjMwMjkwYzA2MmYzMjYzYQ%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3D6d0e71f5930416d9b4cf984621533859);"></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/d06154bb3c058e3e59972aad2c0535c96a3d44a4/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F12921228815717857932%2F6802418398339273382%2F1743390012);"></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/d056938686342dc0e5925e771929f575faff46c2/height=288;version=1;width=512/https%3A%2F%2Flivedoor.blogimg.jp%2Fall_nations%2Fimgs%2Fc%2Fe%2Fce04d9b1-s.jpg);"></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/9d33cc37f14f194030cd64010f036f8e3c918886/height=288;version=1;width=512/https%3A%2F%2Fi.gzn.jp%2Fimg%2F2025%2F03%2F31%2Ffigure-02-humanoid-robots-marching-naturally%2F00.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/9c5261141b8f10f1dc05ba5e38a1b1983cf94fdc/height=288;version=1;width=512/https%3A%2F%2Fstat.profile.ameba.jp%2Fprofile_images%2F20250103%2F18%2Fd4%2FCe%2Fj%2Fo09031609p_1735896519280_18ryi.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/74aeb2d29850558239343718a21524c83fd3b7c1/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2Ff70889e0d74ec48d1a8f1c9832a8e0dd-1200x630.jpeg);"></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/b9c689629fc03aad45e37de373c01fdfa33b9d4c/height=288;version=1;width=512/https%3A%2F%2Flivedoor.blogimg.jp%2Fnwknews%2Fimgs%2F1%2F6%2F163c2b05.png);"></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/15365e45cbdd9b215c9c834e94cba28db6eff290/height=288;version=1;width=512/https%3A%2F%2Fautomaton-media.com%2Fwp-content%2Fuploads%2F2025%2F03%2F20250330-333393-header.jpg);"></a> </span> <span class="issue"> <a href="/entrylist/fun/%E7%99%92%E3%82%84%E3%81%97">癒やし</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%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E3%81%8A%E3%82%82%E3%81%97%E3%82%8D%EF%BC%89" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/5c6537640a51d68412dd5694e9ade06610923d58/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fae7e3db725bead77fd7d064d0f8666c5c9e35ce3%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fs%252Fsoredoko%252F20250326%252F20250326185049.png);"></a> </span> <span class="issue"> <a href="/entrylist/fun/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E3%81%8A%E3%82%82%E3%81%97%E3%82%8D%EF%BC%89">はてなブログ(おもしろ)</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/46934e0d0d508f46580040955254d0b7d1eb288d/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak-img.shonenjumpplus.com%2Fpublic%2Fseries-thumbnail%2F17106567254627040784-3671080e46f869adc94e7de7d207f4fe%3F1742975173);"></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/2e7e31392dc82f6d19a2628bf1fd83c2e652b339/height=288;version=1;width=512/https%3A%2F%2Fi.gzn.jp%2Fimg%2F2025%2F03%2F31%2Fapple-severance-remote-desktop-edit%2F00_m.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/829b64aa123fff14eebcd9fcff13d94248737a9d/height=288;version=1;width=512/https%3A%2F%2Fnewsatcl-pctr.c.yimg.jp%2Ft%2Fiwiz-yn%2Frpr%2Ftokurikimotohiko%2F02153673%2Ftitle-1743388850187.jpeg%3Fexp%3D10800);"></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/2fcb48fab8879fd03d17e7d854140d5b36819b62/height=288;version=1;width=512/https%3A%2F%2Fcontents.oricon.co.jp%2Fupimg%2Fnews%2F2378000%2F2377020%2F20250328_181259_o_28636881.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/325e2d6cfb1f478c5e7c00cf9cb572b275402127/height=288;version=1;width=512/https%3A%2F%2Fwww3.nhk.or.jp%2Fnews%2Fhtml%2F20250331%2FK10014765861_2503311940_0331200259_01_02.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/32c9d32393629fed75b6edefa2a4db0bff103b32/height=288;version=1;width=512/https%3A%2F%2Fwww3.nhk.or.jp%2Fnews%2Fhtml%2F20250331%2FK10014765991_2503311557_0331163532_01_02.jpg);"></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/d0bc7755dee4e06bfad4f7be4f616dd84791bf7d/height=288;version=1;width=512/https%3A%2F%2Fnordot-res.cloudinary.com%2Fc_fill%2Cw_400%2Ch_210%2Cg_faces%2Cq_auto%3Aeco%2Fch%2Fimages%2F1276519682783641700%2Forigin_1.jpg);"></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/297dde83dffc571fde88b3f4e352ee75a0e10382/height=288;version=1;width=512/https%3A%2F%2Fwww.fighters.co.jp%2Fmedia%2Fsites%2F2%2Fasset%2Fcmn%2Fimages%2Fnews%2Ficon%2Fogp.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> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/entertainment/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E3%82%A8%E3%83%B3%E3%82%BF%E3%83%A1%EF%BC%89" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/a91f2e01bef7c4171c309b50e2e196936ae7c5a6/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F10328537792368926462%2F6802418398337104034%2F1743344081);"></a> </span> <span class="issue"> <a href="/entrylist/entertainment/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E3%82%A8%E3%83%B3%E3%82%BF%E3%83%A1%EF%BC%89">はてなブログ(エンタメ)</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/5a9bf4c0287cd327006a22d93abf59a5d46f1b99/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak-img.shonenjumpplus.com%2Fpublic%2Fseries-thumbnail%2F17106567262865789116-caa274353909c12cd301546e97b37898%3F1742976746);"></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/5a9bf4c0287cd327006a22d93abf59a5d46f1b99/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak-img.shonenjumpplus.com%2Fpublic%2Fseries-thumbnail%2F17106567262865789116-caa274353909c12cd301546e97b37898%3F1742976746);"></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/169f2a6675aa855320002accb1c66e7d1cb5d17b/height=288;version=1;width=512/https%3A%2F%2Fautomaton-media.com%2Fwp-content%2Fuploads%2F2025%2F03%2Fpalworld-20250331-333514-header.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/98205d3126a3454d03d1a405e9f27e44d4236380/height=288;version=1;width=512/https%3A%2F%2Fautomaton-media.com%2Fwp-content%2Fuploads%2F2025%2F03%2Frhythm-heaven-groove-20250328-333247-header.jpg);"></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/fa7f43c16fccbdb5c8b703d47b32d809ac7304e1/height=288;version=1;width=512/https%3A%2F%2Fav.watch.impress.co.jp%2Fimg%2Favw%2Flist%2F2001%2F814%2Ftitle.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/134fc0d83fc48ae0b1bfc3995a1c271fe199bdf6/height=288;version=1;width=512/https%3A%2F%2Ffebri.jp%2Fwp%2Fwp-content%2Fuploads%2F2025%2F03%2Fam4_1.jpg);"></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/2f4d55a9d0e5babcf36013e92ea8b61505254e7a/height=288;version=1;width=512/https%3A%2F%2Fassets.st-note.com%2Fproduction%2Fuploads%2Fimages%2F181628221%2Frectangle_large_type_2_00f8e8006ed4ac7266685ed9276883e6.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/0eb4ccccf720acec3ed2f2a5e40609d7af3ab978/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F80eabfd9dbc7757da9610e9716b1f1a4-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> <li class="navi-item-unit" data-gtm-click-label="global-navi-issue-item"> <span class="thumbnail"> <a href="/entrylist/game/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E3%82%A2%E3%83%8B%E3%83%A1%E3%81%A8%E3%82%B2%E3%83%BC%E3%83%A0%EF%BC%89" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/07ec1ab1e965d14a101298b894c00b798180b969/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F1734cc7217090c58bdf7a29e0fbb5b8ea66065b4%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fs%252Fsin-jack-in-a-box%252F20221203%252F20221203142750.png);"></a> </span> <span class="issue"> <a href="/entrylist/game/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E3%82%A2%E3%83%8B%E3%83%A1%E3%81%A8%E3%82%B2%E3%83%BC%E3%83%A0%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/game/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E3%82%B2%E3%83%BC%E3%83%A0%EF%BC%89" style="background-image: url(https://cdn-ak-scissors.b.st-hatena.com/image/square/07ec1ab1e965d14a101298b894c00b798180b969/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F1734cc7217090c58bdf7a29e0fbb5b8ea66065b4%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fs%252Fsin-jack-in-a-box%252F20221203%252F20221203142750.png);"></a> </span> <span class="issue"> <a href="/entrylist/game/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%88%E3%82%B2%E3%83%BC%E3%83%A0%EF%BC%89">はてなブログ(ゲーム)</a> </span> </li> </ul> </div> </div> </li> <li class="recommend"> <a href="/entrylist/all/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%93%E3%83%A5%E3%83%BC" class="navi-link-text recommend" title="おすすめ" data-gtm-click-label="global-navi-recommended"><span>おすすめ</span></a> <p class="pickup"><a href="/hotentry/all/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%93%E3%83%A5%E3%83%BC">インタビュー</a></p> </li> </ul> </div> <div class="navi-page"> <h2 class="navi-page-title">『Sweet Escape』</h2> <ul class="navi-page-mode"> <li class=""> <a href="/site/www.keisuke69.net/?sort=count" data-gtm-click-label="hotentry-button-beneath-global-navi">人気</a> </li> <li class="is-current"> <a href="/site/www.keisuke69.net/" data-gtm-click-label="entrylist-button-beneath-global-navi">新着</a> </li> <li class=""> <a href="/site/www.keisuke69.net/?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://www.keisuke69.net/entry/2025/02/04/092143"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2025/02/04/092143" title="Macのメニューバーに表示されるアイコンの表示・非表示を切り替えられるBartenderの代替ツール、『Ice』が良さげ - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4765780813857867937" data-entry-category="テクノロジー">Macのメニューバーに表示されるアイコンの表示・非表示を切り替えられるBartenderの代替ツール、『Ice』が良さげ - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2025/02/04/092143" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>57</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2025%2F02%2F04%2F092143" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2025/02/04/092143" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">小ネタです。 はじめに 長年Macでメニューバーの表示をカスタマイズするのにBartenderというユーティリティソフトを利用していた。 これはメニューに多くのアイコンが表示されるのが鬱陶しく感じる人はもちろん、メニューバー上のアイコンが忌まわしきノッチに隠されて一部表示されないという状況にイラッと来ている人たちが愛用していたツール。 だがしかし、Bartenderがある日突然買収された結果有償のソフトウェアになってしまった。 ライセンスを要求されるようになったのでBartenderをアンインストールしたのだが不便。ということで何か代替になるツールがないか探していたところIceというものを見つけたので試してみたが、今のところいい感じなので紹介してみる。 Iceって何? github.com Iceは、Macのメニューバーを好きなようにカスタマイズできるツール。Bartenderのような使い</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/8e6d8580e2c2ceb12c62cdc7a76c2c9b49cf7e4d/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fb89b07e9610ba6f74f684cec038960b61c792841%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FK%252FKeisuke69%252F20250201%252F20250201172721.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/04 09:52</li> </ul> <ul class="entrylist-contents-tags"> <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> <li><a href="/q/%E3%83%84%E3%83%BC%E3%83%AB" 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://www.keisuke69.net/entry/2025/02/04/092143"> <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://www.keisuke69.net/entry/2024/12/31/002240"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2024/12/31/002240" title="激動の2024年を振り返る。そして更なる激動の2025年に思いを馳せる - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4764160928250456768" data-entry-category="テクノロジー">激動の2024年を振り返る。そして更なる激動の2025年に思いを馳せる - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2024/12/31/002240" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>10</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2024%2F12%2F31%2F002240" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2024/12/31/002240" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">はじめに 2024年を一言で言うと 会社を一つ畳むことにした プライベートな会社は目標達成 社会課題への取り組み 色んな相談にどう対応していくか イベントとかアウトプットとか 2025年に向けて 最後に はじめに 恒例の振り返りです。今年こそは年内中にしたいと思って書いてます。 2024年を一言で言うと 『激動』 昨年の『停滞』とは一変し、エンジニアリングのキャリアからビジネスサイドへと本格的に舵を切った一年だったと言える。特に後半の始まりとなる6月にジョインしたDELTAのCOOとして新しい役割を担うことになり、これまでのソフトウェアエンジニアとしてのキャリアとは異なることに日々挑戦し続けることになったのはなかなかにエキサイティングな日々でした。昨年の振り返りの最後では事業への思いを強くしつつ文章を締めていたわけだが、結果的には2024年は事業に強くコミットする役割につくことになったので</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/a4c01b2c5ae758fb60b5e7492043ac5b5facc0eb/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F4046e95b7740fe756dabadbc1acba2ce8140ef07%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FK%252FKeisuke69%252F20241231%252F20241231001153.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">2024/12/31 11:44</li> </ul> <ul class="entrylist-contents-tags"> <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://www.keisuke69.net/entry/2024/12/31/002240"> <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://www.keisuke69.net/entry/2024/11/19/102118"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2024/11/19/102118" title="「AWS Lambda 10周年記念生誕祭」というイベントを開催しました - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4762210793495320896" data-entry-category="テクノロジー">「AWS Lambda 10周年記念生誕祭」というイベントを開催しました - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2024/11/19/102118" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>21</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2024%2F11%2F19%2F102118" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2024/11/19/102118" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">もう一週間ほど前になりますが「AWS Lambda 10周年記念生誕祭」というイベントを2024年11月13日に開催しました。知らない人のために一応お伝えするとAWS LambdaというAWSのサービスがありまして、このサービスがちょうど10年前の2014年11月13日に発表されたことからAWS Lambdaに縁のある人たちを集めてワイワイやるっていうイベントです。 serverless-newworld.connpass.com 会場はFindyさんの大崎オフィスでした。人数は約100人ほどでオンラインはなくオフラインのみです。半年くらい前に募集開始してあっという間に埋まり、当日を迎えました。久しぶりにお会いする懐かしい方、お世話になった方、一方で馴染みはなかったもののイベント趣旨に賛同して来てくれた方など多くの人に集まっていただけました。なお、残念ながらキャンセルされた方もいらっしゃっ</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/4981bc17ecd2ecf0630624db7f529ac9aea73cd4/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F62d799df3c84d80ec3619a9e16218b6c9e2567a6%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FK%252FKeisuke69%252F20241119%252F20241119102248.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">2024/11/19 10:44</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/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> <li><a href="/q/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88" 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://www.keisuke69.net/entry/2024/11/19/102118"> <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://www.keisuke69.net/entry/2024/11/06/132616"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2024/11/06/132616" title="何のために働くのか - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4761613231142367712" data-entry-category="テクノロジー">何のために働くのか - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2024/11/06/132616" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>59</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2024%2F11%2F06%2F132616" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2024/11/06/132616" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">久しぶりのポエムです。先日Xで何気なくこんな投稿をした。今回のポエムはこの投稿がきっかけだ。 自分でプロダクト作るのもいいけど、すでに多くのユーザー抱えて世の中の役に立っててイケてるプロダクトを開発してるチームの困りごとの解決を支援した方が結果的に世の中により多く貢献できるのでは?と思って今はDELTAにいる 今思えばAWSに入った時も同じような考えだった— Keisuke Nishitani (@Keisuke69) 2024年11月2日 僕はこれまでずっとソフトウェアエンジニアとして20年くらい働いてきた。ソフトウェアエンジニアと言っているがインフラ領域をやっていた期間もキャリア初期に多少ある。クラウドではなくオンプレだ。2000年代後半はとあるクラウドサービスを作る側にいて、利用者としてクラウドを使うようになった2011年以降はサーバーサイドの開発でクラウドインフラの構築を包含するよ</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/65114eeb705a190e9fe4c7307a820ea90ad05a73/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F44033a1a0a29a483239724c7c1eec026b511745b%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FK%252FKeisuke69%252F20241103%252F20241103105448.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">2024/11/06 13:33</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/%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/%E7%94%9F%E6%B4%BB" 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://www.keisuke69.net/entry/2024/11/06/132616"> <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://www.keisuke69.net/entry/2024/07/07/141449"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2024/07/07/141449" title="コードの海からビジネスの大陸へ。COOに挑戦します。 - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4755955668225583616" data-entry-category="テクノロジー">コードの海からビジネスの大陸へ。COOに挑戦します。 - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2024/07/07/141449" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>33</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2024%2F07%2F07%2F141449" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2024/07/07/141449" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">Xなどではすでにお話ししていますが、2024年6月17日から株式会社DELTAという会社のCOO(最高執行責任者)を務めています。 今日から株式会社DELTAでCOOをやることになりました。 CTOじゃなくてCOOです。 なお、これまでの株式会社Singular Perturbations (犯罪予測のほう)のCTOも引き続きやります! pic.twitter.com/BmuGwhC6Az— Keisuke Nishitani (@Keisuke69) 2024年6月17日 この投稿では会社のロゴ画像のみ投稿したのでティザー広告みたいで何をするのかさっぱりわからないってお声をたくさんいただいたので簡単に紹介しておきます。でも本題はそこじゃないです。 今回はなぜ僕がこういう選択をしたのかという話です。 DELTAって? 何をやるのか なんでやるのか 経緯 不安はなかったのか 最後に DELT</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/89bd36eb3d270825cac339c69049c1829ac0bd35/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F12921228815714502489%2F6801883189120020129%2F1720402412');" 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/07 14:19</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/%E3%82%AD%E3%83%A3%E3%83%AA%E3%82%A2" 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/business" rel="tag" data-gtm-click-label="entry-info-tag">business</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://www.keisuke69.net/entry/2024/07/07/141449"> <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://www.keisuke69.net/entry/2024/02/05/110018"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2024/02/05/110018" title="【天下一武道会裏話】3500人を集めるためにやったこと - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4748852727423985184" data-entry-category="テクノロジー">【天下一武道会裏話】3500人を集めるためにやったこと - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2024/02/05/110018" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>36</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2024%2F02%2F05%2F110018" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2024/02/05/110018" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">はじめに まず、大事なこと イベント開催告知まで 開催告知初日 2日目 3日目以降 企画に関して 認知に関して 最後に 本記事の内容を以下のイベントで話します。YouTube Liveでオンラインです。 【天下一武道会裏話】3000人集客のためにやったことなど話します - connpass はじめに 去る2024年2月1日に『第1回 AWSコスト削減天下一武道会』という勉強会を開催しました。 このイベントはわたくし、西谷が個人で企画して運営したイベントですが最終的な申し込み数は3692人とかなりの規模になります。 これがどのくらいの数かと言うと昨年Connpassで募集されたイベントで1番のものが日本ディープラーニング協会主催のイベントでちょうどGPT4が発表されて大注目を浴びたタイミングで開催されたものであり、4900人以上とすごい数になっています。さすがにこれには及ばず、2番目に多かっ</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/b2f2a8b64c867ec240d89756044b873c6025ce07/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F466c6eff2cd6628f10c27c2f86fd8bbf7cc8dbda%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FK%252FKeisuke69%252F20160527%252F20160527212602.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">2024/02/05 11:15</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/aws" rel="tag" data-gtm-click-label="entry-info-tag">aws</a></li> <li><a href="/q/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88" 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%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://www.keisuke69.net/entry/2024/02/05/110018"> <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://www.keisuke69.net/entry/2024/02/02/095416"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2024/02/02/095416" title="第1回AWSコスト削減天下一武道会を終えて - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4748711209253694432" data-entry-category="テクノロジー">第1回AWSコスト削減天下一武道会を終えて - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2024/02/02/095416" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>70</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2024%2F02%2F02%2F095416" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2024/02/02/095416" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">昨日、2024年2月1日に自身が企画・運営をした『第一回AWSコスト削減天下一武道会』というイベントを終えました。申し込み人数としては最終的には3692人の人がConnpass上で申し込んでくれました。 この数は個人が企画して開催するIT関連の勉強会としては類を見ない規模だったのではないかと自負しております。 もちろんテーマとか色んな条件が重なってのこの数字ではありますが、集客のために意図的にやったことなどもありました。それらが予想以上の効果を出したわけですがその辺の話に興味のある方も多そうだったのでこちらについては別途イベントを開催して話すことにしました。 no1.connpass.com こちらは2月5日の12時からオンラインのみで開催します。 イベントの振り返りですがまずは素晴らしい発表をしていただいた登壇者の方々にお礼を言いたいです。ありがとうございます。 発表内容もさることながら</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/c11306459bbfaf589750e4d70b135e1529565a3d/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F49e7fbc3dbc80916b6c770f0ed862b4631f70eb4%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FK%252FKeisuke69%252F20240202%252F20240202084125.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/02/02 10:01</li> </ul> <ul class="entrylist-contents-tags"> <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> <li><a href="/q/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88" 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://www.keisuke69.net/entry/2024/02/02/095416"> <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://www.keisuke69.net/entry/2024/01/11/084118"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2024/01/11/084118" title="今さらながら2023年の振り返りと2024年の展望。CTOとは。 - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4747689186117776687" data-entry-category="テクノロジー">今さらながら2023年の振り返りと2024年の展望。CTOとは。 - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2024/01/11/084118" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>7</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2024%2F01%2F11%2F084118" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2024/01/11/084118" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">はじめに すでに2024年も10日目が過ぎて、もちろん仕事始めもしているのですが昨年中に間に合わなかった振り返りとかをしていこうかなと思います。 前提 自分は株式会社Singular Perturbations(以下SP)というスタートアップで取締役CTOをしている。この会社は『犯罪予測』というテクノロジーを研究開発し、それをもとにしたソリューションをプロダクトとして提供している。 また、これとは別に妻と一緒に会社をやっている。とはいえ自分はこの会社のオーナーではあるが代表取締役社長は妻となっている。自分は役員ですらない。 2023年を一言で言うと 『停滞』の一言につきる。といってもこれはあくまでもエンジニアとしての停滞という意味。 どういうことかというと2023年はプロダクトの開発ということ自体をあまりしなかったのもあるし、仕事としてソフトウェアエンジニアリングの観点で新しいこともあまり</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/5100b44a5894169237f631e41af86453ff6cd28a/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fa957ff111585971d0b1eb915096f86d8f599fbdf%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FK%252FKeisuke69%252F20240111%252F20240111080810.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">2024/01/11 09:14</li> </ul> <ul class="entrylist-contents-tags"> <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://www.keisuke69.net/entry/2024/01/11/084118"> <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://www.keisuke69.net/entry/2023/12/29/102242"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2023/12/29/102242" title="2023年に読んで良かった技術書など10冊 - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4747089694885058639" data-entry-category="テクノロジー">2023年に読んで良かった技術書など10冊 - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2023/12/29/102242" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>192</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2023%2F12%2F29%2F102242" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2023/12/29/102242" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">昨年までは毎月買った本やマンガとそれらに対する一言コメントをブログで書いていたんだけど今年はそれをやらずに来てしまったので今年かった本で良かったものをいくつかピックアップして紹介する。 実際にはもっと数多く買ってるし、買っただけで読んでいないものも多い。2023年に買った本はマンガも合わせて合計で366冊、そのうちマンガ以外は151冊だった。 なお、対象は自分で買った書籍だけ。つまり献本とかでいただいたものはこの対象に加えていません。 ちなみにいずれの本もすべて電子書籍で購入している。全体ではAmazonのKindleを中心に一部オライリーのeBookなんだけど、選んだものはすべてKindleで買ったものだった。 というわけで紹介していく。 AWSで実現するモダンアプリケーション入門 〜サーバーレス、コンテナ、マイクロサービスで何ができるのか フロントエンド開発のためのセキュリティ入門 知</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/562bf995933c6c931d31af0549cd745850366a9d/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fc2e237ad2f79dd92f19edb815d1d9aacc5724727%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fm.media-amazon.com%252Fimages%252FI%252F51S8OfNx5IL._SL500_.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">2023/12/29 11:03</li> </ul> <ul class="entrylist-contents-tags"> <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%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/%E6%9C%AC" rel="tag" data-gtm-click-label="entry-info-tag">本</a></li> <li><a href="/q/%E6%9B%B8%E7%B1%8D" rel="tag" data-gtm-click-label="entry-info-tag">書籍</a></li> <li><a href="/q/%E3%83%86%E3%82%B9%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> <li><a href="/q/%E3%83%9E%E3%83%B3%E3%82%AC" 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://www.keisuke69.net/entry/2023/12/29/102242"> <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://www.keisuke69.net/entry/2023/06/23/162905"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2023/06/23/162905" title="無事に『俺たちの本当にやりたかったDevDay』を開催した - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4738334690339307013" data-entry-category="学び">無事に『俺たちの本当にやりたかったDevDay』を開催した - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2023/06/23/162905" 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/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2023%2F06%2F23%2F162905" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2023/06/23/162905" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">はじめに 6月21日(水)に『俺たちの本当にやりたかったDevDay(俺たちのDevDay)』を無事に開催できたので記録がてら簡単に振り返っていきます。読み物なので長いです。 このイベントが行われることになった経緯とかはこちら。 俺んとこ 来ないか?『俺たちの本当にやりたかったDevDay』を開催することにした - Sweet Escape 当日まで 当日までのあれこれを時系列で。 まず、このイベントをやるって決めて会場も決まってない状態でConnpassでイベント作って公開したのが4月24日。ちなみにこの会場決まってない状態でイベント作ったことが後々面倒なことになるのだけどそれは後ほど。ありがたいことに翌日にはクラスメソッド株式会社さんに会場提供いただけることが決まった。 その後、本家のCFP結果が決まるまで特に進展はなく5月1日に本家のCFPの結果が発表されたので早速俺たちのDevDa</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/d6ca478889ac3c90117012123c9c0ad37231e142/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F0fbad526f2b04a350d6dc4f790fbe389698a83ed%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FK%252FKeisuke69%252F20190405%252F20190405150551.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/knowledge" data-gtm-click-label="entry-info-category">学び</a> </li> <li class="entrylist-contents-date">2023/06/23 17:12</li> </ul> <ul class="entrylist-contents-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.keisuke69.net/entry/2023/06/23/162905"> <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://www.keisuke69.net/entry/2023/04/27/112300"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2023/04/27/112300" title="俺んとこ 来ないか?『俺たちの本当にやりたかったDevDay』を開催することにした - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4735679545618227013" data-entry-category="テクノロジー">俺んとこ 来ないか?『俺たちの本当にやりたかったDevDay』を開催することにした - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2023/04/27/112300" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>18</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2023%2F04%2F27%2F112300" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2023/04/27/112300" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">というわけでやります。 connpass.com まだ詳細は決まってないけど良かったら来てね。 今回はこのイベントにまつわる話です。ダラダラと書いたので長いです。 はじめに 2023年の6月21日から22日にAWSの開発者向けイベントであるAWS DevDayが開催される。このAWS DevDayではCall for Proposal(CFP)という形でセッションが公募されている。 細かいルールとかはこちらを見ていただくとして、採択されるかどうかには一般の人からのリアクションの数も参考にするという。 さて、転職してからはめっぽう外部で登壇するってことは減っている。 これは今の僕は有限である時間の割り当て先としてそういった活動ではなくプロダクト開発に直接的に関係することにあてたいからだ。 とはいいつつもたまにはそういうこともして世の中にアピールしておかないとなってことで僕もCFPを出した。以</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">2023/04/27 11:25</li> </ul> <ul class="entrylist-contents-tags"> <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://www.keisuke69.net/entry/2023/04/27/112300"> <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://www.keisuke69.net/entry/2022/12/29/135620"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/12/29/135620" title="熱量を失ったサーバーレスという世界(個人の所感) - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4730164611983166276" data-entry-category="テクノロジー">熱量を失ったサーバーレスという世界(個人の所感) - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/12/29/135620" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>525</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F12%2F29%2F135620" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/12/29/135620" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">はじめに 先日、エンジニア界隈では有名なポッドキャストであるfukabori.fmに出させていただきまして、そのときのトピックがサーバーレスでした。 ポッドキャストはこちらで聞けますのでぜひどうぞ。 fukabori.fm そこでもいろいろお話ししたのですが改めて話せなかったことなども含めて書こうかなと。つまり、ポエムです。散らかった文章な上に少し長めなのでお時間のある方だけどうぞ。 なお、サーバーレスの黎明期の話とかそういう思い出話は以前に書いたこちらの投稿があります。 サーバーレスと僕のこれまでとこれから - Sweet Escape 今回は思い出話ではなく、サーバーレスに個人として魅力を感じ、仕事としてその良さを広めたり、実装のお手伝いをし続けてきた自分がそういった仕事から離れた2022年現在どういう風に向き合ってるかについてのポエムです。 前提 現在の自分は株式会社Singular</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/3b54ebd09a2f45c935e20175527c51f9235d398e/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F75647906108100286852fab6e17ce42db940eb63%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FK%252FKeisuke69%252F20220119%252F20220119144448.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/12/29 13:59</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/serverless" rel="tag" data-gtm-click-label="entry-info-tag">serverless</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/aws" rel="tag" data-gtm-click-label="entry-info-tag">aws</a></li> <li><a href="/q/%E3%82%B5%E3%83%BC%E3%83%90" rel="tag" data-gtm-click-label="entry-info-tag">サーバ</a></li> <li><a href="/q/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%83%AC%E3%82%B9" rel="tag" data-gtm-click-label="entry-info-tag">サーバーレス</a></li> <li><a href="/q/cloud" rel="tag" data-gtm-click-label="entry-info-tag">cloud</a></li> <li><a href="/q/FaaS" rel="tag" data-gtm-click-label="entry-info-tag">FaaS</a></li> <li><a href="/q/Firebase" rel="tag" data-gtm-click-label="entry-info-tag">Firebase</a></li> <li><a href="/q/Lambda" rel="tag" data-gtm-click-label="entry-info-tag">Lambda</a></li> <li><a href="/q/google" rel="tag" data-gtm-click-label="entry-info-tag">google</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.keisuke69.net/entry/2022/12/29/135620"> <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://www.keisuke69.net/entry/2022/12/20/130356"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/12/20/130356" title="【SQL】月別で集計するときに値がない月は0と表示したい - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4729749081725539108" data-entry-category="テクノロジー">【SQL】月別で集計するときに値がない月は0と表示したい - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/12/20/130356" 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/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F12%2F20%2F130356" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/12/20/130356" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">SQLに関するメモ。前提としてPostgreSQLを使っています。 以下のようなTimestamp型で日時の情報を持つテーブルがあるとする。 id: integer timestamp: timestamp with time zone 1 2022-01-01 00:00:00+00 2 2022-02-01 00:00:00+00 3 2022-10-01 00:00:00+00 4 2022-10-01 00:00:00+00 5 2022-12-01 00:00:00+00 で、月ごとの件数を集計をしたい場合、何も考えずにこんなSQLを書く。 SELECT to_char(timestamp, 'YYYYMM') AS MONTH, count(id) FROM table1 GROUP BY MONTH ORDER BY MONTH; そうすると得られるのはこんな結果。 mont</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.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/12/20 14:59</li> </ul> <ul class="entrylist-contents-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.keisuke69.net/entry/2022/12/20/130356"> <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://www.keisuke69.net/entry/2022/11/10/173921"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/11/10/173921" title="我が家の板壁化計画 - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4727900002724741284" data-entry-category="学び">我が家の板壁化計画 - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/11/10/173921" 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/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F11%2F10%2F173921" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/11/10/173921" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">はじめに 近頃Zoomとかで話をするときに背景について聞かれることが増えてきたので過去に別ブログに書いた記事をアップデートしつつこちらのブログに持ってきました。背景と言ってもバーチャル背景ではなくリアル背景なのですが、その話です。 時期的には2020年くらいの話です。 我が家っていうか自室です。もともと7畳ほどの部屋を自室として使っていたのですが、まあなんの変哲もない部屋だったんですね。普通に白い壁紙が貼られてる感じのよくある普通の部屋です。 リビングは一部の壁面をエコカラットにしていてとてもいい感じなんですが。 なので以前から部屋の雰囲気を変えたいなーと思っていたわけです。そんな中で新型コロナウィルスが流行してリモート会議・ビデオ会議が多くなってきてました。Zoomのようにバーチャル背景がある場合はいいんですが、当時在籍していた会社ではその機能がないミーティングツールを使うことが多かった</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/b477a4fc7e86f06c15a799e1a5232e9ba0c5d592/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2FK%2FKeisuke69%2F20200902%2F20200902233522.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/knowledge" data-gtm-click-label="entry-info-category">学び</a> </li> <li class="entrylist-contents-date">2022/11/10 18:16</li> </ul> <ul class="entrylist-contents-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.keisuke69.net/entry/2022/11/10/173921"> <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://www.keisuke69.net/entry/2022/11/10/124450"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/11/10/124450" title="AWS DevDay Japan 2022 に「脱Firebase. 我々はどう生きるか 」というタイトルで登壇してきた - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4727889541252542308" data-entry-category="テクノロジー">AWS DevDay Japan 2022 に「脱Firebase. 我々はどう生きるか 」というタイトルで登壇してきた - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/11/10/124450" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>6</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F11%2F10%2F124450" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/11/10/124450" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">このブログはクラメソの方がこういうの書いていたので試しに書いてみた感じです。 AWS DevDay Japan 2022 に「AWS CDKでECS on FargateのCI/CDを実現する際の理想と現実 」というタイトルで登壇しました #AWSDevDay | DevelopersIO 資料 speakerdeck.com 発表理由とか AWSのDevDayはCFPを募集していることから応募した結果、無事に採択されて昨年に引き続きセッションをする機会をいただきました。実は2個出したんだけどもう一方はダメでした。 FirebaseのCloud FirestoreをやめてAWS上で構築したAPIへ移行するという話なんですが実は以前にも検討段階でこのブログで書いた内容です。今回はタイミング的に実際に移行した後ということで前回のブログの内容をアップデートするような内容となっています。 以前のブ</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/2c27ca3e9ab140bf4fb9d28a11596afca0ad5d00/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2FK%2FKeisuke69%2F20221109%2F20221109134814.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/11/10 12:52</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/Firebase" rel="tag" data-gtm-click-label="entry-info-tag">Firebase</a></li> <li><a href="/q/AWS" rel="tag" data-gtm-click-label="entry-info-tag">AWS</a></li> <li><a href="/q/API" rel="tag" data-gtm-click-label="entry-info-tag">API</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.keisuke69.net/entry/2022/11/10/124450"> <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://www.keisuke69.net/entry/2022/10/25/100315"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/10/25/100315" title="Nest.jsで認可処理を実装したい - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4727169864736935331" data-entry-category="テクノロジー">Nest.jsで認可処理を実装したい - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/10/25/100315" 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/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F10%2F25%2F100315" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/10/25/100315" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">今作ってるAPIでは初めてNest.jsを使ってるんだけど、認可処理をどうしようかと考えたのでそのメモ。 ちなみにこの投稿では簡単な定義として認証(Authentication)とは利用者の本人確認、つまり通信の相手が誰であるかの確認とする。一方、認可(Authorization)とは利用者がシステム内、サービス内で実行できる操作の権限とする。 前提 TypeScript Nest.js Prisma Firebase Authentication 認証自体はFirebase Authenticationを使っているので、認可をどうするかが話の主眼。 なお、前提として認証はクライアントサイドでFirebase Authenticationが認証時に発行するJWTのトークンを取得してAuthorizationヘッダにBearerトークンとして渡すよくあるやつで対応しますが、ここに関しては本投</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">2022/10/26 00:30</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/techfeed" rel="tag" data-gtm-click-label="entry-info-tag">techfeed</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/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://www.keisuke69.net/entry/2022/10/25/100315"> <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://www.keisuke69.net/entry/2022/10/07/084131"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/10/07/084131" title="令和時代のページネーションを考える (REST API編) - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4726304520704607971" data-entry-category="テクノロジー">令和時代のページネーションを考える (REST API編) - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/10/07/084131" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>275</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F10%2F07%2F084131" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/10/07/084131" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">今回はバックエンドAPIでページネーションをどうやるかについての話なので、よくある無限スクロールUIのようなフロントエンド側の実装に関する話はしない。あくまでもAPI、もっと言えばRESTfulなAPIのリクエスト・レスポンスにおけるページネーションの話。 本気で深く考えるというよりざっくり検討したときの話です。 はじめに REST APIを実装するにあたってリスト系のAPIを提供する場合に必須といっても過言ではないのがページネーション。大量のリソースをレスポンスする場合にそれらを一気に返してしまうことは応答速度、転送量、クライアントサイドでの扱いづらさなどなどに繋がるので必須と言える。 最近、新たなAPIを開発するにあたってページネーションをする必要があったこともあり、今回はこのページネーションをどうやって提供するか整理して改めて検討してみた。 前提 TypeScript Nest.js</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/8db4a6992df689e4a979997e4d0bb2e8022a5647/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F3fa144ad46415ab57b0bcc783969568466133c30%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FK%252FKeisuke69%252F20191206%252F20191206115213.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/10/07 08:46</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/api" rel="tag" data-gtm-click-label="entry-info-tag">api</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/REST" rel="tag" data-gtm-click-label="entry-info-tag">REST</a></li> <li><a href="/q/%E8%A8%AD%E8%A8%88" rel="tag" data-gtm-click-label="entry-info-tag">設計</a></li> <li><a href="/q/ui" rel="tag" data-gtm-click-label="entry-info-tag">ui</a></li> <li><a href="/q/programming" rel="tag" data-gtm-click-label="entry-info-tag">programming</a></li> <li><a href="/q/%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%8D%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3" rel="tag" data-gtm-click-label="entry-info-tag">ページネーション</a></li> <li><a href="/q/webdesign" rel="tag" data-gtm-click-label="entry-info-tag">webdesign</a></li> <li><a href="/q/pagination" rel="tag" data-gtm-click-label="entry-info-tag">pagination</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> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.keisuke69.net/entry/2022/10/07/084131"> <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://www.keisuke69.net/entry/2022/08/17/143620"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/08/17/143620" title="既存のデータベースでPrisma migrateする。しかもPostGISを使う - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4723954143270719362" data-entry-category="テクノロジー">既存のデータベースでPrisma migrateする。しかもPostGISを使う - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/08/17/143620" 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/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F08%2F17%2F143620" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/08/17/143620" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">既存のデータベースをPrismaでマイグレーションできるようにしたくなった。理由はいろいろあるがやはりローカル環境 → 開発環境 → ステージング環境 → 本番環境へとDBの定義を反映していくのが手作業はさすがにないなと思えてきたからだ。もちろん実際には毎回SQLを直接手で入力なんてことはないだろうけど。 あとは他の人が開発するのにDBのセットアップをする際にも楽だ。 というわけで導入しようとしたのだがそれなりに悩んだりしたのでメモを残しておく。 前提 すでに存在しているDBをPrismaのmigrationツール管理下におく これまでは直接DBにDDL文を実行して定義などしていた DBの定義はprisma db pullを実行してsyncしていた やっていく まずは既存のDBの定義とPrismaのモデルを同期します。普段からやってるものの念の為。 prisma db pull 同期したら</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/0fc6152574b3d991599100d241ea5a4aaa4c760a/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Ff7675cad2e068781cd1363e68335f34bffe7e73f%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn.blog.st-hatena.com%252Fimages%252Ftheme%252Fog-image-1500.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/08/17 16:41</li> </ul> <ul class="entrylist-contents-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.keisuke69.net/entry/2022/08/17/143620"> <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://www.keisuke69.net/entry/2022/08/02/121829"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/08/02/121829" title="脱Firestoreするために考えていること(追記あり) - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4723249955599146082" data-entry-category="テクノロジー">脱Firestoreするために考えていること(追記あり) - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/08/02/121829" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>61</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F08%2F02%2F121829" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/08/02/121829" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">FirebaseのFirestoreをやめることにしたので雑なメモを残しておく。なお、まだ走り始めたばかりなので、内容には間違いや考慮不足も多数含まれる可能性があるので読む人はその点注意を。あと、あくまでも雑なメモなので細かいところは書いていない。 なぜ脱Firestoreするのか? なぜGraphQLではなくREST APIなのか? 移行にあたって検討したこと、決め事 ドキュメントIDをどう扱うか サブコレクションをどう扱うか 配列やマップといったフィールドのタイプをどう扱うか 追記: Mapの配列をどうするか Firebase Authenticationとセキュリティルールで実現しているセキュリティ機能をどうするか では実際にどんなテーブル設計にするのか 次にやること なぜ脱Firestoreするのか? まず、脱Firestoreする理由は ユースケースとしてFirestoreでは対</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/6185114080124e19c7f9df42a83975ba28b57a85/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2FK%2FKeisuke69%2F20170226%2F20170226190251.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/08/02 12:20</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/GraphQL" rel="tag" data-gtm-click-label="entry-info-tag">GraphQL</a></li> <li><a href="/q/Firebase" rel="tag" data-gtm-click-label="entry-info-tag">Firebase</a></li> <li><a href="/q/firestore" rel="tag" data-gtm-click-label="entry-info-tag">firestore</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://www.keisuke69.net/entry/2022/08/02/121829"> <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://www.keisuke69.net/entry/2022/08/01/140656"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/08/01/140656" title="一意な識別子の生成でUUID/ULID/CUID/Nano IDなど検討してみた - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4723213985765273378" data-entry-category="テクノロジー">一意な識別子の生成でUUID/ULID/CUID/Nano IDなど検討してみた - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/08/01/140656" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>155</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F08%2F01%2F140656" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/08/01/140656" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">最近、一意な識別子について検討することがあったのでその検討メモ。 一意な識別子とは つまり、重複しない、ユニークな識別子(Identifier, 以下id)のこと。ここではRDBのテーブルにおける主キーとして使うことを想定かつ前提としている。したがって、主キーの要件であるユニーク性を持ったidをどうやって生成していくか。 そんなのDBの連番でいいじゃんて話もあるがここではその話はせず、あくまでも一意な識別子をどう生成するかの話に絞る。 選択肢 一番有名だと思われるUUIDを筆頭にいくつかの選択肢がある。 UUID ULID CUID Nano ID 他にもTwitter発のSnowflakeとか今はDeprecatedになってるshortidなどがあるが、キリがないのでここでは上記の4種類だけで簡単に比較した。また、実際にはUUIDはバージョンによってSpecが異なるがここではバージョン4</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/d32dfae38b743e1a5f02a9ba600cc848146d6e75/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2FK%2FKeisuke69%2F20220801%2F20220801141023.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/08/01 17:43</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/uuid" rel="tag" data-gtm-click-label="entry-info-tag">uuid</a></li> <li><a href="/q/id" rel="tag" data-gtm-click-label="entry-info-tag">id</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%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0" rel="tag" data-gtm-click-label="entry-info-tag">アルゴリズム</a></li> <li><a href="/q/%E8%A8%AD%E8%A8%88" rel="tag" data-gtm-click-label="entry-info-tag">設計</a></li> <li><a href="/q/algorithm" rel="tag" data-gtm-click-label="entry-info-tag">algorithm</a></li> <li><a href="/q/programming" rel="tag" data-gtm-click-label="entry-info-tag">programming</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> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.keisuke69.net/entry/2022/08/01/140656"> <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-social 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://www.keisuke69.net/entry/2022/04/30/221529"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/04/30/221529" title="DAHON K3 のタイヤをビッグアップルに交換した - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4718927205051404514" data-entry-category="世の中">DAHON K3 のタイヤをビッグアップルに交換した - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/04/30/221529" 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/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F04%2F30%2F221529" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/04/30/221529" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">先月買ったDAHON K3ネタです。 DAHON ダホン K3 14インチ (KAA433) 折りたたみ自転車 3段変速 アルミフレーム ミニベロ 軽量 コンパクト 小径車 通勤 通学 サイクリング (ホワイト×ブラック) [並行輸入品] ノーブランド品 Amazon 今回はDAHON K3としてはド定番のカスタムです。標準タイヤからシュワルベのビッグアップル14インチに変更するというものですね。 シュワルベ BIG APPLE ビッグアップル 14×2.00 ワイヤービード ブラック リフレックス [並行輸入品] SCHWALBE Amazon やるかやらないか悩んでいたものの標準タイヤで1ヶ月ほど過ごしてみて10kmぐらい移動するとやっぱり辛いなってことで交換することにしました。 いわく、乗り心地は大幅に改善し、標準でも思ったより良く走るK3がさらによく走るようになるという噂。交換しな</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/ef92640d6b20e3961baaac605256d25f7be64dfc/height=288;version=1;width=512/https%3A%2F%2Fm.media-amazon.com%2Fimages%2FI%2F41hdRAMDsQS._SL500_.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/social" data-gtm-click-label="entry-info-category">世の中</a> </li> <li class="entrylist-contents-date">2022/05/01 07:44</li> </ul> <ul class="entrylist-contents-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.keisuke69.net/entry/2022/04/30/221529"> <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 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://www.keisuke69.net/entry/2022/04/19/121310"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/04/19/121310" title="Amplify ConsoleでCORSの設定を行う - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4718436538595520866" data-entry-category="学び">Amplify ConsoleでCORSの設定を行う - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/04/19/121310" 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/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F04%2F19%2F121310" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/04/19/121310" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">AWSのAmpify ConsoleでCORSの設定が必要になったんだけど、やり方についてググっても意外とドンピシャな情報がなかったのでメモ。 結論から言うと特段それようの設定があるわけではなくベタにヘッダを指定するだけだった。これはAmplify ConsoleのカスタムヘッダでCORSで必要となる一連の設定をするだけでいい。 この設定はマネージメントコンソールからもできるし、プロジェクトのトップディレクトリ直下にcustomHeaders.ymlというファイルに記述しておくことも可能。 マネージメントコンソールからやる場合はアプリを選択してカスタムヘッダの設定画面を開けばエディタがあるのでそこに直接記述する。記述したものを後からダウンロードすることも可能。 こんな感じの内容をYAML形式で記述する。 customHeaders: - pattern: '*.json' headers:</p> <p class="entrylist-contents-thumb"> </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/04/20 17:52</li> </ul> <ul class="entrylist-contents-tags"> <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://www.keisuke69.net/entry/2022/04/19/121310"> <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://www.keisuke69.net/entry/2022/04/18/113419"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/04/18/113419" title="huskyとlint-stagedでコミット前に確実にLintを実行していく - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4718388410239899714" data-entry-category="テクノロジー">huskyとlint-stagedでコミット前に確実にLintを実行していく - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/04/18/113419" 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/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F04%2F18%2F113419" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/04/18/113419" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">はじめに コミット前にlint系のチェックをしたいケースってあると思います。特にチーム開発とかの場合、全員がlintをちゃんと実行してほしいとかあるかと。そういったときのためにコミットのタイミングでlint系のコマンドを実行するための仕組みとしてhuskyとlint-stagedを組み合わせたものが定番かと思います。 新しいプロジェクトのリポジトリを作るたびにこの組み合わせのセットアップを行うのですが、毎回ググりながらやるのでいい加減に面倒になって自分用のメモを残しておきます。 huskyとlint-stagedそのものについては大雑把に説明すると、huskyがコミット前に何らかの処理を実行するためのツール、lint-stagedがGitでステージにあるファイルに対してlintを実行するためのツールです。 インストール yarn add husky lint-staged -D lint-</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/90035097d96e4f512e9cb14452741e2768e0127d/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2FK%2FKeisuke69%2F20220418%2F20220418113334.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/04/19 16:58</li> </ul> <ul class="entrylist-contents-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.keisuke69.net/entry/2022/04/18/113419"> <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://www.keisuke69.net/entry/2022/04/11/154013"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/04/11/154013" title="Amazon Cognito Identity Poolの外部プロバイダとしてFirebase Authenticationを使う - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4718019392895103042" data-entry-category="テクノロジー">Amazon Cognito Identity Poolの外部プロバイダとしてFirebase Authenticationを使う - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/04/11/154013" 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/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F04%2F11%2F154013" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/04/11/154013" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">はじめに AWSには認証・認可のサービスとしてAmazon Cognitoというものが存在します。ややこしいのですが、認証のためのコンポーネントがAmazon Cognito user pools(以下、user pool)で認可のためのコンポーネントがAmazon Cognito identity pools (以下、identity pool)です。ちなみにidentity poolのほうはfederated identityと表記されている場合もあります。 そのうち、今回はidentity poolの話です。 identity poolは認証機構は持たず、大雑把にいうと任意のログインプロバイダで認証されたユーザに対してIAMロールが設定されたidを紐付けた上でテンポラリのAWSクレデンシャルを提供するといったサービスです。 この任意のログインプロバイダとしてFacebook、Twit</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/7e461242d28d8dfa9f34c4a76e17b31146aa382f/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2FK%2FKeisuke69%2F20220411%2F20220411153224.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/04/11 18:02</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/%E8%AA%8D%E8%A8%BC" 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/aws" rel="tag" data-gtm-click-label="entry-info-tag">aws</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.keisuke69.net/entry/2022/04/11/154013"> <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://www.keisuke69.net/entry/2022/03/30/084036"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/03/30/084036" title="プライベート時間で技術に注力する気力がなくなりつつある件 - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4717444774276376418" data-entry-category="テクノロジー">プライベート時間で技術に注力する気力がなくなりつつある件 - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/03/30/084036" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>18</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F03%2F30%2F084036" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/03/30/084036" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">久しぶりのポエムです。 最近こんなブログがバズっていてそれに関連して思うところもあったので書きます。 別にアンサーブログとかそういうのではなくて、前々からぼんやりと思ってるところがありそれがこのブログ記事によって刺激されたので吐き出すって感じ。 rabspice.hatenablog.com 自分自身も昔こういうことを書いたこともある www.keisuke69.net これを書いたときから2年も経っていて当時と今とでは置かれている環境も変わったので、まず最初に前提として自分の置かれている立場、状況について話をしておこう。 僕はいわゆるソフトウェアエンジニアに近い領域で仕事をしているエンジニアだ。と言ってもポジション的には取締役CTOだったりすることもあり、残念ながら毎日コードだけを書いて過ごせてるわけではない。 取締役とかCTOとか偉そうなポジション名であるものの、シードラウンドのスター</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/9555cbe159e892cce5c27968bfbfe95e0f03f644/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2FK%2FKeisuke69%2F20150822%2F20150822194657.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/30 08:43</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/%E5%8B%89%E5%BC%B7" 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/%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> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.keisuke69.net/entry/2022/03/30/084036"> <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://www.keisuke69.net/entry/2022/03/25/083002"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/03/25/083002" title="【超重要な追記あり】Docker Desktop for Macを使ってる人はみんな今すぐvirtiofsを使うんだ! - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4717212501790445858" data-entry-category="テクノロジー">【超重要な追記あり】Docker Desktop for Macを使ってる人はみんな今すぐvirtiofsを使うんだ! - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/03/25/083002" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>404</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F03%2F25%2F083002" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/03/25/083002" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">前提 はじめに virtiofsさっそく試す もうちょっとちゃんと計測してみる Named Volumeを試してみる まとめ 追記(超重要) 追記2 前提 特にVSCodeのRemote Containers使ってる人には耳寄りです。別に使ってなくてもMacでDocker Desktop使ってる人ならあてはまります。 あと、このポストはMacといってもM1 MaxなMacBook Proで確認したものです。なので同じMacでもIntel Macとかだと違う結果になるかもしれません。 また、ここで紹介しているものはまだExperimental(試験的)な機能なので不具合や問題を引き起こす可能性があります。なので試す方はその辺は承知の上で試してみてください。 はじめに さて、MacでDocker Desktopというと「遅い」というのがこれまでの常識。自分のように普段VSCodeのRemote</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/54237ae53cd2b1cfd6b573e6e649b874edff6b3c/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fad4fae961cc88d730e7669420a11d4802cfd2532%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FK%252FKeisuke69%252F20220324%252F20220324232912.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/25 08:33</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> <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/vscode" rel="tag" data-gtm-click-label="entry-info-tag">vscode</a></li> <li><a href="/q/programming" rel="tag" data-gtm-click-label="entry-info-tag">programming</a></li> <li><a href="/q/dev" rel="tag" data-gtm-click-label="entry-info-tag">dev</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.keisuke69.net/entry/2022/03/25/083002"> <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://www.keisuke69.net/entry/2022/03/15/000020"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/03/15/000020" title="個人的に思うAWS Amplifyのいいところ、いまいちなところ - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4717124020051154850" data-entry-category="テクノロジー">個人的に思うAWS Amplifyのいいところ、いまいちなところ - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/03/15/000020" 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/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F03%2F15%2F000020" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/03/15/000020" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">ちょっとそんな話をする機会があったのでついでにまとめておく。技術的な内容というよりはポエムに近いなぐり書きなので甘い部分は多々あると思う。 前提 大前提としてあくまでも僕個人の感覚だし、自分の置かれている状況を踏まえての話なのでフラットな比較評価ではない部分は多々あるし、異論は多いにあると思う。そしてバイアスがかなりかかった意見でもあるとは思っている。 まず、このまとめの前提となる環境は以下のような環境だ。 GraphQLを使ったプロダクトではない フロントエンドとバックエンドはそれぞれ別のエンジニアがいる フロントエンドはReact、TypeScript、Next.jsあたり、バックエンドはPythonでコンテナ。つまりLambdaとかのサーバーレスではない 一言でAWS Amplifyと言っているがこの記事で述べていることの多くはAmplify LibraryおよびAmplify CL</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">2022/03/23 10:46</li> </ul> <ul class="entrylist-contents-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.keisuke69.net/entry/2022/03/15/000020"> <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://www.keisuke69.net/entry/2022/03/10/200609"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/03/10/200609" title="古いMacBook(スペースグレイ)を高値で売りたければステッカーを貼るな - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4716539111770071106" data-entry-category="テクノロジー">古いMacBook(スペースグレイ)を高値で売りたければステッカーを貼るな - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/03/10/200609" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>166</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F03%2F10%2F200609" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/03/10/200609" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">タイトル通りです。 事の経緯はですね、2019年の7月に購入したMacBook Proをずっと使ってたんですが、2021年にM1 MaxなMacBook Proに買い替えたんです。 僕は大体2年に1回くらいのペースでそのときの1番盛り盛りにしたスペックのMacBook Pro(MBP)を買い直すというサイクルで回してます。 当時買ったMBPは初めてのスペースグレイでした。ちなみに新しいMBPもスペースグレイです。 エンジニアと言えばラップトップに好きなステッカーを貼って飾りつけるという固定観念があるので僕もいくつかペタペタ貼ってました。 で、その古いMBPをようやく誰かに売ろうと思い表に貼ってあったステッカーを剥がしたんです。 ステッカーを剥がすにはステッカー剥がしでもいいですが中性洗剤なんかがいいです。よく紹介されてますね。 そして糊が残っても除光液なんかでさって拭いてあげれば綺麗さっぱ</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/8ab196e9d5f376ff2b5f6784a6f18ec51fd928a6/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2FK%2FKeisuke69%2F20220310%2F20220310190920.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/10 20:08</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/mac" rel="tag" data-gtm-click-label="entry-info-tag">mac</a></li> <li><a href="/q/MacBook" rel="tag" data-gtm-click-label="entry-info-tag">MacBook</a></li> <li><a href="/q/apple" rel="tag" data-gtm-click-label="entry-info-tag">apple</a></li> <li><a href="/q/PC" rel="tag" data-gtm-click-label="entry-info-tag">PC</a></li> <li><a href="/q/%E3%82%AC%E3%82%B8%E3%82%A7%E3%83%83%E3%83%88" 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/hoge" rel="tag" data-gtm-click-label="entry-info-tag">hoge</a></li> <li><a href="/q/gadget" rel="tag" data-gtm-click-label="entry-info-tag">gadget</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.keisuke69.net/entry/2022/03/10/200609"> <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://www.keisuke69.net/entry/2022/02/02/113807"><span>あとで読む</span> </button> </div> <div class="entrylist-contents-main"> <h3 class="entrylist-contents-title"> <a href="https://www.keisuke69.net/entry/2022/02/02/113807" title="成田空港での水際対策が凄かったけど体力的にはきつかったので記録しておく - Sweet Escape" target="_blank" rel="noopener" class="js-keyboard-openable" data-gtm-click-label="entry-info-title" data-entry-id="4714853067383170882" data-entry-category="暮らし">成田空港での水際対策が凄かったけど体力的にはきつかったので記録しておく - Sweet Escape</a> </h3> <span class="entrylist-contents-users"> <a href="/entry/s/www.keisuke69.net/entry/2022/02/02/113807" title="すべてのブックマークを見る" class="js-keyboard-entry-page-openable" data-gtm-click-label="entry-info-users"><span>139</span> users</a> </span> <p class="entrylist-contents-domain"> <a href="/site/www.keisuke69.net/" title="『www.keisuke69.net』の新着エントリー" data-gtm-click-label="entry-info-root-url"> <img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keisuke69.net%2Fentry%2F2022%2F02%2F02%2F113807" class="favicon" alt="" /> <span>www.keisuke69.net</span> </a> </p> <div class="entrylist-contents-body"> <a href="/entry/s/www.keisuke69.net/entry/2022/02/02/113807" title="すべてのブックマークを見る"> <p class="entrylist-contents-description" data-gtm-click-label="entry-info-description-href">※ 当初、成田空港での検査を「PCR検査」と書いていましたが正確にはPCRが検査ではなく「抗原検査」でした。該当箇所は単に「検査」と修正しました。 はじめに 実は2022年の1月22日から10日ほど仕事でブラジルに行ってました。2年ぶりの海外出張です。 今回は仕事は仕事なんですがJICAの調査ミッションでもあるため公用旅券での渡航です。 というか公用旅券なんていうものの存在を初めて知ったよ。 経路としてはJICAでブラジルに飛ぶ場合の規定ルートとされているカタールのドーハ経由です。これがかなり遠い。片道だいたい30時間くらい。 とはいえ行きは機上のの時間が長いくらいで、それはそれで疲れるもののブラジルはサンパウロに到着してしまえばサクッと入国して市街に行けるわけです。自分の場合、実際にはサンパウロからそのまま飛行機に乗ってベロオリゾンテというところまで行ったのですが。 問題は帰りです。 帰</p> <p class="entrylist-contents-thumb"> <span style="background-image:url('https://cdn-ak-scissors.b.st-hatena.com/image/square/102be271df2000e3858e116cbe1e6f40ec2f7527/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2FK%2FKeisuke69%2F20170518%2F20170518110203.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/life" data-gtm-click-label="entry-info-category">暮らし</a> </li> <li class="entrylist-contents-date">2022/02/02 11:46</li> </ul> <ul class="entrylist-contents-tags"> <li><a href="/q/COVID-19" rel="tag" data-gtm-click-label="entry-info-tag">COVID-19</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/%E5%8C%BB%E7%99%82" rel="tag" data-gtm-click-label="entry-info-tag">医療</a></li> <li><a href="/q/%E7%A4%BE%E4%BC%9A" rel="tag" data-gtm-click-label="entry-info-tag">社会</a></li> <li><a href="/q/%E7%81%BD%E5%AE%B3" rel="tag" data-gtm-click-label="entry-info-tag">災害</a></li> <li><a href="/q/%E4%BA%A4%E9%80%9A" 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://www.keisuke69.net/entry/2022/02/02/113807"> <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/www.keisuke69.net/?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 class="entrylist-bottom"> </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/21bb37de101e3d895eac61554a1ca07012b63961/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/www.keisuke69.net/"> <span>『</span><span>Sweet Escape</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/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/common/dl-button/appstore@2x.png" alt="App Storeからダウンロード"></a></li> <li class="footer-list-item"><a href="https://play.google.com/store/apps/details?id=com.hatena.android.bookmark&referrer=utm_source%3Dbookmark_sp%26utm_campaign%3Dbookmark_sp_user&hl=ja" target="_blank" rel="noopener" data-gtm-click-label="footer-app-android"><img src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/common/dl-button/googleplay@2x.png" alt="Google Playで手に入れよう"></a></li> </ul> </div> <div class="copyright">Copyright © 2005-2025 <a href="http://www.hatena.ne.jp/">Hatena</a>. All Rights Reserved.</div> </div> </div> <div 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/21bb37de101e3d895eac61554a1ca07012b63961/js/v4/bookmark.star.js" async></script> <div class="js-head-notify is-hidden">設定を変更しました<span class="js-head-notify-close-button">x</span></div> </body> </html>