画像のフォーマットを判別する

PHP

[git] git サブモジュールについて

$ git clone https://yourname@github.com/yourproject/yourrepo $ git submodule init $ git submodule update もしくは $ git clone --recursive https://yourname@github.com/yourproject/yourrepo

監視系コマンドまとめ

サーバーの接続数を表示する $ sudo watch -d -n 3 "netstat -alpn | grep -E ':(80|443) ' | awk '{print \$5}' | sed -e 's/\:[^.]*$//' | sort | uniq -c | sort -nk1 -r | head -n 20" サーバーの接続状態を表示する $ sudo watch -d -n 2 "netstat -tan…

新規に記事を作成する

$ hugo new post/welcome.md

HUGO で theme を自作する

$ ls archetypes/ config.toml content/ data/ layouts/ README.md static/ themes/ $ hugo new theme my-theme $ ls themes/ my-theme

HUGO で WEB サイトの初期データを作成する

$ hugo new site ~/path/to/your/site $ cd ~/path/to/your/site $ ls archetypes/ config.toml content/ data/ layouts/ README.md static/ themes/

OS 毎のinclude path のセパレーターについて

PHP

PHP の環境変数で使う include_path のセパレーターは、OS 毎に異なる。 例えば、Linux などでは「:」だが、Windows では「;」になる。 そのため、PHP の定数 PATH_SEPARATOR を使うことで、OS に依存することなく設定ができるようになる。 set_include_path…

MySQLでデータをリストアする場合、slow_query_log を OFF にする方がいい場合

MySQL のデータベースをリストアに2日かかった原因を調べていたところ、slow_query_log_file に大量のログが書き出されていたことがわかった。 大量のデータを INSERT しているため、通常の long_query_time で設定している時間以上に SQL の実行に時間がか…

[PHP][Wordpress] Wordpress をコマンドで管理する

SSH + 秘密鍵で運用しているサーバーで Wordpress 本体やプラグインを自動更新できる環境ではないため、コマンドで更新できる方法があったので試してみた。 phar 拡張モジュールは必須なので注意。 Command line interface for WordPress | WP-CLI WP-CLI を…

md2review 実行時に invalid byte sequence in Windows-31J にエラーが出る。

原因はシステムの文字コードと md2review の使用文字コードが異なるため。 なので、md2review に直接文字コードを明示した。 # 下記の1行を追加。 Encoding.default_external = 'utf-8' require 'rubygems'

エクセルのセルにリンク設定された URL を抽出する

リンクが設定された Excel のブックを開く。 ALT + F11 で Microsoft Visual Basic for Application ウィンドウを開く。 挿入メニューから標準モジュールを選択する。 新規モジュールに後述するコードを張り付ける。モジュール名は任意につけていい。 そして…

FuelPHP で PHPUnit が思うように動作しない [追記あり]

Windows 上で FuelPHP を使って PHPUnit を動作させると、次のようなエラーが発生する。 >php oil test Tests Running...This may take a few moments. 'fuel' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識さ…

Ruby 2.1.2 で debugger をインストールする

$ cd ~/ $ git clone https://github.com/mekishizufu/debugger.git $ cd debugger $ git checkout ca451a9bdf $ gem build debugger.gemspec $ gem install debugger-1.6.6.gem Add support for 2.1.2 by jiripospisil · Pull Request #126 · cldwalker/deb…

Vagrant の Ubuntu 12.04 で bundle を実行したらエラーが出た対応策について

bundle でインストールをしたら、下記のエラーが発生した。 $ bin/bundle Fetching source index from https://rubygems.org/ Fetching git://github.com/gregbell/active_admin.git Retrying git clone 'git://github.com/gregbell/active_admin.git' "/hom…

さくら VPS で VNC が起動しない場合

久しぶりに VPS の OS をインストールしようとしたら、VNC が起動しなかった。 原因を調べてみたところ、どれも Java のバージョンが 6 から 7 に上がったことが原因だという古い記事ばかりだった。 最終的には、Java 7 でも VNC が起動したのだが、念のため…

Parallel::ForkManager のサンプル

#!/usr/bin/env perl use strict; use warnings; use Getopt::Long; use Parallel::ForkManager; GetOptions( 'h|help' => \my $help, 'p|process=i' => \my $process, 'verbose' => \my $verbose, ) or pod2usage(); pod2usage() if $help; my $pm = Parall…

Coro で WWW::Mechanize を使ってみる

#!/usr/bin/env perl use strict; use warnings; use Coro; use Coro::LWP; use Data::Dumper; use WWW::Mechanize; my @coros = (); my @urls = qw|https://twitter.com/ https://www.pinterest.com/ http://www.apple.com/|; foreach my $url (@urls) { pu…

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…