Skip to content

Instantly share code, notes, and snippets.

@libitte
libitte / file0.rb
Last active August 29, 2015 14:08
`{ ... }` と `do ... end` の違いと使い分けるべきシーン ref: http://qiita.com/libitte@github/items/3eb22d2ee371185f775a
some_method other_method { ... }
@libitte
libitte / file0.rb
Created October 30, 2014 16:56
expect change を複数データ同時にTESTしたいときに ref: http://qiita.com/libitte@github/items/2831557a1dac2505ab2e
expect{ execute }.to change{ [User.find_by(id: 1).coin, User.find_by(id: 1).skill] }.from([100, 0]).to([0, 1])
https://berryred.info/libitte/wp-admin/post.php?post=126&action=edit&message=1
https://berryred.info/libitte/
https://dashboard-next.heroku.com/apps/fierce-retreat-9413/resources
http://openbook4.me/projects/92
#!/usr/bin/env perl
use strict;
use warnings;
use List::Util qw(shuffle);
#ruby
#('a'..'z').to_a.shuffle[0..7].join
my @shuffled = shuffle ('a'..'z');
print join '', splice @shuffled, 0, 8;
@libitte
libitte / install-image-magick-in-mac.md
Last active August 29, 2015 14:05
image-magick mac homebrew install

plenv を使っている場合、system perl を使うようにしておく

$ plenv versions
$ plenv local system
$ plenv versions

libjpeg, giflib, libpng あたりをいれておく

=== Image::Magick で install
============================================================
=== ソースから
http://akkunchoi.github.io/imagemagick-rmagick-centos.html
ソースから ImageMagick をインストール。成功。
依存ライブラリを事前にインストール。入れてなければJPEGやPNGが変換できない。
linux で blocking モード -> connect は 180sec で timeout
接続の時にクライアント側が、サーバに対してSYNを送信し、ACKが帰ってきたら接続成功なのですが、このACKが帰ってこない時に、クライアントは、SYNの再送を試みます。
このとき再送は、以下のように5回再送されます。
最初のSYN送信    (0秒経過)
3秒経過してACKが、戻らないとき、SYN(1)を再送します。  (3秒経過)
また、6秒経過してACKが、戻らないとき、SYN(2)を再送します。  (9秒経過)
また、12秒経過してACKが、戻らないとき、SYN(3)を再送します。  (21秒経過)
#!/usr/bin/env perl
use strict;
use warnings;
use Data::Dumper;
local $Data::Dumper::Indent = 1;
local $Data::Dumper::Terse = 1;
my @array = qw(goo bar buzz jri jri jri buzz);
my %hash;
my @ret = grep {!$hash{$_}++} @array;
#!/usr/bin/env perl
use strict;
use warnings;
use Data::Dumper;
package A;
sub new {
my ($class, $user_id) = @_;
@libitte
libitte / gist:7efa911d55512930dc80
Last active September 29, 2022 05:49
mysql int(11) の意味するところ
MySQLがサポートするその他の拡張として、各タイプの基本キーワードに続くカッコ内に整数データタイプの表示幅を指定するオプションがあります(例 INT(4))。この表示幅オプションは、カラムに指定された幅よりも小さい幅の整数値を表示する際に左側をスペースで埋めるために使用されます。
この表示幅は、カラムに格納する事ができる値の範囲も、カラムに指定された幅を超える値の表示される桁数も制限しません。例えば、SMALLINT(3) として指定されたカラムは、通常の -32768 から 32767 の SMALLINT 範囲を持ち、そして、3文字で許容された範囲外の値は3文字以上の文字を使って表示されます。
オプションの拡張属性 ZEROFILL が続いて指定された時は、デフォルトはスペースである埋め込み文字はゼロで置き換えられます。例えば、INT(5) ZEROFILL として宣言されたカラムには、4 の値は 00004 として表示されます。もし整数カラムの中に表示幅よりも大きい値を格納すると、MySQLが複雑なJOINに対してテンポラリテーブルを生成した時に問題が発生するという事に注意してください。これはMySQLは、データは元のカラム幅に収まると仮定するからです。
http://dev.mysql.com/doc/refman/5.1/ja/numeric-types.html