SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
プロジェクト 最終発表
取組内容
WebGL, PHP, MySQLデータベースを利用し、OBJフォーマットモデルをイ
ンタラクティブに表示するWebサービスの開発を行う。
同時に3DCGプログラミングの深い理解も行う。
最終的な使用言語(文)
HTML5, CSS3, JavaScript, jQuery(JS), PHP, SQL
HTML5のcanvas要素を利用して、ユーザーがアップロードしたオブジェ
クトファイルをインタラクティブに3DCG表示。
localhostにて実行。(XAMPP, Apacheサーバ, MySQLデータベース)
内部処理(JavaScript)
前回発表までは3DCGプログラミング理解の為ライブラリを使用せず実
装していたが、あまりにも動作が重い、jQueryとの干渉が発生する等
の問題が生じたため、three.jsのOBJローダーを使用。
WebGL関連JavaScriptコード量
前回 : 1004行 → 今回 : 102行
内部処理(MySQLデータベース)
PHPプログラムを組む前に、データベースとして何を保持したいかを明
確にするため、テーブル定義書を作成。後にphpMyAdminにてSQL文
を発行し、テーブル生成。
作成したテーブル
・ モデル情報の保持「items」
・ 会員情報の保持「members」
テーブル定義書と実際のテーブル
内部処理(PHP)
HTMLにてページの基礎を作成しておき、後にPHPにて処理系を記述。
今回作成したウェブサイトでの主なPHP処理による機能
・ アカウントの作成、ログイン、ログアウト処理(create_account.php)
・ オブジェクトのアップロード(add_object.php/upload.php)
・ オブジェクト一覧の表示、検索(index.php)
・ オブジェクト詳細の表示(detail.php)
・ ユーザー登録情報の閲覧(my_page.php)
PHPによる処理 – ログイン/ログアウト
ログインフォームにてユーザー情報を入力、ログインボタン押下
→ POSTメソッド処理によりログイン認証に成功すると、
セッション変数にユーザーIDとユーザー名を保存
ログイン認証は、SQLのSELECT文によりmembersテーブルから一致す
るものがあればtrueを返すことにより実装。
ログインしなければオブジェクト詳細閲覧、投稿ともに不可能
PHPによる処理 – OBJアップロード
フォームに適切な内容を入力し、登録ボタンを押下
投稿の際にはセッション変数に格納されているユーザーIDとオブジェ
クトデータが関連付けられる。また、投稿データはAUTO_INCREMENT
による主キー(item_code)とオブジェクト名を合成した名称を付けること
により、重複のないように保存。
PHPによる処理 – 一覧表示
itemsテーブルに保存されているデータのすべてを表示。
→ ページング機能未実装。
それらを個々にクリックするとそれぞれのオブジェクト詳細画面に遷移。
GET情報(?code=item_code)をリンクに付加することでオブジェクトを識別。
PHPによる処理 – 詳細表示
一覧ページからのGET情報付きリンクからオブジェクトコードを受け取
り、そのコードに応じた情報を取得、表示。
その際、セッション処理により、ログインされていなければこのページ
を閲覧できない。
このページにてobjファイルはWebGLによってインタラクティブ表示され
る。
改善すべき点
・ 検索フォームにてSQLインジェクション攻撃を行うことができる。
・ WebGL処理を覗かれるとobjファイル保存場所が丸見え。
・ PHPのデフォルト設定により2MBまでのファイルしか投稿できない。
・ 商品サムネイル画像が指定サイズでなければ表示がおかしくなる。
・ 例外処理を実装していないため、insert系の処理が雑
・ ページング機能がない
などなど…
おすすめ参考サイト等
・ wgld.org ・・・ http://wgld.org/
WebGLの学習サイト
・ポンクソフト ・・・ http://ponk.jp/php/basic/ec
PHPとSQLによるショッピングサイトの作り方.
・CodeZine PHP入門 ・・・ http://codezine.jp/article/detail/3982

Weitere ähnliche Inhalte

Was ist angesagt?

Scotty を利用した "ゆるふわ" Web サービス作成
Scotty を利用した "ゆるふわ" Web サービス作成Scotty を利用した "ゆるふわ" Web サービス作成
Scotty を利用した "ゆるふわ" Web サービス作成
krdlab
 
CoreData 非同期データ処理
CoreData 非同期データ処理CoreData 非同期データ処理
CoreData 非同期データ処理
次朗 永島
 

Was ist angesagt? (10)

Antのススメ
AntのススメAntのススメ
Antのススメ
 
Scotty を利用した "ゆるふわ" Web サービス作成
Scotty を利用した "ゆるふわ" Web サービス作成Scotty を利用した "ゆるふわ" Web サービス作成
Scotty を利用した "ゆるふわ" Web サービス作成
 
Redux, Relay, HorizonあるいはElm
Redux, Relay, HorizonあるいはElmRedux, Relay, HorizonあるいはElm
Redux, Relay, HorizonあるいはElm
 
200k/sec
200k/sec200k/sec
200k/sec
 
Asset Pipeline for Perl
Asset Pipeline for PerlAsset Pipeline for Perl
Asset Pipeline for Perl
 
ライブラリにあらず! 〜Google Closure Toolsの事始め〜
ライブラリにあらず! 〜Google Closure Toolsの事始め〜ライブラリにあらず! 〜Google Closure Toolsの事始め〜
ライブラリにあらず! 〜Google Closure Toolsの事始め〜
 
nginxのログを非スケーラブルに省メモリな方法で蓄積する
nginxのログを非スケーラブルに省メモリな方法で蓄積するnginxのログを非スケーラブルに省メモリな方法で蓄積する
nginxのログを非スケーラブルに省メモリな方法で蓄積する
 
CoreData 非同期データ処理
CoreData 非同期データ処理CoreData 非同期データ処理
CoreData 非同期データ処理
 
20090606
2009060620090606
20090606
 
Lt7 SPA
Lt7 SPALt7 SPA
Lt7 SPA
 

Ähnlich wie プロジェクト2B 最終発表

HTML5-20100626
HTML5-20100626HTML5-20100626
HTML5-20100626
Taku AMANO
 
Java scriptの進化
Java scriptの進化Java scriptの進化
Java scriptの進化
maruyama097
 
JSX Design Overview (日本語)
JSX Design Overview (日本語)JSX Design Overview (日本語)
JSX Design Overview (日本語)
Kazuho Oku
 
TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
Nobuhiro Sue
 

Ähnlich wie プロジェクト2B 最終発表 (20)

HTML5-20100626
HTML5-20100626HTML5-20100626
HTML5-20100626
 
HTML5でオフラインWebアプリケーションを作ろう
HTML5でオフラインWebアプリケーションを作ろうHTML5でオフラインWebアプリケーションを作ろう
HTML5でオフラインWebアプリケーションを作ろう
 
Grails 2.0.0.M1の話
Grails 2.0.0.M1の話 Grails 2.0.0.M1の話
Grails 2.0.0.M1の話
 
Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22
 
Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.js
 
今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング
 
Web制作勉強会 #2
Web制作勉強会 #2Web制作勉強会 #2
Web制作勉強会 #2
 
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフラインWebフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
 
Mvc conf session_3_takehara
Mvc conf session_3_takeharaMvc conf session_3_takehara
Mvc conf session_3_takehara
 
Java scriptの進化
Java scriptの進化Java scriptの進化
Java scriptの進化
 
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5
 
Mvc conf session_5_isami
Mvc conf session_5_isamiMvc conf session_5_isami
Mvc conf session_5_isami
 
プロジェクト2B テーマ発表
プロジェクト2B テーマ発表プロジェクト2B テーマ発表
プロジェクト2B テーマ発表
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
 
いまさらJavaScript
いまさらJavaScriptいまさらJavaScript
いまさらJavaScript
 
Mvc conf session_1_osada
Mvc conf session_1_osadaMvc conf session_1_osada
Mvc conf session_1_osada
 
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
 
JSX Design Overview (日本語)
JSX Design Overview (日本語)JSX Design Overview (日本語)
JSX Design Overview (日本語)
 
TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
 
Canvas勉強会
Canvas勉強会Canvas勉強会
Canvas勉強会
 

Mehr von Kodai Takao (6)

チームラボ サマーインターン発表スライド
チームラボ サマーインターン発表スライドチームラボ サマーインターン発表スライド
チームラボ サマーインターン発表スライド
 
Smoothed Particle Hydrodinamics
Smoothed Particle HydrodinamicsSmoothed Particle Hydrodinamics
Smoothed Particle Hydrodinamics
 
CG Image Recognition with Deep Learning
CG Image Recognition with Deep LearningCG Image Recognition with Deep Learning
CG Image Recognition with Deep Learning
 
プロジェクト3A テーマ発表
プロジェクト3A テーマ発表プロジェクト3A テーマ発表
プロジェクト3A テーマ発表
 
Computer Graphics from the Mathematical Aspects - Lecture 1
Computer Graphics from the Mathematical Aspects - Lecture 1Computer Graphics from the Mathematical Aspects - Lecture 1
Computer Graphics from the Mathematical Aspects - Lecture 1
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 

プロジェクト2B 最終発表