近況

最近、勢いだけでiPod touchを購入しました。

iPod touchSafariでネットしたり、Google Mapで遊んだりと楽しいですし、Youtubeがあるので音質にさえこだわらなければ気になる曲も簡単に聴けちゃいます!

あと自分はGoogleカレンダーiPod touchの内蔵カレンダーとを[NUEVASYNC] https://www.nuevasync.com/ というウェブサイトを通して同期させて、スケジュール管理とかにも使っています。

別にAppleの回し者じゃないですが、iPod touchは相当面白いガジェットだと思います。

ただ、欲しいと思えるケースが無いのが残念ですね。しばらくはケース探しが続きそうです。

エンジニア魂

ちょっと前ウェブカメラを使ったQRコードリーダを作っていた時のことです。

普段使っていないC++で作っていたこともあり、ちょっとしたバグに行き詰ってしまいました。

んで、何回かデバッグした後に解決しないバグに心が折れて

「よし!先生に聴こう!」

となり、C++に詳しそうな先生の元に行きました。


それで先生に現在作っているものの説明、起こっているバグの説明、自分なりの解決策の説明をして助けを求めました。

先生は僕の隣に座りノートPCの画面を見て

先生「じゃあデバッグしよか」

僕「一応何回かしました」

先生「こういう(デバッグ)のはねぇ1000回くらいはしないと」

僕「1000回ですか!?

先生「解決せずに打ちひしがれることも多いけどね(笑)」

と言う感じでデバッグを進めていき何とか自力で解決できそうな所まで行って先生にお礼を言って帰りました。


このとき僕が先生に教わったのはC++のプログラミング技術ではなく

諦めずに何度も何度も挑戦する心でした。


これを心に刻んでからプログラムを書いていて問題が起こると心が躍ります(笑)


先生ありがとう!

血液型の本を読んでみた

O型自分の説明書

O型自分の説明書


血液型占いとかあんまり信じる方じゃないのですが友人の進め+価格が1000円だったってことで購入してみました。

読んでみた感想としてはやっぱり当てはまる部分もありそうでない部分もありといった内容ですね。

まあちょっと笑えるところもあったので1000円だと思えば電車の中の暇つぶし用に買ってみるのもありですよ(笑)


興味のある人は立ち読みだけでもしてみてはどうでしょうか。

MacBookが欲しい

学校の帰りにとある電気店MacBookを見てたんですが、いやー欲しいですね。
MacBook Proは持ち運ぶには重いのでNGですが、MacBookなら持ち運べるし、Appleストアで買っても学割なら

13インチ : ホワイト
2.4GHz

のモデルのMacBook

メモリを2G → 4G
HDDの容量を160G → 250G

に変更しても¥176,552で買えちゃいます!

…高い(泣)

Cache::Memcached::Fastでmemcachedを使ってみました。

とりあえず、memcachedperlから使ってみたかったので以下のような簡単なスクリプトを書いてみました。

1 #!/usr/bin/perl -w
2
3 use strict;
4 use warnings;
5
6 # memcachedのサイトで紹介されていたCPANモジュール
7 use Cache::Memcached::Fast;
8
9 # CPANのドキュメントに載っていたnewの引数が多すぎて面倒だったので
  テスト用にお手軽な方法を探していところ以下の方法を発見!
  とりあえず利用させてもらいました。
10 my $memcached =  new Cache::Memcached::Fast(
                           +{ servers=>['127.0.0.1:11211']} );
11 my $k = "test_data";   # Keyの名前
12
13 # データの存在チェック
14 print "Check test data = ";
15 if ( defined($memcached->get($k)) )
       {print "true\n";} else {print "false\n";}
16
17 # データの登録
18 $memcached->set($k,'testdata',100);
19 print "Set test data.\n";
20
21 # データの取得、表示
22 print "Get test data = ".$memcached->get($k)."\n";
23
24 # データの削除
25 $memcached->delete($k);
26 print "Delete test data.\n";

結果

Check test data = false
Set test data.
Get test data = testdata
Delete test data.

これで、Perlmemcachedを利用することができました。
ただ、newの引数に関してはもう少しドキュメントを読んでおく必要がありそうです。

PECL::memcacheインストールしようとしたらphpizeでこけた(泣)

今日はPECLモジュールをインストールする際にphpizeでこけた時の問題と原因を書いておこうと思います。


phpのバージョンは5.2.6
OSはFreeBSD 6.3です。


まず今回の問題が発生した経緯ですが、phpmemcachedが使いたかったのでPECL::memcachのお世話になろうとして


# pecl install memcache


としたところ。

…
running: phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF
environment variable is set correctly and then rerun this script.


ERROR: `phpize' failed

とかエラーが出てインストールに失敗します。
んで、autoconfとか書いてあるのでチェックしてみます。

# ls /usr/local/bin | grep autoconf
autoconf213
autoconf259
#


みたいな感じでautoconfがいくつか見つかりました。
autoconfはあったので次は"phpize"の中身を見てみました


#vim /usr/local/bin/phpize


そして$PHP_AUTOCONFを検索してみます。
/$PHP_AUTOCONF


すると

101 phpize_check_autotools()
102 {
103   test -z "$PHP_AUTOCONF" && PHP_AUTOCONF=autoconf
104   test -z "$PHP_AUTOHEADER" && PHP_AUTOHEADER=autoheader
105
106   if test ! -x "`$php_shtool path $PHP_AUTOCONF`"; then
107     cat <

のあたりがハイライトされます。
103 test -z "$PHP_AUTOCONF" && PHP_AUTOCONF=autoconf


を見るとPHP_AUTOCONF=autoconf
となっているので、とりあえず/usr/local/bin/にautoconfのリンクを張ってみます。


#ln -s /usr/local/bin/autoconf213 /usr/local/bin/autoconf


autoheaderもついでに


#ln -s /usr/local/bin/autoheader213 /usr/local/bin/autoheader


んでもう一回
# pecl install memcache


ちゃんとインストールすることができました。
どうやらautoconfを複数入れていたせいだったみたいですね。反省


php.iniにextension=memcache.so


を追加して


# php -m | grep memcache


で確認。


次にmemcachedを起動してちゃんとphpから利用できるかの確認
# memcachedの起動
# memcached -d -m 64 -l 127.0.0.1 -p 11211 -u nobody


ちゃんと起動しているかの確認

# ps ax | grep memcached
31548  ??  Ss     0:00.15 ./memcached -d -m 64 -l 127.0.0.1 -p 11211 -u nobody
32567  p0  R+     0:00.00 grep memcache
#

起動はしている感じですね^^
んで、PHPから適当に値を保存、参照するスクリプトを書いて。


実行。



http://gihyo.jp/dev/feature/01/memcached/0002?page=3 で紹介されている 、memcached-tool を使って
ダウンロード→ http://code.sixapart.com/svn/memcached/trunk/server/scripts/memcached-tool


memcachedの状態を使って確認してみる。(memcached-toolの使い方は上記の記事参照)


#./memcached-tool localhost:11211

  #  Item_Size   Max_age  1MB_pages Count   Full?
  5     232 B      245 s       1       1      no


ちゃんと使われていることが確認できました!


これで phpize がこけるイライラから解放!
memcached の利用もできたので満足です(笑)


次はPerlからmemcachedを利用してみますか。