<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ひつまぶし食べたい</title><link>https://www.hitsumabushi.org/</link><description>Recent content on ひつまぶし食べたい</description><generator>Hugo</generator><language>ja</language><copyright>&amp;copy; 2024 hitsumabushi</copyright><lastBuildDate>Sat, 14 Jun 2025 22:00:00 +0900</lastBuildDate><atom:link href="https://www.hitsumabushi.org/index.xml" rel="self" type="application/rss+xml"/><item><title>LLM時代のソフトウェア開発に必要な新しいスキルセットについて悩んでいる</title><link>https://www.hitsumabushi.org/blog/2025/06/14/0200/</link><pubDate>Sat, 14 Jun 2025 22:00:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2025/06/14/0200/</guid><description>&lt;h2 id="書き出し">書き出し&lt;/h2>
&lt;p>AIやらLLMがソフトウェアデリバリのサイクルにどんどん入ってきて、エンジニアに求められるスキルセットが大きく変化していくと思っている。
本当に高度な専門性がない領域の単純なコーディング作業はLLMが担い、人間はより高度な判断と検証に注力する時代になっていくのは間違いないのかなというのが現状の所感。&lt;/p></description></item><item><title>このブログをPelicanからHugoに載せ替えた</title><link>https://www.hitsumabushi.org/blog/2024/12/15/migrate-blog-from-pelican-to-hugo/</link><pubDate>Sun, 15 Dec 2024 19:33:28 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2024/12/15/migrate-blog-from-pelican-to-hugo/</guid><description>&lt;h2 id="なぜ変更したか">なぜ変更したか?&lt;/h2>
&lt;p>&lt;a href="https://www.hitsumabushi.org/blog/2014/12/15/2300/">Pelicanは2014年から使っていたよう&lt;/a>で、そこまで文句があったわけではないが、やはり速度が気になっていた。それに加えて、どうしてもたまにバージョンアップして互換性が壊れたりして、たまに時間を取られていた。今回少し修正したいことがあったのだが、これを機に載せ替えるか、と載せ替えることにした。&lt;/p>
&lt;p>載せ替え先の候補としては色々あったが、そこまで時間を使いたいわけではないので、利用者が多く、かつ、何かあったら自分がクイックに調べられる言語のものということで、Hugoを選択した。&lt;/p></description></item><item><title>マネジメント1年目振り返り on 2024-12</title><link>https://www.hitsumabushi.org/blog/2024/12/14/0200/</link><pubDate>Sat, 14 Dec 2024 02:00:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2024/12/14/0200/</guid><description>&lt;p>この文章はもともとはローカルで自分向けに書いていたもので、dumpしているだけのもの。
そのうちマネージャー業務のtopicごとに、自分なりにやっていることや、考えていることを書き起こしたい。&lt;/p></description></item><item><title>CloudFormation Stackを安全に削除する</title><link>https://www.hitsumabushi.org/blog/2021/10/12/0200/</link><pubDate>Tue, 12 Oct 2021 02:00:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2021/10/12/0200/</guid><description>&lt;p>以前、&lt;a href="%7Bfilename%7D/diary/2019/20190125_cloudformation_drift.md">CloudFormation の不満点&lt;/a> というのを書いたが、諦めて大半のCfnをterraformに移行した。
その際、cfn リソースをきれいにするために、cfn stackを安全に削除する必要があり、その方法をメモしておく。&lt;/p></description></item><item><title>1Password CLIを使ってTOTPを取得する</title><link>https://www.hitsumabushi.org/blog/2021/10/12/0100/</link><pubDate>Tue, 12 Oct 2021 01:00:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2021/10/12/0100/</guid><description>&lt;p>2要素認証を必須にしたAWSのswitch roleで、temporary credentialsをCLIで取得したかった。
TOTPの数字を毎回調べるのが面倒で、簡単にできないか調べたところ、1Password CLIというのがあった。1Passwordユーザなので、これを利用する。
ただし、当然のことだが、2要素認証のデバイスとして、1Passwordが利用されている状況とする。&lt;/p></description></item><item><title>Python でコメント付きYAMLを扱う時には ruamel.yaml が便利だった</title><link>https://www.hitsumabushi.org/blog/2019/02/12/1630/</link><pubDate>Tue, 12 Feb 2019 16:30:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2019/02/12/1630/</guid><description>&lt;h2 id="資料">資料&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://yaml.readthedocs.io/en/latest/">Document: ruamel.yaml&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://bitbucket.org/ruamel/yaml/">Repository: ruamel.yaml&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="背景">背景&lt;/h2>
&lt;p>とある yamlで書かれたconfigファイル群(数百ファイル)を一括で変更したいことがあった。
sedで変更するには少し難しかったので、パースしてから条件判定して、書き換えたい。&lt;/p></description></item><item><title>CloudFormation の不満点</title><link>https://www.hitsumabushi.org/blog/2019/01/25/1454/</link><pubDate>Fri, 25 Jan 2019 14:54:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2019/01/25/1454/</guid><description>&lt;p>以下では「手作業で」というのは、「CloudFormation管理外で」という意味で使う。&lt;/p>
&lt;h2 id="要点">要点&lt;/h2>
&lt;ul>
&lt;li>CloudFormation は、リソースが何かの理由で手作業で変更されていた場合に安全に操作できない&lt;/li>
&lt;li>Drift 検出は誤検出が多すぎて使いづらい&lt;/li>
&lt;li>Change Set は動いている状態との差分を見ていないので、信用できない&lt;/li>
&lt;/ul>
&lt;h2 id="経緯">経緯&lt;/h2>
&lt;p>CloudFormation で管理されているリソースすべてについて、新しいタグをつけたくなった。
ただ、各サービスの担当者ごとにある程度自由にオペレーションできるため、手動で変更されていないか、一応調べておこうと思い、
&lt;a href="https://aws.amazon.com/jp/blogs/news/new-cloudformation-drift-detection/">2018-11 にリリースされたドリフト検出&lt;/a> を使って、
手作業で実施された変更点もCloudFormationに取り込みつつ、対応しようとした。&lt;/p></description></item><item><title>DebianでLuaJITTeXを使いたい</title><link>https://www.hitsumabushi.org/blog/2018/10/31/1901/</link><pubDate>Wed, 31 Oct 2018 19:01:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2018/10/31/1901/</guid><description>&lt;p>そろそろLuaTex使ってみたいなと思ったところ、LuaJITTeXの方が早い場合があるということで、試してみようと思った。&lt;/p>
&lt;h2 id="参考">参考&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="http://www.fugenji.org/~thomas/texlive-guide/luajitlatex.html">luajittex のセットアップ&lt;/a>
&lt;ul>
&lt;li>そもそもこのサイトの情報が有用 &lt;a href="http://www.fugenji.org/~thomas/texlive-guide/index.html">TeX Live を使おう──主に Linux ユーザのために──&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="未解決の問題">未解決の問題&lt;/h2>
&lt;ul>
&lt;li>&lt;code>/var/lib/texmf/fmtutil.cnf-TEXLIVEDIST&lt;/code> が自動生成されている、とコメントされているが、元ファイルがわからない&lt;/li>
&lt;/ul>
&lt;pre tabindex="0">&lt;code>### This file was automatically generated by update-fmtutil.
#
# Any local change will be overwritten. Please see the documentation
# of updmap on how to override things from here.
#
###
&lt;/code>&lt;/pre>&lt;h2 id="準備">準備&lt;/h2>
&lt;p>パッケージインストール&lt;/p></description></item><item><title>Debian でログインシェルをzshにしている人が snappy を使う場合の注意</title><link>https://www.hitsumabushi.org/blog/2018/04/11/1058/</link><pubDate>Wed, 11 Apr 2018 10:58:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2018/04/11/1058/</guid><description>&lt;h2 id="snappy-について">Snappy について&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://www.ubuntu.com/desktop/snappy">Snappy&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://snapcraft.io/">snapcraft&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Canonical が主導しているパッケージシステムで、Universal Linux Package と銘打つように、ポータブルなパッケージングができそうな感じ。
ポータビリティを上げるために、dockerみたいな感じで、依存ライブラリも全部パッケージに含めてしまうスタイルなので、多少debパッケージよりは大きくなる。
その分、sidを使っているとよく起きる、共通ライブラリの依存バージョンの不整合がおきる、という問題は起きない。&lt;/p></description></item><item><title>PyPIへパッケージをアップロードする</title><link>https://www.hitsumabushi.org/blog/2018/04/05/1420/</link><pubDate>Thu, 05 Apr 2018 14:20:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2018/04/05/1420/</guid><description>&lt;h1 id="資料">資料&lt;/h1>
&lt;ul>
&lt;li>パッケージ構成については &lt;a href="https://github.com/pypa/sampleproject">github.com/pypa/sampleproject&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://pypi.python.org/pypi/twine">https://pypi.python.org/pypi/twine&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://packaging.python.org/tutorials/distributing-packages/">https://packaging.python.org/tutorials/distributing-packages/&lt;/a>&lt;/li>
&lt;/ul>
&lt;h1 id="手順">手順&lt;/h1>
&lt;h2 id="pypiへユーザー登録する">PyPIへユーザー登録する&lt;/h2>
&lt;p>PyPI には普段使われている本番環境とは別に、テスト環境がある。
アカウントがそれぞれ独立しているので、両方で作成する必要がある。&lt;/p></description></item><item><title>Google Cloud Pub/Sub をGolangから使おうとしてハマったことまとめ</title><link>https://www.hitsumabushi.org/blog/2018/02/05/2009/</link><pubDate>Mon, 05 Feb 2018 20:09:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2018/02/05/2009/</guid><description>&lt;h1 id="概要">概要&lt;/h1>
&lt;p>&lt;a href="https://cloud.google.com/pubsub/overview?hl=ja">Google Pub/Sub&lt;/a> を &lt;a href="https://github.com/GoogleCloudPlatform/google-cloud-go">GoのSDK&lt;/a> から使おうとしていました。
やっているといくつか詰まったので、メモしておきます。&lt;/p>
&lt;ol>
&lt;li>サービスアカウントを利用するためにCredentials JSONを指定する&lt;/li>
&lt;li>サブスクリプションの &lt;code>Pub/Sub サブスクライバー権限&lt;/code> を与えても Permission Denied になる&lt;/li>
&lt;/ol>
&lt;h2 id="サービスアカウントを利用するためにcredentials-jsonを指定する">サービスアカウントを利用するためにCredentials JSONを指定する&lt;/h2>
&lt;p>権限の都合上、サービスアカウントのCredentials JSONを利用して認証したい、という要件がありました。
ドキュメントを見ていると、 &lt;a href="https://cloud.google.com/docs/authentication/production?hl=ja">ADC(Application Default Credentials)&lt;/a> を利用して認証している場合が多いです。
これを使う場合、 &lt;code>GOOGLE_APPLICATION_CREDENTIALS&lt;/code> という環境変数が設定されていれば、そのファイルを読んでくれるのですが、今回の要件では複数の Credentials を利用したかったので、Go プログラム中で指定する必要がありました。&lt;/p></description></item><item><title>さくらのクラウドでN百台を管理するためにterraformとansibleを使っている話</title><link>https://www.hitsumabushi.org/blog/2017/12/05/1748/</link><pubDate>Tue, 05 Dec 2017 17:48:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2017/12/05/1748/</guid><description>&lt;hr>
&lt;p>これは、&lt;a href="https://qiita.com/advent-calendar/2017/sakura">さくらインターネット Advent Calendar 2017&lt;/a> として書いた&lt;a href="https://qiita.com/hitsumabushi/items/e89b763dd4fc41e15136">記事&lt;/a> です。&lt;/p>
&lt;hr>
&lt;p>さくらインターネットでは、今年4月からIoTプラットフォームの sakura.io をサービス提供しています。
sakura.io は、さくらのクラウド上で本番・検証環境を構築しており、数百台のサーバーを利用しています。&lt;/p></description></item><item><title>Mesos の sandbox のログローテーションをする</title><link>https://www.hitsumabushi.org/blog/2017/12/01/2001/</link><pubDate>Fri, 01 Dec 2017 20:01:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2017/12/01/2001/</guid><description>&lt;h3 id="結論">結論&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="http://mesos.apache.org/documentation/latest/logging/#logrotatecontainerlogger">http://mesos.apache.org/documentation/latest/logging/#logrotatecontainerlogger&lt;/a>&lt;/li>
&lt;li>&lt;code>LogrotateContainerLogger&lt;/code> を使って、 module parameter を設定する&lt;/li>
&lt;/ul>
&lt;h3 id="概要">概要&lt;/h3>
&lt;p>Mesos + Marathon 環境でdockerを動かしている。
基本的にコンテナのログは fluentd で飛ばしているのだけど、日に日に mesos slave のディスク容量が圧迫されていた。
調べてみると、 &lt;code>/var/lib/mesos-slave/slaves/&lt;/code> 以下にあるフォルダのうち、sandbox のログが肥大化していた。
sandbox には stdout, stderr があって、それぞれコンテナのstdout, stderrを記録しているファイルで、mesosからファイルとして取得することができる。
長期的なものは fluentd で飛ばしているので問題ないため、障害時や直近の確認のために sandbox を使うことにして、
短期間でのログローテーションを行うことにした。&lt;/p></description></item><item><title>Ansible でバージョンチェックする</title><link>https://www.hitsumabushi.org/blog/2017/11/10/1402/</link><pubDate>Fri, 10 Nov 2017 14:02:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2017/11/10/1402/</guid><description>&lt;h2 id="やりたいこと">やりたいこと&lt;/h2>
&lt;p>サーバー管理には ansible を使っていますが、apt で入れているパッケージに対して、以下をやりたい状況がありました。&lt;/p>
&lt;ul>
&lt;li>インストールされていなかったらインストール&lt;/li>
&lt;li>あるバージョン未満だったらアップデート&lt;/li>
&lt;/ul>
&lt;p>pipやgemといった言語のパッケージマネージャと違って、apt ではバージョンの制約を書くことが面倒です。
いい感じに playbook の中でバージョン比較をして、インストール/アップデートすべきかを判定したいと考えました。&lt;/p></description></item><item><title>Travis CIで git submodule update --init --recursive を止める</title><link>https://www.hitsumabushi.org/blog/2017/10/17/0336/</link><pubDate>Tue, 17 Oct 2017 03:36:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2017/10/17/0336/</guid><description>&lt;h2 id="結論">結論&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://docs.travis-ci.com/user/common-build-problems/#Git-Submodules-are-not-updated-correctly">https://docs.travis-ci.com/user/common-build-problems/#Git-Submodules-are-not-updated-correctly&lt;/a> に書かれている通り、 .travis.yml に以下の行を付け加えれば良い。&lt;/li>
&lt;/ul>
&lt;pre tabindex="0">&lt;code>git:
 submodule: false
&lt;/code>&lt;/pre>&lt;ul>
&lt;li>個別に &lt;code>git submodule update --init hoge&lt;/code> していくとき、ビルドのトップディレクトリに戻りたくなることがある。この場合には、 &lt;code>$TRAVIS_BUILD_DIR&lt;/code> を使えば良い。&lt;/li>
&lt;/ul>
&lt;h2 id="経緯">経緯&lt;/h2>
&lt;p>久しぶりにこのブログを書いたらビルドに失敗していた。
原因としては、このブログで利用している &lt;a href="https://github.com/getpelican/pelican-plugins">getpelican/pelican-plugins&lt;/a> のsubmoduleの設定によって、
取得できないsubmoduleがあり、 &lt;code>git submodule update --init --recursive&lt;/code> に失敗しているという感じだった。&lt;/p></description></item><item><title>Intel NUC 上に vSphere 6.5 のVSAN環境を作る</title><link>https://www.hitsumabushi.org/blog/2017/10/13/0106/</link><pubDate>Fri, 13 Oct 2017 01:06:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2017/10/13/0106/</guid><description>&lt;p>あまりVMwareを触らなくなってきて、何も見ずにvCenterの設定とかMaximum configurationsとか言えなくなってきたので、VMware周りのことをメモに残しておくことにする。
ひとまず、自宅のVSAN環境の構築メモ。&lt;/p></description></item><item><title>さくらのクラウドを便利に使うためのツールメモ</title><link>https://www.hitsumabushi.org/blog/2017/07/10/1600/</link><pubDate>Mon, 10 Jul 2017 16:00:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2017/07/10/1600/</guid><description>&lt;h2 id="1-cliで操作したい">1. CLIで操作したい&lt;/h2>
&lt;p>usacloud が今一番良い。
非公式と書かれているが、サポートされている機能、更新頻度、使い勝手、導入のしやすさ、などどれをとっても usacloud を使うべき。&lt;/p></description></item><item><title>自宅 vSphere 上の CoreOS (Container Linux) のデプロイメモ</title><link>https://www.hitsumabushi.org/blog/2017/02/08/2231/</link><pubDate>Wed, 08 Feb 2017 22:31:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2017/02/08/2231/</guid><description>&lt;h2 id="構成">構成&lt;/h2>
&lt;p>Mesos などを立てるため、Master 3台, Slave 2台以上の予定で作る。&lt;/p>
&lt;h2 id="osイメージ">OSイメージ&lt;/h2>
&lt;p>VMware用のイメージを利用。
&lt;code>/usr/share/oem/cloud-config.yml&lt;/code> に vmware tools周りの設定が入っているので便利。&lt;/p></description></item><item><title>Rust を始めるための設定</title><link>https://www.hitsumabushi.org/blog/2017/02/07/2355/</link><pubDate>Tue, 07 Feb 2017 23:55:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2017/02/07/2355/</guid><description>&lt;h3 id="rust-のインストール">rust のインストール&lt;/h3>
&lt;p>公式からインストールのためのスクリプトが提供されている。
これを使うと、rustup というrustのマネージャが使えるようになって、
rustc のバージョンアップや切替なんかができるらしい。&lt;/p></description></item><item><title>ニフティ株式会社を退職しました</title><link>https://www.hitsumabushi.org/blog/2017/01/31/1936/</link><pubDate>Tue, 31 Jan 2017 19:36:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2017/01/31/1936/</guid><description>&lt;p>本日最終出社日でした。&lt;/p>
&lt;h2 id="ニフティでやったこと">ニフティでやったこと&lt;/h2>
&lt;p>ニフティでは、ニフティクラウドのIaaSを中心に仕事をしていました。
基本的にずっと &lt;a href="https://twitter.com/ysaotome">@ysaotome&lt;/a> さんの下で働いており、
チームメンバーも優秀だったので、とても面白い環境でした。&lt;/p></description></item><item><title>チーム活動で失敗したことの振り返り</title><link>https://www.hitsumabushi.org/blog/2016/12/15/0000/</link><pubDate>Thu, 15 Dec 2016 00:00:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2016/12/15/0000/</guid><description>&lt;hr>
&lt;p>これは、 &lt;a href="http://qiita.com/advent-calendar/2016/nifty">NIFTY Advent Calendar 2016&lt;/a> の15日目です。&lt;/p>
&lt;p>&lt;a href="http://qiita.com/plan0213">@plan0213&lt;/a> さんの &lt;a href="http://qiita.com/plan0213/items/97374e6600bfaa25dd1d">『ネットワーク機器へのコマンド入力自動化』&lt;/a>でした。
ネットワークインフラエンジニアが大好きな話でしたね。&lt;/p>
&lt;h2 id="はじめに">はじめに&lt;/h2>
&lt;p>今日の記事ですが、私が社内でやっていたチーム活動について振り返りを書きます。
特に、失敗した点に注目して共有することで役に立てばと思っています。
大前提としては、私は一般社員であり、チームのマネジメント等を行う立場ではありません。
あくまでボトムアップからの活動です。&lt;/p></description></item><item><title>git bisect でバグ/仕様変更のコミットを探す</title><link>https://www.hitsumabushi.org/blog/2016/11/10/0352/</link><pubDate>Thu, 10 Nov 2016 03:52:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2016/11/10/0352/</guid><description>&lt;h2 id="まとめ">まとめ&lt;/h2>
&lt;ul>
&lt;li>git bisect が便利&lt;/li>
&lt;li>ansible 2.1.0 -&amp;gt; 2.1.1 で group名に &lt;code>/&lt;/code> を入れるとうまく動かないケースが存在する
&lt;ul>
&lt;li>&lt;a href="https://github.com/ansible/ansible">ansible&lt;/a> リポジトリでbisect すると対象のコミットは &lt;code>7287effb5ce241ce645d61e55e981edc73fa382a&lt;/code>&lt;/li>
&lt;li>group名には &lt;code>/&lt;/code> を入れないように、 &lt;code>group_vars&lt;/code> 以下はフラットな構成にしよう&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="遭遇した問題">遭遇した問題&lt;/h2>
&lt;p>ansible で構成/コンフィグ管理やプロビジョニングをしているのだけど、
複数のリージョンやゾーンにまたがるシステムのため、うまく設定を見やすくするために、
以下のように &lt;code>group_vars&lt;/code> 配下にディレクトリ構造を作っていた。&lt;/p></description></item><item><title>DockerHub で docker build のオプションを設定したい</title><link>https://www.hitsumabushi.org/blog/2016/09/27/1445/</link><pubDate>Tue, 27 Sep 2016 14:45:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2016/09/27/1445/</guid><description>&lt;h2 id="参考リポジトリ">参考リポジトリ&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://github.com/hitsumabushi/docker-phpipam">https://github.com/hitsumabushi/docker-phpipam&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="目的">目的&lt;/h2>
&lt;ul>
&lt;li>Dockerfile の中で、 ARGを使いたい。
&lt;ul>
&lt;li>LABEL としてビルドした日付や、 VCSのリビジョンを入れたい&lt;/li>
&lt;li>ソフトウェアのバージョンをARGで指定したい&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="やること">やること&lt;/h2>
&lt;ol>
&lt;li>Dockerfile と同じ場所に、 &lt;code>hook&lt;/code> ディレクトリを作成する。&lt;/li>
&lt;li>&lt;code>hook&lt;/code> ディレクトリ以下に、 &lt;code>build&lt;/code> というファイルを作成する。
&lt;ul>
&lt;li>&lt;code>build&lt;/code> には、 build時に実行したいシェルスクリプトを書くと、build 時に実行される。&lt;/li>
&lt;li>自分で docker build &amp;hellip; というコマンドを書く&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h2 id="tips">TIPS&lt;/h2>
&lt;h3 id="dockerfileを別の場所に置く場合">Dockerfileを別の場所に置く場合&lt;/h3>
&lt;p>&lt;a href="https://github.com/hitsumabushi/docker-phpipam">https://github.com/hitsumabushi/docker-phpipam&lt;/a> では、 Dockerfile を、&lt;code>/dockerimages/phpipam/&lt;/code> 以下に置いている。
その場合であっても、 Dockerfileと同じディレクトリに、 &lt;code>hook&lt;/code> ディレクトリを作成すれば良い。
その上で、 DockerHub の Build Settings の Dockerfile Location にて、 &lt;code>/dockerimages/phpipam/Dockerfile&lt;/code> とすれば良い。&lt;/p></description></item><item><title>GnuPGのメモ @ Debian Sid</title><link>https://www.hitsumabushi.org/blog/2016/07/12/0742/</link><pubDate>Tue, 12 Jul 2016 07:42:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2016/07/12/0742/</guid><description>&lt;h2 id="debain-での-gnupg">Debain での GnuPG&lt;/h2>
&lt;p>GnuPG は OpenPGPの実装の一つで、GPGと呼ばれることもあります。
Debian では、2016/07/12現在、gpg コマンドは 1.4系で、 gpg2 パッケージで 2.1系を提供しています。
普段使いでgpg 1.4系をわざわざ使う必要はないとは思うので、以下ではgpg2 を利用することにしています。
以下では、gpg と gpg2 の違いに触れることはありませんが、例えば、RSAではなく楕円暗号を使おうと思ったら、gpg2 を使うしかありません。&lt;/p></description></item><item><title>もともとgitで管理されているアプリケーションをdebパッケージにしたいというメモ</title><link>https://www.hitsumabushi.org/blog/2016/07/11/0428/</link><pubDate>Mon, 11 Jul 2016 04:28:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2016/07/11/0428/</guid><description>&lt;h2 id="はじめに">はじめに&lt;/h2>
&lt;p>debパッケージを作る経験が少ないので、あまり良い方法ではないかもしれない。&lt;/p>
&lt;h2 id="サンプル">サンプル&lt;/h2>
&lt;p>&lt;a href="https://github.com/hitsumabushi/hub">https://github.com/hitsumabushi/hub&lt;/a>&lt;/p>
&lt;h2 id="手順">手順&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-sh" data-lang="sh">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># install&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sudo apt install fakeroot
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># tag, release をきれいにする&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>git tag -l &amp;gt; tag_list
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">for&lt;/span> x in &lt;span style="color:#ff79c6">$(&lt;/span>cat tag_list&lt;span style="color:#ff79c6">)&lt;/span>; &lt;span style="color:#ff79c6">do&lt;/span> git push origin :&lt;span style="color:#8be9fd;font-style:italic">$x&lt;/span> ; &lt;span style="color:#ff79c6">done&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># 色々リポジトリを整理した後、空っぽの masterを作る&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>git checkout --orphan master
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># 自前で control, copyright ファイルを書く&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># アップストリームのものを持ってくる&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># 参考: https://github.com/bcandrea/consul-deb/tree/debian/debian&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>fakeroot dpkg-deb --build pkg tmp
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># 生成された deb ファイルの中身を確認し、install してみる&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ar x &amp;lt;deb file&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># ... check files&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sudo dpkg -i &amp;lt;deb file&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># ... check installation&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># dpkg -s &amp;lt;package&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># dpkg -L &amp;lt;package&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># 問題がなければ&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>git commit -a
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>git push origin master
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>s3で自前 Debian Package リポジトリを作る</title><link>https://www.hitsumabushi.org/blog/2016/07/10/0344/</link><pubDate>Sun, 10 Jul 2016 03:44:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2016/07/10/0344/</guid><description>&lt;h2 id="この記事でやること">この記事でやること&lt;/h2>
&lt;ul>
&lt;li>aptly の初歩的な使い方&lt;/li>
&lt;li>aptly を使ってs3へ自前リポジトリを公開する。&lt;/li>
&lt;/ul>
&lt;p>自前パッケージの作成については、書かないです。&lt;/p>
&lt;h2 id="自前-debian-package-リポジトリ">自前 Debian Package リポジトリ&lt;/h2>
&lt;p>なぜ自前のリポジトリが欲しいかというと、個人的には以下の3つくらいかと思います。&lt;/p></description></item><item><title>VCP6-NV 取得した</title><link>https://www.hitsumabushi.org/blog/2016/07/09/1232/</link><pubDate>Sat, 09 Jul 2016 12:32:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2016/07/09/1232/</guid><description>&lt;h2 id="vcp6-nv-受験シリーズ">VCP6-NV 受験シリーズ&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="%7Bfilename%7D/diary/2016/20160705_vmware_vcp_nv.md">VMware VCP-NV (VCP6-NV) の試験を今週受けるので、試験について調べる&lt;/a>&lt;/li>
&lt;li>&lt;a href="%7Bfilename%7D/diary/2016/20160705_vmware_vcp_nv_study.md">VCP6-NV 試験勉強メモ&lt;/a>&lt;/li>
&lt;li>&lt;a href="%7Bfilename%7D/diary/2016/20160705_vmware_vcp_nv_study_2.md">VCP6-NV 試験勉強メモ 2日目&lt;/a>&lt;/li>
&lt;li>&lt;a href="%7Bfilename%7D/diary/2016/20160705_vmware_vcp_nv_study_result.md">VCP6-NV 取得した&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="結果">結果&lt;/h2>
&lt;p>462 / 500 (合格点: 300)&lt;/p>
&lt;h2 id="試験の内容について">試験の内容について&lt;/h2>
&lt;p>割と事前に学習した内容が出ていたと感じる。
VCP-DCV (といっても、VCP5-DCVしか受けたことはない。) と違って、トレーニングの内容と試験内容がきちんと一致しているので、トレーニングのテキストを読み返すだけでも、かなり点は取れる気がする。&lt;/p></description></item><item><title>VCP6-NV 試験勉強メモ 2日目</title><link>https://www.hitsumabushi.org/blog/2016/07/07/0742/</link><pubDate>Thu, 07 Jul 2016 07:42:46 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2016/07/07/0742/</guid><description>&lt;h2 id="vcp6-nv-受験シリーズ">VCP6-NV 受験シリーズ&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="%7Bfilename%7D/diary/2016/20160705_vmware_vcp_nv.md">VMware VCP-NV (VCP6-NV) の試験を今週受けるので、試験について調べる&lt;/a>&lt;/li>
&lt;li>&lt;a href="%7Bfilename%7D/diary/2016/20160705_vmware_vcp_nv_study.md">VCP6-NV 試験勉強メモ&lt;/a>&lt;/li>
&lt;li>&lt;a href="%7Bfilename%7D/diary/2016/20160705_vmware_vcp_nv_study_2.md">VCP6-NV 試験勉強メモ 2日目&lt;/a>&lt;/li>
&lt;li>&lt;a href="%7Bfilename%7D/diary/2016/20160705_vmware_vcp_nv_study_result.md">VCP6-NV 取得した&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="資料">資料&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="http://blogs.vmware.com/jp-cim/2015/03/nwv01.html">ネットワーク仮想化をネットワークの基本から理解する　〜 第1回：理解するために必要なことを整理する&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blogs.vmware.com/networkvirtualization/2015/12/2366.html?lang=ja#.V3ve2WiLSUk">NSX 6.2 新機能のご紹介 Part 1 〜 Cross vCenter NSX 〜&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="nsx-におけるvxlan">NSX におけるVXLAN&lt;/h2>
&lt;h3 id="関係する要素">関係する要素&lt;/h3>
&lt;ul>
&lt;li>論理スイッチ&lt;/li>
&lt;li>分散論理ルータ&lt;/li>
&lt;li>論理ルータコントロール VM&lt;/li>
&lt;li>Edge&lt;/li>
&lt;/ul>
&lt;h3 id="分散論理ルータ">分散論理ルータ&lt;/h3>
&lt;p>カーネルモジュール内で動作するルーター。
各ESXiに分散して存在していて、ヘアピントラフィックを防ぐことができる。&lt;/p></description></item><item><title>VCP6-NV 試験勉強メモ</title><link>https://www.hitsumabushi.org/blog/2016/07/05/2121/</link><pubDate>Tue, 05 Jul 2016 21:21:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2016/07/05/2121/</guid><description>&lt;h2 id="vcp6-nv-受験シリーズ">VCP6-NV 受験シリーズ&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="%7Bfilename%7D/diary/2016/20160705_vmware_vcp_nv.md">VMware VCP-NV (VCP6-NV) の試験を今週受けるので、試験について調べる&lt;/a>&lt;/li>
&lt;li>&lt;a href="%7Bfilename%7D/diary/2016/20160705_vmware_vcp_nv_study.md">VCP6-NV 試験勉強メモ&lt;/a>&lt;/li>
&lt;li>&lt;a href="%7Bfilename%7D/diary/2016/20160705_vmware_vcp_nv_study_2.md">VCP6-NV 試験勉強メモ 2日目&lt;/a>&lt;/li>
&lt;li>&lt;a href="%7Bfilename%7D/diary/2016/20160705_vmware_vcp_nv_study_result.md">VCP6-NV 取得した&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="資料">資料&lt;/h2>
&lt;h3 id="最も公式っぽい資料">最も公式っぽい資料&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="https://mylearn.vmware.com/mgrReg/plan.cfm?plan=64297&amp;amp;ui=www_cert">VMware Certified Professional 6 – Network Virtualization Exam&lt;/a> の &amp;ldquo;How to Prepare&amp;rdquo; に書いているもの。&lt;/li>
&lt;li>&lt;a href="https://www.vmware.com/files/pdf/products/nsx/vmw-nsx-network-virtualization-design-guide.pdf">Reference Design: VMware® NSX for vSphere (NSX) Network Virtualization Design Guide&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://mylearn.vmware.com/quiz.cfm?item=57466">VCP6-NV (2V0-641) Practice Exam&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="ブログ--シリーズものは一通り目を通した方が良い">ブログ : シリーズものは一通り目を通した方が良い&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="http://blogs.vmware.com/jp-cim/2015/03/nwv01.html">ネットワーク仮想化をネットワークの基本から理解する　〜 第1回：理解するために必要なことを整理する&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blogs.vmware.com/networkvirtualization/2015/12/2366.html?lang=ja#.V3ve2WiLSUk">NSX 6.2 新機能のご紹介 Part 1 〜 Cross vCenter NSX 〜&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="nsxの-configuration-maximums">NSXの configuration maximums&lt;/h2>
&lt;p>&lt;a href="https://www.vmware.com/pdf/vsphere6/r60/vsphere-60-configuration-maximums.pdf">vSphere 製品のように&lt;/a> 公開されているわけではない。
でも、以下のサイトのように、情報を公開している人はいる。&lt;/p></description></item><item><title>VMware VCP-NV (VCP6-NV) の試験を今週受けるので、試験について調べる</title><link>https://www.hitsumabushi.org/blog/2016/07/05/2040/</link><pubDate>Tue, 05 Jul 2016 20:40:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2016/07/05/2040/</guid><description>&lt;h2 id="vcp6-nv-受験シリーズ">VCP6-NV 受験シリーズ&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="%7Bfilename%7D/diary/2016/20160705_vmware_vcp_nv.md">VMware VCP-NV (VCP6-NV) の試験を今週受けるので、試験について調べる&lt;/a>&lt;/li>
&lt;li>&lt;a href="%7Bfilename%7D/diary/2016/20160705_vmware_vcp_nv_study.md">VCP6-NV 試験勉強メモ&lt;/a>&lt;/li>
&lt;li>&lt;a href="%7Bfilename%7D/diary/2016/20160705_vmware_vcp_nv_study_2.md">VCP6-NV 試験勉強メモ 2日目&lt;/a>&lt;/li>
&lt;li>&lt;a href="%7Bfilename%7D/diary/2016/20160705_vmware_vcp_nv_study_result.md">VCP6-NV 取得した&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="この記事について">この記事について&lt;/h2>
&lt;ol>
&lt;li>書くこと
&lt;ul>
&lt;li>VCP6-NV の試験要項&lt;/li>
&lt;li>VCP6-NV の受験方法&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>書かないこと
&lt;ul>
&lt;li>試験の勉強方法&lt;/li>
&lt;li>試験内容&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h2 id="vcp6-nv-について">VCP6-NV について&lt;/h2>
&lt;p>VCP-NVは、VMwareのNSXを用いた仮想ネットワーク管理についての試験です。
他のVCPと同様に、VCA-NV → VCP-NV → VCAP-NV {Design, Deploy} → VCIX-NV → VCDX-NV というような資格体系です。&lt;/p></description></item><item><title>会社にslack入ったので、色々やってた</title><link>https://www.hitsumabushi.org/blog/2016/06/16/1445/</link><pubDate>Thu, 16 Jun 2016 14:45:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2016/06/16/1445/</guid><description>&lt;p>勤務先の会社に今日(2016/06/16)から真面目にSlackが導入されたので、やった設定をメモしておく。&lt;/p>
&lt;h1 id="現在のチャンネル構成">現在のチャンネル構成&lt;/h1>
&lt;ul>
&lt;li>定常系
&lt;ul>
&lt;li>分報用のチャンネル。個々人が作る&lt;/li>
&lt;li>部署用&lt;/li>
&lt;li>チーム用&lt;/li>
&lt;li>プロジェクト用&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>雑多な情報共有用
&lt;ul>
&lt;li>ニュース用&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>トラブル用&lt;/li>
&lt;li>その他
&lt;ul>
&lt;li>臨時に必要になるとか&lt;/li>
&lt;li>テストとか&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h1 id="やったことメモ">やったことメモ&lt;/h1>
&lt;h2 id="rss-を-slack-に移行">RSS を Slack に移行&lt;/h2>
&lt;p>live dwango reader をずっと使っていたのだけど、更新頻度がそこそこで、重要度の高いRSSを Slack で追いかけることにした。&lt;/p></description></item><item><title>Anisble for Windows</title><link>https://www.hitsumabushi.org/blog/2016/06/16/0602/</link><pubDate>Thu, 16 Jun 2016 06:02:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2016/06/16/0602/</guid><description>&lt;p>久しぶりに ansible で windows を操作するので、メモ。
実行側は Debian Sid でやっているので、apt-get しているところについては、適宜置き換えて欲しい。
ansibleは2.1.0を使っている。&lt;/p></description></item><item><title>YAMAHAのネットボランチDNSを使って、ニフティクラウドとVPN接続する</title><link>https://www.hitsumabushi.org/blog/2016/05/03/0624/</link><pubDate>Tue, 03 May 2016 06:24:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2016/05/03/0624/</guid><description>&lt;h2 id="やりたいこと">やりたいこと&lt;/h2>
&lt;p>いろいろあって、自宅のグローバルIPv4アドレスが変更される機会があった。
ニフティクラウド上のルーターとVPN接続しているため、グローバルIPが変更されると、
いちいち変更されたタイミングでVPN設定を変更する必要があり、非常に面倒くさい。
そういうわけで、DDNSを使って設定することで、グローバルIPが変更された場合でも設定変更の必要がないようにしようと思う。&lt;/p></description></item><item><title>久しぶりにGitHub Pagesのjekyll触ったので、メモ</title><link>https://www.hitsumabushi.org/blog/2016/03/25/0306/</link><pubDate>Fri, 25 Mar 2016 03:06:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2016/03/25/0306/</guid><description>&lt;p>このブログは、pelicanを使っているのだけど、久しぶりにGitHub Pagesのjekyllを触ることがあって、
昔とだいぶ状況も変わっていそうだったので、メモをしておく。&lt;/p></description></item><item><title>Travis コマンドでのエラー</title><link>https://www.hitsumabushi.org/blog/2016/01/02/1513/</link><pubDate>Sat, 02 Jan 2016 15:13:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2016/01/02/1513/</guid><description>&lt;p>Travis CIでCIする素振りをしていたら、最新版のtravisコマンドでエラーが出るようになった。&lt;/p>
&lt;h2 id="発生した問題">発生した問題&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-sh" data-lang="sh">&lt;span style="display:flex;">&lt;span>$ travis setup releases
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Invalid scheme format: git@github.com
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">for&lt;/span> a full error report, run travis report
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="問題の解析">問題の解析&lt;/h2>
&lt;p>こういう時には、&lt;/p></description></item><item><title>vSphere 6.0 でのHA機能のエンハンスの要点</title><link>https://www.hitsumabushi.org/blog/2015/12/08/0551/</link><pubDate>Tue, 08 Dec 2015 05:51:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/12/08/0551/</guid><description>&lt;h2 id="まとめ">まとめ&lt;/h2>
&lt;ol>
&lt;li>vSphere 6からは、ストレージパスが死んだ場合でもHAを設定できるようになった。&lt;/li>
&lt;li>vCenterは watchdogs によりプロセス落下時には再起動される&lt;/li>
&lt;li>vCenterの可用性をさらに高めるにはWindows版を利用し、MSCSクラスタを設定する必要がある&lt;/li>
&lt;/ol>
&lt;h2 id="資料">資料&lt;/h2>
&lt;ol>
&lt;li>&lt;a href="http://www.vmware.com/jp/support/support-resources/pubs/vsphere-esxi-vcenter-server-6-pubs">VMware vSphere 6 のドキュメント
&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.vmware.com/files/pdf/vsphere/VMW-WP-vSPHR-Whats-New-6-0-PLTFRM.pdf">http://www.vmware.com/files/pdf/vsphere/VMW-WP-vSPHR-Whats-New-6-0-PLTFRM.pdf&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2081089">vSphere 5.x および 6.x での永続的なデバイスの損失 (PDL) と全パス ダウン (APD) (2081089)&lt;/a>&lt;/li>
&lt;/ol>
&lt;h2 id="vsphere-55-までの障害あるあるpart-1">vSphere 5.5 までの障害あるある(Part 1)&lt;/h2>
&lt;p>物理ホストのHBAが死んだり経路上の問題で、特定のホスト群のみストレージへのパスが切れた。
vSphere 5.5 までは、ストレージへのパスが死んだ場合、HAによる保護ができない障害パターンで、IOが止まっているが、管理者が別のホストに移してから再起動するまでアプリケーションは死んでいた。&lt;/p></description></item><item><title>最近の仕事の振り返り</title><link>https://www.hitsumabushi.org/blog/2015/10/31/1350/</link><pubDate>Sat, 31 Oct 2015 13:50:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/10/31/1350/</guid><description>&lt;p>最近、仕事のやり方について考えている(悩んでいるに近いかも)ことが多いので、
頭の中を整理するために、文章にしてみようと思う。&lt;/p>
&lt;p>なので、技術的な内容は一切ない。&lt;/p></description></item><item><title>Dockerの細々としたメモ</title><link>https://www.hitsumabushi.org/blog/2015/09/15/0421/</link><pubDate>Tue, 15 Sep 2015 04:21:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/09/15/0421/</guid><description>&lt;p>Debian で利用する際のメモを書いておく。&lt;/p>
&lt;h2 id="grub-でのカーネルパラメータ">grub でのカーネルパラメータ&lt;/h2>
&lt;ol>
&lt;li>systemd を利用する設定&lt;/li>
&lt;li>cgroups で、メモリに制限をかけるための設定&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-sh" data-lang="sh">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># quiet はあってもなくても良い&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8be9fd;font-style:italic">GRUB_CMDLINE_LINUX_DEFAULT&lt;/span>&lt;span style="color:#ff79c6">=&lt;/span>&lt;span style="color:#f1fa8c">&amp;#34;quiet init=/bin/systemd&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8be9fd;font-style:italic">GRUB_CMDLINE_LINUX&lt;/span>&lt;span style="color:#ff79c6">=&lt;/span>&lt;span style="color:#f1fa8c">&amp;#34;cgroup_enable=memory swapaccount=1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="cgroups-まわり">cgroups まわり&lt;/h2>
&lt;p>cgroups のディレクトリ配下に設定がある&lt;/p></description></item><item><title>VM Resource Allocation</title><link>https://www.hitsumabushi.org/blog/2015/07/26/2030/</link><pubDate>Sun, 26 Jul 2015 20:30:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/07/26/2030/</guid><description>&lt;h2 id="資料">資料&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="http://henricasanova.github.io/papers/stillwell_ipdps12.pdf">stillwell_ipdps12.pdf&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://research.microsoft.com/en-us/um/people/saikat/paper-socc12-rai-wrasse.html">Generalized Resource Allocation for the Cloud&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.ijera.com/papers/Vol4_issue11/Part%20-%205/J0411055155.pdf">J0411055155.pdf&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.ce.uniroma2.it/~lopresti/Articoli/icas_camera_ready.pdf">Ghostscript wrapper for C:\Documents and Settings\Paolo\Desktop\icas2.pdf - icas_camera_ready.pdf&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://graal.ens-lyon.fr/~prenaud/Publis/resilience">resilience&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.cse.iitb.ac.in/synerg/lib/exe/fetch.php?media=public:resources:stage0_5ppt_dhaval.pdf">fetch.php&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Twitterからメールアドレス拾えるんじゃね?的な攻撃について</title><link>https://www.hitsumabushi.org/blog/2015/06/26/1250/</link><pubDate>Fri, 26 Jun 2015 12:50:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/06/26/1250/</guid><description>&lt;p>&lt;a href="http://did2memo.net/2015/06/24/twitter-one-click-login-attack/">任意のTwitterアカウントの登録メールアドレス（伏せ字含）を表示させる攻撃が急増中（対策設定有り）&lt;/a> というエントリが盛り上がっていたらしい。(とてもシェアされている)
ただ、自分には有用な攻撃シナリオには見えなかったので、考えを整理するために書いておきます。
自分はセキュリティ素人なので、間違った考察かもしれません。&lt;/p></description></item><item><title>runCをDebianで実行する</title><link>https://www.hitsumabushi.org/blog/2015/06/23/2047/</link><pubDate>Tue, 23 Jun 2015 20:47:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/06/23/2047/</guid><description>&lt;p>&lt;a href="https://github.com/opencontainers/runc">opencontainers/runc&lt;/a> を実行してみようとしたところ、コンパイルまではすぐできるのに、実行するとエラーが出て困ったので、対処方法を書いておく。&lt;/p>
&lt;h2 id="runcのインストール">runCのインストール&lt;/h2>
&lt;p>golang的に普通の場所に置いてビルドすると良い。git clone の代わりに go getでも良い。&lt;/p></description></item><item><title>Windowsの勉強を始めた</title><link>https://www.hitsumabushi.org/blog/2015/06/15/0004/</link><pubDate>Mon, 15 Jun 2015 00:04:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/06/15/0004/</guid><description>&lt;p>人生で初めて、Windowsの勉強を始めた。
進捗は以下のgithub pagesから確認できる。
とりあえず、章立てを書いて、内容を徐々に埋めているところ。&lt;/p></description></item><item><title>VDI, DaaS市場を調べてみた</title><link>https://www.hitsumabushi.org/blog/2015/06/07/0331/</link><pubDate>Sun, 07 Jun 2015 03:31:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/06/07/0331/</guid><description>&lt;p>最近、vCloud AirがDaaSを出すというのを聞いて、にわかに自分の中でDaaSに興味が出てきた。
DaaSとかVDIは、必ずActive Directoryの話になるので、気後れしていたのだけど、会社ではWindows使っていることもあって、少しは抵抗もなくなってきたので、良いタイミングだったので、調べてみた。
とは言っても、まずは世間にどんなものがあるかをしらべてみただけ。&lt;/p></description></item><item><title>WindowsをAnsibleで設定する</title><link>https://www.hitsumabushi.org/blog/2015/05/28/0607/</link><pubDate>Thu, 28 May 2015 06:07:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/05/28/0607/</guid><description>&lt;h1 id="資料">資料&lt;/h1>
&lt;p>&lt;a href="http://docs.ansible.com/intro_windows.html">Windows Support — Ansible Documentation&lt;/a>&lt;/p>
&lt;h1 id="マシンの準備">マシンの準備&lt;/h1>
&lt;h2 id="ansibleコマンドを実行するマシン">ansibleコマンドを実行するマシン&lt;/h2>
&lt;p>ansibleがすでに実行できる状況であれば、&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-sh" data-lang="sh">&lt;span style="display:flex;">&lt;span>pip install http://github.com/diyan/pywinrm/archive/master.zip#egg&lt;span style="color:#ff79c6">=&lt;/span>pywinrm
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>pip install kerberos &lt;span style="color:#6272a4"># AD accountを使う場合&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>とすればOK。&lt;/p>
&lt;h2 id="windowsマシン">Windowsマシン&lt;/h2>
&lt;h3 id="要件">要件&lt;/h3>
&lt;ol>
&lt;li>WinRM がインストール済み&lt;/li>
&lt;li>PowerShell version &amp;gt; 3.0&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>自動的に、Windows 7SP1, Windows Server2008 SP1以降になる&lt;/li>
&lt;li>Windows Server 2012ははじめからPowershell 4.0がインストールされている&lt;/li>
&lt;/ul>
&lt;h3 id="セットアップ方法">セットアップ方法&lt;/h3>
&lt;ol>
&lt;li>&lt;a href="https://github.com/cchurch/ansible/blob/devel/examples/scripts/upgrade_to_ps3.ps1">Powershell 3.0にアップデートが必要な場合&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1">WinRMのインストール&lt;/a>&lt;/li>
&lt;li>&lt;code>Configure-SMRemoting.exe -get&lt;/code> で有効になっていることを確認&lt;/li>
&lt;li>&lt;code>WinRM get WinRM/config&lt;/code> でWinRMのポートを確認&lt;/li>
&lt;/ol>
&lt;h1 id="ansibleの実行方法">ansibleの実行方法&lt;/h1>
&lt;h2 id="inventory">Inventory&lt;/h2>
&lt;p>最小構成は以下の通り。 以降は、hostsという名前で呼ぶ。&lt;/p></description></item><item><title>Ravelloが便利</title><link>https://www.hitsumabushi.org/blog/2015/05/09/1822/</link><pubDate>Sat, 09 May 2015 18:22:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/05/09/1822/</guid><description>&lt;h2 id="vmware環境のテストをしたい">VMware環境のテストをしたい&lt;/h2>
&lt;p>会社でVMware使っているのもあって、外でAPI叩いたりツールのテストしたいということがよくある。
今までは自宅でESXiとvCenter立ててやっていたんですが、やっぱりリソース的にVM数を増やしたりできないので、とても困っている。
あと、PackerとかでVMware用のイメージ作るときに使えるESXiも欲しかったので、どうにかできないかなー、というのもあって、
探していたらRavelloというサービスが面白そうだったので、紹介がてら書いておく。&lt;/p></description></item><item><title>Xmonadの設定</title><link>https://www.hitsumabushi.org/blog/2015/04/05/0138/</link><pubDate>Sun, 05 Apr 2015 01:38:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/04/05/0138/</guid><description>&lt;h2 id="資料">資料&lt;/h2>
&lt;ol>
&lt;li>&lt;a href="http://xmonad.org/documentation.html">http://xmonad.org/documentation.html&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://archlinuxjp.kusakata.com/wiki/Xmonad?rdfrom=https%3A%2F%2Fwiki.archlinux.org%2Findex.php%3Ftitle%3DXmonad_%28%25E6%2597%25A5%25E6%259C%25AC%25E8%25AA%259E%29%26redirect%3Dno">Archlinux Wiki - Xmonad&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://wiki.haskell.org/Xmonad/Config_archive/John_Goerzen's_Configuration">Xmonad/Config archive/John Goerzen&amp;rsquo;s Configuration&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blog.blueblack.net/item_424.html">Xmonadの設定 1/3 「基本」編 - ナレッジエース&lt;/a>&lt;/li>
&lt;/ol>
&lt;h2 id="環境">環境&lt;/h2>
&lt;p>Debian Sid &amp;amp; Xfce4&lt;/p>
&lt;h2 id="install-and-initial-configure">Install and Initial Configure&lt;/h2>
&lt;h3 id="package-install">Package install&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-sh" data-lang="sh">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># basic packages&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sudo apt-get install xmonad libghc-xmonad-dev libghc-xmonad-contrib-dev
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># for adding launcher&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sudo apt-get install dmenu
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># for status bar&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sudo apt-get install xmobar
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># tools&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sudo apt-get install suckless-tools scrot tilda trayer
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="xsession">Xsession&lt;/h3>
&lt;ol>
&lt;li>
&lt;p>add &lt;code>/usr/share/xsessions/custom.desktop&lt;/code>&lt;/p></description></item><item><title>Hatena Engineer Seminar</title><link>https://www.hitsumabushi.org/blog/2015/02/09/2245/</link><pubDate>Mon, 09 Feb 2015 22:45:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/02/09/2245/</guid><description>&lt;h2 id="intro">Intro&lt;/h2>
&lt;p>タイトルどおり、行ってきました。
目当ては、mackerelの話だったんですが、思ったより他の話も面白かったです。
今回は抽選だったし、参加できなかった人のためにも、メモと感想を書いておきます。
序盤の話はTwitterでつぶやいているので、参考までに。(後半はPCの電源が死んだのでないです)&lt;/p></description></item><item><title>fioを使ったベンチマーク</title><link>https://www.hitsumabushi.org/blog/2015/02/09/2227/</link><pubDate>Mon, 09 Feb 2015 22:27:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/02/09/2227/</guid><description>&lt;h2 id="intro">Intro&lt;/h2>
&lt;p>ディスクベンチマークのツールとして、dbenchであるとか、もっと簡単にはhdparmなどがある。
今回はfioという、単純なread/writeの計測には必要十分なツールを使おうと思う。
ただ、ベンチマークツールはたいていオプションが多く、またアウトプットも複雑なので、一旦まとめてみる。&lt;/p></description></item><item><title>Easter Egg Collections</title><link>https://www.hitsumabushi.org/blog/2015/02/07/2144/</link><pubDate>Sat, 07 Feb 2015 21:44:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/02/07/2144/</guid><description>&lt;p>イースターエッグは、見つかるとよく話題に上がっているけど、
実際にどんなものがあるのか、よく知らないなー、と思ったので集めようと思う。
ただ、調べてみると、昔あったものがなくなってたりして、このリストも最新状態に保つ必要があるので、なくなってたら教えてほしいです。&lt;/p></description></item><item><title>Consistent Algorithm</title><link>https://www.hitsumabushi.org/blog/2015/02/01/0033/</link><pubDate>Sun, 01 Feb 2015 00:33:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/02/01/0033/</guid><description>&lt;p>Consistent Hash Algorithmという負荷分散などの目的で使えるアルゴリズムがある。
たまたまarxivでシンプルで高速, 省メモリな実装についての論文を見つけたので、読んだ。&lt;/p></description></item><item><title>CROSS 2015のアンカンファレンスで話しました</title><link>https://www.hitsumabushi.org/blog/2015/01/31/0320/</link><pubDate>Sat, 31 Jan 2015 03:20:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/01/31/0320/</guid><description>&lt;p>CROSS 2015のアンカンファレンスで脆弱性の評価って困る、話をしました。
スタッフやりつつ、当日資料作りもやったので、あまり資料としての完成度はないです。
たぶんプレゼン作成時間30分くらい。&lt;/p></description></item><item><title>CROSS2015の運営をしたので、やったこととわかったことを書いておく</title><link>https://www.hitsumabushi.org/blog/2015/01/30/2209/</link><pubDate>Fri, 30 Jan 2015 22:09:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/01/30/2209/</guid><description>&lt;h2 id="わかったことざっくり">わかったことざっくり&lt;/h2>
&lt;ul>
&lt;li>大規模イベントは、全体を把握している人はいない、という気持ちを持つことが大事。(実際いない)&lt;/li>
&lt;li>直前に言われたときほど、利害がはっきりしているので、お互いにメリットがありそうな道を出しやすいので、出す&lt;/li>
&lt;li>実行委員長(山口さんという方)すげー。よくわからんけど、強力してくれる人を探してくる。&lt;/li>
&lt;/ul>
&lt;h2 id="経緯">経緯&lt;/h2>
&lt;p>2015年の1/29に大さん橋ホールにて、&lt;a href="http://2015.cross-party.com/">CROSS2015&lt;/a> というイベントの運営をしてきました。
当日は都心から離れているにも関わらず、たくさんの参加者に来ていただいたのですが、どうにか大きなトラブルはなく、無事に終えることができました。
1日中立ちっぱなしだったり、細かい備品調整の話があって、大変なのは大変でしたが、半年前くらいから準備をしていたこともあり、なんとかやりきった、という気持ちが強い状況です。&lt;/p></description></item><item><title>Dockerのプロキシ設定</title><link>https://www.hitsumabushi.org/blog/2015/01/29/0754/</link><pubDate>Thu, 29 Jan 2015 07:54:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/01/29/0754/</guid><description>&lt;p>自宅ではプロキシを立てていないので問題なかったが、会社でDockerをいじろうとするとプロキシに阻まれてうまくいかず困っていた。
bashの環境変数を設定するのはうまくいかなくて、しばらく手元ではdockerをやらず、作業用マシンをクラウドに立ててどうにかごまかしていたのだけど、
あらためて考えると解決できた。&lt;/p></description></item><item><title>DNS サーバーの比較資料集め</title><link>https://www.hitsumabushi.org/blog/2015/01/26/0312/</link><pubDate>Mon, 26 Jan 2015 03:12:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/01/26/0312/</guid><description>&lt;p>自宅開発環境を一新するついでに、真面目にサーバー構成を見直すことにした。
DNSサーバーは今までbind+dnsmasqでやっていたが、改めてパフォーマンスの観点から選定したい。
以下に、参考ページを列挙する。&lt;/p></description></item><item><title>vShere Beta Program の注意点</title><link>https://www.hitsumabushi.org/blog/2015/01/25/2101/</link><pubDate>Sun, 25 Jan 2015 21:01:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/01/25/2101/</guid><description>&lt;p>VMware のBetaプログラムの利用について、基本的なルールがあるので、忘れないようにまとめた。
ここに書いてあることは、オレオレ要約なので、きちんと自分で確認してください。&lt;/p></description></item><item><title>VCP5-DCV取得した</title><link>https://www.hitsumabushi.org/blog/2015/01/16/2348/</link><pubDate>Fri, 16 Jan 2015 23:48:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/01/16/2348/</guid><description>&lt;p>最近のブログはVMwareの話ばかりだったのですが、やっとVCPを取得してきました。
VCP-DCVを取得している人はたくさんいるので、個人的に受験した所感を書いておきます。&lt;/p></description></item><item><title>vDSのポートバインドタイプ</title><link>https://www.hitsumabushi.org/blog/2015/01/10/2349/</link><pubDate>Sat, 10 Jan 2015 23:49:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/01/10/2349/</guid><description>&lt;h2 id="資料">資料&lt;/h2>
&lt;p>&lt;a href="http://kb.vmware.com/selfservice/search.do?cmd=displayKC&amp;amp;docType=kc&amp;amp;docTypeID=DT_KB_1_1&amp;amp;externalId=2086886">VMware KB: ESX/ESXi でのポート バインド タイプの選択&lt;/a>&lt;/p>
&lt;h2 id="ポートバインドタイプとは">ポートバインドタイプとは&lt;/h2>
&lt;p>vNICをvDSに接続するとき、ポートグループのポートがどのようにVMに割り当てられるかを、ポートバインドタイプとして、設定できます。
バインドのタイプは以下の3つから選択できました。(2つめの動的バインドは、ESXi5.0で廃止。)&lt;/p></description></item><item><title>vSphere 5.5環境でMSCSクラスタを組むときの制約</title><link>https://www.hitsumabushi.org/blog/2015/01/07/2029/</link><pubDate>Wed, 07 Jan 2015 20:29:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/01/07/2029/</guid><description>&lt;h2 id="資料">資料&lt;/h2>
&lt;p>MSCSのサポート状況&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1004617">VMware KB: Microsoft Cluster Service (MSCS) support on ESXi/ESX&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://kb.vmware.com/selfservice/search.do?cmd=displayKC&amp;amp;docType=kc&amp;amp;docTypeID=DT_KB_1_1&amp;amp;externalId=2052238">VMware KB: MSCS support enhancements in vSphere 5.5&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>MSCSとは&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.atmarkit.co.jp/ait/articles/0812/03/news138_5.html">http://www.atmarkit.co.jp/ait/articles/0812/03/news138_5.html&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="mscs">MSCS&lt;/h2>
&lt;p>Microsoft Cluster Serviceのこと。
MSFC(Microsoft Failover Cluster)と名称が変わっているけど、未だにMSCSと呼ばれる場合もある。&lt;/p></description></item><item><title>VMware VDP, VDPA</title><link>https://www.hitsumabushi.org/blog/2015/01/07/1924/</link><pubDate>Wed, 07 Jan 2015 19:24:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/01/07/1924/</guid><description>&lt;h2 id="vmware-data-protection">VMware Data Protection&lt;/h2>
&lt;h3 id="資料">資料&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="http://blogs.vmware.com/jp-cim/2013/12/vsphere-55-vdpa.html">vSphere 5.5 の新機能紹介 - VMware Blogs&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.vmware.com/jp/support/support-resources/pubs/vdr_pubs">VMware vSphere Data Protection のドキュメント&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="概要">概要&lt;/h3>
&lt;p>VMware Data Recoveryの後継みたいなものっぽい。&lt;/p>
&lt;p>VDRから発展した点としては、以下があある。&lt;/p></description></item><item><title>ESXiをkickstartでインストールする</title><link>https://www.hitsumabushi.org/blog/2015/01/06/2338/</link><pubDate>Tue, 06 Jan 2015 23:38:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/01/06/2338/</guid><description>&lt;p>ESXiをPXEブートして自動インストールする方法について、日本語での説明があまりなかったので、メモとして残しておく。&lt;/p>
&lt;h2 id="利用os">利用OS&lt;/h2>
&lt;ul>
&lt;li>ESXi 5.5&lt;/li>
&lt;li>Debian 7.7 (DHCPサーバー, HTTPサーバーを兼務させる)&lt;/li>
&lt;/ul>
&lt;h2 id="dhcp-tftp-httpサーバーの準備">DHCP, TFTP, HTTPサーバーの準備&lt;/h2>
&lt;h3 id="必要なソフトウェアのインストール">必要なソフトウェアのインストール&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-sh" data-lang="sh">&lt;span style="display:flex;">&lt;span>apt-get install tftpd-hpa isc-dhcp-server xinetd apache2
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="dhcpサーバーの設定">DHCPサーバーの設定&lt;/h3>
&lt;p>BOOTPでインストールするため、あまり自由度がない。&lt;/p></description></item><item><title>vCloud Airの価格感を調べる</title><link>https://www.hitsumabushi.org/blog/2015/01/05/1735/</link><pubDate>Mon, 05 Jan 2015 17:35:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2015/01/05/1735/</guid><description>&lt;h2 id="資料">資料&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="http://www.vmware.com/jp/products/vcloud-air">VMware vCloud Air&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://vcloud.vmware.com/jp/service-offering/pricing-guide">VMware vCloud Air 価格ガイド&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="vcloud-airとは">vCloud Airとは&lt;/h2>
&lt;p>VMwareが提供している、ハイブリッドクラウドのサービス。&lt;/p>
&lt;p>特徴として、オンプレでVMware環境を稼働させている場合に、vCloud Connectorを利用することで、
vSphere Clientのプラグインと統合して操作ができることが挙げられる。&lt;/p></description></item><item><title>2014年のまとめをしておかねば</title><link>https://www.hitsumabushi.org/blog/2014/12/31/1805/</link><pubDate>Wed, 31 Dec 2014 18:05:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/12/31/1805/</guid><description>&lt;p>今年1年は反省の多い年だったので、きちんと書いて残しておく。&lt;/p>
&lt;h2 id="2014年面白かった技術触りたかったソフトウェア">2014年面白かった技術、触りたかったソフトウェア&lt;/h2>
&lt;h3 id="新たに導入したもの">新たに導入したもの&lt;/h3>
&lt;ol>
&lt;li>Ansible&lt;/li>
&lt;li>Ceph&lt;/li>
&lt;li>Pelican(このブログを生成してるやつ)&lt;/li>
&lt;li>Flask&lt;/li>
&lt;/ol>
&lt;h3 id="ちょっとしか触れず">ちょっとしか触れず&amp;hellip;&lt;/h3>
&lt;ol start="0">
&lt;li>VyOS&lt;/li>
&lt;li>Consul&lt;/li>
&lt;li>Fluentd&lt;/li>
&lt;li>Golang&lt;/li>
&lt;li>Docker&lt;/li>
&lt;li>CoreOS&lt;/li>
&lt;li>Hashicorpのツールその他&lt;/li>
&lt;li>Hadoop&lt;/li>
&lt;/ol>
&lt;h3 id="触りたかったけど触らず">触りたかったけど、触らず&lt;/h3>
&lt;ol>
&lt;li>Strom&lt;/li>
&lt;li>Rust&lt;/li>
&lt;/ol>
&lt;h2 id="2014年のトピックス">2014年のトピックス&lt;/h2>
&lt;p>思い返すと1月のこととかは何年も前に感じるが、今年は割と色々あった。
自分の中でトピックとして大きい出来事を中心に書いてみる&lt;/p></description></item><item><title>VCPの学習中のメモ</title><link>https://www.hitsumabushi.org/blog/2014/12/30/0548/</link><pubDate>Tue, 30 Dec 2014 05:48:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/12/30/0548/</guid><description>&lt;p>項目分けするほどでもないが、知っておくとVCP受講時に役にたつことをメモしていきます。
特に、あまり使われていない機能については、調べてないとわからないことが多いと思うので、参考になればと思います。&lt;/p></description></item><item><title>VMware環境でのNPIVについて</title><link>https://www.hitsumabushi.org/blog/2014/12/30/0257/</link><pubDate>Tue, 30 Dec 2014 02:57:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/12/30/0257/</guid><description>&lt;p>VCP-DCV取得のために勉強していたところ、NPIVという用語が出てきたので、調べてみたことを書いておきます。&lt;/p>
&lt;h2 id="資料">資料&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://pubs.vmware.com/vsphere-50/index.jsp?topic=/com.vmware.vsphere.vm_admin.doc_50/GUID-C713BCA5-71B4-4539-A4AE-8E781330755C.html">vSphere ドキュメント センター&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.itmedia.co.jp/enterprise/articles/0903/23/news002.html">サーバ仮想化のカギはストレージ・ネットワークにあり：基幹系サーバ統合に適したストレージ・ネットワーク要件を探れ！ - ITmedia エンタープライズ&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://itpro.nikkeibp.co.jp/article/COLUMN/20090417/328662/">ブレードサーバーで始めるSAN - 第4回 ブレードサーバー特有のSAN設計：ITpro&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="まとめ">まとめ&lt;/h2>
&lt;ol>
&lt;li>NPIV = N_Port ID Virtualization&lt;/li>
&lt;li>NPIVとは、1つのHBAに対して複数のID(WWPN)を割り当てることで、&lt;strong>1つのHBAポートを複数のHBAポートに見せる&lt;/strong> ための技術&lt;/li>
&lt;li>VMware的には、RDMのディスクを持つ仮想マシンについて、 アクセス制御, QoSなどのために使われる&lt;/li>
&lt;li>NPIVのしようとして、1ポートあたり255WWPNしか割り当てられない&lt;/li>
&lt;/ol>
&lt;h2 id="npivとは">NPIVとは&lt;/h2>
&lt;h3 id="fc環境の基本">FC環境の基本&lt;/h3>
&lt;p>FC環境では、各ノードはWWN(&lt;em>World Wide Name&lt;/em>)を用いて識別されています。
IPプロトコルで言うところの、IPアドレスと同様に、アクセス先を表したり、アクセス制限を行ったりする対象が、WWNになります。&lt;/p></description></item><item><title>VCP-DCVの概要 &amp;#58; VCP550</title><link>https://www.hitsumabushi.org/blog/2014/12/30/0130/</link><pubDate>Tue, 30 Dec 2014 01:30:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/12/30/0130/</guid><description>&lt;h2 id="資料">資料&lt;/h2>
&lt;p>&lt;a href="https://mylearn.vmware.com/mgrReg/plan.cfm?plan=12457">VCP-Data Center Virtualization&lt;/a>
受験を計画されている方は、Exam Blueprints というPDFを一読されることをお勧めします。&lt;/p>
&lt;h2 id="vcp-dcvの概要">VCP-DCVの概要&lt;/h2>
&lt;h3 id="バージョン">バージョン&lt;/h3>
&lt;p>VCP-DCVという資格は、VMwareの製品バージョンに合わせて区別されています。
例えば、現在のvSphereのバージョンは、5.5が最新バージョンであるため、VCP5-DCV呼ばれています。&lt;/p></description></item><item><title>fluentd-plugin-secure-forward のソースを読んでみる(Input プラグイン編)</title><link>https://www.hitsumabushi.org/blog/2014/12/17/2345/</link><pubDate>Wed, 17 Dec 2014 23:45:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/12/17/2345/</guid><description>&lt;p>本当は全部読もうと思っていたけど、想像以上に疲れたので、Inputだけにしました。
ただ、整理されているコードなので、Ruby知らなくても読みやすいのは読みやすいと思います。&lt;/p></description></item><item><title>VMware 環境でのMACアドレス割当て</title><link>https://www.hitsumabushi.org/blog/2014/12/17/1440/</link><pubDate>Wed, 17 Dec 2014 14:40:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/12/17/1440/</guid><description>&lt;h2 id="1-まとめ">1. まとめ&lt;/h2>
&lt;p>vSphere環境上のMACアドレス割当の方式は、複数あります。自分のOUIを割当てたい!!、という場合には、&lt;/p>
&lt;ol>
&lt;li>vCenter環境でプレフィックス指定&lt;/li>
&lt;li>固定割当て&lt;/li>
&lt;/ol>
&lt;p>といった方法を使いましょう&lt;/p></description></item><item><title>ソースコードリーディングをするときにctagsを使いたい</title><link>https://www.hitsumabushi.org/blog/2014/12/16/2000/</link><pubDate>Tue, 16 Dec 2014 20:00:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/12/16/2000/</guid><description>&lt;h2 id="きっかけ">きっかけ&lt;/h2>
&lt;p>とある事情によって、Fluentdプラグインを自作する or 世間の良い実装のプラグインを見つける必要がありました。
でも、Fluentdを真面目に使ったことがないので、いまいち眺めていても難しいなー、と思っていました。
そもそも、Rubyもまともに書いていないため、ソースを見ても、Rubyのものなのか、Fluentdで定義されているのかが、
ぱっと見でわからず、いちいち時間がかかっていた感じです。&lt;/p></description></item><item><title>drone.ioを使って、pelicanをビルドする</title><link>https://www.hitsumabushi.org/blog/2014/12/15/2300/</link><pubDate>Mon, 15 Dec 2014 23:00:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/12/15/2300/</guid><description>&lt;h2 id="動機">動機&lt;/h2>
&lt;p>最近はWordpressでブログをやっていたけど、
あくまで Wordpressを使う人の気持ちがわかりたかったので、使ってたのでした。
そろそろ、Wordpressの便利さもわかってきたし、vimとかemacsから書きやすいものを使いたいなー、と思ってました。&lt;/p></description></item><item><title>Consul 使ってみる</title><link>https://www.hitsumabushi.org/blog/2014/11/01/0239/</link><pubDate>Sat, 01 Nov 2014 02:39:20 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/11/01/0239/</guid><description>&lt;h2 id="consul-とは">Consul とは&lt;/h2>
&lt;h3 id="特徴">特徴&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>Service Discovery&lt;/p>
&lt;blockquote>
&lt;ul>
&lt;li>Consulのクライアントは、&amp;quot;api&amp;quot;や&amp;quot;mysql&amp;quot;といった与えられた名前を持つサービスを提供&lt;/li>
&lt;li>他のクライアントは、Consulを使ってサービスを検出&lt;/li>
&lt;li>アプリケーションはConsulが検出したサービスを、DNSやHTTP経由で検出&lt;/li>
&lt;/ul>
&lt;/blockquote>
&lt;/li>
&lt;li>
&lt;p>Health Check&lt;/p></description></item><item><title>vSphere API事始め</title><link>https://www.hitsumabushi.org/blog/2014/08/14/1639/</link><pubDate>Thu, 14 Aug 2014 16:39:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/08/14/1639/</guid><description>&lt;h2 id="リファレンス">リファレンス&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://www.vmware.com/support/developer/vc-sdk/">https://www.vmware.com/support/developer/vc-sdk/&lt;/a>&lt;/li>
&lt;li>https:// &amp;ldquo;vcenter_ip&amp;rdquo; /mob/&lt;/li>
&lt;/ul>
&lt;h2 id="参考サイト">参考サイト&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="http://thinkit.co.jp/story/2010/06/23/1617">http://thinkit.co.jp/story/2010/06/23/1617&lt;/a>&lt;/li>
&lt;/ul>
&lt;h1 id="overview">Overview&lt;/h1>
&lt;h2 id="types">Types&lt;/h2>
&lt;p>4つのタイプがある。&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>vSphere APIの型&lt;/th>
 &lt;th>普通のプログラミングとの類推&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>managed object type&lt;/td>
 &lt;td>プリミティブ型、複合型&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>data object type&lt;/td>
 &lt;td>抽象データ型&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>enumerated type&lt;/td>
 &lt;td>定数&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Fault type&lt;/td>
 &lt;td>例外型&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="1-managed-object-types">1. Managed object types&lt;/h3>
&lt;h4 id="managed-object-typeとは">Managed object typeとは&lt;/h4>
&lt;p>(サーバーサイドのオブジェクトモデルの基本的なデータを担っている。data objectも同じく。)
managed objectには、大きく2つの種類がある。&lt;/p></description></item><item><title>IPv6のことを調べ始めた</title><link>https://www.hitsumabushi.org/blog/2014/08/12/1638/</link><pubDate>Tue, 12 Aug 2014 16:38:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/08/12/1638/</guid><description>&lt;h2 id="ipv6-環境構築">IPv6 環境構築&lt;/h2>
&lt;h3 id="ひとまず参照すべきrfc">ひとまず参照すべきRFC&lt;/h3>
&lt;ul>
&lt;li>RFC3315(DHCPv6) とそれをupdateしているやつ&lt;/li>
&lt;li>RFC4861(Neighbor DiscoveryのIPv6バージョン)&lt;/li>
&lt;li>RFC5942(IPv6のsubnet model)&lt;/li>
&lt;/ul>
&lt;h3 id="ipv6-アドレス配布方式について">IPv6 アドレス配布方式について&lt;/h3>
&lt;p>全体としては、下記の4パターンある。&lt;/p></description></item><item><title>DebianにOzをインストールする</title><link>https://www.hitsumabushi.org/blog/2014/07/27/1637/</link><pubDate>Sun, 27 Jul 2014 16:37:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/07/27/1637/</guid><description>&lt;p>ガウディ本読みはじめた。&lt;/p>
&lt;iframe src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;nou=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=l0fb-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=4798113468" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0">&lt;/iframe>
&lt;h2 id="困ったこと">困ったこと&lt;/h2>
&lt;p>この本で使われるOzという言語をDebian上で実行するのに、少し困った。
morzart2をダウンロードして、適当にインストールしただけだと、
emacs上でコンパイルはできるのに、実行結果が表示できない状況になった。
正常な動作は、コンパイルできるとウィンドウが開いて、そこに結果が表示される。&lt;/p></description></item><item><title>論文 - Janus &amp;#58; Optimal Flash Provisioning for Cloud Storage Workloads</title><link>https://www.hitsumabushi.org/blog/2014/07/17/1635/</link><pubDate>Thu, 17 Jul 2014 16:35:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/07/17/1635/</guid><description>&lt;h2 id="読んだもの">読んだもの&lt;/h2>
&lt;p>&lt;a href="http://research.google.com/pubs/pub41179.html">http://research.google.com/pubs/pub41179.html&lt;/a>&lt;/p>
&lt;h2 id="主な内容">主な内容&lt;/h2>
&lt;ul>
&lt;li>『2種類の異なるストレージ(フラッシュとディスク)を複数のワークロードで共用する』効率的な使い方を最適化問題への帰着
使い方に2つの戦略があって、『FIFO or LRU』。&lt;/li>
&lt;li>LRUの方がキャッシュヒットレート的には良いけど、メトリクスを取るのが複雑になりがちなので、FIFOで良いのでは。&lt;/li>
&lt;li>実システムでの計測結果&lt;/li>
&lt;/ul>
&lt;h3 id="使われているシステム-技術要素">使われているシステム, 技術要素&lt;/h3>
&lt;ul>
&lt;li>Clossus (GFSの改良版)&lt;/li>
&lt;li>アルゴリズム: 貪欲法&lt;/li>
&lt;/ul>
&lt;h3 id="大事なこと">大事なこと&lt;/h3>
&lt;ul>
&lt;li>最適化問題を特にあたって、ワークロード特性を表す関数を、convexで近似したことにすることがアイディアの1つ。&lt;/li>
&lt;li>理論としては、piecewise-linearでなくても良いが、実測では有限個の点しか取れないので、piecewise-linearとしておくと計算が楽になる。&lt;/li>
&lt;li>運用中もワークロード特性を測定してフィードバックすることで、特性の変化に対応することができる。&lt;/li>
&lt;/ul>
&lt;h2 id="所感">所感&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>よくまとまっているので、とても良い。&lt;/p></description></item><item><title>DebianでZNCを使って、快適なIRC生活を送る</title><link>https://www.hitsumabushi.org/blog/2014/06/09/1634/</link><pubDate>Mon, 09 Jun 2014 16:34:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/06/09/1634/</guid><description>&lt;h2 id="やりたいこと">やりたいこと&lt;/h2>
&lt;p>最近、自分の興味のあるソフトウェアのIRCによく引きこもっています。
自宅のPCはつけっぱなしにしておけば、全部のログを見れるのですが、
会社やスマホで見るときには、接続している間のことしか確認できず、若干もどかしいです。&lt;/p></description></item><item><title>WebHDFSで詰まったこと</title><link>https://www.hitsumabushi.org/blog/2014/06/08/1633/</link><pubDate>Sun, 08 Jun 2014 16:33:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/06/08/1633/</guid><description>&lt;h2 id="困っていたこと">困っていたこと&lt;/h2>
&lt;p>HDFSでwebhdfsを使うとき、基本的にnamenodeにリクエストを投げればよいが、実データにアクセスするにはdatanodeにアクセスする。
ただ、使うときにはあんまり気にしなくて良くて、リクエストを投げればリダイレクト先を指定してくれる、らしい。
しかし、実際にやっているとうまくいかないケースがあった。&lt;/p></description></item><item><title>LEDバックライトの調整</title><link>https://www.hitsumabushi.org/blog/2014/06/02/1631/</link><pubDate>Mon, 02 Jun 2014 16:31:00 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/06/02/1631/</guid><description>&lt;p>ディスプレイの輝度が高すぎて目が痛いので、輝度を下げたい。
GUIでやっても良いけど、CLIの方が簡単そうだったので、CLIでやってみることにした。&lt;/p></description></item><item><title>Perl の正規表現</title><link>https://www.hitsumabushi.org/blog/2014/01/07/0239/</link><pubDate>Tue, 07 Jan 2014 02:39:20 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/01/07/0239/</guid><description>&lt;h2 id="マッチ演算子">マッチ演算子&lt;/h2>
&lt;p>評価の結果は真偽値としては、マッチすれば真、そうでなければ偽。 and, or,
! が役立つのは間違いない。&lt;/p>
&lt;h3 id="_-にマッチさせる">$_ にマッチさせる&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-perl" data-lang="perl">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f1fa8c">/regex/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>m:regex:
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="string-にマッチさせる">&lt;em>string&lt;/em> にマッチさせる&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-perl" data-lang="perl">&lt;span style="display:flex;">&lt;span>string &lt;span style="color:#ff79c6">=~&lt;/span>&lt;span style="color:#f1fa8c"> /regex/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>string &lt;span style="color:#ff79c6">=~&lt;/span> m:regex:
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="_-の文字列置換">$_ の文字列置換&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-perl" data-lang="perl">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f1fa8c">s/regex/new/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>s:regex:new:
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="string-の文字列置換">&lt;em>string&lt;/em> の文字列置換&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-perl" data-lang="perl">&lt;span style="display:flex;">&lt;span>string &lt;span style="color:#ff79c6">=~&lt;/span> &lt;span style="color:#f1fa8c">s/regex/new/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>string &lt;span style="color:#ff79c6">=~&lt;/span> s:regex:new:
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="特殊なメタキャラクタ">特殊なメタキャラクタ&lt;/h2>
&lt;h3 id="-">^, $&lt;/h3>
&lt;ul>
&lt;li>行頭、末尾にマッチ&lt;/li>
&lt;/ul>
&lt;h3 id="heading">.&lt;/h3>
&lt;ul>
&lt;li>ニューライン以外の任意の文字にマッチ&lt;/li>
&lt;/ul>
&lt;h3 id="chars">[&lt;em>chars&lt;/em>]&lt;/h3>
&lt;ul>
&lt;li>&lt;em>chars&lt;/em> に含まれる任意の1文字にマッチ&lt;/li>
&lt;li>&lt;em>chars&lt;/em>
内のバックスラッシュ付き英数字以外のメタキャラクタは、リテラル扱い&lt;/li>
&lt;/ul>
&lt;h3 id="-chars">[^ &lt;em>chars&lt;/em>]&lt;/h3>
&lt;ul>
&lt;li>&lt;em>chars&lt;/em> に含まれない任意の1文字にマッチ&lt;/li>
&lt;li>メタキャラクタの扱いは [&lt;em>chars&lt;/em>] と同様&lt;/li>
&lt;/ul>
&lt;h3 id="char1-char2">[&lt;em>char1&lt;/em>-&lt;em>char2&lt;/em>]&lt;/h3>
&lt;ul>
&lt;li>&lt;em>char1&lt;/em> の &lt;em>char2&lt;/em> の間に入る任意の文字にマッチ&lt;/li>
&lt;li>&lt;em>char1&lt;/em>, &lt;em>char2&lt;/em> を含む。&lt;/li>
&lt;/ul>
&lt;h3 id="heading-1">$&amp;amp;&lt;/h3>
&lt;ul>
&lt;li>最後にマッチした内容を保持&lt;/li>
&lt;li>'Foo' =~ /^[A-Z]/ なら $&amp;amp; は F&lt;/li>
&lt;/ul>
&lt;h3 id="heading-2">\&lt;/h3>
&lt;ul>
&lt;li>メタキャラクタに使ったり、エスケープに使う&lt;/li>
&lt;/ul>
&lt;h3 id="b">\b&lt;/h3>
&lt;ul>
&lt;li>単語の区切りにマッチする&lt;/li>
&lt;li>'abc def' にマッチさせたいときに、'Zabc def'
にマッチしないよう、'babc def' と書いておく。&lt;/li>
&lt;li>アルファベットは、単語構成文字クラスなので、スペースや!は、b
にマッチするが、Zはマッチしない。&lt;/li>
&lt;/ul>
&lt;h3 id="n">\n&lt;/h3>
&lt;ul>
&lt;li>ニューライン&lt;/li>
&lt;/ul>
&lt;h3 id="r">\r&lt;/h3>
&lt;ul>
&lt;li>キャリッジリターン文字&lt;/li>
&lt;li>カーソルを行頭に戻す&lt;/li>
&lt;/ul>
&lt;h3 id="t">\t&lt;/h3>
&lt;ul>
&lt;li>タブ&lt;/li>
&lt;/ul>
&lt;h3 id="f">\f&lt;/h3>
&lt;ul>
&lt;li>フォームフィード&lt;/li>
&lt;li>改ページ&lt;/li>
&lt;/ul>
&lt;h3 id="e">\e&lt;/h3>
&lt;ul>
&lt;li>エスケープ文字&lt;/li>
&lt;/ul>
&lt;h3 id="nnn">\NNN&lt;/h3>
&lt;ul>
&lt;li>8進数が NNN となる文字&lt;/li>
&lt;li>例えば、040 はスペース&lt;/li>
&lt;/ul>
&lt;p>::: note
::: title
Note
:::&lt;/p></description></item><item><title>Perlスクリプトメモ</title><link>https://www.hitsumabushi.org/blog/2014/01/07/0238/</link><pubDate>Tue, 07 Jan 2014 02:38:20 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/01/07/0238/</guid><description>&lt;h2 id="参考文献">参考文献&lt;/h2>
&lt;ol>
&lt;li>&lt;a href="http://d.hatena.ne.jp/perlcodesample/20091226/1264257759">Perl基礎文法最速マスター&lt;/a>&lt;/li>
&lt;li>ミニマル perl&lt;/li>
&lt;/ol>
&lt;h2 id="スクリプトを書く時">スクリプトを書く時&lt;/h2>
&lt;ul>
&lt;li>プラグマ
&lt;ul>
&lt;li>&lt;a href="http://perldoc.jp/func/use">perldoc.jp&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>推奨 : スクリプト先頭に書く&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-perl" data-lang="perl">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">use&lt;/span> strict;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">use&lt;/span> warnings;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>
&lt;p>1文字でも減らしたい&lt;/p>
&lt;blockquote>
&lt;ul>
&lt;li>print のデフォルト引数は、 $_&lt;/li>
&lt;li>print $_; したいだけなら書く必要ない。&lt;/li>
&lt;/ul>
&lt;/blockquote>
&lt;/li>
&lt;/ul>
&lt;h2 id="用語">用語&lt;/h2>
&lt;h3 id="レコード">レコード&lt;/h3>
&lt;ul>
&lt;li>1つのまとまりとして読み書きされる文字の集合&lt;/li>
&lt;li>入出力の際、ファイルはレコードの集まりと見ることができる。
この時、デフォルトでは、1行がレコード。&lt;/li>
&lt;/ul>
&lt;h3 id="入力レコードセパレータ">入力レコードセパレータ&lt;/h3>
&lt;ul>
&lt;li>入力レコードの終端区切りを表す文字、または文字シーケンス（文字の並び）。&lt;/li>
&lt;li>Linuxとかでは、デフォルトではラインフィード。&lt;/li>
&lt;li>Perl ではOS固有の入力レコードセパレータを n として、参照できる。&lt;/li>
&lt;/ul>
&lt;h3 id="ニューライン">ニューライン&lt;/h3>
&lt;ul>
&lt;li>n のこと。&lt;/li>
&lt;li>OS固有の入力レコードセパレータ。&lt;/li>
&lt;/ul>
&lt;h3 id="スイッチ引数">スイッチ引数&lt;/h3>
&lt;ul>
&lt;li>-s オプション&lt;/li>
&lt;li>良い感じのコマンドラインオプションを取ることができる。&lt;/li>
&lt;li>引数の与え方で2つの方法がある。&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-perl" data-lang="perl">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">-&lt;/span>foo&lt;span style="color:#ff79c6">=&lt;/span>&lt;span style="color:#f1fa8c">&amp;#39;test&amp;#39;&lt;/span> &lt;span style="color:#6272a4">#=&amp;gt; $foo == &amp;#39;test&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">-&lt;/span>foo &lt;span style="color:#6272a4">#=&amp;gt; $foo == true : -debugで、デバッグ用、みたい使う。&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>スイッチ引数を任意にしているスクリプトでは、冒頭にour関数を使うのが良い。&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-perl" data-lang="perl">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">our&lt;/span>(&lt;span style="color:#8be9fd;font-style:italic">$foo&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">our&lt;/span>(&lt;span style="color:#8be9fd;font-style:italic">$foo&lt;/span>, &lt;span style="color:#8be9fd;font-style:italic">$bar&lt;/span>, &lt;span style="color:#ff79c6">...&lt;/span>);
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="真偽値">真偽値&lt;/h2>
&lt;p>偽になるのは、次の3パターンある。&lt;/p></description></item><item><title>VPLSについてのメモ</title><link>https://www.hitsumabushi.org/blog/2014/01/06/0245/</link><pubDate>Mon, 06 Jan 2014 02:43:20 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/01/06/0245/</guid><description>&lt;h2 id="what-is-vpls">What is VPLS&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>Virtual Private LAN&lt;/p>
&lt;/li>
&lt;li>
&lt;p>MACフレームを、ルーターを含むネットワークを超えて、やり取りするための技術の1つ&lt;/p>
&lt;/li>
&lt;li>&lt;/li>
&lt;/ul>
&lt;pre>&lt;code>MPLSはIPにラベルをつけるが、VPLSはMACにラベルをつけるというイメージ

: - ラベルを使う理由としては、元々、経路計算を高速にしたかったはずだけど、今はそんなに気にしなくて良いっぽい
&lt;/code>&lt;/pre>
&lt;h2 id="why-vpls">Why VPLS&lt;/h2>
&lt;p>MPLSが便利なのと、同じ。&lt;/p></description></item><item><title>便利なツール</title><link>https://www.hitsumabushi.org/blog/2014/01/02/0240/</link><pubDate>Thu, 02 Jan 2014 02:40:20 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/01/02/0240/</guid><description>&lt;h2 id="pod">POD&lt;/h2>
&lt;ul>
&lt;li>Plain Old Documentation&lt;/li>
&lt;li>man perldoc を参照&lt;/li>
&lt;/ul>
&lt;h2 id="lwp-request">lwp-request&lt;/h2>
&lt;ul>
&lt;li>Webサーバーにリクエストを送って、適当な形式に変換してくれる&lt;/li>
&lt;li>GET, POST, PUT も選べる。&lt;/li>
&lt;li>出力形式としては、 text, ps, links, html, dump&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-perl" data-lang="perl">&lt;span style="display:flex;">&lt;span>lwp&lt;span style="color:#ff79c6">-&lt;/span>request &lt;span style="color:#ff79c6">-&lt;/span>o text www&lt;span style="color:#ff79c6">.&lt;/span>example&lt;span style="color:#ff79c6">.&lt;/span>com
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="textautoformat">Text::Autoformat&lt;/h2>
&lt;h2 id="texttabs">Text::Tabs&lt;/h2>
&lt;ul>
&lt;li>タブをスペースに変換&lt;/li>
&lt;/ul>
&lt;h2 id="stringapprox">String::Approx&lt;/h2>
&lt;ul>
&lt;li>あいまいなマッチをする&lt;/li>
&lt;/ul>
&lt;h2 id="template-toolkit">Template-Toolkit&lt;/h2>
&lt;h2 id="linguaeninflect-pl_n">Lingua::En::Inflect 'PL_N'&lt;/h2>
&lt;ul>
&lt;li>単数形と複数形を変換してくれる&lt;/li>
&lt;/ul></description></item><item><title>PXEブートでインストーラを起動する</title><link>https://www.hitsumabushi.org/blog/2014/01/01/0244/</link><pubDate>Wed, 01 Jan 2014 02:44:20 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/01/01/0244/</guid><description>&lt;p>最近、VMwareのESXiで仮想環境を作っています。
触っていて気づいたのですが、空の仮想マシンを起動するとPXEブートを試みてくれます。
この仕様をうまく使いたいなーと思って、PXEブートでインストールを自動化する方法を調べました。&lt;/p></description></item><item><title>実UID,実行UID</title><link>https://www.hitsumabushi.org/blog/2014/01/01/0243/</link><pubDate>Wed, 01 Jan 2014 02:43:20 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/01/01/0243/</guid><description>&lt;p>プロセスはいくつかのIDを持っている。
あまり深く考えず、実UIDと実行UIDについて考える。&lt;/p>
&lt;h2 id="実uiduid">実UID(UID)&lt;/h2>
&lt;ul>
&lt;li>呼び出し元のプロセス(親プロセス)の実ユーザーID。&lt;/li>
&lt;li>普通にログインして、何かプロセスをシェルから走らせる場合、ログインシェルのUIDがログインユーザーIDなので、ログインユーザーIDになる。&lt;/li>
&lt;/ul>
&lt;h2 id="実効uid">実効UID&lt;/h2>
&lt;ul>
&lt;li>呼び出し元のプロセス(親プロセス)の実効ユーザーID。&lt;/li>
&lt;li>ファイルアクセスに影響。&lt;/li>
&lt;li>普通にログインして、何かプロセスをシェルから走らせる場合、ログインシェルのUIDがログインユーザーIDなので、ログインユーザーIDになる。&lt;/li>
&lt;li>ただし、SUID ビットがあるときは、それに従う。&lt;/li>
&lt;/ul>
&lt;h3 id="suid-sgid-スティッキービット">SUID, SGID, スティッキービット&lt;/h3>
&lt;h2 id="suid-sgid">SUID, SGID&lt;/h2>
&lt;p>| それぞれ setuid, setgidのこと。
| まず、 SUID(SGID) ビットが立っているファイルについて見る。&lt;/p></description></item><item><title>DNS サーバー</title><link>https://www.hitsumabushi.org/blog/2014/01/01/0241/</link><pubDate>Wed, 01 Jan 2014 02:41:20 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/01/01/0241/</guid><description>&lt;p>ニフティクラウド上でサーバーを立てた。
いろいろと設定していこうかと思っているが、まずはDNSから始める。&lt;/p>
&lt;h2 id="作業内容">作業内容&lt;/h2>
&lt;p>1. /etc/bind/named.conf.options 以下のように書き換える:&lt;/p>
&lt;pre>&lt;code>// v6の設定： v6は応答しない
// listen-on-v6 { any; };
listen-on-v6 { none; };

// transfer を許すIPを制限
allow-transfer &amp;quot;192.168.100.1&amp;quot;;
&lt;/code>&lt;/pre>
&lt;p>2. /etc/bind/named.conf.local ゾーンの設定:&lt;/p></description></item><item><title>Perl のコンパイラオプション</title><link>https://www.hitsumabushi.org/blog/2014/01/01/0237/</link><pubDate>Wed, 01 Jan 2014 02:37:20 +0900</pubDate><guid>https://www.hitsumabushi.org/blog/2014/01/01/0237/</guid><description>&lt;h2 id="参考ページ">参考ページ&lt;/h2>
&lt;ul>
&lt;li>man perlrun&lt;/li>
&lt;li>&lt;a href="http://debugitos.main.jp/index.php?Perl%2F%A5%B3%A5%DE%A5%F3%A5%C9%A5%E9%A5%A4%A5%F3">DebugIto's - Perl/コマンドライン&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="基本的なオプション">基本的なオプション&lt;/h2>
&lt;h3 id="-e">-e&lt;/h3>
&lt;ul>
&lt;li>ワンライナーを書くために必須。&lt;/li>
&lt;li>複数並べられるので、それなりに色々書ける&lt;/li>
&lt;li>直後にperlプログラムを書ける。&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-perl" data-lang="perl">&lt;span style="display:flex;">&lt;span>perl &lt;span style="color:#ff79c6">-&lt;/span>e &lt;span style="color:#f1fa8c">&amp;#39;print 11/2&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="-l8進数">-l[8進数]&lt;/h3>
&lt;ul>
&lt;li>行末に指定された8進数に変える。-l のみの場合、改行になる。&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-perl" data-lang="perl">&lt;span style="display:flex;">&lt;span>perl &lt;span style="color:#ff79c6">-&lt;/span>e &lt;span style="color:#f1fa8c">&amp;#39;print 22&amp;#39;&lt;/span> &lt;span style="color:#6272a4">#=&amp;gt; 22&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>perl &lt;span style="color:#ff79c6">-&lt;/span>l &lt;span style="color:#ff79c6">-&lt;/span>e &lt;span style="color:#f1fa8c">&amp;#39;print 22&amp;#39;&lt;/span> &lt;span style="color:#6272a4">#=&amp;gt; 22\n&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>perl &lt;span style="color:#ff79c6">-&lt;/span>l101 &lt;span style="color:#ff79c6">-&lt;/span>e &lt;span style="color:#f1fa8c">&amp;#39;print 22&amp;#39;&lt;/span> &lt;span style="color:#6272a4">#=&amp;gt; 22A&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="-0digits">-0[digits]&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>-l の入力セパレータバージョン&lt;/p></description></item><item><title/><link>https://www.hitsumabushi.org/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.hitsumabushi.org/about/</guid><description>&lt;h2 id="about-me">about me&lt;/h2>
&lt;p>東京でSRE Managerをやっています。
仕事では最近はクラウド環境ばかりですが、物理インフラやら仮想インフラ、DCネットワークが好きです。&lt;/p></description></item><item><title/><link>https://www.hitsumabushi.org/search/placeholder/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.hitsumabushi.org/search/placeholder/</guid><description/></item></channel></rss>