2010/12/30

eclipseでphpの変数名が見分けにくい

phpでeclipse 3.6 を使っていると、変数名とテキストの区別がつきにくい。
(3.5では緑色が付いていたらしいのですが)

<設定方法>
ウインドウメニュー/設定
設定画面で、php/エディタ/構文の色の設定
構文要素で、変数をクリックすると、文字の色が変更出来ます。
「前景」をクリックすると「色指定」が出来ます。

デフォルトは黒ですが、「緑」か「青」の濃い目の色がお勧めです。
さらに、太字もチェックしておくと見やすい。

2010/12/28

phpとmysqlの復習

php講習 12/28

・清掃、今日も海岸を歩きました。
海岸には、合宿なのか学生らしき人たちがいっぱいでした。

・これまでの復習(1ヶ月経過して)
不明なところは出来るだけ自分でインターネットで調べる。
RSSreader、opml file
インターネットでの機能紹介、使い方
便利だった機能は?
ブログは日誌として更新しておいて下さい。

・PHP
これまでの練習をeclipsを使って復習
・コメント
 //  TODO
  #
   /*  */
eclipsでのphpのコメントに補完機能がある。
   /**  */
   * @auther XXXXXX
プログラムのコメントとして、少なくとも名前くらいは入れておいて。
・eclipsの内部ブラウザでの文字化け
内部ブラウザはあまり使わない(IEの文字コード設定の問題、fire foxに設定変更可能)
eclipsのphpソースはutf8で保存されている。
phpソースをsjisで保存すれば、内部ブラウザでは正しく表示されるが、エディタ上では文字化けする。
外部ブラウザを利用する。
→eclipsのメニューから、ウインドウ/外部ブラウザ/firefoxで起動できました。
(改めて日本語の表示が内部ブラウザで文字化けするか確認しましたが、eclipse 3.6(Helios Service Release 2)では、utf8で保存されているものでは文字化けは起きませんでした)

・復習その2
 練習3-1 変数の加算        p.7  
練習3-2 変数同士の加算  p.8  
練習3-1 力持ちだったら    p.12  
練習3-2 隣の席の子        p.13  
練習3-1 101回プロポーズ     p.16  
練習3-2 100まで偶数を表示  p.17
練習3-1 whileで書き直し  p.19
練習3-2 whileで書き直し  p.20
練習3-1 5番目を表示  p.23
練習3-2 配列を全て表示 p.24
練習    連想配列   p.27
練習    foreachで   p.29

・復習その3
関数 たとえばcount(phpの公式ページ)
公式ページからたどると深くて見つけにくいので、ググるのが早い。
ユーザ定義関数 
練習    引き算を行う関数 p.32
練習    3つの数字の掛け算をする関数 p.33
練習問題を一気に作っていたら、eclipsの動きが遅くなってきた。
pdf画面の切り替えまで動きが遅い。
windowsを再起動しても改善しなかったので、再度eclipsを再起動。
それでも改善せず。
練習で作っていたphpのソースを全て(20個くらい)開いたままにしていたので、
最後に作った2つくらい残して閉じたら動きが軽くなる。phpソースを開いているだけ
なのに何をやっているのだろう?
eclipsはjavaで出来ているとのことで、javaのメモリリークを疑っていたが違ったみたい。

・クラス
   資料4クラスの説明(復習)
クラスは概念、考え方(哲学的な言い方だ)
クラス、インスタンス、メソッド(関数)、継承、オーバーライド

・mysql
資料6 mysql授業2
> mysql -u user -p -b -Dstudy
   -b ビープ音を消す
   -D データベース指定
(set names sjisも忘れずに)
> desc amazon_products;
> select * from amazon_products limit 2 \G;

select文でいろいろな条件の検索(where句)
where句の条件指定で「like」 は「'」シングルクォートを使用する。
(ちなみに、likeを指定する検索は、indexがあっても、パフォーマンスを考慮するとお勧めできない場合があります)

本年はお世話になりました。
来年もよろしくお願いいたします。

2010/12/27

DBの正規化とeclipseの機能

php講習 12/27

<テーブルを作るときのルールの説明>

・正規化について
第一正規化:値がユニークになるようにする
第二正規化:主キーに部分従属している部分を分離する
第三正規化:推移従属関係を分離する
今回は、第二までを説明。詳しい(判りにくい)説明

・mysqlにて説明資料のテーブルを作成、データ入力、結果確認
> select * from jyukou;
> select * from course;
> select * from student;

・項目属性textとvarchar、charの使い分けについて
あとで説明します。

・第二正規化したテーブルを使って、第一正規化の一覧表を出力する
ためのselect文を作る。

・先週の復習、select文に条件追加
(1)鎌倉校の受講生
WHERE
   ...
   and
   c.c_place = "鎌倉校"
(2)英語の受講生
WHERE
   ...
   and
   c.c_name like  "%英語%"

・mysqlでの注意事項
> select  ...
> where ...
>     and
>     c.c_name like  "%英語%"
> ORDER BY
>     j.jyukou_id asc 
このselect文で、「英語%」のあとに半角スペースが必要です。
半角スペースがないと、order句を認識してくれないことがあります。

・外部キー
外部キーを設定するときは、面倒な制約が発生する。
キーにnull値が使えない。
参照先が登録されていないデータは登録できない。
参照されているデータは削除出来ない。

・外部キーが設定されていることで、制約条件が守られるので
データの整合性が保たれる。
(不正なデータが入力されることを未然に防ぐ)

・カラムがtext属性のときはindexを付けられない。
char,varcharには付けられる。

・外部参照を使うときは「InnoDB」を使う(拡張機能)
ENGINE=InnoDB

・さきほど作ったテーブルからフランス語を消す
> delete from course where c_num=6;
しかし、受講生は残ったままなので、受講テーブルとコーステーブルで不整合が発生している。

・不整合を起こさないために、外部参照を使って、テーブルを作成
そのあと、もう一度フランス語を削除してみるとエラーになる。
mysql> delete from course where c_num=6;
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`study`.`jyukou`, CONSTRAINT `jyukou_ibfk_2` FOREIGN KEY (`c_num`) REFERENCES `course` (`c_num`))
mysql>
外部参照を定義することでテーブル間の不整合が起きるのを防ぐことが出来る。

・では、どうしたら不整合が起きないでデータを削除できるのか?
→先にフランス語を受講している人を消してからフランス語を消す。
> delete from jyukou where c_num=6;
> delete from course where c_num=6;

・今回は、外部参照で制限をしたが、phpのプログラムで制限を
チェックすることも可能。必ずしもDBで制限することはない。
(不整合を防止するなら、どこかではやる必要あり)

・ER図の説明

・正規化の練習

今日の正規化はハードルが高い。
でも、テーブルの構成を考える場合は必要になる知識なので、
説明を受けておくのは良いことだと思う。


<eclips>
eclipsとは(wikipedia)

・IDEとは、統合開発環境
コンパイラ
テキストエディタ
デバッカ(実行環境)
プロジェクト管理
チーム開発(SVN,CVS)
作業補助(関数補完)
ビルド、デバック補助

・他のIDEあり
VisualStudio
Sun MicorSystem NetBeans
・eclipsの起動
 ・ワークスペースの指定
../xampp/htdocs

・設定
実行環境、設定済みだった。

・プロジェクト
新規、PHPプロジェクト(プロジェクト名は日本語を使わない)
プロジェクト名と同じフォルダがxamppフォルダの下に出来る。

・ファイルを作るときのファイルはPHPファイル

・補完機能
文字を打ってから(例えばprintならp)、ctrl+space

2010/12/25

mysqlのテーブル内容確認方法

mysqlでテーブルに設定された内容の確認方法

> desc member;
> show create table member;
> show columns from member;
mysql> desc member;
+---------+---------+------+-----+---------+----------------+
| Field   | Type    | Null | Key | Default | Extra          |
+---------+---------+------+-----+---------+----------------+
| id      | int(11) | NO   | PRI | NULL    | auto_increment |
| name    | text    | YES  |     | NULL    |                |
| age     | int(11) | YES  |     | NULL    |                |
| address | text    | YES  |     | NULL    |                |
+---------+---------+------+-----+---------+----------------+
4 rows in set (0.01 sec)
mysql> show columns from member;
+---------+---------+------+-----+---------+----------------+
| Field   | Type    | Null | Key | Default | Extra          |
+---------+---------+------+-----+---------+----------------+
| id      | int(11) | NO   | PRI | NULL    | auto_increment |
| name    | text    | YES  |     | NULL    |                |
| age     | int(11) | YES  |     | NULL    |                |
| address | text    | YES  |     | NULL    |                |
+---------+---------+------+-----+---------+----------------+
4 rows in set (0.01 sec)
mysql> show create table member;
+--------+----------------------------------------------------------------------
-------------------------------------------------------+
| Table  | Create Table

                                                       |
+--------+----------------------------------------------------------------------
-------------------------------------------------------+
| member | CREATE TABLE `member` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` text,
  `age` int(11) DEFAULT NULL,
  `address` text,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 |
+--------+----------------------------------------------------------------------
-------------------------------------------------------+
1 row in set (0.00 sec)

2010/12/24

mysqlが起動できない

xampp環境で、mysqlクライアントがwindowsのコマンドラインから起動できないとき

<状況>
C:\Users\user>mysql
'mysql' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

<原因>
ユーザの環境変数のpathが通っていないため、mysql.exeを見つけられず
mysqlコマンドを実行できません。

<対応>
mysqlコマンドの場所をpathに追加する必要があります。

<調査>
・まずmysqlコマンドの場所を探します。
私のPCのpleiadesのxampp環境では、以下のパスでした。
P:\pleiades\xampp\mysql\bin\mysql.exe
・変更前の設定を確認します。
> set
表示された内容から、「Path=」の行を控えます。

<設定>
pathの設定を変更するため、環境変数を変更します。
システムのプロパティから、詳細設定タブの「環境変数」を開きます。
システム環境変数で「Path」を編集で開きます。
変数値の項目の最後に、「;」(セミコロン)とmysqlのパスを追加します。
追加する内容  ;P:\pleiades\xampp\mysql\bin\

・変更後の設定を確認します。
> set
表示された内容から、「Path=」にmysqlのパスが追加されていることを確認します。

2010/12/23

mysqlの操作とphpからmysqlを呼び出す方法

php講習 12/23

・今日の清掃は昨日と同様に海岸側を歩きました。
天気が良かったせいか、人が多かった。

・コマンドラインからmysqlを起動し、日本語入力できるように設定。
> SET NAMES sjis;

・日本語が入力できるようになったので、日本語データを入れてみます。
> insert into address (name, kana,address1,address2,tel,update_) values ("織田 信長", 'オダノブナガ',"愛知","名古屋市中区","054-222-6000","2010/12/23");

・テーブルの追加
部署テーブル
    ID(主キー)
    部署名
    更新日
> create table unit (id int not null auto_increment,
    unit_name text,
    update_ date,
    primary key (id));

役職テーブル
    ID(主キー)
    役職名
    更新日 
> create table post (id int not null auto_increment,
    post_ text,
    update_ date,
    primary key (id));

mysqlの予約語と重なるとカラム名がエラーになる?
> mysql> create table unit (id int not null auto_increment,
> -> unit_name text,
> -> update date,
> -> primary key (id));
> ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your
> MySQL server version for the right syntax to use near 'update date,
> primary key (id))' at line 3

・部署テーブルのデータ作成
テキストエディタでinsert文をまとめて「busyo.sql」で保存、ファイルを実行する。
mysqlが見つけられるように、ファイルを置く場所(フォルダ)は、mysqlクライアントを起動したフォルダです。
> source busyo.sql;
但し、このときファイルはsjisで保存しておく。
phpのファイル用にutf8にすると文字化けする。

・コマンド実行パスの設定
環境変数pathにmysqlのパスを追加する。

・テーブル結合のためのデータ準備
show columns from address;
show columns from post;
show columns from unit;
まず、アドレス帳に部署IDと役職IDを追加する。
> alter table address add post_id int;
> alter table address add unit_id int;
次にIDを設定する。
update address set post_id=1,unit_id=1 where number=1;

・テーブルの結合
(select * from address,unit where address.unit_id=unit.id ;)
select  
    address.number,
    address.name,
    address.unit_id,
    unit.unit_name 
from      address,unit 
where      address.unit_id=unit.id  ;
・省略形での記述
select 
    ta.number,
    ta.name,
    ta.unit_id,
    tb.unit_name
from      address ta,unit tb
where      ta.unit_id=tb.id ;

・役職テーブルを結合する。
select  
    address.number,
    address.name,
    address.unit_id,
    address.post_id,
    unit.unit_name, 
    post.post_
from      address,unit,post 
where      address.unit_id=unit.id  and address.post_id = post.id ;
同様に省略形
select  
    ta.number,
    ta.name,
    ta.unit_id,
    ta.post_id,
    tb.unit_name, 
    tc.post_
from      address ta,unit tb,post tc 
where      ta.unit_id=tb.id  and ta.post_id = tc.id ;

・テーブルの確認
desc テーブル名
show create table テーブル名

・PHPからmysqlに接続する。
//mysql に接続する
$db = mysql_connect('localhost','user','pass');

// データベースを選択する
$sdb = mysql_select_db('study');

// クエリを送信する
$sql = "select * from address ;";

$result = mysql_query($sql);

// 結果の取得
print "<pre>" ;
while ($row = mysql_fetch_array($result)){
    print_r ($row);
}
print "</pre>" ;
・実行結果
Array
(
    [0] => 5
    [number] => 5
    [1] => 織田 信長
    [name] => 織田 信長
    [2] => オダノブナガ
    [kana] => オダノブナガ
    [3] => 愛知
    [address1] => 愛知
    [4] => 名古屋市中区
    [address2] => 名古屋市中区
    [5] => 054-222-6000
    [tel] => 054-222-6000
    [6] => 2010-12-23
    [update_] => 2010-12-23
    [7] => 
    [post_id] => 
    [8] => 
    [unit_id] => 
)


明日以降の予定
  • phpからsql文でアクセスした結果を見やすくする。
  • サンプルのデータを作る。(データ件数を多くする予定)
  • データが多い場合のパフォーマンス測定方法などを紹介。

2010/12/22

MySQL

php講習 12/22

・恒例の朝の清掃は、海岸を歩きました。

・windowsのコマンドプロンプトからmysqlクライアントを使ってコマンドの実行、まずrootユーザでmySQLに接続。
> mysql -u root

・dbの一覧を表示
> show databases;

・dbを作成
> create database study;
作成したdbをdbの一覧で確認。

ユーザ作成
> GRANT ALL ON *.* TO user@"localhost" IDENTIFIED BY "pass";
> flush privileges;

・一度mysqlクライアントを出てから、新しく作ったユーザでログイン
> quit
> mysql -u user -p
Enter password:xxx (パスワード入力)
> status

・先ほど作ったデータベースにテーブルを作成
> use study;
・テーブルがないことを確認
> show tables;

・テーブル作成
> create table member (id int not null auto_increment,
name text,
age int,
primary key (id));

・テーブル作成結果の確認
> show tables;
> desc member;
> show columns from member;

・いままで実行したコマンドの復習
> quit
> mysql -u user -p
> show databases;
> use study;
データベースを指定したあとであれば、テーブルの情報が取得出来る。
> show tables;

・テーブルにデータを作成(挿入)
> insert into member (name, age) values ('user', '33');
> insert into member (name, age) values ('', '');
> insert into member ( age) values ( "" );
* 3件目に作成したレコードで、nameはnullになっています。空の文字列とnullは異なります。

・テーブルのデータ表示
> SELECT name, age FROM member;

・昨日の資料を参照して、dbの基本構造から説明
・sqlは「データ制御言語」「データ操作言語」「データ定義言語」

・練習 ID=1の人のデータを表示
SELECT * FROM member WHERE id=1;
SELECT * FROM member WHERE id=1 or id=2;
SELECT * FROM member WHERE id<=2; SELECT * FROM member WHERE id != 1 ;
SELECT * FROM member WHERE name is null ;
・データの参照方法
> SELECT * FROM member order by name asc;

・データの更新
> update member set age=19 where id=1;
> update member set name="name" where name is null ;
> update member set name="name_aaa" where name = "" ;

・データの削除
> delete from member where id=3;

・テーブルにカラムを追加
> alter table member add address text;

・追加した項目にデータを設定
> update member set address="adr1" where id=1 ;

・練習
(1)create文を作成してみましょう。
> create table address (number int not null auto_increment,
name text,
kana text,
address1 text,
address2 text,
tel text,
primary key (number));

> show columns from address;

(2)各カラムのデータ型を考えて見ましょう。
> alter table address add update_ date;

(3)insertするデータを作成して見ましょう。
insert into address (name, kana,address1,address2,tel,update_) values ('oda', 'odanobunaga',"aichi","nagoya","054-222","2010/12/22");
insert into address (name, kana,address1,address2,tel,update_) values ("小田", 'odanobunaga',"aichi","nagoya","054-222","2010/12/22");
文字コード設定が実施されていないと、日本語は文字化けします。
日本語入力について、コマンドライン上からは文字コードの指定を改めて実施する必要がありそうです。
日本語設定の参考

このなかのコマンドを実行したあとは、日本語が表示されました。
なお、クライアント上の設定なので、mysqlを起動するたびに実行する必要があると思われます。

SET NAMES sjis

・my.iniとかの設定を疑いましたが関係なかった?


明日以降の予定

<今日の続き>
mysqlクライアントの日本語表示がうまくいかないところは調べておきます。
データのアクセスでクライアントから日本語がうまくいかないときは別の方法を検討します。
<資料5>
SQL文をPHPからアクセスする。
<資料6>
インポート/エクスポート
xamppで使えるphpmyadminの説明

2010/12/21

クラスとMySQL

php講習 12/21
・php実習

午前中は、練習問題3 p.12
私は、ハローワークに行ったのでお休みしました。

昼食後、練習問題3の解説
練習4、5は飛ばした。

・クラスの継承
スーパークラス(親のクラス)
サブクラス(子のクラス)

・オーバーライド
スーパークラスで定義されているメソッドを、子クラスで再定義。
シンフォニーをさわるとき、出てくる。
Symfony Framework
Webアプリケーションの開発速度を向上させ、メンテナンス量を軽減することを目的に開発されたPHP5で動作するフレームワーク。

明日以降の授業資料(mysql)が送付された。

・理解度テスト
PHPプログラム作成

・データベース(mySQL)の環境
テーブルは、例えばexcelのシートと同じ
excelの、列はカラムと言いましょう、また行はレコードと言いましょう。
データベースでは、型を意識してデータを扱うので、異なる型に値を入れようとすると
エラーになります。
(PHPでは、自動的に変換してくれるので型を意識することがあまりありません)

データ型とその種類
データベース名、テーブル名、カラム名には日本語は使わない。
プライマリキーについて
テーブルのなかでユニークにレコードが特定出来るキー
nullは設定できない。(データが特定できないため)
データがnullのとき
カラムが空のデータのこと
ロック(排他制御)について

SQLのルール
4種類のデータ操作言語 CRUD
create : 作成
read   : 読み出し
update : 更新
delete : 削除


mySQLの初期設定ファイル変更
my.iniに文字コードの日本語設定を追加。
phpMyAdmin や MySQL コマンドライン・クライアントで、日本語のテーブル名を使うための設定
キャラクタセットに関する設定の「文字コードをutf8に」の部分を参照して下さい。

設定が終わったら一度xamppを落とす。
「mysql_start.bat」実行
設定変更がうまく反映されていないようなので、PCを再起動

2010/12/20

php基礎、クラス

php講習 12/20

<本日の内容>
(1)関数
(2)クラス

・今日の清掃は、海岸に出ました。

・午前中は、先週の復習で関数の練習問題を実習

・午後からクラスの説明、練習問題1
・クラスの宣言文が呼び出しより後でもいいらしい。
・メンバ変数(クラス変数)は定義するとき
private $name;
使うとき
$this->name
「$」を付けるときと付けないときがある。
・クラスの変数定義は、public、(protected) あるいは private を付ける。
詳細はあとで説明するそうです。

・クラスの中で(自分自身の)クラスを参照するとき、クラスの名称は「$this」を使用する。
・クラスの関数を使うときは「->」を使用。(読み方不明)

・インスタンスを作成(生成)
$human = new Human();
インスタンスとは、「実体」「オブジェクト(を生成したもの)」のこと。
どう言い換えても、わかりにくいことに変わりはない。

・メソッド
クラスの関数のこと
メソッドの定義は、クラス定義の「{}」(括弧)でくくり、その中に書く。

・コメント(以前のコメントの書き方に追加)
「#」で始まる行

・練習問題2
クラスで、犬の鳴声を表示する
犬のインスタンス$docは、$akitakenとかのほうがなじみやすい気がします。

・練習問題3
クラスで、価格をクラス変数で保存、割引率を計算

・コンストラクタの説明
オブジェクトが生成されたとき、最初に(1回だけ)実行される関数。
ここに初期化する処理を書いておけば、最初に実行されます。
また、初期値を割当したいとき、引数を定義しておけば変数を初期化できます。

・コンストラクタ練習問題
犬の練習問題をコンストラクタで記述

・明日の予定
継承
ソースの量が多くなってきたので、eclipsを使うかもしれないとのこと。

2010/12/17

php基礎、配列、関数

php講習 12/17
・今日の掃除はなし

・php基礎の続き、プログラム実習

・連想配列(値の設定と取り出し方)
// 値の設定
$x_ary = array("1" => "A" , "2" => "B" , "3" => "C");
// 連想配列の取り出し
foreach ($x_ary as $key => $value) {
 print $key . ":" . $value ."
";
}

・連想配列の実行結果
1:A
2:B
3:C

phpでは、添え字をkeyと呼ぶので慣れましょう。
foreache文とbreak文

ユーザ定義関数
// 関数定義
function abc(){
 echo "abc";
};

// 関数の呼び出し
abc();

・ユーザ定義関数の実行結果
abc

定義済み関数をPHPのマニュアルサイトから情報を得る方法について
phpには、多くの関数が用意されています。
全てを最初から覚えるのは無理です。使うたびに少しづつ慣れましょう。
・phpの関数は、他の言語と異なり事前に定義しておく必要はありません。
 関数呼び出しに後に記述しておいても動きます。
(例外もありますがそれはもっと使い方に慣れてから)

・クラスの説明は持ち越しになりました。

2010/12/16

php基礎

php講習 12/16

・xampp,apacheの環境についてのお話し
PHP: Hypertext Preprocessorの略
・昨日に引き続きphpプログラムの実習
  • for文
  • while文
  • 混合文字列の扱い(print文(関数)で「"」と「'」の違い)
  • array(配列変数)
・for文
$index =5;
for ($i = 0; $i < $index; $i++) {
 print $i." ";
}

・for文の実行結果
0 1 2 3 4 

・while文
$i=0;
while ( $i<10 ) {
 print $i . " ";
 $i++ ;
}

・while文の実行結果
0 1 2 3 4 5 6 7 8 9 

・while文、その2
$i=0;
while ( $i<10 ) {
 $i++ ;
 print $i . " ";
}
・while文の実行結果、その2
1 2 3 4 5 6 7 8 9 10 
・実行結果(添え字と実行結果の数字)の違いには注意してね。

・print文の「""」と「''」の違い 「""」は変数が置き換わる、「''」は文字列として扱われる。
説明するより実行結果で理解するのが早い。
・print文
$i = 1;
$c = "ABC" ;
print "$i $c" ;

・print文実行結果
1 ABC

・print文、その2
$i = 1;
$c = "ABC" ;
print '$i $c' ;

・print文実行結果、その2
$i $c

・array(配列変数)
// 変数に配列を入れます。
$x_array = array("a", "b", "c") ;

// 配列を1つづつ取り出します。
foreach ($x_array as $x) {
 print $x . ":";
}

・array(配列)の実行結果
a:b:c:

・array(配列変数)、その2
// 変数に配列を入れます。
// 配列の添え字は0から始まります
$y_array[0] = "d" ;
$y_array[1] = "e" ;
$y_array[2] = "f" ;

// 配列を1つづつ取り出します。
foreach ($y_array as $y) {
 print $y . ":";
}

・配列の実行結果、その2
d:e:f:


その次の話題(4章)は、早くもクラスの話。
欲しい機能がどのクラスで実現出来るのか、クラスの探し方が判らない。
この訓練の講座に参加した人による、似たようなブログがありました。
出来は比較になりませんが。
その中ではタイピングのサイトも紹介されていました。
今日は最初にxampp、phpについての説明がありましたが
同じような説明は前のクラスでもあったのではないかと思います。
以前のクラスで出た質問などをまとめたfaqとかないでしょうか。
この投稿を保存しようとしたら、「写真も入れてください」みたいな指摘があった。 チェックが厳しい。

2010/12/15

xampp環境にてエディタでphpを作成

php講習 12/15

昨日の書き込み、途中でフォントのタイプが変わっているように見える。
everNoteをメモ帳代わりにしているので、テキストに余分な情報が付いているようです。

・今日の清掃は、道路の海岸側を歩きました。

・情報処理について、ざっくり
入力
編集
蓄積

・xamppを使用してphpから表示、最初のphpプログラム
\xampp\hpdoc\hello.phpをさくらエディタで作成
http://localhost/hello.phpで表示

・php変数、文法
phpプログラム実習


・文字列エンコード
サーバに合わせて、(さくら)エディタのデフォルト文字コードをutf-8にする。
(日本語が文字化けするときがあるので回避するため)
あとでソースコードをlinuxに置くことになってもutf-8です。

表示に改行を入れる方法とか、日本語を使うときのためのコード設定とか
tips(落とし穴?)いろいろありそうです。

しばらくは、文法に慣れるため、ひたすらphpのプログラムを書くことになりそうです。

参考リンク先
> 午前中に行った演習のprint関数に関しては下記になります。
http://php.net/manual/ja/function.print.php
> またこの先多くの関数が出てきますがそれらについては
http://php.net/manual/ja/
> の「search for」のフォームに入力して確認して下さい。
とのこと

リンク先のドキュメントは日本語の下に関連のコメントが大量にあるが
あいにく英語なので理解不能、残念。

2010/12/14

php開発環境設定、その3

php講習 12/14の講習内容

・午前中、実習
 スタイルシートを使ったWebページ作成
ほとんど例題のスタイルをいただきましたが、それでもバグがあるので
色やレイアウトなど体裁を変更する時間が残っていなかった。
時間があれば内容を工夫したかったが、それどころでは無かった。

・午後、環境設定(各種ツールインストール)
firefoxアドイン(Tab Mix Plus, View source with,  Live HTTP Header)
  ランチャーソフト(CraftLaunch)
フォルダが解凍されていないため手作業で解凍
  ID manager
  idとパスワード管理ソフトだが、 メモ帳代わりにしてます
  Putty(ごった煮)インストール
  接続先がないので、接続確認できず。
  講習が進んでvmware環境でCentOSをインストールしてから使います。
eclips(日本語環境pleiades、xamppも含まれていた)
apachとmysqlを上げて、localhostでfirefoxにて接続確認
ファイルが大きいので時間がかかった

今日は疲れた。
午前中のhtmlとcssで全勢力を使い果たしました。
cssを半日で理解するというのは無理。

2010/12/13

ネットワーク基礎について

本日(12/13)の訓練記録

最初は、事務連絡と、周りの清掃から始まりました。

本日のメニューは、ツイッターで連絡のあったとおり。

ネットワーク基礎
①サーバについて
②FTP
③HTML(+XHTML)基礎
④CSS基礎
⑤基本情報

・CSシステム概要
PCとは呼ばないで、クライアントと言いましょう。

・TCP/IP
 portについて、wikipediaの解
 well known port


・HTTP(Hypertext Transfer Protocol)
HTTPについて、wikipediaの解
HTTP

・サーバIDとIPアドレスについて
ちなみに、DNSへの名前解決(IPアドレスの問い合わせ)は、windowsのコマンドラインから
>nslookup  www.yahoo.co.jp
で参照できます。

この時点でyahooのIPアドレスが判ってもうれしいことはありませんが。。。


・ファイル「*.html」と「*.php」の違い
・「XHTML」の説明
・pathの説明
記述するときは必ず相対パスで行う。

・HTML、各タグの説明
・CSSの説明
ブログのテーマを替えるのと同じ。
HTMLと同じファイルに記述できるが、CSSファイルは分ける。
行の最後に「;」を付ける。
付け忘れると、その行は無視される。

以上、やっと1日が終わりました。
HTMLとCSSは難しい。

最後に、テーマも変えてみました。

2010/12/10

引き続きphp開発環境設定

本日(12/10)作業の記録
・清掃
・ブログの開設、作業の記録
 ID取得の際電話による音声認識を求められる。
  教室で生徒が一度にIDを取得すると、プロバイダのIPが同じものとして扱われているのかもしれない。  
・メーリングリスト開設の連絡メール
 gmailでのラベル・フィルタ作成
・SEO対策(最適化)、テンプレートの加工の説明
 Search Engine Optimization
 検索結果一覧は1ページ10件
 内部対策
  メタデータ、ロングテール
 外部対策
  被リンク
・ブロガーのテンプレート編集
 デザイン/HTML編集
 metaタグの追加
 <meta name='keyword' content="hoge"/>
 <meta name='discription' content='fuga'/>
・アクセスカウンタについて
・さくらエディタインストール
・はてなブックマーク
 結局これは有効に使っていなかった。
・FireFoxにSBMカウンタインストール
・ブログの投稿と結果の統計確認
 ブログの読者登録(同じ教室の人のブログを登録) 

・Googleリーダにブログを登録
 RSSで配信されているもの確認
・基金訓練日誌(週報)

昨日(12/9)の分は分けました。


メール、メーリングリスト、ツイッター、ブログと連絡手段と動作確認および説明用サンプルの区別がつきにくく混乱してます。(何をどうしたら良いのかこれから決めていくみたい)

php開発環境設定

ブログ、始めてみました。

12/9作業の記録(1週目)
今日からMIs湘南にてWeb講習'(php)が始まりました。
貸与PC(windows)にphpの開発環境を作る1日、作業は以下の通りです。

  • FireFox インストール
  • FireBug インストール(FireFoxアドイン)
   htmlのデバック用
  • Gmailアドレスの取得
   連絡用とブログなどの登録用
メールアドレスをteacher3へ「名前」「コンピュータ名」を送信

  • ThumderBirdのインストール 
これは使わなかった
  • ever noteのインストール、アカウント取得
  資料の整理用
  • twitterのアカウントの作成
  講習内容の疑問があれば問い合わせ用

  • Tips
  「メールアドレス+label」で自分宛のメールの振り分けがやりやすくなる。
メールアドレスに+を含めることができないサイトもある。
gmailは可能