2011/04/28

SVN & SSHによる接続

Subversion(サーバー)との接続にあたり、認証をSSHに持たしアクセスする方法を記述します。

SSHで接続する場合、SSH接続するユーザーは、リポジトリへのアクセス権限を保持している必要があります。

作業手順は、
1.サブバージョンをインストール
2.リポジトリの作成
3.svnグループを作成
4.接続確認
の手順でアクセスを設定します。


1.rootでSubversionをインストールします。
# yum install subversion

2.任意のパスにディレクトリを作成し、リポジトリを作成します。(下記は、/home/svn/としています。)
# mkdir /home/svn/
# svnadmin create /home/svn/repos

3.svnグループを作成
#svnグループの追加
# groupadd svn

#svnグループにリポジトリの所有権を与える。
# chown -R :svn /home/svn/

#svnグループに読み書きの権限を与える。
# chmod -R g+wr /home/svn/

#ユーザー webuser をsvnグループに所属させる。
# usermod -G svn webuser

4.接続確認
TortoiseSVNなどのサブバージョンクライアントで下記のリポジトリにアクセスします。
svn+ssh://hostname/home/svn/repos

ちなみに、
TortoiseSVNの設定で、「ネットワーク」-「SSH」を選択して「SSHクライアント」の欄に
(TortoisePlink.exeのフルパス) -C -l (ログイン名) -i (*.ppk 秘密鍵のパス)を入力。
でアクセス可能です。

2011/02/21

CLI版PHPでのクッキーの設定

CLI版PHPでのクッキーの設定

echo "Content-Type: text/html;\n";
echo "set-Cookie: セッション名=値; path=パス; expires=日時; domain=ドメイン名;\n\n";

expires=0 だと、セッション終了時までが有効になります。

secure を付けるとHTTPS時のみ有効になります。

「secure」設定例

echo "Content-Type: text/html;\n";
echo "set-Cookie: セッション名=値; path=パス; expires=日時; domain=ドメイン名;secure\n\n";

2011/02/07

覚えておきたいLINUX コマンド

カーネル
$ cat /proc/version
Linux version 2.4.21-27.ELsmp (bhcompile@bugs.build.redhat.com) (gcc version 3.2.3 20030502 (RedHat Linux 3.2.3-47)) #1 SMP Wed Dec 1 21:59:02 EST 2004

$ uname -a
Linux spti-cms 2.4.21-27.ELsmp #1 SMP Wed Dec 1 21:59:02 EST 2004 i686 i686 i386 GNU/Linux


Apache
Server version: Apache/1.3.33 (Unix)
Server built: Mar 3 2006 19:19:46


Mysql
$ rpm -qi mysql
Name : mysql Relocations: (not relocatable)
Version : 5.0.77 Vendor: CentOS
Release : 4.el5_5.4 Build Date: 2010年11月04日 08時54分57秒
Install Date: 2010年11月15日 11時58分16秒 Build Host: builder10.centos.org
Group : Applications/Databases Source RPM: mysql-5.0.77-4.el5_5.4.src.rpm
Size : 8451667 License: GPLv2 with exceptions
Signature : DSA/SHA1, 2010年11月04日 09時07分21秒, Key ID a8a447dce8562897
URL : http://www.mysql.com
Summary : MySQL のクライアントプログラムと共有ライブラリ。
Description :
MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
client/server implementation consisting of a server daemon (mysqld)
and many different client programs and libraries. The base package
contains the MySQL client programs, the client shared libraries, and
generic MySQL files.


postfix
$ /usr/sbin/postconf | grep mail_version
mail_version = 2.2.1


php
$ php --version
PHP 5.1.6 (cli) (built: Mar 31 2010 02:39:17)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies


CPU情報
$ cat /proc/cpuinfo


MEMORY情報
$ cat /proc/meminfo


システムの情報を表示する [ uname ]
 -a 全ての情報を表示する
 -s カーネル名を表示する
 -n ホスト名を表示する
 -r カーネルリリースを表示する
 -v カーネルバージョンを表示する
 -p プロセッサのタイプを表示する
 -i ハードウェアプラットフォームを表示する
 -o オペレーティングシステムを表示する

2010/12/06

モバイルビジネスを成功に導く8つのTIPS

私を含めた俄かエンジニアへの提言として捉えました。当たり前のことなのに、中々出来ていないことを実感し、戒めの為にも転載ました。

via.開発者への提言

1.アプリケーションを作るのではなく、ビジネスを産み出すことを意識しよう。
アプリケーションを使って何をしたいのかを考えよう。開発したひとつのアプリケーションを通じて、今後もそのアプリケーションの開発を続けていこうとするのか。それともいろいろと組み合わせて使ってもらうためのアプリケーション群を開発していくつもりなのか。そうしたことも念頭において、展開していくモバイルビジネスについて、数年分は無理でも数カ月分の見通しを立てておく必要がある。

2.適切なビジネスモデルを選択する。
成功に至る道筋というのは数多くあるものだ。この中から自らにとって最適なものを選択しなければならない。利用者数や利用期間にこだわらず、とにかく有料でダウンロードしてもらうモデルを選択するのか。あるいは多数の利用者を獲得してずっと使い続けてもらえるような仕組みを考えるのか。後者の場合は広告サポートモデルを利用するケースが多い。

3.利用者の立場にたって考えよう。
利用者がアプリケーションを使うスタイルにはさまざまなものがあることを理解しよう。そして利用者のスタイルに応じたアプリケーションを開発することが大切だ。移動中に携帯電話を使う人もいれば待ち合わせの暇つぶしに使うこともある。あるいは雨の日の時間つぶしに利用する人もいる。提供するアプリケーションがどのようなシチュエーションで利用されることになるのかを理解し、そのシチュエーションに適したエクスペリエンスを提供するようにする必要がある。

4.アプリケーションが評判を集めるように工夫しよう。
人々の興味を集める独自の方法を考えよう。たとえば端末に搭載される新機能を利用する最初のアプリケーションとなることを目指すのも良い。ソーシャルメディア上でのプレゼンスを高め、アプリケーションを取り上げてくれるようメディアなどにも働きかけよう。利用者の人たちが、アプリケーションについて話をしたくなる仕掛けを考えよう。

5.エンゲージメントを意識しよう。
何度も使って貰えるような仕組みを考えよう。一度しか使ってもらえないようなものでビジネスを構築することなどはできない。コンテンツを魅力的にアップデートし、新機能も取り入れよう。もしゲームを作っているのなら、利用者同士で競争したりインタラクトできるようにしよう。

6.ブランドを構築しよう。
アプリケーション以外にも利用者がブランドに親しみを感じる方法を考えよう。アプリケーションは携帯電話用でも、携帯電話以外にもブランド化の道はある。アプリケーションポートフォリオを提供しているBackflip Studiosは企業ブランドを構築し、Angry Birdsはアプリケーションブランドを構築していると言えるだろう。双方ともにブランドイメージ構築のために時間もお金も投資し、ブランド価値を高めようと努力している。

7.パフォーマンス評価も怠りなく(ダウンロード数のみではだめ)。
モバイルアプリケーションのサクセスストーリーでは、ダウンロード数というひとつの指標ばかりが注目されることが多い。しかしモバイルビジネスではダウンロード数のみではなく、アプリケーションのライフタイムにも注目することが必要だ。つまり日々どれくらい利用されるのか、アプリケーションの利用時間はどの程度なのか、有料アップグレードへのコンバージョン率はどの程度なのかということも評価しておくことが必要だ。こうしたデータに基づいて、どの部分に注力して開発するのかを判断する指標が必要なのだ。たとえばフォーム入力のリクエストに対して半数が入力してくれないというような場合、利用者に入力求める方法や必要性について再考する必要がある。ダウンロード数というのは、利用者と関係を築いていくきっかけにしか過ぎないものなのだ。

8.テストと利用者の声。
テレビは視聴率調査を通じて、どのような番組がもっとも人気を集めるのか調査を行なっている。映画業界でもフォーカスグループのスクリーニングを行って、やはり同様の調査を行なっている。モバイルビジネスにもこうしたメディアビジネスと同様の側面があり、やはりこうした調査は行っておくべきだ。まず小さな市場向けにリリースして利用者の反応を見るという手法も大切だ。利用者からの評価を参考にしてアプリケーションの充実化をはかるのは良い考えだ。利用者も登場してきたアプリケーションに対しては期待を持つものだ。それが有料アプリケーションなら尚更のことだと言える。利用者の声をアプリケーションの機能実装に取り入れることはモバイルビジネスにとってことの他重要なことだと言える。

2010/11/23

Unable to open class file

Eclipse 上で Android プロジェクトを新規に作成すると、

エラー: Unable to open class file

R.java: No such file or directory

と表示される場合があったりします。
R.java は自動生成されるファイルで、プログラマが触ってはならないファイル。
うーん困った。。。

上記エラーが表示された場合は、作成したプロジェクトをリフレッシュし、
その後、プロジェクトをリビルドすれば大体OK!

「自動的にビルド」に設定している人は、一旦解除し、ビルドして下さいな。

2010/11/22

SSHの鍵作成方法(2)

「putty.exe」で秘密鍵と公開鍵を生成して、SSHアクセスを試みる方法は以前行ったが、今回は、Linux上で鍵を生成する。

①RSA暗号方式の鍵を作成(因みにDSA暗号方式の場合「-t dsa」と入力)
 $ ssh-keygen -t rsa

②.sshディレクトリに秘密鍵(id_rsa)と公開鍵(id_rsa.pub)を作成
 Generating public/private rsa key pair.
 Enter file in which to save the key (/home/nori/.ssh/id_rsa): ←[Enter]キーを押す
 Enter passphrase (empty for no passphrase): ←パス入力(無くてもよい)
 Enter same passphrase again: ←同じパス入力(無くてもよい)
 Your identification has been saved in /home/mobile/.ssh/id_rsa.
 Your public key has been saved in /home/mobile/.ssh/id_rsa.pub.
 The key fingerprint is:
 f9:81:b6:c7:8f:b9:aa:3e:0e:c6:bd:35:19:a1:1e:06 mobile@hogehoge

③「authorized_keys」ファイル作成
 $ mv id_rsa.pub authorized_keys ←ファイル名を変更
 $ chmod 600 authorized_keys ←パーミッションを変更

④「id_rsa」ファイルをどうにかしてダウンロードし、PuTTYgenを起動

⑤「PuTTYgen」画面が開いたら、[ファイル]→[秘密鍵の読み込み]を押下

⑥DLした「id_rsa」ファイルを指定

⑦読み込みに成功した旨のメッセージが出たら「秘密鍵を保存」ボタンを押下

これでアクセス可能になります。