---
# System prepended metadata

title: Untitled

---


//Webプログラミング

AL1　「CMSを動かそう」

wordpress
「Movable Type，concrete5, Drupal, Joomla, baser CMS, Netcommons, OpenPNE, EC Cube, Geeklog」
phpのユーザー作成はhostnameも自分でlocalhostと指定するとログインでくる。
(権限を付与しておかないとデータベースのインストール時にエラーが起きる)
・concrete5の実装時、extension fileinfoが有効でない場合
エクスプローラで..\MAMP\conf\php7.1.5\php.ini (バージョンはconcrete5参照)
php.ini内部のコードを見て、extensionがいっぱいあるところを探して、
extension=php_fileinfo.dll
を追加する。
その後、MAMPを再起動して再度テストを実行する。
・https://concrete5-japan.org/help/5-6/install/gettingready/
↑の題目の３を参考にwordpressのDB同様にDBを作っておく
https://concrete5-japan.org/help/5-6/install/installation/
のようにインストールできればOK

AL2　「教材を使った演習＋アルファに取り組もう」

AL2のお題について，チーム演習の成果を発表資料にまとめます．
「独り言によるWebプログラミング」，「PHPとMySQLによるWebアプリ開発」，教科書2章～4章の演習で学んだ知識を応用し，
ソースコードにアレンジを加えて発展させ，チームでWebアプリを作ります．テーマは何でもOKです．
javascript ：ユーザーのブラウザで実行        フロントエンド
php        :サーバーで実行                バックエンド


CRUD　create登録、read閲覧、update更新、delete削除


ゲット　URLに値まるわかり
ポスト    出てこない　データ２つ送る。負担はある


「教科書付録要点のみの設定手順」

Step 1: DBを作ります。my_blogが推奨ですが他でも構いません。

Step 2: DBにmy_blog.sqlをインポートします。recipesという名前のテーブルができていることをご確認ください。

Step 3：db_config.phpのmysqlのユーザ名とパスワードを適切なものに変更してください。

Step 4：もしDB名をmy_blog以外にした場合は、phpファイルの以下のすべての命令のmy_blogの部分を適切な名前に変更してください。

$dbh = new PDO('mysql:host=localhost;dbname=my_blog;charset=utf8', $user, $pass);

Step 5: index.phpにブラウザ(http://localhost/～)からアクセスしてください。

AL3 「オリジナルのウェブアプリを開発しよう」

1.AL２をより良くする？
2.新しく作る？

今回のAL2のないようについて進展あれば、ここに書いてほしいです。



//知識処理

AL1 「迷路探索AI」

「Meiro_egakudake」
「Meiro_Random」

「Meiro_BFS」
「Meiro_Yazirushi」
幅優先探索を知る．

「Meiro_AshiatoWalk」
深さ優先探索を知る．

「Meiro_AshiatoWalk_Saiki」で，再帰処理の実装を学びます．なぜスレッドが必要か，考えてみてください．ダメなパターンとして，「Meiro_AshiatoWalk_Saiki_Dame」をお渡しします．ちなみに，これは，「Meiro_AshiatoWalk」をベースとして，再帰処理を使った深さ優先探索のプログラムです． 
「Meiro_AshiatoWalk_Astar」で，A*探索を知る．

「双方向探索」
初期状態・終了状態の両方から探索する
幅優先探索・反復深化探索を用いる

「反復深化探索」
探索深度を徐々に増やしながら深さ優先探索を行う

「最良優先探索法」
最初,横型探索を行い,節点が複数になった時点で各節点(状態)の評価値を計算し,評価値が最大の節点の先を優先的に探索する

「A*アルゴリズム」
f(n) = g(n) + h(n)により選択肢を評価し，評価値の高い道を開拓していきます．迷路の場合，各分かれ道に対して，「分かれ道のスコア = ゴールまでの距離(予測)＋移動コスト(これまでの履歴)」で評価します．

 public void move(int z){



    	int x = marux; //キューからもらった場所
    	int y = maruy;
                                            //dy,dxは移動元から上下左右のどこを参照しているか表す
    	if(block[y + dy[z]][x + dx[z]]==0){ //次の移動先が未探索かつ壁でない
    		route_x[y+dy[z]][x+dx[z]] = x;　　//移動先に移動元の座標をルート配列に入れる
    	    route_y[y+dy[z]][x+dx[z]] = y;
    		en_q(x + dx[z],y + dy[z]);　　　　//移動先の座標をキューに入れる
    		oldx = x;　　　　　　　　　　　　　　//移動元をold変数に入れる
            oldy = y;
            block[oldy][oldx]=999;　　　　　　//移動元を探索済みにする
    	}
    	else{
    		oldx = xoldy = y;
            block[oldy][oldx]=999;
    	}

AL３「二人ゲームAI」

