Web+DBシステム応用
担当教員
授業の到達目標及びテーマ
後期(応用)の到達目標は、自分がイメージしたWEB+DBシステムを作成することである。ログイン認証を始め、ファイルのアップロード・ダウンロードや、メニュー方式による簡便な入力、様々な言語への対応など、多くの要素を実現するためのシステム構成や手法などを学ぶ。 また本講義では、日本で生まれ育ち世界で使われているオブジェクト指向言語であるruby言語を処理言語として扱い、rubyの文法を前期の入門よりも広くまた深く学ぶ。ruby言語の一通りの理解を講義のテーマとして盛り込む。
授業の概要と方法
本講義は「演習」であり、「WEB+DBシステム入門」の応用編として実施する。基礎的な内容は、前期の「WEB+DBシステム入門」で導入済みであるため、可能な限り「WEB+DBシステム入門」も履修して欲しい。 後期の応用では、実際のWEBサイトなどでよく見かける様々な機能を実現するためのプログラムを、実践的に学ぶ。
授業計画
| 回 | テーマ | 内容 |
|---|---|---|
| 1 | 入門編のおさらい/rails環境の導入 | ruby on rails/Apache/MySQL/統合開発環境など、実習用のWEB+DBシステム開発環境のセットアップと動作を確認する。 |
| 2 | gemの導入 | ruby環境での設計における基本的なコンセプトCoCを学び、rubyのライブラリとも言えるgemを導入する。 |
| 3 | localeと文字コード | 簡単なscaffoldを生成した後に、画面を英語と日本語とで切り替える。 |
| 4 | TDDの考え方と入力の検証 | Test Driven Development(テスト駆動開発)の考え方を学び、その手順を理解する。 入力検証によるデータ保全の方法を学習する。 |
| 5 | ハッシュとイテレータ | rubyのプログラム表現に現れているハッシュと、反復処理に用いられるイテレータを学習する。 |
| 6 | 画面の遷移とパラメータの受け渡し | 画面遷移時のパラメータの受け渡し方法を学習し、rubyクラスの設計におけるメソッドの表現と、その使い方を学習する。 |
| 7 | データベースのCRUD | データベースの基本操作であるCRUDのそれぞれを、WEB上でと、SQL コマンドとで試し、SQL の理解を深める。 |
| 8 | テーブル構造の編集 | より複雑なデータ構造を表現するために、データベースのリレーション構造についての理解を深める。 |
| 9 | 画面の連携 | ドロップダウンリストの作成や、コード入力など入力支援のメカニズムを試し、データベースを記憶装置として活用するプログラミング技術を学ぶ。 |
| 10 | 画像の表示やBGM再生 | HTMLの表現で、画面に画像を表示したり、BGM を流す。拡張的なWEB表現を学ぶ。 |
| 11 | ファイルのuploadとdownload | 実際にアップロードしたファイルをダウンロードする。 データベースにファイルを保存する手法を学ぶ。 |
| 12 | login認証 | 一般にWEB画面は誰でも閲覧できるため、機密性の高い情報は表現できないため、特定のユーザだけが使えるように認証を行う。 このログイン認証の手法を学ぶ。 |
| 13 | セッション管理 | 画面を切り換えても、ログインしたユーザの情報を引き継ぐための、セッションの管理法を学ぶ。 |
| 14 | 課題製作 | 各自が課題を設定し、自分が設定した課題のWEBシステムを構築する。 |
| 15 | 応用編のまとめ | WEB処理についての知識と、ruby言語の文法・書式・用例などについて、授業で学んだ内容を整理する。 |
授業外に行うべき学習活動
前期の「言われたものをそのままに作る」(第1段階)、「自分はこんなものを作りたい」(第2段階)に引き続き、第3段階は「誰かが欲しがっているものを作れる。」ことである。 そのためには、自分自身がたくさんの「引き出し」を持つことが重要であり、「提案」を数多くできることが重要である。「引き出し」を増やすためには、授業時間以外でもWEB画面などを見た際に、「どうやったらこれができるのか?」という問題を発掘し、「作ってみよう」という意欲を持って欲しい。
テキスト
必要に応じ授業支援システムを用いて配布する。 各自で書籍等を購入する際は、演習に用いるRails環境がRails 3であるため、Railsのバージョンに注意して欲しい。
参考書
黒田努・佐藤和人共著:「基礎 Ruby on Rails」2007, インプレスジャパン, ISBN978-4-8443-2478-2 (この書籍は、Rails 1環境であるため、直接的には利用できない。)
成績評価基準
授業への貢献度(30%)と成果物(プログラム)の報告書(70%)による。 授業(や予習)で試した練習問題・課題プログラムなどは、すべてレ ポートに含めて報告して欲しい。これらの練習課題が「基礎点」と なり、それに発展課題などの「応用点」が上乗せされる。
情報機器使用
各自のパソコンを使用する。
前年度の授業改善アンケートからの気づき
昨年度は、rails3のバージョンアップの影響で実際にダウンロードできて実装できる環境と説明の記述が異なるケースが多かった。 本年度は、可能な限り最新の環境で、必要な記述を配布資料として準備したい。
その他
「こんなこともできる」、「あんなこともできる」という課題を、自分たちで発見し、その実現を目指して欲しい。 シラバスに記載した内容以外でも、「これを何としても知りたい」というテーマがあれば、意見として出して欲しい。授業で扱えるものは扱いたい。