1 00:00:00,000 --> 00:00:02,500 [Powered by Google Translate] [セミナー] [Web開発:アイデアから実装へ] 2 00:00:02,500 --> 00:00:04,200 [ベンクーン] [ビリーJanitsch] [ハーバード大学] 3 00:00:04,200 --> 00:00:07,250 [CS50.TV] [これはCS50である] 4 00:00:07,250 --> 00:00:10,840 [ビリー]こんにちは、私はビリーだと、これはベンです。 >> [ベン]こんにちは。 5 00:00:10,840 --> 00:00:12,840 今日は、Web開発の話をすることになるだろう。 6 00:00:12,840 --> 00:00:14,840 [がWebdev] [ビリーJanitschとベンクーン] 7 00:00:14,840 --> 00:00:16,840 まず私たちについて少し。 8 00:00:16,840 --> 00:00:19,590 ベンは、バックエンドの男のようなものです。彼は、物事の仕組みになります。 9 00:00:19,590 --> 00:00:21,870 そして私はに行くと、それらはかなり作る。 10 00:00:21,870 --> 00:00:26,610 私は、ものの以上のフロントエンドのレイアウト設計一種で、主に携わって 11 00:00:26,610 --> 00:00:31,260 とベンは、他の一方で、彼は、バックエンドのもので動作しますので、やっているか知っている。 12 00:00:31,260 --> 00:00:34,050 一緒に、我々はいくつかのことを行ってきました。 13 00:00:34,050 --> 00:00:38,710 例えば、昨年はオンラインゲーム開発スタジオですGimbliumに取り組みました。 14 00:00:38,710 --> 00:00:40,400 つまり、クラスの私たちの最終的なプロジェクトだった、 15 00:00:40,400 --> 00:00:42,780 それ以来、私たちは、ハーバード大学のクラスを作りました 16 00:00:42,780 --> 00:00:47,860 これハーバード大学の閲覧やショッピングのコースのためのオンラインワークです。 17 00:00:47,860 --> 00:00:53,180 >> 当社は、当社のウェブサイトのためにこのアイデアを開始するつもりだ。 18 00:00:53,180 --> 00:00:57,480 我々はFacebookを利用して作るつもりが、猫のためだ。 19 00:00:57,480 --> 00:00:59,520 あなたが実際にこのウェブサイトを作る前に、 20 00:00:59,520 --> 00:01:02,520 それはよくないので、このウェブサイトを作るていない、しかし、我々はフレームワークとしてそれを使用します 21 00:01:02,520 --> 00:01:05,349 そして我々はこのアイデアを取るかの過程を経る 22 00:01:05,349 --> 00:01:07,450 そして我々が使用することができ、実際のウェブサイトにそれを回す。 23 00:01:07,450 --> 00:01:11,940 私たちは、ウェブサイトを破壊することから始めます。 24 00:01:11,940 --> 00:01:13,190 あなたはCS50に行ってきたように、 25 00:01:13,190 --> 00:01:17,360 あなたは、このウェブサイトに入る実際のコンポーネントであるかを考えたいと思います。 26 00:01:17,360 --> 00:01:21,290 基本的には一種の抽象的概念であるという考えから、それを回す 27 00:01:21,290 --> 00:01:23,590 あなたが作るこ​​とができ、実際の、具体的なものに。 28 00:01:23,590 --> 00:01:25,910 我々はいくつかの質問をすることから始めます。 29 00:01:25,910 --> 00:01:28,070 このウェブサイトは何ですか?なぜ我々はそれを作っている? 30 00:01:28,070 --> 00:01:30,670 それは何のために使用されようとしている?そういったこと。 31 00:01:30,670 --> 00:01:33,660 Facebookの猫の場合には、 32 00:01:33,660 --> 00:01:37,730 私たちは、基本的にはお互いに猫のソーシャルネットワークをすることができますウェブサイトを求めています。 33 00:01:37,730 --> 00:01:41,260 アイデアは、彼らが互いの壁に投稿することができていることなので、 34 00:01:41,260 --> 00:01:43,510 彼らは、コメント、そういったことを行うことができます。 35 00:01:43,510 --> 00:01:46,720 我々は、機能コンポーネントに来るところ、それはね。 36 00:01:46,720 --> 00:01:51,270 我々は現在のフレームワークは、この種を持っている - 私たちは、ユーザープロファイルを持っている、 37 00:01:51,270 --> 00:01:53,990 我々は意見を持って、私たちは投稿することができます。 38 00:01:53,990 --> 00:01:57,390 おそらくいつの日か、私たちが好きとそういったことを流入します。 39 00:01:57,390 --> 00:02:00,410 そして、我々は一種のインチ行くこれらの機能に優先順位を付けたい 40 00:02:00,410 --> 00:02:03,340 私たちは大丈夫、のような言いたい、それは誰もが、プロファイルを持っていることは本当に重要です 41 00:02:03,340 --> 00:02:06,440 その誰もがお互いの壁に投稿することができます。 42 00:02:06,440 --> 00:02:08,509 それに続発する、コメントはいいだろう。 43 00:02:08,509 --> 00:02:10,180 多分後で私達は同類を流入します。 44 00:02:10,180 --> 00:02:13,700 だから、あなたはあなたのプロジェクトの基盤にあるものの考えを持つようにしたい 45 00:02:13,700 --> 00:02:17,260 そして後に適用することができ、より一般的な機能のようなものは何でしょう。 46 00:02:17,260 --> 00:02:20,870 あなたは一種の心の内の特定のリストを持つようにしたい、 47 00:02:20,870 --> 00:02:24,090 しかし、あなたが開始するプロジェクトは、あなたが終了したプロジェクトであることを行っていません。 48 00:02:24,090 --> 00:02:27,100 言い換えれば、物事は、あなたがサイトを開発している間に変更しようとしている 49 00:02:27,100 --> 00:02:30,090 あなたは、そのためのスペースを残しておきたい。 50 00:02:30,090 --> 00:02:34,470 私は、構造について少し話をするつもりだベンにそれを裏返します。 51 00:02:34,470 --> 00:02:39,610 >> [ベン]私はウェブ開発のより技術的な側面の話をするつもりだ。 52 00:02:39,610 --> 00:02:42,370 ちょうど最初のいくつかの基本を見ていきましょう。 53 00:02:42,370 --> 00:02:45,730 あなたは、Webアプリをやっているときは、 54 00:02:45,730 --> 00:02:50,470 あなたが持っている必要があるとしている主要な部門がある 55 00:02:50,470 --> 00:02:52,700 あなたは、クライアント側で起こっているいくつかのものを持っているつもりです - 56 00:02:52,700 --> 00:02:56,700 つまり、あなたがブラウザているコードは、サイトから取り 57 00:02:56,700 --> 00:03:01,910 とJavaScript、HTML、CSSのもの。 58 00:03:01,910 --> 00:03:04,490 つまり、クライアント側ですべてです。 59 00:03:04,490 --> 00:03:08,680 サーバー側で実行されます他のコードを持っているつもりです 60 00:03:08,680 --> 00:03:10,770 その人があなたへの送信するすべてのデータを追跡し、 61 00:03:10,770 --> 00:03:15,060 そのようなものを何を与えることを誰が決定します。 62 00:03:15,060 --> 00:03:20,380 あなたたちはすべて我々が何を言っているのかを熟知しているように、これは単にいくつかの専門用語である。 63 00:03:20,380 --> 00:03:28,600 その部門を超えて、それはの面では、Webアプリケーションを考えて良いことだ 64 00:03:28,600 --> 00:03:32,500 個別のコンポーネントのカップル。 65 00:03:32,500 --> 00:03:35,270 あなたは、Web開発をやっているときは 66 00:03:35,270 --> 00:03:41,710 あなたはいつも何をしようとする必要があることの一つは、複雑さを軽減することである。 67 00:03:41,710 --> 00:03:45,710 より複雑なコードは、バグを作るために存在するより多くのチャンスです。 68 00:03:45,710 --> 00:03:47,710 難しく、後で変更することである。 69 00:03:47,710 --> 00:03:50,140 だから、あなたは、いくつかの異なる機能領域にアプリを破ることができれば 70 00:03:50,140 --> 00:03:57,640 その意志 - あなたは、クロスエリアの通信量のようなものを減らすことができます - 71 00:03:57,640 --> 00:04:03,530 それはあなたのバグを減らすという点で長期的に大いに役立つでしょう。 72 00:04:03,530 --> 00:04:07,950 >> 具体的には、通常、人々はにWebアプリケーションを分割 - 73 00:04:07,950 --> 00:04:13,190 これらは今話題の言葉の一種であるが、彼らはまだ便利だ。 74 00:04:13,190 --> 00:04:17,940 あなたは、人々はモデル、ビュー、コントローラの話聞いたことがあるかもしれません。 75 00:04:17,940 --> 00:04:23,210 モデルは、アプリケーションが対処しようとしている実際のデータである。 76 00:04:23,210 --> 00:04:28,260 たとえば、あなたの猫のFacebookで、あなたのモデルは次のようになります - 77 00:04:28,260 --> 00:04:35,340 あなたのようなポストのためのモデル、およびそのようなユーザープロファイル、もののためのモデルを持っていると思います。 78 00:04:35,340 --> 00:04:41,090 あなたの意見では、ユーザーにそのデータを提示する方法である。 79 00:04:41,090 --> 00:04:46,660 あなたは、1つのポストを検索するためのビューとすべてのコメントがあるかもしれません 80 00:04:46,660 --> 00:04:51,720 そしてすべての投稿のリストを持っているあなたの壁のために別のビュー 81 00:04:51,720 --> 00:04:57,170 あなたに向けて、あなたのニュースフィードに別の図であること - そのようなもの。 82 00:04:57,170 --> 00:05:00,610 最後に、人々はあなたに記事を送信するときに、基本的にされているコントローラを持っている 83 00:05:00,610 --> 00:05:03,310 あなたは、あなたのバックエンド·システムへの更新を行う 84 00:05:03,310 --> 00:05:06,400 あなたはカウンターの束をインクリメントし、何でも。 85 00:05:06,400 --> 00:05:07,860 それらはあなたのコントローラです。 86 00:05:07,860 --> 00:05:11,030 >> 私はモデルについて主に話をするつもりです。 87 00:05:11,030 --> 00:05:14,030 ビューは、技術的にそれほど難しくなく、問題は、それを設計して、よりです 88 00:05:14,030 --> 00:05:22,040 コントローラは、あなたが設計している何に固有であることを行っている。 89 00:05:22,040 --> 00:05:25,220 しかし、あなたが使用できるいくつかの非常に一般的なテクニックがあります 90 00:05:25,220 --> 00:05:30,220 それで動作するようにあなたのモデルがよりよいと容易にするために、私は非常に有用だと思います。 91 00:05:30,220 --> 00:05:35,860 これは主に良い方法であなたのWeb​​アプリケーションのデータを扱う方法についてであることを行っている。 92 00:05:35,860 --> 00:05:40,420 モデルとの主な問題 93 00:05:40,420 --> 00:05:44,540 彼らは、クライアントとサーバー上で生活し、あなたが把握しなければならないことである 94 00:05:44,540 --> 00:05:51,170 A)、それらを取得する方法 - 関連するすべてのもの - サーバからクライアントに、 95 00:05:51,170 --> 00:05:53,440 及びb)の同期でそれらを維持する方法。 96 00:05:53,440 --> 00:05:58,700 ユーザーは、いくつかの更新プログラムを作りたいとしている。 97 00:05:58,700 --> 00:06:00,470 彼らは、新しい記事を作成するつもりだ。 98 00:06:00,470 --> 00:06:04,800 彼らはあなたが同類を持っている場合のものとものを好きにするつもりだ。 99 00:06:04,800 --> 00:06:11,490 それらはモデルを扱うの主な技術的課題である。 100 00:06:11,490 --> 00:06:15,680 あなた自身をお聞きしたいとしている最初の事はある 101 00:06:15,680 --> 00:06:18,420 データの種類は、このモデルになり、クエリの種類を、我々は何をしたいとしている - 102 00:06:18,420 --> 00:06:24,290 つまり、どのように我々はモデルを見てするつもりですか? 103 00:06:24,290 --> 00:06:26,940 あなたの猫のFacebook例えば、 104 00:06:26,940 --> 00:06:31,520 あなたの投稿は、それに関連付けられた作成者を持っているとしている 105 00:06:31,520 --> 00:06:35,660 いくつかの壁のポストテキスト、および壁のポストの受信者。 106 00:06:35,660 --> 00:06:38,470 そして、あなたはさまざまな方法の束でそのクエリを実行したい場合があります。 107 00:06:38,470 --> 00:06:42,220 あなたは、どの記事を書いた人でそれを見たいと思う 108 00:06:42,220 --> 00:06:46,620 そのポストを受けたことで、おそらく彼らが投稿した日付ごと。 109 00:06:46,620 --> 00:06:50,340 日付でそれをやろうとしている場合しかし、あなたはあなたのポストに別のフィールドを追加する必要があります 110 00:06:50,340 --> 00:06:52,490 それが実際に投稿されましたときに。 111 00:06:52,490 --> 00:07:00,220 これらの2要因 - あなたはそれを表示する方法を使用するとどのようなデータ - 112 00:07:00,220 --> 00:07:04,200 彼らはお互いに依存しているためには、まずそれについて考えなければならない、 113 00:07:04,200 --> 00:07:08,030 そしてそれは、後でそれらを追加することはより困難になるだろう。 114 00:07:08,030 --> 00:07:12,750 >> 他のいくつかの考慮事項があります。 115 00:07:12,750 --> 00:07:17,540 あなたは、サーバー上のモデルを扱う方法について考えているとき 116 00:07:17,540 --> 00:07:20,540 何を見たいのです - 117 00:07:20,540 --> 00:07:27,440 あなたは基本的には可能な限り、サーバーが同じくらい簡単にしたい。 118 00:07:29,440 --> 00:07:35,500 クライアント側でのものを行うと、一般的には、クライアントで純粋にそれを行うことができればはるかに高速です 119 00:07:35,500 --> 00:07:38,230 ネットワーク要求の任意の並べ替えを行わずに。 120 00:07:38,230 --> 00:07:47,860 アイデアは、あなたがクライアント上でできる限りのクエリの多くを行うことです。 121 00:07:47,860 --> 00:07:51,560 その唯一の問題 122 00:07:51,560 --> 00:07:54,160 あなたが初めにすべてのデータを要求した場合ということです 123 00:07:54,160 --> 00:07:57,160 そしてそれはロードに時間がかかるだろう。 124 00:07:57,160 --> 00:08:02,290 だから、アイデアは、クライアント上で十分なデータを持っ間の妥協点を打つことです 125 00:08:02,290 --> 00:08:07,640 あなたはそこにあなたの仕事のほとんどを行うが、ちょうど一度にすべてを取り出すことができないこと 126 00:08:07,640 --> 00:08:09,710 あなたが先頭に本当に遅いロード時間を得るようにします。 127 00:08:09,710 --> 00:08:12,610 たとえば、あなたの猫·データの 128 00:08:12,610 --> 00:08:20,340 あなたはおそらく、最近の掲示板の束を取得したいと思う。 129 00:08:20,340 --> 00:08:23,790 それは数年を遡る可能性があるため、あなたはそれらのすべてを取得するのは嫌だ。 130 00:08:23,790 --> 00:08:25,470 しかし、あなたは一度にそれらを1つを取得する必要はありません 131 00:08:25,470 --> 00:08:28,740 つまり、ネットワークのオーバーヘッドを大幅に導入するため。 132 00:08:28,740 --> 00:08:33,620 >> それはかなり難しいことが多いです - あなたは、データベースが稼働した後は - 133 00:08:33,620 --> 00:08:37,210 それはあなたがそれを持っているどのようなデータに変更するしばしば非常に難しい - 134 00:08:37,210 --> 00:08:40,510 つまり、新しいデータベース列または何かを追加 - 135 00:08:40,510 --> 00:08:43,510 その一つの良い戦略は、単なるテキストBLOBにデータの多くを維持するために、実際には - 136 00:08:43,510 --> 00:08:53,880 JSONのブロブ - JSONはJavaScriptのオブジェクト表記法であること - 137 00:08:53,880 --> 00:08:58,330 それから、新しいプロパティを追加することができますので、便利だ理由は、 138 00:08:58,330 --> 00:09:01,920 データベースを変更することなく、これらのJSONブロブのすべてに。 139 00:09:01,920 --> 00:09:06,860 その唯一の欠点は、あなたがフィールドの束を持っている場合 140 00:09:06,860 --> 00:09:09,890 あなたは後から追加されていること - それはJSONブロブに隠されたように - 141 00:09:09,890 --> 00:09:12,850 それは、データベース内部でそれらを照会するのは難しいです。 142 00:09:12,850 --> 00:09:17,690 たとえば、後であれば - あなたのPostモデルを持っていた場合、我々は先に説明したもの 143 00:09:17,690 --> 00:09:25,380 ただ著者と、受信者とテキスト - 144 00:09:25,380 --> 00:09:29,000 また、あなたは、後で日付フィールドを追加したいならば、JSONのブロブを持っているし、可能性が 145 00:09:29,000 --> 00:09:31,000 あなたのデータベースを変更する必要はありません。 146 00:09:31,000 --> 00:09:36,140 あなただけのテキストフ​​ィールドのすべてに日程を追加することができます。 147 00:09:36,140 --> 00:09:39,640 そして、あなたは、クライアント側でそれらを見ることができるようになる 148 00:09:39,640 --> 00:09:42,430 しかし、あなたは、サーバー側でそれらを照会することができません 149 00:09:42,430 --> 00:09:44,430 それは、そのテキストの中に隠されているからです。 150 00:09:44,430 --> 00:09:49,920 >> あなたが考えるようにしたい他の問題 151 00:09:49,920 --> 00:09:52,400 クライアントとサーバーが通信しようとしている方法である。 152 00:09:52,400 --> 00:09:56,040 通常は、できるだけ単純、これを維持したい。 153 00:09:56,040 --> 00:10:02,230 あなただけの、GET-ME-次のようにデータ要求を持つことができます 154 00:10:02,230 --> 00:10:09,140 Aのこと - 新しいオブジェクトの作成、および更新 - 古いオブジェクト要求。 155 00:10:09,140 --> 00:10:12,930 これらは、すべてのことをサーバー上の別のURLになります - 156 00:10:12,930 --> 00:10:20,030 ブラウザがあろうと - あなたは、これらのすべてのAJAXリクエストを使用することができます 157 00:10:20,030 --> 00:10:24,000 および受信またはPOSTデータのどちらか。 158 00:10:24,000 --> 00:10:26,600 繰り返しますが、私たちの猫のFacebook例えば、 159 00:10:26,600 --> 00:10:32,350 あなたは、個々の投稿を取得するには、そのURLを持つことができ、 160 00:10:32,350 --> 00:10:39,750 そして、新しい壁のポストを作成するためのURLがあるんだけど 161 00:10:39,750 --> 00:10:45,670 そして多分あなたのプロフィール写真は、そのようなものをアップロードするためのURLです。 162 00:10:45,670 --> 00:10:51,730 しかし、再び、それはあなたが維持する必要がないように、あなたのデータのほとんどをプリフェッチすることだ 163 00:10:51,730 --> 00:10:53,360 ネットワーク要求を行う。 164 00:10:53,360 --> 00:10:59,030 そのために、1つのポストのための個々のGET要求を持ってしたくない場合があります 165 00:10:59,030 --> 00:11:03,210 その代わりにあなただけの壁全体のための1 GETリクエストをしたいと思う。 166 00:11:03,210 --> 00:11:06,110 それから、あなたが原因でバランスをしようとしている場合 - 167 00:11:06,110 --> 00:11:10,970 また、これは、アプリケーションに依存しようとしている。 168 00:11:10,970 --> 00:11:13,430 あなたは、人々が唯一の10または20掲示板を持っていることを期待している場合、以下の原因 169 00:11:13,430 --> 00:11:15,430 それはいいですから。 170 00:11:15,430 --> 00:11:17,390 あなたが期待している場合は、しかし、彼らは、その要求は時間がかかりすぎる何千ものがあるでしょう 171 00:11:17,390 --> 00:11:23,580 ので、あなたは、get-オール支柱 - 以来パラメータを追加することもできます。 172 00:11:23,580 --> 00:11:26,580 >> これらすべてのためには、おそらくJSON形式でデータを同期するつもりだ - 173 00:11:26,580 --> 00:11:29,260 JavaScriptのオブジェクト表記法。 174 00:11:29,260 --> 00:11:34,600 ほとんどすべての言語は、非常によく、JSONを扱う。 175 00:11:34,600 --> 00:11:40,880 jQueryはあなたのためにハードワークのすべてを行いますこの素敵なgetJSONの機能を備えている。 176 00:11:40,880 --> 00:11:47,390 とPHP上で非常に素晴らしいのJSON通信機能もあります。 177 00:11:47,390 --> 00:11:52,660 だから、それはおそらく、前後にモデルを送信するための最適な形式です。 178 00:11:52,660 --> 00:11:56,570 >> これまでの話した内容の一例としては、 179 00:11:56,570 --> 00:12:00,520 ここにあなたの猫のFacebookアプリケーションの一例の流れです。 180 00:12:00,520 --> 00:12:07,760 お使いのブラウザベースのWebサイトのURLを要求から始まり。 181 00:12:07,760 --> 00:12:15,470 サーバーはおそらく静的なHTMLと一部のJavaScriptとCSSを介して送信だろう。 182 00:12:15,470 --> 00:12:19,170 これは、サーバー上の任意のレンダリングを行わないことが最善です。 183 00:12:19,170 --> 00:12:23,370 おそらくしたくない - 184 00:12:23,370 --> 00:12:28,360 サーバーは、そこに何をしてされていない掲示板の一覧を下に起こっている 185 00:12:28,360 --> 00:12:31,120 それぞれ1のためのいくつかのHTMLを生成し、その上で送信。 186 00:12:31,120 --> 00:12:34,960 なぜなら、それ以外の場合は、クライアント側でそれを行うことが最善だ 187 00:12:34,960 --> 00:12:38,580 あなたが何かを再描画するたびに、サーバ要求をしなければならない。 188 00:12:38,580 --> 00:12:42,450 そして、それは非常に迅速にあなたに多くのオーバーヘッドを与えます。 189 00:12:42,450 --> 00:12:47,430 船は、静的なHTMLを降らせだけにこれは通常お勧めします 190 00:12:47,430 --> 00:12:50,660 して、クライアント側でレンダリングを行いますJavaScriptとCSS。 191 00:12:50,660 --> 00:12:56,750 とすぐにその原料が入ってくるように、 192 00:12:56,750 --> 00:13:03,500 あなたが持つことができます - JavaScriptで - あなたは壁のデータの要求を行うことができます 193 00:13:03,500 --> 00:13:08,740 そのようなもの、その後サーバーは、基本的にはデータベースクエリを実行している 194 00:13:08,740 --> 00:13:10,740 とアクセス権をチェックする。 195 00:13:10,740 --> 00:13:16,690 唯一重要なことは、それはいくつかの他のユーザーの掲示板に書き込みを送っていないということです 196 00:13:16,690 --> 00:13:19,220 あなたが見ることができていないこと。 197 00:13:19,220 --> 00:13:28,050 それは基本的に、データベースへのアクセスに非常に薄い層とすることができる、 198 00:13:28,050 --> 00:13:32,820 そして、その後のすべてのデータを示す - ビューともののすべて - 199 00:13:32,820 --> 00:13:37,280 あなたがポストか何かを作りたいときにそれらのは、ブラウザで発生し、することができます 200 00:13:37,280 --> 00:13:40,000 あなただけの別の要求を送信します。 201 00:13:40,000 --> 00:13:45,350 >> あなたがこの上に行うことができますいくつかの凝っもあります。 202 00:13:45,350 --> 00:13:49,550 より具体的な技術的な情報に関しては、 203 00:13:49,550 --> 00:13:53,360 平野JavaScriptで開発することは、少し痛みを伴うことができます 204 00:13:53,360 --> 00:13:56,220 ようにあなたに多くを助けるいくつかのライブラリやツールがあります。 205 00:13:56,220 --> 00:14:03,690 私はあなたがすべておそらくHTMLレンダリングを行うことになりこれはjQueryについて聞いたと思う 206 00:14:03,690 --> 00:14:08,890 と操作非常に簡単 - 内とフェードアウトするために派手な機能がたくさんある、 207 00:14:08,890 --> 00:14:12,020 とジッピーアニメーションをやって。 208 00:14:12,020 --> 00:14:13,720 Underscore.jsと呼ばれるこのライブラリもあります。 209 00:14:13,720 --> 00:14:20,760 それは、あなたはJavaScriptを持つことを期待するものを便利なユーティリティ機能をたくさん持っている 210 00:14:20,760 --> 00:14:24,740 それは本当にdoesn'tこと - 配列をシャッフルのようなものを、 211 00:14:24,740 --> 00:14:28,900 リストから重複を削除するか、リストのリストを平坦化する。 212 00:14:28,900 --> 00:14:30,900 これはただの小さなコードサンプルです。 213 00:14:30,900 --> 00:14:36,520 アンダースコアを使用すると、すべての時間を持っていてほしいこれらの素敵な機能のトンを持っています。 214 00:14:36,520 --> 00:14:38,840 >> した後、私は少し時間を過ごすしたい1以上のライブラリがあります 215 00:14:38,840 --> 00:14:44,800 バックボーンは本当にあなたがクライアント側でモデルを扱うことができますのでBackbone.js呼ばれる 216 00:14:44,800 --> 00:14:47,210 で、それを引き起こす可能性があることを多くの混乱。 217 00:14:47,210 --> 00:14:53,550 バックボーンはあなたにモデルやコレクションのこの概念を提供します 218 00:14:53,550 --> 00:14:58,300 JavaScriptで正確にJavaScriptのオブジェクトのように基本的にある 219 00:14:58,300 --> 00:15:04,900 JavaScriptの配列ではなく、彼らはあなたがそれらのプロパティを変更するイベントがあります。 220 00:15:04,900 --> 00:15:09,090 ボタンをクリックしたか何かされるときにだけJavaScriptで同じように、イベントを持つことができます 221 00:15:09,090 --> 00:15:14,800 これらのバックボーンモデルとバックボーンコレクションはのようなものを放送します 222 00:15:14,800 --> 00:15:17,510 その彼らが変更されたとき。 223 00:15:17,510 --> 00:15:22,270 それはあなたがちょうどここに、このコードスニペットのようなものを書くことができることを意味し - 224 00:15:22,270 --> 00:15:27,530 あなたは壁全体を再描画posts配列には何も追加するたびに、これは、述べています。 225 00:15:27,530 --> 00:15:34,270 同類の投稿の数が変更されるたびに、これは、言うだろう 226 00:15:34,270 --> 00:15:38,970 あなたは、誰かが自分のポストが好きユーザに通知。 227 00:15:38,970 --> 00:15:45,210 またはPOSTの任意のプロパティを使用すると、投稿を変更するたびに再描画。 228 00:15:45,210 --> 00:15:51,050 そのようなものが原因そうでなければあなたの複雑さのトンを保存します 229 00:15:51,050 --> 00:15:55,440 あなたはこのようないくつかのフレームワークの変更、コードにしておきの時間を持っていない場合は、 230 00:15:55,440 --> 00:16:04,280 ポストについては何も、あなたはすべてのレンダリング機能を呼び出すために自分を覚えておく必要があるだろう 231 00:16:04,280 --> 00:16:07,680 そのようなもの、そして何が起こったか新しいものを追加したい場合は、 232 00:16:07,680 --> 00:16:10,680 投稿を修正するたびに、あなたの中のすべての場所を通過する必要があるだろう 233 00:16:10,680 --> 00:16:14,610 あなたがポストを変更し、その新しいものを追加したコード。 234 00:16:14,610 --> 00:16:21,450 このようなフレームワークは、それとの間層のコミュニケーションの多くを削除します 235 00:16:21,450 --> 00:16:28,280 つまり、コードが複雑で、維持が困難になります。 236 00:16:28,280 --> 00:16:31,170 >> 景色について少しもあります。 237 00:16:31,170 --> 00:16:35,960 彼らは技術的に非常に難しいことではありませんだから、私はビリーにこれの大部分を残すつもりです。 238 00:16:35,960 --> 00:16:43,540 あなたの意見のためのjQueryを使用してください。これは、事実上、この時点で必要なものだ。 239 00:16:43,540 --> 00:16:46,290 それだけで、すべてがとても簡単になります。 240 00:16:46,290 --> 00:16:48,290 ライブラリがたくさんあり​​ます。 241 00:16:48,290 --> 00:16:49,970 あなたは、ユーザインターフェイス要素を複雑にしている場合、 242 00:16:49,970 --> 00:16:57,250 あなたはオートコンプリートことをしたい場合は、それらの空想マルチセレクターの1のように - 243 00:16:57,250 --> 00:17:04,790 あなたがそのようなことが必要な場合は、おそらく周り検索する 244 00:17:04,790 --> 00:17:08,130 あなたは、あなたがやりたいのはいいのライブラリを見つけることができます。 245 00:17:08,130 --> 00:17:11,579 ビリーは、ビューのは事実上困難パーツの詳細を説明します。 246 00:17:11,579 --> 00:17:17,530 また、注意点として、バックボーンは景色が通信させるためのいくつかの機能を備えています 247 00:17:17,530 --> 00:17:22,800 素敵なモデルと - 実際には、これらのライブラリのすべてのドキュメントを見てください。 248 00:17:22,800 --> 00:17:28,270 ただドキュメントを見てください。彼らは非常によく書かれており、従うことは簡単だ。 249 00:17:28,270 --> 00:17:33,890 問題がある場合、一般的に、あなたはかなりちょうどGoogleにできます。 250 00:17:33,890 --> 00:17:36,370 それらを使用している人々がたくさんあり​​ます。 251 00:17:36,370 --> 00:17:42,020 私はこれが最後になりますようにと思います。 252 00:17:42,020 --> 00:17:48,770 >> あなたが行うことができますいくつかのより高度なものもあります 253 00:17:48,770 --> 00:17:53,400 あなたのWeb​​アプリケーションは、余分な素晴らしい作るために探しているなら。 254 00:17:53,400 --> 00:17:59,760 あなたが行うことができます - 新しいHTML5仕様は、あなたがすることができる派手なものをたくさん持っている。 255 00:17:59,760 --> 00:18:05,780 ローカルストレージ - あなたがブラウザにデータを格納することができている - 256 00:18:05,780 --> 00:18:09,470 むしろ戻ってすべてのもののためにサーバを熟読するよりも、 257 00:18:09,470 --> 00:18:12,470 あなたがクライアント上であっても、人々をすることができますことを、その一部を維持することができます - 258 00:18:12,470 --> 00:18:20,850 いくつかのケースでは、それも、あなたがWebページをオフラインで使用できるようにすることができます。 259 00:18:20,850 --> 00:18:26,980 ネットワーク通信の異なる種類であるWebSocketを呼ばれるこの事があります 260 00:18:26,980 --> 00:18:30,930 どこの代わりに、ちょうどあなたが1要求を行うには、応答を取得し、設定が完了したら、 261 00:18:30,930 --> 00:18:35,240 あなたがサーバーへの接続を開いたままにし、その次のようなことを行うことができます 262 00:18:35,240 --> 00:18:37,240 リアルタイムの更新。 263 00:18:37,240 --> 00:18:42,020 だから、あなたがチャットアプリを作ろうとした場合は、WebSocketをを使用することができます 264 00:18:42,020 --> 00:18:43,790 あなたが要求し続けなければならないように、前後に通信するには、 265 00:18:43,790 --> 00:18:48,410 「ああ、サーバー、誰も私のチャットを送ったのか? " 10秒ごとに、または何か。 266 00:18:48,410 --> 00:18:55,620 あなたはそれのように見えるようにすることができ、興味深いHTML5の機能もあります 267 00:18:55,620 --> 00:18:58,340 ページのURLは、これまで実際にそれをリロードすることなく、変化しています。 268 00:18:58,340 --> 00:19:03,230 あなたは、ネットワーク要求の束を行うことなく戻る]ボタンや[進む]ボタンを使用することができます。 269 00:19:03,230 --> 00:19:14,660 そのようなものは、それが迅速な作りの面で非常に便利ですが、またすべきWebアプリケーションのように動作します。 270 00:19:14,660 --> 00:19:17,680 >> CoffeeScriptはと呼ばれるこの事もあります。 271 00:19:17,680 --> 00:19:24,450 CoffeeScriptは、実際には、それはJavaScriptにダウンしてコンパイルし、異なる言語である。 272 00:19:24,450 --> 00:19:30,080 あなたは、CoffeeScriptの中ですべてのコードを記述し、その後、このコンパイラを実行する、 273 00:19:30,080 --> 00:19:33,300 それはあなたが自分のウェブページに含めることができるJavaScriptファイルを出してくれる。 274 00:19:33,300 --> 00:19:38,860 それはたくさんのを取り除くため、CoffeeScriptのが嬉しい理由は、 275 00:19:38,860 --> 00:19:44,760 イコールに等しいJavaScriptが持つ奇妙な例、 276 00:19:44,760 --> 00:19:51,130 とequalsが異なることを行うなど等しい - 277 00:19:51,130 --> 00:19:55,740 それは、配列や関数を扱うためのよりよい構文があります。 278 00:19:55,740 --> 00:20:00,460 これはすべての正方形のリストが作成さCoffeeScriptはほとんどスニペットです 279 00:20:00,460 --> 00:20:04,900 10 ^ 2から^ 2 1とは逆の順序で。 280 00:20:04,900 --> 00:20:08,410 ご覧のように、CoffeeScriptは、多くの場合、あなたは1行で表現することができます 281 00:20:08,410 --> 00:20:10,890 何のJavaScriptの5行がかかるだろう。 282 00:20:10,890 --> 00:20:13,230 それは、物事がずっと楽にすることができます。 283 00:20:13,230 --> 00:20:15,390 それが最初に学ぶために新しい構文を少しですが、 284 00:20:15,390 --> 00:20:18,010 それは間違いなく、長期的にはあなたがより生産的になります。 285 00:20:18,010 --> 00:20:22,050 >> また、PHPに比べ、サーバー上の他の言語を使用することができます - 286 00:20:22,050 --> 00:20:27,570 ルビー、Pythonのような言語、Node.jsの呼ばれていてもプロジェクトがあります 287 00:20:27,570 --> 00:20:31,450 それは、サーバー上でJavaScriptを使用できるようになる。 288 00:20:31,450 --> 00:20:34,700 個人的に、私は本当に、本当に、PHPを憎む。 289 00:20:34,700 --> 00:20:38,310 私はちょうどそれを扱う享受していない。 290 00:20:38,310 --> 00:20:43,450 あなたも、それは言語のひどいclugeと思えば、 291 00:20:43,450 --> 00:20:46,160 その後、代わりに次のいずれかを使用することができます。 292 00:20:46,160 --> 00:20:54,780 一般的には、あなたが何かをしたいとした場合、あなたは本当にあなたがそれを行うだろうか分からない、 293 00:20:54,780 --> 00:20:56,780 単にインターネットを検索。 294 00:20:56,780 --> 00:20:59,990 特に上のリソースのトン、トンがあります - 295 00:20:59,990 --> 00:21:03,260 StackOverflowのは素晴らしいものです。 296 00:21:03,260 --> 00:21:06,400 これは、プログラマが互いに質問をこのWebサイトの。 297 00:21:06,400 --> 00:21:09,690 あなたはCS50問題セットの問題を抱えていた場合、あなたはそれに遭遇した可能性があります。 298 00:21:09,690 --> 00:21:16,820 そして、あなたが望むほとんど何を行うためのライブラリのトンがあります。 299 00:21:16,820 --> 00:21:21,710 あなたが何かをしたいとした場合、あなたはそれを行う方法がわからない、 300 00:21:21,710 --> 00:21:23,710 それは不可能だと仮定しないでください。 301 00:21:23,710 --> 00:21:26,160 ちょっと見てみると、いくつかの良いリソースを見つけるかもしれない。 302 00:21:26,160 --> 00:21:29,280 >> 一般的のように包み込み、 303 00:21:29,280 --> 00:21:33,650 メイン持ち帰りは物事をシンプルに保つている。 304 00:21:33,650 --> 00:21:36,010 より複雑なコードが先頭にある 305 00:21:36,010 --> 00:21:40,370 そしてより多くのあなたが試してみて、派手なものを行う、 306 00:21:40,370 --> 00:21:43,300 もはやそれは実際には機能的な何かを得るために取る 307 00:21:43,300 --> 00:21:46,480 そして難しく、後で変更することになります。 308 00:21:46,480 --> 00:21:49,580 だから、最初のもののダム、簡単な方法で行う。 309 00:21:49,580 --> 00:21:51,720 それと一緒に行く、 310 00:21:51,720 --> 00:21:59,070 古いコードを捨てるか、多くのことを、それをクリーンアップするのを怖がってはいけない。 311 00:21:59,070 --> 00:22:05,320 一般的に、あなたが実際に何かの作業をした後、 312 00:22:05,320 --> 00:22:09,640 それはあなたが最初の段階ではまだしているときよりも考える方がはるかに簡単だ 313 00:22:09,640 --> 00:22:12,610 のどのように私はすべて一緒にこれを置けばいい。 314 00:22:12,610 --> 00:22:17,500 これは動作します非常識可能な設計を行うことをお勧めします 315 00:22:17,500 --> 00:22:22,270 して、反復的に右初めてすべてを取得しようとするよりも、それを改善する。 316 00:22:22,270 --> 00:22:28,330 クライアント·サーバ事業部の面では、試してみて、非常に単純なサーバーを維持する - 317 00:22:28,330 --> 00:22:33,030 ただデータベースといくつかの認証とは、そこに任意のハードワークをしない。 318 00:22:33,030 --> 00:22:37,540 ブラウザにクライアント側で、あなたの複雑なもののすべての操作を行い 319 00:22:37,540 --> 00:22:40,650 JavaScriptでできるだけ多くすることができますように。 320 00:22:40,650 --> 00:22:43,420 あなたの人生をより良くするライブラリを見て回る。 321 00:22:43,420 --> 00:22:46,850 誰か他の人が書いたコードを使用するのが無難 322 00:22:46,850 --> 00:22:49,850 もしあれば - としないが、それを自分で書き込むことができます。 323 00:22:49,850 --> 00:22:57,560 インターネット上の多くのものがあります。 Googleはあなたの親友である。 324 00:22:57,560 --> 00:22:59,560 Googleは、プログラマの親友です。 325 00:22:59,560 --> 00:23:07,620 うん、確かにものを見て回ることを恐れてはいけない。 326 00:23:07,620 --> 00:23:11,860 わかりました。オーバービリーへ。 327 00:23:11,860 --> 00:23:14,600 >> [ビリー]実際に、私はいくつかのデザインのものを開始する前に、 328 00:23:14,600 --> 00:23:17,250 誰もが、彼は話を何でも約ベンのための質問がありますか? 329 00:23:17,250 --> 00:23:20,290 さて、良い。 330 00:23:20,290 --> 00:23:22,220 繰り返しますが、何もはっきりしていない場合はお知らせ 331 00:23:22,220 --> 00:23:25,420 よろしければ、または私たちは、もう少し何かを行​​く。 332 00:23:25,420 --> 00:23:30,330 私は少し戻って、設計のより基本的な部分について話をするつもりです。 333 00:23:30,330 --> 00:23:34,840 申し訳ありませんが、モデル·コントローラ·ビューシステム - ベンというモデルに言及 334 00:23:34,840 --> 00:23:38,520 その技術的な側面のようなものなので、私は、特に景色を見に行くんだ、 335 00:23:38,520 --> 00:23:42,930 と私はあなたが素敵に見えるビューをデザインしたいどのように開始するつもりです。 336 00:23:42,930 --> 00:23:50,540 ここに私たちの猫のFacebookのために実際に基本テンプレートのようなものです。 337 00:23:50,540 --> 00:23:54,190 私は現代的なUIデザインにいくつかの基礎があると思います 338 00:23:54,190 --> 00:23:56,190 拾う価値があること。 339 00:23:56,190 --> 00:23:58,210 あなたはすべてのページの上の空白がたくさんあり​​ます気づくことができる、 340 00:23:58,210 --> 00:24:00,790 物事の余地。 341 00:24:00,790 --> 00:24:02,580 あなたがページに物事をつぶすために持っているように感じることはありません。 342 00:24:02,580 --> 00:24:06,700 開いている部屋の多くを残しておきたい、あなたは、ほぼすべての近代的なWebサイトにアクセスした場合 343 00:24:06,700 --> 00:24:08,380 あなたはどこにでも白ありますがわかります。 344 00:24:08,380 --> 00:24:10,380 あなたが期待していない場所で、白があります。 345 00:24:10,380 --> 00:24:14,570 このカラーパレットを有し、それは冒頭に賢明だ 346 00:24:14,570 --> 00:24:17,880 あなたと仕事し、開発しようとしているカラーパレットを選択します。 347 00:24:17,880 --> 00:24:22,250 また、 - それは書体を選択するのに役立ちますし、そうすればあなたは、ソートの作業している 348 00:24:22,250 --> 00:24:24,450 設計のこれらの具体的な基礎。 349 00:24:24,450 --> 00:24:26,910 あなたは、あなたの色を持って、あなたのタイプを持っているし、その後、種類の缶 350 00:24:26,910 --> 00:24:29,380 必要に応じて中の他のすべてに合う。 351 00:24:29,380 --> 00:24:37,710 だから、私が言ったように、あなたのカラースキームを使用すると、お使いの配色の大胆な色を使用したい 352 00:24:37,710 --> 00:24:40,320 控えめに。ヘッダがいいです。ボタンは本当に大きな、派手な色があると便利です。 353 00:24:40,320 --> 00:24:43,710 しかし、一般的に、あなたはどこの色を持っているウェブサイトを持っている場合、 354 00:24:43,710 --> 00:24:47,250 すべての顔であなたを見つめて、それだけで雑然と見え、それはいいません。 355 00:24:47,250 --> 00:24:50,430 あなたは一般的に明るい色を使用したい。 356 00:24:50,430 --> 00:24:52,890 再び、かなり一貫した配色を選んでみてください。 357 00:24:52,890 --> 00:24:56,640 あなたは色がたくさんのこれらの小さな飛沫を持つことができます - 358 00:24:56,640 --> 00:25:00,240 これはかなり見栄えすることができますが、かなり控えめにそれらを使用したいと思います。 359 00:25:00,240 --> 00:25:04,270 >> 私が言ったように、あなたは最小限にしたい。以下がほとんど常にではありません。 360 00:25:04,270 --> 00:25:07,430 あなたが何かを表示したり、何かを表示できない場合は、 361 00:25:07,430 --> 00:25:10,230 あなたはそれがデフォルトであるべきかどうか種類がわからない - 362 00:25:10,230 --> 00:25:13,400 おそらくあなたはそれを残してオフに最高のだ。あなたはいつも後から追加することができます。 363 00:25:13,400 --> 00:25:16,620 うん、物事をシンプルに保つ。 364 00:25:16,620 --> 00:25:19,510 しかし、最も重要なのは、複数の設計を検討したいと思います。 365 00:25:19,510 --> 00:25:23,520 サイトを作るとき、あなたはあなたがしようとしているあなたの頭の中でそれを持っていることを考えてはいけない 366 00:25:23,520 --> 00:25:26,310 特定の方法でサイトを作り、それがまさにこのように見えるようになるだろう。 367 00:25:26,310 --> 00:25:29,830 それは、一番上の青いヘッダーと青サイドバーを持っているために起こっている 368 00:25:29,830 --> 00:25:32,670 した後、黄色のサブヘッダーの事。 369 00:25:32,670 --> 00:25:34,670 あなたは、複数のテンプレートを作りたい。 370 00:25:34,670 --> 00:25:37,350 あなたはどちらができます - あなたはフォトショップとの良好なら、あなたはそれを開き、並べ替えができます 371 00:25:37,350 --> 00:25:39,600 あなたはそれが見て好きなようにウェブサイトを設計します。 372 00:25:39,600 --> 00:25:41,680 そうでない場合は、あなただけのペンと紙を使用することができ、 373 00:25:41,680 --> 00:25:44,000 しかし、複数のデザインを傷つける。 374 00:25:44,000 --> 00:25:47,000 あなたは、基本的には異なるデザインがたくさんある場所に設定したい 375 00:25:47,000 --> 00:25:50,810 1が動作してしまう場合には、それは素晴らしいことだ。 376 00:25:50,810 --> 00:25:53,370 1が失敗してしまう場合は、常にオンに別のものを持っている。 377 00:25:53,370 --> 00:25:57,960 あなたが制約されるべきであるように、一般的に、感じることはありません 378 00:25:57,960 --> 00:26:00,830 どのようなデザインにするには、最初に決定します。 379 00:26:00,830 --> 00:26:04,420 デザインは、非常に可変され、モデルの重要性の一部 380 00:26:04,420 --> 00:26:09,480 コントローラ·ビューシステムでは、内と外、必要なさまざまなビューを入れ替えることができるということです。 381 00:26:09,480 --> 00:26:13,510 あなたはデータを一方向に揺れてから、そのうまく機能しないこと、実際には、ああ、決めることができます。 382 00:26:13,510 --> 00:26:19,190 、私はそれはちょっと複雑すぎると思うか、本当に仕事ではない、ここの部分があります 383 00:26:19,190 --> 00:26:22,150 ので、私は完全に、完全に新しいもので、このビューとスワップを放棄するつもりです。 384 00:26:22,150 --> 00:26:24,790 我々はまだ旧機種と古いコントローラを使用することができます。 385 00:26:24,790 --> 00:26:27,490 我々は我々の前に同じように、サーバーとクライアント上ですべてを行うことができます。 386 00:26:27,490 --> 00:26:32,850 しかし、表示されるデータの実際の波がわずかに異なることになるだろう。 387 00:26:32,850 --> 00:26:35,840 >> 限り、実際に必要な設計を実装、 388 00:26:35,840 --> 00:26:39,330 あなたは、いくつかのデザインが紙の上に、またはフォトショップまたは何にスケッチした後、 389 00:26:39,330 --> 00:26:42,120 あなたに利用できるようにするツールがいくつかあります。 390 00:26:42,120 --> 00:26:45,700 まず、あなたのHTML、PHP、または何であると非常に精通している 391 00:26:45,700 --> 00:26:48,990 あなたは自分のウェブサイト上の静的なページをコーディングに使用している言語。 392 00:26:48,990 --> 00:26:51,990 あなたは親切のあなたに、これらのタグを与えHTMLでたくさん働いてきた 393 00:26:51,990 --> 00:26:57,820 あなたはに物を置くことができ、基本的にそれはあなたのコンテンツを整理する方法ですこと。 394 00:26:57,820 --> 00:27:00,990 たとえば、あなたがそこまでのヘッダを持っているので、ヘッダータグを持っているつもりです 395 00:27:00,990 --> 00:27:05,770 そしてそれはおそらく別のタグであることを行っていることの内部にいくつかのテキストを持っているつもりだ。 396 00:27:05,770 --> 00:27:08,380 その後、いくつかの異なるリンクで多分サイドバーがあり、 397 00:27:08,380 --> 00:27:10,160 それらは、すべて別々のタグであることを行っている。 398 00:27:10,160 --> 00:27:13,870 したがって、基本的にその中心にあるHTMLはどのようにページを分割する方法です 399 00:27:13,870 --> 00:27:16,980 あなたが最終的にそれをフォーマットしたいと思います。 400 00:27:16,980 --> 00:27:18,980 だからもう一度、あなたはその前に見てきました。 401 00:27:18,980 --> 00:27:20,540 あなたは今、それを操作すると、かなり満足している 402 00:27:20,540 --> 00:27:23,120 あなたがうまくいけば、最後のPSETをやったことを考えると、 403 00:27:23,120 --> 00:27:26,150 だから、問題はないはず。 404 00:27:26,150 --> 00:27:31,280 >> 次に、基本的な設計の静的な側面をすべて処理し、CSSを持っている。 405 00:27:31,280 --> 00:27:35,320 それは、異なる要素の配置をすべての色のすべてを扱うだろう、 406 00:27:35,320 --> 00:27:36,840 彼らは互いに対してどこに行くか、 407 00:27:36,840 --> 00:27:41,530 どのように大きな彼らは、あなたが持っているのポジショニングの異なる種類である - 408 00:27:41,530 --> 00:27:46,030 あなたが下にスクロールしたときに、彼らが滞在するように、言い換えれば、あなたは、物事を固定することができ、 409 00:27:46,030 --> 00:27:48,700 またはあなたが他の要素に比べて物事を持つことができます。 410 00:27:48,700 --> 00:27:50,730 もののその種のすべてがCSSである。 411 00:27:50,730 --> 00:27:54,630 さらに、別の装飾を行うことができ、テキストの色を持つことができ、 412 00:27:54,630 --> 00:27:56,630 テキスト効果、スタッフのようなものがすべて表示されます。 413 00:27:56,630 --> 00:28:00,360 ベンはこの最後の週末に本当に良いのセミナーを与え、 414 00:28:00,360 --> 00:28:04,450 あなたはCSSで一部の派手なことをやってもすることを計画している場合ので、私は間違いなくそれをチェックアウトするだろう。 415 00:28:04,450 --> 00:28:09,850 CSS3は、実際には、CSSの最新バージョンであり、それは本当にいいもののすべての種類を行うことができます。 416 00:28:09,850 --> 00:28:14,750 これは、勾配を行うことができます。あなたが素敵な、丸みを帯びた角を持つことができます。あなたはもののすべての種類を行うことができます 417 00:28:14,750 --> 00:28:17,940 あなたのウェブサイトを作るために、より現代的で空想に見える。 418 00:28:17,940 --> 00:28:22,150 >> 次のツールは、ベンがについて少し話しJavaScriptとjQueryのですが、 419 00:28:22,150 --> 00:28:24,150 しかし、私は少し遠くに得られます。 420 00:28:24,150 --> 00:28:28,100 JavaScriptを、あなたが講義でそれをそれで少し働いていたか、少なくとも見てきたように、 421 00:28:28,100 --> 00:28:31,870 動的にHTMLでものを行う方法の一種である。 422 00:28:31,870 --> 00:28:35,950 あなたは、HTMLを作成したら、あなたがそれを変更することはできませんので、HTMLは、ご存知のように、静的です。 423 00:28:35,950 --> 00:28:40,050 しかしJavaScriptは、いくつかの点で、HTMLを変更できるようにする方法です。 424 00:28:40,050 --> 00:28:44,520 だから、それを行うことができますし、それは素晴らしいことですが、JavaScriptが実際に動作するように痛みです。 425 00:28:44,520 --> 00:28:49,050 それも、最も単純なことをするので、長くて鈍角だし 426 00:28:49,050 --> 00:28:51,630 JavaScriptの行の多くを必要とします。 427 00:28:51,630 --> 00:28:55,410 だから、jQueryは基本的にすべてのことが簡単になりJavaScriptのためのライブラリです。 428 00:28:55,410 --> 00:28:59,880 あなたが左から来た正方形のボックスを持つようにしたい場合は、大丈夫、と言う 429 00:28:59,880 --> 00:29:03,980 それがかかるだろうJavaScriptで、真ん中にいれるようにして、ページにフェードイン - 430 00:29:03,980 --> 00:29:06,340 私は何を、百行を知らない、それは苦痛であるように、 431 00:29:06,340 --> 00:29:10,540 あなたはそれがWebプログラミングについてのすべてを嫌うから出てくる。 432 00:29:10,540 --> 00:29:15,380 jQueryはあなたが基本的要素ドットフェードイン、またはそのような何かを持っている。 433 00:29:15,380 --> 00:29:18,580 あなたはクールなアニメーションのすべての種類を行うようになるので、非常に、非常に単純な関数 434 00:29:18,580 --> 00:29:20,580 そしてそういったこと。 435 00:29:20,580 --> 00:29:23,300 これらの2のために本当に良いです他の事はただの動的なことをやっている 436 00:29:23,300 --> 00:29:25,300 ウェブサイトで。 437 00:29:25,300 --> 00:29:28,370 だから、というだけで、HTMLページ持っているより - いくつかのデータが表示されますが、実際にはしません 438 00:29:28,370 --> 00:29:32,130 何でもする - JavaScriptとjQueryは、あなたがクリックできるボタンができるようになる、 439 00:29:32,130 --> 00:29:37,960 あなたは要素や再オーダーをドラッグし、それらを並べ替えて、新しい要素を持つことができます 440 00:29:37,960 --> 00:29:40,500 追加または削除。あなたは、アドオンが削除することができ、そういったことを。 441 00:29:40,500 --> 00:29:44,570 だから、jQueryはクールなもののトンを行います。 442 00:29:44,570 --> 00:29:48,840 とVipulは、実際には5〜時に、私は信じて、今日のセミナーを与えている、 443 00:29:48,840 --> 00:29:51,220 あなたがその長い間に固執することができますので、もし、それがでしょう - 5または4? 444 00:29:51,220 --> 00:29:54,930 四つ。申し訳ありません。まさに、この後に実際になので、私が推薦する 445 00:29:54,930 --> 00:29:56,680 できればそれのために周りに付着。 446 00:29:56,680 --> 00:30:00,180 jQueryは、スーパー、超便利であり、あなたはそれで本当にいいものの多くを行うことができるでしょう 447 00:30:00,180 --> 00:30:03,460 ほとんどすべてのWeb開発プロジェクトのため。 448 00:30:03,460 --> 00:30:06,200 >> 今、私は区別の一種に入るつもりです。 449 00:30:06,200 --> 00:30:08,210 私は、ユーザーインターフェイスに関する基本的話をしてきた。 450 00:30:08,210 --> 00:30:11,510 ユーザーインターフェイスは、サイトのデザインだけです。 451 00:30:11,510 --> 00:30:13,780 しかし、ユーザーエクスペリエンスである別のコンセプトのようなものがあります。 452 00:30:13,780 --> 00:30:15,900 2は非常に異なっています。 453 00:30:15,900 --> 00:30:19,440 インターフェイスは間違いなく経験の一部です。 454 00:30:19,440 --> 00:30:21,340 あなたがサイトにアクセスしたとき、言い換えれば、あなたは、インターフェイスを見てください。 455 00:30:21,340 --> 00:30:22,960 それはあなたがサイトを体験する方法の一部です。 456 00:30:22,960 --> 00:30:24,960 しかし、ユーザーエクスペリエンスはそれ以上です。 457 00:30:24,960 --> 00:30:29,910 ユーザーエクスペリエンスは、ユーザーがあなたのサイトから取得する印象が何であるかについてです。 458 00:30:29,910 --> 00:30:31,910 だから、明らかに、インターフェイスはその一環である。 459 00:30:31,910 --> 00:30:35,340 そして、それは間違いなく必要な部分だが、それは十分ではありません。 460 00:30:35,340 --> 00:30:38,790 言い換えれば、あなたは素敵なインターフェイスを持っている場合、それはかなりカラフルな、それがすべてです、 461 00:30:38,790 --> 00:30:43,650 それは素晴らしいことです、しかし、ユーザーがあなたのサイトになった場合、かなりのレイアウトを見て、それがで混乱だ 462 00:30:43,650 --> 00:30:47,060 すべては、何を行う方法は考えを持っていないし、明らかにあなたが本当に作りました 463 00:30:47,060 --> 00:30:48,930 貧しいウェブサイト。 464 00:30:48,930 --> 00:30:50,930 つまり、ユーザーエクスペリエンスの出番のようなものだ 465 00:30:50,930 --> 00:30:54,570 私はUXデザインについて少し話をするつもりだ - UXは、ユーザーエクスペリエンスの略です - 466 00:30:54,570 --> 00:30:58,050 そして、あなたが優れたユーザーエクスペリエンスを持っていることを確認する方法の一種。 467 00:30:58,050 --> 00:31:04,330 最初のポイントは、ユーザーがその何でもできるウェブサイトを設計することができるということです 468 00:31:04,330 --> 00:31:06,820 そのユーザーはおそらく望んでいる。 469 00:31:06,820 --> 00:31:08,940 しかし、ユーザーはそれらのことを行う方法を見つけ出すことができない場合 - 470 00:31:08,940 --> 00:31:12,850 言い換えれば、彼らはあなたのサイトにアクセスしたときにユーザーが良いアイデアを持っていない場合、 471 00:31:12,850 --> 00:31:17,660 私は自分のプロファイルを更新する場合は "ああ、私は私が投稿したい場合は、このボタンをクリックするか、 472 00:31:17,660 --> 00:31:20,850 誰かの壁は、私は彼らの壁に行くと小さな箱をクリックしてください。 " 473 00:31:20,850 --> 00:31:24,410 ユーザーがそれを知らない場合は、効果的ではない、実際に持っている 474 00:31:24,410 --> 00:31:27,080 正しくその機能を実装しました。 475 00:31:27,080 --> 00:31:30,900 機能を実装するの一部は、ユーザーが実際にそれを使用することができるということである。 476 00:31:30,900 --> 00:31:34,810 そして、それはイライラするかもしれません - あなたはサイトを作る可能性があり、それは、すべての種類を行うことができます 477 00:31:34,810 --> 00:31:37,810 素晴らしいものが、その後、あなたは、人々はそれをテストして、それがこれを行うことはできません "、と言うでしょう。 478 00:31:37,810 --> 00:31:39,770 それはなぜ?これを行うことはできません」と、あなたはそれらに戻って言うよ、 479 00:31:39,770 --> 00:31:44,420 「まあ、それは。あなただけのこのあいまいな上第七ドロップダウン·メニューに入ることができます 480 00:31:44,420 --> 00:31:48,470 唯一の右下の隅」か何かにあるリンクによって発見されたページ。 481 00:31:48,470 --> 00:31:50,430 明らかに、あなたはそれを望んでいない。 482 00:31:50,430 --> 00:31:53,420 あなたは、それは彼らが行うことになっているものをユーザーに明確にしたい 483 00:31:53,420 --> 00:31:56,240 そしてそれは簡単で、そのための直感的でなければなりません。 484 00:31:56,240 --> 00:32:01,180 >> あなたがしてみたいもう一つは、誰かがあなたのサイトに行くつもりなら、である 485 00:32:01,180 --> 00:32:05,520 そして10回のうち9は、アクションA、および10回行い、アクションBのうち1を行い、 486 00:32:05,520 --> 00:32:08,950 おそらく、アクションAの経験を集中したい 487 00:32:08,950 --> 00:32:12,240 言い換えれば、あなたはそれが非常に、非常に明確な方法Aを行うにしたい 488 00:32:12,240 --> 00:32:15,980 フロントとセンターでなければならない - それを見る、サイトにアクセスして、ああ、それはすぐそこです。 489 00:32:15,980 --> 00:32:20,850 Bは明らかにあなたは明確にしたいが、あなたは少しにしておくことができ、一方、 490 00:32:20,850 --> 00:32:22,850 バックグラウンドで。 491 00:32:22,850 --> 00:32:24,640 ダビデは、講義でこの良い例を示しています 492 00:32:24,640 --> 00:32:26,640 これボストンT系である。 493 00:32:26,640 --> 00:32:29,440 あなたはボストンTに移動し、チケットを購入したい場合には、 494 00:32:29,440 --> 00:32:32,700 あなたが実際にチケットを購入することができます前に、5メニューに取得する必要があります 495 00:32:32,700 --> 00:32:37,130 それは地下鉄に乗るのにかかるどのくらいで2ドル、2.50ドルの値の 496 00:32:37,130 --> 00:32:39,130 1方向で。 497 00:32:39,130 --> 00:32:41,600 それが問題だから地下鉄に乗っているほとんどの人々 498 00:32:41,600 --> 00:32:44,880 おそらく、一つの場所に行って自分のチケットを購入し、すぐに取得したい。 499 00:32:44,880 --> 00:32:47,550 それは彼らが異なるメニューの多くを通過する必要があることは意味がありません 500 00:32:47,550 --> 00:32:49,550 そこに着く。 501 00:32:49,550 --> 00:32:51,760 優れたユーザーエクスペリエンスは、最初のページにQUICKボタンになります 502 00:32:51,760 --> 00:32:54,760 それはちょうど '、片道切符を買って」と言うと、それは標準のすべてを入れだろう 503 00:32:54,760 --> 00:32:58,550 デフォルト値は、、その後、誰かがそれとは異なるチケットを購入したい場合は、 504 00:32:58,550 --> 00:33:01,690 彼らはまだ、もちろん、のオプションがありますが、あなたがのために最適化しました 505 00:33:01,690 --> 00:33:04,080 本当に重要な共通ユースケース。 506 00:33:04,080 --> 00:33:06,830 あなたは正しい、Facebookの例を見ることができますか? 507 00:33:06,830 --> 00:33:09,410 あなたは、Facebookに移動し、ステータスを投稿したい場合は、 508 00:33:09,410 --> 00:33:11,710 それはあなたが多くの場合、何をしたいです一番上だね。 509 00:33:11,710 --> 00:33:14,730 とすぐにページに入るように、その最も一般的なことを行うことができます 510 00:33:14,730 --> 00:33:16,730 あなたがやってみたい。 511 00:33:16,730 --> 00:33:17,550 あなたのようなもう少し複雑なことをしたい場合は、 512 00:33:17,550 --> 00:33:21,070 私は私の友人の壁に移動して、その上に絵を投稿したいと言う - 513 00:33:21,070 --> 00:33:24,810 これ、私はできるだけ頻繁にステータスの更新を掲示するなど、多くの場合、何をしたいではなく、よ - 514 00:33:24,810 --> 00:33:28,200 そのような場合に、私は自分のプロファイルをクリックし、上部のボックスに自分の名前を入力し、 515 00:33:28,200 --> 00:33:31,680 私は自分のプロファイルに得たら、次に、それでも、そこに一番上だね。 516 00:33:31,680 --> 00:33:38,240 繰り返しますが、私は、最も一般的な利用例のために優先して最適化されてきました。 517 00:33:38,240 --> 00:33:41,800 >> もう一つ重要なことは、多くの場合、人々は一種のこれを回避しようとするということです 518 00:33:41,800 --> 00:33:44,890 と言って、わかりましたので、私がサイトを作った人々は、それが混乱見つけている 519 00:33:44,890 --> 00:33:46,110 それは右、問題なの? 520 00:33:46,110 --> 00:33:49,210 明らかに、私は人々が私のサイトの内容に惑わされたくない。 521 00:33:49,210 --> 00:33:53,210 しかし、それを解決する方法は、何か言ってポップアップしていることではない 522 00:33:53,210 --> 00:33:55,290 ねえ、私はどのようにこのサイトを利用する方法を教えるつもりです。 523 00:33:55,290 --> 00:33:58,130 ステップ1 - このボタンをクリックします。ステップ2 - ここに行く。 524 00:33:58,130 --> 00:34:03,080 確かに、それはそれを回避する方法 - それはあなたが何をすべきかの人々に伝えることができる方法だが、それはだ 525 00:34:03,080 --> 00:34:05,080 本当にしない最適な方法。 526 00:34:05,080 --> 00:34:07,420 私は、ウェブサイトにアクセスして、突然、私は私に言っているのは、このチュートリアルが殺到していた場合 527 00:34:07,420 --> 00:34:11,739 何をすべきか、どこに行くと、そのすべてに、それは私のための楽しいではありません。 528 00:34:11,739 --> 00:34:13,739 それは私にとって良い経験ではありません。 529 00:34:13,739 --> 00:34:17,130 それは、痛みのようなものだ。私はものをやって起動します。 530 00:34:17,130 --> 00:34:19,449 人々は、彼らのダイアログボックスの外に閉じるようにしようとしている 531 00:34:19,449 --> 00:34:23,580 またはチュートリアルから抜け出す、何をすべきかを知って、その後、文句はないので、 532 00:34:23,580 --> 00:34:25,580 あなたは何をすべきか、それらを告げていない。 533 00:34:25,580 --> 00:34:29,530 これを解決する方法は、チュートリアルまたは方向のいずれかの種類を与えることはない - 534 00:34:29,530 --> 00:34:31,530 そのようなこと。 535 00:34:31,530 --> 00:34:33,719 同じくらいあなたはそれを避けることができるように、あなたが本当に何をすべきかをユーザーに表示したい 536 00:34:33,719 --> 00:34:36,429 ただウェブサイトのレイアウト方法の性質によって。 537 00:34:36,429 --> 00:34:39,090 言い換えれば、私はログインせずにFacebookに行けば、 538 00:34:39,090 --> 00:34:40,920 私はメインページで見る最初の事 - 539 00:34:40,920 --> 00:34:44,480 それは少しログインボックスです。だから、当たり前。私はそれがすぐそこです、ログインする必要があります。 540 00:34:44,480 --> 00:34:48,030 一方で、私はFacebookに行き、私は、下部にある小さなリンクをクリックする必要がありました場合は、 541 00:34:48,030 --> 00:34:51,920 「ログインする」と述べて、ページの残りの部分は、画像か何かのほんの一部のようなものだったこと、 542 00:34:51,920 --> 00:34:54,820 私は本当に正しい、何をすべきかわからないでしょう?私は混乱するでしょう。 543 00:34:54,820 --> 00:34:58,590 だから、それは、ダウンしてそこに行くとしてログインボタンをクリックして私に言うことができる 544 00:34:58,590 --> 00:35:01,080 またはボタン内のログは、私はそれを見に行くよ上部に右である可能性があります。 545 00:35:01,080 --> 00:35:04,780 あなたはいつも何をすべきかをユーザに表示されるようにしたい、 546 00:35:04,780 --> 00:35:06,750 それはページ自体に内在する必要があります。 547 00:35:06,750 --> 00:35:09,880 >> あなたのデザインを考えると、さまざまな方法をからかっているとき 548 00:35:09,880 --> 00:35:13,810 あなたのサイトを表現する、あなたが本当にユーザーがしようとしているかについて考えてほしい 549 00:35:13,810 --> 00:35:19,380 あなたが何をすべきか、それらを表示する方法をやっても。 550 00:35:19,380 --> 00:35:23,530 最後に一つは、テストが本当に、本当に重要です。 551 00:35:23,530 --> 00:35:27,400 友人を得る、あなたも知らない誰かを取得する - それが誰かを得るために素晴らしいです - 552 00:35:27,400 --> 00:35:30,420 サイトを使用する前に、サイトを見たことがないだ人。 553 00:35:30,420 --> 00:35:33,650 何時間も現場で働いてきたので、それを見つめてきた、 554 00:35:33,650 --> 00:35:36,670 あなたは明らかにあなたがテストすることになるだろう、まさにそうしないと知っている 555 00:35:36,670 --> 00:35:39,520 あなたが、あなたが仕事を知っていることを取り組んできたもの。 556 00:35:39,520 --> 00:35:42,680 しかし、他の誰かが一緒に来て、それを前に使用したことがないサイトを使用している場合、 557 00:35:42,680 --> 00:35:46,880 あなたは事前の知識を持たない人がいるので、それはユニークな経験だ 558 00:35:46,880 --> 00:35:51,530 サイトのITに入るので、効果的に何をすべきかは考えているとしている 559 00:35:51,530 --> 00:35:54,890 またはユースケースはどのような彼らのために存在している。 560 00:35:54,890 --> 00:36:00,930 それは素晴らしいことです。彼らは基本的に心のためのブランクのある方だからそれはユニークだ。 561 00:36:00,930 --> 00:36:03,750 何かが混乱したり不明確である場合、彼らはあなたを伝えることができます。 562 00:36:03,750 --> 00:36:07,580 彼らはあなたのサイトのユーザーエクスペリエンスが正確かのアイデアを与えることができます。 563 00:36:07,580 --> 00:36:10,630 それは私はあなたを奨励するので、間違いなく、あることを自分で言うのは非常に難しいことができます 564 00:36:10,630 --> 00:36:13,640 あなたのプロジェクトを開発しているように - あなたは、Webベースのプロジェクトをやっている場合 - 565 00:36:13,640 --> 00:36:18,290 早ければあなたは、機能のデモのいくつかの種類を持っているように、サイトを使用している人々を取得します。 566 00:36:18,290 --> 00:36:25,330 >> 今、私は、Web開発プロジェクトを管理する方法について少し話をするつもりです。 567 00:36:25,330 --> 00:36:28,900 私たちは、あなたが技術的なバックエンド側を行うことができますどのようにかけて行ってきた 568 00:36:28,900 --> 00:36:31,050 どのようにあなたは本当に良いサイトを設計することができ、 569 00:36:31,050 --> 00:36:34,150 それは自分で作業している場合は素晴らしいことだけど - 570 00:36:34,150 --> 00:36:37,300 自分で作業している場合でも、あなたがチームで作業している場合は特に、 571 00:36:37,300 --> 00:36:39,580 プロジェクト管理が大きな問題となる。 572 00:36:39,580 --> 00:36:42,340 あなたは、ソートのため、様々な形態で、プロジェクトマネジメントについて聞いた 573 00:36:42,340 --> 00:36:45,410 小学校あなたはグループワークを言われたとき。 574 00:36:45,410 --> 00:36:46,820 あなたはすべてのこと、通信、協力しなければならない。 575 00:36:46,820 --> 00:36:49,620 つまり、すべてまだここに適用されますが、といくつかのユニークな状況がある 576 00:36:49,620 --> 00:36:54,910 あなたが知っておくようにしたい、とあなたがうまく扱うを確認するには、コンピュータサイエンス。 577 00:36:54,910 --> 00:36:58,050 私はあなたがインチだろうチームについて最初に少しお話します 578 00:36:58,050 --> 00:37:03,280 それが上の動作しているように、チームの正しいサイズを選ぶことが非常に重要です、 579 00:37:03,280 --> 00:37:05,890 そして、最終的なプロジェクトで、私はあなたが選択するオプションを持っていると思う 580 00:37:05,890 --> 00:37:08,610 1〜4人、私が正しいいたら。 581 00:37:08,610 --> 00:37:12,050 あなたはあなただけの人々の数を選択していないことを確認するには 582 00:37:12,050 --> 00:37:14,950 あなたは彼らがあなたの友人だからと仕事をしたいという。 583 00:37:14,950 --> 00:37:18,170 あなたは良いサイズだとそれは仕事を得るでしょうチームを選びたい。 584 00:37:18,170 --> 00:37:22,700 あまりの人々に対してより多くの人々を持つの貿易オフがあります。 585 00:37:22,700 --> 00:37:25,320 あなたがより多くの人々を持っている場合は、明らかに多くの作業を行うことができます 586 00:37:25,320 --> 00:37:28,450 あなたは多くの人々、多くのコード、アイデアの多くを、持っているので、 587 00:37:28,450 --> 00:37:29,870 それは、すべての素晴らしいことだ。 588 00:37:29,870 --> 00:37:32,590 しかし、それはまた、より多くの管理や、より多くの通信を必要とします。 589 00:37:32,590 --> 00:37:34,720 言い換えれば、同じプロジェクトに取り組んで4人を持っている場合 590 00:37:34,720 --> 00:37:39,200 それらはすべて、多かれ少なかれ彼らが必要とするすべての種類を知ることは、同じコードを編集している 591 00:37:39,200 --> 00:37:40,920 それはあなたが必要なので、何が起こっているの - 592 00:37:40,920 --> 00:37:44,580 あなたには、いくつかの新しい機能を追加した場合には、種類の人々に伝えるために持っている - 私は申し訳これを追加し、 593 00:37:44,580 --> 00:37:48,510 あなたが本当に深いものに入る場合は特に - 私はこの方法でこれを変更するよ 594 00:37:48,510 --> 00:37:52,730 実際にサイトがどのように機能するかに影響しようとしているモデルやコントローラなどである。 595 00:37:52,730 --> 00:37:54,500 チーム全体がそれを認識している必要があり、 596 00:37:54,500 --> 00:37:58,140 だから、あなたが一生懸命になるだろう大きすぎるチームを選択していないようにする必要があり 597 00:37:58,140 --> 00:37:59,970 その通信を確認します。 598 00:37:59,970 --> 00:38:02,930 また、あなたはするつもりはない、十分に小さいチームを選択する必要はありません 599 00:38:02,930 --> 00:38:06,250 それはちょうどあなただから通信できるように。 600 00:38:06,250 --> 00:38:11,270 >> 考慮すべきもう一つは、人々のスキルがどこにあるのバランスです。 601 00:38:11,270 --> 00:38:14,350 あなたはすべて本当に良いのプログラマーなら、それは素晴らしいことだ。 602 00:38:14,350 --> 00:38:17,050 あなたはすべてのバックエンドの人々をしている場合しかし、その後、あなたのサイトは非常に良い見に行くされていません 603 00:38:17,050 --> 00:38:20,860 あなたは、この偉大なデータベースを持っており、超高速の検索クエリを実行しているため - 604 00:38:20,860 --> 00:38:26,130 その素晴らしいです - しかし、あなたがそれに行くときには、赤と青との1990年のサイトのようなものだ 605 00:38:26,130 --> 00:38:30,370 どこでも、それはどちらか良いです。 606 00:38:30,370 --> 00:38:34,210 私は、ソートの詳細だから、ベンと私は、チームとして働いては非常にいいであることに注意してください 607 00:38:34,210 --> 00:38:38,030 フロントエンドでは、我々は両方のミドルエンドで相互作用し、ベンは、バックエンドのもので本当に良いことだ 608 00:38:38,030 --> 00:38:43,550 我々は、任意のサイトを設計し、基本的に穴ができるので、だから、本当によく働く 609 00:38:43,550 --> 00:38:47,580 充填する必要があるサイトで私たちのいずれか一方、又は恐らく両方によって充填することができる。 610 00:38:47,580 --> 00:38:50,210 あなたは、あなたのチームに穴がないことを確認する。 611 00:38:50,210 --> 00:38:51,180 重複のビットがあります場合は大丈夫です。 612 00:38:51,180 --> 00:38:53,670 つまり、両方のバックエンドとの良好である2人を持っている場合、 613 00:38:53,670 --> 00:38:57,250 彼らは問題にお互いを助けることができるので、それも同様に良いことができます 614 00:38:57,250 --> 00:38:58,820 それらが有するされる。 615 00:38:58,820 --> 00:39:02,590 あなただけのあるものの責任だ1人を持っている場合、それは問題になる可能性があります 616 00:39:02,590 --> 00:39:06,650 彼らは問題に遭遇したので、あなたは、オーバーラップを少し持っているか 617 00:39:06,650 --> 00:39:10,760 しかし、あなたは最も重要なことの可能な穴のすべてが満たされていることを確認する。 618 00:39:10,760 --> 00:39:17,550 >> 最後の事は - これは明らかなはずであるが、それは多くの場合ではありません。 619 00:39:17,550 --> 00:39:19,550 あなたは本当に楽しんでしたい。 620 00:39:19,550 --> 00:39:23,360 CS50は、この最終的なプロジェクトのポイントや一般的なWeb開発の多くの場合、ポイント 621 00:39:23,360 --> 00:39:26,360 それはやって必要があるため、単に仕事をするではありません。 622 00:39:26,360 --> 00:39:29,140 あなたは本当に楽しんでしたい、あなたが何かを作ることにしたい 623 00:39:29,140 --> 00:39:31,180 それはそれで動作するようにあなたをやる気だ。 624 00:39:31,180 --> 00:39:33,650 あなたが作っているどのようなことは座って、上で動作するように痛みであれば、 625 00:39:33,650 --> 00:39:35,650 あなたは正しいプロジェクトを選択していない。 626 00:39:35,650 --> 00:39:37,730 あなたは、あなたが面白いと思うものを選びたい 627 00:39:37,730 --> 00:39:41,150 あなたは本当にあなたについて新しいアイデアを得るときに興奮して、結果を見てみたい 628 00:39:41,150 --> 00:39:44,700 そのプロジェクトのすべての種類は、私は確信していることをそこにある - あなたができる何か 629 00:39:44,700 --> 00:39:47,290 あなたが見つけることができる - 誰もが実際にそれらを陰謀と何かを持っている 630 00:39:47,290 --> 00:39:49,290 彼らは、Webベースのプロジェクトをやっている場合。 631 00:39:49,290 --> 00:39:52,210 私は今再びそれを言うよ。 632 00:39:52,210 --> 00:39:54,520 あなたのプロジェクトは、痛みのように思えるし、それに仕事をしたくない場合は、 633 00:39:54,520 --> 00:39:57,260 別のプロジェクトを選択します。本当にあなたを刺激する何かを選択してください。 634 00:39:57,260 --> 00:40:00,260 >> ベンはビット反復のこの概念を述べて、私はその上に少し行きたい。 635 00:40:00,260 --> 00:40:08,250 それはあなたが、機能何かを得る噴出で働くことは本当に重要です。 636 00:40:08,250 --> 00:40:13,420 あなたはA、B、Cをやろうとしてのウェブサイトのためにこの計画を持っていれば、素晴らしいことができます 637 00:40:13,420 --> 00:40:16,000 最終的にはそれがあり得るでしょう。 638 00:40:16,000 --> 00:40:18,600 しかし、あなたは、あなたがそれに取り組んで、それに取り組んでいるこの段階で立ち往生している、 639 00:40:18,600 --> 00:40:23,330 しかし、何もしないばかりだ。あなたが見て何と有形、機能的なものを持っていない。 640 00:40:23,330 --> 00:40:27,940 あなたは本当にそれが時々痛みのようなものを見かけほど多くを何をしたいか 641 00:40:27,940 --> 00:40:32,300 何かの作業で、それを少なくとも安定し、走行時のように、ソートのそれを締めくくる 642 00:40:32,300 --> 00:40:34,910 それはあなたが望むすべての機能を持っていない場合でも、バージョン。 643 00:40:34,910 --> 00:40:37,690 そしておそらく、あなたが本当に追加したいが、あなただけではないことができるいくつかの機能があります 644 00:40:37,690 --> 00:40:41,830 あなたは、機能の点にこのサイトを取得したいので。 645 00:40:41,830 --> 00:40:44,400 だからあなたは親切の全開発プロセスを持つようにしたいもののように見える。 646 00:40:44,400 --> 00:40:47,810 または本質的に何もで始まる - あなたはどこかに機能を開始したい - 647 00:40:47,810 --> 00:40:49,890 しかし、あなたはどこかに非常に基本的で機能的な取得したい。 648 00:40:49,890 --> 00:40:54,940 し、再度、ジャンプのようなものを作り、再びどこかの機能を得る。 649 00:40:54,940 --> 00:40:59,190 、あなたはゆっくりと構築します、そして、それがそうでなければだろうよりも少し遅く行くかもしれない 650 00:40:59,190 --> 00:41:03,000 しかし、長い目で見れば常にあなた、この中間の接地相で立ち往生している場合 651 00:41:03,000 --> 00:41:06,380 実際の作業は何も持っていない、それは本当に大きなフラストレーションすることができます 652 00:41:06,380 --> 00:41:09,970 あなたのプロジェクトで作業するには、常にそれが働いて得るために非常に近いだから、 653 00:41:09,970 --> 00:41:12,130 そしてそれは、実際に働いたことがないだ。 654 00:41:12,130 --> 00:41:14,810 あなたは、これらの機能猛烈に仕事をしたい、 655 00:41:14,810 --> 00:41:17,950 そしてまた、各1の後に、いくつかの反射をやってみたい。 656 00:41:17,950 --> 00:41:21,260 言い換えれば、あなたはサイトが今取り組んでいる点にいる一度 - 657 00:41:21,260 --> 00:41:24,790 それはあなたが好きなすべてのものを持っていないが、いくつかのことを行います - 658 00:41:24,790 --> 00:41:28,870 あなたが考えてほしい、大丈夫、私は何に着手した目標を達成するこのサイトです? 659 00:41:28,870 --> 00:41:33,410 つまり、サイトにXがやろうとしている場合、私はX方向に働いている何ですか? 660 00:41:33,410 --> 00:41:36,450 私は望んで機能性のすべてがありますか? 661 00:41:36,450 --> 00:41:39,340 しかも、それは私が欲しいの全体的な目的を果たすのですか? 662 00:41:39,340 --> 00:41:43,200 あなたのサイトが別の方向に向きを変えるために開始されることを発見している場合 663 00:41:43,200 --> 00:41:47,330 それとも物事がだけの種類のうち、動作していない、それはギアを少しシフトする時期かもしれません。 664 00:41:47,330 --> 00:41:51,700 必要であれば、それはアイデアを投げて価値がある - 言い換えれば、それは検討の価値がある 665 00:41:51,700 --> 00:41:57,950 と考えると、私は本当に私がなりたいものに向かって働いています。 666 00:41:57,950 --> 00:42:00,760 >> 私は私の次のポイントだと思います。アイデアを放棄することを恐れてはいけない。 667 00:42:00,760 --> 00:42:03,750 あなたが機能を労働時間の多くを費やしたからといって 668 00:42:03,750 --> 00:42:07,890 そして最終的にそれが動作してくれましたが、それは本当にとてもうまく行っていない - 669 00:42:07,890 --> 00:42:12,690 そういったことを - それは、その有用ではありませんか、ユーザーがそれを使用してトラブルを抱えているように - 670 00:42:12,690 --> 00:42:15,300 それを捨てることを恐れてはいけない。 671 00:42:15,300 --> 00:42:17,650 それはあなたがそれに取り組んで多くの時間を費やしてきたことを吸う、 672 00:42:17,650 --> 00:42:21,870 しかし、最終的には一種のこれらの作品によってまとめのサイトを望んでいない 673 00:42:21,870 --> 00:42:25,380 仕事のようなものが、そのほかは提供されません。 674 00:42:25,380 --> 00:42:27,990 また、新しいアイデアを受け入れることを恐れてはいけない。 675 00:42:27,990 --> 00:42:30,050 誰かが一緒に来て言うならば、ちょっと、そのサイトは本当にクールに見えるが、 676 00:42:30,050 --> 00:42:32,290 また、これをしなかった場合は、それも素晴らしいことではないでしょうか? 677 00:42:32,290 --> 00:42:36,220 それはあなたが意図してではない何かをしなかったものだからといって、あなたの 678 00:42:36,220 --> 00:42:37,900 スペック、あなたがやろうと設定していないもの、 679 00:42:37,900 --> 00:42:40,860 でそれを取るし、それを操作することを恐れてはいけない。 680 00:42:40,860 --> 00:42:43,680 あなたは、開発の過程を通してで実行しばしばアイデア理由 681 00:42:43,680 --> 00:42:47,630 ウェブサイトの本当にクールな機能になってしまう。 682 00:42:47,630 --> 00:42:49,630 >> 私は前にこれを言った。私は再びそれを言うだろう。 683 00:42:49,630 --> 00:42:51,630 テスターは、超便利超である。 684 00:42:51,630 --> 00:42:56,350 ログオンして、何が起こっているか見るために前にサイトを見たことがない人々を取得しよう 685 00:42:56,350 --> 00:42:59,080 彼らは、サイトとユーザーエクスペリエンスの有用性をテストすることができていないという理由だけで、 686 00:42:59,080 --> 00:43:02,070 しかし、彼らはまた、あなたができない方法で機能をテストすることができます。 687 00:43:02,070 --> 00:43:06,430 あなたは、あることをするいくつかの機能を加えた場合 688 00:43:06,430 --> 00:43:11,620 あなたはそれが正しくひとつひとつの時間を、同じことを行うために起こっている知っている、それは素晴らしいことです。 689 00:43:11,620 --> 00:43:16,610 しかし、それは多くの場合、ユーザー·マイトコーナーケースを考慮するために難しいことができます 690 00:43:16,610 --> 00:43:19,500 あなたが定義されているので、正確に - あなたが予想していなかった何かを入力 691 00:43:19,500 --> 00:43:21,500 機能自身。 692 00:43:21,500 --> 00:43:23,730 だから、誰かがサイトを使用する方法は考えを持っていない人に来ている 693 00:43:23,730 --> 00:43:26,840 と理由だけで、あなたは本当に便利です、彼らが行うことができますどのような方法でそれを破る 694 00:43:26,840 --> 00:43:30,340 動作しているサイトの内容の全く異なる視点からアイデアを得る 695 00:43:30,340 --> 00:43:33,300 そして何が修理が必要です。 696 00:43:33,300 --> 00:43:37,070 >> 最後に、私は、いくつかの一般的な優れた実践について話をするつもりだ 697 00:43:37,070 --> 00:43:42,470 あなたはCS50でこれらをたくさん見てきたが、彼らはまた、本当に、本当に、プロジェクトの設定で適用されます。 698 00:43:42,470 --> 00:43:47,600 一つは、コメントです。あなたは大きなチームで作業している場合は、必ずあなたのコードは、特にコメント。 699 00:43:47,600 --> 00:43:51,230 それは誰かが書かれていることだけで、コードの巨大なブロックを持っているので、いらいらすることができ 700 00:43:51,230 --> 00:43:54,230 そして多分それは多分それはないが、動作しますが、あなたはそれが何をするかわかりません、 701 00:43:54,230 --> 00:43:58,010 だから、それはそれはそこにするかどうかまたは有用なかのかどうかわかりません 702 00:43:58,010 --> 00:44:00,200 あなたが何か他の作業をしている場合、それはあなたが取り組んでいることも可能です 703 00:44:00,200 --> 00:44:06,590 同じことなので、ちょうどあなたの仲間の思いやりであると、非常に、非常に注意してください 704 00:44:06,590 --> 00:44:09,710 そして十分に文書化のコードを記述します。 705 00:44:09,710 --> 00:44:13,580 あなたがインクリメントかのように全体のことをするように、これまで行く必要はありません 706 00:44:13,580 --> 00:44:16,620 カウンタは、私がこのカウンタに1を追加している、と言うコメントを持っています。 707 00:44:16,620 --> 00:44:20,450 それはその詳細である必要はしませんが、あなたが書いている任意の機能のために 708 00:44:20,450 --> 00:44:23,160 あなたは、その機能が正確に何をするかのいくつかのドキュメントを持っている必要があります 709 00:44:23,160 --> 00:44:25,140 その入力が何であるか、それは返すべきか。 710 00:44:25,140 --> 00:44:27,800 サイトの他の人々のコンポーネントを使用することができる方法 711 00:44:27,800 --> 00:44:31,990 あなたが何か大きなを構築に向けて作業することができます。 712 00:44:31,990 --> 00:44:34,100 >> もう一つ重要なことは、あなたが定期的にクリーンアップを実行するようにしたいです。 713 00:44:34,100 --> 00:44:40,490 コー​​ドが乱雑取得します。あなたのコードだけで、完全に読めなく、巨大な混乱の場合は気を悪くしないでください。 714 00:44:40,490 --> 00:44:42,770 それは常に、Web開発で発生します。 715 00:44:42,770 --> 00:44:46,530 あなたは、古いものを削除し、新機能を追加している。ものがあってはならないことがあることを行っている。 716 00:44:46,530 --> 00:44:49,330 それはいいが、あなたは定期的にそれに対処することを確認したい。 717 00:44:49,330 --> 00:44:53,430 あなたはそれがあなただけの何かを見つけることができない時点までに作成してみましょうする必要はありません 718 00:44:53,430 --> 00:44:56,430 コー​​ド内で、あなたは何が何をするかわかりません。 719 00:44:56,430 --> 00:44:58,430 それは、HTMLの場合です。 720 00:44:58,430 --> 00:44:59,490 時々、あなたは何が含まれていないオブジェクトになってしまいます、 721 00:44:59,490 --> 00:45:01,320 そしてあなたはそれらを取り除くしたいと思う。 722 00:45:01,320 --> 00:45:04,610 CSSで、あなたはもう存在しない要素を参照することができ、 723 00:45:04,610 --> 00:45:06,340 だから、そのコードを取り除きたい。 724 00:45:06,340 --> 00:45:09,900 JavaScriptでは、HTMLから何かを削除した可能性があります。 725 00:45:09,900 --> 00:45:13,150 だから、あなたは常にクリーンアップしていることを確認するには、かなりのものづくり 726 00:45:13,150 --> 00:45:17,450 あなたが定期的にできる限り。 727 00:45:17,450 --> 00:45:21,060 >> 私は考えていないもうひとつの便利なものがCS5​​0に非常に概説されている 728 00:45:21,060 --> 00:45:23,430 それはあるバージョン管理に入る価値がある。 729 00:45:23,430 --> 00:45:27,180 あなたは基本的にすべての進捗状況を追跡しているときに、バージョン管理の考え方は、 730 00:45:27,180 --> 00:45:30,820 あなたのサイトに向けて作った任意の時点であなたが実現した場合、ああ、これは働いていた 731 00:45:30,820 --> 00:45:35,220 しばらく前に、それはあなたが戻って、以前のバージョンに戻ることができ、これ以上動作していない 732 00:45:35,220 --> 00:45:37,720 して、そしてそういったことから変更されたかを見る。 733 00:45:37,720 --> 00:45:41,670 そのための主な方法は、Gitのであり、Gitはそのシステムのこの全体の一種である 734 00:45:41,670 --> 00:45:46,390 私はトミーMacWilliam昨年約セミナーを与えたと考えています。 735 00:45:46,390 --> 00:45:51,520 あなたは2011年のCS50セミナーに入る場合は、その上で彼のセミナーを見ることができます。 736 00:45:51,520 --> 00:45:57,070 Gitの考えは、定期的にこれらの約束を作っていることを基本的に 737 00:45:57,070 --> 00:46:01,430 サイトは、今はかなり安定したバージョンの概要というのは方法があるので、 738 00:46:01,430 --> 00:46:05,910 私はそれをパッケージ化し、それをサーバに離れて送信し、その後、そのサーバーに行くことができるよ 739 00:46:05,910 --> 00:46:07,910 そして、コードの以前のすべてのバージョンを見て、それが進行している方法を参照してください 740 00:46:07,910 --> 00:46:12,210 と良好なもののすべてその種。 741 00:46:12,210 --> 00:46:14,210 だから、それは基本的にはこれだけです。 742 00:46:14,210 --> 00:46:17,870 限りWeb開発のように、我々の周りに固執し、いずれかを答えて幸せだ 743 00:46:17,870 --> 00:46:20,570 今のところ私たちのプレゼンテーションのように質問。 744 00:46:20,570 --> 00:46:22,900 これだけです。ありがとうございます。 >> [ベン]ありがとうございます。 745 00:46:22,900 --> 00:46:28,480 [拍手] 746 00:46:28,480 --> 00:46:30,950 >> [ビリー]スタッフ、誰もが我々がカバーしてきた事柄についての質問があるん 747 00:46:30,950 --> 00:46:33,950 または我々は、彼らが望んでいたことをカバーされていませんでした事が、我々は、カバーしたい? 748 00:46:33,950 --> 00:46:35,950 私たちは、それらのお答えさせていただきます。誰ですか? 749 00:46:35,950 --> 00:46:50,360 [聴衆]ルビーを使用するか、またはPythonを使用することの長所と短所は何ですか? 750 00:46:50,360 --> 00:46:58,660 [ベン]の質問は、RubyやPythonを使用することの長所と短所は何ですか、だった 751 00:46:58,660 --> 00:46:59,900 代わりに、PHPのような。 752 00:46:59,900 --> 00:47:11,340 長所は、RubyやPythonは、PHPよりもはるかに良い言語であるということである。 753 00:47:11,340 --> 00:47:14,920 少なくとも私の意見では、と私は他の人の意見をたくさんではないでしょうか。 754 00:47:14,920 --> 00:47:20,990 彼らは、複雑なものを行うための多くを設計されていた 755 00:47:20,990 --> 00:47:25,380 と本当に素早くWebペ​​ージを一緒に打つにはあまり 756 00:47:25,380 --> 00:47:28,400 動的コンテンツの少し。 757 00:47:28,400 --> 00:47:35,180 短所の少しがあることをある - 学習曲線のよりがあります 758 00:47:35,180 --> 00:47:37,220 それらを設定取得します。 759 00:47:37,220 --> 00:47:41,010 つまり、PHPのような、あなただけのHTMLファイルを持つことができ、あなたは小なり書き込みで 760 00:47:41,010 --> 00:47:43,060 クエスチョンマークしてから、いくつかのコードを記述してから、疑問符を書き、 761 00:47:43,060 --> 00:47:45,700 より、大きくしてから、設定が完了したら。 762 00:47:45,700 --> 00:47:50,300 RubyやPythonのような他の言語で、 763 00:47:50,300 --> 00:47:56,810 あなたが最初のサイトが動作を得るためにもう少し作業を通過する必要があります。 764 00:47:56,810 --> 00:48:02,730 もあります - 少なくともそれはケースのように使用される - より多くのドキュメントがありますことを 765 00:48:02,730 --> 00:48:05,480 PHPで使用できる、それを使用してもっとたくさんの人々がいるという理由だけで。 766 00:48:05,480 --> 00:48:09,370 私はそれはもう問題の限りではないと思う。 767 00:48:09,370 --> 00:48:12,520 Ruby on Railsのようなもののために非常に良いドキュメントは確かにありま​​す 768 00:48:12,520 --> 00:48:16,080 やPythonのためのDjangoは同等です。 769 00:48:16,080 --> 00:48:25,910 PHPは、誰もが何年も使ってきているの一つであり、あなたはそれがどのように動作するかを知っています。 770 00:48:25,910 --> 00:48:28,460 RubyやPythonは少しあまり成熟している。 771 00:48:28,460 --> 00:48:33,130 >> [聴衆]あなたが学ぶかピックアップして、それらの1を選択した場合、 772 00:48:33,130 --> 00:48:36,130 あなたはどちらを選びますか? 773 00:48:36,130 --> 00:48:38,870 正直なところ、私は人に依存だと思います。 774 00:48:38,870 --> 00:48:45,450 ごめんなさい。問題は、そのあなたが学ぶために誰かのために選ぶだろうでしたか? 775 00:48:45,450 --> 00:48:50,230 私はPythonで個人的に最も素晴らしい見つける。 776 00:48:50,230 --> 00:48:55,360 私は、PythonとDjangoの私の最初のWeb devのプロジェクトをした - 人々がたくさんあり​​ます。 777 00:48:55,360 --> 00:49:00,300 また、Ruby on Railsのが好きな人がたくさんあり​​ます。 778 00:49:00,300 --> 00:49:02,650 Ruby on Railsのを知っている、おそらくより多くの人々。 779 00:49:02,650 --> 00:49:05,270 正直なところ、私はちょうどあなたの周りの人々が知っている何でもとなるだろう 780 00:49:05,270 --> 00:49:09,680 あなたが質問をする人がいるようにします。 781 00:49:19,640 --> 00:49:24,170 >> 質問があった - 共有サーバーでは、この種のハードのPythonで動作するでしょうか? 782 00:49:24,170 --> 00:49:26,170 それはあなたのホスティングに依存します。 783 00:49:26,170 --> 00:49:29,400 Pythonのものを掲載しますWebホストの数があります。 784 00:49:29,400 --> 00:49:31,400 WebFactionは右、というのでしょうか? 785 00:49:31,400 --> 00:49:34,400 WebFactionはビリーと私はいくつかのプロジェクトのために使用しているものです。 786 00:49:34,400 --> 00:49:37,750 彼らは本当に素晴らしいよ。彼らは、ほとんどの言語をサポートしています。 787 00:49:37,750 --> 00:49:40,020 しかし、それは、PHPがはるかに広くサポートされていることは事実です。 788 00:49:40,020 --> 00:49:45,210 あなただけのPHPを実行し、Webホスト上で立ち往生しているのであれば、それは、PHPを使用するには十分な理由だ。 789 00:49:45,210 --> 00:49:56,010 >> [聴衆]私はいくつかのデータベースを照会する方法を学ぶことになった、 790 00:49:56,010 --> 00:50:00,680 と私は私のSQLはすべての場所で​​ですけど、私は最近にさらされてしまった - 791 00:50:00,680 --> 00:50:04,470 そしてあなたはそれを指摘した。あなたは、JSONと拡張可能なデータベースを参照してください。 792 00:50:04,470 --> 00:50:14,580 私のSQLはあらゆる場所にまだある。どのようにして、その出来事を見ていますか? 793 00:50:14,580 --> 00:50:21,330 以上の拡張(聞き取れない)のために成長している傾向があるように起こっていますか? 794 00:50:21,330 --> 00:50:30,100 質問があった - 私は、非SQLデータベースへの傾向があるように起こって思います。 795 00:50:30,100 --> 00:50:33,850 たとえば、MongoDBのような。私はそれは間違いなく真実であると思います。 796 00:50:33,850 --> 00:50:38,730 私のアドバイスは、主にMySQLがあるという理由だけで、ここでMySQL関連した 797 00:50:38,730 --> 00:50:40,950 業界標準。 798 00:50:40,950 --> 00:50:45,950 個人的に、私は多くのMongoDBのようなschemosを持っていないデータベースを好む 799 00:50:45,950 --> 00:50:49,520 あなたが問題を持っていない場合には、ああ、私は別の列を追加する必要があります。 800 00:50:49,520 --> 00:50:51,600 災​​いは、私は何をすればよいように、私ですか? 801 00:50:51,600 --> 00:50:55,840 それは、MySQL上でそれを行うことは非常に難しいですが、あなたはMongoのようなものを持っているとき 802 00:50:55,840 --> 00:50:57,840 それは非常に良くあります。 803 00:50:57,840 --> 00:51:03,780 Mongoの約他の良い点は、あなたの記録が実際にJavaScriptのオブジェクトであるということです。 804 00:51:03,780 --> 00:51:10,110 これらのデータベースの行を取る必要がある変換ステップのない一種はありません 805 00:51:10,110 --> 00:51:13,140 とJavaScriptオブジェクトにそれらをオンにしてネットワーク経由で送信します。 806 00:51:13,140 --> 00:51:20,290 私はそのようなものは、将来の迅速なWeb開発のための非常に、非常に便利になるだろうと思います。 807 00:51:20,290 --> 00:51:23,060 >> [ビリー]私は一般的なポイントである追加し何かがある 808 00:51:23,060 --> 00:51:26,580 あなたは私たちが議論してきたすべての言語を学んだ必要がありますように感じることはありません 809 00:51:26,580 --> 00:51:28,580 私たちのセミナーから。 810 00:51:28,580 --> 00:51:30,560 明らかにポイントを使用すると、そこに何のアイデアを与えることであり、 811 00:51:30,560 --> 00:51:33,450 あなたは私たちが言及したことのいずれかに興味をそそられている場合、あなたはそれをGoogleのことができます 812 00:51:33,450 --> 00:51:35,830 それらをよく読ん。 813 00:51:35,830 --> 00:51:38,750 私が述べたように、正確に、これらのことに対処するいくつかのセミナーがあります。 814 00:51:38,750 --> 00:51:41,660 おそらく入る私が言及していなくてもより多くのセミナーがあります。 815 00:51:41,660 --> 00:51:43,660 このようなものにも。 816 00:51:43,660 --> 00:51:46,610 アイデアは、あなたが何かで作業したい場合は、ここではあなたの処分でのツールであるということである。 817 00:51:46,610 --> 00:51:51,630 これらのツールは、正確に何をすべきか、本当にわからない場合圧倒感じることはありません、 818 00:51:51,630 --> 00:51:54,830 しかし、彼らはそこに、あなたはそれらの普及を行うことができることだということを知っている 819 00:51:54,830 --> 00:51:56,830 Googleによる。 820 00:51:56,830 --> 00:51:59,960 >> [聴衆]物事のどのようなことを確認あなたのウェブサイトにするために何をする必要があります 821 00:51:59,960 --> 00:52:02,530 モバイルデバイスでよさそう? 822 00:52:02,530 --> 00:52:05,590 [ビリー]モバイルデバイスは、少し難しいです。 823 00:52:05,590 --> 00:52:07,590 あなたがそれに近づくことができる2つの方法があります。 824 00:52:07,590 --> 00:52:11,500 最初の方法は、実際に携帯サイトを持っているということです。 825 00:52:11,500 --> 00:52:14,660 言い換えれば、あなたは初めに、検出のいくつかの並べ替えを行う 826 00:52:14,660 --> 00:52:18,830 ブラウザは述べていますどちらかあなたのウェブサイトに要求を行っているとき 827 00:52:18,830 --> 00:52:25,240 このビューを返す - デスクトップまたはノートPCブラウザ用のビューされる - 828 00:52:25,240 --> 00:52:27,710 モバイル機器のためのこの他のビュー。 829 00:52:27,710 --> 00:52:33,090 つまり、ビューはあなたがほとんどのスワップができるという点で、本当にいいです場所です 830 00:52:33,090 --> 00:52:37,580 2つ、モバイルデバイス上で実際にうまく動作インタフェースを持つ 831 00:52:37,580 --> 00:52:40,770 およびブラウザのデバイス上でうまく動作は完全に異なるものを持っている。 832 00:52:40,770 --> 00:52:43,770 その問題点は、符号化を意味するので、それは長い時間がかかるである 833 00:52:43,770 --> 00:52:47,060 全く別のインターフェイス。 834 00:52:47,060 --> 00:52:49,720 あなたがそれを行うことができ、他の方法がある - 835 00:52:49,720 --> 00:52:55,250 現代の携帯電話の多くは、ウェブサイトを表示し、ブラウザと同じようにレンダリングしようとします 836 00:52:55,250 --> 00:52:57,680 そして、彼らは彼らのベストを尽くす。 837 00:52:57,680 --> 00:53:04,340 あなたが親切なのは、使用しているjQueryのJavaScriptの量に光を滞在しようとすることができます 838 00:53:04,340 --> 00:53:07,360 これは、物事がうまく少し行くことができる場所になる傾向がある。 839 00:53:07,360 --> 00:53:13,430 これは、その多くの時間を持っていない場合に使用すべき方法の一種である。 840 00:53:13,430 --> 00:53:18,540 モバイルインターフェイス上で動作する時間を持っているなら、それは明らかにあなたの最良の選択肢です。 841 00:53:18,540 --> 00:53:23,320 >> 私は一般的にCS50プロジェクトのために、あなたは、どちらか一方を選択するつもりだと思います。 842 00:53:23,320 --> 00:53:27,990 言い換えれば、モバイルアプリを作りたいか、デスクトップのウェブサイトを作りたい。 843 00:53:27,990 --> 00:53:32,200 そして、あなたはそれで行くかを決定するその種。 844 00:53:32,200 --> 00:53:35,360 後でそれを拡張したい場合は、おそらくあなたの最善の策はある 845 00:53:35,360 --> 00:53:37,360 その他用に他のインターフェイスを作る。 846 00:53:51,650 --> 00:53:56,340 私はワードプレスベースのサイトの開発の経験を少し持っている。 847 00:53:56,340 --> 00:53:58,670 私はしばらくの間、ワードプレスに個人的なウェブサイトを主催した。 848 00:53:58,670 --> 00:54:02,310 フレームワークのそれらの種類は、単に非常に基本的なことのように素晴らしいことができます。 849 00:54:02,310 --> 00:54:07,050 多くの場合、あなただけでもカスタマイズ性の問題の多くに遭遇するでしょう。 850 00:54:07,050 --> 00:54:10,940 あなたは、何かが、ある方法を見たり、特定の方法であるようにしたいでしょう 851 00:54:10,940 --> 00:54:14,510 それは、システムにハードワイヤードなので、あなただけのことができないこと 852 00:54:14,510 --> 00:54:17,480 これは、問題のビットであることができることをしなければならない方法です。 853 00:54:17,480 --> 00:54:22,020 それ以来、私は一種のゼロからのサイトで動作する傾向してきた。 854 00:54:22,020 --> 00:54:26,840 ブログデータベースとそういったことのようなもののために、フレームワークを構築するために本当に難しいことではありません。 855 00:54:26,840 --> 00:54:29,970 あなたは本当に時間を伸ばしている場合は、もちろん、ワードプレスのようなものを使用することができます 856 00:54:29,970 --> 00:54:33,120 またはブログのためのそういったこと。 857 00:54:33,120 --> 00:54:38,790 ブログ店、観光は本当にハードに十分なものではないこと、物事の種類 858 00:54:38,790 --> 00:54:41,500 あなたは物事のそれらの種類のいずれかに実行している場合、あなただけに、おそらく最高だ 859 00:54:41,500 --> 00:54:43,500 社内のバージョンを確認します。 860 00:54:43,500 --> 00:54:48,350 >> 私はそれについてだと思うので、おかげで再び来て。 861 00:54:48,350 --> 00:54:51,960 私たちは本当にあなたたちに話して楽しんで、あなたはいくつかのものを学んだことを願っています。 862 00:54:51,960 --> 00:54:55,350 [ベン]我々は話をして幸せだ - 私たちは行かなければならないが、我々はより多くの外で話をすることに満足している 863 00:54:55,350 --> 00:55:01,650 あなたが別の質問がある場合。おかげで再び。 [拍手] 864 00:55:03,750 --> 00:55:06,000 [CS50.TV]