2011年4月25日月曜日

LinkStation LS-QL/1D

■データバックアップ用に買ったLinkStation LS-QL/1Dの設定まとめ
・同時に2TBHDDを購入

■HDDのフォーマット形式
・フォーマット形式はXFS以外選べない
・XFSはLinuxフォーマットでありMac/Winでは読み込めない
・LinkStationのUSBに接続したら読めるというネット情報があったが、HDDの全体を読み込んでくれない
・USBをフォーマットする際には、FAT形式などが選べるが、FATでフォーマットしてもLinkStationが正常に認識しない
・XFS方式は、KNOPPIXなどをCD使って立ち上げれば読めるらしい
→結局あきらめてXFSに2台目をフォーマットして利用


■接続
・NASNavigater2というのが付いているが、使いたくないので他の方法を探す
・FinderのConnect to Serverを利用して、smb://localaddressで接続できた
・LinkStationのコンソールで設定すればFTPも可能

■TimeMaschineのバックアップ設定
・LinkStationのコンソールで対象フォルダを指定し、機能を使用するに設定
・併せてコンソール上でイメージファイルを作成する
・この際、対象ホスト名とMACアドレスが必要となるのだが、MACアドレスが罠
・ホスト名は、ターミナルでhostnameと打って出てくる名前の、.localを除いた前部分
・MACアドレスは、About This Macで出てくる情報のEthernet: MAC Address: ではなく、
Network PreferencesでEthernetを選んで、AdvancedのEthernetタブに表示されているEthernet IDだった。
・Time Machine自体は動くようになったが、今度は容量制限をどうするか調べ中
・下記参照の方法でやっても、どうして実行時に最大容量である1.99TBまで最大化されてしまう(同時にDiscUtilityを見ると、きちんとリサイズされた550GBで表示されている)


・参照
http://www.sky-s.net/sky-blog/archives/2010/04/25-230923.php

2011年4月22日金曜日

Amazon Wev Service利用その3'mysql'

■wordpress実行の際のエラー対処
お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。
と、でてしまう。

■mysql処理
・ルートにパスワード設定
mysqladmin -u root password NEWPASS

・パスワードを使ってルートでログイン
CREATE USER 'user'@'localhost' IDENTIFIED BY 'pass';
GRANT ALL PRIVILEGES ON *.* to 'user'@'localhost' IDENTIFIED BY 'pass';
flush privileges;

create database wordpressdb;

・wordpressのconfig設定を変える
/var/www/html/wordpress
wordpressを入れてあるディレクトリに移動

cp wp-config-sample.php wp-config.php
configファイルをコピー

vim wp-config.php
vimで以下の中身を書き換え

/** WordPress のためのデータベース名 */
define('DB_NAME', 'database_name_here');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'username_her');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'password_here');

上の三つを書き換えるのだが、
書き換える場所を、左側のシングルクオーテーションで囲まれた場所だと思い込み、
何度やっても’エラー: データベースに接続できません’という表示が解消されず、はまってしまっていた。

正しい書き換えは以下の部分。
'database_name_here'
'username_her'
'password_here'

気づいてみれば下らないことだが、はまる時ってこんなもの。


■参照
MySQL Change root Password
http://www.cyberciti.biz/faq/mysql-change-root-password/

2011年4月21日木曜日

メールヘッダー

1.Return-Path
2.X-Original-To
3.Delivered-To
4.Received
Received: from 送信したパソコン名またはホスト名など (右記のIPアドレスのホスト名[送信したコンピュータのIPアドレス])
by 受け取ったサーバ名 with SMTPなどの転送方法 id 転送時のID番号
for 宛先のメールアドレス; 処理時刻
5.Message-ID
メールを特定するためのユニークなID。以下のフォーマットをとる。
Unique ID@ドメイン名(FQDN)
このIDは全世界で唯一のものにならなくてはならないとされる。そのため、ドメイン名はメールサーバのFQDNを用いて、Unique IDは決定方法は任意だが、メールサーバでユニークになるように、プロセスIDや時刻との組み合わせが用いられることが多い
6.From
7.To
8.Reply-To
9.Subject
10.Date
11.MIME-Version
12.Content-Type
13.Content-Transfer-Encoding
14.X-Mailer


■参照
http://memorva.jp/internet/spam_virus/mail_header.php

2011年4月17日日曜日

Amazon Wev Service利用その2

■固定IPの紐付け
・Elastic IPsを選ぶ
・Addressをallocateし、Associate Addressでインスタンスと紐づける

■ログイン
・認証キーをルートに置く
・chmod 400 'key-file'
・sshでログイン($ssh -i 'user_key.pem' ec2-user@'ip address')
※ちなみにインスタンスを右クリックしてconnectを選ぶと接続方法のヘルプが出る。
ルートでのログインを指示されるが、ルートでログインすると以下の文がでるので、
Please login as the ec2-user user rather than root user.
ec2-userでログインする

■yumコマンドを実行してappachを入れる
・sudoコマンドでrootユーザーになる
・yum install httpd
・起動(/etc/init.d/httpd start)
※Security Groupで80番ポートの許可をapplyしておく(最初add ruleした後applyし忘れててアクセスできなかった)

・yum install php
・/etc/init.d/httpd restart

・yum install mysql
・yum install mysql-server
・/etc/init.d/mysqld start

■利用料金の確認
・AWS Management ConsleのAccountをクリック
・Account Activityをクリック

チェックしてみたところ、free tierのはずがお金がかかってることに気づく。(結局10時間ぐらい稼働してて$1.00ぐらい)
実は、無料のmicroではなく、small instanceを選んでいた

すぐに、small instanceをterminate
microで作り直す

新しいインスタンスに再度IPをassociateしなおしてsshでログインしようとしたら出来ない。
userの下にある /.ssh/known_hosts のメッセージを消去しないとだめらしい。

削除して再度ログイン。今度は成功

■Apacheのルートディレクトリ
/var/www/html/

■wordpressインスト
wget http://ja.wordpress.org/latest-ja.tar.gz
ar zxvf latest-ja.tar.gz -C /var/www/html/

■php.iniの場所
/etc/php.ini


■参照
http://tak86it105.seesaa.net/index-2.html

2011年4月15日金曜日

【ひとりStartMac】から学ぶ

http://www.ideaxidea.com/archives/category/startmac

■特に感動したもの
・Shift+Optionを押しながらボリュームを調整すると1/4ずつあげたりさげたり出来る
・ターミナルでsayコマンドを使うと、発音してくれる
・ターミナルで「pbcopy」「pbpaste」を使うと、クリップボードにコピー、クリップボードからペーストできる
$ ls -la | pbcopy

2011年4月13日水曜日

Amazon Wev Service利用

■EC2を無料で使ってみる
・アカウント登録
・クレジットカード登録
・住所(通常のアマゾンから引用可能だった)
・電話確認
着信>暗証番号入力
・サブスクリプション認証
・email認証
→使用可能に

■作業環境構築
・認証用のキーを作成する
・インスタンスを作成する(フリー枠を利用)
http://aws.amazon.com/jp/free/

2011年4月10日日曜日

アンドロイドアプリ1

■main.xmlのタグ
・xmlns:android
アンドロイドレイアウト用であることを示すためのもの。必ず以下の用に競ってする
・android:orientation="vertical"
部品を並べる向き
・ android:layout_width="fill_parent"
android:layout_height="fill_parent"
"fill_parent"は幅一杯に拡げて表示

2011年4月7日木曜日

JSON形式

■通常配列との比較
・JSON形式
$test = array('1'=>'apple','2'=>'orange','3'=>'peach');
echo json_encode($test);

{"1":"apple","2":"orange","3":"peach"}


・通常配列表示
$test = array('1'=>'apple','2'=>'orange','3'=>'peach');
print_r ($test);

Array ( [1] => apple [2] => orange [3] => peach )


$test = array('1'=>'apple','2'=>'orange','3'=>'peach');
$test2 = join("",$test);
echo $test2;

appleorangepeach

配列を理解する

■配列
input type="checkbox" name="arr[]" value="test1"
input type="checkbox" name="arr[]" value="test2"
input type="checkbox" name="arr[]" value="test3"
とすると、
arr[0] = test1
arr[1] = test2
arr[2] = test3
となる
submitで一括で送り、受け取り同様に
$POST_['arr'][0]
$POST_['arr'][1]
$POST_['arr'][2]
でとれる。


satart.php

6 <form method="post" action="next.php">
7
8 <?php
9 $a = 1;
10 while($a < 5){ ?>
11 <input type="checkbox" name="arr[]" value="<?php print $a; ?>"><?php print $a; ?>
12 <br />
13 <?php $a++;
14 }
15 ?>
16 <input type="submit" value="GO">
17 </form>


next.php

1 <?php
2
3 if(isset($_POST['arr'])) {
4 for ( $i = 0; $i < count( $_POST['arr']); $i++) {
5 echo $_POST['arr'][$i]."<br />";
6 }
7 }
8 ?>





■参考
PHPでフォームで送信されたチェックボックスの値を受け取るには?
http://kattsuk2.blog111.fc2.com/blog-entry-16.html

基本的なフォーム要素
http://www.kanzaki.com/docs/html/htminfo31.html

ソフィのphp入門:array()
http://nyx.pu1.net/reference/typearray/func_array.html

2011年4月6日水曜日

MAMPとXAMPPのmysql競合

■問題点
当初MAMPを利用していたMBPで、今回XAMPPへと乗り換えたが、
terminal上でmysqlコマンドを実行すると、まずMAMP側のmysqlを読み込みに行く状態を解決出来ない

■結論
/usr/bin/に、mysqlのシンボリックリンクが存在しており、
そのリンク先がMAMPのmysqlだった

■解決プロセス
・mysqlを実行すると以下のエラーが出る
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/Applications/MAMP/tmp/mysql/mysql.sock' (2)

・/etc/のbashrcや、ローカル上の.bash_profileなどにMAMPを読み込みに行く記述はない

・envコマンドを打ってみる
特にMAMPを読み込みに行く設定はない

・which mysqlでどのmysqlを読み込みに行っているかチェックしてみる
/usr/bin/mysql

・/usr/bin/mysqlをチェック
シンボリックリンクになっており、MAMPのmysqlがOriginalになっていた

・/usr/bin/mysqlのシンボリックリンクをremove
rm /usr/bin/mysql

・lnコマンド実行
ln -s /Applications/XAMPP/xamppfiles/bin/mysql /usr/bin/


解決(ぱちぱちぱち)

2011年4月4日月曜日

現在のフォルダの内容表示

■ファイルだけ表示

1 <?php
2 //ディレクトリを開く
3 $dir=@opendir(getcwd()) or die("ディレクトリのオープンに失敗しました");
4 while($file = readdir($dir)) {
5 if (!is_dir($file)){
6 echo $file ."<BR>";
7 }
8 }
9 closedir($dir);
10 ?>


■フォルダも表示

1 <?php
2 //ディレクトリを開く
3 $dir=@opendir(getcwd()) or die("ディレクトリのオープンに失敗しました");
4 while($file = readdir($dir)) {
5 if (!is_dir($file)){
6 echo $file ."<BR>";
7 }
8 else {
9 echo "/".$file ."<BR>";
10 }
11 }
12 closedir($dir);
13 ?>



■フォルダにリンクもつける

<?php
$dir=@opendir(getcwd()) or die("ディレクトリのオープンに失敗しました");

while($file = readdir($dir)) {
if (!is_dir($file)){
echo $file ."<BR>";
}
else { ?>
<a href="<?php echo $file; ?>"><?php echo $file; ?></a><br/>
<?php
}
}


closedir($dir);

?>



・参照
http://masago.kir.jp/php20041028.php



■ひとつ上のフォルダを見に行く場合
ディレクトリかどうかを判断するis_dirはそのフォルダを参照しにいった場合に返り値を返すので、
opendirの値だけ上の階層にしても、if (!is_dir($file))のままではfalseしか戻さない。
※ファイル名だけ渡しても、フォルダとは判断してくれない

以下のようにしたら上手くいった
if (!is_dir('..'.DIRECTORY_SEPARATOR.$file)){

・DIRECTORY_SEPARATOR
ディレクトリの区切り文字
※これによりOSの違いを回避できる。べつにここでは"/"でもよかったけど、使ってみた。

■参照
PHP入門"is_dir"
http://nyx.pu1.net/function/filesystem/is_dir.html

PHPで、ディレクトリ構造をXMLに書き出すプログラムを作成しています。
http://q.hatena.ne.jp/1182482759

OSの判別
http://nyx.pu1.net/sample/tips/check_os.html

Xampp設定、eclipseアンドロイド開発設定再度

■MacBookPro側にもXamppを導入し、アンドロイド開発環境設定

■Xamppのhtdocsへのエイリアスをホームディレクトリにつくる
ターミナル上でエイリアス(シンボリックリンク)を作成
ln -s /Application/XAMPP/xamppfiles/htdocs /Users/username/

■eclipseのアンドロイド開発環境設定
・help>Install New Software
・Work with:に右のアドレスを記入"https://dl-ssl.google.com/android/eclipse/
・インストール

・グーグルサイトから直接android sdkをダウンロード
・eclipseのpreferenceを開き、androidタブから、SDK locationを設定
・Android SDK and AVD ManagerがWindowタブ、もしくはメインコンソールアイコンから開けるようになるので、
開いて、Available packagesをインスト

■エミュレーターのセッティング
・ndroid SDK and AVD ManagerのVirtual deviceで、新しくdeviceを作る
・プロジェクトをandroid projectで作成
・runするとエミュレーターが起動する

→エミュレーターのサイズを設定する方法
RunタブのRun Configurationsで、プロジェクトを選び、
TargetタブのAdditional Emulator Command Line Optionsに下記のコマンドを入れる
-scale 0.5
これで半分の大きさになる。

■実機で実験する場合
・Galaxy Sの場合
アプリケーション>開発>USBデバッグをチェック
あとは繋がってる際にプログラムをrunすると選択肢に現れるか、自動的に実行される
※Run ConfigurationsでDeployment Target Selection ModeをManualにしていた場合