//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/
↑の題目の3を参考に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に値まるわかり
ポスト 出てこない データ2つ送る。負担はある
「教科書付録要点のみの設定手順」
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.AL2をより良くする?
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;
}
AL3「二人ゲームAI」