2013-01-01から1年間の記事一覧

Perl で Redis を操作する簡単なサンプル

#!/usr/bin/env perl use strict; use warnings; use Redis; my $redis_host = '127.0.0.1'; my $redis_port = 6379; my $redis = Redis->new(server => sprintf('%s:%d', $redis_host, $redis_port)); # Use UNIX domain socket # my $redis = Redis->new(s…

Windows 版 Redis を入手する

Windwos 版 Redis は Redis 公式サイトでは配布されていない。 Microsoft Open Tech group が Windows 版のバイナリを開発しているとのこと。運用に適しているとは言い難いけれども、開発するために稼働させるには必要十分とのこと。 The Redis project does…

Windows で Memcached を使う

Memcache の公式サイトには Windows 版のバイナリがないため、ユーザーが作成したバイナリファイルを利用するのが手っ取り早い。 しかし、検索をしてみると情報が古いものばかりで、memcachedd 1.2.6 の情報ばかりだった。現在の最新版は 1.4.14 で探してみ…

Compass のアンチョコ

# 変更を監視して、保存する度にコンパイルする % compass watch sass/screen.scss >>> Compass is polling for changes. Press Ctrl-C to Stop. # 一行に圧縮 % compass watch --output-style compressed sass/screen.scss

リバースプロクシの設定方法

変更前。 (この設定ファイルは Windows 版 Apache) <IfModule mod_proxy.c> ProxyRequests Off <Proxy *> Require all granted </Proxy> </IfModule> 変更後。 <IfModule mod_proxy.c> ProxyRequests Off <Proxy http://localhost:5000/> Require all granted </Proxy> ProxyPass / http://localhost:5000/ ProxyPassReverse / http://localho…</ifmodule>

SQL の IN 句を DBI のプリペアードステートメントで使う場合

my $dbh = DBI->connect(...); my @users = ('yamada', 'sato', 'suzuki', 'takahashi'); my @values = map {'?'} @users; my $place_holders = join ', ', @values; my $sql = sprintf('SELECT id, timestamp FROM sample WHERE users IN (%s);', $place_ho…

Windows 上で SASS を利用したときに、CSS の指定文字コードを UTF-8 にする

Windows で Ruby を動かすと規定の外部エンコーディングが Windows-31J で指定されている。そのため、日本語が含まれていると、「Invalid Windows-31J character…」というエラーが発生する。これは、SASS で出力した CSS に指定文字コードが「Windows-31J」…

「シンプルなWebアプリを今、自分なりに書いてみる」を Mojolicious 4.0 に対応させてみた。

「シンプルなWebアプリを今、自分なりに書いてみる」が 2013年5月にリリースされた 4.0 に対応していないので、自分なりに書き直してみた。 修正したのは、Mojolicious::Controller で廃止された API を修正した。 #!/usr/bin/perl use Mojolicious::Lite; u…

ファイル属性の変更を git 上で管理する

git

Windows で作成したファイルを git push し、Linux や FreeBSD で git pull したファイルの属性は、0644 で記録されている。 これらのファイルに実行権限 (ファイル属性の変更) を付与して、git commit して git push した後に、Windows で git pull すると…

FreeBSDで github を利用する

Github - Generating SSH Keys ここを見れば、何とかなる。

cpanm をローカルディレクトリ内にインストールする際の設定

% mkdir -p ~/perl5/extlib/perl5 % echo 'export PERL_CPANM_OPT="--local-lib=~$HOME/perl5/extlib/perl5"' >> ~/.zshrc % echo 'export PERL5LIB="$HOME/perl5/lib:$HOME/perl5/extlib/perl5/lib/perl5:$PERL5LIB"' >> ~/.zshrc

多次元配列のネストした配列から重複した値を除く

#!/usr/bin/env perl use strict; use warnings; use 5.014; use Data::Dumper; my @duplicated_list = ( ['apple', 'banana', 'orange', 'strawberry', 'pineapple', 'grapefruit', 'grapefruit'], ['apple', 'banana', 'orange', 'strawberry', 'pineapple…

ハッシュをネストした配列で、ハッシュの特定のキーを基に重複した値を除く

#!/usr/bin/env perl use strict; use warnings; use 5.014; use Data::Dumper; my @duplicated_hash = ( {url => 'http://www.yahoo.co.jp.', title => 'Yahoo! Japan'}, {url => 'http://www.yahoo.co.jp.', title => 'Yahoo! Japan'}, {url => 'http://ww…

正規表現で全角文字(ひらがな・かたかな・漢字、記号など)、半角カタカナをマッチさせる

#!/usr/bin/env perl use strict; use warnings; use Encode; use utf8; # 全角文字、全角記号、全角英数字、半角カナを含めている my $strings = "Aあb漢Cイd字0ギ-ャ1ゃ213=~3\\^_%―$\"#\tわ\n−Z"; my @chars = split '', $strings; my $utf8 = find_enco…

FreeBSD の Perl がアップグレードされた場合の対応方法

おそらく vim をアップグレードしたタイミングで、Perl のバージョンもアップグレードしたようだ。これまで正常に動作していたスクリプトが、モジュールを読み込めないとエラーを出しているのに気が付いた。 「/usr/ports/UPDATE」を確認すると、 20130612: …

ディレクトリを走査してファイルの絶対パスと相対パスを出力する

指定したディレクトリ内にあるファイルの絶対パスと相対パスを取得する。 package practice; import java.io.File; import java.io.IOException; public class GetFilePathList { public static void main(String args[]) throws IOException { //String pre…

文字列の一部を取得する mb_substr の動作について

PHP

全角半角が混在する文字列を操作する場合の実行結果を確認する。 文字列の文字コードは UTF-8 とする。 文字コードを指定しない場合: %s</p>', $after); $after = mb_substr($string, 0, 5, 'UTF-8'); printf('<p>文字コードを指定した場合: %s</p>', $after); ?> 実行…

削除・名称変更・移動できないファイル名を操作する

ファイルを消すこともファイル名も変更できないファイルを操作する。 まずは ls コマンドで iノード番号を調べる $ ls -i 1257928 消せないファイル名の画像_01.jpg 1257923 消せないファイル名の画像_02.jpg 1257924 消せないファイル名の画像_03.jpg 12579…

Compass をインストールする

Compass を試してみるために、数年ぶりに Ruby をインストールしてみる。 gem 自身をアップデートしてみると、下記のエラーが発生した。 C:\Users\littlebuddha>gem update --system Updating rubygems-update Fetching: rubygems-update-2.0.3.gem (100%) S…