CINXE.COM
テスト/品質系エンジニアが身に付けておくと得をする7つの技術 - 現場のためのソフトウェア開発プロセス - たかのり日記
<!DOCTYPE html> <html lang="ja" data-admin-domain="//blog.hatena.ne.jp" data-admin-origin="https://blog.hatena.ne.jp" data-author="szk-takanori" data-avail-langs="ja en" data-blog="szk-takanori.hatenablog.com" data-blog-host="szk-takanori.hatenablog.com" data-blog-is-public="1" data-blog-name="現場のためのソフトウェア開発プロセス - たかのり日記" data-blog-owner="szk-takanori" data-blog-show-ads="1" data-blog-show-sleeping-ads="1" data-blog-uri="https://szk-takanori.hatenablog.com/" data-blog-uuid="6435988827677137249" data-blogs-uri-base="https://szk-takanori.hatenablog.com" data-brand="hatenablog" data-data-layer="{"hatenablog":{"admin":{},"analytics":{"brand_property_id":"","measurement_id":"","non_sampling_property_id":"","property_id":"","separated_property_id":"UA-29716941-22"},"blog":{"blog_id":"6435988827677137249","content_seems_japanese":"true","disable_ads":"","enable_ads":"true","enable_keyword_link":"true","entry_show_footer_related_entries":"true","force_pc_view":"false","is_public":"true","is_responsive_view":"false","is_sleeping":"true","lang":"ja","name":"\u73fe\u5834\u306e\u305f\u3081\u306e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u958b\u767a\u30d7\u30ed\u30bb\u30b9 - \u305f\u304b\u306e\u308a\u65e5\u8a18","owner_name":"szk-takanori","uri":"https://szk-takanori.hatenablog.com/"},"brand":"hatenablog","page_id":"entry","permalink_entry":{"author_name":"szk-takanori","categories":"Test","character_count":2267,"date":"2011-12-01","entry_id":"11696248318753705336","first_category":"Test","hour":"0","title":"\u30c6\u30b9\u30c8\uff0f\u54c1\u8cea\u7cfb\u30a8\u30f3\u30b8\u30cb\u30a2\u304c\u8eab\u306b\u4ed8\u3051\u3066\u304a\u304f\u3068\u5f97\u3092\u3059\u308b7\u3064\u306e\u6280\u8853","uri":"https://szk-takanori.hatenablog.com/entry/20111201/p1"},"pro":"free","router_type":"blogs"}}" data-device="pc" data-dont-recommend-pro="false" data-global-domain="https://hatena.blog" data-globalheader-color="b" data-globalheader-type="pc" data-has-touch-view="1" data-help-url="https://help.hatenablog.com" data-page="entry" data-parts-domain="https://hatenablog-parts.com" data-plus-available="" data-pro="false" data-router-type="blogs" data-sentry-dsn="https://03a33e4781a24cf2885099fed222b56d@sentry.io/1195218" data-sentry-environment="production" data-sentry-sample-rate="0.1" data-static-domain="https://cdn.blog.st-hatena.com" data-version="b06a9d4929119667e7027e25c25079" data-initial-state="{}" > <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# article: http://ogp.me/ns/article#"> <meta name="robots" content="max-image-preview:large" /> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=7; IE=9; IE=10; IE=11" /> <title>テスト/品質系エンジニアが身に付けておくと得をする7つの技術 - 現場のためのソフトウェア開発プロセス - たかのり日記</title> <link rel="canonical" href="https://szk-takanori.hatenablog.com/entry/20111201/p1"/> <meta itemprop="name" content="テスト/品質系エンジニアが身に付けておくと得をする7つの技術 - 現場のためのソフトウェア開発プロセス - たかのり日記"/> <meta itemprop="image" content="https://ogimage.blog.st-hatena.com/6435988827677137249/11696248318753705336/1369152196"/> <meta property="og:title" content="テスト/品質系エンジニアが身に付けておくと得をする7つの技術 - 現場のためのソフトウェア開発プロセス - たかのり日記"/> <meta property="og:type" content="article"/> <meta property="og:url" content="https://szk-takanori.hatenablog.com/entry/20111201/p1"/> <meta property="og:image" content="https://ogimage.blog.st-hatena.com/6435988827677137249/11696248318753705336/1369152196"/> <meta property="og:image:alt" content="テスト/品質系エンジニアが身に付けておくと得をする7つの技術 - 現場のためのソフトウェア開発プロセス - たかのり日記"/> <meta property="og:description" content="「Software Test & Quality Advent Calendar 2011」の初日エントリーとして、書きます! テスト/品質系のエンジニアも、今や、テストや品質のことだけを知っているだけでは、幸せにはなれない時代となってきています。プログラムは書けなくても、身に付けておくと良いと思っている技術をまとめてみました。※注 今回記述した内容は、以下のような私のドメインに偏ったモノになっています。 ミッションクリティカル/エンタープライズ系 Java/.NET 他のドメインでは異なる部分や他の標準的なツールがあれば、コメントを頂ければと思います。 バージョン管理/課題管理 今や、必須の…" /> <meta property="og:site_name" content="現場のためのソフトウェア開発プロセス - たかのり日記"/> <meta property="article:published_time" content="1322665200" /> <meta property="article:tag" content="Test" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:image" content="https://ogimage.blog.st-hatena.com/6435988827677137249/11696248318753705336/1369152196" /> <meta name="twitter:title" content="テスト/品質系エンジニアが身に付けておくと得をする7つの技術 - 現場のためのソフトウェア開発プロセス - たかのり日記" /> <meta name="twitter:description" content="「Software Test & Quality Advent Calendar 2011」の初日エントリーとして、書きます! テスト/品質系のエンジニアも、今や、テストや品質のことだけを知っているだけでは、幸せにはなれない時代となってきています。プログラムは書けなくても、身に付けておくと良いと思っている技術をまとめて…" /> <meta name="twitter:app:name:iphone" content="はてなブログアプリ" /> <meta name="twitter:app:id:iphone" content="583299321" /> <meta name="twitter:app:url:iphone" content="hatenablog:///open?uri=https%3A%2F%2Fszk-takanori.hatenablog.com%2Fentry%2F20111201%2Fp1" /> <meta name="description" content="「Software Test & Quality Advent Calendar 2011」の初日エントリーとして、書きます! テスト/品質系のエンジニアも、今や、テストや品質のことだけを知っているだけでは、幸せにはなれない時代となってきています。プログラムは書けなくても、身に付けておくと良いと思っている技術をまとめてみました。※注 今回記述した内容は、以下のような私のドメインに偏ったモノになっています。 ミッションクリティカル/エンタープライズ系 Java/.NET 他のドメインでは異なる部分や他の標準的なツールがあれば、コメントを頂ければと思います。 バージョン管理/課題管理 今や、必須の…" /> <script id="embed-gtm-data-layer-loader" data-data-layer-page-specific="{"hatenablog":{"blogs_permalink":{"is_author_pro":"false","blog_afc_issued":"false","entry_afc_issued":"false","is_blog_sleeping":"true","has_related_entries_with_elasticsearch":"true"}}}" > (function() { function loadDataLayer(elem, attrName) { if (!elem) { return {}; } var json = elem.getAttribute(attrName); if (!json) { return {}; } return JSON.parse(json); } var globalVariables = loadDataLayer( document.documentElement, 'data-data-layer' ); var pageSpecificVariables = loadDataLayer( document.getElementById('embed-gtm-data-layer-loader'), 'data-data-layer-page-specific' ); var variables = [globalVariables, pageSpecificVariables]; if (!window.dataLayer) { window.dataLayer = []; } for (var i = 0; i < variables.length; i++) { window.dataLayer.push(variables[i]); } })(); </script> <!-- 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-P4CXTW');</script> <!-- End Google Tag Manager --> <link rel="shortcut icon" href="https://szk-takanori.hatenablog.com/icon/favicon"> <link rel="apple-touch-icon" href="https://szk-takanori.hatenablog.com/icon/touch"> <link rel="icon" sizes="192x192" href="https://szk-takanori.hatenablog.com/icon/link"> <link rel="alternate" type="application/atom+xml" title="Atom" href="https://szk-takanori.hatenablog.com/feed"/> <link rel="alternate" type="application/rss+xml" title="RSS2.0" href="https://szk-takanori.hatenablog.com/rss"/> <link rel="alternate" type="application/json+oembed" href="https://hatena.blog/oembed?url=https%3A%2F%2Fszk-takanori.hatenablog.com%2Fentry%2F20111201%2Fp1&format=json" title="oEmbed Profile of テスト/品質系エンジニアが身に付けておくと得をする7つの技術"/> <link rel="alternate" type="text/xml+oembed" href="https://hatena.blog/oembed?url=https%3A%2F%2Fszk-takanori.hatenablog.com%2Fentry%2F20111201%2Fp1&format=xml" title="oEmbed Profile of テスト/品質系エンジニアが身に付けておくと得をする7つの技術"/> <link rel="author" href="http://www.hatena.ne.jp/szk-takanori/"> <link rel="stylesheet" type="text/css" href="https://cdn.blog.st-hatena.com/css/blog.css?version=b06a9d4929119667e7027e25c25079"/> <link rel="stylesheet" type="text/css" href="https://usercss.blog.st-hatena.com/blog_style/6435988827677137249/cffe3a388ecb4ded2bec878d93877bb649a52128"/> <script> </script> <style> div#google_afc_user, div.google-afc-user-container, div.google_afc_image, div.google_afc_blocklink { display: block !important; } </style> <script src="https://cdn.pool.st-hatena.com/valve/valve.js" async></script> <script id="test-valve-definition"> var valve = window.valve || []; valve.push(function(v) { v.config({ service: 'blog', content: { result: 'adtrust', documentIds: ["blog:entry:11696248318753705336"] } }); v.defineDFPSlot({"sizes":[[300,250],[336,280]],"slotId":"google_afc_user_container_0","unit":"/4374287/blo_pc_com_6_3328_0_no"}); v.defineDFPSlot({"lazy":1,"sizes":{"mappings":[[[320,568],[[336,280],[300,250],"fluid"]],[[0,0],[[300,250]]]]},"slotId":"sleeping-ad-in-entry","unit":"/4374287/blog_pc_entry_sleep_in-article"}); v.defineDFPSlot({"lazy":"","sizes":[[300,250],[336,280],[468,60],"fluid"],"slotId":"google_afc_user_container_1","unit":"/4374287/blog_user"}); v.sealDFPSlots(); }); </script> <script type="application/ld+json">{"@context":"http://schema.org","@type":"Article","dateModified":"2013-05-22T01:03:16+09:00","datePublished":"2011-12-01T00:00:00+09:00","headline":"テスト/品質系エンジニアが身に付けておくと得をする7つの技術","image":["https://cdn.blog.st-hatena.com/images/theme/og-image-1500.png"]}</script> </head> <body class="page-entry category-Test globalheader-ng-enabled"> <div id="globalheader-container" data-brand="hatenablog" > <iframe id="globalheader" height="37" frameborder="0" allowTransparency="true"></iframe> </div> <nav class=" blog-controlls "> <div class="blog-controlls-blog-icon"> <a href="https://szk-takanori.hatenablog.com/"> <img src="https://cdn.blog.st-hatena.com/images/admin/blog-icon-noimage.png" alt="現場のためのソフトウェア開発プロセス - たかのり日記"/> </a> </div> <div class="blog-controlls-title"> <a href="https://szk-takanori.hatenablog.com/">現場のためのソフトウェア開発プロセス - たかのり日記</a> </div> <a href="https://blog.hatena.ne.jp/szk-takanori/szk-takanori.hatenablog.com/subscribe?utm_medium=button&utm_campaign=subscribe_blog&utm_source=blogs_topright_button" class="blog-controlls-subscribe-btn test-blog-header-controlls-subscribe"> 読者になる </a> </nav> <div id="container"> <div id="container-inner"> <header id="blog-title" data-brand="hatenablog"> <div id="blog-title-inner" > <div id="blog-title-content"> <h1 id="title"><a href="https://szk-takanori.hatenablog.com/">現場のためのソフトウェア開発プロセス - たかのり日記</a></h1> <h2 id="blog-description">takanorig's blog</h2> </div> </div> </header> <div id="content" class="hfeed" > <div id="content-inner"> <div id="wrapper"> <div id="main"> <div id="main-inner"> <article class="entry no-entry sleeping-ads" style="display: block !important;"> <div class="entry-inner"> <div class="entry-content"> <div class="variable-mobileWeb-ad"> <div id="google_afc_user_container_0" class="sleeping-ad" style="display: block !important;"></div> </div> <p class="sleeping-ads-notice" style="display: none;">この広告は、90日以上更新していないブログに表示しています。</p> </div> </div> </article> <!-- google_ad_section_start --> <!-- rakuten_ad_target_begin --> <article class="entry hentry test-hentry js-entry-article date-first autopagerize_page_element chars-2400 words-100 mode-hatena entry-odd" id="entry-11696248318753705336" data-keyword-campaign="" data-uuid="11696248318753705336" data-publication-type="entry"> <div class="entry-inner"> <header class="entry-header"> <div class="date entry-date first"> <a href="https://szk-takanori.hatenablog.com/archive/2011/12/01" rel="nofollow"> <time datetime="2011-11-30T15:00:00Z" title="2011-11-30T15:00:00Z"> <span class="date-year">2011</span><span class="hyphen">-</span><span class="date-month">12</span><span class="hyphen">-</span><span class="date-day">01</span> </time> </a> </div> <h1 class="entry-title"> <a href="https://szk-takanori.hatenablog.com/entry/20111201/p1" class="entry-title-link bookmark">テスト/品質系エンジニアが身に付けておくと得をする7つの技術</a> </h1> <div class="entry-categories categories"> <a href="https://szk-takanori.hatenablog.com/archive/category/Test" class="entry-category-link category-Test">Test</a> </div> </header> <div class="entry-content hatenablog-entry"> <p>「<a href="http://atnd.org/events/22833">Software Test & Quality Advent Calendar 2011</a>」の初日エントリーとして、書きます!</p><br /> <p>テスト/品質系のエンジニアも、今や、テストや品質のことだけを知っているだけでは、幸せにはなれない時代となってきています。</p><p>プログラムは書けなくても、身に付けておくと良いと思っている技術をまとめてみました。</p><p><span class="deco" style="color:#FF0000;">※注</span><br /> 今回記述した内容は、以下のような私のドメインに偏ったモノになっています。</p> <ul> <li>ミッションクリティカル/エンタープライズ系</li> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>/.NET</li> </ul><p>他のドメインでは異なる部分や他の標準的なツールがあれば、コメントを頂ければと思います。</p><p></p> <div class="section"> <h4>バージョン管理/課題管理</h4> <p>今や、必須のスキルと言えるでしょう。<br /> バージョン管理(SCM/<a class="keyword" href="http://d.hatena.ne.jp/keyword/VCS">VCS</a>/DVCS)としては、</p> <ul> <li>集中型の<a href="http://subversion.tigris.org/">Subversion</a>(<a class="keyword" href="http://d.hatena.ne.jp/keyword/SVN">SVN</a>)</li> <li>分散型の<a href="http://git-scm.com/">Git</a>/<a href="http://mercurial.selenic.com/">Mercurial</a></li> </ul><p>などが有名ですね。</p><p>分散型の場合は、各エンジニアが自分の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%EA%A5%DD%A5%B8%A5%C8%A5%EA">リポジトリ</a>で作業可能ですが、最終的にはバージョン管理のマスター的な存在が必要になるので、開発者以外でブランチ/マージもできる人がいると、心強いですね。</p><br /> <p>また、課題管理(ITS)も、バージョン管理とセットで利用できるとうれしい。<br /> <a href="http://trac.edgewall.org/">Trac</a>/<a href="http://www.redmine.org/">Redmine</a>あたりが有名ですが、基本的な概念に大きな差はないので、</p> <ul> <li>バージョン管理との連携</li> <li>チケットのカスタマイズ</li> <li>チケットのレポーティング</li> </ul><p>などができると良い。</p><p></p> </div> <div class="section"> <h4>ビルド</h4> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>では、<a href="http://ant.apache.org/">Ant</a>や<a href="http://maven.apache.org/">Maven</a>、.NETでは、<a href="http://nant.sourceforge.net/">NAnt</a>や<a href="http://msdn.microsoft.com/ja-jp/library/0k6kkbsd(v=vs.80).aspx">MSBuild</a>を良く使います。<br /> テスト/品質系の方では、自分が思っているよりも、上記ツールのビルドスクリプトの作成方法を知らない方が多いのですが、ビルドぐらいはできないと、テストやリリースの効率が悪いです。</p><p>「ビルド=コンパイル」ではなく、アプリケーションを動作させるためのパッケージングまで、自動ビルドできるようにしておくことが重要。</p><p></p> </div> <div class="section"> <h4>CI(<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B7%D1%C2%B3%C5%AA%A5%A4%A5%F3%A5%C6%A5%B0%A5%EC%A1%BC%A5%B7%A5%E7%A5%F3">継続的インテグレーション</a>)</h4> <p>上記、バージョン管理/課題管理+ビルドができれば、CIの世界は目の前。<br /> ビルド、メトリクスの取得、xUnitテストなどが自動で行えるようになります。<br /> これまでいろいろ経験した中で思うことは、実は、上記に挙げた部分は、自動化しておかないと続かず、問題が発生しても放置されてしまいます。</p><p>だから、CIが重要。<br /> ツールとしては、<a href="https://wiki.jenkins-ci.org/display/JA/Jenkins">Jenkins</a>が素晴らしく使いやすい。<br /> 最近、「<a href="http://gihyo.jp/book/2011/978-4-7741-4891-5">Jenkins実践入門</a>」も出版されたので、これから始める人も良い機会ではないでしょうか。</p><p></p> </div> <div class="section"> <h4><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%B8%C0%B8%EC">スクリプト言語</a></h4> <p>プログラムは書けなくても、とは言いましたが、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%B8%C0%B8%EC">スクリプト言語</a>は使えるようになっておくと、仕事も効率的になります。</p><p>Windowsバッチ/<a class="keyword" href="http://d.hatena.ne.jp/keyword/WSH">WSH</a>/<a class="keyword" href="http://d.hatena.ne.jp/keyword/PowerShell">PowerShell</a>/<a class="keyword" href="http://d.hatena.ne.jp/keyword/UNIX">UNIX</a>シェルといったプリミティブなモノから、アプリまで開発できるようなGroovy/<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>/<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>などの高機能なモノまであります。<br /> 何かひとつでも使えるようになっておくと、仕事の効率が大分上がります。</p><p></p> </div> <div class="section"> <h4>自動試験</h4> <p>世の中、まだまだ人海戦術でテストを行っている状況が多々ありますが、自動化できるところを増やして、より創造的な仕事をしたいですね。<br /> 私のおすすめは以下。</p> <ul> <li><a href="http://oss.infoscience.co.jp/seleniumhq/">Selenium</a>(Webアプリの機能試験の自動化)</li> <li><a href="http://www.uwsc.info/">UWCS</a>(<a class="keyword" href="http://d.hatena.ne.jp/keyword/GUI">GUI</a>系の操作を伴う試験の自動化)</li> <li><a href="http://jmeter.apache.org/">JMeter</a>(負荷試験)</li> </ul><p>これだけでも使い方を知っていれば、自動化で対応できる範囲が広がります。</p><p></p> </div> <div class="section"> <h4>仮想化・クラウド</h4> <p>テスト環境を構築するって、大変ですよね?<br /> 最近のシステムは、構成も複雑になっているので、テスト環境を構築するだけで、かなりの工数がかかることがあります。</p><p>仮想化として、<a href="http://www.vmware.com/jp/products/datacenter-virtualization/vsphere-hypervisor/overview">VMWare vSphere</a>や<a href="http://www.microsoft.com/japan/windowsserver2008/technologies/hyperv.mspx">Mirosoft Hyper-V</a>、<a href="http://www.oracle.com/technetwork/jp/server-storage/virtualbox/downloads/index.html">Oracle VirtualBox</a>などを知っておくと、環境の複製やバックアップ、切り戻しなどが簡単に行えるようになります。</p><p>私の場合、基本的にテスト環境は仮想化で構築するようにしています(もちろん、実機としての評価が必要な場合は、その限りではないですけど)。</p><p>また、仮想化だけでなく、場合によってはクラウドのサービスをを利用するのも手です。<br /> サーバをレンタルするよりも、クラウドのサービスを利用した方が、手間もコストも減るケースもあると思います。<br /> 分散拠点でテストを実施する場合も、利用効果は高いと思います。</p><p></p> </div> <div class="section"> <h4>Excel</h4> <p>最後は、なんだかんだ言ってもExcelは必須だと思います。<br /> (といっても、バグなどの管理は課題管理のツール使ってくださいね)</p><p>COUNTIF、SUMIF、VLOOKUPなどの集計関数や、ピボットテーブルは、当たり前。<br /> SUMPRODUCT、INDEX、OFFSET関数、配列数式あたりまで使える人は強者。</p><p>さらに、マクロなどで、データの取り込み・加工から、集計・グラフ化まで行える人は最強ですね。</p><p></p> </div> <div class="section"> <h4>最後に</h4> <p>思っていたより長くなってしまいました。<br /> 「QC7つ道具」を意識して、「7つの技術」を挙げたのが間違いだったか...</p><p>と、ここまで書いてみて「<a href="http://atnd.org/events/22833">Software Test & Quality Advent Calendar 2011</a>」と言いつつも、直接テストに関係していない内容になっているかもw</p><p>テーマは自由、ということで、この後続く方のエントリーもお楽しみに!</p><p>#まだまだ参加人数少なく、これでは12/25までもたないので、<br /> #このエントリー見てくださった方も、一緒に Advent Calendar やりませんか?</p> </div> </div> <footer class="entry-footer"> <div class="entry-tags-wrapper"> <div class="entry-tags"> </div> </div> <p class="entry-footer-section track-inview-by-gtm" data-gtm-track-json="{"area": "finish_reading"}"> <span class="author vcard"><span class="fn" data-load-nickname="1" data-user-name="szk-takanori" >szk-takanori</span></span> <span class="entry-footer-time"><a href="https://szk-takanori.hatenablog.com/entry/20111201/p1"><time data-relative datetime="2011-11-30T15:00:00Z" title="2011-11-30T15:00:00Z" class="updated">2011-12-01 00:00</time></a></span> <span class=" entry-footer-subscribe " data-test-blog-controlls-subscribe> <a href="https://blog.hatena.ne.jp/szk-takanori/szk-takanori.hatenablog.com/subscribe?utm_source=blogs_entry_footer&utm_campaign=subscribe_blog&utm_medium=button"> 読者になる </a> </span> </p> <div class="hatena-star-container" data-hatena-star-container data-hatena-star-url="https://szk-takanori.hatenablog.com/entry/20111201/p1" data-hatena-star-title="テスト/品質系エンジニアが身に付けておくと得をする7つの技術" data-hatena-star-variant="profile-icon" data-hatena-star-profile-url-template="https://blog.hatena.ne.jp/{username}/" ></div> <div class="social-buttons"> <div class="social-button-item"> <a href="https://b.hatena.ne.jp/entry/s/szk-takanori.hatenablog.com/entry/20111201/p1" class="hatena-bookmark-button" data-hatena-bookmark-url="https://szk-takanori.hatenablog.com/entry/20111201/p1" data-hatena-bookmark-layout="vertical-balloon" data-hatena-bookmark-lang="ja" title="この記事をはてなブックマークに追加"><img src="https://b.st-hatena.com/images/entry-button/button-only.gif" alt="この記事をはてなブックマークに追加" width="20" height="20" style="border: none;" /></a> </div> <div class="social-button-item"> <div class="fb-share-button" data-layout="box_count" data-href="https://szk-takanori.hatenablog.com/entry/20111201/p1"></div> </div> <div class="social-button-item"> <a class="entry-share-button entry-share-button-twitter test-share-button-twitter" href="https://x.com/intent/tweet?text=%E3%83%86%E3%82%B9%E3%83%88%EF%BC%8F%E5%93%81%E8%B3%AA%E7%B3%BB%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%8C%E8%BA%AB%E3%81%AB%E4%BB%98%E3%81%91%E3%81%A6%E3%81%8A%E3%81%8F%E3%81%A8%E5%BE%97%E3%82%92%E3%81%99%E3%82%8B7%E3%81%A4%E3%81%AE%E6%8A%80%E8%A1%93+-+%E7%8F%BE%E5%A0%B4%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9+-+%E3%81%9F%E3%81%8B%E3%81%AE%E3%82%8A%E6%97%A5%E8%A8%98&url=https%3A%2F%2Fszk-takanori.hatenablog.com%2Fentry%2F20111201%2Fp1" title="X(Twitter)で投稿する" ></a> </div> </div> <div class="google-afc-image test-google-rectangle-ads"> <div id="google_afc_user_container_1" class="google-afc-user-container google_afc_blocklink2_5 google_afc_boder" data-test-unit="/4374287/blog_user"></div> <a href="http://blog.hatena.ne.jp/guide/pro" class="open-pro-modal" data-guide-pro-modal-ad-url="https://hatena.blog/guide/pro/modal/ad">広告を非表示にする</a> </div> <div class="customized-footer"> <div class="entry-footer-modules" id="entry-footer-secondary-modules"> <div class="hatena-module hatena-module-related-entries" > <!-- Hatena-Epic-has-related-entries-with-elasticsearch:true --> <div class="hatena-module-title"> 関連記事 </div> <div class="hatena-module-body"> <ul class="related-entries hatena-urllist urllist-with-thumbnails"> <li class="urllist-item related-entries-item"> <div class="urllist-item-inner related-entries-item-inner"> <div class="urllist-date-link related-entries-date-link"> <a href="https://szk-takanori.hatenablog.com/archive/2010/07/25" rel="nofollow"> <time datetime="2010-07-24T15:00:00Z" title="2010年7月25日"> 2010-07-25 </time> </a> </div> <a href="https://szk-takanori.hatenablog.com/entry/20100725/p1" class="urllist-title-link related-entries-title-link urllist-title related-entries-title">分散型バージョン管理システムは実際の開発現場でどれだけ普及するか?</a> <div class="urllist-entry-body related-entries-entry-body">バージョン管理ツールは、「集中型」と「分散型」に分類できま…</div> </div> </li> <li class="urllist-item related-entries-item"> <div class="urllist-item-inner related-entries-item-inner"> <a class="urllist-image-link related-entries-image-link" href="https://szk-takanori.hatenablog.com/entry/20100407/p1"> <img alt="定量的品質管理の現実的なアプローチ" src="https://cdn.image.st-hatena.com/image/square/bfea122054fa4d5cb04e288359b8b1d5f6bec32a/backend=imagemagick;height=100;version=1;width=100/http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F41w2VRy6aYL.jpg" class="urllist-image related-entries-image" title="定量的品質管理の現実的なアプローチ" width="100" height="100" loading="lazy"> </a> <div class="urllist-date-link related-entries-date-link"> <a href="https://szk-takanori.hatenablog.com/archive/2010/04/07" rel="nofollow"> <time datetime="2010-04-06T15:00:00Z" title="2010年4月7日"> 2010-04-07 </time> </a> </div> <a href="https://szk-takanori.hatenablog.com/entry/20100407/p1" class="urllist-title-link related-entries-title-link urllist-title related-entries-title">定量的品質管理の現実的なアプローチ</a> <div class="urllist-entry-body related-entries-entry-body">IPAから、定量的品質管理を実践するためのガイドラインが公開さ…</div> </div> </li> <li class="urllist-item related-entries-item"> <div class="urllist-item-inner related-entries-item-inner"> <div class="urllist-date-link related-entries-date-link"> <a href="https://szk-takanori.hatenablog.com/archive/2008/07/24" rel="nofollow"> <time datetime="2008-07-24T14:41:27Z" title="2008年7月24日"> 2008-07-24 </time> </a> </div> <a href="https://szk-takanori.hatenablog.com/entry/20080724/1216910487" class="urllist-title-link related-entries-title-link urllist-title related-entries-title">「品質保証(QA)」「品質管理(QC)」から「品質フィードバック(QF)」へ</a> <div class="urllist-entry-body related-entries-entry-body">これまでの品質管理 プロジェクト管理やプロセス改善において、…</div> </div> </li> <li class="urllist-item related-entries-item"> <div class="urllist-item-inner related-entries-item-inner"> <div class="urllist-date-link related-entries-date-link"> <a href="https://szk-takanori.hatenablog.com/archive/2008/07/22" rel="nofollow"> <time datetime="2008-07-22T13:58:27Z" title="2008年7月22日"> 2008-07-22 </time> </a> </div> <a href="https://szk-takanori.hatenablog.com/entry/20080722/1216735107" class="urllist-title-link related-entries-title-link urllist-title related-entries-title">XDev2008に登壇します!</a> <div class="urllist-entry-body related-entries-entry-body">2008/09/04(木)〜2008/09/05(金)に、XDev2008が開催されま…</div> </div> </li> <li class="urllist-item related-entries-item"> <div class="urllist-item-inner related-entries-item-inner"> <div class="urllist-date-link related-entries-date-link"> <a href="https://szk-takanori.hatenablog.com/archive/2008/04/06" rel="nofollow"> <time datetime="2008-04-06T13:29:52Z" title="2008年4月6日"> 2008-04-06 </time> </a> </div> <a href="https://szk-takanori.hatenablog.com/entry/20080406/1207488592" class="urllist-title-link related-entries-title-link urllist-title related-entries-title">継続的インテグレーションのアンチパターン</a> <div class="urllist-entry-body related-entries-entry-body">IBM developerWorks:万人のためのオートメーション: 継続的イン…</div> </div> </li> </ul> </div> </div> </div> <div class="entry-footer-html"> <!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//szk-takanori.hatenablog.com/&nsid=113406400616513380%3A%3A113406412427684774&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget --> </div> </div> <div class="comment-box js-comment-box"> <ul class="comment js-comment"> <li class="read-more-comments" style="display: none;"><a>もっと読む</a></li> </ul> <a class="leave-comment-title js-leave-comment-title">コメントを書く</a> </div> </footer> </div> </article> <!-- rakuten_ad_target_end --> <!-- google_ad_section_end --> <div class="pager pager-permalink permalink"> <span class="pager-prev"> <a href="https://szk-takanori.hatenablog.com/entry/20111218/p1" rel="prev"> <span class="pager-arrow">« </span> 品質に厳しい組織で、なぜ品質が劣化する… </a> </span> <span class="pager-next"> <a href="https://szk-takanori.hatenablog.com/entry/20111128/p1" rel="next"> 分散リアルタイム処理フレームワーク Stor… <span class="pager-arrow"> »</span> </a> </span> </div> </div> </div> <aside id="box1"> <div id="box1-inner"> </div> </aside> </div><!-- #wrapper --> <aside id="box2"> <div id="box2-inner"> <div class="hatena-module hatena-module-profile"> <div class="hatena-module-title"> プロフィール </div> <div class="hatena-module-body"> <a href="https://szk-takanori.hatenablog.com/about" class="profile-icon-link"> <img src="https://cdn.profile-image.st-hatena.com/users/szk-takanori/profile.png?1493996824" alt="id:szk-takanori" class="profile-icon" /> </a> <span class="id"> <a href="https://szk-takanori.hatenablog.com/about" class="hatena-id-link"><span data-load-nickname="1" data-user-name="szk-takanori">id:szk-takanori</span></a> </span> <div class="hatena-follow-button-box btn-subscribe js-hatena-follow-button-box" > <a href="#" class="hatena-follow-button js-hatena-follow-button"> <span class="subscribing"> <span class="foreground">読者です</span> <span class="background">読者をやめる</span> </span> <span class="unsubscribing" data-track-name="profile-widget-subscribe-button" data-track-once> <span class="foreground">読者になる</span> <span class="background">読者になる</span> </span> </a> <div class="subscription-count-box js-subscription-count-box"> <i></i> <u></u> <span class="subscription-count js-subscription-count"> </span> </div> </div> <div class="profile-about"> <a href="https://szk-takanori.hatenablog.com/about">このブログについて</a> </div> </div> </div> <div class="hatena-module hatena-module-search-box"> <div class="hatena-module-title"> 検索 </div> <div class="hatena-module-body"> <form class="search-form" role="search" action="https://szk-takanori.hatenablog.com/search" method="get"> <input type="text" name="q" class="search-module-input" value="" placeholder="記事を検索" required> <input type="submit" value="検索" class="search-module-button" /> </form> </div> </div> <div class="hatena-module hatena-module-recent-entries "> <div class="hatena-module-title"> <a href="https://szk-takanori.hatenablog.com/archive"> 最新記事 </a> </div> <div class="hatena-module-body"> <ul class="recent-entries hatena-urllist "> <li class="urllist-item recent-entries-item"> <div class="urllist-item-inner recent-entries-item-inner"> <a href="https://szk-takanori.hatenablog.com/entry/20130516/p1" class="urllist-title-link recent-entries-title-link urllist-title recent-entries-title">Coberuturaが3年ぶりに更新!?</a> </div> </li> <li class="urllist-item recent-entries-item"> <div class="urllist-item-inner recent-entries-item-inner"> <a href="https://szk-takanori.hatenablog.com/entry/20130506/p1" class="urllist-title-link recent-entries-title-link urllist-title recent-entries-title">Java7以降におけるMavenでのカバレッジレポート</a> </div> </li> <li class="urllist-item recent-entries-item"> <div class="urllist-item-inner recent-entries-item-inner"> <a href="https://szk-takanori.hatenablog.com/entry/20130130/p1" class="urllist-title-link recent-entries-title-link urllist-title recent-entries-title">FindBugs2.0.2 バグパターンの日本語訳を公開</a> </div> </li> <li class="urllist-item recent-entries-item"> <div class="urllist-item-inner recent-entries-item-inner"> <a href="https://szk-takanori.hatenablog.com/entry/20120402/p1" class="urllist-title-link recent-entries-title-link urllist-title recent-entries-title">本来、仕事とは楽しいモノである</a> </div> </li> <li class="urllist-item recent-entries-item"> <div class="urllist-item-inner recent-entries-item-inner"> <a href="https://szk-takanori.hatenablog.com/entry/20120327/p1" class="urllist-title-link recent-entries-title-link urllist-title recent-entries-title">Technology Radar 2012年3月版</a> </div> </li> </ul> </div> </div> <div class="hatena-module hatena-module-html"> <div class="hatena-module-title">人気エントリー</div> <div class="hatena-module-body"> <script language="javascript" type="text/javascript" src="http://b.hatena.ne.jp/js/widget.js" charset="utf-8"></script> <script language="javascript" type="text/javascript"> Hatena.BookmarkWidget.url = "http://szk-takanori.hatenablog.com/"; Hatena.BookmarkWidget.title = "エントリー"; Hatena.BookmarkWidget.sort = "count"; Hatena.BookmarkWidget.width = 0; Hatena.BookmarkWidget.num = 5; Hatena.BookmarkWidget.theme = "default"; Hatena.BookmarkWidget.load(); </script> </div> </div> <div class="hatena-module hatena-module-recent-comments"> <div class="hatena-module-title"> 最近のコメント </div> <div class="hatena-module-body" data-count=5> <ul class="recent-comments hatena-urllist"> </ul> </div> <script class="recent-comments-template" type="text/x-underscore-template"> <li> <span class="user-id"> <img src="<%- comment.icon_url %>" class="hatena-id-icon" alt="<%- comment.user_name %>" title="<%- comment.user_name %>" /> <% if (comment.is_hatena_user) { %> <span data-load-nickname="1" data-user-name="<%- comment.user_name %>">id:<%- comment.user_name %></span> <% } else { %> <%- comment.user_name %> <% } %> </span> <a href="<%- comment.entry_url %>"><%- comment.entry_title %></a> <span class="recent-comment-time">(<time datetime="<%- comment.created %>" data-relative class="recent-comment-time" data-epoch="<%- comment.epoch * 1000 %>"><%- comment.time %></time>)</span> </li> </script> </div> <div class="hatena-module hatena-module-category"> <div class="hatena-module-title"> カテゴリー </div> <div class="hatena-module-body"> <ul class="hatena-urllist"> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/S2Axis" class="category-S2Axis"> S2Axis (38) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/Seasar2" class="category-Seasar2"> Seasar2 (42) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/Test" class="category-Test"> Test (42) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/Misc" class="category-Misc"> Misc (18) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/Java" class="category-Java"> Java (37) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/JAX-WS" class="category-JAX-WS"> JAX-WS (3) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/Axis2" class="category-Axis2"> Axis2 (30) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/Spring" class="category-Spring"> Spring (2) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/Tech" class="category-Tech"> Tech (46) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/Teeda" class="category-Teeda"> Teeda (12) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/Maven" class="category-Maven"> Maven (16) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/S2Remoting" class="category-S2Remoting"> S2Remoting (1) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/PM" class="category-PM"> PM (18) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/Trac" class="category-Trac"> Trac (14) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/Dev" class="category-Dev"> Dev (4) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/Process" class="category-Process"> Process (4) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/NoSQL" class="category-NoSQL"> NoSQL (1) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/CloudStack" class="category-CloudStack"> CloudStack (1) </a> </li> <li> <a href="https://szk-takanori.hatenablog.com/archive/category/Storm" class="category-Storm"> Storm (2) </a> </li> </ul> </div> </div> <div class="hatena-module hatena-module-archive" data-archive-type="default" data-archive-url="https://szk-takanori.hatenablog.com/archive"> <div class="hatena-module-title"> <a href="https://szk-takanori.hatenablog.com/archive">月別アーカイブ</a> </div> <div class="hatena-module-body"> <ul class="hatena-urllist"> <li class="archive-module-year archive-module-year-hidden" data-year="2013"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://szk-takanori.hatenablog.com/archive/2013" class="archive-module-year-title archive-module-year-2013"> 2013 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2013/05" class="archive-module-month-title archive-module-month-2013-5"> 2013 / 5 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2013/01" class="archive-module-month-title archive-module-month-2013-1"> 2013 / 1 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2012"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://szk-takanori.hatenablog.com/archive/2012" class="archive-module-year-title archive-module-year-2012"> 2012 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2012/04" class="archive-module-month-title archive-module-month-2012-4"> 2012 / 4 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2012/03" class="archive-module-month-title archive-module-month-2012-3"> 2012 / 3 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2012/01" class="archive-module-month-title archive-module-month-2012-1"> 2012 / 1 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2011"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://szk-takanori.hatenablog.com/archive/2011" class="archive-module-year-title archive-module-year-2011"> 2011 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2011/12" class="archive-module-month-title archive-module-month-2011-12"> 2011 / 12 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2011/11" class="archive-module-month-title archive-module-month-2011-11"> 2011 / 11 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2011/06" class="archive-module-month-title archive-module-month-2011-6"> 2011 / 6 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2011/05" class="archive-module-month-title archive-module-month-2011-5"> 2011 / 5 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2011/04" class="archive-module-month-title archive-module-month-2011-4"> 2011 / 4 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2011/03" class="archive-module-month-title archive-module-month-2011-3"> 2011 / 3 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2011/02" class="archive-module-month-title archive-module-month-2011-2"> 2011 / 2 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2010"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://szk-takanori.hatenablog.com/archive/2010" class="archive-module-year-title archive-module-year-2010"> 2010 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2010/11" class="archive-module-month-title archive-module-month-2010-11"> 2010 / 11 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2010/10" class="archive-module-month-title archive-module-month-2010-10"> 2010 / 10 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2010/09" class="archive-module-month-title archive-module-month-2010-9"> 2010 / 9 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2010/07" class="archive-module-month-title archive-module-month-2010-7"> 2010 / 7 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2010/06" class="archive-module-month-title archive-module-month-2010-6"> 2010 / 6 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2010/05" class="archive-module-month-title archive-module-month-2010-5"> 2010 / 5 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2010/04" class="archive-module-month-title archive-module-month-2010-4"> 2010 / 4 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2010/03" class="archive-module-month-title archive-module-month-2010-3"> 2010 / 3 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2010/02" class="archive-module-month-title archive-module-month-2010-2"> 2010 / 2 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2010/01" class="archive-module-month-title archive-module-month-2010-1"> 2010 / 1 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2009"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://szk-takanori.hatenablog.com/archive/2009" class="archive-module-year-title archive-module-year-2009"> 2009 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2009/08" class="archive-module-month-title archive-module-month-2009-8"> 2009 / 8 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2009/06" class="archive-module-month-title archive-module-month-2009-6"> 2009 / 6 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2009/05" class="archive-module-month-title archive-module-month-2009-5"> 2009 / 5 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2009/04" class="archive-module-month-title archive-module-month-2009-4"> 2009 / 4 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2009/03" class="archive-module-month-title archive-module-month-2009-3"> 2009 / 3 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2009/02" class="archive-module-month-title archive-module-month-2009-2"> 2009 / 2 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2009/01" class="archive-module-month-title archive-module-month-2009-1"> 2009 / 1 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2008"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://szk-takanori.hatenablog.com/archive/2008" class="archive-module-year-title archive-module-year-2008"> 2008 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2008/12" class="archive-module-month-title archive-module-month-2008-12"> 2008 / 12 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2008/11" class="archive-module-month-title archive-module-month-2008-11"> 2008 / 11 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2008/10" class="archive-module-month-title archive-module-month-2008-10"> 2008 / 10 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2008/09" class="archive-module-month-title archive-module-month-2008-9"> 2008 / 9 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2008/08" class="archive-module-month-title archive-module-month-2008-8"> 2008 / 8 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2008/07" class="archive-module-month-title archive-module-month-2008-7"> 2008 / 7 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2008/06" class="archive-module-month-title archive-module-month-2008-6"> 2008 / 6 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2008/05" class="archive-module-month-title archive-module-month-2008-5"> 2008 / 5 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2008/04" class="archive-module-month-title archive-module-month-2008-4"> 2008 / 4 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2008/03" class="archive-module-month-title archive-module-month-2008-3"> 2008 / 3 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2008/02" class="archive-module-month-title archive-module-month-2008-2"> 2008 / 2 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2008/01" class="archive-module-month-title archive-module-month-2008-1"> 2008 / 1 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2007"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://szk-takanori.hatenablog.com/archive/2007" class="archive-module-year-title archive-module-year-2007"> 2007 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2007/12" class="archive-module-month-title archive-module-month-2007-12"> 2007 / 12 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2007/11" class="archive-module-month-title archive-module-month-2007-11"> 2007 / 11 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2007/10" class="archive-module-month-title archive-module-month-2007-10"> 2007 / 10 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2007/09" class="archive-module-month-title archive-module-month-2007-9"> 2007 / 9 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2007/08" class="archive-module-month-title archive-module-month-2007-8"> 2007 / 8 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2007/07" class="archive-module-month-title archive-module-month-2007-7"> 2007 / 7 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2007/06" class="archive-module-month-title archive-module-month-2007-6"> 2007 / 6 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2007/05" class="archive-module-month-title archive-module-month-2007-5"> 2007 / 5 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2007/04" class="archive-module-month-title archive-module-month-2007-4"> 2007 / 4 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2007/03" class="archive-module-month-title archive-module-month-2007-3"> 2007 / 3 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2007/02" class="archive-module-month-title archive-module-month-2007-2"> 2007 / 2 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2007/01" class="archive-module-month-title archive-module-month-2007-1"> 2007 / 1 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2006"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://szk-takanori.hatenablog.com/archive/2006" class="archive-module-year-title archive-module-year-2006"> 2006 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2006/12" class="archive-module-month-title archive-module-month-2006-12"> 2006 / 12 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2006/11" class="archive-module-month-title archive-module-month-2006-11"> 2006 / 11 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2006/10" class="archive-module-month-title archive-module-month-2006-10"> 2006 / 10 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2006/09" class="archive-module-month-title archive-module-month-2006-9"> 2006 / 9 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2006/08" class="archive-module-month-title archive-module-month-2006-8"> 2006 / 8 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2006/07" class="archive-module-month-title archive-module-month-2006-7"> 2006 / 7 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2006/06" class="archive-module-month-title archive-module-month-2006-6"> 2006 / 6 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2006/05" class="archive-module-month-title archive-module-month-2006-5"> 2006 / 5 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2006/04" class="archive-module-month-title archive-module-month-2006-4"> 2006 / 4 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2006/03" class="archive-module-month-title archive-module-month-2006-3"> 2006 / 3 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2006/02" class="archive-module-month-title archive-module-month-2006-2"> 2006 / 2 </a> </li> <li class="archive-module-month"> <a href="https://szk-takanori.hatenablog.com/archive/2006/01" class="archive-module-month-title archive-module-month-2006-1"> 2006 / 1 </a> </li> </ul> </li> </ul> </div> </div> </div> </aside> </div> </div> </div> </div> <footer id="footer" data-brand="hatenablog"> <div id="footer-inner"> <div style="display:none !important" class="guest-footer js-guide-register test-blogs-register-guide" data-action="guide-register"> <div class="guest-footer-content"> <h3>はてなブログをはじめよう!</h3> <p>szk-takanoriさんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか?</p> <div class="guest-footer-btn-container"> <div class="guest-footer-btn"> <a class="btn btn-register js-inherit-ga" href="https://blog.hatena.ne.jp/register?via=200227" target="_blank">はてなブログをはじめる(無料)</a> </div> <div class="guest-footer-btn"> <a href="https://hatena.blog/guide" target="_blank">はてなブログとは</a> </div> </div> </div> </div> <address class="footer-address"> <a href="https://szk-takanori.hatenablog.com/"> <img src="https://cdn.blog.st-hatena.com/images/admin/blog-icon-noimage.png" width="16" height="16" alt="現場のためのソフトウェア開発プロセス - たかのり日記"/> <span class="footer-address-name">現場のためのソフトウェア開発プロセス - たかのり日記</span> </a> </address> <p class="services"> Powered by <a href="https://hatena.blog/">Hatena Blog</a> | <a href="https://blog.hatena.ne.jp/-/abuse_report?target_url=https%3A%2F%2Fszk-takanori.hatenablog.com%2Fentry%2F20111201%2Fp1" class="report-abuse-link test-report-abuse-link" target="_blank">ブログを報告する</a> </p> </div> </footer> <script async src="https://s.hatena.ne.jp/js/widget/star.js"></script> <script> if (typeof window.Hatena === 'undefined') { window.Hatena = {}; } if (!Hatena.hasOwnProperty('Star')) { Hatena.Star = { VERSION: 2, }; } </script> <div id="fb-root"></div> <script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/ja_JP/sdk.js#xfbml=1&appId=719729204785177&version=v17.0"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script> <div class="quote-box"> <div class="tooltip-quote tooltip-quote-stock"> <i class="blogicon-quote" title="引用をストック"></i> </div> <div class="tooltip-quote tooltip-quote-tweet js-tooltip-quote-tweet"> <a class="js-tweet-quote" target="_blank" data-track-name="quote-tweet" data-track-once> <img src="https://cdn.blog.st-hatena.com/images/admin/quote/quote-x-icon.svg?version=b06a9d4929119667e7027e25c25079" title="引用して投稿する" > </a> </div> </div> <div class="quote-stock-panel" id="quote-stock-message-box" style="position: absolute; z-index: 3000"> <div class="message-box" id="quote-stock-succeeded-message" style="display: none"> <p>引用をストックしました</p> <button class="btn btn-primary" id="quote-stock-show-editor-button" data-track-name="curation-quote-edit-button">ストック一覧を見る</button> <button class="btn quote-stock-close-message-button">閉じる</button> </div> <div class="message-box" id="quote-login-required-message" style="display: none"> <p>引用するにはまずログインしてください</p> <button class="btn btn-primary" id="quote-login-button">ログイン</button> <button class="btn quote-stock-close-message-button">閉じる</button> </div> <div class="error-box" id="quote-stock-failed-message" style="display: none"> <p>引用をストックできませんでした。再度お試しください</p> <button class="btn quote-stock-close-message-button">閉じる</button> </div> <div class="error-box" id="unstockable-quote-message-box" style="display: none; position: absolute; z-index: 3000;"> <p>限定公開記事のため引用できません。</p> </div> </div> <script type="x-underscore-template" id="js-requote-button-template"> <div class="requote-button js-requote-button"> <button class="requote-button-btn tipsy-top" title="引用する"><i class="blogicon-quote"></i></button> </div> </script> <div id="hidden-subscribe-button" style="display: none;"> <div class="hatena-follow-button-box btn-subscribe js-hatena-follow-button-box" > <a href="#" class="hatena-follow-button js-hatena-follow-button"> <span class="subscribing"> <span class="foreground">読者です</span> <span class="background">読者をやめる</span> </span> <span class="unsubscribing" data-track-name="profile-widget-subscribe-button" data-track-once> <span class="foreground">読者になる</span> <span class="background">読者になる</span> </span> </a> <div class="subscription-count-box js-subscription-count-box"> <i></i> <u></u> <span class="subscription-count js-subscription-count"> </span> </div> </div> </div> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> <script src="https://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script> <script type="text/javascript" src="https://cdn.blog.st-hatena.com/js/external/jquery.min.js?v=1.12.4&version=b06a9d4929119667e7027e25c25079"></script> <script src="https://cdn.blog.st-hatena.com/js/texts-ja.js?version=b06a9d4929119667e7027e25c25079"></script> <script id="vendors-js" data-env="production" src="https://cdn.blog.st-hatena.com/js/vendors.js?version=b06a9d4929119667e7027e25c25079" crossorigin="anonymous"></script> <script id="hatenablog-js" data-env="production" src="https://cdn.blog.st-hatena.com/js/hatenablog.js?version=b06a9d4929119667e7027e25c25079" crossorigin="anonymous" data-page-id="entry"></script> <script>Hatena.Diary.GlobalHeader.init()</script> <script id="valve-dmp" data-service="blog" src="https://cdn.pool.st-hatena.com/valve/dmp.js" data-test-id="dmpjs" async></script> </body> </html>