WDA-Slides-12.pptx

Similar documents
WDI-Slides-14.pptx

利用者

WDA-Slides-07.pptx

Microsoft Word - WebClass Ver 9.08f 主な追加機能・修正点.docx

J-Payment クレジットカード 決済システム接続仕様書

WDA-Slides-04.pptx

補足資料

VPNマニュアル

ファイルのアップロード. 上メニューから [ アップロード ] を選択します. [ アップロード ] 画面に移行しますので, 以下の手順で操作を行います アップロードするファイルを選択し, 指定場所へ [ ドラッグ & ドロップ ] します ドラッグ & ドロップ ファイルがリストアップされたことを

注意 インストール中に ユーザアカウント制御 ( 以下 UAC といいます ) の実行確認画面が表示されることがあります 表示された場合ははいをクリックして インストールを進めてください なお 管理者以外の場合 管理者への昇格を求める UAC 画面が表示される場合がありますので 管理者アカウントのパ

V-CUBE One

manaba course 出席機能 操作マニュアル

PowerPoint プレゼンテーション

情報リテラシー 第1回

目次 1. 教育ネットひむかファイル転送サービスについて ファイル転送サービスの利用方法 ファイル転送サービスを利用する ( ひむか内 ) ファイル転送サービスへのログイン ひむか内 PCでファイルを送受信する

<4D F736F F D D815B A982E782CC E E646F6378>

改版履歴 版数 日付 内容 担当 V /3/9 初版発行 STS V /5/4 エラー画面の削除 STS V //3 サポート環境の追加 サポート環境の説明文章の STS 修正 画面修正 V /2/25 サポート環境変更 STS V

WDA-Slides-06.pptx

Googleカレンダー連携_管理者マニュアル

目次 1. AOS ユーザー登録サイト AOS ユーザー登録 AOS ライセンスキー登録 ios 版アプリ インストール 起動と新規登録 初期設定とバックアップ Andro

2. オプション設定画面で, 必要事項を記入 選択します. 少なくとも, タイトル に課題の見出しとなる文章を入力する他, 種別 を アンケート( 無記名式 ) に設定する必要があります. また, アクセス制限はここでは コースメニューで非表示にする に設定します. その他設定は必要に応じて行って下

スライド 1

目次 1. サイトの概要 2. このサイトで行なうこと 3. ログインするには 4. 情報発信会員 管理画面の説明 5. 掲載情報を決める 6. マイページを作成する 6-1 マイページのトップ画面について 7. コンテンツを作成する 7-1 掲載場所を決める 7-2 ページを作成する プロフィール

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

PowerPoint プレゼンテーション

変更履歴 日付 Document ver. 変更箇所 変更内容 06/7/.00 - 新規作成 06/8/9.0 管理プロファイルを登録する Web フィルタリング の記載を追加 07//6.0 全体 連絡先ポリシーを共有アドレス帳に変更 全体 参照 以下 等に係る記載揺れの統一 07/0/.03

■POP3の廃止について

WDA-Slides-05.pptx

マイクロソフト IT アカデミー E ラーニングセントラル簡単マニュアル ( 管理者用 ) 2014 年 11 月

Microsoft PowerPoint - 調達ポータル_電子見積システム設定マニュアル_

PowerPoint プレゼンテーション

バージョンアップにおける変更点 バージョンアップにおける変更点 07 年 月 7 日に実施したバージョンアップにおける変更点は次の通りです ) 最新 OS/ ブラウザへの対応 次の OS とブラウザの組み合わせが動作環境となりました [Windows 7 SP/8./0] Microsoft Edg

I. CA 証明書のインポート 1 リモート端末にて CA 証明書の URL ( へアクセスし ca.cer をダウンロードし デスクトップ上など任意の場所に保存し ダブルクリックしてください ( 上記 URL へアクセスした際に デジタ

LCV-Net ファイルコンテナ ユーザーマニュアル

Pirates Buster Series Secure Viewer セットアップマニュアル (Web インストーラ)

目次.Edu Track のログイン.Edu Track のポータル画面説明 3. 学修を始める ( 講義室に入る ) 4 4. テキスト履修科目 スクーリング ( ブレンディッド含む ) で使用する機能 5 学習する 5 お知らせ 6 掲示板 ( 公開 ) 6 課題 8 ディスカッション ( 公開

NSS利用者マニュアル

2. 留意事項利用する際には再度 メーリングリスト利用手引き をよく理解してから 利用してください また メーリングリストを管理画面にログインする際には ユーザ ID を必要としません これは管理者を定期的に変更して継続してメーリングリストを運営 管理することや 複数人で共同してメーリングリストを運

共有フォルダ接続手順 1 共有フォルダ接続ツールのダウンロード 展開 CSVEX のトップページから共有フォルダ接続ツールの zip ファイルをダウンロードします ダウンロードした zip ファイルを右クリックして すべて展開 を選択します (Windows 環境では zip ファイルを解凍しなくて

変更履歴 日付 ver 変更箇所 変更内容 2016/8/ 新規作成 2017/1/ 全体 参照 以下 等に係る記載揺れの統一 2017/2/ 全体 参照先の記載を修正 2017/5/ ASM に情報登録 リンクの URL を修正 参考リンク集

Microsoft Word - CygwinでPython.docx

SHOP99 99 SHOP サイトにデータベースを構築 phpmyadminの設定 1 ー 監修 Yours YoursCompany Company 監修 Yours

ICLT 操作マニュアル (2011 年 05 月版 ) Copyright 2011NE 東京株式会社 All Rights Reserved

Microsoft Word Proself-guide4STD+Prof.docx

第21章 表計算

第 1 章 システムの概要 シラバスシステムとは 利用環境 留意事項 シラバスシステムの概念 役割 システムの利用イメージ... 4 第 2 章 基本操作

1. アカウント登録 登録申請時に入力した情報をもとにアカウントが作成されると, 研究参加登録システム Login Information というタイトルで, 登録されたメールアドレスに連絡が届く ( 登録申請から 1~2 週間後を予定 ) この時点で以下の情報が入力されたアカウントが作成されている

PowerPoint プレゼンテーション

Dolteng Scaffoldに対する機能追加とマスタ-ディテールScaffoldの紹介

スライド 1

練習 4 ディレクトリにあるファイルを直接指定する (cat) cat コマンドを使う (% cat ファイル名 ) と ファイルの内容を表示できた ファイル名のところにパス名を使い ディレクトリ名 / ファイル名 のように指定すると ディレクトリ内にあるファイルを直接指定できる 1 % cat _

Microsoft PowerPoint - 学習支援サービス(Moodle)で資料公開.pptx

コンテンツメディアプログラミング実習2

P.2 もくじ 8. ファイルのアップロードとダウンロード 8-. ファイルのアップロード 8-2. ファイル指定でアップロード 8-3. Zip 解凍アップロード 8-4. ドラッグ & ドロップで一括アップロード 8-5. ファイルのダウンロード 9. ファイルの送信 ( おすすめ機能 ) 9-

セットアップの流れ Graphtec Pro Studio を使用する SAi Cloud へのユーザー登録 1-1 SAi Cloud へのユーザー登録 Graphtec Pro Studio のインストール 1-2 Graphtec Pro Studio のインストール Cutting Mast

問合せ分類 1( 初期設定関連 ) お問い合わせ 初期設定の方法がわかりません 初期設定をご案内させていただきます 1 下記 URL をクリックし 規約に同意し サービス登録番号を入力をしてください

Microsoft Word - PHP演習資料.doc

<発注書作成>

Ver26 メディアマート株式会社 アドバンスト アナリティクス株式会社 Statistics 26.0 のインストール手順書 (Windows 版 ) Authorized User ライセンス ( シングルライセンス ) 1. 事前に IBM SPSS Statistics 26 をインストール

データ構造とアルゴリズム論

Microsoft Word - ニュース更新システム(サイト用).docx

上手くん α シリーズ移行手順 上手くん α シリーズ移行手順 上手くん α シリーズ移行手順 1 処理の流れ 1 2 古い PC で行う操作 2 3 新しい PC で行う操作 /09/10 第 2 版

4. ファイルアップロード機能 使い方 ファイルをドラッグ & ドロップ した状態 図 4-1: ファイルアップロード画面 ( 例 ) 1. 送信するファイルをドラッグ & ドロップしてください 送信するファイルの右のエリアをマウスでクリックする事により 従来のエクスプローラー形式のアップロードも可

大阪工業大学 授業アンケートシステム 教員側画面操作説明

学校法人 近畿大学 殿

情報システム設計論II ユーザインタフェース(1)

Ver.50 改版履歴 版数 日付 内容 担当 V..00 0//6 初版発行 STS V..0 03/4/7 サポート環境の追加 STS V..0 06/9/5 画面の修正 STS V /4/ 画面の修正 STS V // 文言と画面修正 FireFox のバージョン変更に

PowerPoint プレゼンテーション

山梨県〇〇〇〇システム

<4D F736F F F696E74202D A7790B A82B C982A082BD82C182C AF88D38E968D80816A2E >

- 目次 - 都道府県版 乳幼児健診情報システムでできること 1 Ⅰ. 乳幼児健診情報システム概要 ( 都道府県版 ) 自動集計用 2 Ⅱ. 各市区町村データの取込み方法 自動集計用 7 Ⅲ. 取込んだデータの集計方法 自動集計用 12 Ⅳ. 分析結果の作成方法 自動集計用 14 Ⅴ. 各市区町村デ

2 目次 1. 基本操作 ウィジェットとは何か ウィジェットの目的と構成 ウィジェットの設置 ウィジェットのカスタマイズ ウィジェットコードの構成 ウィジェットの外観を変更する..

管理者メニュー 目次 目次 承認... 2 管理メニューを見る 会員一覧 グループ一覧 一括置換 引用管理 ( 名刺 ) パターン管理 ( 名刺 ) インフォメーション管理

アンケートの準備 集計方法... 3 アンケート作成の流れ... 3 アンケート集計の流れ... 5 テストの一括取り込み 再利用の方法... 7 テストの一括取り込み方法... 7 テストの再利用の方法... 9 テストのオプション設定活用の場面 学生が同じ課題へレポートを複数回提出し

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

スライド 1

スライド 1

intra-mart Accel Platform — Slack連携モジュール 利用ガイド   初版  

目次 Web インターフェースでのログイン方法 1 Web インターフェースから利用できる機能の紹介 3 1ファイルのアップロードとダウンロード 4 2 転送確認 ( ファイルのアップロード状況 ) 9 3ファイル更新履歴の管理 10 4 操作履歴の確認 12 5アクセスチケットの生成 ( フォルダ

教育用 EV3 ソフトウェアアップデートについて * アップデートにおける注意点 * アップデート手順 1( 常時インターネット接続している場合 ) * アップデート手順 2( 常時インターネット接続していない場合 ) *Ver.1.0.1からの変更点ほか 株式会社ラーニングシステム

C:\Apache Software Foundation\Apache2.2\htdocs\sample\login.html サンプルプログラム passworddisc.php <head><title> ログイン </title></head> $user=$_post['user']; $

V-CUBE One

クラス図とシーケンス図の整合性確保 マニュアル

PowerPoint プレゼンテーション

Mapmakerfor の手順下絵を準備 作者の設定した大きさで作成する場合 下絵にする地図を挿入 トリミングと大きさの調整 大きさを調整した画像を保存 下絵を背景に設定 作成画面の大きさを調整 1 自分で用意した下絵を背景にする場合 下絵を背景に設定 作成画面の大きさを調整 画像が大きい場合シート

An introduction and future of Ruby coverage library

目次 はじめに 2 1. 前準備 3 (1) 新規パートナー登録通知 (2) 受領確認の設定 2. 受領確認手順 受領確認の流れ ( 受信データ明細閲覧 ) 2-2. 受領確認の流れ ( ダウンロード ) 3. 送信情報検索 送信情報検索 ( 自社状況確認 ) 1

スライド 1

Ontrack EasyRecovery 11 製品アクティベーション手順書

内容 ( 演習 1) 脆弱性の原理解説 基礎知識 脆弱性の発見方法 演習 1: 意図しない命令の実行 演習解説 2

PowerPoint プレゼンテーション

2. 起動時の画面 初期設定が終ると 教務アシスト 教育課程 が起動し メインメニューが表示されます 初期設定を修正する場合は このボタンを使います 各操作は 以下のメニューから行います 基本的には 左から右へ作業を進めます 3. 独自教科などの設定 < 教科設定 >をクリックして画面

PowerPoint プレゼンテーション

ビジネスサーバ設定マニュアル_Standard応用編

Thunderbird 利用 Windows Mac 共通 Thunderbird を利用した移行は Web メールのフォルダを階層化している場合 移行ができない場合があります この場合の移行は Outlook を利用した移行で行ってください メールの移行マニュアル 本書は Office 365 導

2007年度版

SmartSkill Campus ご利用ガイド

任意の間隔での FTP 画像送信イベントの設定方法 はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページ

ALC NetAcademy2利用手順書

Transcription:

WEB+DB システム ( 応用編 ) 第 12 回 (2016 年 12 月 14 日 ) 人気投票サイトの制作 (1/3)

設計の基本方針 作った部分が目に見えて 試しながら ( ある程度 達成感を感じながら ) 進める ( 実際の仕事であっても 全く見えないと疲労が倍加する ) メッセージは 基本は英語として多国語化の一つの言語として日本語を入れて行く 画面の修飾は後回しにする (WEB Design については 他に参考資料が多いので ロジックを作り上げる部分に力点を置く ) 但し 力作であれば加点の対象とします 言うまでもなく git を使ってバックアップを取りながら進める

これまでに作った部分 ショッピングサイトをまず作成した これをベースにして 商品の 人気投票 機能を組み込んでみる

作りたいシステムのイメージ 私の場合には 好きな野菜の人気投票 です ( しつこいようですが 皆さんは各自のイメージで の人気投票で読み替えて作って下さい ) 出来上がり形を 画面から考えてみる こんなことを画面に出したい というものを考えて 機能をイメージする

人気投票画面 ( こんな感じ ) 好きな野菜に投票しよう! あなたの投票権番号 : 12345 トマトに一票 現在は 大根に投票済みです こんな感じの画面イメージから 設計を始めて見る カボチャに一票

機能を考える 投票権 ごとに一票とするために ログイン認証 をしない人でも 投票権番号 入力をしてもらい その番号の投票記録を残したい ( 気が変わるかも知れない ) ということは 投票権番号入力画面 が必要 発行済 の 投票権番号 の管理画面も必要 投票画面や 結果閲覧画面で 投票権番号 が入力済みかどうか 確認が必要

ランキング画面 ( これが見たい ) 野菜人気 Best10! 第 1 位 トマト 234 票 第 2 位 カボチャ 123 票 欲を出すと大変なので 今回作るのはここまでにする

機能を考える 投票結果が 投票権 に関連して保存されているなら それを集計すれば順位がわかる 順位がわかったら 順位順にベスト 10 を表示すれば良いので ここでは集計のロジックだけ考えれば良い 一般に 格納 されている情報を表示させる方が 格納 すべき情報を検証し 入力させる部分に比べて 構造は単純になる

作るべき主な画面のリストアップ 投票権番号の登録 ticketとして scaffoldする 野菜の登録画面商品画像を活用する投票画面ランキング画面

作るべきモデル ( テーブル ) 野菜 ( 商品 ): Merchandise( 作成済み ) ユーザ : User( 作成済み ) 今回は ログインユーザだけ管理画面を操作させる 投票権 : Ticket 投票権 (1 票 ) ごとに 投票内容を記録する つまり このテーブルに 投票結果 を保存する

作るべき機能 投票権番号を入力済みかどうか確認し 入力済みでなければ投票権番号入力画面にリダイレクトする 投票権番号の発行画面は 管理者権限 のある人にのみ操作させる ( 発展課題 ) 投票ボタンをクリックした時に 記録する ランキングの問い合わせがあった際に集計して ランキング順位を作成する

開発手順 (1) 作るもののイメージが固まったら 手順を決める 投票権管理 ( 投票権番号の発行や管理 ) できれば 一括発行 も作ってみる 人気投票画面に野菜 ( 商品 ) を表示し 投票を受け付ける

開発手順 (2) 人気投票画面で 投票権番号 の入力済みを確認 ユーザの 投票権番号の入力画面 人気投票画面に 投票ボタン を作る 人気投票画面で 投票 を記録する (2 日目 / 年内最終でここまで ) 投票結果を集計する ランキング画面に表示する ( 年明け : 最終日 ) 投票権番号の発行機能を 管理者権限のあるログインユーザに限定する

何かを作るときは 卒研もそうですが そのプロジェクトごとに 開発のための ノート を一冊用意すると良い Rspec が ノート の代わりになるかも知れませんが未確認なので こんな機能があったらいい とか ここの動作がおかしい など 気付いた点をノートに書き留めておく 機能の追加は 思いつき ではなく 影響範囲 を熟考して行う ( ノートに整理して行く ) PC をノート代わりにしている人は プロジェクト用のメモファイルを作る (IDE で代用 )

今日の作業 ( その 1) 投票権管理 ( 投票権番号の発行や管理 ) 設計イメージから 以下のように考えた ( 皆さんは 自分のイメージで決めて下さい ) Class 名はTicketとする データとして (1) 投票権番号 [number : integer, 3 桁 ] (2) 投票内容 [vote : integer] を持たせる

投票権番号の制約 今回は 以下のようにする 主 となる番号は 3 桁 ( テーブルに保存 ) とする 100 999 これに チェックコードを付加する チェックコードでは bit rotation, EXOR などの演算で 元のコードから類推しにくいものを作成する ユーザには 6 桁 の投票権番号が渡るものとする 例 : 100-951, 101 208( 適当ですが ) 見破られにくいチェックコードの合成方法については 各自 暗号論 などで調べて下さい この授業の守備範囲外とします 但し 優れたものは加点対象とします チェックコード部分は 毎回計算で求める

始める前に まずバックアップ 現状を保存しておきます rails3work/ecocar( プロジェクトのルート ) で git add A git commit m 第 13 回授業開始時 などと入力して バックアップをとっておきます このあとやってしまった失敗をなかったことにするには git checkout. で戻す

投票権の Scaffold 以下のコマンドを 一行で実行します rails g scaffold ticket number:integer vote:integer Scaffold.scss は上書きしない 次は migration rake db:migrate

引き続き 投票画面に行きます ここから 投票画面の作成に移ります 特定のモデルと直結していない votes という controller を作り 投票画面を index と vote 画面を生成します rails g controller votes index vote と入力します

rails g controller votes index vote

app/controllers/votes_controller.rb 空のメソッド index と vote が生成されています Index に @merchandises = Merchandise.all を追加します class VotesController < ApplicationController def index @merchandises = Merchandise.all end def vote end end

views/votes/index.html.erb これが 投票のメイン画面です Controller から @merchandises を受け取り イテレータで全項目を表示します それぞれの野菜ごとに ボタンを追加します

views/votes/index.html.erb <h1>vegetables Popularity Vote</h1> <table> <% @merchandises.each do vegetable %> <tr> <td><%= vegetable.name %></td> <td><%= image_tag url_for({:action => 'photo', :controller => 'merchandises', :id=> vegetable.id, :filename => vegetable.file_name}), :alt => vegetable.file_name %></td> <td> <%= form_tag 'vote' do %> <%= hidden_field_tag :vegetable_id, vegetable.id %> <%= tag :input, {:type=>'hidden', :name=>'ticket', :value => 'number' } %> <%= submit_tag 'Vote', :name=>'vote' %> <% end %> </td> </tr> <% end %> </table>

votes/index.html.erb 画面

Routes の修正 投票のメイン画面を切り換えます config/routes.rb で 自動的に追加されているルーティングを 切り換えます Get votes/vote を Post にします get votes => votes#index post votes/vote

人気投票画面の表示 ここまでの修正で http://127.0.0.1:3000/votes にアクセスすると 右のような画面になるはずです

次は 投票ボタンの処理 投票ボタンまで組み込みましたが まだ 処理をしていません うまく 人気投票の画面ができたら ここでバックアップを取って下さい git add A git commit m 人気投票画面作成

投票権番号入力 Votes の controller では login 要求をしていません 発行済の 投票権 (Tickets) を login で受け渡しすると scaffold した tickets の方にルーティングされてしまいます そこで 投票権番号の受け渡し用に むき出しのパラメータを使うか または 専用の Class を使うことにします

入力画面用モデルの作成 他にも設計方法はあります (form_tag を使う ) が ここでは 入力画面専用に モデルを作成します 入力画面の form_for は 引数に Class を取るため Rails の支援を十分に得て 構造を理解するためには このためのモデル追加がいいかなと 判断しました ( テーブルも作りますが 入力用 Class として使います ) Vote クラス number:integer を作成します security:integer rails g model vote number:integer security:integer

投票番号入力 ( ログイン ) 用モデル 以下の通り生成し 作成しました

投票権入力用 controller の生成 rails g controller votes login ログイン用のメソッドを生成しますが votes_controller.rb は既に生成されています Conflict が発生するために votes_controller.rb については overwrite を skip して views の画面だけ生成するようにします

投票権入力の画面の生成

ログイン画面の確認 app/views/votes/login.html.erb が作成されていることを確認し メッセージを修正していきます この画面で 投票権番号を入力させます テストランの path は http://127.0.0.1:3000/votes/login です

Scaffold との違い rails g model と rails g controller の組み合わせと rails g scaffold とはどう違うか? scaffold したモデルは データメンテナンス用の画面が一式生成される ( ただ 不必要な画面も多い ) 個別に生成したコントローラは controller のメソッドと対応する画面とが その都度 その部分だけ生成される Master データには scaffold が楽だが scaffold だとトランザクションデータには 重すぎる気がします

投票権入力の考え方 Vote クラスのインスタンスで 投票権番号を入力させます このインスタンスデータは ログイン時のデータ入力の確認にのみ使います 投票権番号とセキュリティコードをデータとして持つので このクラスのインスタンスを受け取り Ticket クラスのデータと照合します この番号が有効だったら Tickets クラスからデータを取得し vote 画面で制御に使います

app/views/votes/login.html.erb <h1>input your Vote Number</h1> <%= form_for @vote, :url => {:action=>'check', :method=>'post'} do f %> <div class="field"> <%= f.label :number %><br /> <%= f.number_field :number %> </div> <div class="field"> <%= f.label :security %><br /> <%= f.number_field :security %> </div> <div class="actions"> <%= f.submit "Enter" %> </div> <% end %> Action として check を指定しているので この部分の controller を書くまでは テストランできません

config/routes.rb の修正 Login 画面から check メソッドに入力データを渡すため check を post として追加します post "votes/check" => "votes#check" get "votes/login" を追加します 自動生成分との競合に注意

app/controllers/ votes_controller.rb(1) check メソッドと login メソッドを追加します check メソッドは テンプレートを持ちません def check end だけだと 何もしないでテンプレート :check.html.erb を探しますので テンプレートを探させないために redirect_to votes_path を記述しておきます

app/controllers/ votes_controller.rb(2) login では @vote をコントローラから受け取る という記述で生成しました このため login メソッドに @vote = Vote.new と追加しておきます

ここまでで テストラン http://127.0.0.1:3000/votes/login で 一般ユーザの 投票権確認 を行います 番号を入力したら 投票画面へリンクすることを確認します 今は 適当に入力する

実習課題 今日から話題が切り替わりました 本日は ここまでとします 各自が選んだ 人気投票 の画像登録と 投票ボタンまでを作成してみて下さい 今日のレポート提出はありません 読み替えがわからなかったら 質問をして下さい

今日の欠席課題 画像の出る人気投票画面を報告して下さい 出席に切り換えます 細かい説明は不要です 画面コピーをつけて下さい