CINXE.COM

[B! TDD] takeshiketaのブックマーク

<!DOCTYPE html> <html lang="ja" data-page-scope="User" data-stable-request-url="https://b.hatena.ne.jp/takeshiketa/TDD/" data-device-type="PC" data-sentry-environment="production" data-sentry-sample-rate="0.1" data-author-name="takeshiketa" data-page-subtype="tag" data-page-type="user" data-platform="pc" data-search-query="" data-tag-filter="TDD" 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! TDD] takeshiketaのブックマーク</title> <script src="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/js/v4/bookmark.js" async></script> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/css/v4/bookmark.css" /> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/css/v4/bookmark.star.css" /> <link rel="canonical" href="https://b.hatena.ne.jp/takeshiketa/TDD/" /> <link rel="next" href="/takeshiketa/TDD/?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="takeshiketa のブックマーク内検索" href="/takeshiketa/opensearch.xml"> <link rel="apple-touch-icon-precomposed" href="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/apple-touch-icon-precomposed.png" /> <link rel="mask-icon" href="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/safari-pinned-tab-icon.svg" color="#00A4DE" /> <meta name="msapplication-navbutton-color" content="#2C6EBD" /> <meta name="msapplication-task" content="name=はてなブックマーク; action-uri=/; icon-uri=https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/icons/bookmark.ico" /> <meta name="msapplication-task" content="name=マイブックマーク; action-uri=/my; icon-uri=https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/icons/my-bookmark.ico" /> <meta name="msapplication-task" content="name=お気に入りのブックマーク; action-uri=/my/favorite; icon-uri=https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/icons/favorite-bookmark.ico" /> <meta name="msapplication-task" content="name=人気エントリー; action-uri=/hotentry; icon-uri=https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/icons/hotentry.ico" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="referrer" content="always"> <link rel="author" href="http://www.hatena.ne.jp/takeshiketa/" /> <link rel="alternate" type="application/rss+xml" href="/takeshiketa/bookmark.rss?tag=TDD" /> <script> function isMobile() { const html = document.documentElement; const deviceType = html.dataset.deviceType || ''; if (deviceType.length > 0) { return deviceType === 'MOBILE'; } else { const maxMobileWidth = 480; const windowWidth = window.innerWidth; return maxMobileWidth >= windowWidth; } } </script> </head> <body class="page-centerarticle fixed-header"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5TDHQX" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="link-app-banner js-dynamic-link-app-banner is-hidden"> <button class="link-app-banner-btn-close js-dynamic-link-app-banner-close-button"><span>close</span></button> <a class="link-app-banner-btn" href="https://hatenabookmark.page.link/app"> <div class="link-app-banner-btn-detail"> <div class="link-app-banner-icon"><img src="/images/v4/public/app/ic-ios.svg" alt="はてなブックマークアプリ"></div> <p class="link-app-banner-text">サクサク読めて、<br class="link-app-banner-text-newline">アプリ限定の機能も多数!</p> </div> <div class="link-app-banner-btn-open">アプリで開く</div> </a> </div> <header id="global-header" data-portal-static-origin="//cdn.www.st-hatena.com"> <div id="header" class="global-header-inner js-global-header-inner"> <h2 id="gh-logo"><a href="/" data-gtm-label="gh-blogo"><span>はてなブックマーク</span></a></h2> <div class="is-guest js-guest is-hidden"> <input id="gh-search-icon-check" type="checkbox" checked="checked" /> <label class="gh-search-icon" for="gh-search-icon-check" aria-label="検索を閉じる"><span>閉じる</span></label> <form class="gh-searchbox" method="get" action="/search_dwim" role="search"> <input value="" name="q" type="search" class="gh-inputtext" placeholder="キーワード・URLを検索" size="40" /> <input value="" type="submit" class="gh-search-button" /> </form> <ul class="gh-service-menu"> <li><a href="/guide" data-gtm-label="gh-guest-guide">はてなブックマークって?</a></li> <li><a href="/guide/tools" data-gtm-label="gh-guest-tools">アプリ・拡張の紹介</a></li> <li><a href="https://www.hatena.ne.jp/register?location=https%3A%2F%2Fb.hatena.ne.jp%2F%3Fregistered_from%3Dglobal-header&amp;via=201037" class="gh-guest-register" data-gtm-label="gh-guest-register">ユーザー登録</a></li> <li><a href="https://www.hatena.ne.jp/login?location=https%3A%2F%2Fb.hatena.ne.jp%2Ftakeshiketa%2FTDD%2F" rel="nofollow" class="gh-guest-login" data-gtm-label="gh-guest-login">ログイン</a></li> <li class="gh-hatena-logo"><a href="http://www.hatena.ne.jp/"><img src="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/logo/logo-global-white.svg" alt="Hatena" width="74px" height="13px"/></a></li> </ul> </div> <noscript> <ul class="gh-service-menu"> <li><a href="https://www.hatena.ne.jp/logout?location=https%3A%2F%2Fb.hatena.ne.jp%2F">ログアウト</a></li> </ul> </noscript> <script type="text/x-template" id="template-menu-hatena-user"> <form class="gh-searchbox" method="get" action="/search_dwim" role="search"> <input value="" name="q" type="search" class="gh-inputtext" placeholder="キーワード・URLを検索" size="40" /> <input value="" type="submit" class="gh-search-button" /> </form> <ul class="gh-service-menu"> <li><a class="hotentry" data-gtm-label="gh-mypage" href="{{hotentry_url}}"><img src="{{user_image_url}}" class="header-profile-icon" width="16" height="16" alt="{{username}}" /></a><a class="hotentry" data-gtm-label="gh-mypage" href="{{hotentry_url}}">マイページ</a></li> <li><a class="bookmark" data-gtm-label="gh-bookmark" href="{{bookmark_url}}">ブックマーク</a></li> <li><a class="unread_bookmark" data-gtm-label="gh-ril" href="{{bookmark_stock_url}}">あとで読む</a></li> <li><a class="add" data-gtm-label="gh-add" href="{{add_bookmark_url}}">追加</a></li> <li><a class="tools" data-gtm-label="gh-tools" href="/guide/tools">ツール</a></li> <li><a class="config" data-gtm-label="gh-config" href="/-/my/config/profile">設定</a></li> <li><a class="feedback" data-gtm-label="gh-feedback" href="/-/feedback/hatena_bookmark" target="_blank">フィードバック</a></li> <li id="header-username" class="gh-dropdown-services" data-gtm-label="gh-services" title="利用中のサービス" data-name="{{username}}"> <span class="header-dropdown gh-dropdown" tabindex="0"> <img src="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/common/usermenu-wh.svg" alt="利用中のサービス" width="24" height="24" /> </span> <dl class="header-window" id="username-window"></dl> </li> <li id="header-notify" data-gtm-label="gh-notify" class="gh-dropdown-notify" title="あなたへのお知らせ"> <span class="header-dropdown gh-dropdown" tabindex="0"> <img src="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/common/notify-wh.svg" alt="あなたへのお知らせ" width="25" height="25" /> <span class="notify-count"></span> </span> <div id="notify-window" class="header-window header-notify"></div> </li> <li class="gh-hatena-logo"><a href="http://www.hatena.ne.jp/"><img src="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/logo/logo-global-white.svg" alt="Hatena" width="74px" height="13px"/></a></li> </ul> </script> </div> </header> <div id="info-header"><div id="info-header-message"></div><span></span></div> <div class="global-notification is-hidden js-global-notification"></div> <div id="container" class="js-user-page-container" data-author-name="takeshiketa" > <div class="centerarticle-wrapper"> <div class="left-container"> <div class="js-user-info" data-user-name="takeshiketa"> <div class="centerarticle-profile"> <a href="http://profile.hatena.ne.jp/takeshiketa/"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" class="centerarticle-profile-image"/> </a> <div class="centerarticle-profile-main"> <a href="http://profile.hatena.ne.jp/takeshiketa/" class="centerarticle-profile-nickname js-user-info-nickname" target="_blank" rel="noopener">takeshiketa</a> <a href="/takeshiketa/bookmark" class="centerarticle-profile-username">id:takeshiketa</a> </div> </div> <ul class="userprofile-status"> <li> <a href="/takeshiketa/bookmark" class="userprofile-status-link" data-gtm-click-label="user-count-bookmark"> <span class="userprofile-status-count">18,073</span> <span class="userprofile-status-text">ブックマーク</span> </a> </li> <li> <a href="/takeshiketa/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="/takeshiketa/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="/takeshiketa/bookmark" data-gtm-click-label="user-tags-all">すべて</a></li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%20jQuery/" data-gtm-click-label="user-tags"> jQuery <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%20%E6%B1%9F%E6%88%B8%E5%88%87%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="/takeshiketa/(*%C2%B4%CF%89%EF%BD%80*)/" data-gtm-click-label="user-tags"> (*´ω`*) <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/.net/" data-gtm-click-label="user-tags"> .net <span class="count">(24)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/.net%20mvc/" data-gtm-click-label="user-tags"> .net mvc <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/1.9.2/" data-gtm-click-label="user-tags"> 1.9.2 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/1.9.3/" data-gtm-click-label="user-tags"> 1.9.3 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/3D%E3%83%97%E3%83%AA%E3%83%B3%E3%82%BF/" data-gtm-click-label="user-tags"> 3Dプリンタ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ATOK/" data-gtm-click-label="user-tags"> ATOK <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/AgileEnP/" data-gtm-click-label="user-tags"> AgileEnP <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Amber/" data-gtm-click-label="user-tags"> Amber <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Angular/" data-gtm-click-label="user-tags"> Angular <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Azure/" data-gtm-click-label="user-tags"> Azure <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/C%23/" data-gtm-click-label="user-tags"> C# <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/CCPM/" data-gtm-click-label="user-tags"> CCPM <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/CMS/" data-gtm-click-label="user-tags"> CMS <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/CTP/" data-gtm-click-label="user-tags"> CTP <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Capistrano/" data-gtm-click-label="user-tags"> Capistrano <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Cassandra/" data-gtm-click-label="user-tags"> Cassandra <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Chrome/" data-gtm-click-label="user-tags"> Chrome <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Chrome%20OS/" data-gtm-click-label="user-tags"> Chrome OS <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/CoffeeScript/" data-gtm-click-label="user-tags"> CoffeeScript <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/DCI/" data-gtm-click-label="user-tags"> DCI <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/DDD/" data-gtm-click-label="user-tags"> DDD <span class="count">(15)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/DRBD/" data-gtm-click-label="user-tags"> DRBD <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/DTD/" data-gtm-click-label="user-tags"> DTD <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/DevOps/" data-gtm-click-label="user-tags"> DevOps <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ECMAScript/" data-gtm-click-label="user-tags"> ECMAScript <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/EC%E3%82%B5%E3%82%A4%E3%83%88/" data-gtm-click-label="user-tags"> ECサイト <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/EP-1/" data-gtm-click-label="user-tags"> EP-1 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ES6/" data-gtm-click-label="user-tags"> ES6 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Ebb/" data-gtm-click-label="user-tags"> Ebb <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Elasticsearch/" data-gtm-click-label="user-tags"> Elasticsearch <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Exchange/" data-gtm-click-label="user-tags"> Exchange <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/F%23/" data-gtm-click-label="user-tags"> F# <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/FRP/" data-gtm-click-label="user-tags"> FRP <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/FactoryGirl/" data-gtm-click-label="user-tags"> FactoryGirl <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Flex/" data-gtm-click-label="user-tags"> Flex <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/GAE/" data-gtm-click-label="user-tags"> GAE <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/GFS/" data-gtm-click-label="user-tags"> GFS <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/GIS/" data-gtm-click-label="user-tags"> GIS <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/GPU/" data-gtm-click-label="user-tags"> GPU <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Google%20Maps/" data-gtm-click-label="user-tags"> Google Maps <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/GoogleAppEngine/" data-gtm-click-label="user-tags"> GoogleAppEngine <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Googlemap-api3/" data-gtm-click-label="user-tags"> Googlemap-api3 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/HDR/" data-gtm-click-label="user-tags"> HDR <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/HTML5/" data-gtm-click-label="user-tags"> HTML5 <span class="count">(28)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Hadoop/" data-gtm-click-label="user-tags"> Hadoop <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/IIJ/" data-gtm-click-label="user-tags"> IIJ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/IT/" data-gtm-click-label="user-tags"> IT <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Inkscape/" data-gtm-click-label="user-tags"> Inkscape <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/JDBC/" data-gtm-click-label="user-tags"> JDBC <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/JSON%20Schema/" data-gtm-click-label="user-tags"> JSON Schema <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/JSX/" data-gtm-click-label="user-tags"> JSX <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/LESS/" data-gtm-click-label="user-tags"> LESS <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/MAD/" data-gtm-click-label="user-tags"> MAD <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/MVC/" data-gtm-click-label="user-tags"> MVC <span class="count">(15)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/MacPorts/" data-gtm-click-label="user-tags"> MacPorts <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Mighttpd/" data-gtm-click-label="user-tags"> Mighttpd <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/MySQL/" data-gtm-click-label="user-tags"> MySQL <span class="count">(29)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/NFC/" data-gtm-click-label="user-tags"> NFC <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Neo4j/" data-gtm-click-label="user-tags"> Neo4j <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Nu/" data-gtm-click-label="user-tags"> Nu <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/OOS/" data-gtm-click-label="user-tags"> OOS <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/OSGi/" data-gtm-click-label="user-tags"> OSGi <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/OSS/" data-gtm-click-label="user-tags"> OSS <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/OpsWorks/" data-gtm-click-label="user-tags"> OpsWorks <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/PHP/" data-gtm-click-label="user-tags"> PHP <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/PubSubHubbub/" data-gtm-click-label="user-tags"> PubSubHubbub <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/RDF/" data-gtm-click-label="user-tags"> RDF <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ROMA/" data-gtm-click-label="user-tags"> ROMA <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/RailsDevCon/" data-gtm-click-label="user-tags"> RailsDevCon <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/RailsDevCon2010/" data-gtm-click-label="user-tags"> RailsDevCon2010 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/RailsMeetingTokyo/" data-gtm-click-label="user-tags"> RailsMeetingTokyo <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Redis/" data-gtm-click-label="user-tags"> Redis <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/RubyConf2010/" data-gtm-click-label="user-tags"> RubyConf2010 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/SDL/" data-gtm-click-label="user-tags"> SDL <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/SIP/" data-gtm-click-label="user-tags"> SIP <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/SMB/" data-gtm-click-label="user-tags"> SMB <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/SNBinder/" data-gtm-click-label="user-tags"> SNBinder <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/SQL/" data-gtm-click-label="user-tags"> SQL <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Scalaz/" data-gtm-click-label="user-tags"> Scalaz <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Sinatra/" data-gtm-click-label="user-tags"> Sinatra <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Solaris/" data-gtm-click-label="user-tags"> Solaris <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/TDD/" class="is-current" data-gtm-click-label="user-tags"> TDD <span class="count">(23)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/TDS/" data-gtm-click-label="user-tags"> TDS <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Tika/" data-gtm-click-label="user-tags"> Tika <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/VIEW/" data-gtm-click-label="user-tags"> VIEW <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/W3C/" data-gtm-click-label="user-tags"> W3C <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Web%E3%82%B5%E3%83%BC%E3%83%90/" data-gtm-click-label="user-tags"> Webサーバ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/Web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" data-gtm-click-label="user-tags"> Webサービス <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/XML/" data-gtm-click-label="user-tags"> XML <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/XSL-FO/" data-gtm-click-label="user-tags"> XSL-FO <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/YTLJit/" data-gtm-click-label="user-tags"> YTLJit <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/activeldap/" data-gtm-click-label="user-tags"> activeldap <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/activerecord/" data-gtm-click-label="user-tags"> activerecord <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/actor/" data-gtm-click-label="user-tags"> actor <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/adhearsion/" data-gtm-click-label="user-tags"> adhearsion <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/agile/" data-gtm-click-label="user-tags"> agile <span class="count">(208)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/agile2010/" data-gtm-click-label="user-tags"> agile2010 <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/agilesamurai/" data-gtm-click-label="user-tags"> agilesamurai <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/aj10/" data-gtm-click-label="user-tags"> aj10 <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ajail/" data-gtm-click-label="user-tags"> ajail <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ajax/" data-gtm-click-label="user-tags"> ajax <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ajile/" data-gtm-click-label="user-tags"> ajile <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/akamai/" data-gtm-click-label="user-tags"> akamai <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/akka/" data-gtm-click-label="user-tags"> akka <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/amazon%20ec2/" data-gtm-click-label="user-tags"> amazon ec2 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/android/" data-gtm-click-label="user-tags"> android <span class="count">(22)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/angular.js/" data-gtm-click-label="user-tags"> angular.js <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/angularjs/" data-gtm-click-label="user-tags"> angularjs <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/apache/" data-gtm-click-label="user-tags"> apache <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/api/" data-gtm-click-label="user-tags"> api <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/apple/" data-gtm-click-label="user-tags"> apple <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/arduino/" data-gtm-click-label="user-tags"> arduino <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/arm/" data-gtm-click-label="user-tags"> arm <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/art/" data-gtm-click-label="user-tags"> art <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/asakusa/" data-gtm-click-label="user-tags"> asakusa <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/astah/" data-gtm-click-label="user-tags"> astah <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/aurora/" data-gtm-click-label="user-tags"> aurora <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/avr/" data-gtm-click-label="user-tags"> avr <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/aws/" data-gtm-click-label="user-tags"> aws <span class="count">(39)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/aws-sdk/" data-gtm-click-label="user-tags"> aws-sdk <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/backbone/" data-gtm-click-label="user-tags"> backbone <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/backbone.js/" data-gtm-click-label="user-tags"> backbone.js <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/backbonejs/" data-gtm-click-label="user-tags"> backbonejs <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/bcas/" data-gtm-click-label="user-tags"> bcas <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/beer/" data-gtm-click-label="user-tags"> beer <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/beos/" data-gtm-click-label="user-tags"> beos <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/binary2.0/" data-gtm-click-label="user-tags"> binary2.0 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/bitcoin/" data-gtm-click-label="user-tags"> bitcoin <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/book/" data-gtm-click-label="user-tags"> book <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/bpm/" data-gtm-click-label="user-tags"> bpm <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/bson/" data-gtm-click-label="user-tags"> bson <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/bundler/" data-gtm-click-label="user-tags"> bundler <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/c/" data-gtm-click-label="user-tags"> c <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/c++/" data-gtm-click-label="user-tags"> c++ <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/campfire/" data-gtm-click-label="user-tags"> campfire <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/capybara/" data-gtm-click-label="user-tags"> capybara <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/cd/" data-gtm-click-label="user-tags"> cd <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/cdo/" data-gtm-click-label="user-tags"> cdo <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/centos/" data-gtm-click-label="user-tags"> centos <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/chanko/" data-gtm-click-label="user-tags"> chanko <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/chaplin.js/" data-gtm-click-label="user-tags"> chaplin.js <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/chef/" data-gtm-click-label="user-tags"> chef <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/chef-solo/" data-gtm-click-label="user-tags"> chef-solo <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/chorome%20os/" data-gtm-click-label="user-tags"> chorome os <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ci/" data-gtm-click-label="user-tags"> ci <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/cinco/" data-gtm-click-label="user-tags"> cinco <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/classbox/" data-gtm-click-label="user-tags"> classbox <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/clearance/" data-gtm-click-label="user-tags"> clearance <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/client/" data-gtm-click-label="user-tags"> client <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/cloud/" data-gtm-click-label="user-tags"> cloud <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/cloudfoundary/" data-gtm-click-label="user-tags"> cloudfoundary <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/code/" data-gtm-click-label="user-tags"> code <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/code%20golf/" data-gtm-click-label="user-tags"> code golf <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/concov/" data-gtm-click-label="user-tags"> concov <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/continuation/" data-gtm-click-label="user-tags"> continuation <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/coq/" data-gtm-click-label="user-tags"> coq <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/couchdb/" data-gtm-click-label="user-tags"> couchdb <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/css/" data-gtm-click-label="user-tags"> css <span class="count">(15)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/css%203d/" data-gtm-click-label="user-tags"> css 3d <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/css3/" data-gtm-click-label="user-tags"> css3 <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/cucumber/" data-gtm-click-label="user-tags"> cucumber <span class="count">(19)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/cuda/" data-gtm-click-label="user-tags"> cuda <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/curl/" data-gtm-click-label="user-tags"> curl <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/daemontools/" data-gtm-click-label="user-tags"> daemontools <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/dart/" data-gtm-click-label="user-tags"> dart <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/database/" data-gtm-click-label="user-tags"> database <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/db/" data-gtm-click-label="user-tags"> db <span class="count">(19)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/db2/" data-gtm-click-label="user-tags"> db2 <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/dbi/" data-gtm-click-label="user-tags"> dbi <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/debug/" data-gtm-click-label="user-tags"> debug <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/delayed_job/" data-gtm-click-label="user-tags"> delayed_job <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/deploy/" data-gtm-click-label="user-tags"> deploy <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/devise/" data-gtm-click-label="user-tags"> devise <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/devsumi2010/" data-gtm-click-label="user-tags"> devsumi2010 <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/devsumi2011/" data-gtm-click-label="user-tags"> devsumi2011 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/dhh/" data-gtm-click-label="user-tags"> dhh <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/di/" data-gtm-click-label="user-tags"> di <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/docker/" data-gtm-click-label="user-tags"> docker <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/druby/" data-gtm-click-label="user-tags"> druby <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/dsl/" data-gtm-click-label="user-tags"> dsl <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/dtrace/" data-gtm-click-label="user-tags"> dtrace <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/dynamo/" data-gtm-click-label="user-tags"> dynamo <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ebs/" data-gtm-click-label="user-tags"> ebs <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ec/" data-gtm-click-label="user-tags"> ec <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ec2/" data-gtm-click-label="user-tags"> ec2 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/elasticbeanstalk/" data-gtm-click-label="user-tags"> elasticbeanstalk <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/elb/" data-gtm-click-label="user-tags"> elb <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/engine/" data-gtm-click-label="user-tags"> engine <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/engineersummit/" data-gtm-click-label="user-tags"> engineersummit <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/erlang/" data-gtm-click-label="user-tags"> erlang <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/eventmachine/" data-gtm-click-label="user-tags"> eventmachine <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ext3/" data-gtm-click-label="user-tags"> ext3 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ext4/" data-gtm-click-label="user-tags"> ext4 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/facebook/" data-gtm-click-label="user-tags"> facebook <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/factory_girl/" data-gtm-click-label="user-tags"> factory_girl <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/factory_girls/" data-gtm-click-label="user-tags"> factory_girls <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/firefox/" data-gtm-click-label="user-tags"> firefox <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/flash/" data-gtm-click-label="user-tags"> flash <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/fluentd/" data-gtm-click-label="user-tags"> fluentd <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/force.com/" data-gtm-click-label="user-tags"> force.com <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/framework/" data-gtm-click-label="user-tags"> framework <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/fusion-io/" data-gtm-click-label="user-tags"> fusion-io <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/gc/" data-gtm-click-label="user-tags"> gc <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/gcep/" data-gtm-click-label="user-tags"> gcep <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/gecutter/" data-gtm-click-label="user-tags"> gecutter <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/gem/" data-gtm-click-label="user-tags"> gem <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/gemcutter/" data-gtm-click-label="user-tags"> gemcutter <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/gems/" data-gtm-click-label="user-tags"> gems <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/genexus/" data-gtm-click-label="user-tags"> genexus <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/geo/" data-gtm-click-label="user-tags"> geo <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/gettext/" data-gtm-click-label="user-tags"> gettext <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/git/" data-gtm-click-label="user-tags"> git <span class="count">(31)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/github/" data-gtm-click-label="user-tags"> github <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/gitolite/" data-gtm-click-label="user-tags"> gitolite <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/glow/" data-gtm-click-label="user-tags"> glow <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/gnome/" data-gtm-click-label="user-tags"> gnome <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/go/" data-gtm-click-label="user-tags"> go <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/gof/" data-gtm-click-label="user-tags"> gof <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/google/" data-gtm-click-label="user-tags"> google <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/google%20glass/" data-gtm-click-label="user-tags"> google glass <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/google%20map/" data-gtm-click-label="user-tags"> google map <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/gps/" data-gtm-click-label="user-tags"> gps <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/grails/" data-gtm-click-label="user-tags"> grails <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/groovy/" data-gtm-click-label="user-tags"> groovy <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/gta5/" data-gtm-click-label="user-tags"> gta5 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/gtk/" data-gtm-click-label="user-tags"> gtk <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/gui/" data-gtm-click-label="user-tags"> gui <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/haiku/" data-gtm-click-label="user-tags"> haiku <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/haml/" data-gtm-click-label="user-tags"> haml <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/haskell/" data-gtm-click-label="user-tags"> haskell <span class="count">(21)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/hazy/" data-gtm-click-label="user-tags"> hazy <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/hbase/" data-gtm-click-label="user-tags"> hbase <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/heroku/" data-gtm-click-label="user-tags"> heroku <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/htm/" data-gtm-click-label="user-tags"> htm <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/hudson/" data-gtm-click-label="user-tags"> hudson <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/i18n/" data-gtm-click-label="user-tags"> i18n <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/iPad/" data-gtm-click-label="user-tags"> iPad <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/iPhone/" data-gtm-click-label="user-tags"> iPhone <span class="count">(41)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ie/" data-gtm-click-label="user-tags"> ie <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/imagemagic/" data-gtm-click-label="user-tags"> imagemagic <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/imagemagick/" data-gtm-click-label="user-tags"> imagemagick <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/iot/" data-gtm-click-label="user-tags"> iot <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ipv6/" data-gtm-click-label="user-tags"> ipv6 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ironruby/" data-gtm-click-label="user-tags"> ironruby <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/jadge/" data-gtm-click-label="user-tags"> jadge <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/java/" data-gtm-click-label="user-tags"> java <span class="count">(121)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/javaee/" data-gtm-click-label="user-tags"> javaee <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/javascript/" data-gtm-click-label="user-tags"> javascript <span class="count">(53)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/jb/" data-gtm-click-label="user-tags"> jb <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/jboss/" data-gtm-click-label="user-tags"> jboss <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/jenkins/" data-gtm-click-label="user-tags"> jenkins <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/jmeter/" data-gtm-click-label="user-tags"> jmeter <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/jpmobile/" data-gtm-click-label="user-tags"> jpmobile <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/jq/" data-gtm-click-label="user-tags"> jq <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/jquery/" data-gtm-click-label="user-tags"> jquery <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/jruby/" data-gtm-click-label="user-tags"> jruby <span class="count">(70)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/json/" data-gtm-click-label="user-tags"> json <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/jsox/" data-gtm-click-label="user-tags"> jsox <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/jvm/" data-gtm-click-label="user-tags"> jvm <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/kindle/" data-gtm-click-label="user-tags"> kindle <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/kinesis/" data-gtm-click-label="user-tags"> kinesis <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/kvs/" data-gtm-click-label="user-tags"> kvs <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/lambda/" data-gtm-click-label="user-tags"> lambda <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/launcher/" data-gtm-click-label="user-tags"> launcher <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ldap/" data-gtm-click-label="user-tags"> ldap <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/lean/" data-gtm-click-label="user-tags"> lean <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/librahack/" data-gtm-click-label="user-tags"> librahack <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/license/" data-gtm-click-label="user-tags"> license <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/linux/" data-gtm-click-label="user-tags"> linux <span class="count">(22)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/lisp/" data-gtm-click-label="user-tags"> lisp <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/llvm/" data-gtm-click-label="user-tags"> llvm <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/lucene/" data-gtm-click-label="user-tags"> lucene <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/mac/" data-gtm-click-label="user-tags"> mac <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/macruby/" data-gtm-click-label="user-tags"> macruby <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/make/" data-gtm-click-label="user-tags"> make <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/manual/" data-gtm-click-label="user-tags"> manual <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/mariadb/" data-gtm-click-label="user-tags"> mariadb <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/mastodon/" data-gtm-click-label="user-tags"> mastodon <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/memcached/" data-gtm-click-label="user-tags"> memcached <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/merb/" data-gtm-click-label="user-tags"> merb <span class="count">(29)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/metaclass/" data-gtm-click-label="user-tags"> metaclass <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/metal/" data-gtm-click-label="user-tags"> metal <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/metaprogramming/" data-gtm-click-label="user-tags"> metaprogramming <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/meteor/" data-gtm-click-label="user-tags"> meteor <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/microservices/" data-gtm-click-label="user-tags"> microservices <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/midi/" data-gtm-click-label="user-tags"> midi <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/mongodb/" data-gtm-click-label="user-tags"> mongodb <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/mongoid/" data-gtm-click-label="user-tags"> mongoid <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/mongotokyo/" data-gtm-click-label="user-tags"> mongotokyo <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/mruby/" data-gtm-click-label="user-tags"> mruby <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/nativeclient/" data-gtm-click-label="user-tags"> nativeclient <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/nginx/" data-gtm-click-label="user-tags"> nginx <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/nio/" data-gtm-click-label="user-tags"> nio <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/node/" data-gtm-click-label="user-tags"> node <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/node.js/" data-gtm-click-label="user-tags"> node.js <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/nodejs/" data-gtm-click-label="user-tags"> nodejs <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/noop/" data-gtm-click-label="user-tags"> noop <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/nosql/" data-gtm-click-label="user-tags"> nosql <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/nosqlgogo/" data-gtm-click-label="user-tags"> nosqlgogo <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/oauth/" data-gtm-click-label="user-tags"> oauth <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/objective-c/" data-gtm-click-label="user-tags"> objective-c <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/oblove2010alexander/" data-gtm-click-label="user-tags"> oblove2010alexander <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/oedorubykaigi01/" data-gtm-click-label="user-tags"> oedorubykaigi01 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/omniauth/" data-gtm-click-label="user-tags"> omniauth <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/omy/" data-gtm-click-label="user-tags"> omy <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/opengl/" data-gtm-click-label="user-tags"> opengl <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/openid/" data-gtm-click-label="user-tags"> openid <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/openssl/" data-gtm-click-label="user-tags"> openssl <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/oracle/" data-gtm-click-label="user-tags"> oracle <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/osx/" data-gtm-click-label="user-tags"> osx <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/passenger/" data-gtm-click-label="user-tags"> passenger <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/pdf/" data-gtm-click-label="user-tags"> pdf <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/perl/" data-gtm-click-label="user-tags"> perl <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/pixiv/" data-gtm-click-label="user-tags"> pixiv <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/play/" data-gtm-click-label="user-tags"> play <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/plugin/" data-gtm-click-label="user-tags"> plugin <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/postgis/" data-gtm-click-label="user-tags"> postgis <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/postgresql/" data-gtm-click-label="user-tags"> postgresql <span class="count">(28)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/programming/" data-gtm-click-label="user-tags"> programming <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/pry/" data-gtm-click-label="user-tags"> pry <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/python/" data-gtm-click-label="user-tags"> python <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/qrcode/" data-gtm-click-label="user-tags"> qrcode <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rack/" data-gtm-click-label="user-tags"> rack <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rails/" data-gtm-click-label="user-tags"> rails <span class="count">(627)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rails-plugin/" data-gtm-click-label="user-tags"> rails-plugin <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rails3/" data-gtm-click-label="user-tags"> rails3 <span class="count">(96)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rails3.1/" data-gtm-click-label="user-tags"> rails3.1 <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rails4/" data-gtm-click-label="user-tags"> rails4 <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/railsmagagine/" data-gtm-click-label="user-tags"> railsmagagine <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/railstokyo/" data-gtm-click-label="user-tags"> railstokyo <span class="count">(31)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rails%E3%83%8D%E3%82%B9%E3%83%88%E8%AB%96/" data-gtm-click-label="user-tags"> railsネスト論 <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rdb/" data-gtm-click-label="user-tags"> rdb <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rdbms/" data-gtm-click-label="user-tags"> rdbms <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/redmine/" data-gtm-click-label="user-tags"> redmine <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rejectkaigi2009/" data-gtm-click-label="user-tags"> rejectkaigi2009 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rest/" data-gtm-click-label="user-tags"> rest <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rhel/" data-gtm-click-label="user-tags"> rhel <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rip/" data-gtm-click-label="user-tags"> rip <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rpm/" data-gtm-click-label="user-tags"> rpm <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rspec/" data-gtm-click-label="user-tags"> rspec <span class="count">(43)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ruby/" data-gtm-click-label="user-tags"> ruby <span class="count">(640)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ruby1.9/" data-gtm-click-label="user-tags"> ruby1.9 <span class="count">(17)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ruby2/" data-gtm-click-label="user-tags"> ruby2 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ruby2.0/" data-gtm-click-label="user-tags"> ruby2.0 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ruby_si/" data-gtm-click-label="user-tags"> ruby_si <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rubygems/" data-gtm-click-label="user-tags"> rubygems <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rubykaigi/" data-gtm-click-label="user-tags"> rubykaigi <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rubykaigi2009/" data-gtm-click-label="user-tags"> rubykaigi2009 <span class="count">(75)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rubykaigi2010/" data-gtm-click-label="user-tags"> rubykaigi2010 <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rubykaigi2011/" data-gtm-click-label="user-tags"> rubykaigi2011 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rubymotion/" data-gtm-click-label="user-tags"> rubymotion <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ruby%E3%82%A2%E3%82%BD%E3%82%B7%E3%82%A8%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/" data-gtm-click-label="user-tags"> rubyアソシエーション <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rvm/" data-gtm-click-label="user-tags"> rvm <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/rwc2010/" data-gtm-click-label="user-tags"> rwc2010 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/s3/" data-gtm-click-label="user-tags"> s3 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/saas/" data-gtm-click-label="user-tags"> saas <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/sass/" data-gtm-click-label="user-tags"> sass <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/scala/" data-gtm-click-label="user-tags"> scala <span class="count">(28)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/science/" data-gtm-click-label="user-tags"> science <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/screen/" data-gtm-click-label="user-tags"> screen <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/scrum/" data-gtm-click-label="user-tags"> scrum <span class="count">(23)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/security/" data-gtm-click-label="user-tags"> security <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/selenium/" data-gtm-click-label="user-tags"> selenium <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/seo/" data-gtm-click-label="user-tags"> seo <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/shoulda/" data-gtm-click-label="user-tags"> shoulda <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/si/" data-gtm-click-label="user-tags"> si <span class="count">(46)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/sience/" data-gtm-click-label="user-tags"> sience <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/sier/" data-gtm-click-label="user-tags"> sier <span class="count">(22)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/silverlight/" data-gtm-click-label="user-tags"> silverlight <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/sim%20free/" data-gtm-click-label="user-tags"> sim free <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/slim3/" data-gtm-click-label="user-tags"> slim3 <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/smalltalk/" data-gtm-click-label="user-tags"> smalltalk <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/soa/" data-gtm-click-label="user-tags"> soa <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/soap/" data-gtm-click-label="user-tags"> soap <span class="count">(18)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/soap4r/" data-gtm-click-label="user-tags"> soap4r <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/solr/" data-gtm-click-label="user-tags"> solr <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/spdy/" data-gtm-click-label="user-tags"> spdy <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/spring/" data-gtm-click-label="user-tags"> spring <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ssd/" data-gtm-click-label="user-tags"> ssd <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ssh/" data-gtm-click-label="user-tags"> ssh <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ssl/" data-gtm-click-label="user-tags"> ssl <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/state_machine/" data-gtm-click-label="user-tags"> state_machine <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/stm32/" data-gtm-click-label="user-tags"> stm32 <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/stm32f4/" data-gtm-click-label="user-tags"> stm32f4 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/stream/" data-gtm-click-label="user-tags"> stream <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/swift/" data-gtm-click-label="user-tags"> swift <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/systemd/" data-gtm-click-label="user-tags"> systemd <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/terraform/" data-gtm-click-label="user-tags"> terraform <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/test/" data-gtm-click-label="user-tags"> test <span class="count">(31)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/testing/" data-gtm-click-label="user-tags"> testing <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/thin/" data-gtm-click-label="user-tags"> thin <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/thinreports/" data-gtm-click-label="user-tags"> thinreports <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/thread/" data-gtm-click-label="user-tags"> thread <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/tokyocabinet/" data-gtm-click-label="user-tags"> tokyocabinet <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/tokyorubykaigi/" data-gtm-click-label="user-tags"> tokyorubykaigi <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/tokyorubykaigi03/" data-gtm-click-label="user-tags"> tokyorubykaigi03 <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/twitter-bootstrap/" data-gtm-click-label="user-tags"> twitter-bootstrap <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ubuntu/" data-gtm-click-label="user-tags"> ubuntu <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ui/" data-gtm-click-label="user-tags"> ui <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/unicorn/" data-gtm-click-label="user-tags"> unicorn <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/ux/" data-gtm-click-label="user-tags"> ux <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/vagrant/" data-gtm-click-label="user-tags"> vagrant <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/vim/" data-gtm-click-label="user-tags"> vim <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/voip/" data-gtm-click-label="user-tags"> voip <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/was/" data-gtm-click-label="user-tags"> was <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/wave/" data-gtm-click-label="user-tags"> wave <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/webkit/" data-gtm-click-label="user-tags"> webkit <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/webrtc/" data-gtm-click-label="user-tags"> webrtc <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/websocket/" data-gtm-click-label="user-tags"> websocket <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/websoket/" data-gtm-click-label="user-tags"> websoket <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/wicket/" data-gtm-click-label="user-tags"> wicket <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/windows/" data-gtm-click-label="user-tags"> windows <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/winny/" data-gtm-click-label="user-tags"> winny <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/w%E3%83%A2%E3%83%87%E3%83%AB/" data-gtm-click-label="user-tags"> wモデル <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/xp/" data-gtm-click-label="user-tags"> xp <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/xss/" data-gtm-click-label="user-tags"> xss <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/yarv/" data-gtm-click-label="user-tags"> yarv <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/yum/" data-gtm-click-label="user-tags"> yum <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/zsh/" data-gtm-click-label="user-tags"> zsh <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-tags"> あとで読む <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E3%81%93%E3%82%8C%E3%81%AF%E3%81%99%E3%81%94%E3%81%84/" data-gtm-click-label="user-tags"> これはすごい <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E3%81%93%E3%82%8C%E3%81%AF%E3%81%B2%E3%81%A9%E3%81%84/" data-gtm-click-label="user-tags"> これはひどい <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E3%81%AF%E3%82%84%E3%81%B6%E3%81%95/" data-gtm-click-label="user-tags"> はやぶさ <span class="count">(33)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB/" data-gtm-click-label="user-tags"> アジャイル <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E3%82%A2%E3%83%8B%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="/takeshiketa/%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">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89/" data-gtm-click-label="user-tags"> クラウド <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%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">(24)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E3%82%BF%E3%82%A4%E3%82%BF%E3%83%B3/" data-gtm-click-label="user-tags"> タイタン <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E3%83%86%E3%82%B9%E3%83%88/" data-gtm-click-label="user-tags"> テスト <span class="count">(19)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E3%83%8D%E3%82%BF/" data-gtm-click-label="user-tags"> ネタ <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E3%83%8D%E3%82%BF%E3%81%A0%E3%81%A8%E6%80%9D%E3%81%84%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="/takeshiketa/%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E7%AE%A1%E7%90%86/" data-gtm-click-label="user-tags"> プロジェクト管理 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%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="/takeshiketa/%E4%B8%8D%E5%8B%95%E7%94%A3/" data-gtm-click-label="user-tags"> 不動産 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E4%BB%8A%E9%80%B1%E3%81%AE%E3%82%B5%E3%82%B6%E3%82%A8%E3%81%95%E3%82%93/" data-gtm-click-label="user-tags"> 今週のサザエさん <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E4%BD%9C%E7%94%BB/" data-gtm-click-label="user-tags"> 作画 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E5%89%B5%E7%99%BA/" data-gtm-click-label="user-tags"> 創発 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E5%8B%95%E7%94%BB/" data-gtm-click-label="user-tags"> 動画 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E5%8B%9D%E9%96%93%E5%92%8C%E4%BB%A3%E5%8D%81%E5%A4%9C/" data-gtm-click-label="user-tags"> 勝間和代十夜 <span class="count">(15)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E5%A4%A9%E6%96%87/" data-gtm-click-label="user-tags"> 天文 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E5%AE%87%E5%AE%99/" data-gtm-click-label="user-tags"> 宇宙 <span class="count">(23)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E5%AE%97%E6%95%99/" data-gtm-click-label="user-tags"> 宗教 <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E5%B7%AE%E5%88%86/" data-gtm-click-label="user-tags"> 差分 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E5%BD%A2%E6%85%8B%E7%B4%A0%E8%A7%A3%E6%9E%90/" data-gtm-click-label="user-tags"> 形態素解析 <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E6%90%BA%E5%B8%AFWeb%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3/" data-gtm-click-label="user-tags"> 携帯Webセキュリティ <span class="count">(37)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E6%94%BE%E5%B0%84%E7%B7%9A/" data-gtm-click-label="user-tags"> 放射線 <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E6%94%BF%E6%B2%BB/" data-gtm-click-label="user-tags"> 政治 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E7%A7%91%E5%AD%A6/" data-gtm-click-label="user-tags"> 科学 <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E7%AE%A1%E7%90%86%E7%B3%BB/" data-gtm-click-label="user-tags"> 管理系 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E7%B5%84%E7%B9%94%E8%AB%96/" data-gtm-click-label="user-tags"> 組織論 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E8%8B%B1%E8%AA%9E/" data-gtm-click-label="user-tags"> 英語 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E8%B2%B7%E3%81%84%E3%81%9F%E3%81%84%E6%9C%AC/" data-gtm-click-label="user-tags"> 買いたい本 <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E8%B3%83%E8%B2%B8/" data-gtm-click-label="user-tags"> 賃貸 <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E8%BB%8D%E9%B6%8F%E9%8D%8B/" data-gtm-click-label="user-tags"> 軍鶏鍋 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E9%85%8D%E8%89%B2/" data-gtm-click-label="user-tags"> 配色 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/takeshiketa/%E9%9D%9E%E5%90%8C%E6%9C%9F/" data-gtm-click-label="user-tags"> 非同期 <span class="count">(2)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/takeshiketa/ruby/" data-gtm-click-label="user-tags"> ruby <span class="count">(640)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/takeshiketa/rails/" data-gtm-click-label="user-tags"> rails <span class="count">(627)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/takeshiketa/agile/" data-gtm-click-label="user-tags"> agile <span class="count">(208)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/takeshiketa/java/" data-gtm-click-label="user-tags"> java <span class="count">(121)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/takeshiketa/rails3/" data-gtm-click-label="user-tags"> rails3 <span class="count">(96)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/takeshiketa/rubykaigi2009/" data-gtm-click-label="user-tags"> rubykaigi2009 <span class="count">(75)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/takeshiketa/jruby/" data-gtm-click-label="user-tags"> jruby <span class="count">(70)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/takeshiketa/javascript/" data-gtm-click-label="user-tags"> javascript <span class="count">(53)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/takeshiketa/si/" data-gtm-click-label="user-tags"> si <span class="count">(46)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/takeshiketa/rspec/" data-gtm-click-label="user-tags"> rspec <span class="count">(43)</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">関連タグで絞り込む (12)</h3> <ul class="centerarticle-sub-navi"> <li> <a href="/takeshiketa/TDD/agile/" > agile </a> </li> <li> <a href="/takeshiketa/TDD/ajile/" > ajile </a> </li> <li> <a href="/takeshiketa/TDD/cucumber/" > cucumber </a> </li> <li> <a href="/takeshiketa/TDD/devsumi2010/" > devsumi2010 </a> </li> <li> <a href="/takeshiketa/TDD/factory_girl/" > factory_girl </a> </li> <li> <a href="/takeshiketa/TDD/rails/" > rails </a> </li> <li> <a href="/takeshiketa/TDD/redmine/" > redmine </a> </li> <li> <a href="/takeshiketa/TDD/rspec/" > rspec </a> </li> <li> <a href="/takeshiketa/TDD/ruby/" > ruby </a> </li> <li> <a href="/takeshiketa/TDD/tdd/" > tdd </a> </li> <li> <a href="/takeshiketa/TDD/test/" > test </a> </li> <li> <a href="/takeshiketa/TDD/%E3%83%86%E3%82%B9%E3%83%88/" > テスト </a> </li> </ul> <p class="centerarticle-sub-navi-more"> <a href="/takeshiketa/bookmark">タグの絞り込みを解除</a> </p> </div> </div> <div class="center-container"> <div class="centerarticle-title-container"> <h2 class="centerarticle-title"> TDDに関するtakeshiketaのブックマーク (23) </h2> </div> <div class="js-user-bookmark-item-autoload-container" data-next-page-path="/takeshiketa/TDD/?page=2" data-next-xhr-path="/api/users/takeshiketa/bookmarks?tag=TDD&amp;page=2" data-next-label="次のページ" > <script type="text/x-template" id="template-short-url-click"> {{#tweet_url}} <a href="{{tweet_url}}" target="_blank" rel="noopener noreferrer" data-gtm-click-label="reaction-twitter-clicks"><span>{{count}} clicks</span></a> {{/tweet_url}} {{^tweet_url}} <span>{{count}} clicks</span> {{/tweet_url}} </script> <script type="text/x-template" id="template-bookmark-item"> {{^is_wiped}} <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="{{url}}"> <div class="centerarticle-entry {{#has_image}}is-image-entry-unit{{/has_image}}"> <h3 class="centerarticle-entry-title"> <a href="{{url}}" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener{{#noreferrer}} noreferrer{{/noreferrer}}" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="{{favicon_url}}" alt="">{{title}}</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="{{page_url}}" class="js-keyboard-entry-page-openable" title="{{title}} ({{total_bookmarks}}ブックマーク)" data-gtm-click-label="user-bookmark-users">{{total_bookmarks_with_user_postfix}}</a> </span> </li> <li> <a href="/takeshiketa/{{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="/takeshiketa/{{url_query}}" title="『{{root_title}}』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> {{root_title}} </a> </li> {{#is_categorized}} <li><a href="{{category_path}}" data-gtm-click-label="user-bookmark-category">{{category_title}}</a></li> {{/is_categorized}} </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">{{{summary_with_keyword_links}}}</p> {{#has_image}} <a href="{{canonical_url}}" class="centerarticle-entry-image" target="_blank" rel="noopener{{#noreferrer}} noreferrer{{/noreferrer}}" data-gtm-click-label="user-bookmark-thumb"> <img src="{{image_url}}" alt="{{title}}"> </a> {{/has_image}} </div> </div> </script> <script type="text/x-template" id="template-bookmark-pager"> <li> <div class="centerarticle-pager"> <span class="centerarticle-waiting js-read-more-waiting is-hidden"><img src="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/common/loading@2x.gif" alt="残りのブックマークを読み込んでいます" width="16" height="16" /></span> {{#previous}} <a href="{{page_path}}">{{label}}</a> {{/previous}} {{#pages}} {{#page_path}} <span><a href="{{page_path}}">{{label}}</a></span> {{/page_path}} {{^page_path}} <span>{{label}}</span> {{/page_path}} {{/pages}} {{#next}} <a href="{{page_path}}">{{label}}</a> {{/next}} </div> </li> </script> <ul class="js-user-bookmark-item-list js-keyboard-controllable-container"> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="http://d.hatena.ne.jp/yach/20140424#p1"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="http://d.hatena.ne.jp/yach/20140424#p1" 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%2Fyattom.hatenablog.com%2Fentry%2F20140424%2Fp1" alt="">TDDは死んだ。テスティングよ栄えよ。 by DHH | 2014-04-24 - やっとむでぽん</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/yattom.hatenablog.com/entry/20140424/p1" class="js-keyboard-entry-page-openable" title="TDDは死んだ。テスティングよ栄えよ。 by DHH | 2014-04-24 - やっとむでぽん (706ブックマーク)" data-gtm-click-label="user-bookmark-users">706 users</a> </span> </li> <li> <a href="/takeshiketa/?url=https%3A%2F%2Fyattom.hatenablog.com%2F" title="『yattom.hatenablog.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> yattom.hatenablog.com </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">DHHの&quot;TDD is dead. Long live testing.&quot;を、訳してみました。 翻訳 やっとむ By David Hein<a data-gtm-click-label="entry-summary-keyword" href="/q/EM">em</a>eier Hansson on April 23, 2014 著 David Hein<a data-gtm-click-label="entry-summary-keyword" href="/q/EM">em</a>eier Hansson 2014年4月23日 Test-first fundamentalism is like abstinence-only sex ed: An unrealistic, ineffective moral<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>y camp<a data-gtm-click-label="entry-summary-keyword" href="/q/ai">ai</a>gn for self-loathing and shaming. テストファースト原理主義は禁欲のみを唱えた性<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%95%99%E8%82%B2">教育</a>のようなものだ。つまり、自己嫌悪に陥っている人に向けた、非現実的で効果のない、道徳<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%95%99%E8%82%B2">教育</a>のようなものだ。 <a data-gtm-click-label="entry-summary-keyword" href="/q/it">It</a> didn&#39;t start out like that. When I first disco</p> <a href="https://yattom.hatenablog.com/entry/20140424/p1" 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/05a24009aebe33f074e8ada7ca3cfd938807a3ad/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F10257846132662237361%2F17680117126981928217%2F1551238980" alt="TDDは死んだ。テスティングよ栄えよ。 by DHH | 2014-04-24 - やっとむでぽん"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-192218102"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://d.hatena.ne.jp/yach/20140424#p1" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20140424#bookmark-192218102" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2014/04/24</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/takeshiketa/TDD/" data-gtm-click-label="user-reaction-tag">TDD</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/192218102/comment/takeshiketa" 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.slideshare.net/goyoki/tddbc-c-nextstep"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="http://www.slideshare.net/goyoki/tddbc-c-nextstep" 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%2Fgoyoki%2Ftddbc-c-nextstep" alt="">テスト駆動開発入門ネクストステップ</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.slideshare.net/goyoki/tddbc-c-nextstep" class="js-keyboard-entry-page-openable" title="テスト駆動開発入門ネクストステップ (31ブックマーク)" data-gtm-click-label="user-bookmark-users">31 users</a> </span> </li> <li> <a href="/takeshiketa/?url=https%3A%2F%2Fwww.slideshare.net%2Fgoyoki" title="『www.slideshare.net/goyoki』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> www.slideshare.net/goyoki </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">テスト駆動開発入門ネクストステップ 1. テスト駆動開発入門 ネクストステップ 井芹洋輝 TDD Boot Camp 東京 for <a data-gtm-click-label="entry-summary-keyword" href="/q/c%2B%2B">C++</a> 2011/10/8 @国立情報学研究所 2. 謝辞 • 主催の今給黎さん • 和田さん、会場提供、スタッフの方々 • 参加者の皆さま 深くお礼申しあげます 3. 自己紹介 • 井芹 洋輝(@<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>yoki/id:<a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>yoki) • 組み込み<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> • WACATE実行委員/TDD研究会 • 講演/執筆: – XP祭り関西「ユニットテストの保守性を作りこむ」 – <a data-gtm-click-label="entry-summary-keyword" href="/q/android">Android</a>テスト祭り「テストの活用による開発効率化」 – 並カン「<a data-gtm-click-label="entry-summary-keyword" href="/q/fpga">FPGA</a>/HDLを活用したソフトウェア並列処理の構築」等 4. 概要 <a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>講義はTDDの基<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>講義ではTDDを開発で実践するための 知識、TDDについて自立して学習を進め るための情報を学び、</p> <a href="https://www.slideshare.net/goyoki/tddbc-c-nextstep" 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/618708231800c5836662e3e6dce675e7db84e36e/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fadd2tddbccppnextstepr10-111009125335-phpapp02-thumbnail.jpg%3Fwidth%3D640%26amp%3Bheight%3D640%26amp%3Bfit%3Dbounds" alt="テスト駆動開発入門ネクストステップ"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-62473066"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://www.slideshare.net/goyoki/tddbc-c-nextstep" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20111010#bookmark-62473066" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2011/10/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="/takeshiketa/%E3%83%86%E3%82%B9%E3%83%88/" data-gtm-click-label="user-reaction-tag">テスト</a></li> <li><a href="/takeshiketa/test/" data-gtm-click-label="user-reaction-tag">test</a></li> <li><a href="/takeshiketa/TDD/" data-gtm-click-label="user-reaction-tag">TDD</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/62473066/comment/takeshiketa" 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://d.hatena.ne.jp/u_1roh/20090208/1234095960"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="http://d.hatena.ne.jp/u_1roh/20090208/1234095960" 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%2Fu-1roh.hatenadiary.org%2Fentry%2F20090208%2F1234095960" alt="">僕がTDDをやめた理由 - カタチづくり</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/u-1roh.hatenadiary.org/entry/20090208/1234095960" class="js-keyboard-entry-page-openable" title="僕がTDDをやめた理由 - カタチづくり (176ブックマーク)" data-gtm-click-label="user-bookmark-users">176 users</a> </span> </li> <li> <a href="/takeshiketa/?url=https%3A%2F%2Fu-1roh.hatenadiary.org%2F" title="『u-1roh.hatenadiary.org』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> u-1roh.hatenadiary.org </a> </li> <li><a href="/hotentry/life" data-gtm-click-label="user-bookmark-category">暮らし</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">タイトルは、まあ、半分釣り。TDDな人もそうでない人も、肩の力を抜いてお気楽にどうぞ。 <a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>題に入る前に まずお礼 ここで書くことは、前の記事 TDDはYAGNIに矛盾する? - カタチづくり から派生して色んな方と意見を交わした経験が元になっています。この場を借りて、色々とアドバイスを頂いた方に心から感謝の意を表します。 特にコメント欄にお寄せいただいた きしだ さんのコメントは、コメントと言うよりももはや一つの素晴らしい記事となっていて、もう必読といってもいいレベルじゃないでしょうか。<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>当にありがとうございます。特にBDDについて大きなヒントを頂きました。 押し付けではなく、交換 タイトルから想像がつくとおり、ここにはどうしてもTDDに対して否定的な意見ばかりが並んでしまう。でも、だからといって僕がTDDを完全に否定しているとは思わないで欲しい。 僕が今一番恐れていることは、TDDに対し</p> <a href="https://u-1roh.hatenadiary.org/entry/20090208/1234095960" 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/53782a3af86c2f30e136309915243e2130c56d21/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F17680117127106383220%2F17680117127106388507%2F1556847107" alt="僕がTDDをやめた理由 - カタチづくり"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-12038340"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://d.hatena.ne.jp/u_1roh/20090208/1234095960" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20110106#bookmark-12038340" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2011/01/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">面白い。ソフトウェアの対象領域に従事する人が比較的少ない分野(それでも一大領域なんだろうけど)だと良いツールも少ないのかもしれない。そもそも TDDが向いていない領域なだけかもしれない。</span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/takeshiketa/tdd/" data-gtm-click-label="user-reaction-tag">tdd</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/12038340/comment/takeshiketa" data-gtm-click-label="user-reaction-permalink" rel="">リンク</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://d.hatena.ne.jp/asakichy/20100221/1266712293"> <div class="centerarticle-entry "> <h3 class="centerarticle-entry-title"> <a href="http://d.hatena.ne.jp/asakichy/20100221/1266712293" 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%2Fasakichy.hatenablog.com%2Fentry%2F20100221%2F1266712293" alt="">テスト駆動開発・パターン編 - Strategic Choice</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/asakichy.hatenablog.com/entry/20100221/1266712293" class="js-keyboard-entry-page-openable" title="テスト駆動開発・パターン編 - Strategic Choice (28ブックマーク)" data-gtm-click-label="user-bookmark-users">28 users</a> </span> </li> <li> <a href="/takeshiketa/?url=http%3A%2F%2Fd.hatena.ne.jp%2Fasakichy%2F" title="『d.hatena.ne.jp/asakichy』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> d.hatena.ne.jp/asakichy </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">ケント・ベック師の著書で、TDDの教科書「テスト駆動開発入門」の「Part3 テスト駆動開発のためのパターン」をまとめ、「TDDの戦略」「TDDの定石」「TDDのプラクティス」を身につけます。はじめにファーストステップテスト駆動開発のパターンテスト方法の詳細の前の、基<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>的な戦略に関するパターンです。「テストすることは何を意味するのか」「いつテストするのか」「テストするロジックをどのように選択するのか」「テストするデータをどのように選択するのか」を吟味します。Test(テスト)Isolated Test(独立したテスト)Test List(テストリスト)Test First(テストファースト)Assert First(アサートファースト)Test Data(テストデータ)Evident Data(明示的データ)レッドバーに関するパターンテスト作成を開始するタイミング、テストを作成する場所、テ</p> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-19594232"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://d.hatena.ne.jp/asakichy/20100221/1266712293" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20100710#bookmark-19594232" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2010/07/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="/takeshiketa/%E3%83%86%E3%82%B9%E3%83%88/" data-gtm-click-label="user-reaction-tag">テスト</a></li> <li><a href="/takeshiketa/TDD/" data-gtm-click-label="user-reaction-tag">TDD</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/19594232/comment/takeshiketa" 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.oiax.jp/rails/zakkan/test_frameworks_for_rails_3_x_era.html"> <div class="centerarticle-entry "> <h3 class="centerarticle-entry-title"> <a href="http://www.oiax.jp/rails/zakkan/test_frameworks_for_rails_3_x_era.html" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.oiax.jp%2Frails%2Fzakkan%2Ftest_frameworks_for_rails_3_x_era.html" alt="">Rails 3.x 時代のテストフレームワーク</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.oiax.jp/rails/zakkan/test_frameworks_for_rails_3_x_era.html" class="js-keyboard-entry-page-openable" title="Rails 3.x 時代のテストフレームワーク (59ブックマーク)" data-gtm-click-label="user-bookmark-users">59 users</a> </span> </li> <li> <a href="/takeshiketa/?url=https%3A%2F%2Fwww.oiax.jp%2F" title="『www.oiax.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> www.oiax.jp </a> </li> <li><a href="/hotentry/life" 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> 1.x の頃、テストと言えば Test::Un<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a> であり、Fixtures でした。 この2つがあったからこそ、私は <a data-gtm-click-label="entry-summary-keyword" href="/q/rails">Rails</a> を好きになったんだと言えます。 Test::Un<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a> は <a data-gtm-click-label="entry-summary-keyword" href="/q/ruby">Ruby</a> 標準ライブラリの1つですが、<a data-gtm-click-label="entry-summary-keyword" href="/q/rails">Rails</a> はそれを巧妙に拡張して、自らと一体化させていました。 <a data-gtm-click-label="entry-summary-keyword" href="/q/rails">Rails</a> は Web アプリケーションを開発するためのフレームワークであり、同時にその Web アプリケーションをテストするためのフレームワークでもあったわけです。 Fixtures は、テストの対象となるサンプルデータをデータベースに投入するためのツールです。 テストを開始する時点でのデータベースの状態を <a data-gtm-click-label="entry-summary-keyword" href="/q/yaml">YAML</a> 形式あるいは <a data-gtm-click-label="entry-summary-keyword" href="/q/csv">CSV</a> 形式で記述しておくと、Fixtures はテストを行う直前にデータベースをその状態に戻してくれます。つまり、Fixtures によって再現性のあるやり</p> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-21045503"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://www.oiax.jp/rails/zakkan/test_frameworks_for_rails_3_x_era.html" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20100501#bookmark-21045503" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2010/05/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="/takeshiketa/rails/" data-gtm-click-label="user-reaction-tag">rails</a></li> <li><a href="/takeshiketa/test/" data-gtm-click-label="user-reaction-tag">test</a></li> <li><a href="/takeshiketa/tdd/" data-gtm-click-label="user-reaction-tag">tdd</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/21045503/comment/takeshiketa" 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://d.hatena.ne.jp/Nagise/20100315/1268668935"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="http://d.hatena.ne.jp/Nagise/20100315/1268668935" 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%2Fnagise.hatenablog.jp%2Fentry%2F20100315%2F1268668935" alt="">TDDはテスタビリティの保証をしてくれるのかも - プログラマーの脳みそ</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/nagise.hatenablog.jp/entry/20100315/1268668935" class="js-keyboard-entry-page-openable" title="TDDはテスタビリティの保証をしてくれるのかも - プログラマーの脳みそ (125ブックマーク)" data-gtm-click-label="user-bookmark-users">125 users</a> </span> </li> <li> <a href="/takeshiketa/?url=https%3A%2F%2Fnagise.hatenablog.jp%2F" title="『nagise.hatenablog.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> nagise.hatenablog.jp </a> </li> <li><a href="/hotentry/life" data-gtm-click-label="user-bookmark-category">暮らし</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">TDD Boot Camp 北陸行ってきました。 TDDはテストドリブンデベロップメントの略で、自働テストを書いてから実装を書くというスタイル。ここでよく誤解されるのだけど、業務でおなじみ単体テストや結合テストといった網羅的なテストを記述してから実装を書くわけではない。目の前の1歩分、ひとつだけテストを書き、すぐさま実装を書いて自働テストをグリーンにする、というやり方をするのだ。こればかりは実際にやってみないと誤解は解けないかもしれない。 さて、深夜のテストTL - <a data-gtm-click-label="entry-summary-keyword" href="/q/togetter">Togetter</a>や、TDDはテスト手法か否か - <a data-gtm-click-label="entry-summary-keyword" href="/q/togetter">Togetter</a>で議論されている「TDDは品質保証の手法ではない」という部分に関する議論。ここでいう「品質保証」はバグがないこと、ソフトウェア品質の12の属性でいう信頼性(reliabil<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>y)が高いことを指す。 TDDのスタイルには網羅的な検査をしてバグをあぶりだすようなフ</p> <a href="https://nagise.hatenablog.jp/entry/20100315/1268668935" 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/78067c7603a05743874828396fefaf5b1524b5c6/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2FN%2FNagise%2F20100314%2F20100314153700.jpg" alt="TDDはテスタビリティの保証をしてくれるのかも - プログラマーの脳みそ"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-20028039"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://d.hatena.ne.jp/Nagise/20100315/1268668935" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20100317#bookmark-20028039" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2010/03/17</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/takeshiketa/TDD/" data-gtm-click-label="user-reaction-tag">TDD</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/20028039/comment/takeshiketa" 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://togetter.com/li/6923"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://togetter.com/li/6923" 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%2Ftogetter.com%2Fli%2F6923" alt="">TDD について</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/togetter.com/li/6923" class="js-keyboard-entry-page-openable" title="TDD について (61ブックマーク)" data-gtm-click-label="user-bookmark-users">61 users</a> </span> </li> <li> <a href="/takeshiketa/?url=https%3A%2F%2Ftogetter.com%2F" title="『togetter.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> togetter.com </a> </li> <li><a href="/hotentry/life" data-gtm-click-label="user-bookmark-category">暮らし</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">「深夜のテスト TL - http://<a data-gtm-click-label="entry-summary-keyword" href="/q/togetter">togetter</a>.com/li/5878 」 「TDD はテスト手法か否か - http://<a data-gtm-click-label="entry-summary-keyword" href="/q/togetter">togetter</a>.com/li/6759 」 の後も続いている議論を、皆でまとめませんか? 誰でも編集可能にしているので、どんどん発言を足したり、問題があったら削除したりしちゃってください。</p> <a href="https://togetter.com/li/6923" 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/23687b013858b60ec8bfb7614efbf144d0c536f2/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F1e64ac2db60f61675f9f14bb52f51a6d-1200x630.jpeg" alt="TDD について"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-19557341"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://togetter.com/li/6923" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20100224#bookmark-19557341" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2010/02/24</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/takeshiketa/TDD/" data-gtm-click-label="user-reaction-tag">TDD</a></li> <li><a href="/takeshiketa/%E3%83%86%E3%82%B9%E3%83%88/" data-gtm-click-label="user-reaction-tag">テスト</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/19557341/comment/takeshiketa" 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://goyoki.hatenablog.com/entry/20100223/1266939139"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="http://goyoki.hatenablog.com/entry/20100223/1266939139" 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%2Fgoyoki.hatenablog.com%2Fentry%2F20100223%2F1266939139" alt="">TDD談義への反応に対する雑感(テスト駆動開発を取り巻く誤解等) - 千里霧中</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/goyoki.hatenablog.com/entry/20100223/1266939139" class="js-keyboard-entry-page-openable" title="TDD談義への反応に対する雑感(テスト駆動開発を取り巻く誤解等) - 千里霧中 (271ブックマーク)" data-gtm-click-label="user-bookmark-users">271 users</a> </span> </li> <li> <a href="/takeshiketa/?url=https%3A%2F%2Fgoyoki.hatenablog.com%2F" title="『goyoki.hatenablog.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> goyoki.hatenablog.com </a> </li> <li><a href="/hotentry/life" 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/twitter">twitter</a>上でTDDに関する談義があったのだけれど、気になったのがそれに対するテストや品質の方々の反応。特にTDDの戒めである「品質保証を目的としていない」という書き込みに対してネガティブな反応が多かったのが気になった。 開発経験もあり定義や概念の扱いに注意深い方々なので誤解の可能性はないと思うが、結構問題が入り組んでいるように感じたので、今回テスト<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>と開発者の視点の差異を焦点にして一部の論点を整理したいと思う。 開発者のいう品質保証の定義 まずTDD談義で開発者が「品質保証のためのテスト」「品質管理のためのテスト」などと呼んでいるテストの定義は、乱れや不統一感も多少あるけど、基<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>的にKent Beckや和田さんが使われているQAテストの定義によるもの(http://gihyo.jp/dev/serial/01/tdd/0003)。 この定義で「品質保証のための単体テスト</p> <a href="https://goyoki.hatenablog.com/entry/20100223/1266939139" 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/679f97b8df3843a5dc12c3bcaceb882ba0b7e495/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F12704538227038514066%2F12704591929883938962%2F1365590825" alt="TDD談義への反応に対する雑感(テスト駆動開発を取り巻く誤解等) - 千里霧中"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-19547032"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://goyoki.hatenablog.com/entry/20100223/1266939139" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20100224#bookmark-19547032" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2010/02/24</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/takeshiketa/TDD/" data-gtm-click-label="user-reaction-tag">TDD</a></li> <li><a href="/takeshiketa/%E3%83%86%E3%82%B9%E3%83%88/" data-gtm-click-label="user-reaction-tag">テスト</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/19547032/comment/takeshiketa" 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://togetter.com/li/6759"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://togetter.com/li/6759" 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%2Ftogetter.com%2Fli%2F6759" alt="">TDDはテスト手法か否か</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/togetter.com/li/6759" class="js-keyboard-entry-page-openable" title="TDDはテスト手法か否か (72ブックマーク)" data-gtm-click-label="user-bookmark-users">72 users</a> </span> </li> <li> <a href="/takeshiketa/?url=https%3A%2F%2Ftogetter.com%2F" title="『togetter.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> togetter.com </a> </li> <li><a href="/hotentry/life" data-gtm-click-label="user-bookmark-category">暮らし</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">なんもわからん @babie TDDは論理実証主義的な面が強調されすぎたために、BDDなどという言い換えが行われた。反証主義的に、エラーを積極的に起こそうとするテストを書くべき。 2010-02-21 13:45:09</p> <a href="https://togetter.com/li/6759" 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/4ecd2b536f4a86e69cc34766ad137e62f03012c8/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F74f1c4d3aedee5ccfb508e57e229a284-1200x630.jpeg" alt="TDDはテスト手法か否か"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-19523139"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://togetter.com/li/6759" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20100223#bookmark-19523139" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2010/02/23</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">定量的な視点をTDDに入れ込む。開発技法に過ぎないならBDDと言うべき的な</span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/takeshiketa/tdd/" data-gtm-click-label="user-reaction-tag">tdd</a></li> <li><a href="/takeshiketa/%E3%83%86%E3%82%B9%E3%83%88/" data-gtm-click-label="user-reaction-tag">テスト</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/19523139/comment/takeshiketa" data-gtm-click-label="user-reaction-permalink" rel="">リンク</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.slideshare.net/yoshiori/xp-3242327"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="http://www.slideshare.net/yoshiori/xp-3242327" 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%2Ffr.slideshare.net%2Fslideshow%2Fxp-3242327%2F3242327" alt="">三周遅れのXP</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/fr.slideshare.net/slideshow/xp-3242327/3242327" class="js-keyboard-entry-page-openable" title="三周遅れのXP (127ブックマーク)" data-gtm-click-label="user-bookmark-users">127 users</a> </span> </li> <li> <a href="/takeshiketa/?url=https%3A%2F%2Ffr.slideshare.net%2F" title="『fr.slideshare.net』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> fr.slideshare.net </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">三周遅れのXP - Téléchargez le document au f<a data-gtm-click-label="entry-summary-keyword" href="/q/ORM">orm</a>at <a data-gtm-click-label="entry-summary-keyword" href="/q/PDF">PDF</a> ou consu<a data-gtm-click-label="entry-summary-keyword" href="/q/LTE">lte</a>z-le grat<a data-gtm-click-label="entry-summary-keyword" href="/q/UI">ui</a>t<a data-gtm-click-label="entry-summary-keyword" href="/q/EM">em</a>ent en ligne</p> <a href="https://fr.slideshare.net/slideshow/xp-3242327/3242327" 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/2298c6b706d04213b4df0882ae698e49fe9d3ee7/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fdevsumi2010-100222005506-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds" alt="三周遅れのXP"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-19510458"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://www.slideshare.net/yoshiori/xp-3242327" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20100222#bookmark-19510458" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2010/02/22</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/takeshiketa/agile/" data-gtm-click-label="user-reaction-tag">agile</a></li> <li><a href="/takeshiketa/tdd/" data-gtm-click-label="user-reaction-tag">tdd</a></li> <li><a href="/takeshiketa/devsumi2010/" data-gtm-click-label="user-reaction-tag">devsumi2010</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/19510458/comment/takeshiketa" 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://togetter.com/li/5878"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://togetter.com/li/5878" 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%2Ftogetter.com%2Fli%2F5878" alt="">深夜のテストTL</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/togetter.com/li/5878" class="js-keyboard-entry-page-openable" title="深夜のテストTL (116ブックマーク)" data-gtm-click-label="user-bookmark-users">116 users</a> </span> </li> <li> <a href="/takeshiketa/?url=https%3A%2F%2Ftogetter.com%2F" title="『togetter.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> togetter.com </a> </li> <li><a href="/hotentry/life" data-gtm-click-label="user-bookmark-category">暮らし</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">ヨシオリX @yoshiori なんか「テストファースト」って言葉に2種類の使われ方があって、混乱するなぁ…… テスト手法のテストファーストと、開発手法のテストファーストはわけるべきだよなぁ 2010-02-15 00:43:52 ヨシオリX @yoshiori 「TDD はテスト計画をせずにテストしてしまうから……」とか「品質管理のためには……」とか言われるとなぁ TDD はあくまで&quot;開発&quot;手法であって、テスト手法では無いんだよね。もう、TDDで品質があがるって啓蒙するの止めちゃえば、いっそ変な誤解が広がらないんじゃないかなぁ。 2010-02-15 00:47:13</p> <a href="https://togetter.com/li/5878" 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/9fa0f58fffe1f423734da6418599c90e5d0b038a/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2Fee9044e8dd3903153f9a619fe9e7e4e9-1200x630.jpeg" alt="深夜のテストTL"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-19329088"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://togetter.com/li/5878" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20100215#bookmark-19329088" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2010/02/15</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">保証する品質を定義づけられるのは作り手と使い手の約束だけだから汎用的な議論が出来ないのかなぁ。こういうときこそ工学的アプローチで 持って行かないと</span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/takeshiketa/tdd/" data-gtm-click-label="user-reaction-tag">tdd</a></li> <li><a href="/takeshiketa/%E3%83%86%E3%82%B9%E3%83%88/" data-gtm-click-label="user-reaction-tag">テスト</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/19329088/comment/takeshiketa" data-gtm-click-label="user-reaction-permalink" rel="">リンク</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.infoq.com/jp/news/2009/11/legacy-code"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="http://www.infoq.com/jp/news/2009/11/legacy-code" 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.infoq.com%2Fjp%2Fnews%2F2009%2F11%2Flegacy-code%2F" alt="">テスト駆動開発とレガシーコードのトラブル</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.infoq.com/jp/news/2009/11/legacy-code/" class="js-keyboard-entry-page-openable" title="テスト駆動開発とレガシーコードのトラブル (29ブックマーク)" data-gtm-click-label="user-bookmark-users">29 users</a> </span> </li> <li> <a href="/takeshiketa/?url=https%3A%2F%2Fwww.infoq.com%2F" title="『www.infoq.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> www.infoq.com </a> </li> <li><a href="/hotentry/life" data-gtm-click-label="user-bookmark-category">暮らし</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">原文(投稿日:2009/11/19)へのリンク Alan Beljeu 氏は古い (レガシー) <a data-gtm-click-label="entry-summary-keyword" href="/q/c%2B%2B">C++</a> コードベースで TDD を行っていて,トラブルに見舞われた。その理由はこうだ。 機能を完全に実装できていないクラスが最後に残ります。いつか必要になるかも知れない,というやつです。他のクラスからそれを利用しようとして,実装を完成させる時がきた,まさにその時になって当初の設計不足が明らかになるのです。設計は新たにやり直し,外部仕様(とそのテスト)も修正が必要。そのクラスを使っていた既存コードも変更しなければなりません。 そして彼は,&quot;事前の大規模設計 (Big Design Up Front)&quot; がこの問題の解決策ではないか,と考えるのだが,<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB">アジャイル</a>コーチである George Dinwiddie 氏は,Alan のこの例が訴えているものを指摘する。すなわち,きれいなコード (clean c</p> <a href="https://www.infoq.com/jp/news/2009/11/legacy-code/" 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/363654d9984391367b059529bd92c56e41464ced/height=288;version=1;width=512/https%3A%2F%2Fcdn.infoq.com%2Fstatics_s1_20241210082243%2Fstyles%2Fstatic%2Fimages%2Flogo%2Flogo-big.jpg" alt="テスト駆動開発とレガシーコードのトラブル"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-17523492"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://www.infoq.com/jp/news/2009/11/legacy-code" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20091124#bookmark-17523492" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2009/11/24</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/takeshiketa/TDD/" data-gtm-click-label="user-reaction-tag">TDD</a></li> <li><a href="/takeshiketa/agile/" data-gtm-click-label="user-reaction-tag">agile</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/17523492/comment/takeshiketa" 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.infoq.com/jp/news/2009/11/uncle-bob-tdd-applicability"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="http://www.infoq.com/jp/news/2009/11/uncle-bob-tdd-applicability" 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.infoq.com%2Fjp%2Fnews%2F2009%2F11%2Funcle-bob-tdd-applicability%2F" alt="">InfoQ: Bobおじさんが述べるTDDの適用可能性</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.infoq.com/jp/news/2009/11/uncle-bob-tdd-applicability/" class="js-keyboard-entry-page-openable" title="InfoQ: Bobおじさんが述べるTDDの適用可能性 (31ブックマーク)" data-gtm-click-label="user-bookmark-users">31 users</a> </span> </li> <li> <a href="/takeshiketa/?url=https%3A%2F%2Fwww.infoq.com%2F" title="『www.infoq.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> www.infoq.com </a> </li> <li><a href="/hotentry/life" data-gtm-click-label="user-bookmark-category">暮らし</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">Spring Bootによる<a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>バックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical <a data-gtm-click-label="entry-summary-keyword" href="/q/gui">Gui</a>de to <a data-gtm-click-label="entry-summary-keyword" href="/q/Build">Build</a>ing an <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> Back End w<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>h Spring Boot」から、Spring Bootを使ったREST <a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a>構築の基礎を学んだ。この<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...</p> <a href="https://www.infoq.com/jp/news/2009/11/uncle-bob-tdd-applicability/" 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/185f0d63035d9f0a8865ef8380be0afd9e3bce24/height=288;version=1;width=512/https%3A%2F%2Fcdn.infoq.com%2Fstatics_s1_20250121072506%2Fstyles%2Fstatic%2Fimages%2Flogo%2Flogo-big.jpg" alt="InfoQ: Bobおじさんが述べるTDDの適用可能性"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-17415949"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://www.infoq.com/jp/news/2009/11/uncle-bob-tdd-applicability" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20091118#bookmark-17415949" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2009/11/18</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/takeshiketa/TDD/" data-gtm-click-label="user-reaction-tag">TDD</a></li> <li><a href="/takeshiketa/%E3%83%86%E3%82%B9%E3%83%88/" data-gtm-click-label="user-reaction-tag">テスト</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/17415949/comment/takeshiketa" 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.morijp.com/masarl/homepage3.nifty.com/masarl/article/junit/scenario-based-testcase.html"> <div class="centerarticle-entry "> <h3 class="centerarticle-entry-title"> <a href="http://www.morijp.com/masarl/homepage3.nifty.com/masarl/article/junit/scenario-based-testcase.html" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=http%3A%2F%2Fwww.morijp.com%2Fmasarl%2Fhomepage3.nifty.com%2Fmasarl%2Farticle%2Fjunit%2Fscenario-based-testcase.html" alt="">morijp.com</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/www.morijp.com/masarl/homepage3.nifty.com/masarl/article/junit/scenario-based-testcase.html" class="js-keyboard-entry-page-openable" title="morijp.com (27ブックマーク)" data-gtm-click-label="user-bookmark-users">27 users</a> </span> </li> <li> <a href="/takeshiketa/?url=http%3A%2F%2Fwww.morijp.com%2F" title="『www.morijp.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> www.morijp.com </a> </li> <li><a href="/hotentry/life" data-gtm-click-label="user-bookmark-category">暮らし</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">morijp.com 2024 著作権. 不許複製 プライバシーポリシー</p> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-1437452"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://www.morijp.com/masarl/homepage3.nifty.com/masarl/article/junit/scenario-based-testcase.html" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20090917#bookmark-1437452" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2009/09/17</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/takeshiketa/TDD/" data-gtm-click-label="user-reaction-tag">TDD</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/1437452/comment/takeshiketa" 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://d.hatena.ne.jp/a-hisame/20090916/1253107356"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="http://d.hatena.ne.jp/a-hisame/20090916/1253107356" 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%2Fa-hisame.hatenadiary.org%2Fentry%2F20090916%2F1253107356" alt="">TDDを理解するためのまとめ - Logic Dice</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/a-hisame.hatenadiary.org/entry/20090916/1253107356" class="js-keyboard-entry-page-openable" title="TDDを理解するためのまとめ - Logic Dice (39ブックマーク)" data-gtm-click-label="user-bookmark-users">39 users</a> </span> </li> <li> <a href="/takeshiketa/?url=https%3A%2F%2Fa-hisame.hatenadiary.org%2F" title="『a-hisame.hatenadiary.org』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> a-hisame.hatenadiary.org </a> </li> <li><a href="/hotentry/life" data-gtm-click-label="user-bookmark-category">暮らし</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">わんくま同盟名古屋勉強会#9に置いて、biacさんのTDDに関する話が出たので、少し自分がTDDについて思うことを纏めてみました。 TDDが説明されるのを聞く度、見る度、多分説明している<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>当に伝わっているのかが怪しいと思ったためです。 というのも、自分が(多分)理解するまでに、酷い回り道をしたもので。 また、biacさんのTDDに関するWebサイトはこちら。 TDD.<a data-gtm-click-label="entry-summary-keyword" href="/q/net">NET</a> - http://www.tdd-<a data-gtm-click-label="entry-summary-keyword" href="/q/net">net</a>.jp/ 以下、長文注意。 背景 まず、自分がTDD(より正確に記述するなら、「テストファースト*1」が正しく、TDDではない)をまともに実践しようと思って始めたのが、大学の4年時の最初なので、今から18ヶ月程度前です。 とある研究室の<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88">プロジェクト</a>で使いたいという話になり、そこで実践を行いました。当時の環境はJDK + JUn<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>で</p> <a href="https://a-hisame.hatenadiary.org/entry/20090916/1253107356" 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/765ed62396412cf495d084069215e95e3dbec68f/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F17680117127146537300%2F17680117127146552601%2F1558245794" alt="TDDを理解するためのまとめ - Logic Dice"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-16077828"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://d.hatena.ne.jp/a-hisame/20090916/1253107356" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20090917#bookmark-16077828" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2009/09/17</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/takeshiketa/TDD/" data-gtm-click-label="user-reaction-tag">TDD</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/16077828/comment/takeshiketa" 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.func09.com/wordpress/archives/532"> <div class="centerarticle-entry "> <h3 class="centerarticle-entry-title"> <a href="http://www.func09.com/wordpress/archives/532" 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%2Fwww.func09.com%2Fwordpress%2Farchives%2F532" alt="">http://www.func09.com/wordpress/archives/532</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/www.func09.com/wordpress/archives/532" class="js-keyboard-entry-page-openable" title="http://www.func09.com/wordpress/archives/532 (243ブックマーク)" data-gtm-click-label="user-bookmark-users">243 users</a> </span> </li> <li> <a href="/takeshiketa/?url=http%3A%2F%2Fwww.func09.com%2F" title="『www.func09.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> www.func09.com </a> </li> <li><a href="/hotentry/life" data-gtm-click-label="user-bookmark-category">暮らし</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary"></p> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-13150909"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://www.func09.com/wordpress/archives/532" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20090903#bookmark-13150909" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2009/09/03</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="/takeshiketa/rails/" data-gtm-click-label="user-reaction-tag">rails</a></li> <li><a href="/takeshiketa/TDD/" data-gtm-click-label="user-reaction-tag">TDD</a></li> <li><a href="/takeshiketa/test/" data-gtm-click-label="user-reaction-tag">test</a></li> <li><a href="/takeshiketa/rspec/" data-gtm-click-label="user-reaction-tag">rspec</a></li> <li><a href="/takeshiketa/factory_girl/" data-gtm-click-label="user-reaction-tag">factory_girl</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/13150909/comment/takeshiketa" 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://forza.cocolog-nifty.com/blog/2009/08/faq-611b.html"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="http://forza.cocolog-nifty.com/blog/2009/08/faq-611b.html" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=http%3A%2F%2Fforza.cocolog-nifty.com%2Fblog%2F2009%2F08%2Ffaq-611b.html" alt="">チケット駆動開発のFAQ - プログラマの思索</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/forza.cocolog-nifty.com/blog/2009/08/faq-611b.html" class="js-keyboard-entry-page-openable" title="チケット駆動開発のFAQ - プログラマの思索 (95ブックマーク)" data-gtm-click-label="user-bookmark-users">95 users</a> </span> </li> <li> <a href="/takeshiketa/?url=http%3A%2F%2Fforza.cocolog-nifty.com%2F" title="『forza.cocolog-nifty.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> forza.cocolog-nifty.com </a> </li> <li><a href="/hotentry/life" data-gtm-click-label="user-bookmark-category">暮らし</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">チケット駆動開発についてのFAQをまとめてみた。 他に聞きたい質問があれば、コメントして下さい。 チケット駆動開発のFAQを集めれば、チケット駆動開発を普及させるのに役立つと思うから。 【元ネタ】 チケット駆動開発 … <a data-gtm-click-label="entry-summary-keyword" href="/q/it">IT</a>pro Challenge のライトニングトーク (4) - まちゅダイアリー(2007-09-07) TiDD:チケット駆動開発: ソフトウェアさかば <a data-gtm-click-label="entry-summary-keyword" href="/q/redmine">Redmine</a>とTracの機能比較: プログラマの思索 脱<a data-gtm-click-label="entry-summary-keyword" href="/q/EXCEL">Excel</a>! <a data-gtm-click-label="entry-summary-keyword" href="/q/redmine">Redmine</a>で<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB">アジャイル</a>開発を楽々管理 - @<a data-gtm-click-label="entry-summary-keyword" href="/q/it">IT</a>自分戦略研究所 Tracのワークフロー: プログラマの思索 ワークフロー機能のカスタマイズ方法 - かおるんダイアリー そろそろTracのワークフローについて語っておくか - almost n<a data-gtm-click-label="entry-summary-keyword" href="/q/EARL">earl</a>y dead チケット駆動開発は進捗報告作りをどのように解決しようとするか?: プログラマの思索</p> <a href="http://forza.cocolog-nifty.com/blog/2009/08/faq-611b.html" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/f5023cc76aa5502e2a40df5cca5d9a093c69f2db/height=288;version=1;width=512/https%3A%2F%2Fforza.cocolog-nifty.com%2F.shared-cocolog%2Fnifty_managed%2Fimages%2Fweb%2Fogp%2Fdefault.png" alt="チケット駆動開発のFAQ - プログラマの思索"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-15356798"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://forza.cocolog-nifty.com/blog/2009/08/faq-611b.html" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20090816#bookmark-15356798" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2009/08/16</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="/takeshiketa/TDD/" data-gtm-click-label="user-reaction-tag">TDD</a></li> <li><a href="/takeshiketa/redmine/" data-gtm-click-label="user-reaction-tag">redmine</a></li> <li><a href="/takeshiketa/ajile/" data-gtm-click-label="user-reaction-tag">ajile</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/15356798/comment/takeshiketa" 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://gihyo.jp/dev/serial/01/tdd/0008"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="http://gihyo.jp/dev/serial/01/tdd/0008" 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%2Fgihyo.jp%2Fdev%2Fserial%2F01%2Ftdd%2F0008" alt="">第8回 テスト駆動開発の「サイクル」――まず受け入れテストで土台を作る | gihyo.jp</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/gihyo.jp/dev/serial/01/tdd/0008" class="js-keyboard-entry-page-openable" title="第8回 テスト駆動開発の「サイクル」――まず受け入れテストで土台を作る | gihyo.jp (15ブックマーク)" data-gtm-click-label="user-bookmark-users">15 users</a> </span> </li> <li> <a href="/takeshiketa/?url=https%3A%2F%2Fgihyo.jp%2F" title="『gihyo.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> gihyo.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">ニコニコ動画:https://www.nicovideo.jp/watch/sm2316518 テスト駆動開発には「リズム」と「サイクル」があります。 リズムについては前回説明しましたので、今回と次回でサイクルの話をします。 テスト駆動開発のサイクル テスト駆動開発のサイクルとは、1つの機能を実装するにあたって、どんな手順を踏んで、どういう回し方をしていくかということです。たとえば、ある1つの機能を実装したい、提供したいということになったときに、まずどういうテストを書いて、それからどういうコードを書いていくのか。 今回は、テスト駆動開発のサイクルとしてまず最初に受け入れテストを土台として作るという話をします。 そして次回、その受け入れテストを通すために、どのようにレッド、グリーン、リファクタリングというサイクルを回していくのかというお話をします。 なお、ここで説明する回し方の対象は、スタッ</p> <a href="https://gihyo.jp/dev/serial/01/tdd/0008" 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/542fc8955d6cdf4f183c5b144a49919e3ef48880/height=288;version=1;width=512/https%3A%2F%2Fgihyo.jp%2Fassets%2Fimages%2FICON%2F2007%2F082_tdd.png" alt="第8回 テスト駆動開発の「サイクル」――まず受け入れテストで土台を作る | gihyo.jp"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-6553451"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://gihyo.jp/dev/serial/01/tdd/0008" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20090722#bookmark-6553451" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2009/07/22</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/takeshiketa/TDD/" data-gtm-click-label="user-reaction-tag">TDD</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/6553451/comment/takeshiketa" 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://wota.jp/ac/?date=20090721#p01"> <div class="centerarticle-entry "> <h3 class="centerarticle-entry-title"> <a href="http://wota.jp/ac/?date=20090721#p01" 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%2Fwota.jp%2Fac%2F%3Fdate%3D20090721" alt="">ヽ( ・∀・)ノくまくまー(2009-07-21)</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/wota.jp/ac/?date=20090721" class="js-keyboard-entry-page-openable" title="ヽ( ・∀・)ノくまくまー(2009-07-21) (36ブックマーク)" data-gtm-click-label="user-bookmark-users">36 users</a> </span> </li> <li> <a href="/takeshiketa/?url=http%3A%2F%2Fwota.jp%2F" title="『wota.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> wota.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/UnitTest">UnitTest</a> で部品をしっかり守っているのに運用時にエラー さらに version up 時には頑張って書いた <a data-gtm-click-label="entry-summary-keyword" href="/q/UnitTest">UnitTest</a> が無駄になる <a data-gtm-click-label="entry-summary-keyword" href="/q/UnitTest">UnitTest</a> の存在意義に疑問が出てくるから、書こうとする気力が落ちる 思考停止して頑張ってまた書いても、また運用時にエラーが起きちゃう こうして悪いリズムが生まれていく 長期的な回帰テストとしては <a data-gtm-click-label="entry-summary-keyword" href="/q/UnitTest">UnitTest</a> は無力 まず書くべきは End to End のテストだった・・・ 河田・・・受入テストにつけ! なるほど、<a data-gtm-click-label="entry-summary-keyword" href="/q/UnitTest">UnitTest</a> よりも受入テストの方が対象となるシステムの挙動と密接であるため、確かに テストコードが長生きする とことがわかる。うん、それで問題が解決しているよ。でも、さらに「実行者が人でないといけない」と言ってるのはなぜ?ここからが問題の核心だが、その答えから言えば 人である方がテストコードがさらに長生きする から</p> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-14815815"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://wota.jp/ac/?date=20090721#p01" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20090722#bookmark-14815815" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2009/07/22</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/takeshiketa/cucumber/" data-gtm-click-label="user-reaction-tag">cucumber</a></li> <li><a href="/takeshiketa/ruby/" data-gtm-click-label="user-reaction-tag">ruby</a></li> <li><a href="/takeshiketa/tdd/" data-gtm-click-label="user-reaction-tag">tdd</a></li> <li><a href="/takeshiketa/rails/" data-gtm-click-label="user-reaction-tag">rails</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/14815815/comment/takeshiketa" 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://d.hatena.ne.jp/t-wada/"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="http://d.hatena.ne.jp/t-wada/" 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%2Ft-wada.hatenadiary.jp%2F" alt="">t-wada の日記(旧)</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/t-wada.hatenadiary.jp/" class="js-keyboard-entry-page-openable" title="t-wada の日記(旧) (55ブックマーク)" data-gtm-click-label="user-bookmark-users">55 users</a> </span> </li> <li> <a href="/takeshiketa/?url=https%3A%2F%2Ft-wada.hatenadiary.jp%2F" title="『t-wada.hatenadiary.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> t-wada.hatenadiary.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">2004 年以来 10 年弱<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%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/%E3%81%AF%E3%81%A6%E3%81%AA">はてな</a> <a data-gtm-click-label="entry-summary-keyword" href="/q/BL">bl</a>og に移転いたしました。 http://<a data-gtm-click-label="entry-summary-keyword" href="/q/t-wada">t-wada</a>.<a data-gtm-click-label="entry-summary-keyword" href="/q/hatena">hatena</a><a data-gtm-click-label="entry-summary-keyword" href="/q/BL">bl</a>og.jp/ <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/BL">bl</a>og に移行する際に、<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%81%AF%E3%81%A6%E3%81%AA">はてな</a>ダイアリーの記事を丸ごと移行するオプションもありました。しかし、旧日記はそのままの見た目で、そのままの URL であって欲しいと考えましたので、アカウント移行はせず、当日記はそのままにすることにしました。 こんにちは、だんだんブログ勘を取り戻していきたい和田です。このエントリは TDD Advent Calendar 2013 の 11 日目のエントリです。このエントリでは、最近行ったテスト駆動開発関連の講演や寄稿に関して、この機会にまとめておきたいと思います。 DevLOVE 現場甲子園 まず 11/9 にDevLOVE現場甲子園20</p> <a href="https://t-wada.hatenadiary.jp/" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png" alt="t-wada の日記(旧)"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-595096"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://d.hatena.ne.jp/t-wada/" data-user-name="takeshiketa"> <a href="/takeshiketa/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/takeshiketa/profile.png" alt="takeshiketa" title="takeshiketa" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/takeshiketa/20090719#bookmark-595096" class="js-anchor-path" data-gtm-click-label="user-reaction-username">takeshiketa</a></span> <span class="centerarticle-reaction-timestamp">2009/07/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="/takeshiketa/TDD/" data-gtm-click-label="user-reaction-tag">TDD</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/595096/comment/takeshiketa" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li> <div class="centerarticle-pager"> <span class="centerarticle-waiting js-read-more-waiting is-hidden"><img src="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/common/loading@2x.gif" alt="残りのブックマークを読み込んでいます" width="16" height="16" /></span> <span>1</span> <span><a href="/takeshiketa/TDD/?page=2">2</a></span> <span class="centerarticle-pager-next"><a href="/takeshiketa/TDD/?page=2">次のページ</a></span> </div> </li> </ul> </div> </div> <script type="text/javascript"> // ---------------- dfp section ---------------- var valve = valve || []; valve.push(function(v) { v.defineDFPSlot({ unit: '/4374287/b_pc_o_18_3025_0_no', sizes: [[300,250]], slotId: 'user-sidebar-ad-top' }); v.defineDFPSlot({ unit: '/4374287/b_pc_o_19_3060_0_no', sizes: [[300,600],[300,250]], slotId: 'user-sidebar-ad-bottom' }); v.sealDFPSlots(); }); </script> <script> var valve = window.valve || []; valve.push(function(v) { var pageKeyValues = {}; if (document.cookie.split(';').some(function(item) { return item.indexOf('202011_guest_status=register_incomplete') >= 0})) { pageKeyValues.bookmark_status = 'register_incomplete'; } v.config({ pageKeyValues: pageKeyValues, content: { result: "ng" }, service: 'bookmark' }); }); </script> <script src="https://cdn.pool.st-hatena.com/valve/valve.js" async></script> <div class="right-container"> <div id="user-sidebar-ad-top" class="centerarticle-aside-ad"></div> <section class="centerarticle-aside-section"> <div class="centerarticle-aside-info"> <h3 class="centerarticle-aside-info-title">お知らせ</h3> <ul class="centerarticle-aside-info-list"> <li class="centerarticle-aside-info-item"> <a href="https://bookmark.hatenastaff.com/entry/2025/02/18/125503?utm_source=user_page_side_column&amp;utm_medium=official_announcement&amp;utm_campaign=2025%2F02%2F18%2F125503" target="_blank"> <p class="centerarticle-aside-info-category">ランキング</p> <h4 class="centerarticle-aside-info-item-title">今週のはてなブックマーク数ランキング(2025年2月第3週)</h4> <time class="centerarticle-aside-info-item-time">2025/02/18</time> </a> </li> <li class="centerarticle-aside-info-item"> <a href="https://bookmark.hatenastaff.com/entry/2025/02/12/120845?utm_source=user_page_side_column&amp;utm_medium=official_announcement&amp;utm_campaign=2025%2F02%2F12%2F120845" target="_blank"> <p class="centerarticle-aside-info-category">ランキング</p> <h4 class="centerarticle-aside-info-item-title">今週のはてなブックマーク数ランキング(2025年2月第2週)</h4> <time class="centerarticle-aside-info-item-time">2025/02/12</time> </a> </li> <li class="centerarticle-aside-info-item"> <a href="https://bookmark.hatenastaff.com/entry/2025/02/07/115828?utm_source=user_page_side_column&amp;utm_medium=official_announcement&amp;utm_campaign=2025%2F02%2F07%2F115828" target="_blank"> <p class="centerarticle-aside-info-category">ランキング</p> <h4 class="centerarticle-aside-info-item-title">月間はてなブックマーク数ランキング(2025年1月)</h4> <time class="centerarticle-aside-info-item-time">2025/02/07</time> </a> </li> </ul> <div class="enterarticle-aside-info-readmore"> <a href="https://bookmark.hatenastaff.com/?utm_source=user_page_side_column&utm_medium=official_announcement&utm_campaign=readmore" class="enterarticle-aside-info-readmore-button" target="_blank">もっと読む</a> </div> </div> </section> <section class="centerarticle-aside-section"> <h3 class="centerarticle-aside-title">公式Twitter</h3> <ul class="centerarticle-aside-twitter"> <li><a href="https://twitter.com/HatenaBookmark" target="_blank" rel="noopener" data-gtm-click-label="user-officialTwitter-name">@HatenaBookmark</a><p>リリース、障害情報などのサービスのお知らせ</p></li> <li><a href="https://twitter.com/hatebu" target="_blank" rel="noopener" data-gtm-click-label="user-hotentryTwitter-name">@hatebu</a><p>最新の人気エントリーの配信</p></li> </ul> </section> <div id="user-sidebar-ad-bottom" class="centerarticle-aside-ad"></div> </div> </div> </div> <div class="progress-modal is-hidden js-progress-modal"> <div class="progress-modal-spiner"></div> <div class="progress-modal-message"> <p class="progress-modal-message-text js-progress-message">処理を実行中です</p> <button class="progress-modal-cancel js-cancel-button">中止</button> </div> </div> <div class="message-modal js-message-modal is-hidden auto-hide"> <div class="message-modal-message"> <p class="message-modal-message-text js-message-modal-message-text"></p> <button class="message-modal-btn js-message-modal-close-button">閉じる</button> </div> </div> <div id="keyboard-shortcut-help" class="shortcut-help is-hidden"> <h3 class="shortcut-help-title">キーボードショートカット一覧</h3> <p><span class="shortcut-help-key">j</span>次のブックマーク</p> <p><span class="shortcut-help-key">k</span>前のブックマーク</p> <p><span class="shortcut-help-key">l</span>あとで読む</p> <p><span class="shortcut-help-key">e</span>コメント一覧を開く</p> <p><span class="shortcut-help-key">o</span>ページを開く</p> <button tyle="button" class="shortcut-help-close js-close-button">✕</button> </div> <div class="footer"> <div class="footer-inner"> <div class="footer-inner-group footer-bookmark"> <h2 class="footer-title"><a href="/" data-gtm-label="footer-btop">はてなブックマーク</a></h2> <div class="footer-list-wrapper"> <ul class="footer-list footer-list--pc"> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/all" class="hotentry js-keyboard-openable" data-gtm-label="footerCategories-hotentry">総合</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/general" class="general js-keyboard-openable" data-gtm-label="footerCategories-general">一般</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/social" class="cat-social js-keyboard-openable" data-gtm-label="footerCategories-social">世の中</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/economics" class="cat-economics js-keyboard-openable" data-gtm-label="footerCategories-economics">政治と経済</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/life" class="cat-life js-keyboard-openable" data-gtm-label="footerCategories-life">暮らし</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/knowledge" class="cat-knowledge js-keyboard-openable" data-gtm-label="footerCategories-knowledge">学び</a></li> </ul> <ul class="footer-list footer-list--pc"> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/it" class="cat-it js-keyboard-openable" data-gtm-label="footerCategories-it">テクノロジー</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/entertainment" class="cat-entertainment js-keyboard-openable" data-gtm-label="footerCategories-entertainment">エンタメ</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/game" class="cat-game js-keyboard-openable" data-gtm-label="footerCategories-game">アニメとゲーム</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/fun" class="cat-fun js-keyboard-openable" data-gtm-label="footerCategories-fun">おもしろ</a></li> </ul> <ul class="footer-list"> <li class="footer-list-item"><a href="/guide/tools">アプリ・拡張機能</a></li> <li class="footer-list-item"><a href="https://bookmark.hatenastaff.com/">開発ブログ</a></li> <li class="footer-list-item"><a href="/help/">ヘルプ</a></li> <li class="footer-list-item"><a href="https://hatena.zendesk.com/hc/ja/categories/900000153166">お問い合わせ</a></li> <li class="footer-list-item footer-list-item--sp"><a href="/guide/guideline">ガイドライン</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/rule">利用規約</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/privacypolicy-ja">プライバシーポリシー</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/cookie-policy">利用者情報の外部送信について</a></li> </ul> <ul class="footer-list footer-list--pc"> <li class="footer-list-item footer-list-item--pc"><a href="/guide/guideline">ガイドライン</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/rule">利用規約</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/privacypolicy-ja">プライバシーポリシー</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/cookie-policy">利用者情報の外部送信について</a></li> </ul> </div> </div> <div class="footer-inner-group footer-bookmark-sns"> <h2 class="footer-title">公式Twitter</h2> <div class="footer-bookmark-list"> <ul class="footer-list"> <li class="footer-list-item"><a href="https://twitter.com/HatenaBookmark" target="_blank" rel="noopener" data-gtm-click-label="footer-officialTwitter-name">公式アカウント</a></li> <li class="footer-list-item"><a href="https://twitter.com/hatebu" target="_blank" rel="noopener" data-gtm-click-label="footer-hotentryTwitter-name">ホットエントリー</a></li> </ul> </div> </div> <div class="footer-inner-group footer-hatena"> <h2 class="footer-title">はてなのサービス</h2> <ul class="footer-list"> <li class="footer-list-item"><a href="https://hatenablog.com/" data-gtm-label="footerServices-blog">はてなブログ</a></li> <li class="footer-list-item"><a href="https://hatenablog.com/guide/pro?plus_via=hatenabookmark_footer&utm_source=hatenabookmark&utm_medium=referral&utm_campaign=hatenabookmark_to_hatenablog_pro&utm_content=hatenabookmark_footer" data-gtm-label="footerServices-blog-pro">はてなブログPro</a></li> <li class="footer-list-item"><a href="https://q.hatena.ne.jp/" data-gtm-label="footerServices-question">人力検索はてな</a></li> <li class="footer-list-item"><a href="http://d.hatena.ne.jp/" data-gtm-label="footerServices-keyword">はてなブログ タグ</a></li> <li class="footer-list-item"><a href="http://hatenanews.com/" data-gtm-label="footerServices-hatenanews">はてなニュース</a></li> <li class="footer-list-item"><a href="https://soredoko.jp/" data-gtm-label="footerServices-soredoko">ソレドコ</a></li> </ul> </div> </div> <div class="footer-bottom"> <div class="footer-app"> <ul> <li class="footer-list-item"><a href="https://apps.apple.com/jp/app/hatenabukkumaku/id354976659?mt=8" target="_blank" rel="noopener" data-gtm-click-label="footer-app-ios"><img src="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/common/dl-button/appstore@2x.png" alt="App Storeからダウンロード"></a></li> <li class="footer-list-item"><a href="https://play.google.com/store/apps/details?id=com.hatena.android.bookmark&amp;referrer=utm_source%3Dbookmark_sp%26utm_campaign%3Dbookmark_sp_user&hl=ja" target="_blank" rel="noopener" data-gtm-click-label="footer-app-android"><img src="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/images/v4/public/common/dl-button/googleplay@2x.png" alt="Google Playで手に入れよう"></a></li> </ul> </div> <div class="copyright">Copyright &copy; 2005-2025 <a href="http://www.hatena.ne.jp/">Hatena</a>. All Rights Reserved.</div> </div> </div> <div class="modal-overlay"></div> <script type="text/javascript" src="https://b.st-hatena.com/94abb00c8e4c54e0574b5d19a77fa5ce4e9a125e/js/v4/bookmark.star.js" async></script> <div class="js-head-notify is-hidden">設定を変更しました<span class="js-head-notify-close-button">x</span></div> </body> </html>

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