前回カーネルモジュールを作った際に、MODULE_XXXX
というマクロでモジュール内に情報を埋め込んだが、これがどういう風に埋め込まれているのか調べてみた。環境は今回も CentOS7 (3.10.0-123.4.4.el7.x86_64)。
Linux のカーネルモジュールで Hello World してみる。insmod、rmmod した時に dmesg にログを吐くだけの単純なもの。試した環境は、CentOS7 (3.10.0-123.4.4.el7.x86_64)。
仕事で kernel のソースが見る機会が度々ありそうなので、MAC上でソースをいつでも追えるように準備しておく。 準備といっても大したものではなく、
- kernel ソースのダウンロード
- tag の作成
- vim の設定
ぐらい。tag については、GNU GLOBAL などもあるが、とりあえず ctags で。
Alfred から実行するターミナルコマンドは、iTerm2 を使用していたが、Alfred のバージョンアップをすると iTerm2 が起動しなくなっていた。
Docker 1.8 のリリースに伴い、Mac OSX 標準の Docker デプロイツールが boot2docker から Docker Toolbox に変更になった模様。とりあえず、インストールしてみた。
base32 について調べた際のメモ書き。
特徴
base32 は、base64 などと同様、バイナリ文字列とテキスト文字列の変換(エンコード or デコード)を行うアルゴリズム。
- エンコードされたテキスト文字列は、
A-Z
(26文字) と2-7
(6文字)、=
の 33文字で構成される。 - 大文字小文字の区別がない環境でも利用可能。
- エンコードは、40ビット(5文字)単位を、8文字に変換していく。
- 40ビットに満たない場合は、
=
パティングする。 - base32hex というのもあり、これは、
0-9
、A-V
、=
の33文字を使用する。
最近、h2o で mruby がサポートされたので、まずはコンパイルしてみた。
h2o は、@kazuho さんが作成されている HTTP/2 & HTTP/1.x 対応の高速な WEBサーバです。
社内で便利に活用しているかんばんソフトtrello 。このクローンである Libreboard を boot2docker で動かしてみた。
先日の関西Ruby会議の帰りの飛行機の中、着陸5分前ぐらいの出来事。
harasou: 「松本さん、mrbgems の作り方教えてくださいよ」 matusmotory:「じゃあ、まづ mrblib ってディレクトリ作って…」
おもむろに二人並んで PC を取り出し、mrbgems を作り始めた(着陸直前だったので、PC出して良かったのかよくわからないが…) というわけで、その時のことを簡単にご紹介。
2015/07/11(土)に行われた「関西Ruby会議06」に登壇させてもらい、mruby の利用事例について紹介してきた。 インフラしか知らないエンジニアが、matz さんを前に mruby の説明なんて、かなり場違いで恐縮な状況でした。