プログラミングをしない
プログラミング講座
エッセンス版
自己紹介
webサービスを複数リリース
飲食店予約サイト、CtoCシェアリング、オンライン学習マッチングサイト、
ギフトレコメンドサービス、ECサイト、見積もり取得サイト
プロトタイプレベルのwebサービスを十数件
小さくスタートするものを作るのが得意。大規模案件は不得意。
PHPで自力開発→クラウドソーシングで外注
かつては自力開発。学習と作業に時間がかかりすぎるので、
いまは、できる限り外注。
本日のタイムスケジュール
目指す到達点(20min)
サイト・ページ・リンク (20min)
動的ページ (30min)
~休憩~
フローチャート(40min)
データベース (50min)
発注する(50min)
本日のタイムスケジュール
webの基礎的な仕組み
(HTMLやURLの基本)
インフラ
(LINUX、セキュリティ)
バックエンド
(サーバーのプログラムや
データベース)
フロントエンド
(見た目や、ブラウザのプログ
ラム)
サイト・ページ・リンク
動的ページ
データベース
学習の進め方
到達点
到達点
自分で
開発する
エンジニアに
作ってもらう
webアプリや
スマホアプリ
を
作りたい
到達点
自分で
開発する
エンジニアに
作ってもらう
無料
開発時間 大
学習時間 大
開発時間 小
学習時間 小
有料
到達点
自分で開発するためには、
最低でも6か月フルタイムで学習。
実際の依頼
PHPでつくったoDeskと同じようなメッ
セージ機能ライブラリ
予算 $30
ユーザー同士がメッセージを送れるwebのプラットフォーム
を作っています。
このメッセージシステムはoDeskのメッセージシステムのよう
なものです。つまり、
<必要な機能>
- 1対1のメッセージ (グループメッセージはいりません)
- スレッド形式のメッセージ
- ‘[時間]に開封’ という表示
- web socketによる通知は必要ありません。
<納品ファイル>
- PHP ファイルのライブラリ
-メッセージ投稿機能
-データベース記述機能
- etc
- 簡単なHTMLページ
-受信箱ページ (メッセージスレッドのリスト。新着順。)
-メッセージスレッドページ(スレッド1つごとのメッセージペー
ジ。 )
- mysqlのテーブルとカラムの情報
<使っているシステム>
PHP 5.3.29
mysqli
フレームワーク無し
動的ページ
出力
経過日数
パラメータ
日付
加工
今日-入力日付
動的ページ
https://www.youtube.com/watch?v=iFZsQ7yxBFs
データベース
何がデータベースに 入っている/入っていない でしょう?
データベースの構造
データベースの構造は、シンプルです。
エクセルに似ています。
book_id book_name book_author
1 吾輩は猫である 夏目漱石
2 星の王子さま サン・テグジュベリ
データベースの構造
この複数のテーブルのまとまりをデータベースと言います。
user_id user_name user_email user_passwo
rd
user_created
at
1 つよぽん motobe@pri
medge.net
himitsu99 2015/12/01
10:00:00
2 taro88 taro88@gmai
l.com
pass2taro 2015/12/01
20:00:00
正規化
下記のデータベースデザインを
考えてください。(5分)
山田
東京大学
鈴木
東京大学
佐藤
京都大学
村上
早稲田大学
水口
京都大学
正規化
studen
t_id
student_name student_univer
sity
1 山田 東京大学
2 鈴木 東京大学
3 佐藤 京都大学
4 村上 早稲田大学
5 水口 京都大学
studen
t_id
student_name student_univer
sity
1 山田 1
2 鈴木 1
3 佐藤 2
4 村上 3
5 水口 2
univer
sity_id
university_name
1 東京大学
2 京都大学
3 早稲田大学
≒
どちらが良いデータベース?
情報を入れる
ほぼ無し
新しい
情報を
入れる
INSERT
情報を
更新する
UPDATE
情報を
消す
DELETE
情報を
取り出す
SELECT
やることは似ている
情報を入れる
手入力
phpmyadmin
発注する
エンジニアが嫌いなものは、
何でしょう?

プログラミングをしないプログラミング講座エッセンス版