<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>harasou.jp</title>
    <link>https://harasou.jp/</link>
    <description>Recent content on harasou.jp</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ja</language>
    <lastBuildDate>Fri, 09 Jun 2023 09:44:04 +0900</lastBuildDate><atom:link href="https://harasou.jp/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>seteuid(2) でかわれるのは誰？</title>
      <link>https://harasou.jp/2023/06/09/seteuid/</link>
      <pubDate>Fri, 09 Jun 2023 09:44:04 +0900</pubDate>
      
      <guid>https://harasou.jp/2023/06/09/seteuid/</guid>
      <description>&lt;p&gt;最近、会社の読書会で &lt;a href=&#34;https://www.oreilly.co.jp/books/9784814400218/&#34;&gt;入門 モダンLinux&lt;/a&gt; を読んでいる。
「保存 set-user-ID」の説明で、以下のような記載があり「切り替えられる」ってことは、
プロセス実行時だけじゃなく、実行中にも変更できるってこと？って、質問が出たので、確認してみた。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Raspberry PiでおうちKubernetesクラスタ</title>
      <link>https://harasou.jp/2021/12/31/raspi-cluster/</link>
      <pubDate>Fri, 31 Dec 2021 00:14:00 +0900</pubDate>
      
      <guid>https://harasou.jp/2021/12/31/raspi-cluster/</guid>
      <description>&lt;p&gt;今年の3月頃、ラズパイで k8sクラスタを組んだ。既に半年以上経っているが、せっかくなので今年のうちに、さわりだけでもまとめておく。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Apache のハンドラを差し替えるモジュールを作った</title>
      <link>https://harasou.jp/2021/12/19/mod-replace-handler/</link>
      <pubDate>Sun, 19 Dec 2021 01:16:30 +0900</pubDate>
      
      <guid>https://harasou.jp/2021/12/19/mod-replace-handler/</guid>
      <description>&lt;p&gt;個人で必要となるケースは、まずないと思うが、.htaccess などで設定されているハンドラを
システム側で強制的に変更するような Apache のモジュールを作った。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>SSHが切れた時、実行中のプロセスはどうなるか?</title>
      <link>https://harasou.jp/2021/07/30/process-on-termainal/</link>
      <pubDate>Fri, 30 Jul 2021 02:02:20 +0900</pubDate>
      
      <guid>https://harasou.jp/2021/07/30/process-on-termainal/</guid>
      <description>&lt;p&gt;毎週行っているインフラチャプターの集まりで、下のような質問があって、
自分も曖昧な回答しかできなかったので、調べてみた。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;SSH で、長時間かかるコマンドを実行中に、ターミナルの接続が切れてもプロセスが
生きてるのはなぜ？&lt;/p&gt;
&lt;/blockquote&gt;</description>
    </item>
    
    <item>
      <title>macOS 上で k0s と Lens を使ってみた</title>
      <link>https://harasou.jp/2021/03/18/multipass-k0s-lens/</link>
      <pubDate>Thu, 18 Mar 2021 01:47:41 +0900</pubDate>
      
      <guid>https://harasou.jp/2021/03/18/multipass-k0s-lens/</guid>
      <description>&lt;p&gt;CNDO2021 で、ミランティス社の嘉門さんが &lt;a href=&#34;https://event.cloudnativedays.jp/cndo2021/talks/211&#34;&gt;Lens のセッション&lt;/a&gt; やってて、面白そうだったので試してみた。
macOS 上に multipass で VM 立てて、k0s で作った Kubernetesクラスタを Lens で操作。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>continue: only meaningful in a `for&#39;, `while&#39;, or `until&#39; loop</title>
      <link>https://harasou.jp/2021/02/11/bash-continue-error/</link>
      <pubDate>Thu, 11 Feb 2021 09:21:23 +0900</pubDate>
      
      <guid>https://harasou.jp/2021/02/11/bash-continue-error/</guid>
      <description>&lt;p&gt;以前から使い回していたシェルスクリプトが、continue 時にエラーが出るようになった。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>cat するたびに内容が変わるファイル？を作った</title>
      <link>https://harasou.jp/2018/12/31/fuse-bindex/</link>
      <pubDate>Mon, 31 Dec 2018 23:42:04 +0900</pubDate>
      
      <guid>https://harasou.jp/2018/12/31/fuse-bindex/</guid>
      <description>&lt;p&gt;こんな感じ。
cat で連続して &lt;code&gt;now&lt;/code&gt;ファイルの内容を表示している。ファイルを変更しているわけではないが、
表示するたびに内容が変わる。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>古い CentOS の Docker イメージを作成する</title>
      <link>https://harasou.jp/2018/12/24/make-centos-core-image/</link>
      <pubDate>Mon, 24 Dec 2018 14:42:00 +0900</pubDate>
      
      <guid>https://harasou.jp/2018/12/24/make-centos-core-image/</guid>
      <description>&lt;p&gt;仕事で CentOS6.4 の Docker イメージが欲しかったのだが、Officialには 6.6 までしかなかった。
せっかくなので、iso から core グループのみインストールした Docker イメージを作成してみた。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Linuxでのサマータイム - JDTの来襲</title>
      <link>https://harasou.jp/2018/08/12/japan-daylight-saving-time/</link>
      <pubDate>Sun, 12 Aug 2018 13:48:25 +0900</pubDate>
      
      <guid>https://harasou.jp/2018/08/12/japan-daylight-saving-time/</guid>
      <description>&lt;p&gt;最近、サマータイム導入の話で盛り上がっているので、Linux ではどうなっているのか調べてみた。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>実行ファイル一つだけの Docker イメージを作る</title>
      <link>https://harasou.jp/2018/02/10/one-execusion-file-in-docker-image/</link>
      <pubDate>Sat, 10 Feb 2018 11:36:50 +0900</pubDate>
      
      <guid>https://harasou.jp/2018/02/10/one-execusion-file-in-docker-image/</guid>
      <description>&lt;p&gt;「Go で書かれた実行ファイルを一つだけいれた Dockerイメージを作る」って話が &lt;a href=&#34;http://blog.amedama.jp/entry/2018/02/04/034707&#34;&gt;こちらのサイト&lt;/a&gt;
に載っていて、なるほどなぁと思ったので試して見た。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>GAE/Go で静的サイトを公開する</title>
      <link>https://harasou.jp/2018/01/28/gaego-static-hosting/</link>
      <pubDate>Sun, 28 Jan 2018 02:21:58 +0900</pubDate>
      
      <guid>https://harasou.jp/2018/01/28/gaego-static-hosting/</guid>
      <description>&lt;p&gt;Google Compute Engine 上の Nginx で運用していたブログを、GAE/Go (Go on Google App
Engine) に移行した。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>lego と Cloud DNS で Let&#39;s Encrypt の自動更新</title>
      <link>https://harasou.jp/2018/01/27/lego-and-clouddns/</link>
      <pubDate>Sat, 27 Jan 2018 16:26:25 +0900</pubDate>
      
      <guid>https://harasou.jp/2018/01/27/lego-and-clouddns/</guid>
      <description>&lt;p&gt;気づいたらブログの証明書の期限が切れていた。めんどくさて数日放置していたけど、
さすがにエンジニアとしてまずいだろうということで自動化することに。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>libfuse で Hello World !</title>
      <link>https://harasou.jp/2017/12/04/fuse/</link>
      <pubDate>Tue, 05 Dec 2017 21:11:25 +0900</pubDate>
      
      <guid>https://harasou.jp/2017/12/04/fuse/</guid>
      <description>&lt;p&gt;GlusterFS でも利用されている FUSE を使って、Hello World を試して見た。
今回は libfuse を使って、仮想ファイルシステム上のファイルを cat すると Hello World !
が出力されるまで。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ブログを hexo から hugo に変更した</title>
      <link>https://harasou.jp/2017/11/23/change-hugo-from-hexo/</link>
      <pubDate>Thu, 23 Nov 2017 13:40:00 +0900</pubDate>
      
      <guid>https://harasou.jp/2017/11/23/change-hugo-from-hexo/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;hugo-logo.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://gohugo.io/&#34;&gt;hugo&lt;/a&gt; は golang製の静的サイトジェネレータ。以前は hexo を利用していたが、hexo で利用していたテーマ tranquilpeak の &lt;a href=&#34;https://github.com/kakawait/hugo-tranquilpeak-theme&#34;&gt;hugo版&lt;/a&gt; が存在していたので、こちらに乗り換えた。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Linux シグナルの基礎</title>
      <link>https://harasou.jp/2017/01/23/linux-signal/</link>
      <pubDate>Mon, 23 Jan 2017 14:36:22 +0900</pubDate>
      
      <guid>https://harasou.jp/2017/01/23/linux-signal/</guid>
      <description>&lt;p&gt;TLPI (The Linux Programming Interface) 再々。&lt;/p&gt;
&lt;p&gt;TLPI の輪読の際に @matsumotory よりシグナルセットあたりをまとめるようにと指令が出たので、拙遅な感じでまとめました。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Linux ACL の基礎</title>
      <link>https://harasou.jp/2016/06/29/linux-acl/</link>
      <pubDate>Wed, 29 Jun 2016 23:37:56 +0900</pubDate>
      
      <guid>https://harasou.jp/2016/06/29/linux-acl/</guid>
      <description>&lt;p&gt;「Linux プログラミングインタフェース」再び。&lt;/p&gt;
&lt;p&gt;輪読やりながら「こんな機能使うのか？」って、みんな文句言いながら読んでいた章。ここで触っとかないと、今後「ACL とか知らねぇ。」ってなりそうなので、まとめておく。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Sparse File (スパースファイル) の仕組み</title>
      <link>https://harasou.jp/2016/03/24/sparse-file/</link>
      <pubDate>Thu, 24 Mar 2016 01:33:20 +0900</pubDate>
      
      <guid>https://harasou.jp/2016/03/24/sparse-file/</guid>
      <description>&lt;p&gt;最近かなり流行っている「Linux プログラミングインタフェース」を読んでたら、lseek(2) の解説で Sparse File (スパースファイル) の話が出てきたので、実装が気になって調べてみた。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>512バイトを超える DNSパケット</title>
      <link>https://harasou.jp/2016/02/21/dns-packet-over-512/</link>
      <pubDate>Sun, 21 Feb 2016 11:46:00 +0900</pubDate>
      
      <guid>https://harasou.jp/2016/02/21/dns-packet-over-512/</guid>
      <description>&lt;p&gt;glibc の脆弱性 &lt;a href=&#34;https://www.jpcert.or.jp/at/2016/at160009.html&#34;&gt;CVE-2015-7547&lt;/a&gt; でも話題になった 512バイトを超える DNS パケットについてのメモ。&lt;/p&gt;
&lt;p&gt;DNS では、TCP が使われたり、512 バイト超えるデータが扱われることは知っていたが、詳しい仕組みなど知らなかったので、備忘録のためにまとめておく。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>markdown(GFM) を変換するコマンドを mruby-cli で作ってみた</title>
      <link>https://harasou.jp/2015/12/20/gfmarkdown-release/</link>
      <pubDate>Sun, 20 Dec 2015 13:41:27 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/12/20/gfmarkdown-release/</guid>
      <description>&lt;p&gt;この記事は、&lt;a href=&#34;http://qiita.com/advent-calendar/2015/mruby&#34;&gt;mruby advent calendar 2015&lt;/a&gt; 20日目の記事です。みなさん難しい記事が多いですが、私にそういうのは無理なので軽めの内容になっています。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>外部へ通信時のソースIP をユーザごとに変更する</title>
      <link>https://harasou.jp/2015/11/24/change-sourceip-for-each-user/</link>
      <pubDate>Tue, 24 Nov 2015 02:52:38 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/11/24/change-sourceip-for-each-user/</guid>
      <description>&lt;p&gt;「ユーザ単位で、通信時に使用するソースIP を指定できないか？」って話があって、cgroup や fwmark とか使えばできるんじゃない？って思ってたけど、iptables だけであっさりできたって話。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>カーネルモジュールの modinfo について</title>
      <link>https://harasou.jp/2015/11/04/kernel-module-modinfo/</link>
      <pubDate>Wed, 04 Nov 2015 00:00:36 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/11/04/kernel-module-modinfo/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://harasou.github.io/2015/11/03/loadable-kernel-module/&#34;&gt;前回カーネルモジュールを作った&lt;/a&gt;際に、&lt;code&gt;MODULE_XXXX&lt;/code&gt; というマクロでモジュール内に情報を埋め込んだが、これがどういう風に埋め込まれているのか調べてみた。環境は今回も CentOS7 (3.10.0-123.4.4.el7.x86_64)。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>カーネルモジュールで Hello World !</title>
      <link>https://harasou.jp/2015/11/03/loadable-kernel-module/</link>
      <pubDate>Tue, 03 Nov 2015 01:14:38 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/11/03/loadable-kernel-module/</guid>
      <description>&lt;p&gt;Linux のカーネルモジュールで Hello World してみる。insmod、rmmod した時に dmesg にログを吐くだけの単純なもの。試した環境は、CentOS7 (3.10.0-123.4.4.el7.x86_64)。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Linux kernel を読むための準備</title>
      <link>https://harasou.jp/2015/10/26/linux-kernel-reading/</link>
      <pubDate>Mon, 26 Oct 2015 05:06:59 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/10/26/linux-kernel-reading/</guid>
      <description>&lt;p&gt;仕事で kernel のソースが見る機会が度々ありそうなので、MAC上でソースをいつでも追えるように準備しておく。
準備といっても大したものではなく、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;kernel ソースのダウンロード&lt;/li&gt;
&lt;li&gt;tag の作成&lt;/li&gt;
&lt;li&gt;vim の設定&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ぐらい。tag については、GNU GLOBAL などもあるが、とりあえず ctags で。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Alfred をバージョンアップすると iTerm2 でのコマンド実行ができなくなった</title>
      <link>https://harasou.jp/2015/09/09/alfred-iterm2/</link>
      <pubDate>Wed, 09 Sep 2015 23:58:11 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/09/09/alfred-iterm2/</guid>
      <description>&lt;p&gt;Alfred から実行するターミナルコマンドは、iTerm2 を使用していたが、Alfred のバージョンアップをすると iTerm2 が起動しなくなっていた。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Docker Toolbox for Mac OS X</title>
      <link>https://harasou.jp/2015/08/15/docker-toolbox/</link>
      <pubDate>Sat, 15 Aug 2015 07:58:08 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/08/15/docker-toolbox/</guid>
      <description>&lt;p&gt;Docker 1.8 のリリースに伴い、Mac OSX 標準の Docker デプロイツールが boot2docker から Docker Toolbox に変更になった模様。とりあえず、インストールしてみた。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>base32 についてメモ</title>
      <link>https://harasou.jp/2015/08/13/base32/</link>
      <pubDate>Thu, 13 Aug 2015 21:48:14 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/08/13/base32/</guid>
      <description>&lt;p&gt;base32 について調べた際のメモ書き。&lt;/p&gt;
&lt;h2 id=&#34;特徴&#34;&gt;特徴&lt;/h2&gt;
&lt;p&gt;base32 は、base64 などと同様、バイナリ文字列とテキスト文字列の変換（エンコード or デコード）を行うアルゴリズム。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;エンコードされたテキスト文字列は、&lt;code&gt;A-Z&lt;/code&gt;(26文字) と &lt;code&gt;2-7&lt;/code&gt;(6文字)、&lt;code&gt;=&lt;/code&gt; の 33文字で構成される。&lt;/li&gt;
&lt;li&gt;大文字小文字の区別がない環境でも利用可能。&lt;/li&gt;
&lt;li&gt;エンコードは、40ビット(5文字)単位を、8文字に変換していく。&lt;/li&gt;
&lt;li&gt;40ビットに満たない場合は、&lt;code&gt;=&lt;/code&gt; パティングする。&lt;/li&gt;
&lt;li&gt;base32hex というのもあり、これは、&lt;code&gt;0-9&lt;/code&gt;、&lt;code&gt;A-V&lt;/code&gt;、&lt;code&gt;=&lt;/code&gt; の33文字を使用する。&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>h2o &#43; mruby セットアップメモ</title>
      <link>https://harasou.jp/2015/08/05/h2o-mruby/</link>
      <pubDate>Wed, 05 Aug 2015 04:49:54 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/08/05/h2o-mruby/</guid>
      <description>&lt;p&gt;最近、h2o で mruby がサポートされたので、まずはコンパイルしてみた。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;h2o.png&#34; alt=&#34;&#34;&gt;
&lt;a href=&#34;https://github.com/h2o/h2o&#34;&gt;https://github.com/h2o/h2o&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;h2o は、@kazuho さんが作成されている HTTP/2 ＆ HTTP/1.x 対応の高速な WEBサーバです。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>trello クローンの Libreboard を動かしてみた</title>
      <link>https://harasou.jp/2015/07/28/libreboard/</link>
      <pubDate>Tue, 28 Jul 2015 01:47:46 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/07/28/libreboard/</guid>
      <description>&lt;p&gt;社内で便利に活用しているかんばんソフト&lt;a href=&#34;https://trello.com/&#34;&gt;trello&lt;/a&gt; 。このクローンである &lt;a href=&#34;https://github.com/libreboard/libreboard/wiki&#34;&gt;Libreboard&lt;/a&gt; を boot2docker で動かしてみた。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;libreboard-1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>5分でつくる mrbgems</title>
      <link>https://harasou.jp/2015/07/26/minutes-mrbgems/</link>
      <pubDate>Sun, 26 Jul 2015 21:32:19 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/07/26/minutes-mrbgems/</guid>
      <description>&lt;p&gt;先日の関西Ruby会議の帰りの飛行機の中、着陸５分前ぐらいの出来事。&lt;/p&gt;
&lt;p&gt;harasou: 「松本さん、mrbgems の作り方教えてくださいよ」
matusmotory:「じゃあ、まづ mrblib ってディレクトリ作って&amp;hellip;」&lt;/p&gt;
&lt;p&gt;おもむろに二人並んで PC を取り出し、mrbgems を作り始めた（着陸直前だったので、PC出して良かったのかよくわからないが&amp;hellip;）
というわけで、その時のことを簡単にご紹介。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>関西Ruby会議06 に登壇させてもらった</title>
      <link>https://harasou.jp/2015/07/15/kansai-ruby-kaigi/</link>
      <pubDate>Wed, 15 Jul 2015 01:45:57 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/07/15/kansai-ruby-kaigi/</guid>
      <description>&lt;p&gt;2015/07/11(土)に行われた「&lt;a href=&#34;http://regional.rubykaigi.org/kansai06/&#34;&gt;関西Ruby会議06&lt;/a&gt;」に登壇させてもらい、mruby の利用事例について紹介してきた。
インフラしか知らないエンジニアが、matz さんを前に mruby の説明なんて、かなり場違いで恐縮な状況でした。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://regional.rubykaigi.org/kansai06/&#34;&gt;&lt;img src=&#34;knsrb.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>第2回ペパボテックカンファレンスで mruby について発表</title>
      <link>https://harasou.jp/2015/07/06/pepabo-tech-conference/</link>
      <pubDate>Mon, 06 Jul 2015 01:44:39 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/07/06/pepabo-tech-conference/</guid>
      <description>&lt;p&gt;ブログ書くまでがペパボテックカンファレンス！というプレシャーをうけたので、一昨日(7/4)、福岡天神で開催された「第２回ペパボテックカンファレンス」について記録。&lt;/p&gt;
&lt;p&gt;５時間超におよぶカンファレンスに参加してくださったみなさま、本当にお疲れ様でした。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;connpass : &lt;a href=&#34;http://pepabo.connpass.com/event/16457/&#34;&gt;http://pepabo.connpass.com/event/16457/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;youtube : &lt;a href=&#34;https://www.youtube.com/watch?v=SUuaugJ4p7o&#34;&gt;https://www.youtube.com/watch?v=SUuaugJ4p7o&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;twitter : &lt;a href=&#34;http://togetter.com/li/842661&#34;&gt;http://togetter.com/li/842661&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;slides : &lt;a href=&#34;http://kimromi.hatenablog.jp/entry/2015/07/04/211334&#34;&gt;http://kimromi.hatenablog.jp/entry/2015/07/04/211334&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;@takesi_yosimura さんが、twitter をまとめてくださっていました。ありがとうございます！また、@kimroi さんは発表スライドをまとめてくれていました。ありがとうございます！&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>hexo の 404 File not found さようなら</title>
      <link>https://harasou.jp/2015/06/28/hexo-goodby-404/</link>
      <pubDate>Sun, 28 Jun 2015 12:48:38 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/06/28/hexo-goodby-404/</guid>
      <description>&lt;p&gt;Mac 上で hexo の記事を書いていると、記事へのリンクが 404 File not found になることがあった。
&lt;a href=&#34;https://harasou.jp/2015/05/10/hexo-404-file-not-found/&#34;&gt;以前の記事&lt;/a&gt;では、sed でダサい対応をしていたのだが、@kazu69 が hexo-plugin を作成してくれました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.npmjs.com/package/hexo-filter-permalink-normalization&#34;&gt;npm: hexo-filter-permalink-normalization&lt;/a&gt;
&lt;a href=&#34;https://www.npmjs.com/package/hexo-filter-permalink-normalization&#34;&gt;&lt;img src=&#34;npm.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MySQL のトリガで mruby を実行する</title>
      <link>https://harasou.jp/2015/06/07/MySQL-trigger/</link>
      <pubDate>Sun, 07 Jun 2015 02:06:30 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/06/07/MySQL-trigger/</guid>
      <description>&lt;p&gt;先日会社で「mysql のテーブルと、プロセス上の共有メモリを連携させたい」って話が出たとき、トリガで外部プログラムが実行できればいけるのでは？と思ったので、調べてみた。&lt;/p&gt;
&lt;h2 id=&#34;mysql-で外部コマンドを実行するには&#34;&gt;MySQL で外部コマンドを実行するには&lt;/h2&gt;
&lt;p&gt;mysql で外部コマンドを実行するには &lt;code&gt;system&lt;/code&gt; が使える。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mysql&amp;gt; system uname -a
Linux cent6 2.6.32-504.16.2.el6.x86_64 #1 SMP Wed Apr 22 06:48:29 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;ただ、これはターミナル上からとかでないと使えない。&lt;/p&gt;
&lt;p&gt;調べてみると、mysql には UDF(User Defined Function) という仕組みがあって、自作関数を作成することができるらしい。これは、C や C++ で書いて共有ライブラリ(.so)を作成し、mysql の plugindir に放り込めば使えるようになる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://aoking.hatenablog.jp/entry/20120824/1345778096&#34;&gt;MySQL で UDF を定義しよう&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://d.hatena.ne.jp/download_takeshi/20071124/1195915196&#34;&gt;はじめてのUDF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://zentoo.hatenablog.com/entry/20110925/1316961032&#34;&gt;やったーJavaScriptの動くMySQLできたよー&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>cgroup の cpu.shares を検証した</title>
      <link>https://harasou.jp/2015/06/02/cgroup-cpu-cpushare/</link>
      <pubDate>Tue, 02 Jun 2015 04:09:33 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/06/02/cgroup-cpu-cpushare/</guid>
      <description>&lt;p&gt;cgroup には複数のサブシステム（controller）があるが、その中の &lt;code&gt;cpu.shares&lt;/code&gt; について検証してみた。&lt;/p&gt;
&lt;h2 id=&#34;cpushares-とは&#34;&gt;cpu.shares とは&lt;/h2&gt;
&lt;p&gt;cpu.shares を設定すると、タスクが使用できる CPU 時間の&lt;code&gt;割合&lt;/code&gt;を変更することができる。&lt;/p&gt;
&lt;p&gt;具体的に言うと、&lt;code&gt;A&lt;/code&gt; &lt;code&gt;B&lt;/code&gt;２つのグループを作り、cpu.shares をそれぞれ&lt;code&gt;1024&lt;/code&gt; &lt;code&gt;2048&lt;/code&gt;とした場合、B のグループにいるプロセスが、A のグループにいるプロセスより 2倍 CPU を使えるようになる。以下、実行例。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>CentOS 用に LXC の rpm を作成する</title>
      <link>https://harasou.jp/2015/05/25/CentOS-lxc-rpm/</link>
      <pubDate>Mon, 25 May 2015 02:40:46 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/05/25/CentOS-lxc-rpm/</guid>
      <description>&lt;p&gt;Linux でコンテナといえば docker しかさわったことがなかった。LXC は docker よりシンプルで面白そうだったので、勉強用に先づ rpm を作成した。&lt;/p&gt;
&lt;h2 id=&#34;環境&#34;&gt;環境&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;LXC: 1.1.2&lt;/li&gt;
&lt;li&gt;OS:
&lt;ul&gt;
&lt;li&gt;CentOS6.6 (2.6.32-504.16.2.el6.x86_64)&lt;/li&gt;
&lt;li&gt;CentOS7.1 (3.10.0-229.el7.x86_64)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>cgroup による oom-killer の状態を eventfd 経由で受け取る</title>
      <link>https://harasou.jp/2015/05/20/cgroup-eventfd/</link>
      <pubDate>Wed, 20 May 2015 21:30:05 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/05/20/cgroup-eventfd/</guid>
      <description>&lt;h2 id=&#34;cgroup-の通知api&#34;&gt;cgroup の通知API&lt;/h2&gt;
&lt;p&gt;cgroup の memory サブシテムを利用すると、登録したプロセスがメモリを使いすぎた際、oom-killer が動作し、対象プロセスを kill することができる（デフォルト動作)。&lt;/p&gt;
&lt;p&gt;kill されたことは syslog など見ればわかるが、cgroup には&lt;code&gt;通知API&lt;/code&gt;といった機能があり、アプリ側で oom-killer が動作した際のイベントを受け取ることが可能なので、この機能を試してみる。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>mruby-cgroup に memory サブシテムを追加してみた</title>
      <link>https://harasou.jp/2015/05/17/mruby-cgroup/</link>
      <pubDate>Sun, 17 May 2015 18:38:33 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/05/17/mruby-cgroup/</guid>
      <description>&lt;p&gt;mruby-cgroup は、mruby から cgroup を利用するためのモジュールで、いわゆる libcgroup のバインディング。現在、mruby-cgroup &lt;a href=&#34;https://github.com/matsumoto-r/mruby-cgroup/blob/9cad17343cf60449c2cc1b7475daefb863086a13/src/mrb_cgroup.c#L45-L50&#34;&gt;9cad17343&lt;/a&gt; で対応しているサブシテムは以下のとおり。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;cpu&lt;/li&gt;
&lt;li&gt;cpu_set&lt;/li&gt;
&lt;li&gt;cpu_acct&lt;/li&gt;
&lt;li&gt;blkio&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;他に、cgroup のサブシステムには以下のようなものがある(CentOS 6.4)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# cat /proc/cgroups
#subsys_name    hierarchy   num_cgroups enabled
cpuset  10  1   1
ns  0   1   1
cpu 11  1   1
cpuacct 12  1   1
memory  13  1   1
devices 14  1   1
freezer 15  1   1
net_cls 16  1   1
blkio   17  1   1
perf_event  0   1   1
net_prio    0   1   1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;この中から、簡単に使えそうな memory サブシステムを追加してみた。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>hexo で 404 File not found</title>
      <link>https://harasou.jp/2015/05/10/hexo-404-file-not-found/</link>
      <pubDate>Sun, 10 May 2015 01:38:53 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/05/10/hexo-404-file-not-found/</guid>
      <description>&lt;p&gt;blog のトップページなどから&lt;code&gt;日本語タイトル&lt;/code&gt;のリンクをたどると 404 になることがあった。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;404.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>mruby-cgroup を boot2docker で build する</title>
      <link>https://harasou.jp/2015/05/06/mruby-cgroups-build-on-boot2docker/</link>
      <pubDate>Wed, 06 May 2015 02:47:32 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/05/06/mruby-cgroups-build-on-boot2docker/</guid>
      <description>&lt;h2 id=&#34;mruby-cgroup-とは&#34;&gt;mruby-cgroup とは&lt;/h2&gt;
&lt;p&gt;mruby-cgroup は、@matsumotory が開発している mruby から cgroup を利用するためのライブラリ。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/matsumoto-r/mruby-cgroup&#34;&gt;https://github.com/matsumoto-r/mruby-cgroup&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;cgroup は linux カーネルの機能で、タスク（プロセス）のリソース（CPU, メモリ, IO, etc）を制御するための仕組み。 これを利用すると「特定のプロセスが CPU100% 使うような処理を行っても 50% しか利用させない」といった制御ができるようになる。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>hexo に DISQUS を追加</title>
      <link>https://harasou.jp/2015/05/05/hexo-disqus/</link>
      <pubDate>Tue, 05 May 2015 17:22:31 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/05/05/hexo-disqus/</guid>
      <description>DISQUS はコメント機能を提供するサービスで、hexo では簡単に導入できる。
DISQUS の管理ページにある Shortname を設定するだけ。ただ、自分が使っているテーマ light ではうまく表示されなかったので、テーマの設定にある comment_provider に facebook 以外の文字列を設定して対処。
hexo config disqus_shortname harasougithubio hexo --config themes/light/_config.yml config comment_provider disqus </description>
    </item>
    
    <item>
      <title>mruby についてのメモ</title>
      <link>https://harasou.jp/2015/05/03/mruby-memo/</link>
      <pubDate>Sun, 03 May 2015 04:16:53 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/05/03/mruby-memo/</guid>
      <description>mruby の動作 mruby の実行基盤であるRiteVMは、Rubyスクリプトを逐次解釈して実行するのではなくコンパイル結果のバイナリコード（Rite中間表現）を直接実行する。
Rite中間表現をバイナリ出力したものがmrbファイル(Riteバイナリファイル)。
mrbgem とは mruby にライブラリを追加するための仕組み。mruby は require などで動的にライブラリを読み込めないので、mruby ビルド時に組み込む必要がある。 追加する際は、build_config.rb に追記してビルドする。
なお、mrbgem の実装には、以下３パターンがある。
C拡張 Ruby拡張 C &amp;amp; Ruby 拡張 作り方については、この辺りが参考になりそう。
mrubyの拡張モジュールであるmrbgemのテンプレートを自動で生成するmrbgem作った mrbgemsの作り方メモ(勉強中) ireq とは まだ全然わかってないが、この辺り。
https://github.com/mruby/mruby/issues/944#issuecomment-14556703 ライブラリ構成 以下の４つが定義されているが、現在提供されているのはミニマルのみ？
ミニマル: 実行に必要な最低限の機能 スタンダード: JIS X 3017 規格相当 フル: MRI(CRuby) のフル機能相当 ドメイン別: 製品ドメイン別の拡張ライブラリ 参考リンク オフィシャルページ ソース Github 軽量 Ruby のご紹介と 軽量 Ruby フォーラムのご案内 IIJ 軽量Rubyへの取り組み mruby Advent Calendar 2013 mruby のビルド方法 mrubyのバイトコードフォーマット解説 </description>
    </item>
    
    <item>
      <title>mruby をさわってみた</title>
      <link>https://harasou.jp/2015/05/02/mruby-faststep/</link>
      <pubDate>Sat, 02 May 2015 23:23:18 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/05/02/mruby-faststep/</guid>
      <description>&lt;h2 id=&#34;mruby-とは&#34;&gt;mruby とは&lt;/h2&gt;
&lt;p&gt;組込み向けに軽量化されたRuby。mruby 単体で実行するというよりは、組み込み機器や Cなどで書いたアプリのなかに、まるごと&lt;code&gt;mrubyアプリケーション+実行環境&lt;/code&gt;を組み込んで利用する感じ。
&lt;img src=&#34;mruby.gif&#34; alt=&#34;mruby&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>hexo セットアップメモ</title>
      <link>https://harasou.jp/2015/04/28/hexo-setup/</link>
      <pubDate>Tue, 28 Apr 2015 00:52:14 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/04/28/hexo-setup/</guid>
      <description>&lt;h2 id=&#34;hexo-とは&#34;&gt;hexo とは&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://hexo.io&#34;&gt;hexo&lt;/a&gt; は、node.js で作成された静的サイトジェネレータ。blog の作成に特化していてコマンド一発で gh-pages などに blog を deploy できる。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;hexo_io.png&#34; alt=&#34;https://hexo.io/&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>blog はじめました</title>
      <link>https://harasou.jp/2015/04/27/hello-blog/</link>
      <pubDate>Mon, 27 Apr 2015 00:23:56 +0900</pubDate>
      
      <guid>https://harasou.jp/2015/04/27/hello-blog/</guid>
      <description>40才にもなって、blog デビュー。福岡でインフラエンジニアやってます。大量のサーバに ssh で接続して作業しているおっさん。</description>
    </item>
    
  </channel>
</rss>
