Fluentdのforward回りで少しはまってたときに役に立ったリソースメモ。 解決しつつあるので、その件についても後で書く
Acme::LoveLiveがサンシャインに対応した
なんとなく某所から圧力がかかったので、雑に対応しました。
% perl -Ilib -MAcme::LoveLive -E 'binmode STDOUT => "utf8";say join(":", $_->fullname_ja, $_->cv) for Acme::LoveLive->unit("Aqours")->members' 小原鞠莉:鈴木愛奈 津島善子:小林愛香 黒澤ダイヤ:小宮有紗 高海千歌:伊波杏樹 桜内梨子:逢田梨香子 松浦果南:諏訪ななか 黒澤ルビィ:降幡愛 国木田花丸:高槻かなこ 渡辺曜:斉藤朱夏
ご査収ください。
というか、9人中5人も名前があ
で始まるのかー。
crystal langことはじめ
crystalをちょっと触ってみたくなったので、hello worldするまで。 基本ドキュメントに書いてあります。
crenv(anyenv)で実行環境をインストール
anyenvは入ってる前提です。plenvやrbenvと同じノリで、開発したいのでcrenvを使います。
crenvをインストール
cd ~/.anyenv git pull anyenv install crenv exec $SHELL -l
crenvをインストール
現時点で最新の0.7.5をインストール
crenv install 0.7.5 exec $SHELL -l crenv global 0.7.5
ちゃんとインストールされてることを確認。
% crenv versions * 0.7.5 (set by /Users/masasuzu/.anyenv/envs/crenv/version) % crystal --version Crystal 0.7.5 [2a33a87] (Thu Jul 30 17:19:13 UTC 2015)
プログラム実行
こんな内容の hello.cr
を書きます。
puts "hello world"
crystal
もしくはcrystal run
で実行出来ます。
crystal hello.cr
# もしくは
crystal run hello.cr
crystal build
で実行バイナリを生成してくれます。
crystal build hello.cr ./hello
--release
オプションを付けると最適化してビルドしてくれます。
crystal build hello.cr --release
蛇足:プロジェクト作成
crystalには言語標準でプロジェクトの雛形を作ってくれる機能があります。べんり!
crystal init app
でアプリケーション、crystal init lib
でライブラリプロジェクトの雛形が作れます。
% crystal init app hello-world create hello-world/.gitignore create hello-world/LICENSE create hello-world/README.md create hello-world/.travis.yml create hello-world/Projectfile create hello-world/src/hello-world.cr create hello-world/src/hello-world/version.cr create hello-world/spec/spec_helper.cr create hello-world/spec/hello-world_spec.cr Initialized empty Git repository in /Users/masasuzu/project/crystal/tmp/hello-world/.git/
SEE ALSO
hiki2mdを書いてる
さくらのレンタルサーバを解約した
特にネガティブな理由はなくて不要になったので、解約しました。
7年間使っていたことになります。ありがとうございました。 とはいえ、一括で払ってるので来年の2月までは契約が残ってます。
もともとこのサーバは http://masasuzu.net をホストするために使っていたサーバです。
の4つの役割を持っていましたが、ぺらいちのページは別で持っているVPSもしくはGithub Pagesに移行出来ますし、HikiもtDiaryも使っていないので、維持する必要が無い。 そして、メールもgmailに全部寄せてしまえば、とくに独自ドメインのメールアドレスも必要無いということで、完全に役割が無くなってしまったのでした。
とはいえ、もろもろの移転作業が面倒くさい + 年間1500円ちょいしか費用かかってなかったので、ちょっと億劫になっていたのですが、このまま放置する方が将来のコストが高いなと思い立ち、解約することにしました。
移転作業は、なんだかんだで、@masasuzu.netのメールアドレスで作っていたアカウントが多くて、そこの変更作業が面倒くさかったです。
ぺらいちのページは本体のページはGithub Pagesに置いて、VPSのnginxでリバースプロキシしてます。なんでこんな面倒なことしてるかというと、仕様上トップのDNSエントリはCNAMEできないので、仕方なくVPSの方に名前を振っています。
tDiaryのデータはもう捨てて問題ないのですが、Hikiのデータはまだ有用なものがあるので、そのうちmarkdown化してGithubのレポジトリにデータを置いておきたいな思います。
メールサーバの運用をおまかせするためだけに、惰性でレンタルサーバ借り続けてたけど、やっと卒業出来る見込みが立ってきた。
— masasuzu? (@masasuz) July 19, 2015
7年間契約してたさくらのレンタルサーバ解約した。さよならさくらさん。(と言っても、来年の2月まで契約残ってるけど。
— masasuzu? (@masasuz) July 19, 2015
さくらさん7年間ありがとうございました。
2015年健康診断雑感
30台になって初めての健康診断だったので、バリウム検査を生まれて初めて受けました。
- バリウムはまずくて飲めないものではない、が、美味しいものでも無い。
- 発泡剤でげっぷが出るのを我慢しないといけないのが辛いと言われてたが、そうでもなかった。
- バリウムそのものよりぐるんぐるんまわる検査器具の方がつらかった。落ちる。落ちそう。
- バリウムはすんなり出てきたので、"バリウム後が辛いよ"と言っていた先輩の言葉はなんだったんだろう。
- 血を抜くのは相変わらず苦手
- 身長1cm増、体重6kg減
- 来年の健康診断には5kg減しておきたい
- 思ったより待ち時間が長くて、暇つぶしの道具を持って行かなかったのは失敗だった。
- 来年は2時間くらいで読み終わるような本を持ち込もう。
そんな感じでした。 思ったより辛くなかった健康診断でした。
Ubuntu12.04でPerlのコアモジュールのdebian packageを作りたかった。。。
Ubuntu12.04環境で、Test::Harnessのdebian packageが作りたかったんですが、うまくいかなかったメモです。
deb作成
% dh-make-perl --build --cpan Test::Harness Test::Harness is a standard module. Will not build without --core-ok.
む。`--core-ok`をつけないとコアモジュールはダメらしい。
気を取り直してもう一度。
% dh-make-perl --build --core-ok --cpan Test::Harness # 中略.... % ls libtest-harness-perl*.deb libtest-harness-perl_3.35-1_all.deb
こんどは大丈夫そう。なのでローカルにインストール。
インストール => 失敗
% sudo dpkg -i libtest-harness-perl_3.35-1_all.deb dpkg: warning: downgrading libtest-harness-perl from 3.1700-1 to 3.35-1. (Reading database ... 307138 files and directories currently installed.) Preparing to replace libtest-harness-perl 3.1700-1 (using libtest-harness-perl_3.35-1_all.deb) ... Unpacking replacement libtest-harness-perl ... dpkg: error processing libtest-harness-perl_3.35-1_all.deb (--install): trying to overwrite '/usr/bin/prove', which is also in package perl 5.14.2-6ubuntu2.4 Processing triggers for man-db ... Errors were encountered while processing: libtest-harness-perl_3.35-1_all.deb
えー、まじすか`/usr/bin/prove`がかぶってて、インストールができないと。
さて、どうしようか。
dh-make-perlを使ってるときにインストールディレクトリを変える方法ってあるのかな。
manをひいてもぐぐってもちょっと見当たらなかったです。
何かうまい方法模索中。
お仕事の優先度
今のお仕事は社内の開発基盤の整備、社内ツールの整備、開発支援みたいなことをしてます。
その仕事の中で、開発側から色々な要望をいただくことがあります。
チームの方針は別として自分としては以下の優先順位で動きたいと思ってます。
もちろん単純に分類できないですがあくまで目安で。
- (障碍)これがないと仕事が滞るもの
- (改善)今あるけど、もう少しなんとかしてほしいもの
- (要望)今はないけど、これがあると便利なもの
改善と要望はコストとメリットの天秤にかけてすぐには動けないことが多いけど、障碍に関してはホントに仕事が滞ってしまうので、できるかぎりリーダにも働きかけて最優先のやりたいと思ってます。
問題なのは優先度がわからないタスク。これは動きようがないです。優先度の説明が間違ってるタスク。これも障碍レベルなのに説明は要望レベルに終始されてたら動けないです。
こちらのヒアリング不足やコミュニケーション不足は多分にあるかもですが、優先度の食い違いで開発がうまくまわらなくなるのは避けたい所存です。
Perlモジュールのバージョン比較したい
某所でこんなコードがあって、Argument "1.20_01" isn't numeric in numeric le (<=)
とか言われてイラッとしたわけですが。
if ($Time::Piece::VERSION <= 1.16) { .... }
この場合、Perlモジュールのバージョンが数値がとは限らないので比較するにはversion.pm使ってあげると良いです。
versionオブジェクトは<=>とcmpをオーバーロードしてるので、比較演算子が使えます。
use version; if (version->parse($Time::Piece::VERSION) <= version->parse(1.16)) { .... }