Day3 Day4 Day3 Day4.

Slides:



Advertisements
Similar presentations
セッション管理 ソフトウェア特論 第 8 回. ここでの内容 セッション管理の基本を知る。 HttpSession の使い方を知る。
Advertisements

Ruby on Rail の紹介 石渡正樹 Ruby on Rails とは? スクリプト言語 Ruby で書かれた web アプリケー ションフレームワーク 作者 –Devid Heinemeier Hansson という人だそうです ( 詳 しいことは知りません.
Web アプリケーション開発 ~図書館管理システム~ 北海道情報大学 情報メディア学 部 情報メディア学科 新井山ゼミ 高橋 隼.
Ruby on Rails (RoR) 講習会 近畿大学大学院 田中大介. 本日の目標 Web アプリケーションを作ろう!
情報基礎演習I(プログラミング) 第9回 6月22日 水曜5限 江草由佳
プログラミング言語ADP 大藤雄久.
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
第3回参考文献発表 PHP言語 岩永逸平.
ハルビン絵葉書コレクションシステムの再構築と機能追加 -サーバ側:PHPとMySQLを用いて
JPAを利用した RESTful Webサービスの開発
WEBから確認できる 駐車場管理システムについて
join NASS ~つながりあうネットワーク監視システム~
Ruby on Rails 勉強会 11月5日「土」 崔 昌権
WordPressの基礎.
MySQLに接続するデータベースプログラム
CakePHPを業務に導入する Shin x blog 新原 雅司.
PHPエディタによる 情報システム演習 01.
Day3 Day4 Day3 Day4 Copyright (c) 2009 Fusic Co.,Ltd.
エンタープライズアプリケーション II 第10回 / 2006年7月23日
情報理工学部 情報システム工学科 ラシキアゼミ3年 H 岡田 貴大
JavaServlet&JSP入門 01K0018 中村太一.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
第4回 個人の動画配信補足のためのWeb構築
卒研:データベースチーム 第4回 DOMを使った処理
Web App Semi 2008 #1 Web App Semi 2008 #1.
平成19年5月19日 第3版 東京大学理学部生物化学図書室 前田 朗
共同ローカリゼーション フレームワーク 井上 謙次.
セッション管理 J2EE I 第9回 /
HTTPプロトコルとJSP (1) データベース論 第3回.
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
Curlの仕組み.
Day3 Day4 Day3 Day4.
HTTPプロトコル J2EE I 第7回 /
経済学のための情報処理 ホームページの作成.
Day3 Day4 Day3 Day4.
PHPの基礎と開発手法 Based on PHP5
ネットワークプログラミング論 平成28年12月12日 森田 彦.
PDF管理Webアプリケーションの制作 ~PDFファイル探索時間の短縮化~
データベース設計 第9回 Webインタフェースの作成(1)
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
Javaによる Webアプリケーション入門 第9回
Moodleの使い方 基幹教育セミナー用 ※利用しない機能のスライドは、適宜、削除してご利用下さい。
プログラミング演習3 第2回 GUIの復習.
第8章 Web技術とセキュリティ   岡本 好未.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
ホスティングサーバの作成と、 ラズベリーパイの利用
11.Webサイトとデータベース, Webサイト+ブログシステムの開設手順例
Webアプリケーションの方向性 データベース論 第13回.
プログラミング演習3 第2回 GUIの復習.
JAVAについて 高橋 雅哉.
ネットワークプログラミング論 平成28年12月19日 森田 彦.
Javaによる Webアプリケーション入門 第11回
コンピュータ プレゼンテーション.
データベース設計 第7回 実用データベースの運用例 クライアント=サーバシステム(1)
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
JSFによるWebアプリケーション開発 第3回
コンピュータにログイン 第1章 コンピュータにログイン 啓林館 情報A最新版 (p.6-13)
情報基礎演習I(プログラミング) 第11回 7月12日 水曜5限 江草由佳
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
情報基礎演習I(プログラミング) 第8回 6月8日 水曜5限 江草由佳
サブゼミ第7回 実装編① オブジェクト型とキャスト.
Jakarta Struts (1) ソフトウェア特論 第10回.
Googleマップを活用した 生物調査データベースの構築
データベース第3回目 意味ごとにテーブルを分ける
C#プログラミング実習 第1回.
MVCモデル2による Webアプリケーション
ZendFrameworkで使うためにFilemakerクラスをスクラッチから作ってみる
Presentation transcript:

Day3 Day4 Day3 Day4

Day3 第1回の宿題の発表 前回のおさらい CakePHPについて 最近のWebアプリケーションの開発方法 Webアプリケーションフレームワーク(以下Webフレームワーク)とは Day3 Day4

第1回宿題 複数のテーブルに対するSQL言語の演習(ものまね)を行ってください 複数のテーブルを使ったWebアプリケーションをペアで作成してください Day3 Day4

前回のおさらい WebとWebアプリケーション HTML PHP データベースとSQL Day3 Day4

World Wide Webとは ブラウザから「http://www.~」と入力することでいろいろなWebページを見せているしくみ。 Day3 Day4

Webページの表示の仕組み 1 “http://www.yahoo.co.jp/index.html”で 指定されるファイルをリクエスト 2 “index.html”ファイルを レスポンスとして返す 3 “index.html”ファイルを 整形(レンダリング)して 表示 Day3 Day4

HTML Webページを作成するためのマークアップ言語。 index.htmlはHTMLで書かれたテキストファイル。 Day3 Day4

Webアプリケーションとは (Webページをただ表示するだけでない)Webの機能や特徴を利用したアプリケーション。 例えば、、、 データを登録していつでも参照できるようにできる。 Blog ログイン機能を持たせて会員しか表示しないようにする。 SNS Day3 Day4

Webアプリケーションの 処理の仕組み 1 “http://www.yahoo.co.jp/index.php”の ページ内容をリクエスト リクエストを元に処理をする (データの登録、編集、閲覧、削除) Webサーバ 2 処理の結果をindex.phpとして レスポンスとして返す “index.php”ファイルを 整形(レンダリング)して 表示 3 Day3 Day4

PHP Webアプリケーションの処理の部分を書くことができるプログラム言語の1つ。 Day3 Day4

Webアプリケーションを作成するには リクエストとレンダリングはブラウザが担当します。 レスポンスはWebサーバが担当します。   リクエストとレンダリングはブラウザが担当します。   レスポンスはWebサーバが担当します。   処理をプログラムとして書く必要があります。 今回は プログラミング言語としてPHPを選択し、 実際にWebアプリケーションを作成しています。 Day3 Day4

データベースmydbの中のテーブルbooksの中からカラムisbnが98284795825のデータを取得せよ。 データを保存するには データベースサーバと呼ばれるデータを格納することに特化したシステムを使用します。 今回はMySQLを使用しています。 データベースサーバを管理するデータベース管理システム(DBMS)へ命令するための言語がSQLです。 データベースサーバ データベースmydbの中のテーブルbooksの中からカラムisbnが98284795825のデータを取得せよ。 DBMS SQL データベース Day3 Day4

CakePHPとは CakePHPとはPHPで書かれたWebフレームワークです。 CakePHPのようなWebフレームワークを使いこなせると、より高速に、より直感的に、より抽象的に、Webアプリケーションの開発ができます。 Day3 Day4

Coffee Break:プログラマの特性 プログラマは大抵面倒くさがり。 開発中、同じコードを何度も書きたくない。 (さらに)開発中、同じようなコードを何度も書きたくない。 (それどころか)同じようなコードは一生書きたくない。 面白そうなコードだけ書いて暮らしたい! Day3 Day4

Coffee Break:プログラマの特性 じゃあどうする? 小さな同じ処理は関数化してしまおう。 同じ処理は書かない。 わかりやすいように、意味的に近い処理をグループ化してしまおう(文字に関する関数(メソッド)群、○○を処理するための関数と変数(プロパティ)群)。 ひとくくりにして意味的にもわかりやすく。呼び出しも楽に。 同じような処理も大体同じなのだから全体を継承して違う部分だけ上書きしよう。 同じようなコードも書かない。 構造化プログラミングやオブジェクト指向プログラミングが誕生する理由 Day3 Day4

Webアプリケーションの特徴 データを登録して(Create) データを参照して(Read) データを編集して(Update) データを削除して(Delete) どんなアプリケーションも大抵こればかり Day3 Day4

Webアプリケーションの特徴 他には、、、 データベースに接続して SQLでデータベースを操作して HTMLを生成して 画像を表示して formがあってデータを入力させて どんなアプリケーションも大抵こればかり Day3 Day4

最近のWebアプリケーション開発 「データベースに対するCRUD」の特性に収まりやすいWebアプリケーションの特徴 汎用的な処理はまとめてずっと使いたい コーディングのルールに一定の制約を持たせて連携開発をしやすくしたい Webフレームワークを 使用して開発するのが主流 Day3 Day4

Webフレームワーク Webアプリケーション開発をサポートするための枠組み(プログラム) データベースの操作 汎用的処理のライブラリ HTMLページのテンプレート セッション管理 セキュリティ etc. Day3 Day4

Webフレームワーク PHP Ruby Perl Java CakePHP、Zend Framework、symfony Ruby on Rails Perl Catalyst、Sledge、Jifty、Mojo Java SAStruts、Seasar、Spring、Grails Day3 Day4

CakePHP CakePHP enables PHP users at all levels to rapidly develop robust web applications. 最近のWebフレームワークの先駆けであるRuby on Railsの影響を多分に受けている。 Day3 Day4

Day4 CakePHPを利用するにあたっての有用な情報源 MVCの概念 ブログチュートリアル Webアプリケーションの作成 cakebookの紹介と日本人翻訳チームの貢献について CakePHP User Forumの紹介 MVCの概念 Webアプリケーションにおけるデータの流れ。(MVC) モデルという考え方とデータベースのテーブル(MC) 処理と表示をわけることの大切さ。楽さ。(VC) ブログチュートリアル bakeを使った自動生成とソースレビュー(演習) bakeだけでWebアプリケーションを作成(演習) リレーションの大切さを理解する debuglibによるデータ構造の理解(演習) Webアプリケーションの作成 さらに機能を追加してみる(演習) Day3 Day4

CakePHPを利用するにあたっての有用な情報源 Day3 Day4

MVCの概念 MVCとはModel、View、Controllerの頭文字をとったもの。 CRUDとは別の切り口でWebアプリケーションを表している データを操作し(Model) ユーザの入力に応答し、処理をし(Controller) 表示し、ユーザの入力を受け取る(View) Day3 Day4

MVCの概念 V C M データベース どんな画面を表示するか。 受け取った入力からどんな処理をするか。 どのようにデータを処理するか。 Day3 Day4

MVCの概念(例:Blog) V C M データベース Day3 Day4

MVCの概念(例:Blog) V C M データベース アクセス Day3 Day4

MVCの概念(例:Blog) V C M データベース 呼び出し Day3 Day4

MVCの概念(例:Blog) データ 取得 V C M データベース Day3 Day4

MVCの概念(例:Blog) V C M データベース データ 渡し Day3 Day4

MVCの概念(例:Blog) V C M データベース データ 渡し Day3 Day4

MVCの概念(例:Blog) V C M データベース 表示 Day3 Day4

MVCの概念(例:Blog) V C M データベース 入力 Day3 Day4

MVCの概念(例:Blog) V C M データベース データ 渡し Day3 Day4

MVCの概念(例:Blog) V C M データベース 処理 Day3 Day4

MVCの概念(例:Blog) V C M データベース 呼び出し Day3 Day4

MVCの概念(例:Blog) V C M 処理 データベース Day3 Day4

MVCの概念(例:Blog) データ 登録/取得 V C M データベース Day3 Day4

MVCの概念(例:Blog) V C M データベース データ 渡し Day3 Day4

MVCの概念(例:Blog) V C M データベース データ 渡し Day3 Day4

MVCの概念(例:Blog) V C M データベース 表示 Day3 Day4

Modelとデータベーステーブル Modelはひとくくりのデータ群を扱うための処理のくくり。 データベースの1つテーブルは大抵ひとくくりのデータ群。 例外もあります。 2つのテーブルでひとくくりのデータ群に扱えるものもあるし、1つのテーブルで複数のデータ群になることもあります。 Day3 Day4

Modelとデータベーステーブル M M M Postモデル Categoryモデル Userモデル postsテーブル categoriesテーブル usersテーブル Day3 Day4