2010年12月12日日曜日

Android SDK インストール

Android 用の簡単なゲームでつくってみようかと思いツールをインストールしてみました。

参考にしたのは「世界を目指せ!Androidアプリ開発入門」です。なかなかわかりやすい解説でしたがインストール法で具体的な記述例がないのがちょっと残念でした。

とりあえず説明通りにやりサンプルが動くところまで入ったのですが、いざ開発と思って ddms.bat を起動するとエラーになる><;
どうやら adb というやつがエラーになっているらしい。adb ってなんだ?とググッてみると Windows7 x64 ではすんなり動かないといった記述がありました。

う~ん、あれこれやってみるがうまく動かない><;

で、とりあえず SDK のフォルダーを adb で検索すると adb.exe というファイルが見つかりました。お!?

ってことで \android-sdk-windows\platform-tools にパスを通してやると無事起動できました。

2010年11月1日月曜日

PHP zip.so

お客様がテストに使うスタブですが、これまで社内のテストサーバーを開放してきましたが、サーバーの時計の変更依頼が結構あります。しかし、複数のお客様に使っていただいているのでこれではまずい!
で、スタブ用仮想マシンのイメージを配布することにしました。

で、CentOS 5.3 に PHP を入れて zip モジュールをインストールしようとしたところでつまづく><;

[root@localhost ~]# pecl install zip
pecl/zip requires PEAR Installer (version >= 1.7.0), installed version is 1.4.9
No valid packages found
install failed

げ!以前はこんなエラーは出なかったのに><;

メッセージをよく読むと PEAR Installer のバージョンが古いと言っているようです。う~ん、Redhat の標準モジュールはとにかく古いからなぁ…

で、あれこれ調べて見たのですがよくわかりません。

もしかして PECL にバージョンを指定するオプションがあるのではないかとヘルプを見ますがどうも見当たらない… で、PECL install で適当にググっていると、モジュール名のところに xxx.tgz となっている記述がある!

そこで PECL のサイトに行って調べるとインストーラーのバージョン 1.4.9 で OK なのは 1.8.10 らしい。で、これのファイル名が zip-1.8.10.tgz になっていたので下記を実行

[root@localhost ~]# pecl install zip-1.8.10.tgz

大成功でした^^;

2010年10月8日金曜日

Windows7 共有サーバーにつながらない2

共有サーバーに繋がらない件で、lmhosts を設定して繋がるようにはなったのですがどうもスッキリしません。

そこでちょっと調べてみました。

C:\>net view
システム エラー 6118 が発生しました。

このワークグループのサーバー一覧を現在、利用できません。

ん?ブラウザーにつながらない!

C:\>nbtstat -a pdc

ローカル エリア接続:
ノード IP アドレス: [10.xxx.xxx.xxx] スコープ ID: []

ホストが見つかりませんでした。


お!原因が見えた気がする!

実はこのマシン1つの物理セグメントに2つの論理セグメントがありまして、1枚の NIC に 192.168.xxx.xxx と 10.xxx.xxx.xxx の2つの IP が振ってあるんです。

ということで 10.xxx.xxx.xxx を削除してみると…何の問題もなくつながってしまいました。Windows XP では問題なく使えていたのに><;

2010年10月7日木曜日

Windows7 共有サーバーにつながらない

どうも繋がったり繋がらなかったりする><;

グーグル先生に聞いてみたところ「ネットワーク セキュリティ: LAN Manager 認証レベル」を変えろとのこと。やってみたがやはり繋がらないときがある…

ping を撃ってみると通るのでネットワークの問題ではなさそう。となるとWINS か?

で、「C:\Windows\System32\drivers\etc\lmhosts.sam」を編集して共有サーバーを設定する。

おお!、エクスプローラーですんなり開けた\(^_^)/

# どうも WINS サーバーをうまく見つけられないようだ><;

2010年9月21日火曜日

CentOS, Redmain

プロジェクト管理に Trac を使おうかと思ってインストールしたのですがスタンドアローンでは動くのですが Apache 経由だと trac ライブラリーがないとか何とかのエラーが出てしまいまして、めんどくさくなったので Redmine を入れてみました。

1. MySQL のインストール
# yum -y install mysql-server
# yum -y install mysql-devel

2. MySQL 文字セットの変更
# vi /etc/my.cnf
[mysqld]
default-character-set=utf8
skip-character-set-client-handshake

3. DBとユーザーの作成
# mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO redmine@localhost IDENTIFIED BY 'xxxxxxxx' WITH GRANT OPTION;
mysql> CREATE DATABESE redmine;

4. 下準備
# yum install kernel-devel zlib-devel openssl-devel httpd-devel gcc-c++ apr-devel

5. Rubyのインストール
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p302.tar.gz
# tar xzvf ruby-1.8.7-p302.tar.gz
# cd ruby-1.8.7-p302
# ./configure --prefix=/usr
# make && make install
# ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]

6. RubyGemsのインストール
# wget wget http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz
# tar xzvf rubygems-1.3.7.tgz
# cd rubygems-1.3.7
# ruby setup.rb
# gem -v
1.3.7

7. Ruby on Railsのインストール
# gem update --system
# gem install rails -v=2.3.5

※バージョンを指定しないとだめなようです。

8. Redmineのインストール
# wget http://rubyforge.org/frs/download.php/72201/redmine-1.0.1.tar.gz
# tar xzvf redmine-1.0.1.tar.gz
# mv redmine-1.0.1 /var/www/redmine
# cd /var/www/redmine/config
# cp -p database.yml.example database.yml
# vi database.yml
production:
adapter: mysql
database: redmine
host: localhost
username: redmine
password: *************
encoding: utf8
socket: /var/lib/mysql/mysql.sock

# vi environment.rb
20 Rails::Initializer.run do |config|
21 # Settings in config/environments/* take precedence those specified here
22 config.action_controller.session = { :key => "_myapp_session", :secret => "123456789012345678901234567890" }

# gem install mysql

9. テーブルの作成と初期データーの投入
# rake db:migrate RAILS_ENV="production"

# rake load_default_data RAILS_ENV="production"
Select language: bg, bs, ca, cs, da, de, el, en, en-GB, es, eu, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] ja

10. 動作確認
# cd /var/www/redmine
# script/server -e production

http://192.168.71.40:3000/ をブラウザーで開く

#うまくいったらCtrl+Cでシャットダウン

11. Passengerのインストール
# gem install passenger
# passenger-install-apache2-module
Welcome to the Phusion Passenger Apache 2 module installer, v2.2.15.
> snip
solve any problems.

Press Enter to continue, or Ctrl-C to abort.
☆ Enter を押す

> snip
applications on Apache, without any further Ruby on Rails-specific
configuration!

Press ENTER to continue.
☆ Enter を押す

12. Apacheの設定
# cd /var/www/redmine
# chown -R apache:apache files log tmp config/environment.rb
# ln -s /var/www/redmine/public/ /var/www/html/redmine

# vi /etc/httpd/conf.d/passenger.conf
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15
PassengerRuby /usr/bin/ruby
RailsBaseURI /redmine

# apachectl restart

13. SMTP設定
# cd /var/www/redmine/config
# cp -p email.yml.example email.yml

production:
delivery_method: :smtp
smtp_settings:
address: 192.168.79.11
port: 25
domain: creansmaerd.co.jp
# authentication: :login
# user_name: "redmine@example.net"
# password: "redmine"

14. デフォルトの管理者アカウント
login: admin
password: admin

15。 dateフォーマット修正
デフォルトのdateフォーマットではエラーを起こすので修正します。
1. 管理者でログイン
2. [Administration]をクリックして管理画面を開く
3. Settings
4. Display
5. Date format, Time format を変更

2010年1月13日水曜日

WinSCP で UTF-8 のファイル名が文字化け

WinSCP で UTF-8 のファイル名が文字化けしてしまった。

普段 Linux で日本語のファイル名を扱うようなことはないのですが、簡単にニックネームとファイル名を一致させたくて手抜きをしました^^;

WinSCP で保存ディレクトリーを見ると見事に文字化けしている…

早速ググって見ると設定の SFTP になにやらあるらしいことが書いてあるのですが、私の使っているバージョン (4.1.9) には無い><;

速攻でバージョンアップ(4.2.5)して見るが変わらず…

で、設定を見てみると「環境」のところに「ファイル名をUTF-8でエンコード」というのが「自動」になっている。で、これを「オン」にしてみたところちゃんと表示できた\(^o^)/

2010年1月8日金曜日

PHP: session.use_trans_sid = 1 のバグ

携帯用サイトで session.use_trans_sid = 1 にしてセッションIDを URL に付けるようにしたのですがたまにリンクがおかしくなる現象に遭遇しました。

具体的には、<a href="abc.php?SID=xxxxxx"> となるべきところが <a href="abc.php"?SID=xxxxxx> とセッションIDが終端の " の後ろに付いてしまうというものです。

そこで下記のプログラムを走らせてみたところ見事に再現したので、まぁ PHP のバグだろうなぁと思っております。

■ソース
<?php
ini_set( 'session.use_cookies', '0' );
ini_set( 'session.use_trans_sid', '1' );
ini_set( 'session.use_only_cookies', '0');
session_start( );
for ( $i = 0; $i < 1000; ++ $i )
{
?>
<a href="test.php?test=<?php echo $i; ?>"><?php echo $i; ?></a><br />
<?php
}
?>

■結果
<a href="test.php?test=0&SSID=edttcli7iqip5vnsqu8a0mgvl4">0</a><br />
<a href="test.php?test=1&SSID=edttcli7iqip5vnsqu8a0mgvl4">1</a><br />
中略
<a href="test.php?test=99&SSID=edttcli7iqip5vnsqu8a0mgvl4">99</a><br />
<a href="test.php?test=100"?SSID=edttcli7iqip5vnsqu8a0mgvl4>100</a><br />

どうも、タグの中で <?php ?> を使った場合に発生する現象のように思えたので下記のように書き換えてやったところ、問題が発生しなくなりました。

■ソース
<?php
ini_set( 'session.use_cookies', '0' );
ini_set( 'session.use_trans_sid', '1' );
ini_set( 'session.use_only_cookies', '0');
session_start( );
for ( $i = 0; $i < 1000; ++ $i )
{
$s = '<a href="test.php?test="' . $i . '">';
?>
<?php echo $s; ?>"><?php echo $i; ?></a><br />
<?php
}
?>