Rubyで設定値だけをconfig.rbとかにあつめて
読み込んで使うとき
config.rb
[ruby]
$user = "Yamada Taro"
$password = "secret"
[/ruby]
main.rb
[ruby]
require "./config"
p $user
p $password
[/ruby]
でできます
ポイント
- “$”をつけるとグローバル変数になる
- requireには”./”をつける
セキュリティ的にはだめだめです
ひびのきろく
Rubyで設定値だけをconfig.rbとかにあつめて
読み込んで使うとき
config.rb
[ruby]
$user = "Yamada Taro"
$password = "secret"
[/ruby]
main.rb
[ruby]
require "./config"
p $user
p $password
[/ruby]
でできます
ポイント
セキュリティ的にはだめだめです
Ubuntu 12.04でrbenvでrubyをインストールしようとして
# rbenv install 2.1.2
とするとエラー発生
「The Ruby openssl extension was not compiled. Missing the OpenSSL lib?」
libssl-devをインストールしたら成功しました
# sudo apt-get install libssl-dev
Ubuntu 12.04でComposerでPHPUnitを入れてみました
システム全体で使えるようにしています
まずComposerをインストール
# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer
PHPUnitを入れます
# composer global require ‘phpunit/phpunit:*’
パスを通してどこでも実行できるようにします
# echo ‘export PATH=$HOME/.composer/vendor/bin:$PATH’ >> ~/.profile
パスをすぐに効くようにします
# source ~/.profile
試しに
PHPUnit マニュアル
第2章 PHPUnit 用のテストの書き方 2.1: PHPUnit での配列操作のテスト
にあるテストをStackTest.phpとして保存して
<?php // 引用: http://phpunit.de/manual/4.1/ja/writing-tests-for-phpunit.html class StackTest extends PHPUnit_Framework_TestCase { public function testPushAndPop() { $stack = array(); $this->assertEquals(0, count($stack)); array_push($stack, 'foo'); $this->assertEquals('foo', $stack[count($stack)-1]); $this->assertEquals(1, count($stack)); $this->assertEquals('foo', array_pop($stack)); $this->assertEquals(0, count($stack)); } }
できました
(((((コードと手順がやっつけすぎますが、公開しておきます)))))
Nexus5を買ったので、auのスマフォを昔使っていたガラケーに変えました
Google連絡先を、vcf形式でエクスポートすれば
そのまま取り込めるのですが読み仮名がつかず、すべて英語のところへまとめられるので
読み仮名も取れるようにしてみました
phpを使っているのでphpの実行できる環境が必要、
ガラケーはauのiida G9を使っています
※違う携帯だと異なるかもしれません
まず、Google連絡先をエクスポートします
Gmailにアクセス、赤枠のところをクリックし、連絡先を選びます
出力したい連絡先を選び、Google CSV形式でエクスポートします
ダウンロードしたgoogle.csvのYomi Nameを読み仮名として使います
Yomi Nameに読み仮名が入ってない、もしくは、半角カナでないと効きません
下記、phpコードをconvert.phpなどのファイルに保存し
<?php
$fp = fopen('./google.csv', 'r');
if ($fp === false) {
echo 'cannot open google.csv';
exit;
}
$row = 0;
while (($data = fgetcsv($fp, 100000, ',')) !== false) {
$row++;
// skip first header
if ($row == 1) continue;
echo "BEGIN:VCARD", PHP_EOL;
echo "VERSION:3.0", PHP_EOL;
echo "FN:$data[0]", PHP_EOL;
echo "N:$data[0]", PHP_EOL;
echo "SORT-STRING:$data[4]", PHP_EOL;
echo "TEL;TYPE=PREF:$data[34]", PHP_EOL;
echo "TEL:$data[36]", PHP_EOL;
echo "EMAIL;TYPE=PREF:$data[28]", PHP_EOL;
echo "EMAIL:$data[30]", PHP_EOL;
echo "EMAIL:$data[32]", PHP_EOL;
echo "END:VCARD", PHP_EOL;
}
fclose($fp);
exit;
phpファイルと同じ所にgoogle.csvを設置してphp実行
# php -f convert.php > google.vcf
google.vcfをサクラエディタなどで開いて文字コードをsjisに変更し
ガラケーへ送付、アドレス帳に登録します
変換してくれるソフトやサービスがほしいところです
vcfに足りないものやcsvの取り込むものが違えば、phpを修正してください