Submit Search
Upload
07 ソーシャルブックマーク(2)
•
1 like
•
470 views
文樹 高橋
Follow
ソーシャルブックマークの第二回です。
Read less
Read more
Technology
Design
Report
Share
Report
Share
1 of 20
Download now
Download to read offline
Recommended
データベースを使おう
データベースを使おう
Shuhei Iitsuka
Mysql casual fukuoa_vlo_2
Mysql casual fukuoa_vlo_2
Makoto Haruyama
Una Activitat De La Tardor
Una Activitat De La Tardor
cp alfandec
縄文時代の小説を書く(1)
縄文時代の小説を書く(1)
文樹 高橋
Tim Lang, Rode Hoed, October 2009
Tim Lang, Rode Hoed, October 2009
dickveerman
もう自分で考えるのはやめよう! クリエイティブ・アウトソーシングのススメ
もう自分で考えるのはやめよう! クリエイティブ・アウトソーシングのススメ
文樹 高橋
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!
IIJ
Recommended
データベースを使おう
データベースを使おう
Shuhei Iitsuka
Mysql casual fukuoa_vlo_2
Mysql casual fukuoa_vlo_2
Makoto Haruyama
Una Activitat De La Tardor
Una Activitat De La Tardor
cp alfandec
縄文時代の小説を書く(1)
縄文時代の小説を書く(1)
文樹 高橋
Tim Lang, Rode Hoed, October 2009
Tim Lang, Rode Hoed, October 2009
dickveerman
もう自分で考えるのはやめよう! クリエイティブ・アウトソーシングのススメ
もう自分で考えるのはやめよう! クリエイティブ・アウトソーシングのススメ
文樹 高橋
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!
IIJ
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
Makoto Haruyama
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Yasuhito Yabe
MTDDC Tokyo テーマ編 プレゼン資料
MTDDC Tokyo テーマ編 プレゼン資料
Toshihito Gamo
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
Kentaro Matsui
Hadoopを用いた大規模ログ解析
Hadoopを用いた大規模ログ解析
shuichi iida
Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果
Masayuki Ozawa
LightSwitchで遊んでみた
LightSwitchで遊んでみた
Yoshitaka Seo
2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料
OCHI Shuji
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada
ASP.NET Core WebAPIでODataを使おう
ASP.NET Core WebAPIでODataを使おう
DevTakas
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Takeshi Komiya
㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!
Nishida Kansuke
はじめての Azure 開発
はじめての Azure 開発
Yoshitaka Seo
PhpでMySqlを使う
PhpでMySqlを使う
pcod
今さら聞けない人のためのGit超入門 GitLab 13対応版
今さら聞けない人のためのGit超入門 GitLab 13対応版
VirtualTech Japan Inc./Begi.net Inc.
LightSwitch で遊んでみた Rev. 2
LightSwitch で遊んでみた Rev. 2
Yoshitaka Seo
sql_require_primary_keyを使って主キーを必須にさせる
sql_require_primary_keyを使って主キーを必須にさせる
lhfukamachi 深町
データベース定義書とER図【勉強会資料】
データベース定義書とER図【勉強会資料】
株式会社キャッチアップ
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
Kohei Noda
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Takayuki Shimizukawa
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
文樹 高橋
テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする
テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする
文樹 高橋
More Related Content
Similar to 07 ソーシャルブックマーク(2)
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
Makoto Haruyama
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Yasuhito Yabe
MTDDC Tokyo テーマ編 プレゼン資料
MTDDC Tokyo テーマ編 プレゼン資料
Toshihito Gamo
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
Kentaro Matsui
Hadoopを用いた大規模ログ解析
Hadoopを用いた大規模ログ解析
shuichi iida
Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果
Masayuki Ozawa
LightSwitchで遊んでみた
LightSwitchで遊んでみた
Yoshitaka Seo
2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料
OCHI Shuji
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada
ASP.NET Core WebAPIでODataを使おう
ASP.NET Core WebAPIでODataを使おう
DevTakas
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Takeshi Komiya
㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!
Nishida Kansuke
はじめての Azure 開発
はじめての Azure 開発
Yoshitaka Seo
PhpでMySqlを使う
PhpでMySqlを使う
pcod
今さら聞けない人のためのGit超入門 GitLab 13対応版
今さら聞けない人のためのGit超入門 GitLab 13対応版
VirtualTech Japan Inc./Begi.net Inc.
LightSwitch で遊んでみた Rev. 2
LightSwitch で遊んでみた Rev. 2
Yoshitaka Seo
sql_require_primary_keyを使って主キーを必須にさせる
sql_require_primary_keyを使って主キーを必須にさせる
lhfukamachi 深町
データベース定義書とER図【勉強会資料】
データベース定義書とER図【勉強会資料】
株式会社キャッチアップ
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
Kohei Noda
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Takayuki Shimizukawa
Similar to 07 ソーシャルブックマーク(2)
(20)
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
MTDDC Tokyo テーマ編 プレゼン資料
MTDDC Tokyo テーマ編 プレゼン資料
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
Hadoopを用いた大規模ログ解析
Hadoopを用いた大規模ログ解析
Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果
LightSwitchで遊んでみた
LightSwitchで遊んでみた
2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
ASP.NET Core WebAPIでODataを使おう
ASP.NET Core WebAPIでODataを使おう
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!
はじめての Azure 開発
はじめての Azure 開発
PhpでMySqlを使う
PhpでMySqlを使う
今さら聞けない人のためのGit超入門 GitLab 13対応版
今さら聞けない人のためのGit超入門 GitLab 13対応版
LightSwitch で遊んでみた Rev. 2
LightSwitch で遊んでみた Rev. 2
sql_require_primary_keyを使って主キーを必須にさせる
sql_require_primary_keyを使って主キーを必須にさせる
データベース定義書とER図【勉強会資料】
データベース定義書とER図【勉強会資料】
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
More from 文樹 高橋
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
文樹 高橋
テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする
テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする
文樹 高橋
マルチパブリッシング プラットフォームとしてのWordPress
マルチパブリッシング プラットフォームとしてのWordPress
文樹 高橋
GFLS入門 - GitFlowっぽいアレ-
GFLS入門 - GitFlowっぽいアレ-
文樹 高橋
WPD-Fes #3 2015年のサバイバル学習術 Web開発技術の税引後利益 を最大化しよう!
WPD-Fes #3 2015年のサバイバル学習術 Web開発技術の税引後利益 を最大化しよう!
文樹 高橋
WordBench Tokyo Jan 30th, 2015
WordBench Tokyo Jan 30th, 2015
文樹 高橋
基本契約書ドラフト
基本契約書ドラフト
文樹 高橋
12 word pressカスタマイズ(プラグイン編)
12 word pressカスタマイズ(プラグイン編)
文樹 高橋
11 word pressカスタマイズ(テーマ編)
11 word pressカスタマイズ(テーマ編)
文樹 高橋
10 word pressをインストール
10 word pressをインストール
文樹 高橋
09 ソーシャルブックマーク(3)
09 ソーシャルブックマーク(3)
文樹 高橋
06 ソーシャルブックマーク(1)
06 ソーシャルブックマーク(1)
文樹 高橋
05 はじめてのmy sql
05 はじめてのmy sql
文樹 高橋
04 filesystem include
04 filesystem include
文樹 高橋
03 var array_flow_func
03 var array_flow_func
文樹 高橋
02 はじめてのメール送信
02 はじめてのメール送信
文樹 高橋
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
文樹 高橋
05 再利用のためのインクルード
05 再利用のためのインクルード
文樹 高橋
12 総合演習Word Pressの利用
12 総合演習Word Pressの利用
文樹 高橋
11 ソーシャルブックマーク4
11 ソーシャルブックマーク4
文樹 高橋
More from 文樹 高橋
(20)
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする
テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする
マルチパブリッシング プラットフォームとしてのWordPress
マルチパブリッシング プラットフォームとしてのWordPress
GFLS入門 - GitFlowっぽいアレ-
GFLS入門 - GitFlowっぽいアレ-
WPD-Fes #3 2015年のサバイバル学習術 Web開発技術の税引後利益 を最大化しよう!
WPD-Fes #3 2015年のサバイバル学習術 Web開発技術の税引後利益 を最大化しよう!
WordBench Tokyo Jan 30th, 2015
WordBench Tokyo Jan 30th, 2015
基本契約書ドラフト
基本契約書ドラフト
12 word pressカスタマイズ(プラグイン編)
12 word pressカスタマイズ(プラグイン編)
11 word pressカスタマイズ(テーマ編)
11 word pressカスタマイズ(テーマ編)
10 word pressをインストール
10 word pressをインストール
09 ソーシャルブックマーク(3)
09 ソーシャルブックマーク(3)
06 ソーシャルブックマーク(1)
06 ソーシャルブックマーク(1)
05 はじめてのmy sql
05 はじめてのmy sql
04 filesystem include
04 filesystem include
03 var array_flow_func
03 var array_flow_func
02 はじめてのメール送信
02 はじめてのメール送信
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
05 再利用のためのインクルード
05 再利用のためのインクルード
12 総合演習Word Pressの利用
12 総合演習Word Pressの利用
11 ソーシャルブックマーク4
11 ソーシャルブックマーク4
Recently uploaded
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Recently uploaded
(9)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
07 ソーシャルブックマーク(2)
1.
PHP講座(7)! ソーシャルブックマークを作ろう(2) ソーシャルブックマークアプリケーションの第二回目です。 これまでデータベースのCRUDについて何度か復習しましたが、 いよいよサイト全体のデータを定義していきます。 また、ログイン機能も実装します。
2.
2
「ぺちぱブックマーク」の要件 1. 登録したユーザーのみ利用できる(=ユーザーの新規登録がある) 2. ユーザーは退会できる。 3. ブックマークしたURLは集計される 4. ブックマークしたURLにはタグをつけることができる 5. タグは新規登録ができる。 6. タグがすでに登録されている場合は同じものを使う。 これらの条件から必要なサイト構造を 考えていきます。重要な作業です。 10.4.18 (C) 株式会社破滅派
3.
3
Webサービスを作るときのコツ カオス理論を知っていますか? 北京で蝶が羽ばたくと、ニューヨークで台風が起きるそう です。 要するに、簡単なことでも複数組み合せると、複雑になってきます。 あとあと面倒になりそうなことをはじめにつぶしておきます。 そのためには… 1. サイトの目的を知る 2. サイトの内部的な構造を把握する 3. サイトの視覚的な構造を把握する 10.4.18 (C) 株式会社破滅派
4.
4
サイトの目的を知る ユーザーにとって、みなさんがFlashが得意だとか、jQueryができるとか、 ユーザービリティを考えているとか、そうしたことはすべてどうでもいい ことです。 なぜなら、ユーザーは皆さんのお友達ではないからです。 クライアントにとって、みなさんが何をしたいかはどうでもいいことです。 自分達のために何をしてくれるかだけが重要です。 なぜなら、クライアントは皆さんのお友達ではないからです。 いま、自分達がやらなければいけないことは何かをしっかり理解してください。 ぺちぱブックマークのためにやらなければいけないことは何ですか? はじめに鉛筆で書き出しましょう。 10.4.18 (C) 株式会社破滅派
5.
5
サイトの内部的な構造を知る Webアプリケーションは目に見えるものがすべ シーケンス図 てではありません。構造を把握する必要があり ます。 サイトの構造を頭だけで理解するのはとても難 しいです。できるだけ可視化して、整理しなが ら考える必要があります。 ユースケース図 鉛筆+大きめのノートにどんどん書き出してい きましょう。 ※図を作成ツールもありますが、ツールに溺れないように! 理解を助ける図として有名なものにはユースケー ス図やシーケンス図などがあり、UMLという記 法もあります(Google it!)が、はじめはフロー データベース構造 チャートで書ければ十分です。 サイトの構造が把握できたら、サイトマッ プとデータベースの構造を作成します。 10.4.18 (C) 株式会社破滅派
6.
6
サイトの視覚的な構造を知る 通常はワイヤーフレームを作成します。 デザイナーの経験しかない人が犯しがちですが、 PHPなどのプログラムを含んだサイトを作成す る場合、ワイヤーフレームはURLの数だけ作れば いいという物ではありません。 「サイトの内部的な構造」を理解した上で「画 面の状態」を考えて作成する必要があります。 同じトップページでも、「ログイン前」と「ログ イン後」では表示される要素が変わります。 PowerPointやOmnigraffle、Visioなどで画面 を作成します。 はじめはおおざっぱなものを作り、徐々に 細かくしていきます。 10.4.18 (C) 株式会社破滅派
7.
7
「ぺちぱブックマーク」のテーブル構造 ID mail password created 1 hoge@example.jp mememna 1990-‐05-‐05 14:00:00 ユーザーテーブル 2 fuga@example.jp saQejkh 1975-‐08-‐22 22:02:00 pb_users 3 var@example.jp auifsheoifajos 1960-‐12-‐11 00:00:00 ID user_id url created 1 12 http://example.jp 1990-‐05-‐05 14:00:00 ブックマークテーブル 2 14 http://example.com 1975-‐08-‐22 22:02:00 pb_bookmarks 3 16 http://example.jp 1960-‐12-‐11 00:00:00 ID user_id name created タグテーブル 1 1 これはすごい 1990-‐05-‐05 14:00:00 pb_tags 2 4 php 1975-‐08-‐22 22:02:00 3 1 pear 1960-‐12-‐11 00:00:00 ID user_id tag_id bookmark_id 1 1 2 1 データ紐付け用テーブル 2 4 5 1 pb_relationships 3 1 6 4 ※テーブル名には接頭辞をつけましょう。 普通はプロジェクト名+アンダースコアです。 10.4.18 (C) 株式会社破滅派
8.
8
1.ユーザー情報の管理 1. 登録したユーザーのみ利用できる(=ユーザーの新規登録がある) 2. ユーザーは退会できる。 ID mail password created 1 hoge@example.jp mememna 1990-‐05-‐05 14:00:00 2 fuga@example.jp saQejkh 1975-‐08-‐22 22:02:00 3 var@example.jp auifsheoifajos 1960-‐12-‐11 00:00:00 ユーザーのログイン名には メールアドレスを使います。 パスワードを格納するとき パスワードをデータベースに格納するとき、 通常はハッシュ(不可逆的暗号化)して格 主キーと呼ばれるその行を特定するフィー 納します。 ルドは、一般的に以下の属性を持ちます。 パスワードをそのまま入れてしまうと、 PRIMARY KEY(主キー) データベースが流出したときにパスワード AUTO_INCREMENT(自動増加) そのものが流出してしまいます。 10.4.18 (C) 株式会社破滅派
9.
9
2.ブックマーク情報の管理 1. ユーザーはブックマークを登録できる(暗黙の前提) ID user_id url created 1 12 http://example.jp 1990-‐05-‐05 14:00:00 2 14 http://example.com 1975-‐08-‐22 22:02:00 3 16 http://example.jp 1960-‐12-‐11 00:00:00 ユーザーのIDを登録してお くことで、後で検索に利用 できます。 主キーと呼ばれるその行を特定するフィー ルドは、一般的に以下の属性を持ちます。 PRIMARY KEY(主キー) AUTO_INCREMENT(自動増加) 10.4.18 (C) 株式会社破滅派
10.
10
3.タグ情報の管理 1. タグは新規登録ができる。 2. タグがすでに登録されている場合は同じものを使う。 ID user_id name created 1 1 これはすごい 1990-‐05-‐05 14:00:00 2 4 php 1975-‐08-‐22 22:02:00 3 1 pear 1960-‐12-‐11 00:00:00 ブックマークと同じ原理で す。 主キーと呼ばれるその行を特定するフィー ルドは、一般的に以下の属性を持ちます。 PRIMARY KEY(主キー) AUTO_INCREMENT(自動増加) 10.4.18 (C) 株式会社破滅派
11.
11
4.タグとブックマークの紐付け 1. ブックマークしたURLにはタグをつけることができる ID user_id tag_id bookmark_id 1 1 2 1 2 4 5 1 3 1 6 4 この3つのフィールドを入れることで、「誰がど のブックマークになんというタグをつけたの か」がわかります。 主キーと呼ばれるその行を特定するフィー ルドは、一般的に以下の属性を持ちます。 PRIMARY KEY(主キー) AUTO_INCREMENT(自動増加) 10.4.18 (C) 株式会社破滅派
12.
12
手を動かす前に よし、やっと準備 ができたぞ! 作ろう! と、なる前に… あらかじめ繰り返しが起きそうな部分を定義しておきます。 同じことを何度も書くのは馬鹿げています。 • データベースへの接続情報 • URL • ファイルパス 設定ファイル(bootstrap.php)を作成し、すべてのプログラムでこれ をインクルードするようにします。 10.4.18 (C) 株式会社破滅派
13.
13
関数による再利用 ぺちぱブックマークのように複雑なサービス では、似たような処理が何度も出てきます。 URLが正しい値かどうかチェックし て、データベースに接続して… 似たような処理が多いな… これを一々コピペするのは面倒だか ら、一つのファイルにまとめておこ う。 自分で関数を作ってfunctions.phpに記述し、 同じ処理を書かないで済むようにします。 10.4.18 (C) 株式会社破滅派
14.
14
関数の文法 関数宣言 関数名 引数。なくてもいいし、なんこあってもいい。 function hoge($foo, $bar…){ //ここでなんか処理を行う return $fuga; } 戻り値(なくてもいい) 一度作った関数は何度でも 呼び出すことができます。 10.4.18 (C) 株式会社破滅派
15.
15
定義済み関数 PHPには定義済みの関数がたくさん (4000ぐらい)あります。 人間が考えることは大体同じなので、 基本的なものはほとんど揃っています。 1. 文字列の数を数えたい 2. 配列を並べ替えたい 3. ファイルをコピーしたい 4. 画像を白黒にしたい 5. メールを送りたい まずは「こういう関数はないかな?」 と探してみることから始めましょう。 10.4.18 (C) 株式会社破滅派
16.
16
ログイン機能の概要 Q. ログイン機能を実装するために必要な2つの機能とは? 1. ログイン情報(アカウント+パスワード)の組み合わせが 合っていることを確認する機能 → すぐ作れる 2. ページAにいた人がページBにきた人と同じだと証明する機能 → どうやってやるの? ログインフォームで正しい値 別のページに移動したあと、 を入力したAさん 認証を通ったユーザーなのか判別する 今ページを見ている のはログイン済みのA さんだな! 10.4.18 (C) 株式会社破滅派
17.
17
ログイン=セッションの利用 【セッションとは?】 ユーザーがサイトを訪れて取る一連のページ移動を 「セッション」と呼びます。 PHPはこのセッションの間、変数$_SESSION(セッショ ン変数)に情報を記憶することができます。 セッションを使わない場合は誰がき セッションを使えば、ユーザーの情 ても同じ結果を表示 報に応じて処理を変えられる ex.amazon.co.jp 10.4.18 (C) 株式会社破滅派
18.
18
セッションの利用の仕方 <?php 【よく使うセッション関数】 //セッション開始 session_start(); session_start() //これ以降、セッション変数が使える セッションの利用を開始する if(isset($_SESSION[“login”])){ session_destroy() $user = $_SESSION[“uid”]; セッション変数を空にする(ログアウ }else{ トのときなどに使う) $user = “guest”; session_cache_expire($limit) } セッションの有効期限を設定する(デ ?> フォルトはブラウザを閉じるまで) 【注意点】 session_start()関数はブラウザに何かを表示す セッションの設定はphpの設定ファイルの る前に行うようにしてください。 php.iniに書かれています。 ブラウザに出力が行われたあとにsession_start 有効期限などはこの設定次第で変更できないこ を行うと、エラーが出ます。 とがあります。 10.4.18 (C) 株式会社破滅派
19.
19
セッションを利用したログインのアルゴリズム 【ぺちぱブックマークにログイン機能を実装する】 1. すべてのページでセッション関数を 開始(@bootstrap.php) 2. ログインページでユーザー名とパス ワードをチェック 3. あっていたらセッション変数にログ イン情報を書き込み 4. ログアウトページでセッションを破 棄する 10.4.18 (C) 株式会社破滅派
20.
20
セッションの仕組み 1.セッション開始時 2.セッション利用時 1.アクセス 1.アクセス 2.Cookieを見て、セッショ 2.IDをCookieに保存 ンIDがあるかどうかを確認 Cookie セッション保存フォルダ Cookie セッション保存フォルダ 3.セッション変数を指定の 3.セッションIDがあれば、 フォルダに保存 該当する変数を取得 【Cookieとは?】 【セッションファイルの保存期限】 ブラウザに用意された書き込みを許可された領 セッションファイルは一定期間(初期設定 域。 PHPが書き込める伝言板のようなもの。 では24分)で削除されます。 容量は4096byteまで。 セッション変数はフォルダではなく、デー ブラウザが許可していない場合は書き込めない。 タベースに保存することもできます。 10.4.18 (C) 株式会社破滅派
Download now