@Konboi memo

主に技術に関してつらつらと。

perl

No patch utility found の対処法

$plenv install 5.xx.xx … No patch utility found ABORT となりエラーになった $ which patch /usr/bin/which: no patch … となり patch コマンドがインストールされていないのが原因だった $ sudo yum install -y patch して無事解決 めでたしめでたし 参…

PerlでJsonをencodeするときにsortされた状態で出力したい

TL;DR use JSON::PP JSON::PP->new->utf8->canoical(1)->encode(...) すればkeyのalphabet順になる refs: http://stackoverflow.com/questions/3532067/perl-how-to-sort-a-json-structure-on-something-other-than-root-key-attributes はじめに クライアン…

pull request builder plugin を使わずgithub上にテストの結果を表示する

はじめに 現在のプロジェクトではJenkinsを使ってCIを行っています。 当初ビルドのタイミングはポーリングで行っていました。 しかしポーリングだと再度ビルドを走らせる必要がある時に空コミットする必要があったり、jenkinsのrebuild pluginを追加しポチポチ…

夏のドキッとしたmigrateの話

はじめに 現在担当しているプロジェクトではmigrateにGitDDLを使っております。 先日本番環境でそれなりにデータが入ったテーブルに対してALTERをかけました。 その際に起こったちょっとドキッとする話を今後の自分のためにも書いてこうと思います。 GitDDLにつ…

雑にindexの効果を調べた

メンターをしている後輩くんのソースをレビューしててindexが足りてなかった。 それがなんでダメなのか雑に調べた。 player_hoge id player_id index_id created_at updated_at みたいなテーブルがある。 使われ方はplayer_idとindex_idの2つでselectする機会が…

Furlを使ってjsonをpostしようとしたら嵌った

嵌ったコード use Furl; … my $furl = Furl->new; my $args = { höge => ‘fuga’, piyp => ‘puyo’ }; $furl->post( $url, [], $args ); 解決したコード use Furl; use JSON::XS; … my $furl = Furl->new; my $args = { höge => ‘fuga’, piyp => ‘puyo’ }; $fu…

Jenkinsのプロジェクトを増やしたらテストがこけるようになってつらかった。

はじめに ※Jenkinsが悪いわけじゃないです。 現在携わっているプロジェクトではテストの際に Test::mysqld を使用して並列にテストを回してました。 ただ、マスターデータのテストと機能系のテストが t/ にまとまっていて、マスターデータのテストだけをチェック…

Image::Magick で文字の縁をよしなに描く

Image::Magick を選んだ理由 最初は、Imager を使ってモックも作ってたのでImagerを使いたかった。 縦書きのモジュールもあるので今回のやりたい事がほぼほぼできてた。 ただ、デザイナーさんから 文字に縁をつけて!! って言われた。 これが Imager では結…

Image::Magick 使う

Image::Magick を使いたい もともとImagerを使ってモックを作っていたのだけれど、テキストに縁を入れて欲しい という、要望がきたので調べてみたら Image::Magick ならできるみたいなので入れてみる ことにした。 が、これを入れるのに予想以上にハマったの…

MojoliciousでJSONを返すAPIを作ってたらはまった

ルーティングの設定 App.pm package App; use Mojo::Base 'Mojolicious'; # This method will run once at server start sub startup { my $self = shift; # Documentation browser under "/perldoc" $self->plugin('PODRenderer'); # Router my $r = $self-…

cpanm -f

今日は、cpanm でモジュールをインストールしてたら不思議な?現象が起きた。 cpanm Module::Setup でインストールしたんだけれど... command not found:module-setup もっかいインストールのコマンド打っても is upto date. がでて、結局意味なし... とりあ…

Advent Calendar 1日目、2日目

環境構築 perlbrew のインストール $ curl -LO http://xrl.us/perlbrew $ chmod +x perlbrew $ ./perlbrew init $ mv ~/perl5/perlbrew/etc/bashrc mv ~/perl5/perlbrew/etc/zshrc $ echo 'source ~/perl5/perlbrew/etc/bashrc' >> ~/.zshrc $ source ~/.zsh…

画像変換

なんと、明日から7月とか。 2011年の半分も過ぎてしまった.....\(^o^)/まぁ、そんなこんなで今日はPerlをほじほじしてました。 どうしてPerlなのかっていうと、先週末内定先の内定者懇談会にいって社員さんと面談していろいろお話してPerl,Js,C,Javaをや…