2009年8月30日日曜日

文字化け

研究室HPを自宅のWebサーバに入れて、みようとしたら文字化けしてた。

確認事項
1、htmlのheadに文字コードが書かれているか?
2、Appacheの設定(httpd.conf)で”AddDefaultCarset”が無効になっているか?


Apache(Apache2)基本設定パート1
6.Apahce2での文字化け対策 (2のみ)
Apache2ではデフォルトで文字コードが設定されています。具体的にはhttpd.confの以下の部分です。このディレクティブがあるために、HTML内でMETAタグを使って文字コード指定した場合でも文字化けが発生してしまいます。
AddDefaultCharset ISO-8859-1
このためApache2を使用する場合には、必ず以下のようにAddDefaultCharsetディレクティブをコメントアウトしておきましょう。
#AddDefaultCharset ISO-8859-1

文字コードのまとめ

1、viにおける設定

2、CentOSにおける設定

PHPでファイルのダウンロード

これは、論文データベースに使える。

PhpTips
PHP出力をダウンロードさせる

例えば、下記のようなヘッダをつければ、 JPEG ファイルをブラウザにダウンロードさせることが可能です。

こちらは、Content-Disposition に attachment を指定しています。

mb_http_output("pass");
header("Content-type: image/jpeg");
header("Content-Disposition: attachment; filename=image.jpg");
header("Content-length: " . filesize("/tmp/image.jpg"));
readfile("/tmp/image.jpg");

IE で、日本語のファイル名でダウンロードさせるには、ファイル名を SJIS を指定しなければならないようです。。。

上記 Tips 提供者:松嶋@ITBoost [2002/05/31]

2009年8月29日土曜日

PHPで画像ファイルのリサイズ

1、GDライブラリのインストール

必要なライブラリ
0、gd、gdphp :
1、zlib :
2、libpng :
3、libjpeg :

# yum -y install zlib-devel libpng-devel libjpeg-devel

これは良さそう。
IT ASK ME: PHP GD インストールと設定


これは結構めんどくさそう。
WEBシステム開発: WEBサーバ構築サービス|GDライブラリのインストール


2、リサイズスクリプト

一番良さそう。
【PHP】GDライブラリを使って画像のサムネイルを作成する。

2009年8月26日水曜日

PHPからmysqlを操作するために

php-mysqlをインストール。
しかし、mysqlに接続後、ブラウザへの出力ができなくなりました。

MySQL用GUI設定ツール導入(phpMyAdmin) - CentOSで自宅サーバー構築

mysql基本コマンドまとめ

mysql> show databases;
mysql> create database karino;
mysql> use karino;
mysql> create table photolist(num int,title varchar(50));
mysql> show fields from photolist;
mysql> alter table photolist add date date;
mysql> insert into photolist values(0,'opencampass','2009-8-24');
mysql> select*from photolist;
mysql> update photolist set title='open' where num=1;
mysql> delete from photolist where num=4;
mysql> select*from photolist order by date;

はまる時間

小野和俊のブログ:プログラマーの開発速度は「はまる」時間の長さで決まる
プログラミングを始めてから今日に至るまで、
様々なタイプのプログラマーと開発を共にしてきたが、
驚くべき速度で高い品質のソフトウェアを作り上げるプログラマーには、
一つ共通の特徴があるように思える。
それは、「はまる」時間が極端に短い、ということである。

2009年8月25日火曜日

入力フォームの動的変更

Gmailのメール作成画面、「ファイルの追加」みたいなボタンを作りたい。

これかな?
1つのフォームで複数のsubmitボタン
例えば送信されたデータを%FORMに格納するとした場合、
if ( defined($FORM{'sub1'}) ) # sub1が押された?
if ( defined($FORM{'sub2'}) ) # sub2が押された?
という風に判断すればいいって事です。

2009年8月24日月曜日

今日のPHP

1、echoの短縮形
  
  つまり
  

2、プログラムの基本
  上から順に読まれる。PHPでもそれは変わらない。
  変数に、呼出より上で定義されなければ、何も入ってない。
  例外は、セッション、クッキー、スーパーグローバル変数。

3、フォームをきれいに整えるには、HTMLのが必須

  

2009年8月23日日曜日

プチPHP

1、変数の前には必ず$が必要。
  定数には必要ない。

2、PEARとPECLの違い
  どちらもPHPのライブラリ。
  ただし、PEARはPHPで書かれ、
  PECLで書かれている。
  よって、PECLのインストールにはgccなどの、
  Cコンパイラが必要。

3、.htaccessにいかを書き込むと、
  .htmlの拡張子を持つファイル内で
  PHPを使うことができる。
AddType application/x-httpd-php .html

4、セッションとクッキーの違いは、情報を保存する場所
  セッション:サーバ
  クッキー :クライアント
  ※ セッションIDはクッキーに保存される。
10日で覚えるPHPのキソ 第 10 回 セッション(SESSION) | バシャログ。

PHP,セッションの利用

セッションが使えない。
ページを移動しない場合は、参照できるが、ページを移動すると参照できない。


セッションを保存する場所がまずいのかな。
デフォルトで保存する場所の方がいいのかな。
でもそれだと、Permission Deniedに引っかかる。

使える様になった。
session_save_pathを指定を消したら、使えた。
詳細は今のところ不明。

2009年8月17日月曜日

PHPデバック環境の構築2

firebugとfirephpを使ったデバック環境。

1、firefoxのアドオンをインストール
  firebug、firephp

2、firephp pear packageを入れる
  # pear channel-discover pear.firephp.org
# pear install firephp/FirePHPCore
Firebug + FirePHPでCakePHPのデバッグ - yuhei.kagaya


3、phpコードに書き込み
されどLAMPな日々 » FirePHPでデバッグを手軽に


※ 一体全体何に使うのかわからない。


正直こんなデバック環境がなくても、プログラムは組める。
それは、規模が小さいプログラムだからだろうか。

2009年8月16日日曜日

PHPデバック環境の構築

1、pearをインストール
# yum -y install php-pear
CentOSにyum経由でPEARをインストールする方法 - Knowledge Database IT
all php-pear


2、php-develをインストール
# yum -y install php-devel
[INWorks] CentOS 5 にxdebugをインストール


2、PHPのアップデート
CentOS5にPHP5.2.5を割と簡単にアップデートする方法★ - GuinEa Pig


3、gccのインストール
# yum -y install gcc

4、xdebugのインストール
# pecl install -a xdebug

5、/etc/php.d/にxdebug.iniを作成
  zend_extension=/usr/lib/php/modules/xdebug.so
  と書き込む。
※xdebug.iniに書き込んでも、認識しなかったので、
   php.iniに直接書き込んだ。


※ インストールまではできたみたいだが、どうやって使うのかがわからない。一度、firephpに行ってみる。


6、vimのプラグインを追加
  サイトからダウンロードしたものを、/home/.vim/に展開
PHPをXDebugとVimでデバッグする (Ubuntu 8.10編とCentOS 4.5編)    - 山歩きプログラマー



6、firefoxにXdebugをHelperインストール

2009年8月14日金曜日

PHP,mySQLのインストール

1、PHP
PHP のインストール(CentOS4.x編)

必要なものはほとんどインストールされているので、php-mbstringのみインストールする。
これは、マルチバイト文字列関数のパッケージ。

PHPの設定ファイルは、/etc/php.ini。
文字コードはutf-8にする。
あまり変更しない方がいいみたい。文字化けの原因となる模様。

また、デバック用にfirefoxに以下のアドオンを導入
PHPのデバッグを補助してくれるFirefoxエクステンション「Xdebug Helper」:phpspot開発日誌
PHPのデバッグを補助してくれるFirefoxエクステンション「Xdebug Helper」。
インストールするとFireBugのようにステータスバーにアイコンが表示されXdebugによるデバッグを補助してくれるようです。


その後。
PHPからMySQLを操作するための”PHP-mysql”と
PHPで画像ファイルを取り扱うための”GDライブラリ”を導入した。

2、mySQL
データベースサーバー構築(MySQL) - CentOSで自宅サーバー構築

  1、mySQLの設定ファイルは、/etc/my.cnf。
    デフォルト文字コードのみ追記。(utf-8)
  2、rootパスワードを登録
  3、ユーザーを新規作成 


3、PHP、mySQLの更新
CentOS5にPHP5.2.5を割と簡単にアップデートする方法★ - GuinEa Pig

Webサーバの構築

語句
1、CGI : サーバ上で動くHTMLを変更するプログラムの総称。ブラウザからのパラメータにより、HTMLを変更できる。
2、SSI : HTMLに挿入可能なコマンド。
CGI、SSI の仕組みをマスターしよう

3、.htaccess : ディレクトリ単位でアクセス制限を行う。
.htaccess実践活用術


Webサーバー構築(Apache) - CentOSで自宅サーバー構築


httpd.confの変更点
1、ServerName : WebサーバのIP
2、Options : CGI,SSIの許可
3、AllowOverride : .htaccessの許可
4、AddHandler : CGIスクリプトに.plを追加

テスト
1、Webページ表示テスト
2、GCI確認
  ※ プログラムファイルなので、実行権限が必要
3、SSI確認
  ※ 基本的にHTMLファイルなので、実行権限必要無し
4、.htaccess確認
  ※ DirectoryIndexの変更において、.html .gciへの変更はできたが、
    .shtmlに変更すると、サーバにアクセスしたときにForbiddenになる。 
→ ばか。ファイル名が間違ってた。
5、PHP確認

NFCの利用イメージ

NFCは次世代近距離通信のデファクトとなるか - @IT
まず、携帯電話のカメラを使って写真を撮る。そして、携帯電話をPCに接続したUSB型モジュールにかざす。これだけで写真データがPCへと一瞬で転送される。玉木氏は、「例えば、デジタルカメラやプリンターにNFC対応モジュールが搭載されれば、メモリを差し替えたりケーブルをつないだりしなくても、かざすだけで印刷できるようになる」と利用イメージを語る。

2009年8月11日火曜日

DHCPとIPマスカレード

DHCPとIPマスカレードの設定を行う。
これで、

1、DHCP
  (1)DHCPインストール
  (2)windowsローカルエリア接続の設定
  (3)windowsファイアーウォールの設定(ローカルエリアは適用しない)

2、IPマスカレード

# iptables -A FORWARD -i eth1 -o ppp0 -s 192.168.0.0/24 -j ACCEPT
# iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE

ここまでの設定で、EeePCから、CUBEを通して外部のDNSサーバにpingを通すことができる様になった。しかし、まだブラウザでWebページを表示することができない。
システム/管理/セキュリティーレベルの設定・・・からfirewallとSELinuxを全て無効にしてやってみたが効果は無い。
帰ってきてからがんばろう。

がんばった。
DHCPでDNSの設定してないからだった。

Linuxルーター構築(rp-pppoe+iptables) - CentOSで自宅サーバー構築

Linuxにおけるインストール

インストールコマンド
1、rpm
システム上にある(ダウンロードした)パッケージをインストールする。
2、yum
外部のサーバ上のパッケージをrpmを使い、インストールする。
3、dpkg
システム上にある(ダウンロードした)パッケージをインストールする。
4、apt
外部のサーバ上のパッケージをdpkgを使い、インストールする。

1,2は主にRedHat系、3,4は主にDebian系で使われる



参照
Linuxにソフトウェアをインストールする際にやってしまいがちな失敗10選 - IT業界を生き抜く秘密10箇条 - ZDNet Japan

Linux初心者向けRPMコマンドの真髄

◇rpmを管理する◇初心者のためのLinuxサーバー構築講座☆お便利.com☆

ばかみたいな質問ですが apt-get yum wget コマンドはどう違うのですか? - Yahoo!知恵袋
apt も yum も、パッケージを管理するソフトですが、
apt は内部で dpkg を呼び出し、
yum は内部で rpm を呼び出すのが一般的です。

なので、apt は Debian系のLinux、
yum は RedHat系のLinuxで利用されることが多いです。


yumのコマンドについて
yumの概念を覚えよう。fedoracore4では標準でついてます。

理性と悟性の違いを調べていて、ふと思ったこと。

悟性 - Wikipedia
一方、カテゴリーは悟性の対象となるもののみに当てはまる。すなわち感性的認識の対象とならず、単に思惟のみが可能な理性概念には当てはまらない。このためカントは従来の哲学が扱ってきた神や存在についての命題を否定する。しかし人間理性には形而上学への素質があり、本来当てはめることが出来ない対象へも悟性概念を適用しようとする。これは哲学を推進する主要な動機であり人間の本性として否定する事が出来ないが、しかしあくまでも悟性の誤用であって、人間は正しい悟性の使用を知らなければならないとされる。


”知行合一”。知識に裏打ちされない行動も、行動に裏打ちされない知識も、本当の理解ではない。
”行動に裏打ちされない知識”。これが、まさに、悟性の誤用ではないか。”感性からでなく、理性からの悟性の使用”という意味で。

ビープ音を消す

LinuxコンソールのBEEP音を消す! (技術メモ)
とりあえず下記はRedHatEnterprise3.0での設定例だが、おそらくFedoraやVineやCentOSなどのRedHat系なら共通で対処できると思う。

vi /etc/inputrc

#set bell-style none

→コメントをはずす

今日の反省

今日の反省点
1、起きる時間
2、学校居る時間
3、寝る時間

1、起きる時間
  今日起きたのは10時半。昨日は何もなかったのに早く起きれなかった。
  朝遅く起きることは、仕事量の低下につながる。原因は、夜シビィライゼーションを
  していたから。やはり、遅くても夜11時には寝なければならない。

2、学校居る時間
  学校に居たのは、12時から20時までの、8時間。
  当初の予定では、15時には家に帰り、パソコン周辺の勉強をするつもりだった。
  学校滞在が長くなった原因は3つ。
  原因1、市岡資料を作る時間が以外に長かった。
  原因2、3年生のパワポを見る必要があった。
  原因3、シビィライゼーションをやっていた。
  1と2は仕方がない。自由を主張する前に義務を果たさなければならないのだから。
  問題は原因3。別に、ゲームをやったらダメと言っているわけではない。
  ゲームをやるならやるで、自分の予定に組み込んでやるべきだと言っているだけ。
  そうすれば、9時近くまで学校に居ることにはならなかったはず。

3、寝る時間
  今から予想される今日の就寝時間は、1時半。昨日より遅くなってしまいそう。
  原因は明らかに、「ムダズモなき改革」を買って、読んでいたことにある。
  買うのはいいけど、買った時点で、そのあとの予定に思いを抱くべきだった。
  そうすれば、まんがを読んだとしても、夜11時には寝れたはず。

書いてみると、反省点がいつも同じ様な気がする。
書く反省点が同じにならない様に、反省点を書いた次の日くらいは、
その反省を活かさなければ。

2009年8月2日日曜日

Linux,今後の目標

CentOSで自宅サーバー構築

Linuxキーボードの配置変更

CUIではできなかったが、GUIではできた。

1、GUIによる設定
システム/設定/キーボード/レイアウトオプション/Ctrl key option
の設定を”Swap Ctrl and Caps Lock”にする。


2、CUIによる設定
処理系コレクション:Linux:キーボード配置を変更しよう


CentOS 4 : CapsLock と Control キーを入れ替える。 | ぶっちろぐ
でコンソール叩く事になったので安物の小さいキーボードへ初めて触れた。
CapsLock 押すと一発で大文字入力になってしまう上に Control キーがちっこい orz
そんなもんでいつも通りのキーマップにすべくファイル書き換えで対応した。

まず以下のオペしてみる。