2012年8月27日月曜日

[小ネタ]PHPのSuperGrobal変数$_SERVERについて(PHP)

■スーパーグローバル変数の$_SERVERについて

PHPはスーパーグローバル変数の$_SERVERを利用する事によって、
ユーザからのリクエストヘッダに付加された情報を取得する事が出来る。

いろいろあります。せっかくなので以下にすべて記述してしまいます。
DOCUMENT_ROOT
GATEWAY_INTERFACE
PHP_SELF:実行中のphpスクリプト
QUERY_STRING:
REMOTE_ADDR:
REMOTE_PORT
REQUEST_METHOD:
REQUEST_URI:
SCRIPT_FILENAME:
SCRIPT_NAME:
SERVER_NAME:
SERVER_PORT:
SERVER_PROTOCOL:
SERVER_SIGNATURE:
SERVER_SOFTWARE:
気が向いたら追記します。
全部で15個の情報が取得出来ると覚えておきましょう。




2012年8月26日日曜日

[小ネタ]switch文、文字型変数のコーテーション(PHP)

■PHPの基礎構文
スーパーグローバル変数のGETと基本構文であるswitch分の組み合わせ
※nameという変数のなかの値がそれぞれa,b,cを持つとする。
switch($_GET['name']){
case a :
 $result = "名前はa";
break;
case b :
 $result = '名前はb';
break;
case c :
 $result = "名前はc";
break;
}
echo ($result);

■PHPのストリングについて
Stringの場合、PHPは'(シングルコーテーション)もしくは、"(ダブルコーテーション)で囲む必要がある。

ここでダブルコーテーションとシングルコーテーションの重要な違いについて説明します。
ダブルコーテションで囲まれた文字列の中に含まれる変数は変数として動作します。
例)
$string_x = "文字列型変数X";
$string_a = 'この文字列はstring_xを表現できません。';
$string_b = "この文字列はstring_xを表現できます。";

echo($string_a);
echo($string_b);
するとそれぞれの結果は
この文字列はstring_xを表現できません。
この文字列は文字列型変数Xを表現できます。
となる。

■switch文にbreakが記載されていない場合

switch文ではcaseを記述することで入力値に対応した処理を実行する事が可能ですが、
ブロックの処理を終えた後は明示的にbreak分でswitch文の処理自体を抜ける必要があります。

break文で処理を抜け出さない場合はどうなるでしょう?
答えは次のブロックの処理も実行してしまうです。

caseで一番上のブロックを処理した場合は、順々に下の処理まで実行し、結局すべてのcaseの処理を実行する事になります。

[小ネタ]Linuxで文字列を含むファイルを検索(Linux)

■Linuxで対象ディレクトリ以下のファイルの中をグレップ
find ./ -print | xargs grep use_stylesheet /dev/null

※最後の/dev/nullを入れる事で対象のファイル名を表示する事が出来る。

2012年8月16日木曜日

[小ネタ]symfonyの設定関連(symfony,php,apache)

■apacheを再起動させずに httpdを反映させる
/etc/init.d/httpd graceful

■symfonyでORMの選択
/Applications/XAMPP/xamppfiles/htdocs/symfonytest/config/ProjectConfiguration.class.php
このファイルでORMに何を使うか設定する事が出来る。

■symfonyのキャッシュをクリアするコマンド
symfony cc
※"You must be in a project directory!"と表示される場合がある。
 シンフォニープロジェクトのディレクトリに必ず移動しましょう。



2012年8月11日土曜日

[小ネタ]GarageBandでチップチューンサウンドを再現する(GarageBand,Chiptune)

使用するのはGarageBand6.0.5

■音源の選択
ソフトウェア音源から
”Tight Synth Bass”を選択する。

■音源の編集
音源のノブを調整して行きます。
①サウンドジェネレータ”デジタルモノ”
デジタルものを選択して、デフォルト値から以下を変更
・チューニング:4割
・ハーモニクス:9割5分
・ディケイ:9割
・適用量:9割

②ビットクラッシャーを選択
これは無理矢理4bit,8bitなどにするエフェクト
マニュアルを選択して、ステータス下記をそれぞれ編集
レゾレーション:9割5分
サンプルレートリダクション:9割5分

これでチップチューンサウンドの完成


2012年8月4日土曜日

[小ネタ]コマンドラインからの実行方法(symfony,php)

■コマンドラインからPHPのバージョンを確認する

xamppをインストールしている場合、xamppのphpディレクトリ以下に行けば、
php -vもsymfony -versionも両方実行できる。
でも別のディレクトリで実行できない場合は、環境変数が設定されていない。

システム環境変数の"path"にphp.exeとsymfony.batそれぞれのディレクトリを追加。
セミコロンで区切る事、不要な半角スペースを含まないこと。

そして一度コマンドプロンプトを落とす(これ重要!)

これで通るようになるはず。

[小ネタ]Apacheの設定について(apache, httpd.conf)

■magic_quotes_gpcの設定
magic_quotes_gpc
g,p,cはそれぞれget,post,cookie
意味はわからないけど、これはOnをOffに変えましょう。
理由はいつか調べられたらいいね。★


■httpd.confについて
httpd.confとは何か


■キープアライブとタイムアウトの違い
・キープアライブはセッションが続いている間、別のページとかに行ってももどって来やすいように
ある一定時間はセッションを保っておこうとする仕組み。デフォルトは15秒で設定されている。
・クライアントからの接続要求を受け取ってからタイムアウトになるまでの時間
デフォルトでは300秒、これでも無理な場合はエラーメッセージを返します。


■MaxKeepAliveRequests 
キープアライブオンの時に同時に受ける最大セッション数。









[小ネタ]Linux関連(Linux,tgz,symfony,pear)

■tgzとは

拡張子tarしたあとにgzipしたと言う意味。
tarはファイルを結合しただけのものに対して、gzipは圧縮する。
tarはテープバックする為などに使われていたらしい。
ファイルをまとめて、圧縮するイメージだろうか。

■symfonyのバージョンを調べる
symfony -V
※Vは大文字

■pearのバージョンを調べる方法
C:\xampp\php>pear version

パスに注意、php直下でしか叩けなかった。


2012年8月2日木曜日

[小ネタ]J-unitのバージョン調べる等(Java,J-unit)

■j-unitのバージョンを調べる関数
system.out.println(junit.runner.Version.id());
→標準出力に出力

■equalsオブジェクトと==演算子の違い
・equals()
equalsメソッドはオブジェクトが等価であるかを判定するメソッド
メンバ変数の比較も行ってくれる。

・==(イコールイコール演算子)
==は参照先のアドレスが等価である事を評価する演算子
中身を見ているわけではなくて、全く同じインスタンスを参照しているときにtrueを返す。

■リフレクションとは


リフレクションはJavaクラスからフィールドメソッド等の情報を取得する為のAPI。
と言われてもよくわからないので、使い方を以下に書いてみる。

①通常
以下は通常のメソッド呼び出し。
serviceインスタンスから、getItemsメソッドをジェネリクスにparamのみを持って呼び出している。
service.getItems(param); 通常のメソッド呼び出し

②リフレクション
以下はリフレクションを使ったメソッドの呼び出し。
serviceクラスからメソッドを呼び出す事が出来る。

何が違うかというと、リフレクションを使うと通常の呼び出しだしだと
privateなメソッドなど通常呼び出せないメソッドでも呼び出す事が出来る。
らしい。

■subclass
サブクラスとは継承先のクラスを指す。
継承元のクラスがスーパークラスと呼ばれるのに対して、
継承先のクラスをサブクラスと呼ぶ。