JASONハーシュホーン:ようこそ 週8まで、誰も。 我々は我々の前にエキサイティングな一週間を持っている。 君たちは、この過去のカップルで鳩ました PHP、SQL、HTML、CSSへの講義のため、 しようとしている4ブランドの新しい言語 このコース休息を取るために。 我々はまた、他のカップルを学びます もちろんの終了前の言語。 しかし、いずれにせよ、言うまでもなく、これは CS50は非常にエキサイティングな時間、今 表向きは、C言語を習得されておりました ウェブサイトのためのプログラミングに移る。 そう、今週、我々は上に行くつもりです 4を通して駆け足 私が今述べた言語、 HTML、CSS、PHP、およびSQL。 うまくいけば、我々はたくさんのままにします 話をするセクションの最後の時間 今週のPセットと回答について 皆さんが持っているか質問。 毎週、同じリソースのリスト あなたのために、お手伝いをするために週の 問題設定と行く 材料の上に - しかし、これらのために、特に、今週、 Webベースの問題セットがある 他のリソースのホスト外 そこにあなたがそうすることを 信じられないほど便利見つける。 私はここでそれらを持っている。 私は、セクションの後にあなたにこのことをメールでお知らせいたします これもオンラインである。 しかし、具体的には、たくさんあり​​ます そこに偉大なリソースの。 いくつかのそれほど大きくないもあります ものなので、それらを警戒する。 しかし、このスライドには、私は4良いを持っている 資源のそれぞれに対して1つの あなたが作業になります言語 今週に - HTML用1参照シート、 CSSのリファレンスシート。 ここでこの権利は、PHPのマニュアルです。 だからではなく、人間としてPHPを入力するのは コマンドは、これはどこで行うのと 関数プロトタイプを調べるに行く と例もいくつかのヒントや PHP関数を使用するためのトリック。 あなたは多くの場合、このサイトを使用しますが、 ので、私はなるためになることをお勧めします それに慣れ。 それはそれは少し技術的なことができますが、 また、資源のトンを提供し、 関数のすべてのための例や でも、配列を使用する方法と同様に、他のか 、様々なタイプの変数。 このサイトでは、PHPのための非常に便利です。 そして、SQLのは、この中に鳩た場合 今週の問題セットは、あなたが知っているよ 我々は、データベースを使用していること。 そして、我々はを通じて、そのデータベースにアクセスする 比較的優れたユーザー·インターフェース。 またはそれは、アクセスする一つの方法だ そのデータベース。 ユーザインタフェースは、 phpMyAdminに呼ばれる。 [SQL]タブ、我アイルがあります 今日、後で見てください。 そして、あなたは彼らのサンプルSQLに入力できる 使用しているデータベースで物事を行うには、クエリ、 して、これらのクエリを実行します。 彼らが正しいなら、それはよ この1の正しい、と言う。 彼らは間違っているなら、それはよ たとえば、それは正しくありません。 それはあなたの練習には絶好の場所だ SQLクエリにそれらを書き込む前に あなたを確認するために、コード、 フォーマットが正しくている。 最後に、ここに一つの他のウェブサイト。 これはあなたができるWebサイトです あなたのことを確認しに行くと確認 HTMLコードは有効です。 だから、あなたの問題を回す前に設定 今週、すべてのことを確認してください あなたのHTMLが有効です。 先週には、するには、Valgrindは実行していた あなたはメモリリークがなかったことを確認してください。 今週は、すべてのことを確認する必要があります コー​​ドの有効なHTML5です。 それが有効なHTML5のない場合は、している ポイントをオフに取得するつもり。 そうことを確認してください - それはしていません動作するという理由だけで それが完全に有効との意味。 このウェブサイトを通して、あなたのコードを実行 それをインチにする前に 繰り返しますが、ここのウェブサイトです。 あなたは私のためのフィードバックをお持ちの場合、我々は持っている 複数のセクションがいくつか残って、 と私はいつも私が何ができるかやってみたい 最高のセクションであなたのすべてを提供 可能な体験。 だから、何も私はそこなら、私に知らせて 改善するために行うかがある場合にすることができます あなたは私がやれることが分かりもの。 、AVI、ありがとうございました。 のウェブサイトに利用する。 これは私私が持っていたバイクだった それでは、自宅で4を言わせて、だった。 これは、ティーンエイジミュータントニンジャタートルズ あなたが言うことができない場合には、バイキング、 それは少しぼやけてだから。 あなたはトイザらスで、今それを得ることができます のために、私は、約100ドルだと思います。 しかし、私が欲しいこのバイクの特徴 もしこれらがに注意を払う ここ。 これらは補助輪です。 これまでに、ハンドされている Cを介してそして、我々は長い間を撮影した 時間、2ヶ月プラス、 C.を通過する 言語のこれらの次のカップルのために、 我々はするつもりはない その多くの時間を費やしています。 補助輪はオフに来ている。 そして、我々は、これらに飛び込むつもりだ すぐに言語とを介して移動 それを言うことではない迅速に、 私たちはあなたのスイミングを残すつもりだ そこをサポートする方法はありませんで あなた自身やどのようにこれらを把握 言語が動作する。 私はちょうどあなたのリストを示した あなたを助けるためのリソース。 しかし、PHPは信じられないほどであることに留意してください Cに似我々は終わっ行くよ 今日はそれと相違点の一部。 しかし、ほとんどの部分は、 forループがあります。 条件あればあります。 、問題を解決したい場合には、 あなたが使用するつもりだ それらの組み合わせである。 それは非常に似ています。 ロジックは非常によく類似していなければならない あなたが過去に何をやったか。 本当に今週新機能である 構文とどのようにあなた自身を表現しています。 そして、あなたはforループを書きたいが、それ 少し違って見えるかもしれません。 または、配列を作成したいのですが、それ 少し違って見えるかもしれません。 だから、前進していることに留意してください ロジックは何に非常によく似ています あなたが過去にやった。 しかし、あなたは、今直面することになるだろう 新しい構文がたくさん。 そして私たちはあなたを歩くつもりはありません シンタックスのすべての要素。 だから、把握するのはあなた次第です、本当に、 オンラインまたは経由で手を差し伸べる 議論したり、私を電子メールで送信するか、と話 1で物事を書く方法を別の、 PHPとどのようにSQLクエリの書き方 とどのようにHTMLとCSSを使用します。 しかし、あなたは知っているので、それはそのではありません 私たちはそこにあなたをスローするようにしようとしている 再びサメを泳ぐ。 これは、可能性が高いと何をするかです。 あなたの最終的なプロジェクトには、選択した場合 IOSのような別の言語、 Objective Cの、または作業を開始することを決定した場合 将来的にはプログラミングと 他の言語に飛び込む、 PythonやRubyのような。 多くの場合、ロジックは非常に類似している これらの言語のすべて、および全体で 構文は違うものです。 そして、それはとして、あなた次第になります プログラマ、Webを使用行く あなたと図のように利用可能なリソース あなたが知っているものを表現する方法をどのように で、C言語で表現する 異なる言語。 だから、これは両方のあなたのために、お勧めします 最終的なプロジェクト、そして再び、用 あなたはおそらく何を行います あなたはCS50を残した。 先に進む前に、誰にもない 何についての質問がある 私はこれまでやった? 素晴らしい。 先に進みましょう。 まず、簡単に話をするつもりだ chmodコマンドについて。 これは、我々は開始時にやる あなたの問題のセット。 非常に最初の命令の一つ あなたのために、あなたがダウンロードした後 分配コードは、変更することである ファイルのアクセス権と あなたが受け取るディレクトリ。 誰もが推測ベンチャーか知ることができる それは変更することが重要である理由 特定のファイルのアクセス権と お使いのコンピュータ上のディレクトリ? AVI - 観客:を除く[いいえ1 何をやっていると見ることができますか? JASONハーシュホーン:わかりました。 だから我々は上に何かを置きたい場合は、 Webおよびあなたがアクセス権があることを設定している あなただけが何かを見ることができ、 その後、誰もができない 作成したかを見る。 ほかには? うん。 観客:誰があなたの防止 から、何かを見たいと思っていない 何かを見て。 JASONハーシュホーン:それも事実です。 いくつかのコードは、おそらくがあること あなたがそうしないことを、書き 人々が見たい。 あなたは、おそらく見て、人々でOKだ あなたのHTMLとJavaScriptの。 しかし、あなたのPHPのバックエンドコードの多く 多分あなたのコードにロジック、 パスワードの一部を保存するもの ご使用のデータベースでは、ない 人々がいることを見てみたい 情報の種類。 だから、それぞれのファイルとすることが重要です 私たちが作成するディレクトリは、権限を持っている 私たちが望むかどうかに適用 ファイルのこれらの型を参照するには、人と ディレクトリおよびそれらにアクセスすることができ 潜在的にあっても、それらを変更してください。 だから、3種類があります パーミッションの。 読み取りアクセス許可、手段があります あなたは、ファイルやリストを読み込むことができます ディレクトリの内容。 書き込み権限は、そこ あなたは、ファイルまたは変更を変更できることを意味します その後、ディレクトリと実行 あなたができることを意味します許可、 、むしろあなたがファイルを実行するか、 ディレクトリに移動することができます。 あなたが持っているのであれば、CDの何か、 それを実行するための許可は、移動することができます そのディレクトリに。 これは簡単な例です。 繰り返しますが、この上で行ってきた 問題に設定してください。 しかし、私はディレクトリを作成 mkdirコマンドで。 私は、アクセス権を変更します。 これらの2行は、実際に行う まったく同じこと。 それは、そのための構文を説明するためにだ あなたがいるかどうか、アクセス権を変更する イ+ xまたは711は、それらは同じである。 我々は、この素敵なテーブルを見下ろす。 我々は、ユーザがあることがわかり パーミッション初めて。 それはあなた個人の、そして サーバー、潜在的に。 そして、グループなどがあります。 それらの間の違い 2は比較的些細な。 だから一般的に、我々はしこりよ 一緒にそれらの。 しかし、本質的に、我々はファイルがある場合 私たちがなりたいことを含んでいると呼ばれる 自分自身と私たちが望むことを編集することが 他人に実行できるようにするには、 それは権限711です。 そして、我々はそれをダウンして参照してください。 ここにこの表の。 我々は、読み取り、書き込み、および実行。 私たちひとりひとりのために、我々がしたい それらを行うことができる。 グループおよびその他の、我々は唯一たい それらを実行できるようにする。 我々はそれを翻訳する方法 数に 権限は、バイナリを介して行われます。 我々は3のものがあるのであれば、それが1だ 補数でのもの欄に、1 列、1四つんばい列。 それはすぐそこに7です。 この許可は1である。 この権限は1である。 だから、711を与えると同じであるとき 自分自身は、読み取り、書き込み、実行、 そして他のみんなは、実行権限。 右ここでこのラインは、我々は一般的に 読み取りと書き込みしているでしょうときに我々 ディレクトリを作成します。 だからここに、この行は、単に実行追加 すべての人への権限。 だからでは、と同類になる 我々が持っているものに加えて、 皆に1、1、1を加算。 この一方で、それは不必要だ 追加するには、読み取りと書き込み。 しかし、あなたが番号を使用するつもりなら、 あなただけの何かを追加することはできません。 あなたがいたどのような権限が上書き そこに、新たなにそれらを実装 数あなたが与える。 これはかなり速かった。 誰もが疑問を持っていますか アクセス権の変更はどうでしょうか? [OK]をクリックします。 私は、PHPファイルがある場合、どのようなアクセス許可 私はそれを持ってしたいですか? これは、問題設定の仕様である。 だから、スペックを見てすることができます その後、私の答えをお読みください。 読者:あなたはユーザーがしたい 読み書き権限を持っている。 そして、あなたは誰もが欲しい 他に何も持たないように。 JASONハーシュホーン:そして、何 それは数字でしょうか? 観客:600。 JASONハーシュホーン:600。 600そうchmodの - あなたが印刷するたびに PHPファイルは、600にchmodの。 [OK]をクリックします。 私はディレクトリを持っています。 ジェフの他に誰か、 私は、ファイルフォルダを持っている。 私は、どのようなアクセス許可したいです そのフォルダに付ける - また、仕様設定の問題では、 右この回答以下 前の回答? また、潜在的に、スライド上 - マーカス。 観客:に関して フォルダには、それは711だ。 JASONハーシュホーン:711 - そのフォルダには、あなたが711を与えたいと思う。 あなたは、そのフォルダを読み込むことができるようにしたい、 に移動する、ディレクトリを変更 そのフォルダ。 そして、あなたは他のみんなができるようにしたい そのフォルダの中に移動したが、 必ずしもその内容を変更しない。 どのような非PHPファイルについて、 、JavaScriptファイルを言う? 私たちは、どのようなアクセス許可したいです ファイルの種類を与えるために? 観客:644。 JASONハーシュホーン:644 - なぜ我々はそれに644を与えたいと思うのですか? 観客:他の人がそれを読むようにする。 そして、あなたはそれを読み書きする。 JASONハーシュホーン:だから右、誰も 他にするJavaScriptファイルを読み込むことができます。 そして、あなたは他に、それを変更することができます それを読むことができることに。 だから、ほとんどの一般的なバグの人々の1 この問題は、設定とそれらを持っている 最終的なプロジェクト、それはだ場合には、Webベースの最終的な プロジェクトは、それらが設定されていません。さ 正しい権限。 そして、彼らはできないでしょう 彼らのウェブサイトを参照します。 またはウェブサイトの特定の部分。 だから、必ず設定してください 正しくパーミッション。 それがなることだけを負うものではありません あなたのために自動的にそれを行う。 [OK]をクリックします。 それは我々が過ごした小さなものだった 上の時間の良い量なので、 我々はそれを爪可能性があります。 それでは、HTMLに移りましょう。 そして再び、これらの次の4項目について説明するため、 我々はそれらを通過しようとしている 比較的早く。 したがって、すべての私を停止すること自由に感じなさい 時間、ご質問がある場合には、 彼らは私がカバーするものに関連しているかどうか か何かの講義から、または でも、問題のあるセットから。 あなたがする必要があるときはいつでも私を停止します。 我々は最後に到達したとき、我々だけでよ 問題のある集合上で起こって開始します。 だから、HTMLはハイパーテキストの略 マークアップ言語。 それは、プログラミング言語ではありません。 それがないのはあなたのコンテンツを構造体である また、いくつかのメタデータを提供する。 例えば、おそらく、多くのそう あなたが前にフェイスブックを使用している。 そして、あなたは内のリンクを含めるか、することができます 自分のステータスとしてリンクを置くことができます。 そして、あなたはそのリンクがわかります いつも素敵な絵が描かれています それといくつかのテキストに。 一般的に、それはいくつかのメタデータです Webページの。 そして、それはFacebookの固有のメタデータです。 そして、Facebookがそれを読んでいるとき ページとそのリンクを挿入すると、 特定のメタデータを検索しますので、 表示するには、どのような絵を知って、どのような 表示するタイトル、およびどのような 表示するには、抽象的テキスト。 だから我々は、メタデータを含むことができ、 HTMLを使用して弊社のWebページを参照してください。 そしてそれはまた、構造私たちを助け コンテンツ、一般的に、どのような 我々はどこに行きたいです。 HTML内のすべての要素である。 そしてちょうどここの要素 - このCS50、テキストは要素です。 そして、それはいくつかのタグがあります。 それは、このタグを持っています。 そして、我々は、Aがある気づく 始めてからスラッシュA、そう 最後に終了タグ。 時には、オープンはありません タグと終了タグ。 ただ一つのことがあります。 我々はそれの例が表示されます 次のスライドに。 だから、オープンする必要はありません と終了タグ。 しかし、このために、我々はこれを包むしている アンカータグ内のCS50要素。 そして、基本的に、これらのタグは言う とはどのようなブラウザ 特定の要素。 だからもう一度、CS50はテキストです 私たちは見ることになるだろう。 そして、それはなるだろう アンカーのタイプ。 アンカーは基本的に使用されている 何かへのリンクについて。 具体的には、することができますように すでにこれは、言う CS50のホームページにリンクしています。 次のタグの一部 - あるいは一般的に、 タグの部分がある 属性。 そして、我々は、ちょうどここを参照すること タグは1を持っている このHREF属性。 そして、彼らは、特定のタグを変更します。 実際には、次のいずれかに行けば ウェブサイトまたは私はあなたを与えた参照 または、オンラインのタグを検索する前に あなたがのトンがありますわかります 潜在的な属性。 これはおそらく1です 最も一般的なの。 これは作成するために私に言っている 特定のウェブサイトへのリンク。 一般的に属性が与えられている、 排他的に与えられていない場合には、 キーと値のペアで。 だからここにキー、HREFです。 その値は、ここでこの権利である。 そして、それは、後に便利になるだろう、 我々はいくつかのライブラリをするために使用して起動したとき JavaScriptでコードが私たちを助けて またはHTMLコンテンツを記述します。 ちょうど私達のように - 私たちはしばしばあることを行っている アレイ·ブラケット0とことをするだろう 私たちにいくつかの値を与えるだろう。 今後は、多くのやっているよ 何かブラケットHREFのようなもの。 そして、それは私たちの価値をあげる HREF、あるいは我々はHREFを更新する場合 それを与える、キーと 特定の値。 だから私たちが持っていた配列と同じように キー0またはキー1またはキー2あるいは持つ あなたのハッシュテーブルでは、よく、テーブルをハッシュ 同様に、あなたはおそらく持っていた - それを 配列なのでキー0、キー1、キー2であった。 そこにそのインデックス、我々はできる キーとしてそのことを考えています。 その値は何でもあり そこに保存した。 これらの属性のすべて キーと値のペアです。 そして、それは変更することが重要になります それらまたはそれらを更新したり、 後でそれらを挿入する。 最後に、この構造を見てきました 以前に、これは、最も基本的である HTMLページの構造。 一番上には、我々はそのことを伝える これは、実際のHTMLである。 そして、我々はオープンなHTMLを持っている タグと閉じるHTMLタグ。 内部ので、すべて これはHTMLです。 私たちは、頭と体を参照してください。 あなたのドキュメントのhead 一般的には何が含まれて? 何のための任意の推測 頭に入れて? 読者:あなたはタイトルとスタイルを置く。 JASONハーシュホーン:タイトル。 それは素晴らしい推測だった。 私はにあなたをチップオフしている場合があります。 いくつかの他のものは何ですか? 我々は、と彼らのいずれかを言及 頭の中で行くかもしれない。 観客:彼は言った、スタイル。 JASONハーシュホーン:スタイル - だから、JavaScriptでリンクしたい場合 あなたが話しているかさえ、CSS、 あなたが話している時に約 スタイルについて。 他のファイルは、あなたがにリンクする ファイルの外に、それはおそらく行くでしょう 頭の中で。 ほかには? 私たちは、スライドのカップルを述べた 前ということの一つ HTMLはあなたのために何ができる。 それは提供することができます - Mで始まる - 観客:メタデータ。 JASONハーシュホーン:メタデータ - そう多く メタデータの先頭に移動します、 それは必ずしも必要がないので、 あなたのコードの本体の一部であると。 それは、一般的にです - 体である コンテンツ、誰かが見ているもの。 だから私は答えを譲った 私の次の質問に。 しかし、体内で一般的内容である それが表示されるようになるだろう Webページ上の。 私達が見るように、複雑なウェブサイト 混在または何を変更する傾向がある 彼らは頭と体に入れる。 しかし、一般的には、ヘッドは物事が含まれています ユーザーは、するつもりはないことを 画面に表示される。 それは、他のファイルにリンクします とメタデータを提供しています。 ボディはすべてが含まれ、一方、 ユーザーが見ることになるだろう。 このpタグが何を意味するすべてのアイデア? 観客:段落? 観客:印刷。 観客:印刷を意味するものではありません。 観客:それは段落を意味するのでしょうか? JASONハーシュホーン:段落 - これは段落です。 このpタグは、私はちょうど入力した可能性が この画面上で、その後 改行を含め それの最後に。 含める方法を誰でも知っている 改行? 観客:PR - JASONハーシュホーン:PR - 観客:PRスラッシュ? JASONハーシュホーン:PRスラッシュ 改行を表します。 しかし、段落では、特定のを持っている フォーマット。 そして、我々はの書式に買ってあげる 第二に、我々は、CSSについて話すとき。 しかし、これらのPタグ内のすべてのもの いくつかのデフォルトのフォーマットを持つことになります おそらくいくつかは、それに関連 別の間に間隔を 段落。 そして、それは差別化する一つの方法になるでしょう コー​​ドのブロック。 他のタグ - これまで見てきた他のタグは何ですか? JASONハーシュホーン:H6 H1から。 H6を通じてH1、どのようなことでしょうか。 観客:どのように大きなそれは意味します と大胆な文字がある。 JASONハーシュホーン:右、 それは、ヘッダーの略です。 だからHEADER1は大きなヘッダーです。 それはおそらく、デフォルトでは、大胆な、Aになるでしょう 大きなフォントサイズは​​、おそらく上の中心に 画面、すべての方法H6まで、 小さいフォントサイズ、以下である 強調した。 もちろん、あなたがしているCSSファイルでは、缶 またはどこかにコード内 - その、 繰り返しますが、私たちは、第二のものに得られます - どのようなデフォルトの動作変更 のh1はタグがある。 しかし、クロム、Safariのことに注意してください FirefoxやInternet Explorerのすべてが持っている デフォルトでは、たくさんのを探し これらの標準タグ。 あなたは、再び、常に変更することができます 彼らはどのようなものか。 その誰もが、他のタグ 見ていますか? うん - 読者:DIVサイト。 JASONハーシュホーン:divタグ - DIVタグ あたり、任意の組み込みの形式を備えていない それ自体、遮断するために使用される コー​​ドの異なる種類。 他のタグは? はい。 観客:李 - JASONハーシュホーン:李 - のための李は何ですか? 観客:リスト。 観客:リスト JASONハーシュホーン:Liがある リスト要素のため。 リストの2種類がある。 2種類は何ですか? 観客:注文し、順不同。 JASONハーシュホーン:注文し、 順序付けられていない - ので、ULスタンド 番号なしリストのため。 箇条書きをしたい場合はそのためです 、箇条書きのリストを指す。 番号付きリストは、番号付きリストである。 だからあなたは、[開くULタグを行い、よ それから、リストの要素のトン ULタグを閉じます。その意志 順序なしリストを作成します。 我々はいくつかの例を参照してくださいするつもりだ ビットでのHTMLの。 しかしその前に、私はCSSに取得したい。 とCSSはカスケーディングの略 スタイルシート。 そして、これは非常に密接に関連している HTMLにわずかに異なる。 これは、すべてのコンテンツをフォーマットするのに役立ちます それは、HTMLの構造。 だからCSSで、我々は一般的にしたくない すべての単一のヘッダーまたはすべてののスタイルを設定 単一のイメージまたはすべての つの段落。 我々はいくつかの要素にスタイルをしたい それとも特定の要素。 我々は、特定のスタイルや方法 要素はそれにIDを与えることです。 だから、これは属性です。 これは、キーと値を持っています。 IDが鍵となります。 ロゴが値です。 私はランダムにロゴを選んだ。 そして、あなたが何かのIDを与えると、 一般に、それは与えられるべきである 一つの元素である。 そして、あなたのスタイルシートに、次のことが可能 スタイルは、特定の要素、しかし、 あなたはそれが見てみたい。 あなたは数のスタイルをしたい場合 要素は、多分それはある特定のクラスの あなたのヘッダのヘッダの一部のみ。 多分それは、ヘッダと画像との 段落みなさんが中心になりたい。 次に、それらのグループを与えることができます 要素のすべてのクラス。 そして、あなたはクラスを与えることができます 特定のスタイル。 だから、idとclassをするには2通りの方法、 あなたがすることを助けることができるので、コードを分割 あなたのスタイルでより具体的な。 スタイルには3つの方法があります。 最初の1はであり、 このスタイル属性。 だから、あなたが見る、スタイルキーがスタイルです。 スタイル値は、実際には 別のキーと値の一覧。 この場合、Iは撮像 1キー、テキストを整列。 と私は言った、センター。 あなたはこれを見自問している可能性があります ポイントは、どのように私がお知りになりました テキストを整列。 それがあっても何をしますか? それは聞いて良い質問だし、 我々は、第二​​にそこ取得するつもりだ。 だから、何かのスタイルを設定する一つの方法ですが、 ただそれをスタイル属性を与える。 何かのスタイルを設定するもう一つの方法は - これはAksharが前に記載されている。 あなたはスタイルのタグを使用し、それを置くことができます HTML文書の頭の中で。 だから、基本的に言って、 ここに内のコンテンツ いくつかのスタイルの内容である。 そして、そのための形式は、ものですあなた 内部には、スタイルとしたい 中括弧は、キーと値のペアの あなたがに与えたいと属性 要素の特定のタイプ。 最後に、これは 最も一般的な方法。 そして、これは私たちの方法です Pセット7でそれを行う。 これは、外部スタイルシートです。 だから、。cssファイルを持っている。 そしてその中には、たくさん見る 次のようになり物事名 要素のあるタイプまたはIDのか 巻き毛の内側に、クラスや、 中括弧は、キーと値のペアのリスト。 もちろん、外付けを作成した場合 ファイルには、するつもりだ それを含める必要が - 鋭いことだろう含める C言語類推すること - HTMLファイル内の。 だから、これを含める必要が HTMLファイル内のコード。 これは、ファイルの名前であることと、 それは、同じディレクトリにだと仮定して。 [OK]をクリックします。 それは楽しかった。 そして、我々は現在、呼吸と見ていくつもりです いくつかの実際の、生きたウェブサイトや この詳細をみる。 我々はそれをする前に、しかし、誰にもない ご質問がある? だからと一緒にこれを実行したい場合は、 私は、我々は、アプライアンスに行くことができます。 と私はCS50のホームページを選択しました。 あなたは、任意のWebサイトでこれを行うことができます。 しかし、なぜ我々は始まらない CS50のホームページ? のリフレッシュしましょう​​。 私は実際に非常にあなたが行うことをお勧め 私と一緒にこの、私たちのため 今しようとしていることになるだろう だけではなく、あなたのために信じられないほど便利な P-セット7が、同様に、P-セット8。 うん。 観客:コメントをする方法はありますか HTMLでは、PHPを使用せずに? JASONハーシュホーン:はい、できます HTMLでコメントをする。 観客:構文は何ですか? 読者:感嘆符ダッシュダッシュ。 観客:[OK]をクリックします。 JASONハーシュホーン:はい。 それは構文です。 あなたは、HTML内のコメントをすることができます。 あなたは、PHPで、コメントをすることができます。 あなたが説明するように、HTML内のコメントは、意志 私達が見ると、まだ表示さ 特定のサイトのHTMLソースコード。 したがって、このcs50.net。 あなたは正しい最も近代的でクリックした場合 ほとんどの任意のページ上のブラウザで、表示 ページのソース。 それでは、CS50にそれをやらせる。 と驚くなかれ、我々 巨大なものを参照してください。 CS50は、実際にはかなり良さそうに見えます。 ウェブサイトの多くはないでしょう この素敵に見える。 あなたは、Googleのホームページに行けば それを開く。 それは、この素敵なを見ていないでしょう。 しかし、あなたが一番上に、次の点を注意してください - これはちょっと小さい。 それでは、これは大きくしてみましょう。 [OK]をクリックします。 一番上にある、のDOCTYPE HTML、 それはお馴染みだ。 その後、我々はオープンなHTMLタグが表示され、 右ここで頭は、すべての これらのメタタグの。 そして、あなたは、このOGをしない見ることができます 今ではに行くつもり。 しかし、私はその時点でほぼ正午前 これらの会社概要になります。 それは実際にFacebookのです。 私は開いているグラフを表していると思います。 だから私はそこに言及した、覚えて あなたができるFaceboook固有のメタデータ ページを与える。 それはここで何を。 だから、Facebookのページをリンクすると、 それが示すことが起こっている画像 この画像は、まさにここである。 そして、あなたは実際にそれがだことがわかります Facebookは、それはだから Facebookのイメージ。 しかし、いずれにせよ、我々はさておき取得している。 だから我々はここでいくつかのメタデータ·タグを持っている。 私たちは、CS50のタイトルを参照してください。 そして再び、タイトルは何が起こっている ここでブラウザタブで最大。 我々は、これは右ここでリンクされて参照してください。 外部JavaScriptファイル。 我々は、多くのJavaScriptについて話していない しかし来週 - と確かにあれば あなたは、Webベースの問題セットをやっている、 あなたは、JavaScriptを使用することになります。 これは、外部にリンクする方法です JavaScriptファイル。 我々は、最終的には、右ここでCSSを参照してください。 スタイルシートは、それは、これらを文書化 このコードのスタイル。 のは実際にそれを開いてみましょう 本当にすぐに見てみましょう。 これはクレイジーに見えます。 私は次のようになります方法はありません を通して読むことができる。 あなたが取るのであれば、あなたは、しかし、実際にすることができ 見て、あなたは、ソートのことがわかります があります - そこに私達は行く。 それは我々が見てきたもののように見える 前に、背景色は、それを設定する いくつかの赤、緑、青の値に等しい。 このようなものは、種のように見えるべきではありません 外国、にも関わらず、提示されたとき このように、それはすることができます 少し圧倒。 我々は、このCSSファイルを見てするつもりはない または、その上に多くの時間を費やすため、 それは、やはり、読みはかなり難しいです。 のは、このに戻りましょう CS50用のHTMLページ。 との身体にスクロールダウンしてみましょう。 内側私たちは、このdivタグを参照してください。 我々はここヘッダを参照してください。 私たちは、アンカータグを参照してください。 このリスト要素である 特定のクラス指定された。 そして、我々は、そのクラスを繰り返し参照 何度も何度も。 そこにはカーティスです。 HTML5でのコメントがあります。 あなたが気づくように、我々はまだ見ることができます それが、それは表示されないだ。 それは実際には本当に面白いです。 それは、このスコアリストのように見える 要素がコメントアウトされています。 我々はこのページにアクセスした場合は、再び、それまだ とても興味深く、そこに表示されます。 ああ、それはなぜ、あるためです この次の行の。 他に何が私たちに関心が見ていますか? これの残りの部分は、より混乱して この右半分に対処 少ないウェブサイト、 少し複雑。 だから、これはどのような一部のHTMLです のように見えるだろう。 私にとっても、これは少しです 圧倒的な、これはない そんなに私を助けて。 しかし、その何かがある 実際には、私をたくさん助けていない。 そして、それは私はいつでも私が使用しているものです。 どのように何かを把握しよう それがないように見えるか、どのようにすることができます 私は私のウェブサイトに変更を加える。 そして、それは開発者向けのツールです それは、クロームに組み込まれています。 だから、右のこの3のバーに行けば ここと上の[ツール]に下る 開発者ツール、小さなウィンドウの意志 ページの下部にポップアップ表示。 特に、クロム、それがあるので、 素晴らしい、このウィンドウをフォーマットします HTMLを取り、それが見えるように あなたのためにたくさんよりよい。 だから今、それは実際にいくつかの折りたたみ可能です あなたが検査する探索することができ、HTML ページの要素。 我々は、本体を見てみたい場合は、 それは実際にハイライト表示さ​​れます。 あなたは、HTMLの一部にスクロールすると、 このウィンドウの下方に、それは意志 それは話している部分をハイライト表示 大きな窓には約。 だから私は、もう一度試してみてみましょう 少し、これを爆破する。 [OK]をクリックします。 それでは、身体を開いてみましょう。 そして、私はこの左のdivの上にスクロールしています。 そして、あなたはそれがハイライトだと気付く これは、画面の半分を残しました。 それでは、その上でクリックしてみましょう そしてそれを展開します。 その中に、それは次のようになります。 2 div要素があります。 この最初のdivがあります。 私はハイライトされていることがわかりません。 私は知らないが、それは次のようになります。 内側左二つ目は、コンテンツである 画面の左側にある。 そして、ヘッダと呼ばれるこの事があります。 それがハイライトだように見えます CS50部分。 我々はそれを開いた場合、我々はそれがだと見ること ヘッダー1以外の何物でもない。 これは、IDが与えられ、それがだだ テキストCS50与え。 だからもう一度、これによりそれを見て コンソールまたは開発者ツールを使用して 画面のmakeの下部にあるペイン うまくいけば、このウェブサイトを探索、A はるかに少ない威圧し、 より多くのアクセス可能。 また、私たちが理解することを可能にする このウェブサイトは、しかし、それは非常に見える かなり素敵な、すべてのそれほどではありません あなたがあることを行っているものよりも多くの 問題の設定7でやって。 そして、これは全くの中で 作成する能力。 私たちがしたい場合は - これらの使用について、他のクールなもの あなたは右をクリックするとツールがあり、 タイトルは、HTMLを編集することができます。 それでは、ジェイソンと呼ぶことにしましょう​​。 そして今、あなたは私が変更されているがわかります このページのHTML。 もちろん、私は変わっていない 永久に。 私はブラウザを更新する場合、それはでしょう 元のHTMLに戻ります。 しかし、時には、私は自分のコードをデバッグしたい、 そして私はちょうど私が持って見たくない geditのウィンドウと試してみて、理解して 何が起こっている。 私は生きて何が起こるか見てみたい。 だから私はこのようにコードを編集して、買ってあげる それ私はそれを見てみたい方法です。 そして私は作ってあげる 私のコードの変更。 そして、私はそれは非常に簡単だということを見つける あなたは物事を行うことができたとき 瞬時に、そのような。 我々は別のものを作りたい、もう一度、言う チャンス、我々は模索しているので 今HTMLとCSS。 私は今、HTMLを編集することができます。 そして、私は、リンクを含めるつもりです。 だから私はCS50のホームを変更するつもりです ページので、にリンクします - それでは言わせて - 私のホームページ。 何誰もがリコールした場合、名前、または 私が与えたい属性は何でしょう 私が欲しいのアンカータブに それどこか別の場所にリンクするには? 観客:HREF? JASONハーシュホーン:HREF - だから今、あなたはそこにそれが表示されます ジェイソンの下にアンダーラインです。 クロームので、それはデフォルトでは、ですが、 アンカーの下線を与えます。 おそらく前にそれを見てきました あなたがウェブページに行ってきたとき。 リンクしている事があります 下線や青で。 リンクのデフォルトスタイル 一般的に強調することである と青に入れて。 私はそれを好きではない場合は、 私はそれを変更することができます。 そして、我々は第二に、それを変更します。 私がホバーした場合しかし、今、また、ことに気付く この上で、底にの左 右の単語の要素上記の画面、 私はそれを与えたリンクです。 私が行ったのであればこれをクリック - と我々はできる 右、これをクリックして、新しいタブを開きます。 これは実際に私のホームページではありません。 それはちょうど私の名前です。 そこに行く。 我々は今、リンクに変えました。 それでは同様にいくつかのCSSを見てみましょう。 美しいもの - と私はするつもりだ これは少し小さくする - 約 このコンソールは、その狂気のCSSのシートであり、 我々はそれが実際にあった、前に見た 解析するのが難しい、美しくなりました 左側に私たちのためにレイアウト このペインの。 だから我々は見ることができます。 そして、我々はこのスタイル]タブを展開すると、我々 異なるスタイルのすべてを見ることができます それは、この場合には、関連付けられている この特定の要素は、この link要素。 我々は、化合物のスタイル]タブをしている場合は、その ちょうど私達に示して、いない場合、すべてのもの から来ているが、これらの本質的にすべての 上で動作しているスタイル 今すぐこの特定の要素。 そして私たちが望む、のは言わせて それを少し変更します。 だから、これはすべてのスタイルです この特定の要素に作用する。 、我々はそれを変えたいと言うので、私たち 何かがどのように見えるかを確認したいと思います。 そして、私たちはただ演奏している 今の周り。 または私達は前に、何かをテストする コー​​ドの中でそれを書くとプッシュ それで、それを生きること。 我々は、スタイルタブに移動することができます。 そして、最初のボックスに element.style、と言います。 そして、ここでは、挿入することができ、 あなたが何かを追加することができます。 だから、私がしたい - それでは、私のリンクとに行こう 背景色を設定する。 そして、それは実際には、あなたのためにそれを自動入力する 可能なすべてのプロパティ。 背景色、および私が欲しい その青を作る。 BLUSは言葉ではない。 青は言葉です。 私はそれが出てくる見ましたか? それがHREFでだからああ、それは何ですか? [OK]をクリックします。 だから私はここに何の変化も表示されません。 そして、我々はハイライト表示した場合、ためにです リンクは、そのリンクがわかります 実際に制御されていません この特定の要素のプロパティ。 我々はリンクを開く場合は、実際の、 このヘッダはここのこと それがどのように見えるかを制御。 だから私は、背景を作りたい場合は、 青、私は実際に変更する必要があります 上の背景色 ヘッダ要素。 そして今、我々は見ている 背景は青です。 だからもう一度、これはすぐに行くことがあります この材料を通ってかなり迅速に。 しかし、これは本質的に何であるか あなたがやっているつもりです。 それは問題の設定7ではないが、 しかし確かにあなたがいるとき Web上でのコーディング。 [OK]をクリックします。 私は、背景の青を作りたい。 にもかかわらず、この場合、 青はかなり醜い。 私が遊んで、ここに行くことができます。 私は青に変更することを参照してください。 A上では動作しません。 私は実際のヘッダーを変更する必要があります ブルーを含むように要素 背景。 そして、あれば、私は私のCSSに戻って ファイルには、どのように私は実際にこれを設定するのですか 背景が青であるとし、 この変更スティックを作る? ので、私はリフレッシュした場合、我々は気付いた場合 ページは、私が行ったすべての変更がなくなっている。 だから、私は、[OK]を実現 背景は青です。 私はHEADER1要素に移動する必要があります そして青に背景色を変更。 どのように私は実際にはその変更を作るのですか? 我々は中に入る場合も、、それを思い出す のここに、このヘッダ、 タイトルはIDを持っています。 そして、それはタイトルの。 だから私たちのCSSファイルで、我々は、[OK]を、言うことができます タイトルのIDを使って何を取ると、 それをこの追加のプロパティを与えます。 どうやってで何かを参照しない タイトル、任意のアイデア、あるいは誰のID 我々が参照する方法を知っている 当社のCSSファイル内のID? ハッシュは、それはまったく正しいです。 そして、あなたはここそれのヒントを得た。 だから、どこかに、このCSSファイル内の、 このコード行があります - 第#左インナー#ヘッダ#タイトルを残しました。 そして、それはそれにマージン底を与えている、 このマージン底を定義する 特定の要素。 まあ、私はそれを変更したい場合、 私は、このCSSファイルに行くだろう。 そして、私はこれを見つけることができるどちらか CSSファイルの一部。 または私は自分を書くことができます。 私はハッシュタイトル中括弧を行う可能性があり、 次いで、背景色結腸ブルー セミコロンとその中括弧を閉じます。 そして、それは背景を変更します 青にこの要素の色。 彼らはここにあなたに非常に多くのを与える理由は、 つまり、この場合に必要だが、 タイトルは固有のIDであるため。 しかし、あなたにできることは、巣の事である。 だから、これはOK、左に行く、と言っている。 それは非常に小さいです。 私はそれをおかけして申し訳ございません。 しかし、IDの左のあるものに移動します。 その内、探し IDを持つ事は、内側左。 その表情の中に、探し IDヘッダーのあるもの。 その内、物を探す IDのタイトルとIDのタイトルを変更します。 だから、これはただの方法です ネスト物事の。 巣IT、理由のような一部の人々 それが少し明確になります。 あなたは正しい、またここにダウン表示されます ここでは、何のハッシュはありません。 それだけではh1だ。 H1が与えられているからだ 一般的なタグの名前。 そして、いくつかのCSSプロパティがあります 一つ一つのH1に関連付けられている。 だから私は、このページの別のH1を発見した場合には、 私もこのスタイルであったことを見るでしょう 同様にそれに適用される。 私はクラスにスタイルを適用したい場合は、 どのように私はクラスを参照または実行 CSSファイル内のクラスの話? 観客:ドット。 JASONハーシュホーン:これは、ドットでだ。 それでは前に、このページに戻りましょう。 私はハッシュIDを行います。 つまり、スタイルを変更するだ IDを持つものの。 私はハッシュロゴを行う場合は申し訳ありませんが、、それはです ロゴのIDのあるものを見つけること それに、特定のCSSスタイルを与える。 私は何か。トップをすれば、それは見つけることだ トップクラスですべてと そのスタイルを変更。 私は単純にh1をしなければ、それはすべての見つかった シングルH1、それに何を与える スタイルは、私はそれを与えたいと思う。 私はH1スペースとして。トップを行う場合。 それは、すべてのH1Sを探しに行くとします すべてのトップクラスを持つものと だけに、これらのスタイルを変更 私はそれを与えたいと思うものは何でも。 そして再び、私たちは書いたかもしれない 私たち自身でこのの一部。 しかし、我々はそこまで得なかったであろう。 はるかに良い、それは実際に行くようです 本物のウェブサイト上で、どのように参照してください。 彼らはそれを行うと、すべてを見て あなたがすることを得る素晴らしいもの。 1以上のウェブサイトを見てみましょう 我々は上に移動する前に。 そして、これは、おそらくよ1です に慣れる。 これはCS50ファイナンスです。 だからもう一度、実際に行くことができますし、 あなたにこのCSSファイルを観察 コンピュータ、これをダウンロードしたので、 CSSファイルは、ダウンロードした場合 問題は、設定してください。 私たちは、ツールに行くことができるし、 開発者ツール。 そして、我々ははるかに簡単なHTMLレイアウトを参照してください。 我々はトップ、ミドル、ボトムを持っている。 そして再び、何かあなたがすべきである に精通して、あなたが見てきたので、 配電コードを 今週の問題は、設定のために。 上部にある、コードごと、ある 一枚の画像と呼ばれる。 そして、それはイメージのソースです。 私は何をすべて完了したと言う 私は、問題セット7のために望んでいた。 そして、それは正常に動作しますが、だ 私はそれがどのように見えるか変更したい。 そして、私は背景を変更したい ページ上部の、 例えば、青。 それが私だったら、私が来るだろう ここに、何OK、把握 私は変更しますか。 見てみましょう、DIVのIDトップ、見えること ページ上部のように。 それでは、そこに行きましょう。 それでは変更してみましょう 背景色。 それではアリスブルーをし、ので行ってみよう それはよりよい1です。 そして、あなたはそのことに気付くでしょう - おそらくそれを見ることができない。 しかし、ライトブルーがあり、 CS50のロゴと一緒に。 の赤に代わりにそれを変更してみましょう。 そして、あなたは私が変更になりましたがわかります 赤の背景色。 だから今、私は私のCSSファイルに行くだろうし、 ちょうどここ#トップカーリー括弧を入力します。 あなたは、コードを右に見ることができます ここでは、中括弧。 そして、私は背景を追加します 色は赤。 そして、そこだろう 中括弧であること。 だから、それは私が探求する方法で、 CS50に書式設定を試してみる 金融サイト。 私はここで、テストにそれを行うことができます 私のブラウザ上で、それが不足しています。 そして、私は私の実際のコードに行くことができる とウィルの変更を行う 実際に生きて行くと、人々 彼らが来ていた場合には、実際に、参照してください。 私の特定のサイト。 [OK]をクリックします。 それは楽しかった。 私が通って行くことをお詫び それこんなに早く。 誰もが疑問を持っていますか まったくHTMLやCSSのはどうでしょうか? 読者:あなたはどれだけあなたを行くことができます もう一度、ジェイソンになったものにリンク? JASONハーシュホーン:何 リンクされたことですか? 読者:あなたは別のへのリンクを提供 アンカーを使用してWebサイト、。 JASONハーシュホーン:それで、あなたは求めている、 ただ一般的に、どのようにリンクを作る? 観客:うん。 JASONハーシュホーン:わかりました。 リンクを作成するためのコード - 観客:いいえ、HTMLのよう。 JASONハーシュホーン:ダウンここでは、意味ですか? だから私は、リンクを含める場合 どこか、と言う、これが私の上のHTMLです ちょうどここのページ。 これはHTMLです。 多分それはindex.htmlに、ファイル内で開いている。 私が入る のは、この著作権のジョンてみましょう 何かにハーバードリンク。 だから我々は、HTMLとしてこのすべてを編集します。 あなたがすべてのように、Aが含まれている ブラケットに近いブラケット 始め、その後、ブラケットスラッシュ 最後に閉じ括弧。 だから今、私はアンカータグを用意しました。 そして実際に、あなたがクリックした場合 このうち、それは今でしょう フォーマットは、それがHTMLとして編集します。 そして我々はそれをリンクしたい、と言う。 私たちはあなたのhref属性をしたい。 そして、我々は言う - そして今、あなたが気づくように、著作権 ジョン·ハーバードは青です。 そして、私が上でスクロールする それは、それは今のリンクです。 だから、そのコードを書くことができます。 あなたはほとんど何を囲むことができます あなたはアンカータグにしたいし、それを回す リンクに。 観客:[OK]をクリックします。 それを得た。 JASONハーシュホーン:私は望んでいない場合 それは - もちろん、時には人々は傾向がある ただ見て、これらのことを考えること 一般的に青と下線がある リンクを作成しないようにきれいな方法です。 私はこっち来るのであれば、あなたはそれを参照してください。 CSSファイル内のどこかに、あります このAが書かれており、 2中括弧。 それでは、リンクについては、私にはない、としましょう 彼らは青ではなく、私になりたい へのリンクの色が欲しい この素敵なマゼンタなる。 のはそれを色を挙げてみましょう。 のマゼンタを選ぶましょう。 今、私のページ上のすべてのリンクは持っている マゼンタのこの素敵な色になる。 一部の人々は、すべての色が好きではありません。 一部の人々は、下線が好きではありません。 あなたが手に取れ。 リンクを使用すると、どのように彼らのスタイルを設定することができます あなたがそれらを訪れたら見てください。 あなたがページの多くに気づくように、 あなたがそれらを訪問したリンクは紫色にしてください。 あなたにもその色を変更することができます。 うん。 観客:だから、それを変更する すべての単一のリンクの。 しかし、あなたはちょうどそのリンクをしたい場合 それ自体は、あなただけのIDで行うだろう 一番下か何か? JASONハーシュホーン:とても素晴らしい質問です。 ここで気づいたように、私はいくつかを変更 に適用されるCSSの一部 私がしたい場合A.のすべて ただ私は、一番下にそのリンクを行う おそらく私のCSSファイルに移動し、う あなたが言ったと同じように、ハッシュを行う 底面間隔a。 そして、それは私を与えるだろう すべての一番下のように。 または私は、あるいは、与えることができる 一意のIDと、ちょうどハッシュリンクを行います。 そして、それは私をできるようになる これを変更することができます。 しかし、ただ行き当たりばったりのIDをデーリング 一般的には悪いです 実際、これらの理由 一意である必要があります。 そして、もっとあなたがそれは、それらを持っている 少し混乱得ることができます。 うん。 読者:あなたが同じことを与えることができます 複数の所有者IDとは? JASONハーシュホーン:技術的には、はい。 何もあなたを停止しようとしてませんが、あなたです あなたはそれをクラスを与える必要はありません。 [OK]を、他の質問 HTMLやCSSのはどうでしょうか? [OK]をクリックします。 私たちは、PHPに移りましょう。 ああ、そうですね。 観客:それは、これらについては何ですか 我々は編集できることを意味してウェブサイト 我々は彼らの前にリフレッシュ。 しかし、我々はそれが戻ってリフレッシュしたら、 戻って最初のHTMLに? JASONハーシュホーン:今すぐ質問 - 私たちがこれをロードしたとき それは、HTML Webページの。 そして、それはJavaScriptの。 そのPHPは、私たちに何を与えることが実行される 私たちが見るウェブサイトのタイプ。 そして、それは一部のHTML、いくつかを作成したのは JavaScript、およびいくつかのCSS。 そして、それはアクセスできるようになりました 我々のコンピュータによって。 それらのファイルのコピーが保存されます ローカルに我々のコンピュータ上で、 当分の間。 だから我々は、そのローカルコピーを編集することができます。 しかし、もちろん、私たちは編集していない サーバーコピー。 そして、我々はページを更新すると、 私たちは、別のサーバーのコピーを入手。 そして私たちは物事を見る バック彼らがいたとして。 私達ができたならば、ここから、編集する 公式サイト、我々は多くを持っていると思います 問題の。 観客:ええ、私たちは読むことができます そのコピーを書く。 JASONハーシュホーン:右。 私たちは、ここではローカルの変更を作っている しかし、再び、散策するのに非常に役立つ、 しばしば。 私のために、私の最終的なプロジェクトを書いていたとき たとえば、私はどのようにいくつか見てみたい ウェブサイト製のものを見て 彼らがしたように。 私が中に入ってダウンこのペインを使用します ここで、彼らが与えたもののCSSを見てする それか、彼らが選んだ色やそれらがどのよう あなたが推移した場合に、そのようにそれを得た 何かを、リストが降りてきた 素敵なカスケード方式で。 それは他の何を検査するのに最適な方法です ウェブサイトは何と彼らから借りる。 のは、PHPに移りましょう。 PHPは、再帰的な意味では、の略 PHPのハイパーテキストプロセッサ。 そしてPHPは、どのようなそれは何をするつもりだ コー​​ド·サーバー側の実行である。 だから我々は、PHPコードを見に行くことはありませんしている。 しかし、とうまく遊ぶん 多くの場合、HTMLを生成 HTMLコードがたくさん。 しかし、あなたが問題に精通している必要がありますように 7を設定し、あなたのPHPコードが実行されます、 一部のHTMLを生成し、それは何でしょう ユーザーが見てしまいます。 PHPはCに非常に似ています しかし、いくつもあります 違いと、その違い 注意することが重要です。 一つの違いは、変数 PHPで緩く型付けされています。 誰もが意味を持っていますか それが何を意味するのか? 観客:それを自分でキャストする必要はありません。 テキストで記述する必要があるよう。 JASONハーシュホーン:私は使用しません 単語のキャストが、宣言するはい、いいえ必要性 特定の変数の型。 どのようにその代わりに、我々は変数を宣言しますか? 読者:ドル記号を使用してください。 JASONハーシュホーン:ドル記号を使用してください。 だから、$ xは変数です。 1ドルは可変です。 $文字列は可変である。 これらの変数は、$ Xでした 整数でなければ。 そして、その文字列である可能性があります。 そして、その文字である可能性があります。 それは本当に問題ではありません。 また、PHPのクールなところがあり、 $ xは文字列1である、と言う。 と$ yは文字1です。 あなたが$ xと$ yを追加することができ、それがよ あなたが期待するもの、あなたに2を与える。 だから、PHPの操作があります。 それは緩く変数を入力しただから、 いくつかの暗黙のキャストは、あなたのために行われている そして、いくつかの操作。 あなたは物事の操作を行うことができます さまざまな種類の。 前に、多くの場合、エラーが出るのに対して、 C言語のことわざで、これはタイプではありません それはここに行くことになっている。 このタイプの唯一の事はここに行くことができます。 あなたはその型を取得するつもりはない エラーの、一般的に、PHPで。 だから、一つの大きな違いだ - どのように我々は、変数を扱う。 第二の大きな違いは、 PHPコードが解釈されます。 のwheres、Cコードがコンパイルされます。 それは何を意味するのか? さて、Cコードのためにあなたが走った コンパイラを通して。 あなたは、バイナリファイルを生成しました。 そして、あなたは、そのバイナリファイルを実行しました。 あなたは前に、すべてのエラーの世話をした あなたがバイナリファイルを生成しました。 もちろん、そこにあったかもしれない セグメンテーションフォルト、あなたは走った バイナリファイル。 しかし、それはあなたが含めるのを忘れようではありません printf関数の定義、または あなただけの変数を使用していませんでした 無駄な変数を作成しました。 または、定義していない 関数プロトタイプ。 あなたがコンパイルされる前に起こったことすべて。 それはあなたのエラーや不正な全てを与えた それが起こるかもしれないと思ったもの。 そして、あなたはあなたの0を持っていたし、 あなたが実行した1ファイル。 PHPコードはそのようには動作しません。 あなたのPHPコードを書くことになるだろう。 次に、するつもりだ おそらく、それを保存します。 少なくとも、Pセット7では、つもりだ Webブラウザをリフレッシュすると、 何が起こったか見ることになるだろう。 あなたは出力が表示つもりだ そのPHPコード。 また、上部に、表示される場合があります あなたのページの、エラーが発生しました。 あなたは、いくつかを持っていたので あなたのPHPのエラーが発生しました。 あなたはまだ残りが表示される場合があります Webページが正常に募集しています。 しかし、1部分が間違っている、とあります その場所にエラーがあります。 そして、それはだからのその部分 PHPコードは動作しません。 確かに、あなたが実行すると、ときに by.phpのようなものを参照してください。 それはあなたのPHPを通過するだろう 行毎にファイルして実行 その後だけにして。 それは、前方にそれをコンパイルするつもりはない 時間や1コピーをコンパイルしてから与える それは誰にコピーをコンパイルした。 たびに、それが通過するようになるだろう 行ずつして実行します。 ので、いくつかの行がうまくいくかもしれないし、 正しい出力何か。 そして、他の行が壊れている可能性があります その代わり、出力エラーです。 PHPでデバッグするときにそこで、我々は与えてくれた あなた役立つ物事のカップル 同じように、デバッグを支援する ダンプ機能。 しかし、一般的に、あなたが行っている これらのエラーを参照します。 そして、それはあなたがしようとしている方法です あなたが何か間違ったことをした知っている。 しかし、あなたは唯一のエラーが表示されるようになるだろう あなたが実際にコードを実行すると。 PHPのもう一つの重要な側面と Web開発は、GETのアイデアです ポストに対して。 誰もがどのような違いを説明することができる GETとPOSTの間にある? 誰もいません - はい。 読者:そのうちのないの1 ユーザーがデータを見てみましょう、 そのうちの一つがないのですか? JASONハーシュホーン:今すぐ。 ええ、あなたが追加したいアイテムがありますか? 読者:私は細いポストです スーパーグローバル変数。 JASONハーシュホーン:だから、これらの両方の 変数は、あなたに与えられている。 これらは単なる変数です。 そして、あなたは彼らが変数だ知っている、 ちょうどここからだ ドル記号を使用しています。 これらは、指定された変数です PHPによってあなたに。 そして、あなたは、Webページ間を移動すると、 あなたはいくつかの情報を保存する。 おそらく、保存するかどうか ユーザーがログインしている それはGETとPOSTに保存されないです。 それは何か他のものに保存されているのは、 別の変数。 誰もが知っている保存だ変数 内、またはどのような変数を使用中 ことを確認するために、7のP-SET ユーザーがログインしている? $ _SESSIONは、それは、まったく正しいです に精通しているためであろうことが重要 これらのものの名前 あなたが頻繁に使用しています。 ですから、保存するためにセッション変数を使用する ページからページへの情報。 それは、超可変です。 それは多分同じように、すべてのページに存在している あなたが考えるしたい場合は、グローバル変数、 それについてのそのような。 他の変数がいくつかあります あなたは、情報を転送するために可能にする ページからページへ。 具体的には、ものを我々はに焦点を合わせることにします GETとPOST変数である。 PHPでは、彼らは次のように $ _GETと$ _POST。 その差、などのマーカスは指摘 うち、そのうちの2間、すなわち、 $ _GETに記載されている情報です。 URLに表示される。 だから我々はここでダウンして見れば、 我々は、YouTubeのリンクを参照してください。 我々は、この疑問符を参照してください。 我々は、V =とし、いくつかの値を参照してください。 戻るキー値のこの考えに ペアは、Vが鍵となります。 そして、ここの上の値である。 だから我々は、このページに移動した場合、または このページのコーディング、我々は持っているだろう 変数は、$ _GETと呼ばれる。 我々は$ _GETに行ってきました場合は開き括弧 "V" 配列に非常に似て閉じ括弧、 これは、連想配列表記です 私たちは、インデックスを使用していないからです。 キーとして文字列を使用していた。 しかし、非常に同様の考え。 我々は、我々が行った場合は、この値を取得することになります。 このページでは、ことができると思います この値を使用します。 我々は実際に見てみると、みましょう YouTubeのページに移動します。 我々はどのようなビデオを見る必要がありますか? この1は、人々はファンをホビットのですか? 観客:はい。 JASONハーシュホーン:だから私はコピーしています シェアURLと 新しいウィンドウに貼り付ける。 あなたがここまで見れば、今、あなたはよ もう一度、次の点を注意してください - 私はにこれをコピー&ペーストするつもりだ geditのため、我々はそれが大きく見ることができます。 あなたはそれが持っていることに気づくでしょう このクエスチョンマーク。 疑問符が指定するもの この後のすべてがあることを行っている GET変数に保存。 それは、ば、vを有し、それは第一の キーと、この最初の値。 アンパサンドは特別です。 アンパサンドは、言っている[OK]を、我々は 最初の値を終えた。 我々は今、別の上に移動している キーと値のペア。 ここでは、キーは機能と呼ばれ、 その値はyoutu.beです。 だから私は、このページをコーディングした場合 誰かが、このURLに行って、私が持っていた 多分watch.php。 そして私はこれをコーディングした。 そして、私は$ _GET変数を使用することができます。 そして、私はVを持っており、う 私は機能を持っているでしょう。 そして、私はVキーを使用している場合は、私 この値を取得することになります。 そして、私は$ _GETブラケット」機能を "行った場合 閉じ括弧は、私がこの値になるだろう。 再び、それは必ずしもない に適用されます - 明らかに、YouTubeのキーと値 その情報はには適用されません取得 我々の問題は7を設定します。 しかし、ある特定の事があることを、私たち 我々の問題セット7にGETで渡す。 確かに、Webページにアクセスしたとき または、独自のページをコーディングしている $ _GETは便利になるだろう あなたは、コーディングするとき。 その後、$ _GETを使用するための一つの理由は、何ですか それはプライバシーを与えるない場合はどうなりますか? あなたは、このすべての情報を見る つまり、転送されています。 これは、すべてのユーザーに表示さだ。 しかし、あなたが理由の1つは何でしょう として、$ _GETで何かを保存したい $ _POSTに反対? なぜあなたはそれをやってみたいのでしょうか? わかりました。 私はクイズ1であなたを尋ねた。 $ _GETのプロとは何ですか? 1 Proは何ですか? うん - 観客:それは簡単だ 情報を共有する。 JASONハーシュホーン:私は思う それは素晴らしいことです。 それは、情報を共有する方が簡単です。 これは、ブックマークに簡単です。 これでブックマークすることができ、 YouTube.com /?V =何かを見て行く その特定の映像に。 YouTubeは常にPOSTリクエストを行った場合 別のページ、すべてのYouTubeのURLは YouTube.comだろう。 あなたは、単一のビデオをブックマークできませんでした。 あなたが言う場合は、そのリンクを共有するので 他の誰かと、そうではありません 自動的に送信変数を取得します。 彼らはただ、このリンクを取得し、している リンクは誰にとっても同じです。 だから1プロです。 それはあなたがこのブックマークを可能にする 情報や、この情報を共有 あるいは少し作る より使いやすい。 もちろん、全くプライバシーが存在しない、 私たちは、このポスト変数がある。 そして情報を投稿はありません URLに表示される。 それは完全にプライベートではありません。 しかし、それはわずかによりプライベートです。 だから、あなたは、次のURLが表示されます ここでダウンし、cs50.net。 あなたはログインしているかどうか それは、同じウェブサイトを持っているだろう URLは、cs50.net。 明らかに、何かがあれば、異なっている あなたは、ウェブサイトにログインしている。 おそらく、1、持っている 入力暗証番号。 そして、それは確認してい サーバーと。 そして、それはおそらく、セーブだ その他の情報。 しかし、URLは全く変わりません。 だから、それは場合には、ケースだ 何かが郵送されます。 URLは変更されません。 このPOST情報ではありません URLに表示される。 しかし、いくつかの状態が変化し、そしておそらくました に保存されたいくつかの情報があります 送信変数。 申し訳ありません。私はSQLに行く前に、任意の 特に、PHPについての質問、、 我々は以上行かなかった事についての質問 あなたが見つけたこと、あるいは構文または PHPに関するロジックの質問? [OK]をクリックします。 あなたがされる最終の言語 今週と対話することである 構造化照会言語は、SQL、 多くの場合、続編と発音。 それはあなたがと対話することができます 形式化された方法でデータベース。 そしてそれは、PHPで非常にうまく演じています。 問題セット7で説明するように、我々はしました あなたのクエリと呼ばれる関数を指定した。 そして、それはSQL文字列と実行を取り データベース上でそのクエリ。 過去数年では、ありませんでした この関数は、指定された。 あなたが作るためにPHPの関数を使用する必要がありました データベースとチェックの問合せ その後、結果を取得したエラーのためにと。 そして実際に、それはそんなに難しいことではありません、 もう一度、それが果たしているので、 非常にきれいにPHPで。 およびPHPはあなたに多くの機能を提供します SQLデータベースと対話する。 そう頻繁に、2の これらは一緒に行く。 もちろん、あなたがと相互作用することができる いずれかのSQLデータベース 他の言語の数。 しかし、PHPを選択するのに最適です。 データベース - 我々は、すぐにこの上に行くだろうから これは我々がしようとしている話題の言葉である 多くの場合、使用を開始 - 表の集合である。 だから我々はそれを考えることができます Excelファイルとして。 Excelファイルには、複数のタブがあります。 画面の下部にある。 各タブに、我々は今どこに、テーブルと呼ぶことにします テーブルは、行の集合です。 と行とは何でしょうか? さて、行は同じものです Excelファイル内。 それはちょうどそれぞれに特定の値を持っている フィールドまたは各指定された列与え。 これは、テーブル内のエントリのようなものだ。 これは、IDを持っている学生、Aの 特定のID、および特定の名前とA 具体的な家。 だから、データベースが集合です テーブルの。 とテーブル自体はある 行またはレコードの数。 それぞれでもあります テーブル、特定のフィールド。 そして、それは、各レコードが何であるかを指定します。 持っているとして、フィールドが呼ばれることもある 列が、一般的に呼ばれる分野。 この非常に単純な表では、私は3を持っている フィールド、IDフィールド、ユーザ名 フィールド、およびハッシュフィールド。 そして、私は3つの行があります。 今のところ、彼らは空にしている。 彼らはおそらく、空ではないでしょう これが私の本当のデータベースだった場合。 ですから、Excelを使用したことがあれば、同様の考え Excelでやっていること、しかし、 明らかに、今、私たちのことができるようにするつもりだ にはるかに強力なことをする 保存された情報 我々のデータベースにある。 あなた自身に1を作成します 問題セット7のためのデータベース。 しかし、あなたは、複数の作成されます データベース内のテーブル。 あなたがデータベースを作成することができます またはユーザーのためのテーブル。 またのためのテーブルを作成することができます おそらく株式取引、維持する それらのトラック、あなたがする必要があるため、 履歴機能を実装します。 両方のこれらのテーブルはあります 異なるフィールド。 たとえば、ユーザーフィールドに、 おそらく、ユーザー名としたい IDとそのパスワードのハッシュ。 を追跡する株式テーブル内 歴史や履歴表には、 おそらく、ユーザー名は必要ありません ハッシュとID。 おそらくだけの1を必要とする ユニークな値、関連付ける 指定したユーザと、それ。 しかし、その後、あなたは他の保存したい 何時、のようなもの トランザクションが行われた。 どのような株式購入または売却された? 株式の株式数は何株 購入または売却された? 価格はいくらだったの 株価は買ったか、売却された? だからもう一度、あなたが相互に作用することになるだろう のデータベースと 複数のテーブルを持っているつもり。 各テーブルには、持っているとしている フィールドの独自のセット。 しかし、おそらく、同様のがあるでしょう その各テーブルのフィールド、 それらを互いにに関する。 通常、これはIDフィールドである。 なぜなら、すべてのユーザーが固有のIDを持っている場合 そしてあなたはすべてをそのIDを関連付ける ユーザーが行うか、そのトランザクション そのユーザの履歴がすべて表示されます。 そして、あなたは、ユーザーのIDを持っています。 あなたは情報を得ることができます テーブルのいずれかから。 あなたは自分のユーザー名を取得し、あなたができる 彼らの取引のすべてを取得することができます。 データベースについてのご質問、 または特定の質問? 実際に、のはそれを保持してみましょう。 我々は2つ​​の側面でもあるかもしれません。 というように4の操作があります あなたが使用するデータベース 問題は、おそらく7を設定し、 今まで使用している可能。 あなたがしたい最初のことは、挿入される 新しいテーブルにレコードや テーブルに新しい行。 これは、一般的な機能である そのSQLクエリの一般的な形。 テーブルに挿入、何列 その後、挿入したいと あなたはするつもりだ値 これらの列またはフィールドに入れた。 あなたは、複数の表がある場合 データベースや複数のデータベースには、 また、データベースを指定する必要があるかもしれません して、必要なテーブル に何かを入れて。 しかし、非常にシンプルで、挿入したい場合は、 何かに、あなたが言う、ここにある 私は挿入するフィールド。 そして、ここでの値である。 一部のテーブルでは、また、このユーザーの 表には、良い例です。 おそらくこのユーザーのテーブルにと おそらく、P-セットでの、ユーザーのテーブルに 7、単にユーザー名の値はありません。 ちょうど現金価値はありません、 またはフィールドではなく。 IDフィールドもあります。 私は、そのIDフィールドを挿入するつもりはない。 つまり、に与えられることになるだろう 私を自動的に、とき 新しいレコードが挿入されます。 だから、いくつかのフィールドがあります 自動に設定することができます。 たぶん、あなたはすべてのユーザーに提供したい バットオフ現金万ドル。 だから私は挿入する必要はありません ここに現金数。 私は挿入するために必要なのはユーザー名です。 そして、現金フィールドがなります IDフィールドはなり事前に入力し、 事前に移入さ。 だから多くの場合、我々は挿入していない すべてのフィールドに何か、理由 それらの他のフィールドは事前に入力されます。 それはですので、どのように我々 そのテーブルを設定します。 あなたがしようとしている第二のもの やってみたいことは、レコードを削除している。 何かを削除すると、非常に簡単です。 あなたが欲しいのテーブルを与える から何かを削除します。 そして、あなたはOK、私が削除したい、と言う ミロのユーザ名を持つレコード。 または私はすべてのレコードを削除することを ミロのユーザー名を持っているか、それがあった ユーザID番号2からのトランザクション。 これらに関するご質問 クエリの2つのタイプ? 観客:[聞こえない]。 JASONハーシュホーン:はい。 だから私は、行とレコードを使用するつもりだ 同じ意味といくつかの 列とフィールドを持つ。 しかし、1つの行が1レコードです。 1つの列が行く、1フィールドであり、 このテーブルにバックアップします。 [OK]をクリックします。 あなたはおそらくしている次の事 何をするつもりは、いくつかを取得している テーブルの情報。 つまり、選択クエリです。 そして再び、何を表 私は、から選択するのですか? そして、何列に私が選択したい、または実行 どのような値私は選択しますかと どの行から? だから、セレクトは少し固有のものです。 私は[OK]を、私は、このテーブルが欲しい、と言う。 そして私は、列のユーザ名を欲しいと 私は、IDが2の行からそれを求めています。 つまり、セレクトを行う1つの方法です。 または私は私にあらゆるを与える、と言うことができます シングルユーザ名。 または私は言う私に全体を与えることができます この表から行、どこで ユーザ名は1である。 そうする夫婦の異なる方法があります 方法に応じて、選択したクエリを実行する あなたが望む多くの情報、 あなたはいつもただ、すべてを選択することができます その特定の表から、次にループ それを介して、選び出す あなたが欲しいもの。 あなたが選択している場合しかし、心に留めておく テーブルとあなたから多くのこと 本当に大きなテーブルがあり、それがかかります 唯一の選択にある程度の時間なので、最高の あなたが行っているもの 使用して終了します。 また、セレクト付、これらのすべてと 他のSQLは、私は今だけでなく、コマンド あなたの最低限のバージョンを与える。 しかし、私は、ユーザーを選択していると私が欲しい、と言う アルファベット順にそれらを印刷するには、 私はすべてのユーザーを選択し、並べ替えができ アルファベット順に私のコードでそれら。 またはSELECTを書くための方法はありませ ANで物事を選択するクエリ、 のオフに基づいてアルファベット順ファッション、 特定の列、昇順またはいずれか 下降。 だから、心に留めておくことが、何を、多くの やってみたいと思わで行うことができます 追加のスルークエリ 属性。 だから、オンラインこれらのクエリを調べるのですか これらを使ってできる他の事 クエリ、それらを展開します。 最後に、あなたがしたい最後のことは行うには 何かを挿入または削除されていません 何かではなく、 何かを更新します。 そして、それは、更新して行われ クエリし、再度、どのようなテーブル。 そして、何の変化私が作りたいのですか? そして先の行またはレコードを行う 私は、その変更をしたい? SQLについてのご質問? [OK]をクリックします。 だから我々は約15分を持っています。 そして、これは私が持っている最後のスライドです。 うまくいけば、この最後のスライドです 問題のあるセットに良いセグエ、 我々は先を理解するために レコードを挿入、それらを削除し、選択 それら、それらが私たちを助ける更新 大規模ロジックとフローを理解 問題は7を設定します。 だから私はすべての答えを知っている これらの質問へ。 私はあなたに言うつもりはありません 答えはすべて。 しかし、他の誰かがしたい場合 グループに質問を提示するか、 我々はできる、これらの質問のいずれかに答える に飛び降りポイントとしてそれを使用 問題のあるセットについて話しています。 または誰かが、より一般的なされている場合 問題セットオフ質問、感じる だけでなく、それを聞いて自由に。 そして、我々はそこに開始することができます。 サイレントであることを覚えておいてください 皆を傷つけている。 うん。 観客:そう渡すための唯一の方法である 異なるウェブとの間での変数 ページ、または最も便利 POSTを使用する方法、またはGET? JASONハーシュホーン:そうです、つまり 言って最も便利な方法 - とき 誰かがフォームに記入する - 別のWeb上の情報を得る GETまたはPOSTを使用して、ページ、。 なぜなら我々は使用しているフレームワークの 設定されるこの問題では、わかります 、その多くの時間、私たち 別のページをレンダリングします。 弊社または我々は、別のファイルをしないレンダリング 必ずしも別のページ。 だから我々は、変数を渡します。 次いで、それはレンダリング 使用してHTMLページ、 その変数からの情報。 それは技術的に渡していません 間の情報 別のWebページを参照してください。 それは、情報を渡している 異なるファイル間。 だから我々はすべてを使用することができます そのための変数。 しかし、はい、私たちが望んでいた場合に渡す 特定のページからの情報に 別のページ、GETとPOSTになる これを行う方法である。 約他の質問 問題は、設定されていますか? [OK]をクリックします。 それでは次に、具体的な、見ていきましょう 問題の一部は、設定してください。 あなたは、ある時点で、する必要があるとしている 誰かのポートフォリオを表示 画面。 私は、ポートフォリオを言うとき、私は何を意味し、 この問題のコンテキストで設定されていますか? 観客:それは、彼らの株式のようなものだ 自分が所有するか、多くの株式を持っている、 価格、どれだけ 彼らが残したお金。 JASONハーシュホーン:それは素晴らしいサウンド。 だから私はすべての銘柄を表示したい 彼らは所有するために、各証券会社の おそらく株式、どのくらいのこと 価値は、その後、別々の変数、 どのくらいのお金を、彼らが所有している。 だから私はそれを記述するとします。 どのように私ができるについて話し始めるのを聞かせて 私はどのようなテーブル、それをやって行く する必要がありますする必要があるとして それを行うことができる。 うん - 読者:まあユーザー、そして、私は推測する あなたが呼ばれるテーブルを作ることができます 株式またはそのような何か、どの 彼らが買ってきたどのように多くなります。 JASONハーシュホーン:わかりました。 だから私はと呼ばれるテーブルを必要とするつもりだ を追跡し、ユーザー、 ユーザ名、おそらく、おそらくいくつかのID、 おそらく、個々のパスワード。 ことを何か他のものとは何ですか まさにそれが関連付けられているのか。 何であるかマイケル、ほかに誰か 関連付けられている他の何か それらに固有の各ユーザー、? 観客:I​​D。 JASONハーシュホーン:ID - 我々はしている1他の事は何ですか おそらくしたいとして このページ上に表示? 観客:自分の名前。 JASONハーシュホーン:自分の名前 - 何が これに関連したもう一つのこと 特定の問題が設定されていますか? 読者:彼らは何を所有している株式 - JASONハーシュホーン:ように起こっている 自分が所有するものを株式の多くなる。 1特定の値は、しかし何、 彼らは持っているつもりされていることを それらに関連付けられている? 彼らはどのように購入しようとしている とその株式を売却? 観客:現金。 JASONハーシュホーン:彼らはしている 現金を持っているつもり。 したがって、各ユーザーが持っているとしている 現金のための1の値。 そして、それはなるだろう 各ユーザーに固有。 そこで、ユーザのテーブルには、せる 現金で置く感覚。 あなたは、もちろん、別のものを作成することができます ユーザIDを有しており、それらの表 現金の価値。 しかし、それは意味がありません。 それはちょうど置くことは理にかなっています 1テーブル内のすべてのこと。 だから我々は、テーブルを持っているつもりです その情報に基づいて。 そして、他のテーブルは何でしょう 我々は持っているつもりだ? あなたは、株式テーブルを言った。 我々は何を入れている中で 株式テーブル? 誰でも、アイデア - 観客:会社。 JASONハーシュホーン:私たちが行っている の名の下に置くために 会社なので、AppleにとってAAPL。 うん。 観客:どのように多くの株式と 彼らは価値があるどのくらいの。 JASONハーシュホーン:どのように多くの株式、 どれだけ彼らは価値がある - 何か他の我々は何を そのテーブルに必要ですか? 観客:インデックスへのユーザーIDのこと。 JASONハーシュホーン:ユーザーID。 だから、そのテーブルでは、よ おそらく持っている - それは所有している誰かの場合には、のは言わせて 3銘柄、3行、それぞれに そのユーザIDまたはその個人のユーザ IDが、別の会社名、A おそらく株式の数が異なる、 それぞれに異なる価格の値 これらの株式の。 繰り返しますが、私が今言っていることはありません 必ずしも実装、 あなたが実現しているため、いくつかのより多くがある それを実現するための効率的な方法。 しかし、これは開始するには良い場所です。 [OK]をクリックします。 だから、それらは我々が持っている2テーブルです。 今、私たちは、このページを表示する。 クエリの最初のタイプは何ですか 我々は確認する必要があります。 各ページに、そのユーザーがあると想定 ログインすると、我々は彼らのユーザーIDが付与されます。 だから、第一のタイプは何ですか 我々は確認する必要があり、クエリ? うん。 読者:ユーザーID。 JASONハーシュホーン:私たちは、自分のユーザーIDをお持ちで、 私たちは時にコードを開始しているとき ページの先頭です。 そうクエリたちの第一のタイプは何ですか ユーザーのIDを指定して、確認する必要がありますか? 我々は4つのタイプの上を越えて行った。 唯一の4つの可能な答えがあります。 観客:それは、レコードを選択している。 JASONハーシュホーン:セレクト - 我々は、ユーザーの中から選択します 取得するテーブルは、のは言わせて、 現金のそれらの量。 そして、我々は現金の金額を印刷することができます 画面の上に。 [OK]をクリックします。 の次のタイプは何ですか クエリ私たちは何をしたい? 我々はいくつかの他のものを持っている 我々は、表示する必要があります。 それらは別のテーブルに保存されます。 では、どのようにそれを得ようとしている? 読者:あなたは彼らのために選択します。 JASONハーシュホーン:セレクト - もう一度、 唯一の4つのオプションがあります。 おそらく音を選択する 右のような。 だから我々は、別の選択クエリを実行する必要があり、 再度、そのユーザIDを使用して。 そして今、我々だけではなく1を返すようにしたい 行、私たちの一致するすべての行をBU ユーザIDが1に等しい基準。 そして、我々は単にループを行くとさせることができます 画面上のすべてのものをプリントアウトし、 多分から会社をプリントアウト 画面上のもののそれぞれ。 それはだような偉大な、それが聞こえる ポートフォリオ、あまり多くを表示する それよりも複雑。 [OK]を、ユーザーがそれらはその決定 余ったお金をたくさん持っている。 そして、彼らはいくつかを購入したい 株式より株。 としましょう​​、彼らはすでに所有している あまりにもこの会社の株式。 そこで、彼らはあなたの購入ページに移動します。 彼らは、入力会社の名前。 クエリは、入力された後、どのような 会社の名前は、あなたがする必要があること 次に実行? うん。 観客:更新。 JASONハーシュホーン:アップデート - とどのような 表には、更新しますか? 読者:彼らのテーブルに、ベース そのID番号に? JASONハーシュホーン:だからアップデート ていないユーザーの表 - どこでそのように、株式テーブルを更新 ユーザーIDが一致するだけでなく、 銘柄も一致します。 あなたは、いくつかの値を取得します。 そして、あなたはその値をとるとよいでしょう そしてしかし、多くの株式を追加、彼ら それを購入したい。 だから、盲目的にしたくない その値を上書きします。 しかし、あなたは、実際には、その初期を取ることができます 価値とそれを更新します。 プラスに等しいような操作を行うことができ、 というだけで、Equalsと比べ。 しかし何かは何か - 私たちはなら このことを考え、私たちはなりたい 可能な限り堅牢な - 私たちは何をすべき 我々は、更新クエリを実行する前に? 彼らは、アップルの5年間を購入したい。 アップル1株は200ドルである。 観客:我々は最初のお金を確認する必要があります。 JASONハーシュホーン:私たちはすべき 最初のお金を確認してください。 我々は、彼らを確認する必要があります 十分なお金を持っている。 クエリはどのような我々は実行することができます 彼らは十分なお金を持っていることを確認してください? 観客:別のSELECT。 JASONハーシュホーン:セレクト - 我々は彼らのユーザIDに基づいて選択し、 現金の彼らの値を取得する。 いくつかの簡単な計算を行う。 そして、それに合格した場合には、召集 彼らは十分な現金を持っています。 その後、我々は我々のアップデートを実行することができます。 いない場合は、多分、我々はそれから渡します。 我々は彼らに警告を与える。 [OK]をクリックします。 彼らが会社を持っていないと言う。 彼らは、新会社を買っている。 彼らは、Microsoftに買っている。 クエリはどのような我々は何をしたいか、 彼らはマイクロソフトを購入したい場合はどうなりますか? そして、彼らは、Microsoftが所有していない。 いないマヌー、誰、誰 マーカス以外にも? カルロス - 観客:セレクト、確実にする 彼らは十分なお金を持っている。 JASONハーシュホーン:良さそうですね。 観客:してから、挿入し [聞こえない]に。 JASONハーシュホーン:その通り、我々はしている 挿入したいとして 株式テーブルへ。 そして、我々は挿入したいとしている。 私たちは、名前を自分のユーザーIDを挿入することができます 企業、そしてどのように多くの株式の 彼らは購入したい。 そのいくつかの他の操作はどのようなものがあります あなたがしているページや機能がある P-セットに実装する必要があるとして 7、我々は上に行く必要があり、その? 観客:実は、私はちょっと持っている この1についての質問。 あなたは、ポートフォリオを表示する前に、すべき あなたがYahooのウェブサイトへをチェック 必ず株価を作る 変更されていない? JASONハーシュホーン:それは音だ 良いアイデアのよう。 マーカスがあると言っているので、何を、[OK]を、株式 価格は常に変化している。 彼らはテーブルを所有株式には、当社 株式と呼ばれるテーブル、我々は救うことができる 彼らはそれを買った株式の価格。 しかし、それは、それは堅牢ないないようです 株式の価格があるため、 絶えず変更する予定。 だから実際には、おそらく必要はありません。 株式の価格を保存します。 しかし、それぞれの時間は、あなたはそれらを表示 ポートフォリオには、リフレッシュまたは更新 株式の価格。 そして、あなたが持っている場合 - と あなたが既に持っている。 私はあなたのすべてで見てきた知っている 問題はすでに戻って設定します。 あなたは私たちが書いたことを実現しています あなたをできるようになりますあなたのためのいくつかのコード 株式の価格を取得するには、 会社の名前を与えられた。 そうです、それはおそらく聞こえる もう少し堅牢。 しかし、そのテーブルは必ずしも必要はありません。 株式の価格を保存します。 [OK]をクリックします。 あなたには、いくつかの他の機能は何ですか 今週実装する必要があること 我々は話をすることができますか? 私はそれらについてお話したいと思います。 あなたは何について話をしたいですか? それは、この仕様でおそらく。 私は一番下までスクロールう スペックのと私の最初の単語を尋ねる あなたはそれが意味がありません参照してください。 もう一つの機能 - それでは1について話しましょう​​。 我々はそこから始めましょう。 観客:履歴の記録。 JASONハーシュホーン:録音 歴史、素晴らしい1。 だから、追跡するために必要があるとしている トランザクションの履歴を。 だから、すべての追跡を維持したい 彼らが株式を売買する時。 私は自分の株を買った。 私たちは、今言った、それはおそらく理にかなっている 彼らを取得するには、[選択]を含めるには 現金の量と戻って確認。 それはおそらく、その後含めるスマートです 挿入または更新に応じて 彼らはその株を所有しているか否か。 我々はまた、追跡したい場合 歴史、我々はそれをどのように行うことができますか? つまり、株式テーブルに行くのですか? 観客:いいえ。 JASONハーシュホーン:いいえ、おそらくそれ 別のテーブルに行く。 あなたは10を購入すると言うので、 アップルの株式。 次に、別の10株を購入。 あなたは、別々のレコードをけん引したい。 それらは、2つの別々の取引である。 だから我々は、別のテーブルを持っている、 履歴テーブル。 だからもう一度、私たちは買う。 それから、[選択]を実行する 挿入または更新。 私たちは次に何をしますか? 我々は実行する次のクエリは何ですか 我々は何かを購入しているとき? 我々は歴史を追跡したいと思います。 うん。 読者:あなたが追跡したい あまりにも取引を失敗しました。 JASONハーシュホーン:まあ、我々の前に トランザクションはどのようなタイプを言う、 私たちは何をしますか - どのような種類のクエリの、カルロス、だろう ボランティアを追跡することを可能に 一般的に物事の? あなたは4の推測がある。 あなたはどちらだと思いますか? 観客:更新。 JASONハーシュホーン:更新されません。 2番目の推測は何ですか? 観客:選択。 JASONハーシュホーン:あなたが残しておきたい場合は 何かのトラックを作成する必要があるでしょう どこかを書き留めて または後のために保存してください。 さて、更新した場合ではない - 観客:それを挿入します。 JASONハーシュホーン:インサート、そこに私達は行く。 はい、だから、の量を選択 彼らが持っているキャッシュ·フローは、素晴らしいサウンド。 彼らは十分な現金を持っていない。 そのトランザクションは、仕事に行くのではありません。 いいえ、あなたはを追跡する必要はありません。 それが動作しない場合に、トランザクション。 またはあなたが、あなたがしたいことができれば 彼らに、ハードの時間を与える。 しかし、あなたがする必要はありません。 次に、挿入または更新 その株式のテーブルに。 そして今、あなたはあなたの他のテーブルがあります。 あなたの履歴テーブルを持っているか、 あなたはそれを呼び出すために好き。 そのテーブルには、つもりだ 新しい行を挿入します。 それはおそらくだろう ユーザーのIDを持っている。 それはおそらく持っているために起こっている 株式の名前。 それはおそらく持っているために起こっている 彼らはそれをやったことの時間。 この場合、あなたはおそらくllの 価格を挿入する。 歴史のために、あなたがいないため、 現在の価格が何であるか気になります。 あなたは時に価格が何であるかを気に 彼らは何かを購入したり売却した​​。 だから、買って実装するために、のように聞こえる 完全に異なった数を含み SQLクエリ、しかし、正直なところではない 全体的なことを多くのコード。 [OK]をクリックします。 そして、それは歴史の面倒を見る。 としましょう​​、私たちがしたい 私たちの歴史を表示します。 我々は、表示の話 当社のポートフォリオ。 どのように我々は我々の歴史を表示するであろう? 観客:おそらく年代順に。 JASONハーシュホーン:おそらく、 年代順 - どのようなクエリは、我々が使用したいと思いますか? 観客:セレクト。 JASONハーシュホーン:セレクト - そのテーブルから、多分すべての行を選択 それは、ユーザIDに一致し、次いで 年代順に表示し、 旨そうだな。 我々はするためのコードを記述する必要がありますか そのリストをソート? 観客:いいえ、あなたは言ったので 私たち昇順がある との事降順。 JASONハーシュホーン:シング? 観客:うん。 JASONハーシュホーン:うん。 [OK]を、ので、私には、コード内にしないでください 手動でクエリによってソートし、 それらをソートする。 そのコードはすでに与えられている。 あなたが選択クエリを書くことができます それは、物事をソートします。 あらかじめそれらをソートし、 それらをプリントアウト。 それは何をそんなに方が理にかなっている それ以外の方法よりもそのように、。 はい。 観客:我々はする必要がありますか あらかじめそれらを並べ替える? つまり、ソート、あなたを意味するのか データベースに? JASONハーシュホーン:選択クエリ ソートされたあなたにそれらを返します。 だからそれらを持っているのではなく、それを行うこと ランダムな順序で、あなたに戻り、 その後、自分で並べ替える。 うん。 観客:それを維持する方法はありますか ように、データベース自体でソート あなたはソートする必要はありません それたびに - 読者:あなたがそれをソートされた挿入することはできますか? JASONハーシュホーン:質問 - それは物事があることは問題ではない データベースでソート? 観客:いいえ。 JASONハーシュホーン:まあ、 それらが並べ替えられています。 これらは、年代順に並べ替えられています。 しかし、ここでは物事がソートされていることを仮定しましょう 年代順に、上から下へ。 私たちは、Googleのフォームを持っている。 誰かが私たちのGoogleに応答するたびに、 フォームは、それがちょうどに入れれます そのテーブルの下。 それは物事があることは問題ではない いない時系列に並べ替え? 観客:それは時系列ではない場合は、 あなたはそれを毎回ソートする必要はありません あなたは情報を取り出します。 しかし、それはすでにソートなら、あなたはできません その追加を行う必要はありませ 関数呼び出し? JASONハーシュホーン:だからそれはです 実際に良い点。 プログラマのような私たちのために、 それは問題かもしれません。 そして、我々はデータベースを検出する場合があります それは物事をソートしません 年代順に。 または私達のデータベースをセットアップするので、続けて ユーザーIDの並び順のもの。 、たとえば、我々は持っているので、そのように 千のユーザーID。 やFacebook、我々は何百万を持っている ユーザーIDの。 私達は私達のテーブルがちょうどにしたくない ランダムまたはランダムである私達のデータベース。 すべての場合、それはいいだろう ユーザーIDは、選別した。 それでは、我々は、バイナリ検索を実行することができます 私たちのテーブルの上にしてからちょうど見つける 特定のチャンク。 そうです、に応じて - 私たちは、スケールアップした場合 我々は、データベースを検索したいかもしれません それは、さまざまでソート物事を保つ 道、その結果、これらのクエリ あまり時間がかかるだろう。 そして、我々は我々のを通過する必要はありませんでした すべての単一の行のデータベース全体での 指定されたテーブル。 しかしレベルは、我々、に取り組んでいる 維持を心配する必要はありません 物事ソート。 我々は時間がかかりますと仮定することができます 実行するには、そのクエリがあることを行っている 無視でき、どのような与えられた 私たちは、扱っている。 しかし、はい、素晴らしいアイデア - 我々は、スケールアップとして、 それは私たちを設計するために意味があります 別の方法のビットでデータベース。 私が欲しいもの、最終的なデータベース設計の事 あなたがするからだけでなく、言うまでも 上、段階的、というより得点する データベースの設計。 私たちは、このことについて話しました。 現金は、各ユーザーに固有のものである。 だから、テーブルと呼ばれる現金を持っていること 自分のユーザIDとのそれらの量を有する そして現金と呼ばれるテーブル 自分のユーザーを持っているユーザーは IDとユーザー名。 これらのテーブルは、それぞれの上にマッピングする 他の一対一。 それはおそらく理にかなって それらは1テーブルであると。 それでは、ユーザーを持っていると仮定しましょう を追跡するテーブル ユーザー名と現金。 これで持つテーブルを持っている 個人が所有している株式。 そして個人が所有している可能性があります 1株以上のものです。 したがって、これらは上にマッピングされません。 互いに一対一。 それが1巨人を持っている意味がありません その30のレコードを持つテーブル すべてのことをすべて、ユーザー名を繰り返し すべての事は、パスワードを繰り返す 現金の数を繰り返す。 しかし、それぞれが多分に異なる株式を持っている 名前または別の株価。 それが持っている意味がありません その多くの大規模なレコードが。 これらを作成するときに約スマートに あなたがデータベースを行っていないように そのような愚かなもの、繰り返し 不要な情報がたくさん。 [OK]をクリックします。 我々は左の2分している。 人々は外で参加することに興奮している 当社またはおそらく、おそらく、 独自のクラスを開始します。 誰もが疑問を持っていますか 私たちは仕上げの前に? [OK]を、これは確かに旋風だった すべてを通して。 私はそれが非常に速くなければならなかったことを謝罪 私たちは実践的なようであることができなかったことを 私がしたと同じように、今週 されているのが好きだった。 しかし、あなたはについてのご質問がある場合 我々は渡った何かで何か この問題は、設定 - あなたはそれを読んで、置かれていると仮定 誠実な努力において - 私にメールしたり、私に連絡して自由に感じる。 私は、を介して動作するよりも幸せだ あなたやいずれかの答えをあなたのコード あなたが持っている質問。 心、今週、多くのしてください お時間を学習に費やされます 新しい構文と理解しよう SQLクエリやPHPを書く方法 関数やとの契約 MVCフレームワーク。 あなたの時間の多くはおそらく今週 把握しようとすることはできません 我々はしている狂気のロジック 実行するかを尋ねる。 我々だけで渡ったことがたくさんある 比較的簡単。 だから、待つという意味ではありません 最後の最後までです。 しかし、それはあなたを行う方法を調整意味ですか 確認する、それに応じて動作する あなたが理解している 構文を学習する。 だから、知って、突然わからない あなたが何をしたいまさに、 しかし、どのようには考えを持つ 正確にそれを書く。 [OK]を、私は来週お会いしましょう​​。