CINXE.COM
[B! go] damononのブックマーク
<!DOCTYPE html> <html lang="ja" data-page-scope="User" data-stable-request-url="https://b.hatena.ne.jp/damonon/go/" data-device-type="PC" data-sentry-environment="production" data-sentry-sample-rate="0.1" data-author-name="damonon" data-page-subtype="tag" data-page-type="user" data-platform="pc" data-search-query="" data-tag-filter="go" data-visitor-name="ゲスト" > <head> <!-- Google Tag Manager --> <script> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5TDHQX'); </script> <!-- End Google Tag Manager --> <meta charset="UTF-8"> <title>[B! go] damononのブックマーク</title> <script src="https://b.st-hatena.com/77d2ee6f79ddaf78eb2d198936bae315b6721993/js/v4/bookmark.js" async></script> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/77d2ee6f79ddaf78eb2d198936bae315b6721993/css/v4/bookmark.css" /> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/77d2ee6f79ddaf78eb2d198936bae315b6721993/css/v4/bookmark.star.css" /> <link rel="canonical" href="https://b.hatena.ne.jp/damonon/go/" /> <link rel="next" href="/damonon/go/?page=2"> <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> <meta name="viewport" content="width=device-width"> <link rel="search" type="application/opensearchdescription+xml" title="はてなブックマーク検索" href="/opensearch.xml" /> <link rel="search" type="application/opensearchdescription+xml" title="damonon のブックマーク内検索" href="/damonon/opensearch.xml"> <link rel="apple-touch-icon-precomposed" href="https://b.st-hatena.com/77d2ee6f79ddaf78eb2d198936bae315b6721993/images/v4/public/apple-touch-icon-precomposed.png" /> <link rel="mask-icon" href="https://b.st-hatena.com/77d2ee6f79ddaf78eb2d198936bae315b6721993/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/77d2ee6f79ddaf78eb2d198936bae315b6721993/images/v4/public/icons/bookmark.ico" /> <meta name="msapplication-task" content="name=マイブックマーク; action-uri=/my; icon-uri=https://b.st-hatena.com/77d2ee6f79ddaf78eb2d198936bae315b6721993/images/v4/public/icons/my-bookmark.ico" /> <meta name="msapplication-task" content="name=お気に入りのブックマーク; action-uri=/my/favorite; icon-uri=https://b.st-hatena.com/77d2ee6f79ddaf78eb2d198936bae315b6721993/images/v4/public/icons/favorite-bookmark.ico" /> <meta name="msapplication-task" content="name=人気エントリー; action-uri=/hotentry; icon-uri=https://b.st-hatena.com/77d2ee6f79ddaf78eb2d198936bae315b6721993/images/v4/public/icons/hotentry.ico" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="referrer" content="always"> <link rel="author" href="http://www.hatena.ne.jp/damonon/" /> <link rel="alternate" type="application/rss+xml" href="/damonon/bookmark.rss?tag=go" /> <script> function isMobile() { const html = document.documentElement; const deviceType = html.dataset.deviceType || ''; if (deviceType.length > 0) { return deviceType === 'MOBILE'; } else { const maxMobileWidth = 480; const windowWidth = window.innerWidth; return maxMobileWidth >= windowWidth; } } </script> </head> <body class="page-centerarticle fixed-header"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5TDHQX" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="link-app-banner js-dynamic-link-app-banner is-hidden"> <button class="link-app-banner-btn-close js-dynamic-link-app-banner-close-button"><span>close</span></button> <a class="link-app-banner-btn" href="https://hatenabookmark.page.link/app"> <div class="link-app-banner-btn-detail"> <div class="link-app-banner-icon"><img src="/images/v4/public/app/ic-ios.svg" alt="はてなブックマークアプリ"></div> <p class="link-app-banner-text">サクサク読めて、<br class="link-app-banner-text-newline">アプリ限定の機能も多数!</p> </div> <div class="link-app-banner-btn-open">アプリで開く</div> </a> </div> <header id="global-header" data-portal-static-origin="//cdn.www.st-hatena.com"> <div id="header" class="global-header-inner js-global-header-inner"> <h2 id="gh-logo"><a href="/" data-gtm-label="gh-blogo"><span>はてなブックマーク</span></a></h2> <div class="is-guest js-guest is-hidden"> <input id="gh-search-icon-check" type="checkbox" checked="checked" /> <label class="gh-search-icon" for="gh-search-icon-check" aria-label="検索を閉じる"><span>閉じる</span></label> <form class="gh-searchbox" method="get" action="/search_dwim" role="search"> <input value="" name="q" type="search" class="gh-inputtext" placeholder="キーワード・URLを検索" size="40" /> <input value="" type="submit" class="gh-search-button" /> </form> <ul class="gh-service-menu"> <li><a href="/guide" data-gtm-label="gh-guest-guide">はてなブックマークって?</a></li> <li><a href="/guide/tools" data-gtm-label="gh-guest-tools">アプリ・拡張の紹介</a></li> <li><a href="https://www.hatena.ne.jp/register?location=https%3A%2F%2Fb.hatena.ne.jp%2F%3Fregistered_from%3Dglobal-header&via=201037" class="gh-guest-register" data-gtm-label="gh-guest-register">ユーザー登録</a></li> <li><a href="https://www.hatena.ne.jp/login?location=https%3A%2F%2Fb.hatena.ne.jp%2Fdamonon%2Fgo%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/77d2ee6f79ddaf78eb2d198936bae315b6721993/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/77d2ee6f79ddaf78eb2d198936bae315b6721993/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/77d2ee6f79ddaf78eb2d198936bae315b6721993/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/77d2ee6f79ddaf78eb2d198936bae315b6721993/images/v4/public/logo/logo-global-white.svg" alt="Hatena" width="74px" height="13px"/></a></li> </ul> </script> </div> </header> <div id="info-header"><div id="info-header-message"></div><span></span></div> <div class="global-notification is-hidden js-global-notification"></div> <div id="container" class="js-user-page-container" data-author-name="damonon" > <div class="centerarticle-wrapper"> <div class="left-container"> <div class="js-user-info" data-user-name="damonon"> <div class="centerarticle-profile"> <a href="http://profile.hatena.ne.jp/damonon/"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" class="centerarticle-profile-image"/> </a> <div class="centerarticle-profile-main"> <a href="http://profile.hatena.ne.jp/damonon/" class="centerarticle-profile-nickname js-user-info-nickname" target="_blank" rel="noopener">damonon</a> <a href="/damonon/bookmark" class="centerarticle-profile-username">id:damonon</a> </div> </div> <ul class="userprofile-status"> <li> <a href="/damonon/bookmark" class="userprofile-status-link" data-gtm-click-label="user-count-bookmark"> <span class="userprofile-status-count">2,363</span> <span class="userprofile-status-text">ブックマーク</span> </a> </li> <li> <a href="/damonon/follow" class="userprofile-status-link" data-gtm-click-label="user-count-follow"> <span class="userprofile-status-count js-total-followings">-</span> <span class="userprofile-status-text">お気に入り</span> </a> </li> <li> <a href="/damonon/follower" class="userprofile-status-link" data-gtm-click-label="user-count-follower"> <span class="userprofile-status-count js-total-followers">-</span> <span class="userprofile-status-text">お気に入られ</span> </a> </li> </ul> </div> <div class="centerarticle-mainNavi"> </div> <div class="centerarticle-sidebar-menu js-user-tags"> <h3 class="centerarticle-aside-title">タグ</h3> <ul class="centerarticle-sub-navi"> <li><a href="/damonon/bookmark" data-gtm-click-label="user-tags-all">すべて</a></li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/!%E3%81%82%E3%81%A8%E3%81%A7%E8%81%B4%E3%81%8F/" data-gtm-click-label="user-tags"> !あとで聴く <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/*%E3%81%82%E3%81%A8%E3%81%A7/" data-gtm-click-label="user-tags"> *あとで <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/*%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-tags"> *あとで読む <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/*%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-tags"> *プログラミング <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/ADHD/" data-gtm-click-label="user-tags"> ADHD <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/AV/" data-gtm-click-label="user-tags"> AV <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/Android%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-tags"> Android開発 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/Architecture/" data-gtm-click-label="user-tags"> Architecture <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/C%E8%A8%80%E8%AA%9E/" data-gtm-click-label="user-tags"> C言語 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/DDD/" data-gtm-click-label="user-tags"> DDD <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/DNS/" data-gtm-click-label="user-tags"> DNS <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/Event/" data-gtm-click-label="user-tags"> Event <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/Firebase/" data-gtm-click-label="user-tags"> Firebase <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/GCP/" data-gtm-click-label="user-tags"> GCP <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/GraphQL/" data-gtm-click-label="user-tags"> GraphQL <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/HIPHOP/" data-gtm-click-label="user-tags"> HIPHOP <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/JetBrains/" data-gtm-click-label="user-tags"> JetBrains <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/Mac/" data-gtm-click-label="user-tags"> Mac <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/Node.js/" data-gtm-click-label="user-tags"> Node.js <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/OS/" data-gtm-click-label="user-tags"> OS <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/Qiita/" data-gtm-click-label="user-tags"> Qiita <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/R/" data-gtm-click-label="user-tags"> R <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/RAW%E7%8F%BE%E5%83%8F/" data-gtm-click-label="user-tags"> RAW現像 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/Raspberry%20Pi/" data-gtm-click-label="user-tags"> Raspberry Pi <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/SQL/" data-gtm-click-label="user-tags"> SQL <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/SSH/" data-gtm-click-label="user-tags"> SSH <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/SSL/" data-gtm-click-label="user-tags"> SSL <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/TCP/" data-gtm-click-label="user-tags"> TCP <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/Twitter/" data-gtm-click-label="user-tags"> Twitter <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/Unity/" data-gtm-click-label="user-tags"> Unity <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/V8/" data-gtm-click-label="user-tags"> V8 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/VR/" data-gtm-click-label="user-tags"> VR <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/VSCode/" data-gtm-click-label="user-tags"> VSCode <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/Vue/" data-gtm-click-label="user-tags"> Vue <span class="count">(22)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/WordPress/" data-gtm-click-label="user-tags"> WordPress <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/agile/" data-gtm-click-label="user-tags"> agile <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/android/" data-gtm-click-label="user-tags"> android <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/api/" data-gtm-click-label="user-tags"> api <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/async/" data-gtm-click-label="user-tags"> async <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/await/" data-gtm-click-label="user-tags"> await <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/aws/" data-gtm-click-label="user-tags"> aws <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/c++/" data-gtm-click-label="user-tags"> c++ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/css/" data-gtm-click-label="user-tags"> css <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/database/" data-gtm-click-label="user-tags"> database <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/deeplearning/" data-gtm-click-label="user-tags"> deeplearning <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/docker/" data-gtm-click-label="user-tags"> docker <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/eclipse/" data-gtm-click-label="user-tags"> eclipse <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/git/" data-gtm-click-label="user-tags"> git <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/github/" data-gtm-click-label="user-tags"> github <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/go/" class="is-current" data-gtm-click-label="user-tags"> go <span class="count">(24)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/golang/" data-gtm-click-label="user-tags"> golang <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/google/" data-gtm-click-label="user-tags"> google <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/html/" data-gtm-click-label="user-tags"> html <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/iOS/" data-gtm-click-label="user-tags"> iOS <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/it/" data-gtm-click-label="user-tags"> it <span class="count">(182)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/java/" data-gtm-click-label="user-tags"> java <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/javascript/" data-gtm-click-label="user-tags"> javascript <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/js/" data-gtm-click-label="user-tags"> js <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/kaggle/" data-gtm-click-label="user-tags"> kaggle <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/kubernetes/" data-gtm-click-label="user-tags"> kubernetes <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/management/" data-gtm-click-label="user-tags"> management <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/music/" data-gtm-click-label="user-tags"> music <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/network/" data-gtm-click-label="user-tags"> network <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/nginx/" data-gtm-click-label="user-tags"> nginx <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/novel/" data-gtm-click-label="user-tags"> novel <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/php/" data-gtm-click-label="user-tags"> php <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/pixiv/" data-gtm-click-label="user-tags"> pixiv <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/programming/" data-gtm-click-label="user-tags"> programming <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/promise/" data-gtm-click-label="user-tags"> promise <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/python/" data-gtm-click-label="user-tags"> python <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/rails/" data-gtm-click-label="user-tags"> rails <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/react/" data-gtm-click-label="user-tags"> react <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/serverless/" data-gtm-click-label="user-tags"> serverless <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/toeic/" data-gtm-click-label="user-tags"> toeic <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/vocaloid/" data-gtm-click-label="user-tags"> vocaloid <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/vue.js/" data-gtm-click-label="user-tags"> vue.js <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/web/" data-gtm-click-label="user-tags"> web <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" data-gtm-click-label="user-tags"> webサービス <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/web%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3/" data-gtm-click-label="user-tags"> webデザイン <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/word2vec/" data-gtm-click-label="user-tags"> word2vec <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/x509/" data-gtm-click-label="user-tags"> x509 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7/" data-gtm-click-label="user-tags"> あとで <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-tags"> あとで読む <span class="count">(691)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%81%84%E3%81%A4%E3%81%8B%E7%90%86%E8%A7%A3%E3%81%97%E3%81%9F%E3%81%84/" data-gtm-click-label="user-tags"> いつか理解したい <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%81%86%E3%81%A9%E3%82%93/" data-gtm-click-label="user-tags"> うどん <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%81%8A%E3%81%97%E3%82%83%E3%82%8C/" data-gtm-click-label="user-tags"> おしゃれ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%81%8A%E5%BD%B9%E7%AB%8B%E3%81%A1/" data-gtm-click-label="user-tags"> お役立ち <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%81%8A%E7%B5%B5%E6%8F%8F%E3%81%8D/" data-gtm-click-label="user-tags"> お絵描き <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%81%8A%E9%87%91/" data-gtm-click-label="user-tags"> お金 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%81%AA%E3%82%93%E3%81%8B%E3%82%82%E3%81%86%E3%81%84%E3%81%84%E3%82%84/" data-gtm-click-label="user-tags"> なんかもういいや <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%81%BE%E3%81%A8%E3%82%81/" data-gtm-click-label="user-tags"> まとめ <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%80%E3%81%A3%E3%81%A1%E3%82%8A/" data-gtm-click-label="user-tags"> むっちり <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%8F/" data-gtm-click-label="user-tags"> わ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%8F%E3%81%A3%E3%81%97%E3%82%87%E3%81%84%E3%82%8F%E3%81%A3%E3%81%97%E3%82%87%E3%81%84/" data-gtm-click-label="user-tags"> わっしょいわっしょい <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%A2%E3%82%A4%E3%83%87%E3%82%A2/" data-gtm-click-label="user-tags"> アイデア <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%A2%E3%82%A4%E3%83%89%E3%83%AB%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC/" data-gtm-click-label="user-tags"> アイドルマスター <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%A2%E3%82%BB%E3%83%83%E3%83%88/" data-gtm-click-label="user-tags"> アセット <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%A2%E3%83%8B%E3%82%BD%E3%83%B3/" data-gtm-click-label="user-tags"> アニソン <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%A2%E3%83%97%E3%83%AA/" data-gtm-click-label="user-tags"> アプリ <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0/" data-gtm-click-label="user-tags"> アルゴリズム <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3/" data-gtm-click-label="user-tags"> アーキテクチャ <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88/" data-gtm-click-label="user-tags"> イベント <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88/" data-gtm-click-label="user-tags"> イラスト <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%93%E3%83%A5%E3%83%BC/" data-gtm-click-label="user-tags"> インタビュー <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%A6%E3%82%A4%E3%82%B9%E3%82%AD%E3%83%BC/" data-gtm-click-label="user-tags"> ウイスキー <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%A8%E3%83%A9%E3%83%BC/" data-gtm-click-label="user-tags"> エラー <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%A8%E3%83%AD/" data-gtm-click-label="user-tags"> エロ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%A8%E3%83%AD%E3%82%B2/" data-gtm-click-label="user-tags"> エロゲ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2/" data-gtm-click-label="user-tags"> エンジニア <span class="count">(40)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%AA%E3%82%B9%E3%82%B9%E3%83%A1/" data-gtm-click-label="user-tags"> オススメ <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91/" data-gtm-click-label="user-tags"> オブジェクト指向 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%AA%E3%83%A2%E3%82%B3%E3%83%AD/" data-gtm-click-label="user-tags"> オモコロ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%AB%E3%83%A1%E3%83%A9/" data-gtm-click-label="user-tags"> カメラ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%AD%E3%83%A3%E3%83%AA%E3%82%A2/" data-gtm-click-label="user-tags"> キャリア <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%B0%E3%83%AB%E3%83%A1/" data-gtm-click-label="user-tags"> グルメ <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%B2%E3%83%BC%E3%83%A0/" data-gtm-click-label="user-tags"> ゲーム <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%B3%E3%82%B9%E3%83%97%E3%83%AC/" data-gtm-click-label="user-tags"> コスプレ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/" data-gtm-click-label="user-tags"> コミュニケーション <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%B3%E3%83%9F%E3%83%A5%E5%8A%9B/" data-gtm-click-label="user-tags"> コミュ力 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A/" data-gtm-click-label="user-tags"> コンテナ <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%B3%E3%83%BC%E3%83%89/" data-gtm-click-label="user-tags"> コード <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%B5%E3%83%83%E3%82%AB%E3%83%BC/" data-gtm-click-label="user-tags"> サッカー <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%B5%E3%83%A9%E3%83%80/" data-gtm-click-label="user-tags"> サラダ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB/" data-gtm-click-label="user-tags"> サンプル <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" data-gtm-click-label="user-tags"> サービス <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%B7%E3%82%A7%E3%83%AB/" data-gtm-click-label="user-tags"> シェル <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%B7%E3%83%BC%E3%82%B1%E3%83%B3%E3%82%B9%E5%9B%B3/" data-gtm-click-label="user-tags"> シーケンス図 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%80%E3%83%BC/" data-gtm-click-label="user-tags"> ジェンダー <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-tags"> スクレイピング <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%83%95%E3%82%A9%E3%83%B3/" data-gtm-click-label="user-tags"> スマートフォン <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3/" data-gtm-click-label="user-tags"> セキュリティ <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%BB%E3%83%83%E3%82%AF%E3%82%B9/" data-gtm-click-label="user-tags"> セックス <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2/" data-gtm-click-label="user-tags"> ソフトウェア <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%BD%E3%83%BC%E3%82%B9/" data-gtm-click-label="user-tags"> ソース <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89/" data-gtm-click-label="user-tags"> ソースコード <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%82%BF%E3%82%B9%E3%82%AF%E7%AE%A1%E7%90%86%E8%A1%93/" data-gtm-click-label="user-tags"> タスク管理術 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB/" data-gtm-click-label="user-tags"> チュートリアル <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%84%E3%83%BC%E3%83%AB/" data-gtm-click-label="user-tags"> ツール <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%86%E3%82%B9%E3%83%88/" data-gtm-click-label="user-tags"> テスト <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3/" data-gtm-click-label="user-tags"> デザイン <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3/" data-gtm-click-label="user-tags"> デザインパターン <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%87%E3%83%BC%E3%82%BF/" data-gtm-click-label="user-tags"> データ <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9/" data-gtm-click-label="user-tags"> データベース <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB/" data-gtm-click-label="user-tags"> トラブル <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%88%E3%83%B3%E3%83%87%E3%83%A2/" data-gtm-click-label="user-tags"> トンデモ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3%E5%8B%95%E7%94%BB/" data-gtm-click-label="user-tags"> ニコニコ動画 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%8D%E3%82%BF/" data-gtm-click-label="user-tags"> ネタ <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF/" data-gtm-click-label="user-tags"> ネットワーク <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9/" data-gtm-click-label="user-tags"> パフォーマンス <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%92%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E8%AC%9B%E5%BA%A7/" data-gtm-click-label="user-tags"> ヒアリング講座 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9/" data-gtm-click-label="user-tags"> ビジネス <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%95%E3%82%A1%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3/" data-gtm-click-label="user-tags"> ファッション <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF/" data-gtm-click-label="user-tags"> フレームワーク <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88/" data-gtm-click-label="user-tags"> フロント <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3/" data-gtm-click-label="user-tags"> ブロックチェーン <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%97%E3%83%AC%E3%82%BC%E3%83%B3/" data-gtm-click-label="user-tags"> プレゼン <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E/" data-gtm-click-label="user-tags"> プログラマ <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-tags"> プログラミング <span class="count">(64)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%97%E3%83%AD%E3%83%80%E3%82%AF%E3%83%88%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%A3/" data-gtm-click-label="user-tags"> プロダクトマネージャ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88/" data-gtm-click-label="user-tags"> マネジメント <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%9E%E3%83%B3%E3%82%AC/" data-gtm-click-label="user-tags"> マンガ <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-tags"> マーケティング <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%A1%E3%83%A2%E3%83%AA/" data-gtm-click-label="user-tags"> メモリ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%A8%E3%83%83%E3%83%94%E3%83%BC/" data-gtm-click-label="user-tags"> ヨッピー <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%A9%E3%82%A4%E3%83%95%E3%83%8F%E3%83%83%E3%82%AF/" data-gtm-click-label="user-tags"> ライフハック <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA/" data-gtm-click-label="user-tags"> ライブラリ <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%A9%E3%83%96%E3%83%A9%E3%82%A4%E3%83%96%EF%BC%81/" data-gtm-click-label="user-tags"> ラブライブ! <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%A9%E3%83%B3%E3%83%81/" data-gtm-click-label="user-tags"> ランチ <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E3%83%AC%E3%82%B7%E3%83%94/" data-gtm-click-label="user-tags"> レシピ <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E4%B8%96%E4%BB%A3/" data-gtm-click-label="user-tags"> 世代 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E4%BA%BA%E7%94%9F/" data-gtm-click-label="user-tags"> 人生 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E4%BB%95%E4%BA%8B/" data-gtm-click-label="user-tags"> 仕事 <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E4%BB%95%E4%BA%8B%E8%A1%93/" data-gtm-click-label="user-tags"> 仕事術 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E4%BB%AE%E6%83%B3%E3%83%A1%E3%83%A2%E3%83%AA/" data-gtm-click-label="user-tags"> 仮想メモリ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E4%BB%AE%E6%83%B3%E5%8C%96/" data-gtm-click-label="user-tags"> 仮想化 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E4%BC%81%E6%A5%AD/" data-gtm-click-label="user-tags"> 企業 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E4%BC%81%E7%94%BB/" data-gtm-click-label="user-tags"> 企画 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E4%BC%81%E7%94%BB%E6%9B%B8/" data-gtm-click-label="user-tags"> 企画書 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E4%BD%9C%E5%AE%B6/" data-gtm-click-label="user-tags"> 作家 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E4%BE%BF%E5%88%A9/" data-gtm-click-label="user-tags"> 便利 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E4%BF%9D%E9%99%BA/" data-gtm-click-label="user-tags"> 保険 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%83%8D%E3%81%8D%E6%96%B9/" data-gtm-click-label="user-tags"> 働き方 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%85%A5%E8%B0%B7/" data-gtm-click-label="user-tags"> 入谷 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%86%99%E7%9C%9F/" data-gtm-click-label="user-tags"> 写真 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%87%BA%E7%89%88/" data-gtm-click-label="user-tags"> 出版 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%88%86%E6%9E%90/" data-gtm-click-label="user-tags"> 分析 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%8A%B4%E5%83%8D/" data-gtm-click-label="user-tags"> 労働 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%8B%89%E5%BC%B7/" data-gtm-click-label="user-tags"> 勉強 <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%8C%97%E6%B5%B7%E9%81%93/" data-gtm-click-label="user-tags"> 北海道 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%8F%82%E8%80%83%E6%9B%B8/" data-gtm-click-label="user-tags"> 参考書 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%90%89%E7%94%B0%E8%B1%AA/" data-gtm-click-label="user-tags"> 吉田豪 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%93%B2%E5%AD%A6/" data-gtm-click-label="user-tags"> 哲学 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%95%8F%E9%A1%8C%E8%A7%A3%E6%B1%BA/" data-gtm-click-label="user-tags"> 問題解決 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%9B%BD%E9%9A%9B/" data-gtm-click-label="user-tags"> 国際 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%9C%9F%E6%9C%A8/" data-gtm-click-label="user-tags"> 土木 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%9C%B0%E5%BD%A2/" data-gtm-click-label="user-tags"> 地形 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%9C%B0%E7%90%86/" data-gtm-click-label="user-tags"> 地理 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%A2%97%E7%94%B0/" data-gtm-click-label="user-tags"> 増田 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%A2%97%E7%94%B0%E6%96%87%E5%AD%A6/" data-gtm-click-label="user-tags"> 増田文学 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%A4%A7%E9%98%AA/" data-gtm-click-label="user-tags"> 大阪 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%AD%A6%E3%81%B3/" data-gtm-click-label="user-tags"> 学び <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%AD%A6%E7%BF%92/" data-gtm-click-label="user-tags"> 学習 <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%B0%8F%E8%AA%AC/" data-gtm-click-label="user-tags"> 小説 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%B1%85%E9%85%92%E5%B1%8B/" data-gtm-click-label="user-tags"> 居酒屋 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%B1%95%E8%A6%A7%E4%BC%9A/" data-gtm-click-label="user-tags"> 展覧会 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%BE%8C%E3%81%A7%E8%A6%8B%E3%82%8B%EF%BC%81%EF%BC%81%EF%BC%81/" data-gtm-click-label="user-tags"> 後で見る!!! <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%BE%A1%E5%BE%92%E7%94%BA%E9%A7%85/" data-gtm-click-label="user-tags"> 御徒町駅 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%BF%83%E7%90%86/" data-gtm-click-label="user-tags"> 心理 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E5%BF%97%E8%8C%82%E7%94%B0%E6%99%AF%E6%A8%B9/" data-gtm-click-label="user-tags"> 志茂田景樹 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%80%9D%E8%80%83/" data-gtm-click-label="user-tags"> 思考 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%80%A7%E6%96%87%E5%8C%96/" data-gtm-click-label="user-tags"> 性文化 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%80%AA%E3%81%97%E3%81%84%E5%9B%A3%E4%BD%93/" data-gtm-click-label="user-tags"> 怪しい団体 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%81%8B%E6%84%9B/" data-gtm-click-label="user-tags"> 恋愛 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%8A%80%E8%A1%93/" data-gtm-click-label="user-tags"> 技術 <span class="count">(15)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%8A%95%E8%B3%87/" data-gtm-click-label="user-tags"> 投資 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%8E%A1%E7%94%A8/" data-gtm-click-label="user-tags"> 採用 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%94%BF%E6%B2%BB/" data-gtm-click-label="user-tags"> 政治 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%95%B0%E5%AD%A6/" data-gtm-click-label="user-tags"> 数学 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%96%87%E5%8C%96/" data-gtm-click-label="user-tags"> 文化 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%96%87%E6%88%BF%E5%85%B7/" data-gtm-click-label="user-tags"> 文房具 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%96%99%E7%90%86/" data-gtm-click-label="user-tags"> 料理 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%97%85%E8%A1%8C/" data-gtm-click-label="user-tags"> 旅行 <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%97%A5%E5%B8%B0%E3%82%8A/" data-gtm-click-label="user-tags"> 日帰り <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%97%A5%E6%9C%AC%E9%85%92/" data-gtm-click-label="user-tags"> 日本酒 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%97%A5%E8%A8%98/" data-gtm-click-label="user-tags"> 日記 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%98%A0%E7%94%BB/" data-gtm-click-label="user-tags"> 映画 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%99%82%E9%96%93/" data-gtm-click-label="user-tags"> 時間 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%9C%AC/" data-gtm-click-label="user-tags"> 本 <span class="count">(15)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%9C%AC%E8%AA%AD%E3%81%BF%E3%81%95%E3%82%93%E3%81%AE%E6%96%87%E5%85%B7/" data-gtm-click-label="user-tags"> 本読みさんの文具 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%9C%AD%E5%B9%8C/" data-gtm-click-label="user-tags"> 札幌 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%9D%B1%E5%8D%81%E6%9D%A1/" data-gtm-click-label="user-tags"> 東十条 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%A8%AA%E6%B5%9C/" data-gtm-click-label="user-tags"> 横浜 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/" data-gtm-click-label="user-tags"> 機械学習 <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%AD%AF/" data-gtm-click-label="user-tags"> 歯 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%B1%A0%E8%A2%8B/" data-gtm-click-label="user-tags"> 池袋 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%B8%A9%E6%B3%89/" data-gtm-click-label="user-tags"> 温泉 <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E6%BC%AB%E7%94%BB/" data-gtm-click-label="user-tags"> 漫画 <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%84%A1%E7%B7%9ALAN/" data-gtm-click-label="user-tags"> 無線LAN <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%90%86%E8%A7%A3%E5%8A%9B/" data-gtm-click-label="user-tags"> 理解力 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89/" data-gtm-click-label="user-tags"> 環境構築 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%94%B0%E4%B8%AD%E5%9C%AD%E4%B8%80/" data-gtm-click-label="user-tags"> 田中圭一 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%94%B7%E5%A5%B3/" data-gtm-click-label="user-tags"> 男女 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%94%BB%E5%83%8F/" data-gtm-click-label="user-tags"> 画像 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%99%BB%E5%B1%B1/" data-gtm-click-label="user-tags"> 登山 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%99%BE%E5%90%88/" data-gtm-click-label="user-tags"> 百合 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%9B%AE%E6%A8%99/" data-gtm-click-label="user-tags"> 目標 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%9C%89%E6%AF%9B/" data-gtm-click-label="user-tags"> 眉毛 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%9D%A1%E7%9C%A0/" data-gtm-click-label="user-tags"> 睡眠 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%9F%A5%E6%81%B5/" data-gtm-click-label="user-tags"> 知恵 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%A4%BE%E4%BC%9A/" data-gtm-click-label="user-tags"> 社会 <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%A7%8B%E8%91%89%E5%8E%9F/" data-gtm-click-label="user-tags"> 秋葉原 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%A7%91%E5%AD%A6/" data-gtm-click-label="user-tags"> 科学 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%AB%A5%E8%B2%9E/" data-gtm-click-label="user-tags"> 童貞 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%B5%84%E7%B9%94/" data-gtm-click-label="user-tags"> 組織 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%B5%8C%E5%96%B6/" data-gtm-click-label="user-tags"> 経営 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%B5%8C%E6%B8%88/" data-gtm-click-label="user-tags"> 経済 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%B5%90%E5%A9%9A/" data-gtm-click-label="user-tags"> 結婚 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%B5%B1%E8%A8%88/" data-gtm-click-label="user-tags"> 統計 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%B5%B1%E8%A8%88%E5%AD%A6/" data-gtm-click-label="user-tags"> 統計学 <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%B5%B5%E3%81%AE%E5%8F%82%E8%80%83/" data-gtm-click-label="user-tags"> 絵の参考 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E7%BF%92%E6%85%A3/" data-gtm-click-label="user-tags"> 習慣 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%80%83%E3%81%88%E6%96%B9/" data-gtm-click-label="user-tags"> 考え方 <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%82%89/" data-gtm-click-label="user-tags"> 肉 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%84%B3/" data-gtm-click-label="user-tags"> 脳 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%87%AA%E5%B7%B1%E5%95%93%E7%99%BA/" data-gtm-click-label="user-tags"> 自己啓発 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86/" data-gtm-click-label="user-tags"> 自然言語処理 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%8B%B1%E8%AA%9E/" data-gtm-click-label="user-tags"> 英語 <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%A1%8C%E3%81%8D%E3%81%9F%E3%81%84/" data-gtm-click-label="user-tags"> 行きたい <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F%E3%81%84/" data-gtm-click-label="user-tags"> 行ってみたい <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%A1%97%E3%82%B3%E3%83%B3/" data-gtm-click-label="user-tags"> 街コン <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%A5%BF%E5%8E%9F%E7%90%86%E6%81%B5%E5%AD%90/" data-gtm-click-label="user-tags"> 西原理恵子 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%A8%AD%E5%AE%9A/" data-gtm-click-label="user-tags"> 設定 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%A8%AD%E8%A8%88/" data-gtm-click-label="user-tags"> 設計 <span class="count">(19)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%A9%95%E4%BE%A1%E5%88%B6%E5%BA%A6/" data-gtm-click-label="user-tags"> 評価制度 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%AA%9E%E5%AD%A6/" data-gtm-click-label="user-tags"> 語学 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%AA%AD%E6%9B%B8/" data-gtm-click-label="user-tags"> 読書 <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%AC%9B%E5%B8%AB/" data-gtm-click-label="user-tags"> 講師 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%B1%AA%E9%9B%A8/" data-gtm-click-label="user-tags"> 豪雨 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%B3%87%E6%96%99/" data-gtm-click-label="user-tags"> 資料 <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%B3%87%E7%94%A3%E9%81%8B%E7%94%A8/" data-gtm-click-label="user-tags"> 資産運用 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%B5%B7%E6%A5%AD/" data-gtm-click-label="user-tags"> 起業 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E8%BB%A2%E8%81%B7/" data-gtm-click-label="user-tags"> 転職 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E9%80%9A%E4%BF%A1/" data-gtm-click-label="user-tags"> 通信 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-tags"> 開発 <span class="count">(29)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E9%96%8B%E7%99%BA%E6%89%8B%E6%B3%95/" data-gtm-click-label="user-tags"> 開発手法 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83/" data-gtm-click-label="user-tags"> 開発環境 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E9%9D%9E%E5%90%8C%E6%9C%9F%E5%87%A6%E7%90%86/" data-gtm-click-label="user-tags"> 非同期処理 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E9%9D%A2%E6%8E%A5/" data-gtm-click-label="user-tags"> 面接 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E9%9F%B3%E6%A5%BD/" data-gtm-click-label="user-tags"> 音楽 <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E9%A3%9F/" data-gtm-click-label="user-tags"> 食 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E9%A6%99%E5%B7%9D/" data-gtm-click-label="user-tags"> 香川 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/damonon/%E9%AB%98/" data-gtm-click-label="user-tags"> 高 <span class="count">(9)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-tags"> あとで読む <span class="count">(691)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/damonon/it/" data-gtm-click-label="user-tags"> it <span class="count">(182)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/damonon/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-tags"> プログラミング <span class="count">(64)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/damonon/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2/" data-gtm-click-label="user-tags"> エンジニア <span class="count">(40)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/damonon/%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-tags"> 開発 <span class="count">(29)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/damonon/go/" class="is-current" data-gtm-click-label="user-tags"> go <span class="count">(24)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/damonon/Vue/" data-gtm-click-label="user-tags"> Vue <span class="count">(22)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/damonon/%E8%A8%AD%E8%A8%88/" data-gtm-click-label="user-tags"> 設計 <span class="count">(19)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/damonon/aws/" data-gtm-click-label="user-tags"> aws <span class="count">(16)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/damonon/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/" data-gtm-click-label="user-tags"> 機械学習 <span class="count">(16)</span> </a> </li> </ul> <p class="centerarticle-sub-navi-more"> <button type="button" class="js-display-all-tags" data-gtm-click-label="user-tags-show-all">タグをすべて表示</button> </p> </div> <div class="centerarticle-sidebar-menu"> <h3 class="centerarticle-aside-title">関連タグで絞り込む (16)</h3> <ul class="centerarticle-sub-navi"> <li> <a href="/damonon/go/*%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" > *あとで読む </a> </li> <li> <a href="/damonon/go/Architecture/" > Architecture </a> </li> <li> <a href="/damonon/go/docker/" > docker </a> </li> <li> <a href="/damonon/go/golang/" > golang </a> </li> <li> <a href="/damonon/go/it/" > it </a> </li> <li> <a href="/damonon/go/js/" > js </a> </li> <li> <a href="/damonon/go/SSH/" > SSH </a> </li> <li> <a href="/damonon/go/TCP/" > TCP </a> </li> <li> <a href="/damonon/go/Vue/" > Vue </a> </li> <li> <a href="/damonon/go/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" > あとで読む </a> </li> <li> <a href="/damonon/go/%E3%82%A8%E3%83%A9%E3%83%BC/" > エラー </a> </li> <li> <a href="/damonon/go/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/" > プログラミング </a> </li> <li> <a href="/damonon/go/%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA/" > ライブラリ </a> </li> <li> <a href="/damonon/go/%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89/" > 環境構築 </a> </li> <li> <a href="/damonon/go/%E9%96%8B%E7%99%BA/" > 開発 </a> </li> <li> <a href="/damonon/go/%E9%AB%98/" > 高 </a> </li> </ul> <p class="centerarticle-sub-navi-more"> <a href="/damonon/bookmark">タグの絞り込みを解除</a> </p> </div> </div> <div class="center-container"> <div class="centerarticle-title-container"> <h2 class="centerarticle-title"> goに関するdamononのブックマーク (24) </h2> </div> <div class="js-user-bookmark-item-autoload-container" data-next-page-path="/damonon/go/?page=2" data-next-xhr-path="/api/users/damonon/bookmarks?tag=go&page=2" data-next-label="次のページ" > <script type="text/x-template" id="template-short-url-click"> {{#tweet_url}} <a href="{{tweet_url}}" target="_blank" rel="noopener noreferrer" data-gtm-click-label="reaction-twitter-clicks"><span>{{count}} clicks</span></a> {{/tweet_url}} {{^tweet_url}} <span>{{count}} clicks</span> {{/tweet_url}} </script> <script type="text/x-template" id="template-bookmark-item"> {{^is_wiped}} <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="{{url}}"> <div class="centerarticle-entry {{#has_image}}is-image-entry-unit{{/has_image}}"> <h3 class="centerarticle-entry-title"> <a href="{{url}}" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener{{#noreferrer}} noreferrer{{/noreferrer}}" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="{{favicon_url}}" alt="">{{title}}</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="{{page_url}}" class="js-keyboard-entry-page-openable" title="{{title}} ({{total_bookmarks}}ブックマーク)" data-gtm-click-label="user-bookmark-users">{{total_bookmarks_with_user_postfix}}</a> </span> </li> <li> <a href="/damonon/{{url_query}}" title="『{{root_title}}』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> {{root_title}} </a> </li> {{#is_categorized}} <li><a href="{{category_path}}" data-gtm-click-label="user-bookmark-category">{{category_title}}</a></li> {{/is_categorized}} </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">{{{summary_with_keyword_links}}}</p> {{#has_image}} <a href="{{canonical_url}}" class="centerarticle-entry-image" target="_blank" rel="noopener{{#noreferrer}} noreferrer{{/noreferrer}}" data-gtm-click-label="user-bookmark-thumb"> <img src="{{image_url}}" alt="{{title}}"> </a> {{/has_image}} </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-{{location_id}}"> <div class="centerarticle-reaction-comment js-user-bookmark-comment {{badge_icon}}" data-url="{{url}}" data-user-name="{{author_name}}"> <a href="{{top_page_path}}" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="{{profile_icon_url}}" alt="{{author_name}}" title="{{author_name}}" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="{{anchor_url}}" class="js-anchor-path" data-gtm-click-label="user-reaction-username">{{author_name}}</a></span> <span class="centerarticle-reaction-timestamp">{{created}}</span> <span class="js-private-icon status {{#is_public}}is-hidden{{/is_public}}"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">{{{comment_expanded}}}</span> <ul class="centerarticle-reaction-tags js-tag-text"> {{#tags}} <li><a href="/{{author_name}}/{{escaped_label}}/" data-gtm-click-label="user-reaction-tag">{{label}}</a></li> {{/tags}} </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="{{#is_bookmark}}comment-permalink{{/is_bookmark}}{{^is_bookmark}}original-permalink{{/is_bookmark}} js-comment-permalink"> <a href="{{comment_page_path}}" data-gtm-click-label="user-reaction-permalink" rel="{{#should_nofollow}}nofollow{{/should_nofollow}}">{{#is_bookmark}}リスト{{/is_bookmark}}{{^is_bookmark}}リンク{{/is_bookmark}}</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> {{#following_bookmarks}} <li> <a href="{{anchor_url}}" class="following-bookmark-link" data-gtm-click-label="user-bookmark-following-bookmarker-icon"> <img src="{{profile_icon_url}}" alt="{{author_name}}" class="following-bookmark-icon" > </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{author_name}}</span><span class="following-bookmark-timestamp">{{created}}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags"> {{ #tags }}<li>{{ label }}</li>{{ /tags }} </ul> </span> </span> </li> {{/following_bookmarks}} {{#following_bookmarks.length}} <li class="centerarticle-reaction-following-more"><button type="button" class="js-show-all-following-bookmarks" data-gtm-click-label="user-bookmark-showall-following-bookmarks">すべて表示</button></li> {{/following_bookmarks.length}} </ul> <div class="js-user-following-bookmarks-detail is-hidden"> {{#following_bookmarks}} <div class="centerarticle-reaction-comment js-user-bookmark-comment {{badge_icon}}" data-url="{{url}}" data-user-name="{{author_name}}"> <a href="{{top_page_path}}" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="{{profile_icon_url}}" alt="{{author_name}}" title="{{author_name}}" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="{{anchor_url}}" class="js-anchor-path" data-gtm-click-label="user-reaction-username">{{author_name}}</a></span> <span class="centerarticle-reaction-timestamp">{{created}}</span> <span class="js-private-icon status {{#is_public}}is-hidden{{/is_public}}"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">{{{comment_expanded}}}</span> <ul class="centerarticle-reaction-tags js-tag-text"> {{#tags}} <li><a href="/{{author_name}}/{{escaped_label}}/" data-gtm-click-label="user-reaction-tag">{{label}}</a></li> {{/tags}} </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="{{#is_bookmark}}comment-permalink{{/is_bookmark}}{{^is_bookmark}}original-permalink{{/is_bookmark}} js-comment-permalink"> <a href="{{comment_page_path}}" data-gtm-click-label="user-reaction-permalink" rel="{{#should_nofollow}}nofollow{{/should_nofollow}}">{{#is_bookmark}}リスト{{/is_bookmark}}{{^is_bookmark}}リンク{{/is_bookmark}}</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> {{/following_bookmarks}} </div> </li> {{/is_wiped}} </script> <script type="text/x-template" id="template-following-bookmarker-icon"> <li> <a href="{{anchor_url}}" class="following-bookmark-link" data-gtm-click-label="user-bookmark-following-bookmarker-icon"> <img src="{{profile_icon_url}}" alt="{{author_name}}" class="following-bookmark-icon" > </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{author_name}}</span><span class="following-bookmark-timestamp">{{created}}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags"> {{ #tags }}<li>{{ label }}</li>{{ /tags }} </ul> </span> </span> </li> </script> <script type="text/x-template" id="template-bookmark-item-editor"> <div class="centerarticle-entry {{#has_image}}is-image-entry-unit{{/has_image}}"> <h3 class="centerarticle-entry-title"> <a href="{{url}}" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener{{#noreferrer}} noreferrer{{/noreferrer}}" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="{{favicon_url}}" alt="">{{title}}</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="{{page_url}}" class="js-keyboard-entry-page-openable" title="{{title}} ({{total_bookmarks}}ブックマーク)" data-gtm-click-label="user-bookmark-users">{{total_bookmarks_with_user_postfix}}</a> </span> </li> <li> <a href="/damonon/{{url_query}}" title="『{{root_title}}』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> {{root_title}} </a> </li> {{#is_categorized}} <li><a href="{{category_path}}" data-gtm-click-label="user-bookmark-category">{{category_title}}</a></li> {{/is_categorized}} </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">{{{summary_with_keyword_links}}}</p> {{#has_image}} <a href="{{canonical_url}}" class="centerarticle-entry-image" target="_blank" rel="noopener{{#noreferrer}} noreferrer{{/noreferrer}}" data-gtm-click-label="user-bookmark-thumb"> <img src="{{image_url}}" alt="{{title}}"> </a> {{/has_image}} </div> </div> </script> <script type="text/x-template" id="template-bookmark-pager"> <li> <div class="centerarticle-pager"> <span class="centerarticle-waiting js-read-more-waiting is-hidden"><img src="https://b.st-hatena.com/77d2ee6f79ddaf78eb2d198936bae315b6721993/images/v4/public/common/loading@2x.gif" alt="残りのブックマークを読み込んでいます" width="16" height="16" /></span> {{#previous}} <a href="{{page_path}}">{{label}}</a> {{/previous}} {{#pages}} {{#page_path}} <span><a href="{{page_path}}">{{label}}</a></span> {{/page_path}} {{^page_path}} <span>{{label}}</span> {{/page_path}} {{/pages}} {{#next}} <a href="{{page_path}}">{{label}}</a> {{/next}} </div> </li> </script> <ul class="js-user-bookmark-item-list js-keyboard-controllable-container"> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://zenn.dev/nobonobo/articles/0b722c9c2b18d5"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/nobonobo/articles/0b722c9c2b18d5" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Fnobonobo%2Farticles%2F0b722c9c2b18d5" alt="">Goエラーハンドリング戦略</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/nobonobo/articles/0b722c9c2b18d5" class="js-keyboard-entry-page-openable" title="Goエラーハンドリング戦略 (190ブックマーク)" data-gtm-click-label="user-bookmark-users">190 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fzenn.dev%2Fnobonobo" title="『zenn.dev/nobonobo』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> zenn.dev/nobonobo </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary"><a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>のエラーハンドリングが採ったスタイル 多値返し 直積(関数の返値とエラーを両方返す) try-finallyをdeferという機構でカバー panicはプロセスを落とすためのもの <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>はこの戦略でエラーハンドリングを行うとしましたので、「多値はなぜタプルじゃないんだ?」、「直和(返値orエラー)で十分じゃ?」「panic-recoverでtry-catchできそう?」などいう様な他の処理系の風習を持ち込むことは意味がありません。そしてそれらの提案の多くはすでに検討されリジェクトされてきた経緯があります。 「try組み込み関数」プロポーザルなんかも検討されマージ直前くらいまで進んだこともありますが、「<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>のエラーハンドリング」にとって一長一短がありました。その欠点課題は解決できずに最終的にリジェクトされました。 「多値返し」は実に<a data-gtm-click-label="entry-summary-keyword" href="/q/CPU">CPU</a>フレンドリーな機構で、C言語の関数呼び出し規約にちょ</p> <a href="https://zenn.dev/nobonobo/articles/0b722c9c2b18d5" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/5ff900cd13e97045e3c1f03dce273a36a9efb4e3/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--OpCBSP1M--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3AGo%2525E3%252582%2525A8%2525E3%252583%2525A9%2525E3%252583%2525BC%2525E3%252583%25258F%2525E3%252583%2525B3%2525E3%252583%252589%2525E3%252583%2525AA%2525E3%252583%2525B3%2525E3%252582%2525B0%2525E6%252588%2525A6%2525E7%252595%2525A5%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3ANoboNobo%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzk0YmEwNzZlMmMuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="Goエラーハンドリング戦略"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4699334328535318306"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://zenn.dev/nobonobo/articles/0b722c9c2b18d5" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20210306#bookmark-4699334328535318306" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2021/03/06</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> <li><a href="/damonon/it/" data-gtm-click-label="user-reaction-tag">it</a></li> <li><a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4699334328535318306/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://zenn.dev/spiegel/books/error-handling-in-golang"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/spiegel/books/error-handling-in-golang" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Fspiegel%2Fbooks%2Ferror-handling-in-golang" alt="">Go のエラーハンドリング</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/spiegel/books/error-handling-in-golang" class="js-keyboard-entry-page-openable" title="Go のエラーハンドリング (190ブックマーク)" data-gtm-click-label="user-bookmark-users">190 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fzenn.dev%2Fspiegel" title="『zenn.dev/spiegel』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> zenn.dev/spiegel </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">私が <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> のエラーハンドリングについて最初に記事にしたのは2015年のことだが,あれから <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> も少しずつ変わってるし,私も当時よりは多少なりと理解が進んだと思うので,今まで書いた駄文を「全部入り」で<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>の形にしてみようと思う。 主な内容: * エラー評価の基<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a> * エラーの階層化 * サードパーティのパッケージ * ぼくがかんがえたさいきょうのえらーろぐ * Panic と Recover 寄付(サポート)歓迎。ご笑覧のほどを。</p> <a href="https://zenn.dev/spiegel/books/error-handling-in-golang" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/c69138aa894c7c11197b505ba0d44063abcd0f97/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--dxCKcCvI--%2Fg_center%252Ch_280%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYm9va19jb3Zlci9kOTdiYzRmY2Q0LmpwZw%3D%3D%252Cw_200%2Fv1627283836%2Fdefault%2Fog-base-book_yz4z02.jpg" alt="Go のエラーハンドリング"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4695439396934308482"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://zenn.dev/spiegel/books/error-handling-in-golang" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20201212#bookmark-4695439396934308482" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2020/12/12</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/*%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">*あとで読む</a></li> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> <li><a href="/damonon/it/" data-gtm-click-label="user-reaction-tag">it</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4695439396934308482/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://logmi.jp/tech/articles/323451"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://logmi.jp/tech/articles/323451" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Flogmi.jp%2Ftech%2Farticles%2F323451" alt="">Goはクリーンアーキテクチャの思想を活かせるか? DMMのゲームプラットフォームにGo言語を選んだ理由</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/logmi.jp/tech/articles/323451" class="js-keyboard-entry-page-openable" title="Goはクリーンアーキテクチャの思想を活かせるか? DMMのゲームプラットフォームにGo言語を選んだ理由 (199ブックマーク)" data-gtm-click-label="user-bookmark-users">199 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Flogmi.jp%2F" title="『logmi.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> logmi.jp </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">DMM Groupの<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>の勉強会「DMM.<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>」。DMM Groupの<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2">エンジニア</a>が現場で培った<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%8A%80%E8%A1%93">技術</a>やトレンドについて発表していきます。 2回目の開催となる今回登壇するのは、合同会社EXNOA プラットフォーム開発<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>部の PFシステム部に所属する岡崎翔悟氏。「<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>とクリーンアーキテクチャ」の内容で、実際の現場にいるからわかる<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>の開発やクリーンアーキテクチャについて話していきます。関連資料はこちら。 合同会社EXNOAとは 岡崎翔悟氏:今回「<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>とクリーンアーキテクチャ」と題しまして、EXNOAの岡崎が発表いたします。 「EXNOAって何だ?」と思われた方が多数いらっしゃると思うので、まずはそちらの説明から。DMM GAMESは2020年4月10日付でEXNOAに社名を変更しました。ただし、一般作品のブランド名として「DMM GAMES」は残っています。一般作品の「DMM GAMES」とR1</p> <a href="https://logmi.jp/tech/articles/323451" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/53f6aac945def601659b93d106c15dc9ee7aa05e/height=288;version=1;width=512/https%3A%2F%2Fimg.logmi.jp%2Farticle_images%2FCdtsFZoabTtgkUxguLuZec.png" alt="Goはクリーンアーキテクチャの思想を活かせるか? DMMのゲームプラットフォームにGo言語を選んだ理由"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4693189846826191650"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://logmi.jp/tech/articles/323451" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20201025#bookmark-4693189846826191650" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2020/10/25</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> <li><a href="/damonon/it/" data-gtm-click-label="user-reaction-tag">it</a></li> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4693189846826191650/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://engineering.mercari.com/blog/entry/goforbeginners/"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://engineering.mercari.com/blog/entry/goforbeginners/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fengineering.mercari.com%2Fblog%2Fentry%2Fgoforbeginners%2F" alt="">「プログラミング言語Go完全入門」の「完全」公開のお知らせ | メルカリエンジニアリング</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/engineering.mercari.com/blog/entry/goforbeginners/" class="js-keyboard-entry-page-openable" title="「プログラミング言語Go完全入門」の「完全」公開のお知らせ | メルカリエンジニアリング (1769ブックマーク)" data-gtm-click-label="user-bookmark-users">1769 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fengineering.mercari.com%2F" title="『engineering.mercari.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> engineering.mercari.com </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">メルペイ エキスパートチームの@tenntennです。<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>稿は Me<a data-gtm-click-label="entry-summary-keyword" href="/q/RPA">rpa</a>y <a data-gtm-click-label="entry-summary-keyword" href="/q/tech">Tech</a> Openness Month の11日目の記事です。 「プログラミング言語<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>完全入門」の期間限定公開のお知らせでも書いたように、メルペイでは、社外の方向けに<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>pher道場という体系的に<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>を学べる場を無償で提供してきました。<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>の普及を目的にこれまでに8回開催し100人以上の方に参加していただきました。 また、<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>pher道場の動画や資料は<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>pher道場 自習室として誰でも利用できるようになっており、現時点で300名以上の方が利用されています。 <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>pher道場の資料のベースになっている「プログラミング言語<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>完全入門」は、2020年7月31日までの限定公開になっていましたが、<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>日より公開期限を撤廃し、完全公開することになりました。 また、<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>日8月31日から始まる「On<a data-gtm-click-label="entry-summary-keyword" href="/q/LINE">line</a> Summer Int</p> <a href="https://engineering.mercari.com/blog/entry/goforbeginners/" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/b39056dc78c1590704328bf8ffd40ef64fe5b697/height=288;version=1;width=512/https%3A%2F%2Fengineering.mercari.com%2F%2Fimg%2Fogp%2Fogp_a.jpg" alt="「プログラミング言語Go完全入門」の「完全」公開のお知らせ | メルカリエンジニアリング"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4690741184568975170"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://engineering.mercari.com/blog/entry/goforbeginners/" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20200901#bookmark-4690741184568975170" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2020/09/01</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> <li><a href="/damonon/it/" data-gtm-click-label="user-reaction-tag">it</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4690741184568975170/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://blog.bltinc.co.jp/entry/2019/06/27/010812"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://blog.bltinc.co.jp/entry/2019/06/27/010812" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fblog.bltinc.co.jp%2Fentry%2F2019%2F06%2F27%2F010812" alt="">goenvの導入方法とModuleの使い方【macユーザ向け】 - Colorful Bullet</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/blog.bltinc.co.jp/entry/2019/06/27/010812" class="js-keyboard-entry-page-openable" title="goenvの導入方法とModuleの使い方【macユーザ向け】 - Colorful Bullet (1ブックマーク)" data-gtm-click-label="user-bookmark-users">1 user</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fblog.bltinc.co.jp%2F" title="『blog.bltinc.co.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> blog.bltinc.co.jp </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">皆様はじめまして、社会人2年<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2">エンジニア</a>のym<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>omoと申します! <a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>記事ではタイトルにある通り、<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>envの導入と最近導入されたModuleの使い方について説明していきます。 先日<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>バージョン1.12系が正式にリリースされました。 https://<a data-gtm-click-label="entry-summary-keyword" href="/q/golang">golang</a>.org/doc/<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>1.12 1.12へのアップ<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%87%E3%83%BC%E3%83%88">デート</a>で大きく変わったことと言えば、1.11から存在するModuleがより強くサポートされたことです。次回のメジャーアップ<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%87%E3%83%BC%E3%83%88">デート</a>の対象となる1.13系から正式に、依存関係の管理がModuleに完全移行するようなのでdepを使用している方は今のうちからModuleに慣れておいた方が良いでしょう。 ということで、<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>未導入の方はもちろん、1.12以前のバージョンを使用しているユーザにも向けdepでの依存関係からModuleでの依存関係の管理に移行をする方法を簡単にご紹介していきます。</p> <a href="https://blog.bltinc.co.jp/entry/2019/06/27/010812" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/41c9d579d2ab1d54e068589892276a08cc23c8ae/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F0440d93a4641cb09bda5d8da282ade87caa86f57%2Fbackend%3Dimagemagick%3Bheight%3D1200%3Bversion%3D1%3Bwidth%3D1200%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fy%252Fymitomo%252F20190623%252F20190623225226.png" alt="goenvの導入方法とModuleの使い方【macユーザ向け】 - Colorful Bullet"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4676690509611531778"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://blog.bltinc.co.jp/entry/2019/06/27/010812" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20191102#bookmark-4676690509611531778" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2019/11/02</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> <li><a href="/damonon/%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89/" data-gtm-click-label="user-reaction-tag">環境構築</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4676690509611531778/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://qiita.com/po3rin/items/0d8fef14bfe222f334b7"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/po3rin/items/0d8fef14bfe222f334b7" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fpo3rin%2Fitems%2F0d8fef14bfe222f334b7" alt="">Goを始めて1年間で最高にお世話になったGo関連ブックマークを晒します。 - Qiita</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/po3rin/items/0d8fef14bfe222f334b7" class="js-keyboard-entry-page-openable" title="Goを始めて1年間で最高にお世話になったGo関連ブックマークを晒します。 - Qiita (333ブックマーク)" data-gtm-click-label="user-bookmark-users">333 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fqiita.com%2Fpo3rin" title="『qiita.com/po3rin』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> qiita.com/po3rin </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">自分は普段は<a data-gtm-click-label="entry-summary-keyword" href="/q/Chrome">Chrome</a>のブックマークを使ってよく見返す記事を保存しています。<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>を一年間書いてきてブックマークを整理したのですが、せっかくなのでお世話になったブックマーク記事を晒します。 <a data-gtm-click-label="entry-summary-keyword" href="/q/BL">Bl</a>og & Serial The <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> <a data-gtm-click-label="entry-summary-keyword" href="/q/BL">Bl</a>og <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>の公式ブログ。深いところまでしっかり書かれているので、調べたいトピックはまずはここで調べたい。 https://<a data-gtm-click-label="entry-summary-keyword" href="/q/BL">bl</a>og.<a data-gtm-click-label="entry-summary-keyword" href="/q/golang">golang</a>.org/ Practical <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>のcontributorであるDave Cheneyさんのブログです。<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>で開発&運用する上でのアドバイスが書かれており、入門記事だけでは得られないノウハウがふんだんにまとめられています。 https://dave.cheney.<a data-gtm-click-label="entry-summary-keyword" href="/q/net">net</a>/practical-<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a> <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>ならわかるシステムプログラミング @shibukawaさんの連載です。<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>で<a data-gtm-click-label="entry-summary-keyword" href="/q/%E4%BD%8E%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC">低レイヤー</a>を学んでいきます。根底の</p> <a href="https://qiita.com/po3rin/items/0d8fef14bfe222f334b7" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/ba1f28d69e89269d215796015a3c2803b1425691/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9R28lRTMlODIlOTIlRTUlQTclOEIlRTMlODIlODElRTMlODElQTYxJUU1JUI5JUI0JUU5JTk2JTkzJUUzJTgxJUE3JUU2JTlDJTgwJUU5JUFCJTk4JUUzJTgxJUFCJUUzJTgxJThBJUU0JUI4JTk2JUU4JUE5JUIxJUUzJTgxJUFCJUUzJTgxJUFBJUUzJTgxJUEzJUUzJTgxJTlGR28lRTklOTYlQTIlRTklODAlQTMlRTMlODMlOTYlRTMlODMlODMlRTMlODIlQUYlRTMlODMlOUUlRTMlODMlQkMlRTMlODIlQUYlRTMlODIlOTIlRTYlOTklOTIlRTMlODElOTclRTMlODElQkUlRTMlODElOTklRTMlODAlODImdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWJlOWY1Yzk2YTgyOWY2MzA4ZjMwNmU2Y2Q1M2I0NzA1%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBwbzNyaW4mdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTE0ZDY4NWRkM2Q4ZjUzMmJlYWZhNmM4Y2FiYzJlMjkx%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3De3a00d25d191e10629d57978ed3ef043" alt="Goを始めて1年間で最高にお世話になったGo関連ブックマークを晒します。 - Qiita"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4675608882989274946"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://qiita.com/po3rin/items/0d8fef14bfe222f334b7" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20191011#bookmark-4675608882989274946" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2019/10/11</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> <li><a href="/damonon/it/" data-gtm-click-label="user-reaction-tag">it</a></li> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4675608882989274946/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://speakerdeck.com/cohhei/naze-go-hamaikurosabisufalsetamefalseyan-yu-nafalseka-why-go-is-a-language-for-microservices"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://speakerdeck.com/cohhei/naze-go-hamaikurosabisufalsetamefalseyan-yu-nafalseka-why-go-is-a-language-for-microservices" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fspeakerdeck.com%2Fcohhei%2Fnaze-go-hamaikurosabisufalsetamefalseyan-yu-nafalseka-why-go-is-a-language-for-microservices" alt="">なぜ Go はマイクロサービスのための言語なのか - Why Go is a language for microservices</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/speakerdeck.com/cohhei/naze-go-hamaikurosabisufalsetamefalseyan-yu-nafalseka-why-go-is-a-language-for-microservices" class="js-keyboard-entry-page-openable" title="なぜ Go はマイクロサービスのための言語なのか - Why Go is a language for microservices (123ブックマーク)" data-gtm-click-label="user-bookmark-users">123 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fspeakerdeck.com%2Fcohhei" title="『speakerdeck.com/cohhei』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> speakerdeck.com/cohhei </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">なぜ <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> はマイクロサービスのための言語なのか - Why <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> is a language for mic<a data-gtm-click-label="entry-summary-keyword" href="/q/ROS">ros</a>ervices</p> <a href="https://speakerdeck.com/cohhei/naze-go-hamaikurosabisufalsetamefalseyan-yu-nafalseka-why-go-is-a-language-for-microservices" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/1d8f0d8c0f5e0354d8c83dc5e98fd7593c23bed5/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Ff33ec94f8c76452c8fce696fe35b78fd%2Fslide_0.jpg%3F13027306" alt="なぜ Go はマイクロサービスのための言語なのか - Why Go is a language for microservices"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4671491358047043010"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://speakerdeck.com/cohhei/naze-go-hamaikurosabisufalsetamefalseyan-yu-nafalseka-why-go-is-a-language-for-microservices" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20190714#bookmark-4671491358047043010" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2019/07/14</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> <li><a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4671491358047043010/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://qiita.com/po3rin/items/5329d6e06d3d01bfec99"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/po3rin/items/5329d6e06d3d01bfec99" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fpo3rin%2Fitems%2F5329d6e06d3d01bfec99" alt="">「Vue.js + Go + AWS + LINE Messaging API」で結婚式のWEB招待状 &amp; 画像解析と共有 &amp; エンディングムービー自動生成システムを開発した!! - Qiita</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/po3rin/items/5329d6e06d3d01bfec99" class="js-keyboard-entry-page-openable" title="「Vue.js + Go + AWS + LINE Messaging API」で結婚式のWEB招待状 &amp; 画像解析と共有 &amp; エンディングムービー自動生成システムを開発した!! - Qiita (169ブックマーク)" data-gtm-click-label="user-bookmark-users">169 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fqiita.com%2F" title="『qiita.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> qiita.com </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">「<a data-gtm-click-label="entry-summary-keyword" href="/q/vue">Vue</a>.js + <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> + <a data-gtm-click-label="entry-summary-keyword" href="/q/aws">AWS</a> + <a data-gtm-click-label="entry-summary-keyword" href="/q/LINE">LINE</a> Messaging <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>」で<a data-gtm-click-label="entry-summary-keyword" href="/q/%E7%B5%90%E5%A9%9A%E5%BC%8F">結婚式</a>のWEB招待状 & 画像解析と共有 & エンディングムービー自動生成システムを開発した!! Introduction こんにちはpo3rinです。先日<a data-gtm-click-label="entry-summary-keyword" href="/q/%E7%B5%90%E5%A9%9A%E5%BC%8F">結婚式</a>があり、タイトルの通り 「<a data-gtm-click-label="entry-summary-keyword" href="/q/vue">Vue</a>.js + <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> + <a data-gtm-click-label="entry-summary-keyword" href="/q/aws">AWS</a> + <a data-gtm-click-label="entry-summary-keyword" href="/q/LINE">LINE</a> Messaging <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>」 で<a data-gtm-click-label="entry-summary-keyword" href="/q/%E7%B5%90%E5%A9%9A%E5%BC%8F">結婚式</a>を便利 & 盛り上げるサービスを作ったので共有します。新郎新婦2人ともWEB業界なので<a data-gtm-click-label="entry-summary-keyword" href="/q/%E7%B5%90%E5%A9%9A%E5%BC%8F">結婚式</a>のテーマを「plus plus ( ++ つまりプログラミングにおけるインクリメントを表現)」と少し洒落たテーマで<a data-gtm-click-label="entry-summary-keyword" href="/q/%E7%B5%90%E5%A9%9A%E5%BC%8F">結婚式</a>を作りました。テーマの通り2人のできることを組み合わせて<a data-gtm-click-label="entry-summary-keyword" href="/q/%E7%B5%90%E5%A9%9A%E5%BC%8F">結婚式</a>を作ろうとしたのがこの開発の始まりでした。ウェディング業界のみなさん、お<a data-gtm-click-label="entry-summary-keyword" href="/q/%E4%BB%95%E4%BA%8B">仕事</a>お待ちしてます笑 今回の投稿では下記を中心にお話します。 * 何を作ったか * インフラ構成</p> <a href="https://qiita.com/po3rin/items/5329d6e06d3d01bfec99" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/cbc1f0f7d57c0fbd7dc87d81bc07542c36a83eff/height=288;version=1;width=512/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fqiita-fb-2887e7b4aad86fd8c25cea84846f2236.png" alt="「Vue.js + Go + AWS + LINE Messaging API」で結婚式のWEB招待状 &amp; 画像解析と共有 &amp; エンディングムービー自動生成システムを開発した!! - Qiita"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4670615114897717922"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://qiita.com/po3rin/items/5329d6e06d3d01bfec99" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20190625#bookmark-4670615114897717922" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2019/06/25</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/Vue/" data-gtm-click-label="user-reaction-tag">Vue</a></li> <li><a href="/damonon/js/" data-gtm-click-label="user-reaction-tag">js</a></li> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4670615114897717922/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://note.mu/mkudo/n/n6482c47e9708"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://note.mu/mkudo/n/n6482c47e9708" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fnote.com%2Fmkudo%2Fn%2Fn6482c47e9708" alt="">Go 言語で API サーバーの開発をはじめるためのライブラリ選定|maco</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/note.com/mkudo/n/n6482c47e9708" class="js-keyboard-entry-page-openable" title="Go 言語で API サーバーの開発をはじめるためのライブラリ選定|maco (375ブックマーク)" data-gtm-click-label="user-bookmark-users">375 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fnote.com%2Fmkudo" title="『note.com/mkudo』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> note.com/mkudo </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">こんにちは、まちいろの工藤です。 まちいろでは開発フレームワークに <a data-gtm-click-label="entry-summary-keyword" href="/q/rails">Rails</a> を採用していますが、最近の新規案件では <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> 言語を採用してみています。この記事では、<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> で開発を始めるにあたって行ったライブラリ選定の中身を紹介したいと思います。 選定にあたっては、awesome-<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a> や Qi<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>a などの記事を参考にしました。 Modules<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> 1.11 から <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> modules が導入されたとのことで、素直に <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> modules を利用することにしました。特にハマることもなく利用ができています。 Web Application Framework<a data-gtm-click-label="entry-summary-keyword" href="/q/grpc">gRPC</a> + <a data-gtm-click-label="entry-summary-keyword" href="/q/grpc">grpc</a>-<a data-gtm-click-label="entry-summary-keyword" href="/q/gateway">gateway</a> or <a data-gtm-click-label="entry-summary-keyword" href="/q/grpc">grpc</a>-web ・https://<a data-gtm-click-label="entry-summary-keyword" href="/q/github">github</a>.com/<a data-gtm-click-label="entry-summary-keyword" href="/q/grpc">grpc</a>/<a data-gtm-click-label="entry-summary-keyword" href="/q/grpc">grpc</a>-<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a> ・🙆proto でスキーマ駆動開発が可能 ・🙅♂️REST <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> を提供する場合は <a data-gtm-click-label="entry-summary-keyword" href="/q/grpc">grpc</a>-ga</p> <a href="https://note.com/mkudo/n/n6482c47e9708" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/a3d101e4d04758efee190e57cda036b465e86a81/height=288;version=1;width=512/https%3A%2F%2Fassets.st-note.com%2Fproduction%2Fuploads%2Fimages%2F65240156%2Fprofile_b6fcfa8d73da757679e2b737693e4fb6.png%3Ffit%3Dbounds%26format%3Djpeg%26quality%3D85%26width%3D330" alt="Go 言語で API サーバーの開発をはじめるためのライブラリ選定|maco"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4666066722454149954"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://note.mu/mkudo/n/n6482c47e9708" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20190319#bookmark-4666066722454149954" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2019/03/19</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> <li><a href="/damonon/%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA/" data-gtm-click-label="user-reaction-tag">ライブラリ</a></li> <li><a href="/damonon/%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-reaction-tag">開発</a></li> <li><a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4666066722454149954/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://qiita.com/muroon/items/8add8da911341312176d"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/muroon/items/8add8da911341312176d" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fmuroon%2Fitems%2F8add8da911341312176d" alt="">Goで書くClean Architecture API - Qiita</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/muroon/items/8add8da911341312176d" class="js-keyboard-entry-page-openable" title="Goで書くClean Architecture API - Qiita (160ブックマーク)" data-gtm-click-label="user-bookmark-users">160 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fqiita.com%2Fmuroon" title="『qiita.com/muroon』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> qiita.com/muroon </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">Enterprise Business Rules ビジネスルールの為のデータ構造を持ったオブジェクト。 データの実態を表す場所。 Application Business Rules ビジネスルールを操作する場所。 つまりこのアプリケーションで何ができるかを実践します。 In<a data-gtm-click-label="entry-summary-keyword" href="/q/TERF">terf</a>ace Adapter 外部からの入力、データの永続化、表示を担当する場所 Frameworks & Drivers Webフレームワーク、<a data-gtm-click-label="entry-summary-keyword" href="/q/DB">DB</a>操作の実際に担うソース、 <a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89">フロントエンド</a>の<a data-gtm-click-label="entry-summary-keyword" href="/q/UI">UI</a>などがここに所属しています。 外側のレイヤーの要素を直接参照してはならない 上記の図におけるこの矢印は依存を表しており、 内側のレイヤーから外側のレイヤーの要素への依存を禁じます。 ここでいう依存とは要素(構造体、変数など)への直接参照をさせないということです。 では外側のレイヤー要素を参照せざる得ないは、どうするのでしょ</p> <a href="https://qiita.com/muroon/items/8add8da911341312176d" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/602fb1cb994d58e24a15b941309d1aa4ff5882f8/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9R28lRTMlODElQTclRTYlOUIlQjglRTMlODElOEZDbGVhbiUyMEFyY2hpdGVjdHVyZSUyMEFQSSZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9NWM5N2VkMzYwNzdlYWU1NjJjYTBiYzJhMzMzNjBkMDk%26mark-x%3D120%26mark-y%3D96%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBtdXJvb24mdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWYwMjhlYTFjMTA2MGIwMmY1MWQ3MWU5MWYxMmNkNzFl%26blend-x%3D120%26blend-y%3D500%26blend-mode%3Dnormal%26s%3D0869db046cacc597d688ecf9bcccfe6c" alt="Goで書くClean Architecture API - Qiita"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-374800761"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://qiita.com/muroon/items/8add8da911341312176d" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20181210#bookmark-374800761" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2018/12/10</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/Architecture/" data-gtm-click-label="user-reaction-tag">Architecture</a></li> <li><a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/374800761/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://qiita.com/po3rin/items/c70105f684e6816621d2"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/po3rin/items/c70105f684e6816621d2" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fpo3rin%2Fitems%2Fc70105f684e6816621d2" alt="">「Vue.js + Go言語 + Docker」で作る!画像アップロード機能実装ハンズオン - Qiita</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/po3rin/items/c70105f684e6816621d2" class="js-keyboard-entry-page-openable" title="「Vue.js + Go言語 + Docker」で作る!画像アップロード機能実装ハンズオン - Qiita (267ブックマーク)" data-gtm-click-label="user-bookmark-users">267 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fqiita.com%2Fpo3rin" title="『qiita.com/po3rin』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> qiita.com/po3rin </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">こんにちはpo3rinです。<a data-gtm-click-label="entry-summary-keyword" href="/q/vue">Vue</a>.js Advent Calender 2018 9日目の記事です。 8日目の記事は <a data-gtm-click-label="entry-summary-keyword" href="/q/vue">vue</a>.js(n<a data-gtm-click-label="entry-summary-keyword" href="/q/UX">ux</a>t.js) の plugin はとても便利 でした。 11月にフリーの案件で <a data-gtm-click-label="entry-summary-keyword" href="/q/vue">Vue</a>.js + <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>言語で画像アップロード機能のあるCMSを作りました。<a data-gtm-click-label="entry-summary-keyword" href="/q/vue">Vue</a>.jsでの実装の際には n<a data-gtm-click-label="entry-summary-keyword" href="/q/PM">pm</a>モジュールである <a data-gtm-click-label="entry-summary-keyword" href="/q/vue">vue</a>2-dropzone を使うと、<a data-gtm-click-label="entry-summary-keyword" href="/q/vue">Vue</a>.js にとって便利な機能が提供されており、すぐにアップロード機能が作れました。なので今回は <a data-gtm-click-label="entry-summary-keyword" href="/q/vue">Vue</a>.js + <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>言語 で画像アップロードを行う機能の実装をハンズオン形式で紹介していきます。 今回は <a data-gtm-click-label="entry-summary-keyword" href="/q/vue">Vue</a>.js のアドベントカレンダーとしての投稿なので、<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>言語の実装を飛ばしたい方向けに、<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>言語のインストールが不要になるように、すでに<a data-gtm-click-label="entry-summary-keyword" href="/q/docker">Docker</a>環境を用意してあります。せっかくなので今回は Docke</p> <a href="https://qiita.com/po3rin/items/c70105f684e6816621d2" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/9f7a44d9db8760d3a254ecb7c37a15a789a612b7/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgwJThDVnVlLmpzJTIwJTJCJTIwR28lRTglQTglODAlRTglQUElOUUlMjAlMkIlMjBEb2NrZXIlRTMlODAlOEQlRTMlODElQTclRTQlQkQlOUMlRTMlODIlOEIlRUYlQkMlODElRTclOTQlQkIlRTUlODMlOEYlRTMlODIlQTIlRTMlODMlODMlRTMlODMlOTclRTMlODMlQUQlRTMlODMlQkMlRTMlODMlODklRTYlQTklOUYlRTglODMlQkQlRTUlQUUlOUYlRTglQTMlODUlRTMlODMlOEYlRTMlODMlQjMlRTMlODIlQkElRTMlODIlQUElRTMlODMlQjMmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWU5Y2UxOTc0ZjNkZDUyZDM4NmE0NGU0ZDcyMjE2ZmNl%26mark-x%3D120%26mark-y%3D96%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBwbzNyaW4mdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTA0ZTA3YTE4OTdjYmNkOWIyMWExMjk1YWUwYzJmMjdl%26blend-x%3D120%26blend-y%3D500%26blend-mode%3Dnormal%26s%3D82751ae56a08828a13421ef826471a2c" alt="「Vue.js + Go言語 + Docker」で作る!画像アップロード機能実装ハンズオン - Qiita"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-374783570"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://qiita.com/po3rin/items/c70105f684e6816621d2" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20181209#bookmark-374783570" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2018/12/09</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> <li><a href="/damonon/Vue/" data-gtm-click-label="user-reaction-tag">Vue</a></li> <li><a href="/damonon/docker/" data-gtm-click-label="user-reaction-tag">docker</a></li> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/374783570/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://qiita.com/trrrrrys/items/c2908b672ea7bcaf0d73"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/trrrrrys/items/c2908b672ea7bcaf0d73" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Ftrrrrrys%2Fitems%2Fc2908b672ea7bcaf0d73" alt="">[Go言語] もしも童話「シンデレラ」が、Goで書かれていたら。 - Qiita</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/trrrrrys/items/c2908b672ea7bcaf0d73" class="js-keyboard-entry-page-openable" title="[Go言語] もしも童話「シンデレラ」が、Goで書かれていたら。 - Qiita (334ブックマーク)" data-gtm-click-label="user-bookmark-users">334 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fqiita.com%2F" title="『qiita.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> qiita.com </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">シンデレラが<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>で書かれていたら。 という妄想です。 少し長いですがお付き合いください。 TL;DR ソースはここにおいてます https://<a data-gtm-click-label="entry-summary-keyword" href="/q/github">github</a>.com/lboavde1121/cinderella あらすじ 以下あらすじ。 シンデレラは、継母とその連れ子である姉たちに日々<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%81%84%E3%81%98%E3%82%81">いじめ</a>られていた。 あるとき、城で舞踏会が開かれ、姉たちは着飾って出ていくが、シンデレラにはドレスがなかった。 舞踏会に行きたがるシンデレラを、不可思議な力(魔法使い、仙女、ネズミ、母親の形見の木、白鳩など)が助け、準備を整えるが、魔法は午前零時に解けるので帰ってくるようにと警告される。 シンデレラは、城で王子に見初められる。 零時の鐘の音に焦ったシンデレラは階段に<a data-gtm-click-label="entry-summary-keyword" href="/q/%E9%9D%B4">靴</a>を落としてしまう。 王子は、<a data-gtm-click-label="entry-summary-keyword" href="/q/%E9%9D%B4">靴</a>を手がかりにシンデレラを捜す。 姉2人も含め、シンデレラの落とした<a data-gtm-click-label="entry-summary-keyword" href="/q/%E9%9D%B4">靴</a>は、シンデレラ以外の誰にも合わなかった。 シン</p> <a href="https://qiita.com/trrrrrys/items/c2908b672ea7bcaf0d73" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/cbc1f0f7d57c0fbd7dc87d81bc07542c36a83eff/height=288;version=1;width=512/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fqiita-fb-2887e7b4aad86fd8c25cea84846f2236.png" alt="[Go言語] もしも童話「シンデレラ」が、Goで書かれていたら。 - Qiita"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-374260502"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://qiita.com/trrrrrys/items/c2908b672ea7bcaf0d73" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20181120#bookmark-374260502" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2018/11/20</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> <li><a href="/damonon/it/" data-gtm-click-label="user-reaction-tag">it</a></li> <li><a href="/damonon/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-reaction-tag">プログラミング</a></li> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/374260502/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://re-engines.com/2018/11/05/go%E8%A8%80%E8%AA%9E%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%A8%E3%83%AD%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://re-engines.com/2018/11/05/go%E8%A8%80%E8%AA%9E%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%A8%E3%83%AD%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fre-engines.com%2F2018%2F11%2F05%2Fgo%25E8%25A8%2580%25E8%25AA%259E%25E3%2581%25AE%25E3%2582%25A8%25E3%2583%25A9%25E3%2583%25BC%25E3%2583%258F%25E3%2583%25B3%25E3%2583%2589%25E3%2583%25AA%25E3%2583%25B3%25E3%2582%25B0%25E3%2581%25A8%25E3%2583%25AD%25E3%2582%25B0%25E3%2583%25AD%25E3%2583%25BC%25E3%2583%2586%25E3%2583%25BC%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%25B3%2F" alt="">Go言語のエラーハンドリングとログローテーション | RE:ENGINES</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/re-engines.com/2018/11/05/go%E8%A8%80%E8%AA%9E%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%A8%E3%83%AD%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/" class="js-keyboard-entry-page-openable" title="Go言語のエラーハンドリングとログローテーション | RE:ENGINES (80ブックマーク)" data-gtm-click-label="user-bookmark-users">80 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fre-engines.com%2F" title="『re-engines.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> re-engines.com </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">はじめに こんにちは、今回は<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>言語でのエラーハンドリングとログ関連についての記事となります。 例外のない<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>言語でどのようにエラーを伝搬させていくのかについて一つの方法を紹介させていただき、その後、そのエラーをファイルに出力する方法を紹介したいと思います。 なお、開発環境の構築がまだの方は、ぜひこちらで環境構築をしてからお読みいただければと思います。 エラーハンドリングについてですが、まずは<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>言語で<a data-gtm-click-label="entry-summary-keyword" href="/q/ERR">err</a>orとは一体何ものなのかについて触れたいと思います。その後、pkg/<a data-gtm-click-label="entry-summary-keyword" href="/q/ERR">err</a>orsパッケージで<a data-gtm-click-label="entry-summary-keyword" href="/q/ERR">err</a>orをwrapをする方法を記載し、次の節でそれを活用した独自の<a data-gtm-click-label="entry-summary-keyword" href="/q/ERR">err</a>orsパッケージを作成したいと思います。 <a data-gtm-click-label="entry-summary-keyword" href="/q/ERR">err</a>or インターフェース <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>言語では例外の概念がないため(<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>2では例外が組み込まれるかもしれませんが)、ファイルの処理などで下記のように<a data-gtm-click-label="entry-summary-keyword" href="/q/ERR">err</a>orを返却するコードをよく目に</p> <a href="https://re-engines.com/2018/11/05/go%E8%A8%80%E8%AA%9E%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%A8%E3%83%AD%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/57c6a4fc32600077c663125ec9ccd0954ce05a5a/height=288;version=1;width=512/https%3A%2F%2Fre-engines.com%2Fwp-content%2Fuploads%2F2018%2F10%2Fgolang.png" alt="Go言語のエラーハンドリングとログローテーション | RE:ENGINES"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-373691386"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://re-engines.com/2018/11/05/go%E8%A8%80%E8%AA%9E%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%A8%E3%83%AD%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20181105#bookmark-373691386" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2018/11/05</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> <li><a href="/damonon/golang/" data-gtm-click-label="user-reaction-tag">golang</a></li> <li><a href="/damonon/%E3%82%A8%E3%83%A9%E3%83%BC/" data-gtm-click-label="user-reaction-tag">エラー</a></li> <li><a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/373691386/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://employment.en-japan.com/engineerhub/entry/2018/06/19/110000"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://employment.en-japan.com/engineerhub/entry/2018/06/19/110000" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Feh-career.com%2Fengineerhub%2Fentry%2F2018%2F06%2F19%2F110000" alt="">「Go言語らしさ」とは何か? Simplicityの哲学を理解し、Go Wayに沿った開発を進めることの良さ - エンジニアHub|Webエンジニアのキャリアを考える!</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/eh-career.com/engineerhub/entry/2018/06/19/110000" class="js-keyboard-entry-page-openable" title="「Go言語らしさ」とは何か? Simplicityの哲学を理解し、Go Wayに沿った開発を進めることの良さ - エンジニアHub|Webエンジニアのキャリアを考える! (1030ブックマーク)" data-gtm-click-label="user-bookmark-users">1030 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Feh-career.com%2F" title="『eh-career.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> eh-career.com </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary"><a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2">エンジニア</a>Hub > 記事一覧 > 「<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>言語らしさ」とは何か? <a data-gtm-click-label="entry-summary-keyword" href="/q/sim">Sim</a>plic<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>yの哲学を理解し、<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> Wayに沿った開発を進めることの良さ 「<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>言語らしさ」とは何か? <a data-gtm-click-label="entry-summary-keyword" href="/q/sim">Sim</a>plic<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>yの哲学を理解し、<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> Wayに沿った開発を進めることの良さ プログラミング言語には作者の設計思想が強く現れますが、<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>言語もまた後発であることを生かし、しっかりとした思想に基づいて開発されています。公式のドキュメント等で語られている<a data-gtm-click-label="entry-summary-keyword" href="/q/sim">Sim</a>plic<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>yの哲学を理解し、<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>言語らしさ、<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> Wayに従って開発する良さについて、<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%81%AF%E3%81%A6%E3%81%AA">はてな</a>チーフ<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2">エンジニア</a>の松木雅幸(Songmu)さんが解説します。 id:Songmuと申します。<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%81%AF%E3%81%A6%E3%81%AA">はてな</a>東京オフィスでチーフ<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2">エンジニア</a>を務め、<a data-gtm-click-label="entry-summary-keyword" href="/q/mackerel">Mackerel</a>というサーバー監視のSaaS開発においてプロダクトマネージャーを担当しています。 筆者が勤めている株式会社<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%81%AF%E3%81%A6%E3%81%AA">はてな</a>では、2</p> <a href="https://eh-career.com/engineerhub/entry/2018/06/19/110000" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/7224e560ac29c2ecec87e5cab6c836a7653d7556/height=288;version=1;width=512/https%3A%2F%2Feh-career.com%2Fimage%2Farticle_hub%2F94%2F95%2F194_01.jpg" alt="「Go言語らしさ」とは何か? Simplicityの哲学を理解し、Go Wayに沿った開発を進めることの良さ - エンジニアHub|Webエンジニアのキャリアを考える!"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-366082487"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://employment.en-japan.com/engineerhub/entry/2018/06/19/110000" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20180731#bookmark-366082487" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2018/07/31</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> <li><a href="/damonon/%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-reaction-tag">開発</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/366082487/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="http://www.hirotsuru.com/entry/2018/07/28/225520"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="http://www.hirotsuru.com/entry/2018/07/28/225520" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fblog.tsurubee.tech%2Fentry%2F2018%2F07%2F28%2F225520" alt="">Golangで軽量なSSHサーバを実装する - Fire Engine</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/blog.tsurubee.tech/entry/2018/07/28/225520" class="js-keyboard-entry-page-openable" title="Golangで軽量なSSHサーバを実装する - Fire Engine (105ブックマーク)" data-gtm-click-label="user-bookmark-users">105 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fblog.tsurubee.tech%2F" title="『blog.tsurubee.tech』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> blog.tsurubee.tech </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">今回は、<a data-gtm-click-label="entry-summary-keyword" href="/q/golang">Golang</a>の<a data-gtm-click-label="entry-summary-keyword" href="/q/golang">golang</a>.org/x/<a data-gtm-click-label="entry-summary-keyword" href="/q/crypto">crypto</a>/sshパッケージを使って、SSHサーバを構築してみました。 かなりミニマムな実装ですが、リモートからSSH接続して、対話的にコマンドが実行できるところまで実装しました。 コード <a data-gtm-click-label="entry-summary-keyword" href="/q/github">github</a>.com package m<a data-gtm-click-label="entry-summary-keyword" href="/q/ai">ai</a>n import ( "<a data-gtm-click-label="entry-summary-keyword" href="/q/golang">golang</a>.org/x/<a data-gtm-click-label="entry-summary-keyword" href="/q/crypto">crypto</a>/ssh" "<a data-gtm-click-label="entry-summary-keyword" href="/q/log">log</a>" "<a data-gtm-click-label="entry-summary-keyword" href="/q/net">net</a>" "io/ioutil" "fmt" "os/exec" "<a data-gtm-click-label="entry-summary-keyword" href="/q/github">github</a>.com/kr/pty" "sync" "io" ) func m<a data-gtm-click-label="entry-summary-keyword" href="/q/ai">ai</a>n() { serverConfig := &ssh.ServerConfig{ NoClientAuth: true, } privateKeyBytes, <a data-gtm-click-label="entry-summary-keyword" href="/q/ERR">err</a> := ioutil.ReadFile("id_rsa") if <a data-gtm-click-label="entry-summary-keyword" href="/q/ERR">err</a> != nil { <a data-gtm-click-label="entry-summary-keyword" href="/q/log">log</a>.Fatal(</p> <a href="https://blog.tsurubee.tech/entry/2018/07/28/225520" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/3b8236b7cdfad82b5e30248c80df79b98dbf081a/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F10328537792369162378%2F10257846132605451154%2F1546127946" alt="Golangで軽量なSSHサーバを実装する - Fire Engine"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-368246347"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://www.hirotsuru.com/entry/2018/07/28/225520" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20180729#bookmark-368246347" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2018/07/29</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/golang/" data-gtm-click-label="user-reaction-tag">golang</a></li> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> <li><a href="/damonon/TCP/" data-gtm-click-label="user-reaction-tag">TCP</a></li> <li><a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> <li><a href="/damonon/SSH/" data-gtm-click-label="user-reaction-tag">SSH</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/368246347/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://speakerdeck.com/cowsys/goyan-yu-niyoru2nian-ban-falsexin-gui-hurotakutokai-fa-tosofalsezong-gua?slide=8"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://speakerdeck.com/cowsys/goyan-yu-niyoru2nian-ban-falsexin-gui-hurotakutokai-fa-tosofalsezong-gua?slide=8" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fspeakerdeck.com%2Fcowsys%2Fgoyan-yu-niyoru2nian-ban-falsexin-gui-hurotakutokai-fa-tosofalsezong-gua" alt="">Go言語による2年半の新規プロダクト開発とその総括</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/speakerdeck.com/cowsys/goyan-yu-niyoru2nian-ban-falsexin-gui-hurotakutokai-fa-tosofalsezong-gua" class="js-keyboard-entry-page-openable" title="Go言語による2年半の新規プロダクト開発とその総括 (136ブックマーク)" data-gtm-click-label="user-bookmark-users">136 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fspeakerdeck.com%2Fcowsys" title="『speakerdeck.com/cowsys』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> speakerdeck.com/cowsys </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">"I'm Feeling Lucky" - <a data-gtm-click-label="entry-summary-keyword" href="/q/Build">Build</a>ing Great Search Experiences for Today's Users (#IAC19)</p> <a href="https://speakerdeck.com/cowsys/goyan-yu-niyoru2nian-ban-falsexin-gui-hurotakutokai-fa-tosofalsezong-gua" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/a687a3b91ca766cc4a14744e460665885c54f83f/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F2046b2faf42f44be8615a3b28ee1295c%2Fslide_0.jpg%3F10341668" alt="Go言語による2年半の新規プロダクト開発とその総括"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-366904884"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://speakerdeck.com/cowsys/goyan-yu-niyoru2nian-ban-falsexin-gui-hurotakutokai-fa-tosofalsezong-gua?slide=8" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20180704#bookmark-366904884" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2018/07/04</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> <li><a href="/damonon/%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-reaction-tag">開発</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/366904884/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="http://qiita.com/mumoshu/items/0d2f2a13c6e9fc8da2a4"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="http://qiita.com/mumoshu/items/0d2f2a13c6e9fc8da2a4" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fmumoshu%2Fitems%2F0d2f2a13c6e9fc8da2a4" alt="">他言語から来た人がGoを使い始めてすぐハマったこととその答え - Qiita</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/mumoshu/items/0d2f2a13c6e9fc8da2a4" class="js-keyboard-entry-page-openable" title="他言語から来た人がGoを使い始めてすぐハマったこととその答え - Qiita (347ブックマーク)" data-gtm-click-label="user-bookmark-users">347 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fqiita.com%2Fmumoshu" title="『qiita.com/mumoshu』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> qiita.com/mumoshu </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">環境構築するまでに知りたかったこと <a data-gtm-click-label="entry-summary-keyword" href="/q/golang">Golang</a>の最新バージョンは? 1.16.6 (2020/07/12リリース) <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>のインストール方法は? <a data-gtm-click-label="entry-summary-keyword" href="/q/MacOS">macOS</a> の場合は brew で OK この場合、<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>のsdkは /usr/local/Cellar/<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>/<バージョン>/libexec にインストールされます。 IntelliJ IDEA や <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>Land にような IDE に「<a data-gtm-click-label="entry-summary-keyword" href="/q/go">GO</a>ROOT」というものの指定を求められたら、このパスを使います。 brew で入らないバージョンの <a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a> が必要だったり、いくつかのバージョンを併用したい場合は $ <a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a> get <a data-gtm-click-label="entry-summary-keyword" href="/q/golang">golang</a>.org/dl/<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>1.14.4 $ <a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>1.14.4 download # 1.xx.0 の場合 $ <a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a> get <a data-gtm-click-label="entry-summary-keyword" href="/q/golang">golang</a>.org/dl/<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>1.15 $ <a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>1.15 download # 上記で<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a> getしたg</p> <a href="https://qiita.com/mumoshu/items/0d2f2a13c6e9fc8da2a4" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/3c435a0b2e1bd071450234ffce36b39f18be18c3/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUU0JUJCJTk2JUU4JUE4JTgwJUU4JUFBJTlFJUUzJTgxJThCJUUzJTgyJTg5JUU2JTlEJUE1JUUzJTgxJTlGJUU0JUJBJUJBJUUzJTgxJThDR28lRTMlODIlOTIlRTQlQkQlQkYlRTMlODElODQlRTUlQTclOEIlRTMlODIlODElRTMlODElQTYlRTMlODElOTklRTMlODElOTAlRTMlODMlOEYlRTMlODMlOUUlRTMlODElQTMlRTMlODElOUYlRTMlODElOTMlRTMlODElQTglRTMlODElQTglRTMlODElOUQlRTMlODElQUUlRTclQUQlOTQlRTMlODElODgmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWI5MDZlMTQ5YmQ1MDRiODlhNjRjNzhhYzRkNjEwODI3%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBtdW1vc2h1JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1hMzZjNWZmZDI2NDc0ZjFlYTdkYjc1OTRlZmNlZDVjNg%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D3d0bb73588fbdc325e50334f1eb63dbd" alt="他言語から来た人がGoを使い始めてすぐハマったこととその答え - Qiita"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-286637299"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://qiita.com/mumoshu/items/0d2f2a13c6e9fc8da2a4" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20180505#bookmark-286637299" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2018/05/05</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> <li><a href="/damonon/it/" data-gtm-click-label="user-reaction-tag">it</a></li> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/286637299/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="http://blog.monochromegane.com/blog/2018/05/03/smux/"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="http://blog.monochromegane.com/blog/2018/05/03/smux/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fblog.monochromegane.com%2Fblog%2F2018%2F05%2F03%2Fsmux%2F" alt="">Go言語でTCPやソケット通信を多重化,高速化するsmux(ソケットマルチプレクサ)をつくった · THINKING MEGANE</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/blog.monochromegane.com/blog/2018/05/03/smux/" class="js-keyboard-entry-page-openable" title="Go言語でTCPやソケット通信を多重化,高速化するsmux(ソケットマルチプレクサ)をつくった · THINKING MEGANE (275ブックマーク)" data-gtm-click-label="user-bookmark-users">275 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fblog.monochromegane.com%2F" title="『blog.monochromegane.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> blog.monochromegane.com </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">サーバ間で分散処理を行う際の相互通信におけるボトルネックを解消するため,sm<a data-gtm-click-label="entry-summary-keyword" href="/q/UX">ux</a>(Socket multiplexer)を開発している. サーバ間の相互通信におけるボトルネックとその解決策 一対のサーバ間で多数のリクエストとレスポンスが送受信され,信頼性の高い通信としてTCPを利用する場合,コネクション確立のオーバーヘッドを排除するために接続の再利用が行われる.しかしながら,クライアントは送信に対する受信を待つ必要があるため,レスポンスまでに幾許かの処理時間を要する状況では送信のキューがたまってしまう.そこで複数の接続を利用することでこれを解消する方法が取られるが,追加の接続はリソース使用に関するオーバーヘッドを発生させてしまう.なにより各接続におけるレスポンス待ち時間は依然として解決しておらず,接続の利用面から見て非効率である.そこで,単一の接続において,仮想的に並行送受信を行う方法が提</p> <a href="https://blog.monochromegane.com/blog/2018/05/03/smux/" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/b7b2dc82e236710e2a9e8dbb9ef7e60703c12192/height=288;version=1;width=512/https%3A%2F%2Fblog.monochromegane.com%2Fimages%2Fogp.png" alt="Go言語でTCPやソケット通信を多重化,高速化するsmux(ソケットマルチプレクサ)をつくった · THINKING MEGANE"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-363482156"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://blog.monochromegane.com/blog/2018/05/03/smux/" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20180504#bookmark-363482156" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2018/05/04</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> <li><a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> <li><a href="/damonon/TCP/" data-gtm-click-label="user-reaction-tag">TCP</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/363482156/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://www.slideshare.net/lestrrat/goapi-go-conference-2018-spring"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://www.slideshare.net/lestrrat/goapi-go-conference-2018-spring" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fgoapi-go-conference-2018-spring%2F93883732" alt="">GoらしいAPIを求める旅路 (Go Conference 2018 Spring)</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.slideshare.net/slideshow/goapi-go-conference-2018-spring/93883732" class="js-keyboard-entry-page-openable" title="GoらしいAPIを求める旅路 (Go Conference 2018 Spring) (231ブックマーク)" data-gtm-click-label="user-bookmark-users">231 users</a> </span> </li> <li> <a href="/damonon/?url=https%3A%2F%2Fwww.slideshare.net%2Fslideshow" title="『www.slideshare.net/slideshow』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> www.slideshare.net/slideshow </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">2. • @lestrrat • <a data-gtm-click-label="entry-summary-keyword" href="/q/perl">Perl</a>/<a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> hacker, author, father • Author of <a data-gtm-click-label="entry-summary-keyword" href="/q/github">github</a>.com/peco/peco • Organizer for <a data-gtm-click-label="entry-summary-keyword" href="/q/Build">build</a>erscon</p> <a href="https://www.slideshare.net/slideshow/goapi-go-conference-2018-spring/93883732" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/6c54557dcc4fa1b9b1705a940347689c44967622/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fgocon2018spring-180415024330-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds" alt="GoらしいAPIを求める旅路 (Go Conference 2018 Spring)"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-362348041"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://www.slideshare.net/lestrrat/goapi-go-conference-2018-spring" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20180415#bookmark-362348041" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2018/04/15</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> <li><a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> <li><a href="/damonon/golang/" data-gtm-click-label="user-reaction-tag">golang</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/362348041/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="http://golang.rdy.jp/2018/02/25/vecty/"> <div class="centerarticle-entry "> <h3 class="centerarticle-entry-title"> <a href="http://golang.rdy.jp/2018/02/25/vecty/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=http%3A%2F%2Fgolang.rdy.jp%2F2018%2F02%2F25%2Fvecty%2F" alt="">Goだけで作るフロントエンド</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/golang.rdy.jp/2018/02/25/vecty/" class="js-keyboard-entry-page-openable" title="Goだけで作るフロントエンド (212ブックマーク)" data-gtm-click-label="user-bookmark-users">212 users</a> </span> </li> <li> <a href="/damonon/?url=http%3A%2F%2Fgolang.rdy.jp%2F" title="『golang.rdy.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> golang.rdy.jp </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary"><a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> のシンタックスだけで <a data-gtm-click-label="entry-summary-keyword" href="/q/HTML">HTML</a> とスタイルと JS を構築する「Vecty」という<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89">フロントエンド</a>開発キットの紹介 先日 Umeda.<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>#3 にて登壇して Vecty を紹介しました。資料はこちらです。 Vecty とは? リポジトリ: https://<a data-gtm-click-label="entry-summary-keyword" href="/q/github">github</a>.com/<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>pherjs/vecty <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>pherJSむけの <a data-gtm-click-label="entry-summary-keyword" href="/q/react">React</a>-like な frontend develo<a data-gtm-click-label="entry-summary-keyword" href="/q/PM">pm</a>ent k<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a> です。 <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>pherJS について 前に書いた紹介記事を参照 Vecty の主な機能は <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a>pherJS の <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> 記述を JS への<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B9">トランス</a>パイル機能を利用します <a data-gtm-click-label="entry-summary-keyword" href="/q/go">Go</a> のシンタックスのみで <a data-gtm-click-label="entry-summary-keyword" href="/q/HTML">HTML</a> とスタイルとイベントハンドリングを記述 <a data-gtm-click-label="entry-summary-keyword" href="/q/HTML">HTML</a> 記述ツリーをコンポーネントとして定義する支援機能 コンポーネントツリーを初期レンダリングする機能 仮想 DOM のようにコンポーネント</p> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-359161641"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://golang.rdy.jp/2018/02/25/vecty/" data-user-name="damonon"> <a href="/damonon/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/damonon/profile.png" alt="damonon" title="damonon" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/damonon/20180227#bookmark-359161641" class="js-anchor-path" data-gtm-click-label="user-reaction-username">damonon</a></span> <span class="centerarticle-reaction-timestamp">2018/02/27</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/damonon/it/" data-gtm-click-label="user-reaction-tag">it</a></li> <li><a href="/damonon/go/" data-gtm-click-label="user-reaction-tag">go</a></li> <li><a href="/damonon/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/359161641/comment/damonon" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li> <div class="centerarticle-pager"> <span class="centerarticle-waiting js-read-more-waiting is-hidden"><img src="https://b.st-hatena.com/77d2ee6f79ddaf78eb2d198936bae315b6721993/images/v4/public/common/loading@2x.gif" alt="残りのブックマークを読み込んでいます" width="16" height="16" /></span> <span>1</span> <span><a href="/damonon/go/?page=2">2</a></span> <span class="centerarticle-pager-next"><a href="/damonon/go/?page=2">次のページ</a></span> </div> </li> </ul> </div> </div> <script type="text/javascript"> // ---------------- dfp section ---------------- var valve = valve || []; valve.push(function(v) { v.defineDFPSlot({ unit: '/4374287/b_pc_o_18_3025_0_no', sizes: [[300,250]], slotId: 'user-sidebar-ad-top' }); v.defineDFPSlot({ unit: '/4374287/b_pc_o_19_3060_0_no', sizes: [[300,600],[300,250]], slotId: 'user-sidebar-ad-bottom' }); v.sealDFPSlots(); }); </script> <script> var valve = window.valve || []; valve.push(function(v) { var pageKeyValues = {}; if (document.cookie.split(';').some(function(item) { return item.indexOf('202011_guest_status=register_incomplete') >= 0})) { pageKeyValues.bookmark_status = 'register_incomplete'; } v.config({ pageKeyValues: pageKeyValues, content: { result: "ng" }, service: 'bookmark' }); }); </script> <script src="https://cdn.pool.st-hatena.com/valve/valve.js" async></script> <div class="right-container"> <div id="user-sidebar-ad-top" class="centerarticle-aside-ad"></div> <section class="centerarticle-aside-section"> <div class="centerarticle-aside-info"> <h3 class="centerarticle-aside-info-title">お知らせ</h3> <ul class="centerarticle-aside-info-list"> <li class="centerarticle-aside-info-item"> <a href="https://bookmark.hatenastaff.com/entry/2024/12/10/120442?utm_source=user_page_side_column&utm_medium=official_announcement&utm_campaign=2024%2F12%2F10%2F120442" target="_blank"> <p class="centerarticle-aside-info-category">ランキング</p> <h4 class="centerarticle-aside-info-item-title">今週のはてなブックマーク数ランキング(2024年12月第1週)</h4> <time class="centerarticle-aside-info-item-time">2024/12/10</time> </a> </li> <li class="centerarticle-aside-info-item"> <a href="https://bookmark.hatenastaff.com/entry/2024/12/06/115429?utm_source=user_page_side_column&utm_medium=official_announcement&utm_campaign=2024%2F12%2F06%2F115429" target="_blank"> <p class="centerarticle-aside-info-category">ランキング</p> <h4 class="centerarticle-aside-info-item-title">月間はてなブックマーク数ランキング(2024年11月)</h4> <time class="centerarticle-aside-info-item-time">2024/12/06</time> </a> </li> <li class="centerarticle-aside-info-item"> <a href="https://bookmark.hatenastaff.com/entry/2024/12/03/122531?utm_source=user_page_side_column&utm_medium=official_announcement&utm_campaign=2024%2F12%2F03%2F122531" target="_blank"> <p class="centerarticle-aside-info-category">ランキング</p> <h4 class="centerarticle-aside-info-item-title">今週のはてなブックマーク数ランキング(2024年11月第5週)</h4> <time class="centerarticle-aside-info-item-time">2024/12/03</time> </a> </li> </ul> <div class="enterarticle-aside-info-readmore"> <a href="https://bookmark.hatenastaff.com/?utm_source=user_page_side_column&utm_medium=official_announcement&utm_campaign=readmore" class="enterarticle-aside-info-readmore-button" target="_blank">もっと読む</a> </div> </div> </section> <section class="centerarticle-aside-section"> <h3 class="centerarticle-aside-title">公式Twitter</h3> <ul class="centerarticle-aside-twitter"> <li><a href="https://twitter.com/HatenaBookmark" target="_blank" rel="noopener" data-gtm-click-label="user-officialTwitter-name">@HatenaBookmark</a><p>リリース、障害情報などのサービスのお知らせ</p></li> <li><a href="https://twitter.com/hatebu" target="_blank" rel="noopener" data-gtm-click-label="user-hotentryTwitter-name">@hatebu</a><p>最新の人気エントリーの配信</p></li> </ul> </section> <div id="user-sidebar-ad-bottom" class="centerarticle-aside-ad"></div> </div> </div> </div> <div class="progress-modal is-hidden js-progress-modal"> <div class="progress-modal-spiner"></div> <div class="progress-modal-message"> <p class="progress-modal-message-text js-progress-message">処理を実行中です</p> <button class="progress-modal-cancel js-cancel-button">中止</button> </div> </div> <div class="message-modal js-message-modal is-hidden auto-hide"> <div class="message-modal-message"> <p class="message-modal-message-text js-message-modal-message-text"></p> <button class="message-modal-btn js-message-modal-close-button">閉じる</button> </div> </div> <div id="keyboard-shortcut-help" class="shortcut-help is-hidden"> <h3 class="shortcut-help-title">キーボードショートカット一覧</h3> <p><span class="shortcut-help-key">j</span>次のブックマーク</p> <p><span class="shortcut-help-key">k</span>前のブックマーク</p> <p><span class="shortcut-help-key">l</span>あとで読む</p> <p><span class="shortcut-help-key">e</span>コメント一覧を開く</p> <p><span class="shortcut-help-key">o</span>ページを開く</p> <button tyle="button" class="shortcut-help-close js-close-button">✕</button> </div> <div class="footer"> <div class="footer-inner"> <div class="footer-inner-group footer-bookmark"> <h2 class="footer-title"><a href="/" data-gtm-label="footer-btop">はてなブックマーク</a></h2> <div class="footer-list-wrapper"> <ul class="footer-list footer-list--pc"> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/all" class="hotentry js-keyboard-openable" data-gtm-label="footerCategories-hotentry">総合</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/general" class="general js-keyboard-openable" data-gtm-label="footerCategories-general">一般</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/social" class="cat-social js-keyboard-openable" data-gtm-label="footerCategories-social">世の中</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/economics" class="cat-economics js-keyboard-openable" data-gtm-label="footerCategories-economics">政治と経済</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/life" class="cat-life js-keyboard-openable" data-gtm-label="footerCategories-life">暮らし</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/knowledge" class="cat-knowledge js-keyboard-openable" data-gtm-label="footerCategories-knowledge">学び</a></li> </ul> <ul class="footer-list footer-list--pc"> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/it" class="cat-it js-keyboard-openable" data-gtm-label="footerCategories-it">テクノロジー</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/entertainment" class="cat-entertainment js-keyboard-openable" data-gtm-label="footerCategories-entertainment">エンタメ</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/game" class="cat-game js-keyboard-openable" data-gtm-label="footerCategories-game">アニメとゲーム</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/fun" class="cat-fun js-keyboard-openable" data-gtm-label="footerCategories-fun">おもしろ</a></li> </ul> <ul class="footer-list"> <li class="footer-list-item"><a href="/guide/tools">アプリ・拡張機能</a></li> <li class="footer-list-item"><a href="https://bookmark.hatenastaff.com/">開発ブログ</a></li> <li class="footer-list-item"><a href="/help/">ヘルプ</a></li> <li class="footer-list-item"><a href="https://hatena.zendesk.com/hc/ja/categories/900000153166">お問い合わせ</a></li> <li class="footer-list-item footer-list-item--sp"><a href="/guide/guideline">ガイドライン</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/rule">利用規約</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/privacypolicy-ja">プライバシーポリシー</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/cookie-policy">利用者情報の外部送信について</a></li> </ul> <ul class="footer-list footer-list--pc"> <li class="footer-list-item footer-list-item--pc"><a href="/guide/guideline">ガイドライン</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/rule">利用規約</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/privacypolicy-ja">プライバシーポリシー</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/cookie-policy">利用者情報の外部送信について</a></li> </ul> </div> </div> <div class="footer-inner-group footer-bookmark-sns"> <h2 class="footer-title">公式Twitter</h2> <div class="footer-bookmark-list"> <ul class="footer-list"> <li class="footer-list-item"><a href="https://twitter.com/HatenaBookmark" target="_blank" rel="noopener" data-gtm-click-label="footer-officialTwitter-name">公式アカウント</a></li> <li class="footer-list-item"><a href="https://twitter.com/hatebu" target="_blank" rel="noopener" data-gtm-click-label="footer-hotentryTwitter-name">ホットエントリー</a></li> </ul> </div> </div> <div class="footer-inner-group footer-hatena"> <h2 class="footer-title">はてなのサービス</h2> <ul class="footer-list"> <li class="footer-list-item"><a href="https://hatenablog.com/" data-gtm-label="footerServices-blog">はてなブログ</a></li> <li class="footer-list-item"><a href="https://hatenablog.com/guide/pro?plus_via=hatenabookmark_footer&utm_source=hatenabookmark&utm_medium=referral&utm_campaign=hatenabookmark_to_hatenablog_pro&utm_content=hatenabookmark_footer" data-gtm-label="footerServices-blog-pro">はてなブログPro</a></li> <li class="footer-list-item"><a href="https://q.hatena.ne.jp/" data-gtm-label="footerServices-question">人力検索はてな</a></li> <li class="footer-list-item"><a href="http://d.hatena.ne.jp/" data-gtm-label="footerServices-keyword">はてなブログ タグ</a></li> <li class="footer-list-item"><a href="http://hatenanews.com/" data-gtm-label="footerServices-hatenanews">はてなニュース</a></li> <li class="footer-list-item"><a href="https://soredoko.jp/" data-gtm-label="footerServices-soredoko">ソレドコ</a></li> </ul> </div> </div> <div class="footer-bottom"> <div class="footer-app"> <ul> <li class="footer-list-item"><a href="https://apps.apple.com/jp/app/hatenabukkumaku/id354976659?mt=8" target="_blank" rel="noopener" data-gtm-click-label="footer-app-ios"><img src="https://b.st-hatena.com/77d2ee6f79ddaf78eb2d198936bae315b6721993/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/77d2ee6f79ddaf78eb2d198936bae315b6721993/images/v4/public/common/dl-button/googleplay@2x.png" alt="Google Playで手に入れよう"></a></li> </ul> </div> <div class="copyright">Copyright © 2005-2024 <a href="http://www.hatena.ne.jp/">Hatena</a>. All Rights Reserved.</div> </div> </div> <div class="modal-overlay"></div> <script type="text/javascript" src="https://b.st-hatena.com/77d2ee6f79ddaf78eb2d198936bae315b6721993/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>