CINXE.COM
障害発生!全員集合? - オンコールアンチパターンからの一歩前進 - Cybozu Inside Out | サイボウズエンジニアのブログ
<!DOCTYPE html> <html lang="ja" data-admin-domain="//blog.hatena.ne.jp" data-admin-origin="https://blog.hatena.ne.jp" data-author="cybozuinsideout" data-avail-langs="ja en" data-blog="cybozuinsideout.hatenablog.com" data-blog-host="cybozuinsideout.hatenablog.com" data-blog-is-public="1" data-blog-name="Cybozu Inside Out | サイボウズエンジニアのブログ" data-blog-owner="cybozuinsideout" data-blog-show-ads="" data-blog-show-sleeping-ads="" data-blog-uri="https://blog.cybozu.io/" data-blog-uuid="8454420450104491317" data-blogs-uri-base="https://blog.cybozu.io" data-brand="devblog" data-data-layer="{"hatenablog":{"admin":{},"analytics":{"brand_property_id":"","measurement_id":"G-G1HPZ65GT3","non_sampling_property_id":"","property_id":"UA-7639138-2","separated_property_id":"UA-29716941-17"},"blog":{"blog_id":"8454420450104491317","content_seems_japanese":"true","disable_ads":"custom_domain","enable_ads":"false","enable_keyword_link":"false","entry_show_footer_related_entries":"true","force_pc_view":"true","is_public":"true","is_responsive_view":"false","is_sleeping":"false","lang":"ja","name":"Cybozu Inside Out | \u30b5\u30a4\u30dc\u30a6\u30ba\u30a8\u30f3\u30b8\u30cb\u30a2\u306e\u30d6\u30ed\u30b0","owner_name":"cybozuinsideout","uri":"https://blog.cybozu.io/"},"brand":"devblog","page_id":"entry","permalink_entry":{"author_name":"cybozuinsideout","categories":"Yakumo\tSRE\t\u6587\u5316","character_count":3028,"date":"2021-08-19","entry_id":"26006613797837426","first_category":"Yakumo","hour":"8","title":"\u969c\u5bb3\u767a\u751f\uff01\u5168\u54e1\u96c6\u5408\uff1f \uff0d \u30aa\u30f3\u30b3\u30fc\u30eb\u30a2\u30f3\u30c1\u30d1\u30bf\u30fc\u30f3\u304b\u3089\u306e\u4e00\u6b69\u524d\u9032","uri":"https://blog.cybozu.io/entry/2021/08/19/082049"},"pro":"pro","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-hide-header="1" data-no-suggest-touch-view="1" data-page="entry" data-parts-domain="https://hatenablog-parts.com" data-plus-available="1" data-pro="true" 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>障害発生!全員集合? - オンコールアンチパターンからの一歩前進 - Cybozu Inside Out | サイボウズエンジニアのブログ</title> <link rel="canonical" href="https://blog.cybozu.io/entry/2021/08/19/082049"/> <meta itemprop="name" content="障害発生!全員集合? - オンコールアンチパターンからの一歩前進 - Cybozu Inside Out | サイボウズエンジニアのブログ"/> <meta itemprop="image" content="https://ogimage.blog.st-hatena.com/8454420450104491317/26006613797837426/1629329182"/> <meta property="og:title" content="障害発生!全員集合? - オンコールアンチパターンからの一歩前進 - Cybozu Inside Out | サイボウズエンジニアのブログ"/> <meta property="og:type" content="article"/> <meta property="og:url" content="https://blog.cybozu.io/entry/2021/08/19/082049"/> <meta property="og:image" content="https://ogimage.blog.st-hatena.com/8454420450104491317/26006613797837426/1629329182"/> <meta property="og:image:alt" content="障害発生!全員集合? - オンコールアンチパターンからの一歩前進 - Cybozu Inside Out | サイボウズエンジニアのブログ"/> <meta property="og:description" content="8月だというのに涼しい日が続きますね。 kintone.comのDevOpsをしている@ueokandeです。 もうすぐAWS版kintoneのローンチからから2年が経過しようとしています。 この2年間、DevOpsチームではkintone.comのサービス安定化やスケーラビリティに注力してきました。 時には本番環境の障害で休日や深夜に障害対応することもあります。 kintone.comの障害の一次対応は、我々DevOpsメンバーが実施しています。 サービスローンチ直後は、メンバーの多くがオンコールに不慣れで、慌てて障害対応したりうまく進められないことが何度もありました。 そこでメンバー全員が…" /> <meta property="og:site_name" content="Cybozu Inside Out | サイボウズエンジニアのブログ"/> <meta property="article:published_time" content="1629328849" /> <meta property="article:tag" content="Yakumo" /> <meta property="article:tag" content="SRE" /> <meta property="article:tag" content="文化" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:image" content="https://ogimage.blog.st-hatena.com/8454420450104491317/26006613797837426/1629329182" /> <meta name="twitter:title" content="障害発生!全員集合? - オンコールアンチパターンからの一歩前進 - Cybozu Inside Out | サイボウズエンジニアのブログ" /> <meta name="twitter:description" content="8月だというのに涼しい日が続きますね。 kintone.comのDevOpsをしている@ueokandeです。 もうすぐAWS版kintoneのローンチからから2年が経過しようとしています。 この2年間、DevOpsチームではkintone.comのサービス安定化やスケーラビリティに注力してきました。 時には本番環境の…" /> <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%2Fblog.cybozu.io%2Fentry%2F2021%2F08%2F19%2F082049" /> <meta name="description" content="8月だというのに涼しい日が続きますね。 kintone.comのDevOpsをしている@ueokandeです。 もうすぐAWS版kintoneのローンチからから2年が経過しようとしています。 この2年間、DevOpsチームではkintone.comのサービス安定化やスケーラビリティに注力してきました。 時には本番環境の障害で休日や深夜に障害対応することもあります。 kintone.comの障害の一次対応は、我々DevOpsメンバーが実施しています。 サービスローンチ直後は、メンバーの多くがオンコールに不慣れで、慌てて障害対応したりうまく進められないことが何度もありました。 そこでメンバー全員が…" /> <meta name="google-site-verification" content="ASaf__VPzdTMlKgDwgunV812oy5RWjGZe8QaQQq8c9w" /> <script id="embed-gtm-data-layer-loader" data-data-layer-page-specific="{"hatenablog":{"blogs_permalink":{"has_related_entries_with_elasticsearch":"true","entry_afc_issued":"false","is_blog_sleeping":"false","is_author_pro":"true","blog_afc_issued":"false"}}}" > (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://blog.cybozu.io/icon/favicon"> <link rel="apple-touch-icon" href="https://blog.cybozu.io/icon/touch"> <link rel="icon" sizes="192x192" href="https://blog.cybozu.io/icon/link"> <link rel="alternate" type="application/atom+xml" title="Atom" href="https://blog.cybozu.io/feed"/> <link rel="alternate" type="application/rss+xml" title="RSS2.0" href="https://blog.cybozu.io/rss"/> <link rel="alternate" type="application/json+oembed" href="https://hatena.blog/oembed?url=https%3A%2F%2Fblog.cybozu.io%2Fentry%2F2021%2F08%2F19%2F082049&format=json" title="oEmbed Profile of 障害発生!全員集合? - オンコールアンチパターンからの一歩前進"/> <link rel="alternate" type="text/xml+oembed" href="https://hatena.blog/oembed?url=https%3A%2F%2Fblog.cybozu.io%2Fentry%2F2021%2F08%2F19%2F082049&format=xml" title="oEmbed Profile of 障害発生!全員集合? - オンコールアンチパターンからの一歩前進"/> <link rel="author" href="http://www.hatena.ne.jp/cybozuinsideout/"> <link rel="preload" href="https://cdn-ak.f.st-hatena.com/images/fotolife/c/cybozuinsideout/20180828/20180828132441.png" as="image"/> <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/8454420450104491317/069af0b9ee250ee85ee5312f85d3b6c39dde30a8"/> <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 type="application/ld+json">{"@context":"http://schema.org","@type":"Article","dateModified":"2021-08-19T08:26:22+09:00","datePublished":"2021-08-19T08:20:49+09:00","headline":"障害発生!全員集合? - オンコールアンチパターンからの一歩前進","image":["https://cdn.blog.st-hatena.com/images/theme/og-image-1500.png"]}</script> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> (function($) { $(function() { $("div.hatena-module-links a").click(function() { sendCybozuLinkClickEvent('side_click', $(this).attr("href")); }); $("div.entry-content a").click(function() { sendCybozuLinkClickEvent('main_click', $(this).attr("href")); }); }); })(jQuery); function sendCybozuLinkClickEvent(action, label) { ga('create', 'UA-7639138-2', 'auto', {'name': 'HatenaBlogUserTracker'}); ga('HatenaBlogUserTracker.send', 'event', { eventCategory: 'LinkClick', eventAction: action, eventLabel: label, transport: 'beacon' }); } </script> </head> <body class="page-entry header-image-only enable-bottom-editarea category-Yakumo category-SRE category-文化 globalheader-off globalheader-ng-enabled"> <div id="globalheader-container" data-brand="hatenablog" style="display: none" > <iframe id="globalheader" height="37" frameborder="0" allowTransparency="true"></iframe> </div> <div id="container"> <div id="container-inner"> <header id="blog-title" data-brand="hatenablog"> <div id="blog-title-inner" style="background-image: url('https://cdn-ak.f.st-hatena.com/images/fotolife/c/cybozuinsideout/20180828/20180828132441.png'); background-position: center 0px;"> <div id="blog-title-content"> <h1 id="title"><a href="https://blog.cybozu.io/">Cybozu Inside Out | サイボウズエンジニアのブログ</a></h1> </div> </div> </header> <div id="content" class="hfeed" > <div id="content-inner"> <div id="wrapper"> <div id="main"> <div id="main-inner"> <!-- google_ad_section_start --> <!-- rakuten_ad_target_begin --> <article class="entry hentry test-hentry js-entry-article date-first autopagerize_page_element chars-800 words-100 mode-markdown entry-odd" id="entry-26006613797837426" data-keyword-campaign="" data-uuid="26006613797837426" data-publication-type="entry"> <div class="entry-inner"> <header class="entry-header"> <div class="date entry-date first"> <a href="https://blog.cybozu.io/archive/2021/08/19" rel="nofollow"> <time datetime="2021-08-18T23:20:49Z" title="2021-08-18T23:20:49Z"> <span class="date-year">2021</span><span class="hyphen">-</span><span class="date-month">08</span><span class="hyphen">-</span><span class="date-day">19</span> </time> </a> </div> <h1 class="entry-title"> <a href="https://blog.cybozu.io/entry/2021/08/19/082049" class="entry-title-link bookmark">障害発生!全員集合? - オンコールアンチパターンからの一歩前進</a> </h1> <div class="entry-categories categories"> <a href="https://blog.cybozu.io/archive/category/Yakumo" class="entry-category-link category-Yakumo">Yakumo</a> <a href="https://blog.cybozu.io/archive/category/SRE" class="entry-category-link category-SRE">SRE</a> <a href="https://blog.cybozu.io/archive/category/%E6%96%87%E5%8C%96" class="entry-category-link category-文化">文化</a> </div> </header> <div class="entry-content hatenablog-entry"> <p>8月だというのに涼しい日が続きますね。 kintone.comのDevOpsをしている<a href="https://twitter.com/ueokande">@ueokande</a>です。 もうすぐ<a href="https://topics.cybozu.co.jp/news/2019/09/09-8487.html">AWS版kintoneのローンチから</a>から2年が経過しようとしています。 この2年間、DevOpsチームではkintone.comのサービス安定化やスケーラビリティに注力してきました。 時には本番環境の障害で休日や深夜に障害対応することもあります。</p> <p>kintone.comの障害の一次対応は、我々DevOpsメンバーが実施しています。 サービスローンチ直後は、メンバーの多くがオンコールに不慣れで、慌てて障害対応したりうまく進められないことが何度もありました。 そこでメンバー全員が効率的・効果的な障害対応を目指すべく、チームでPagerDuty社の<a href="https://response.pagerduty.com/">Incident Response</a>(<a href="https://ueokande.github.io/incident-response-docs-ja/">非公式日本語訳版</a>)を読むことにしました。 この記事ではAWS版kintoneで実際に体験した障害対応のアンチパターンと、PagerDuty社のIncident Responseから得られた教訓について紹介します。</p> <h2>アンチパターンその1: 障害時に全員集合</h2> <p>AWS版kintoneローンチ直後は、どんな障害が起こるか予測できず、オンコールの体制も整えられていませんでした。 そこでローンチ直後はオンコールメンバー全員が障害の通知を受け取るようにしていました。 kintone.comで異常が検知されるとメンバー全員が招集され、集まった人から順に障害対応を始めます。</p> <p>この体制はすぐに問題が顕著となりました。</p> <ul> <li>大人数で集まると何もしない人がいたり、意思決定・作業の速度が低下した。</li> <li>夜間に全員が招集されると、日中のオンコールや作業が手薄になった。</li> </ul> <p><strong>対応策</strong></p> <p>PagerDuty Incident Responseには、オンコールに全員参加するのはアンチパターンだと<a href="https://response.pagerduty.com/resources/anti_patterns/#getting-everyone-on-the-call">紹介されています</a>。 kintone.comでもオンコールは全員ではなく、<strong>限られたメンバーのみ</strong>を呼び出すようにしました。 これによってオンコールの人数が多すぎるという問題と、日中が手薄になるという問題を解決しました。 PagerDutyのエスカレーション機能によって、1次オンコールメンバーが対応できない場合は残りのメンバーにも通知するように設定してあります。</p> <h2>アンチパターンその2: 意思決定者が不在</h2> <p>オンコール開始当初は、障害対応メンバー全員が手を動かし、皆が率先して問題を解決すればよいと考えていました。 しかし障害対応を重ねるにつれ、その体制ではよくないということがだんだんわかってきます。</p> <p>障害対応で「どこを調査すべきか」「次に何をすべきか」など、障害を俯瞰的に見て整理できる人がいないと、意思決定や次のアクションに時間がかかってしまいます。 大きな障害ではそういった役割が不可欠です。 軽微な障害であっても「追加調査をすべきか」「翌日にじっくり調査をするか」を決める人がいないと、夜間にだらだら障害対応を続けてしまうこともありました。</p> <p><strong>対応策</strong></p> <p>PagerDutyのIncident Responseでは、障害対応時に<a href="https://response.pagerduty.com/before/different_roles/#incident-commander-ic">インシデントコマンダー(Incident Commander)</a>という役割が必要とあります。 インシデントコマンダーの目的はインシデントを解決に導くことで、実際のアクションや障害調査はしません。</p> <p>kintone.comのDevOpsチームでは「最初にアラートに反応した人」というルールで、機械的にインシデントコマンダーを決めています。 インシデントコマンダーに深い専門知識は求められません。他のメンバーから意見を仰いで意思決定できます。 重要なのは<strong>意思決定をする人がその場にいる</strong>ということです。 この役割を明示的に決めることで、障害対応時のアクションがスムーズに決まります。 緊急でない夜間の障害は、詳細の調査を打ち切って日を改めて実施するという決定もできるようになりました。</p> <h2>アンチパターンその3: 告知をためらう</h2> <p>kintone.comのステータスは、<a href="https://status.kintone.com/">status.kintone.com</a>で社外に告知しています。 事前に予想できる障害(エラー率やレスポンスタイムの上昇)などは、自動化してステータスページに告知しています。 しかしアラートが鳴らない怪しい振る舞いをしているとき、告知をためらって出せないことが何度かありました。</p> <p><strong>対応策</strong></p> <p>社外への告知は<strong>常に最悪の事態を想定</strong>して、ユーザー影響を確認できたら直ちに告知を出すようにしています。 障害の誤報をすることは、本当の障害を告知しなかったり事後報告するよりもずっとましです。 また日本メンバーでも素早く告知を出せるように、告知文のテンプレートを用意して、誰でも告知を出せるようにしています。</p> <h2>アンチパターンその4: 「誰かお願い」は誰もやらない</h2> <p>障害対応で作業を依頼するときに「誰かやって」とお願いするのはよくありません。 メンバー全員が互いに誰か手を挙げるだろうと対応するだろうと期待して、誰も手を挙げません(これを<a href="https://ja.wikipedia.org/wiki/%E5%82%8D%E8%A6%B3%E8%80%85%E5%8A%B9%E6%9E%9C">傍観者効果</a>と呼ぶそうです)。 障害対応時には誰かが手が挙がるのを待つ時間はありません。</p> <p><strong>対応策</strong></p> <p>障害対応時に作業を依頼するときは「誰かやって」ではなく、<strong>名前を指名</strong>して作業を依頼するようにしました。 もちろん依頼する側の経験年数や、名前で指名する心理的ハードルがあります。 しかし障害対応はユーザーへの影響を抑えるのが第一であって、開発メンバーの社交の場ではありません。 そのことはメンバー全員がわかっているので、作業を依頼された側も快く引き受けてくれます。</p> <h2>アンチパターンその5: オンコールメンバーだけが知っている</h2> <p>障害対応が終わってやれやれと安心しきってしまうと、他のメンバーが障害について知る機会を得られなかったりします。 もし障害の原因が人によるミスやプロセスの問題にある場合は、また同じ失敗を繰り返してしまいます。 振り返りがおざなりになると、再発防止策を講じることができなかったり、そもそも障害の原因を知る機会を失います。</p> <p><strong>対応策</strong></p> <p>kintone.comのDevOpsチームでは、発生した障害をkintoneアプリに記録しています。 スクラムイベントで毎日顔を合わせる機会があるので、障害の内容や原因を共有して、再発防止策をチーム全体で考えていきます。 再発防止策はプロセスの改善の場合もありますし、アーキテクチャの問題の場合はチームのタスクとして取り組む場合もあります。 影響が大きいインシデントではポストモーテムを書いて、ステークホルダー(kintone PMやUSのセールスチーム)と障害のふりかえり・再発防止策を講じます。</p> <h2>まとめ</h2> <p>この記事ではkintone.comの障害対応で得られた知見や教訓を紹介しました。 国内向けのcybozu.comのSREの知見を取り入れつつ、kintone.comでも改善を重ねています。 また社内の告知チームやUSのセールスチームとも協力して、お客様により素早く正確な情報を提供できる仕組みづくりも続けていきます。</p> <p>kintone.comではDevOpsエンジニアを募集しています!</p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fcybozu.co.jp%2Fcompany%2Fjob%2Frecruitment%2Flist%2Fkintone_devops.html" title="キャリア採用 DevOpsエンジニア(AWS版kintone) | サイボウズ 採用情報(新卒・キャリア)" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"></iframe><cite class="hatena-citation"><a href="https://cybozu.co.jp/company/job/recruitment/list/kintone_devops.html">cybozu.co.jp</a></cite></p> <p>この記事の内容や、kintone.comのDevOpsエンジニアの職種が気になるという人は<a href="https://twitter.com/ueokande">@ueokande</a>までお気軽にDMをどうぞ!</p> </div> <footer class="entry-footer"> <div class="entry-tags-wrapper"> <div class="entry-tags"> <span class="entry-tag"> <a href="https://d.hatena.ne.jp/keyword/DevOps" class="entry-tag-link"> <span class="entry-tag-icon">#</span><span class="entry-tag-label">DevOps</span> </a> </span> <span class="entry-tag"> <a href="https://d.hatena.ne.jp/keyword/SRE" class="entry-tag-link"> <span class="entry-tag-icon">#</span><span class="entry-tag-label">SRE</span> </a> </span> </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="cybozuinsideout" >cybozuinsideout</span></span> <span class="entry-footer-time"><a href="https://blog.cybozu.io/entry/2021/08/19/082049"><time data-relative datetime="2021-08-18T23:20:49Z" title="2021-08-18T23:20:49Z" class="updated">2021-08-19 08:20</time></a></span> </p> <div class="social-buttons"> </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"> <a class="urllist-image-link related-entries-image-link" href="https://blog.cybozu.io/entry/2023/06/09/113000"> <img alt="エコシステムの開発者体験を向上させるkintone DXチームの活動について" src="https://cdn.image.st-hatena.com/image/square/7e9793bb2f8addc9b951b96305461226571404b4/backend=imagemagick;height=100;version=1;width=100/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fc%2Fcybozuinsideout%2F20230608%2F20230608152752.png" class="urllist-image related-entries-image" title="エコシステムの開発者体験を向上させるkintone DXチームの活動について" width="100" height="100" loading="lazy"> </a> <div class="urllist-date-link related-entries-date-link"> <a href="https://blog.cybozu.io/archive/2023/06/09" rel="nofollow"> <time datetime="2023-06-09T02:30:00Z" title="2023年6月9日"> 2023-06-09 </time> </a> </div> <a href="https://blog.cybozu.io/entry/2023/06/09/113000" class="urllist-title-link related-entries-title-link urllist-title related-entries-title">エコシステムの開発者体験を向上させるkintone DXチームの活動について</a> <div class="urllist-entry-body related-entries-entry-body">こんにちは! kintone DXチームでエンジニアをしている tasshi …</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://blog.cybozu.io/entry/2022/12/23/080000_1"> <img alt="Hardening 2022 DECADE 参加レポート" src="https://cdn.image.st-hatena.com/image/square/d6699a70cd4521c331bd4fbc12e95b3911d27659/backend=imagemagick;height=100;version=1;width=100/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fdefault_entry_og_image%2F110495017%2F1514249404572921" class="urllist-image related-entries-image" title="Hardening 2022 DECADE 参加レポート" width="100" height="100" loading="lazy"> </a> <div class="urllist-date-link related-entries-date-link"> <a href="https://blog.cybozu.io/archive/2022/12/23" rel="nofollow"> <time datetime="2022-12-22T23:00:00Z" title="2022年12月23日"> 2022-12-23 </time> </a> </div> <a href="https://blog.cybozu.io/entry/2022/12/23/080000_1" class="urllist-title-link related-entries-title-link urllist-title related-entries-title">Hardening 2022 DECADE 参加レポート</a> <div class="urllist-entry-body related-entries-entry-body">こんにちは!Cy-PSIRTの田口です。 本記事は、11月に開催された…</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://blog.cybozu.io/archive/2021/07/28" rel="nofollow"> <time datetime="2021-07-27T23:00:00Z" title="2021年7月28日"> 2021-07-28 </time> </a> </div> <a href="https://blog.cybozu.io/entry/2021/07/28/080000" class="urllist-title-link related-entries-title-link urllist-title related-entries-title">もうリリースは怖くない ― 大きな変更を安全に本番適用するTips</a> <div class="urllist-entry-body related-entries-entry-body">こんにちは、AWS版kintoneのDevOpsエンジニアをしている@ueokan…</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://blog.cybozu.io/entry/2021/07/02/123000"> <img alt="インシデント対応訓練レポート" src="https://cdn.image.st-hatena.com/image/square/3b51f2e87aa32602a737b0941b7f9271c35c5ca2/backend=imagemagick;height=100;version=1;width=100/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fc%2Fcybozuinsideout%2F20210630%2F20210630123937.png" 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://blog.cybozu.io/archive/2021/07/02" rel="nofollow"> <time datetime="2021-07-02T03:30:00Z" title="2021年7月2日"> 2021-07-02 </time> </a> </div> <a href="https://blog.cybozu.io/entry/2021/07/02/123000" class="urllist-title-link related-entries-title-link urllist-title related-entries-title">インシデント対応訓練レポート</a> <div class="urllist-entry-body related-entries-entry-body">こんにちは。Cy-SIRT(Cybozu Security Incident Response Team…</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://blog.cybozu.io/entry/2020/11/13/082033"> <img alt="SLO策定とアラート設定までの長い道のり" src="https://cdn.image.st-hatena.com/image/square/682d6e7be19657fbf1436d0c8b9ac21e431a4b16/backend=imagemagick;height=100;version=1;width=100/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fc%2Fcybozuinsideout%2F20201110%2F20201110130454.png" class="urllist-image related-entries-image" title="SLO策定とアラート設定までの長い道のり" width="100" height="100" loading="lazy"> </a> <div class="urllist-date-link related-entries-date-link"> <a href="https://blog.cybozu.io/archive/2020/11/13" rel="nofollow"> <time datetime="2020-11-12T23:20:33Z" title="2020年11月13日"> 2020-11-13 </time> </a> </div> <a href="https://blog.cybozu.io/entry/2020/11/13/082033" class="urllist-title-link related-entries-title-link urllist-title related-entries-title">SLO策定とアラート設定までの長い道のり</a> <div class="urllist-entry-body related-entries-entry-body">こんにちは、@ueokandeです。早速ですが、皆さんが運用している…</div> </div> </li> </ul> </div> </div> </div> <div class="entry-footer-html"><script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script> !function(t){t(function(){var n=function(n){var e=t(".entry-inner .entry-content:first"),r="<p><h3>あわせて読みたい</h3><ul>";t(n).each(function(){var n=t(this);r=r+'<li><a onclick="sendCybozuLinkClickEvent(\'awasete_click\', this.href);" href="'+n.find("link").text()+'">'+n.find("title").text()+"</a></li>"}),r+="</ul></p>",e.append(r)},e="",r=t(".categories a");if(r.length){var a=Math.floor(Math.random()*r.length);e=t(r[a]).attr("href").match(/\/category\/.*/)}var i=function(t,n){var e,r=[];for(e=0;t>=e;e++)r.push(e);return r.sort(function(){return Math.random()-.5}),r.slice(0,n)},o="https://"+location.hostname+"/rss"+e;t.get(o,function(e){var r=t(e).find("item"),a=[],o=5,f=t(".entry-header .entry-title a").text();if(r=t.grep(r,function(n,e){var r=t(n);return r.find("title").text()==f?!1:!0}),r.length>o){var h,u=i(r.length-1,o).sort(function(t,n){return parseInt(t)>parseInt(n)?1:-1});for(h=0;h<u.length;h++)a.push(t(r[u[h]]))}else a=r;n(a)})})}(jQuery); </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&version=v2.3"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script> <a href="http://b.hatena.ne.jp/entry/https://blog.cybozu.io/entry/2021/08/19/082049" class="hatena-bookmark-button" data-hatena-bookmark-title="障害発生!全員集合? - オンコールアンチパターンからの一歩前進 - Cybozu Inside Out | サイボウズエンジニアのブログ" data-hatena-bookmark-layout="standard-balloon" data-hatena-bookmark-lang="ja" title="このエントリーをはてなブックマークに追加"><img src="https://b.st-hatena.com/images/entry-button/button-only@2x.png" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="https://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script> <a href="https://twitter.com/share" class="twitter-share-button tweets" data-url="https://blog.cybozu.io/entry/2021/08/19/082049">Tweet</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> <div class="fb-like" data-href="https://blog.cybozu.io/entry/2021/08/19/082049" data-layout="button_count" data-action="like" data-show-faces="true" data-share="false"></div></div> </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://blog.cybozu.io/entry/2021/09/02/120000" rel="prev"> <span class="pager-arrow">« </span> iOSDC Japan 2021にプラチナスポンサーと… </a> </span> <span class="pager-next"> <a href="https://blog.cybozu.io/entry/2021/08/18/080000" rel="next"> ほんとに開発できるの?・・・と心配され… <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"> Profile </div> <div class="hatena-module-body"> <a href="https://blog.cybozu.io/about" class="profile-icon-link"> <img src="https://cdn.profile-image.st-hatena.com/users/cybozuinsideout/profile.png?1671431787" alt="id:cybozuinsideout" class="profile-icon" /> </a> <span class="id"> <a href="https://blog.cybozu.io/about" class="hatena-id-link"><span data-load-nickname="1" data-user-name="cybozuinsideout">id:cybozuinsideout</span></a> <a href="https://blog.hatena.ne.jp/guide/corporation" title="はてなブログ for DevBlog"><i class="badge-type-devblog">はてなブログ for DevBlog</i></a> </span> <div class="profile-activities"> 最終更新: <time datetime="2024-11-25T02:20:00Z" data-relative data-epoch="1732501200000" class="updated">2024-11-25 11:20</time> </div> <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://blog.cybozu.io/about">このブログについて</a> </div> </div> </div> <div class="hatena-module hatena-module-html"> <div class="hatena-module-title">リンク</div> <div class="hatena-module-body"> <ul class="hatena-urllist"> <li> <div style="display:flex;"><a href="https://tech.cybozu.io/" target="_blank" ref="noopener"><img class="linklist-img" src="https://tech.cybozu.io/favicon-32x32.png" width="24" height="24" />Cybozu Tech - ポータルサイト</a> </div> </li> <li> <div style="display:flex;"> <a href="https://blog.kintone.io/" target="_blank" ref="noopener"><img src="https://blog.kintone.io/icon/favicon" width="24" height="24" class="linklist-img" />Kintone Engineering Blog</a> </div> </li> <li> <div style="display:flex;"> <a href="https://tech.cybozu.vn/" target="_blank" ref="noopener"><img src="https://tech.cybozu.vn/favicon-32x32.png" width="24" height="24" class="linklist-img">Cybozu Vietnam Tech Sharing</a> </div> </li> <li> <div style="display:flex;"> <a href="https://twitter.com/cybozuinsideout" target="_blank" ref="noopener"><img src="https://abs.twimg.com/favicons/twitter.3.ico"width="24" height="24" class="linklist-img" />X (旧Twitter) - CybozuInsideOut</a> </div> </li> <li> <div style="display:flex;"> <a href="https://cybozu.connpass.com/" target="_blank" ref="noopener"><img src="https://connpass.com/static/img/favicon.ico"width="24" height="24" class="linklist-img" />connpass - Cybozu Inside Out</a> </div> </li> <li> <div style="display:flex;"> <a href="https://speakerdeck.com/cybozuinsideout/" target="_blank" ref="noopener"><img src="https://d1eu30co0ohy4w.cloudfront.net/assets/favicon-bdd5839d46040a50edf189174e6f7aacc8abb3aaecd56a4711cf00d820883f47.png" width="24" height="24" class="linklist-img">Speaker Deck - cybozuinsideout</a> </div> </li> <li> <div style="display:flex;"> <a href="https://www.youtube.com/c/cybozuinsideout" target="_blank" ref="noopener"><img src="https://www.youtube.com/s/desktop/25bf5aae/img/favicon_32x32.png" width="24" height="24" class="linklist-img" /> YouTube - cybozuinsideout</a> </div> </li> <li> <div style="display:flex;"> <a href="https://cybozu.github.io/summer-blog-fes-2024/" target="_blank" ref="noopener"><img src="https://cybozu.github.io/summer-blog-fes-2024/favicon.png"width="24" height="24" class="linklist-img" />CYBOZU SUMMER BLOG FES '24</a> </div> </li> <li> <div style="display:flex;"> <a href="https://blog.cybozu.io/advent_calendar_2022"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/c/cybozuinsideout/20230529/20230529185416.png" width="24" height="24" class="linklist-img" /> Cybozu Advent Calendar 2022</a> </div> </li> </ul> </div> </div> <div class="hatena-module hatena-module-html"> <div class="hatena-module-title">X (旧Twitter)</div> <div class="hatena-module-body"> <a class="twitter-timeline" data-width="410" data-height="400" href="https://twitter.com/cybozuinsideout?ref_src=twsrc%5Etfw">Tweets by cybozuinsideout</a> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> </div> </div> <div class="hatena-module hatena-module-recent-entries "> <div class="hatena-module-title"> <a href="https://blog.cybozu.io/archive"> 最新記事 </a> </div> <div class="hatena-module-body"> <ul class="recent-entries hatena-urllist urllist-with-thumbnails"> <li class="urllist-item recent-entries-item"> <div class="urllist-item-inner recent-entries-item-inner"> <a class="urllist-image-link recent-entries-image-link" href="https://blog.cybozu.io/entry/2024/11/25/112000"> <img alt="サイボウズサマーインターン2024 プラットフォームAWSコース開催報告" src="https://cdn.image.st-hatena.com/image/square/4f47cdff3d1f10f002d4ea7d51f25cb66f15e84c/backend=imagemagick;height=140;version=1;width=250/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Ft%2Ftshohe%2F20241120%2F20241120190903.png" class="urllist-image recent-entries-image" title="サイボウズサマーインターン2024 プラットフォームAWSコース開催報告" width="250" height="140" loading="lazy"> </a> <div class="urllist-date-link recent-entries-date-link"> <a href="https://blog.cybozu.io/archive/2024/11/25" rel="nofollow"> <time datetime="2024-11-25T02:20:00Z" title="2024年11月25日"> 2024-11-25 </time> </a> </div> <a href="https://blog.cybozu.io/entry/2024/11/25/112000" class="urllist-title-link recent-entries-title-link urllist-title recent-entries-title">サイボウズサマーインターン2024 プラットフォー…</a> <div class="urllist-entry-body recent-entries-entry-body">こんにちは。Yakumo チーム*1の品田です。 今年は Yakumo チームでサマーインターンシップ(プラットフォ…</div> </div> </li> <li class="urllist-item recent-entries-item"> <div class="urllist-item-inner recent-entries-item-inner"> <a class="urllist-image-link recent-entries-image-link" href="https://blog.cybozu.io/entry/2024/11/21/080000"> <img alt="QAでがっつりアクセシビリティテストをやるようになった話" src="https://cdn.image.st-hatena.com/image/square/d159c62a0000904af9aff30a90f7eb775e7500ba/backend=imagemagick;height=140;version=1;width=250/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fy%2Fyellow-sabotech%2F20241120%2F20241120114943.png" class="urllist-image recent-entries-image" title="QAでがっつりアクセシビリティテストをやるようになった話" width="250" height="140" loading="lazy"> </a> <div class="urllist-date-link recent-entries-date-link"> <a href="https://blog.cybozu.io/archive/2024/11/21" rel="nofollow"> <time datetime="2024-11-20T23:00:00Z" title="2024年11月21日"> 2024-11-21 </time> </a> </div> <a href="https://blog.cybozu.io/entry/2024/11/21/080000" class="urllist-title-link recent-entries-title-link urllist-title recent-entries-title">QAでがっつりアクセシビリティテストをやるようにな…</a> <div class="urllist-entry-body recent-entries-entry-body">こんにちは、サイボウズでQAエンジニアをしている仙波です!みなさんのチームでは、アクセシビリティテス…</div> </div> </li> <li class="urllist-item recent-entries-item"> <div class="urllist-item-inner recent-entries-item-inner"> <a class="urllist-image-link recent-entries-image-link" href="https://blog.cybozu.io/entry/2024/11/12/080000"> <img alt="ヘルプにおけるライティングの品質を標準化するために" src="https://cdn.image.st-hatena.com/image/square/b2470b1e938e79857b1aed1361195332f83cc159/backend=imagemagick;height=140;version=1;width=250/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fy%2Fyellow-sabotech%2F20241106%2F20241106161537.png" class="urllist-image recent-entries-image" title="ヘルプにおけるライティングの品質を標準化するために" width="250" height="140" loading="lazy"> </a> <div class="urllist-date-link recent-entries-date-link"> <a href="https://blog.cybozu.io/archive/2024/11/12" rel="nofollow"> <time datetime="2024-11-11T23:00:00Z" title="2024年11月12日"> 2024-11-12 </time> </a> </div> <a href="https://blog.cybozu.io/entry/2024/11/12/080000" class="urllist-title-link recent-entries-title-link urllist-title recent-entries-title">ヘルプにおけるライティングの品質を標準化するために</a> <div class="urllist-entry-body recent-entries-entry-body">こんにちは。サイボウズでテクニカルライターをしている小林(@kbys_psb)です。このブログは、テクニカル…</div> </div> </li> </ul> </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://blog.cybozu.io/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-category"> <div class="hatena-module-title"> カテゴリー </div> <div class="hatena-module-body"> <ul class="hatena-urllist"> <li> <a href="https://blog.cybozu.io/archive/category/AI" class="category-AI"> AI (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Android" class="category-Android"> Android (29) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Arduino" class="category-Arduino"> Arduino (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Argo%20CD" class="category-Argo-CD"> Argo CD (8) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/AWS" class="category-AWS"> AWS (13) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/C%2FC%2B%2B" class="category-C/C++"> C/C++ (24) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Ceph" class="category-Ceph"> Ceph (4) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/CI%2FCD" class="category-CI/CD"> CI/CD (9) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Design%20Systems" class="category-Design-Systems"> Design Systems (2) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/DevOps" class="category-DevOps"> DevOps (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/DOGO" class="category-DOGO"> DOGO (4) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/DX" class="category-DX"> DX (2) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Elasticsearch" class="category-Elasticsearch"> Elasticsearch (2) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/EngineeringProductivity" class="category-EngineeringProductivity"> EngineeringProductivity (12) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Flutter" class="category-Flutter"> Flutter (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Garoon" class="category-Garoon"> Garoon (22) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Gemini" class="category-Gemini"> Gemini (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/GitHubActions" class="category-GitHubActions"> GitHubActions (4) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Go" class="category-Go"> Go (18) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Google%20I%2FO" class="category-Google-I/O"> Google I/O (2) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/iOS" class="category-iOS"> iOS (27) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Java" class="category-Java"> Java (22) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/JavaScript" class="category-JavaScript"> JavaScript (26) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/kintone" class="category-kintone"> kintone (51) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Kotlin" class="category-Kotlin"> Kotlin (8) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/KotlinFest" class="category-KotlinFest"> KotlinFest (2) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Kubernetes" class="category-Kubernetes"> Kubernetes (41) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Linux" class="category-Linux"> Linux (25) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Maneki" class="category-Maneki"> Maneki (5) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Meetup" class="category-Meetup"> Meetup (15) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/MySQL" class="category-MySQL"> MySQL (15) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Neco" class="category-Neco"> Neco (62) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Network" class="category-Network"> Network (6) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Next.js" class="category-Next.js"> Next.js (2) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Node.js" class="category-Node.js"> Node.js (3) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/npm" class="category-npm"> npm (4) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/OSC" class="category-OSC"> OSC (2) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/OST" class="category-OST"> OST (2) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/PHP" class="category-PHP"> PHP (14) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/PM" class="category-PM"> PM (3) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Python" class="category-Python"> Python (3) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/QA" class="category-QA"> QA (68) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/R" class="category-R"> R (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/React" class="category-React"> React (12) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Rook" class="category-Rook"> Rook (5) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Rust" class="category-Rust"> Rust (2) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Selenium" class="category-Selenium"> Selenium (9) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/SRE" class="category-SRE"> SRE (11) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Storage" class="category-Storage"> Storage (11) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Swift" class="category-Swift"> Swift (11) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/TDD" class="category-TDD"> TDD (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/TE" class="category-TE"> TE (6) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/TLS" class="category-TLS"> TLS (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/TypeScript" class="category-TypeScript"> TypeScript (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Ubuntu" class="category-Ubuntu"> Ubuntu (5) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/UX%2FUI" class="category-UX/UI"> UX/UI (17) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/UX%E3%83%A9%E3%82%A4%E3%82%BF%E3%83%BC" class="category-UXライター"> UXライター (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Windows" class="category-Windows"> Windows (5) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/WWDC" class="category-WWDC"> WWDC (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/Yakumo" class="category-Yakumo"> Yakumo (18) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%81%8A%E7%9F%A5%E3%82%89%E3%81%9B" class="category-お知らせ"> お知らせ (32) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%81%B5%E3%82%8A%E3%81%8B%E3%81%88%E3%82%8A" class="category-ふりかえり"> ふりかえり (6) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%82%8F%E3%81%8C%E3%81%BE%E3%81%BE%E3%82%AB%E3%83%BC%E3%83%89" class="category-わがままカード"> わがままカード (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B7%E3%83%93%E3%83%AA%E3%83%86%E3%82%A3" class="category-アクセシビリティ"> アクセシビリティ (12) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB" class="category-アジャイル"> アジャイル (26) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%82%A2%E3%83%89%E3%83%99%E3%83%B3%E3%83%88%E3%82%AB%E3%83%AC%E3%83%B3%E3%83%80%E3%83%BC" class="category-アドベントカレンダー"> アドベントカレンダー (22) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88" class="category-イベント"> イベント (117) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%B3" class="category-インターン"> インターン (63) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9" class="category-インフラ"> インフラ (47) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9" class="category-オープンソース"> オープンソース (29) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%82%B5%E3%82%A4%E3%83%9C%E3%82%A6%E3%82%BAOffice" class="category-サイボウズOffice"> サイボウズOffice (2) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%82%B5%E3%82%A4%E3%83%9C%E3%82%A6%E3%82%BA%E3%83%BB%E3%83%A9%E3%83%9C" class="category-サイボウズ・ラボ"> サイボウズ・ラボ (18) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%82%B9%E3%82%AF%E3%83%A9%E3%83%A0" class="category-スクラム"> スクラム (25) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%82%B9%E3%82%AF%E3%83%A9%E3%83%A0%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC" class="category-スクラムマスター"> スクラムマスター (4) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3" class="category-セキュリティ"> セキュリティ (57) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%81%E3%83%BC%E3%83%A0%E3%83%93%E3%83%AB%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0" class="category-チームビルディング"> チームビルディング (2) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%86%E3%82%AF%E3%83%8B%E3%82%AB%E3%83%AB%E3%83%A9%E3%82%A4%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0" class="category-テクニカルライティング"> テクニカルライティング (21) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%86%E3%82%B9%E3%83%88" class="category-テスト"> テスト (19) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%86%E3%82%B9%E3%83%88%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA" class="category-テスト駆動開発"> テスト駆動開発 (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%86%E3%83%AC%E3%83%AF%E3%83%BC%E3%82%AF" class="category-テレワーク"> テレワーク (3) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%8A%E3%83%BC%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%B3" class="category-デザイナーインターン"> デザイナーインターン (4) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3" class="category-デザイン"> デザイン (15) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90" class="category-データ分析"> データ分析 (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E7%AE%A1%E7%90%86" class="category-ドキュメント管理"> ドキュメント管理 (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%8F%E3%83%83%E3%82%AB%E3%82%BD%E3%83%B3" class="category-ハッカソン"> ハッカソン (22) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%90%E3%82%B0%E3%83%90%E3%82%A6%E3%83%B3%E3%83%86%E3%82%A3" class="category-バグバウンティ"> バグバウンティ (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0" class="category-パフォーマンスチューニング"> パフォーマンスチューニング (6) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%95%E3%83%AD%E3%83%AA%E3%82%A2" class="category-フロリア"> フロリア (35) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89" class="category-フロントエンド"> フロントエンド (45) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6" class="category-ブラウザ"> ブラウザ (5) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E" class="category-プログラマ"> プログラマ (7) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0" class="category-プログラミング"> プログラミング (41) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%B3%E3%83%B3%E3%83%86%E3%82%B9%E3%83%88" class="category-プログラミングコンテスト"> プログラミングコンテスト (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88" class="category-マネジメント"> マネジメント (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%A2%E3%83%90%E3%82%A4%E3%83%AB" class="category-モバイル"> モバイル (64) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%A2%E3%83%96%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0" class="category-モブプログラミング"> モブプログラミング (6) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%A9%E3%83%9C%E3%83%A6%E3%83%BC%E3%82%B9" class="category-ラボユース"> ラボユース (20) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF" class="category-リモートワーク"> リモートワーク (4) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%AA%E3%83%AC%E3%83%BC%E3%83%96%E3%83%AD%E3%82%B0" class="category-リレーブログ"> リレーブログ (2) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%AC%E3%83%88%E3%83%AD%E3%82%B9%E3%83%9A%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96" class="category-レトロスペクティブ"> レトロスペクティブ (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%A9%E3%82%A4%E3%82%BA" class="category-ローカライズ"> ローカライズ (9) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E5%83%8D%E3%81%8D%E6%96%B9" class="category-働き方"> 働き方 (7) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E5%8B%89%E5%BC%B7%E4%BC%9A" class="category-勉強会"> 勉強会 (64) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E5%8C%97%E6%B5%B7%E9%81%93" class="category-北海道"> 北海道 (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E5%8F%82%E5%8A%A0%E5%A0%B1%E5%91%8A" class="category-参加報告"> 参加報告 (13) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E5%90%88%E5%AE%BF" class="category-合宿"> 合宿 (2) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E5%BA%83%E5%B3%B6" class="category-広島"> 広島 (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E6%83%85%E3%82%B7%E3%82%B9" class="category-情シス"> 情シス (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E6%8A%80%E8%A1%93%E5%90%8C%E4%BA%BA%E8%AA%8C" class="category-技術同人誌"> 技術同人誌 (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E6%8C%AF%E3%82%8A%E8%BF%94%E3%82%8A" class="category-振り返り"> 振り返り (4) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E6%96%87%E5%8C%96" class="category-文化"> 文化 (45) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E6%A4%9C%E8%A8%BC" class="category-検証"> 検証 (8) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E6%A9%9F%E8%83%BD%E6%94%B9%E5%96%84" class="category-機能改善"> 機能改善 (3) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E6%B5%B7%E5%A4%96%E5%87%BA%E5%BC%B5" class="category-海外出張"> 海外出張 (7) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E7%94%9F%E7%94%A3%E6%80%A7%E5%90%91%E4%B8%8A%E3%83%81%E3%83%BC%E3%83%A0" class="category-生産性向上チーム"> 生産性向上チーム (12) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E7%99%BA%E8%A1%A8%E8%B3%87%E6%96%99" class="category-発表資料"> 発表資料 (22) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E7%A4%BE%E5%86%85%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88" class="category-社内イベント"> 社内イベント (13) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E8%A8%BC%E6%98%8E%E6%9B%B8" class="category-証明書"> 証明書 (1) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E9%96%8B%E7%99%BA%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9" class="category-開発プロセス"> 開発プロセス (35) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83" class="category-開発環境"> 開発環境 (29) </a> </li> <li> <a href="https://blog.cybozu.io/archive/category/%E9%A1%A7%E5%AE%A2%E7%90%86%E8%A7%A3" class="category-顧客理解"> 顧客理解 (1) </a> </li> </ul> </div> </div> <div class="hatena-module hatena-module-archive" data-archive-type="default" data-archive-url="https://blog.cybozu.io/archive"> <div class="hatena-module-title"> <a href="https://blog.cybozu.io/archive">月別アーカイブ</a> </div> <div class="hatena-module-body"> <ul class="hatena-urllist"> <li class="archive-module-year archive-module-year-hidden" data-year="2024"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://blog.cybozu.io/archive/2024" class="archive-module-year-title archive-module-year-2024"> 2024 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2024/11" class="archive-module-month-title archive-module-month-2024-11"> 2024 / 11 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2024/10" class="archive-module-month-title archive-module-month-2024-10"> 2024 / 10 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2024/09" class="archive-module-month-title archive-module-month-2024-9"> 2024 / 9 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2024/08" class="archive-module-month-title archive-module-month-2024-8"> 2024 / 8 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2024/07" class="archive-module-month-title archive-module-month-2024-7"> 2024 / 7 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2024/06" class="archive-module-month-title archive-module-month-2024-6"> 2024 / 6 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2024/05" class="archive-module-month-title archive-module-month-2024-5"> 2024 / 5 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2024/04" class="archive-module-month-title archive-module-month-2024-4"> 2024 / 4 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2024/03" class="archive-module-month-title archive-module-month-2024-3"> 2024 / 3 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2024/02" class="archive-module-month-title archive-module-month-2024-2"> 2024 / 2 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2024/01" class="archive-module-month-title archive-module-month-2024-1"> 2024 / 1 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2023"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://blog.cybozu.io/archive/2023" class="archive-module-year-title archive-module-year-2023"> 2023 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2023/12" class="archive-module-month-title archive-module-month-2023-12"> 2023 / 12 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2023/11" class="archive-module-month-title archive-module-month-2023-11"> 2023 / 11 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2023/10" class="archive-module-month-title archive-module-month-2023-10"> 2023 / 10 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2023/09" class="archive-module-month-title archive-module-month-2023-9"> 2023 / 9 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2023/08" class="archive-module-month-title archive-module-month-2023-8"> 2023 / 8 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2023/07" class="archive-module-month-title archive-module-month-2023-7"> 2023 / 7 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2023/06" class="archive-module-month-title archive-module-month-2023-6"> 2023 / 6 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2023/05" class="archive-module-month-title archive-module-month-2023-5"> 2023 / 5 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2023/04" class="archive-module-month-title archive-module-month-2023-4"> 2023 / 4 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2023/03" class="archive-module-month-title archive-module-month-2023-3"> 2023 / 3 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2023/02" class="archive-module-month-title archive-module-month-2023-2"> 2023 / 2 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2023/01" class="archive-module-month-title archive-module-month-2023-1"> 2023 / 1 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2022"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://blog.cybozu.io/archive/2022" class="archive-module-year-title archive-module-year-2022"> 2022 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2022/12" class="archive-module-month-title archive-module-month-2022-12"> 2022 / 12 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2022/11" class="archive-module-month-title archive-module-month-2022-11"> 2022 / 11 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2022/10" class="archive-module-month-title archive-module-month-2022-10"> 2022 / 10 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2022/09" class="archive-module-month-title archive-module-month-2022-9"> 2022 / 9 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2022/08" class="archive-module-month-title archive-module-month-2022-8"> 2022 / 8 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2022/07" class="archive-module-month-title archive-module-month-2022-7"> 2022 / 7 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2022/06" class="archive-module-month-title archive-module-month-2022-6"> 2022 / 6 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2022/05" class="archive-module-month-title archive-module-month-2022-5"> 2022 / 5 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2022/04" class="archive-module-month-title archive-module-month-2022-4"> 2022 / 4 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2022/03" class="archive-module-month-title archive-module-month-2022-3"> 2022 / 3 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2022/02" class="archive-module-month-title archive-module-month-2022-2"> 2022 / 2 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2021"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://blog.cybozu.io/archive/2021" class="archive-module-year-title archive-module-year-2021"> 2021 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2021/12" class="archive-module-month-title archive-module-month-2021-12"> 2021 / 12 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2021/11" class="archive-module-month-title archive-module-month-2021-11"> 2021 / 11 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2021/10" class="archive-module-month-title archive-module-month-2021-10"> 2021 / 10 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2021/09" class="archive-module-month-title archive-module-month-2021-9"> 2021 / 9 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2021/08" class="archive-module-month-title archive-module-month-2021-8"> 2021 / 8 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2021/07" class="archive-module-month-title archive-module-month-2021-7"> 2021 / 7 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2021/06" class="archive-module-month-title archive-module-month-2021-6"> 2021 / 6 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2021/05" class="archive-module-month-title archive-module-month-2021-5"> 2021 / 5 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2021/04" class="archive-module-month-title archive-module-month-2021-4"> 2021 / 4 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2021/03" class="archive-module-month-title archive-module-month-2021-3"> 2021 / 3 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2021/02" class="archive-module-month-title archive-module-month-2021-2"> 2021 / 2 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2021/01" class="archive-module-month-title archive-module-month-2021-1"> 2021 / 1 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2020"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://blog.cybozu.io/archive/2020" class="archive-module-year-title archive-module-year-2020"> 2020 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2020/12" class="archive-module-month-title archive-module-month-2020-12"> 2020 / 12 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2020/11" class="archive-module-month-title archive-module-month-2020-11"> 2020 / 11 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2020/10" class="archive-module-month-title archive-module-month-2020-10"> 2020 / 10 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2020/09" class="archive-module-month-title archive-module-month-2020-9"> 2020 / 9 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2020/08" class="archive-module-month-title archive-module-month-2020-8"> 2020 / 8 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2020/07" class="archive-module-month-title archive-module-month-2020-7"> 2020 / 7 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2020/06" class="archive-module-month-title archive-module-month-2020-6"> 2020 / 6 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2020/05" class="archive-module-month-title archive-module-month-2020-5"> 2020 / 5 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2020/04" class="archive-module-month-title archive-module-month-2020-4"> 2020 / 4 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2020/03" class="archive-module-month-title archive-module-month-2020-3"> 2020 / 3 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2020/02" class="archive-module-month-title archive-module-month-2020-2"> 2020 / 2 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2020/01" class="archive-module-month-title archive-module-month-2020-1"> 2020 / 1 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2019"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://blog.cybozu.io/archive/2019" class="archive-module-year-title archive-module-year-2019"> 2019 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2019/12" class="archive-module-month-title archive-module-month-2019-12"> 2019 / 12 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2019/11" class="archive-module-month-title archive-module-month-2019-11"> 2019 / 11 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2019/10" class="archive-module-month-title archive-module-month-2019-10"> 2019 / 10 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2019/09" class="archive-module-month-title archive-module-month-2019-9"> 2019 / 9 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2019/08" class="archive-module-month-title archive-module-month-2019-8"> 2019 / 8 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2019/07" class="archive-module-month-title archive-module-month-2019-7"> 2019 / 7 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2019/06" class="archive-module-month-title archive-module-month-2019-6"> 2019 / 6 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2019/05" class="archive-module-month-title archive-module-month-2019-5"> 2019 / 5 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2019/04" class="archive-module-month-title archive-module-month-2019-4"> 2019 / 4 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2019/03" class="archive-module-month-title archive-module-month-2019-3"> 2019 / 3 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2019/02" class="archive-module-month-title archive-module-month-2019-2"> 2019 / 2 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2019/01" class="archive-module-month-title archive-module-month-2019-1"> 2019 / 1 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2018"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://blog.cybozu.io/archive/2018" class="archive-module-year-title archive-module-year-2018"> 2018 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2018/12" class="archive-module-month-title archive-module-month-2018-12"> 2018 / 12 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2018/11" class="archive-module-month-title archive-module-month-2018-11"> 2018 / 11 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2018/10" class="archive-module-month-title archive-module-month-2018-10"> 2018 / 10 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2018/09" class="archive-module-month-title archive-module-month-2018-9"> 2018 / 9 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2018/08" class="archive-module-month-title archive-module-month-2018-8"> 2018 / 8 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2018/07" class="archive-module-month-title archive-module-month-2018-7"> 2018 / 7 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2018/06" class="archive-module-month-title archive-module-month-2018-6"> 2018 / 6 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2018/05" class="archive-module-month-title archive-module-month-2018-5"> 2018 / 5 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2018/04" class="archive-module-month-title archive-module-month-2018-4"> 2018 / 4 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2018/03" class="archive-module-month-title archive-module-month-2018-3"> 2018 / 3 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2018/02" class="archive-module-month-title archive-module-month-2018-2"> 2018 / 2 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2018/01" class="archive-module-month-title archive-module-month-2018-1"> 2018 / 1 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2017"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://blog.cybozu.io/archive/2017" class="archive-module-year-title archive-module-year-2017"> 2017 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2017/12" class="archive-module-month-title archive-module-month-2017-12"> 2017 / 12 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2017/11" class="archive-module-month-title archive-module-month-2017-11"> 2017 / 11 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2017/10" class="archive-module-month-title archive-module-month-2017-10"> 2017 / 10 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2017/09" class="archive-module-month-title archive-module-month-2017-9"> 2017 / 9 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2017/08" class="archive-module-month-title archive-module-month-2017-8"> 2017 / 8 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2017/07" class="archive-module-month-title archive-module-month-2017-7"> 2017 / 7 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2017/06" class="archive-module-month-title archive-module-month-2017-6"> 2017 / 6 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2017/05" class="archive-module-month-title archive-module-month-2017-5"> 2017 / 5 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2017/04" class="archive-module-month-title archive-module-month-2017-4"> 2017 / 4 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2017/03" class="archive-module-month-title archive-module-month-2017-3"> 2017 / 3 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2017/02" class="archive-module-month-title archive-module-month-2017-2"> 2017 / 2 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2017/01" class="archive-module-month-title archive-module-month-2017-1"> 2017 / 1 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2016"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://blog.cybozu.io/archive/2016" class="archive-module-year-title archive-module-year-2016"> 2016 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2016/12" class="archive-module-month-title archive-module-month-2016-12"> 2016 / 12 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2016/11" class="archive-module-month-title archive-module-month-2016-11"> 2016 / 11 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2016/10" class="archive-module-month-title archive-module-month-2016-10"> 2016 / 10 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2016/09" class="archive-module-month-title archive-module-month-2016-9"> 2016 / 9 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2016/08" class="archive-module-month-title archive-module-month-2016-8"> 2016 / 8 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2016/07" class="archive-module-month-title archive-module-month-2016-7"> 2016 / 7 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2016/06" class="archive-module-month-title archive-module-month-2016-6"> 2016 / 6 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2016/05" class="archive-module-month-title archive-module-month-2016-5"> 2016 / 5 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2016/04" class="archive-module-month-title archive-module-month-2016-4"> 2016 / 4 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2016/03" class="archive-module-month-title archive-module-month-2016-3"> 2016 / 3 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2016/02" class="archive-module-month-title archive-module-month-2016-2"> 2016 / 2 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2016/01" class="archive-module-month-title archive-module-month-2016-1"> 2016 / 1 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2015"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://blog.cybozu.io/archive/2015" class="archive-module-year-title archive-module-year-2015"> 2015 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2015/12" class="archive-module-month-title archive-module-month-2015-12"> 2015 / 12 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2015/11" class="archive-module-month-title archive-module-month-2015-11"> 2015 / 11 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2015/10" class="archive-module-month-title archive-module-month-2015-10"> 2015 / 10 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2015/09" class="archive-module-month-title archive-module-month-2015-9"> 2015 / 9 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2015/07" class="archive-module-month-title archive-module-month-2015-7"> 2015 / 7 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2015/06" class="archive-module-month-title archive-module-month-2015-6"> 2015 / 6 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2015/05" class="archive-module-month-title archive-module-month-2015-5"> 2015 / 5 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2015/04" class="archive-module-month-title archive-module-month-2015-4"> 2015 / 4 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2015/03" class="archive-module-month-title archive-module-month-2015-3"> 2015 / 3 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2015/02" class="archive-module-month-title archive-module-month-2015-2"> 2015 / 2 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2015/01" class="archive-module-month-title archive-module-month-2015-1"> 2015 / 1 </a> </li> </ul> </li> <li class="archive-module-year archive-module-year-hidden" data-year="2014"> <div class="archive-module-button"> <span class="archive-module-hide-button">▼</span> <span class="archive-module-show-button">▶</span> </div> <a href="https://blog.cybozu.io/archive/2014" class="archive-module-year-title archive-module-year-2014"> 2014 </a> <ul class="archive-module-months"> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2014/12" class="archive-module-month-title archive-module-month-2014-12"> 2014 / 12 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2014/11" class="archive-module-month-title archive-module-month-2014-11"> 2014 / 11 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2014/10" class="archive-module-month-title archive-module-month-2014-10"> 2014 / 10 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2014/09" class="archive-module-month-title archive-module-month-2014-9"> 2014 / 9 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2014/08" class="archive-module-month-title archive-module-month-2014-8"> 2014 / 8 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2014/07" class="archive-module-month-title archive-module-month-2014-7"> 2014 / 7 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2014/06" class="archive-module-month-title archive-module-month-2014-6"> 2014 / 6 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2014/05" class="archive-module-month-title archive-module-month-2014-5"> 2014 / 5 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2014/04" class="archive-module-month-title archive-module-month-2014-4"> 2014 / 4 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2014/03" class="archive-module-month-title archive-module-month-2014-3"> 2014 / 3 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2014/02" class="archive-module-month-title archive-module-month-2014-2"> 2014 / 2 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2014/01" class="archive-module-month-title archive-module-month-2014-1"> 2014 / 1 </a> </li> </ul> </li> <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://blog.cybozu.io/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://blog.cybozu.io/archive/2013/12" class="archive-module-month-title archive-module-month-2013-12"> 2013 / 12 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2013/11" class="archive-module-month-title archive-module-month-2013-11"> 2013 / 11 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2013/10" class="archive-module-month-title archive-module-month-2013-10"> 2013 / 10 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2013/09" class="archive-module-month-title archive-module-month-2013-9"> 2013 / 9 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2013/08" class="archive-module-month-title archive-module-month-2013-8"> 2013 / 8 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2013/07" class="archive-module-month-title archive-module-month-2013-7"> 2013 / 7 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2013/06" class="archive-module-month-title archive-module-month-2013-6"> 2013 / 6 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/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://blog.cybozu.io/archive/2013/04" class="archive-module-month-title archive-module-month-2013-4"> 2013 / 4 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2013/03" class="archive-module-month-title archive-module-month-2013-3"> 2013 / 3 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2013/02" class="archive-module-month-title archive-module-month-2013-2"> 2013 / 2 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/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://blog.cybozu.io/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://blog.cybozu.io/archive/2012/12" class="archive-module-month-title archive-module-month-2012-12"> 2012 / 12 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2012/11" class="archive-module-month-title archive-module-month-2012-11"> 2012 / 11 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2012/10" class="archive-module-month-title archive-module-month-2012-10"> 2012 / 10 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2012/09" class="archive-module-month-title archive-module-month-2012-9"> 2012 / 9 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2012/06" class="archive-module-month-title archive-module-month-2012-6"> 2012 / 6 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2012/04" class="archive-module-month-title archive-module-month-2012-4"> 2012 / 4 </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://blog.cybozu.io/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://blog.cybozu.io/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://blog.cybozu.io/archive/2011/07" class="archive-module-month-title archive-module-month-2011-7"> 2011 / 7 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/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://blog.cybozu.io/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://blog.cybozu.io/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://blog.cybozu.io/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://blog.cybozu.io/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://blog.cybozu.io/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://blog.cybozu.io/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://blog.cybozu.io/archive/2010/02" class="archive-module-month-title archive-module-month-2010-2"> 2010 / 2 </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://blog.cybozu.io/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://blog.cybozu.io/archive/2009/09" class="archive-module-month-title archive-module-month-2009-9"> 2009 / 9 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2009/07" class="archive-module-month-title archive-module-month-2009-7"> 2009 / 7 </a> </li> <li class="archive-module-month"> <a href="https://blog.cybozu.io/archive/2009/05" class="archive-module-month-title archive-module-month-2009-5"> 2009 / 5 </a> </li> </ul> </li> </ul> </div> </div> </div> </aside> </div> </div> <div id="bottom-editarea"> <footer id="footer"> <div class="entry-footer-section"> <dl> <dd><a href="http://cybozu.co.jp/" target="_blank" rel="noreferrer">サイボウズ株式会社</a></dd> <dd><a href="http://labs.cybozu.co.jp/" target="_blank" rel="noreferrer">サイボウズ・ラボ株式会社</a></dd> <dd><a href="https://cybozu.co.jp/recruit/" target="_blank" rel="noreferrer">採用情報</a></dd> <dd><a href="http://blog.cybozu.io/entry/privacy">プライバシーポリシー</a></dd> </dl> </div> </footer> </div> </div> </div> <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> </body> </html>