JASON Hirschhorn: Selamat Datang semua orang untuk delapan minggu. Kami memiliki minggu menyenangkan di depan kita. Kalian punya merpati dalam beberapa masa lalu dari kuliah untuk PHP, SQL, HTML, CSS, sehingga empat bahasa baru yang akan untuk mengambil sisanya kursus ini. Kita juga akan belajar beberapa lainnya bahasa sebelum akhir kursus ini. Tapi bagaimanapun, perlu untuk mengatakan, ini adalah waktu yang sangat menarik dalam CS50, sekarang Anda telah menguasai C, pura-pura, dan pindah ke pemrograman untuk website. Jadi minggu ini, kita akan pergi tur angin puyuh melalui empat bahasa yang saya sebutkan, HTML, CSS, PHP, dan SQL. Dan mudah-mudahan, kita akan meninggalkan banyak waktu di akhir bagian untuk berbicara tentang minggu ini P set dan jawaban setiap pertanyaan yang Anda semua memiliki. Setiap minggu, daftar sumber daya yang sama untuk Anda, untuk membantu Anda dengan minggu permasalahan yang terjadi dan atas materi - tapi minggu ini khususnya, untuk ini set masalah berbasis web, ada sejumlah sumber daya lain di luar ada yang kemungkinan akan menemukan sangat membantu. Aku memiliki mereka di sini. Saya akan mengirimkan email ini setelah bagian, dan ini juga menjadi online. Tapi khususnya, ada banyak sumber daya yang besar di luar sana. Ada juga beberapa tidak begitu besar yang, jadi waspada dari mereka. Tapi pada slide ini, saya memiliki empat baik sumber daya, satu untuk masing-masing bahasa yang Anda akan bekerja dengan minggu ini - satu lembar referensi untuk HTML, lembar referensi untuk CSS. Hak ini di sini adalah manual PHP. Jadi, bukannya mengetik manusia dan kemudian PHP perintah, ini adalah di mana Anda akan pergi untuk mencari prototipe fungsi dan contoh-contoh dan juga beberapa tips dan trik untuk menggunakan fungsi PHP. Anda akan menggunakan situs ini sering, jadi saya mendorong Anda untuk menjadi akrab dengannya. Hal ini dapat menjadi sedikit teknis, tetapi juga menyediakan satu ton sumber daya dan contoh untuk semua fungsi dan bahkan lainnya, seperti bagaimana menggunakan array atau berbagai jenis variabel. Situs ini sangat membantu untuk PHP. Dan kemudian, untuk SQL, jika Anda terjun ke ini minggu masalah set, Anda akan tahu bahwa kita menggunakan database. Dan kita mengakses database yang melalui antarmuka pengguna yang relatif bagus. Atau itu salah satu cara untuk mengakses bahwa database. User interface adalah disebut phpMyAdmin. Ada tab SQL, yang kita akan lihat nanti hari ini. Dan Anda dapat mengetik ke dalam sampel SQL mereka query, melakukan hal-hal dalam database Anda dan kemudian jalankan pertanyaan tersebut. Dan jika mereka benar, itu akan mengatakan, benar yang satu ini. Jika mereka salah, itu akan mengatakan, itu tidak benar. Itu adalah tempat yang bagus untuk berlatih Anda Query SQL sebelum menulis mereka ke kode Anda, untuk memastikan Anda memiliki format yang benar. Akhirnya, salah satu situs lain di sini. Ini adalah situs web di mana Anda dapat pergi dan periksa untuk memastikan Anda Kode HTML adalah valid. Jadi sebelum berbalik masalah Anda mengatur minggu ini, pastikan semua HTML Anda valid. Pekan lalu, Anda telah menjalankan Valgrind, untuk pastikan Anda tidak memiliki kebocoran memori. Minggu ini, Anda perlu memastikan bahwa semua kode Anda adalah HTML5 yang valid. Jika tidak valid HTML5, Anda akan mendapatkan poin dari. Jadi pastikan - hanya karena kerjanya tidak berarti itu benar-benar valid. Jalankan kode Anda melalui website ini sebelum berbalik masuk Sekali lagi, inilah website. Jika Anda memiliki umpan balik bagi saya, kita memiliki beberapa lebih bagian lagi, dan saya selalu ingin melakukan apa yang saya bisa untuk menyediakan semua dengan bagian terbaik mengalami mungkin. Jadi biarkan aku tahu jika ada sesuatu yang dapat lakukan untuk meningkatkan atau jika ada hal yang Anda melihat bahwa saya bisa berbuat lebih baik. Terima kasih, Avi. Taruh di website. Ini adalah sepeda yang saya alami ketika saya itu, katakanlah, empat di rumah. Ini adalah Teenage Mutant Ninja Penyu bersepeda, jika Anda tidak bisa mengatakan, karena itu sedikit kabur. Anda bisa mendapatkannya sekarang di ToysRUs untuk, saya pikir, sekitar $ 100. Tapi fitur dari motor ini yang saya inginkan Anda memperhatikan semuanya ini di sini. Ini adalah roda pelatihan. Sampai sekarang, Anda telah genggam melalui C. Dan kita telah mengambil panjang waktu, dua bulan ditambah, untuk pergi melalui C. Untuk ini beberapa berikutnya bahasa, kita tidak akan menghabiskan banyak waktu. Roda pelatihan datang dari. Dan kita akan menyelam ke dalam bahasa dengan cepat dan bergerak melalui mereka dengan cepat, yang tidak berarti bahwa kami hanya akan meninggalkan Anda berenang di luar sana dengan tidak ada cara untuk mendukung diri sendiri atau mencari cara ini bahasa bekerja. Aku hanya menunjukkan Anda daftar sumber daya untuk membantu Anda. Namun perlu diingat bahwa PHP sangat mirip dengan C. Kami akan pergi ke hari ini dan beberapa perbedaan. Tetapi untuk sebagian besar, ada untuk loop. Ada jika kondisi. Bila Anda ingin memecahkan masalah, Anda akan menggunakan kombinasi dari mereka. Ini sangat mirip. Logikanya harus sangat mirip dengan apa yang telah Anda lakukan di masa lalu. Apa yang benar-benar baru minggu ini adalah sintaks dan bagaimana Anda mengekspresikan diri. Dan Anda ingin menulis untuk loop, tapi mungkin terlihat sedikit berbeda. Atau Anda ingin membuat sebuah array, tetapi mungkin terlihat sedikit berbeda. Jadi perlu diingat bahwa, bergerak maju, logika ini sangat mirip dengan apa yang Anda telah lakukan di masa lalu. Tapi sekarang Anda akan menghadapi banyak sintaks baru. Dan kita tidak akan memandu Anda melalui semua elemen sintaks. Jadi itu benar-benar terserah pada Anda untuk mencari tahu, secara online atau melalui menjangkau pada Diskusikan atau email saya atau berbicara dengan satu sama lain, bagaimana menulis hal-hal di PHP dan bagaimana menulis query SQL dan bagaimana menggunakan HTML dan CSS. Tapi asal kau tahu, bukan itu kami mencoba untuk melemparkan Anda di luar sana lagi berenang hiu. Ini adalah apa yang Anda mungkin akan lakukan dengan proyek akhir Anda, jika Anda memilih bahasa yang berbeda, seperti IOS dan Objective C, atau jika Anda memutuskan untuk memulai pemrograman di masa depan dan menyelam ke dalam bahasa lain, seperti Phyton atau Ruby. Sering kali, logika ini sangat mirip di semua bahasa tersebut, dan sintaks adalah apa yang berbeda. Dan itu akan sampai kepada Anda, sebagai programmer, untuk pergi menggunakan web sumber daya yang tersedia bagi Anda dan angka cara untuk mengungkapkan apa yang Anda tahu bagaimana untuk mengungkapkan dalam C, dalam bahasa yang berbeda. Jadi ini adalah praktik yang baik, baik untuk Anda tugas akhir, dan sekali lagi, untuk apa yang Anda mungkin akan melakukan setelah Anda meninggalkan CS50. Sebelum kita melanjutkan, apakah ada yang memiliki pertanyaan tentang apa yang Aku sudah melakukan sejauh ini? Besar. Mari kita lanjutkan. Pertama, kita akan berbicara secara singkat tentang perintah chmod. Ini, kami akan lakukan pada awal dari masalah Anda mengatur. Salah satu petunjuk pertama untuk Anda, setelah Anda men-download kode distribusi, adalah untuk mengubah hak akses dari file dan direktori yang Anda terima. Ada yang bisa berani menebak atau mengetahui mengapa penting untuk mengubah hak akses dari file tertentu dan direktori pada komputer Anda? Avi - AUDIENCE: Maka tidak ada seorang pun kecuali untuk Anda dapat melihat apa yang Anda lakukan? JASON Hirschhorn: OK. Jadi jika kita ingin menempatkan sesuatu pada web dan Anda telah mengatur hak akses yang hanya Anda yang dapat melihat sesuatu, maka tidak ada orang lain dapat melihat apa yang telah Anda buat. Apa lagi? Ya. AUDIENCE: Mencegah orang lain bahwa Anda tidak ingin melihat sesuatu, dari melihat sesuatu. JASON Hirschhorn: Itu benar juga. Mungkin ada beberapa kode yang Anda menulis, bahwa Anda tidak melakukan ingin orang melihat. Anda mungkin OK dengan orang-orang melihat HTML dan JavaScript Anda. Tapi PHP Anda, kode back end, banyak logika untuk kode Anda, mungkin hal-hal yang menyimpan beberapa password Anda untuk database Anda, Anda tidak ingin orang melihat bahwa jenis informasi. Jadi, penting bahwa, setiap file dan direktori kami buat memiliki izin berlaku untuk apakah atau tidak kita inginkan orang untuk melihat jenis-jenis file dan direktori dan dapat mengaksesnya dan bahkan berpotensi mengubah mereka. Jadi ada tiga jenis perizinan. Ada izin membaca, yang berarti Anda dapat membaca file atau daftar isi dari direktori. Ada izin menulis, yang berarti Anda dapat mengubah file atau perubahan direktori dan kemudian mengeksekusi izin, yang berarti Anda dapat mengeksekusi file atau lebih tepatnya, Anda bisa pindah ke sebuah direktori. Jadi CD sesuatu, jika Anda memiliki izin untuk menjalankannya, Anda dapat memindahkan ke direktori tersebut. Ini adalah contoh singkat. Sekali lagi, anda telah melebihi ini dalam masalah set. Tapi aku membuat direktori dengan perintah mkdir. Saya mengubah hak akses. Sebenarnya ini dua baris lakukan hal yang sama persis. Ini untuk menggambarkan bahwa sintaks untuk mengubah hak akses, apakah Anda melakukan a + x atau 711, mereka adalah sama. Kami melihat ke bawah di meja ini bagus. Kita melihat bahwa ada pengguna izin terlebih dahulu. Itu Anda, individu, dan server Anda, yang berpotensi. Dan kemudian ada kelompok dan lain-lain. Perbedaan antara mereka dua relatif sepele. Jadi secara umum, kita akan benjolan mereka bersama-sama. Tapi pada dasarnya, jika kita memiliki sebuah file disebut mencakup bahwa kita ingin menjadi dapat mengedit diri kita sendiri dan yang kita inginkan orang lain untuk dapat mengeksekusi, itu izin 711. Dan kita melihat bahwa bawah sini dalam tabel ini. Kami memiliki membaca, menulis, dan mengeksekusi. Untuk setiap dari kita, kita ingin dapat melakukan itu. Group dan lain-lain, kami hanya ingin mereka untuk dapat mengeksekusi. Cara kita menerjemahkan bahwa menjadi beberapa izin adalah melalui biner. Jadi jika kita memiliki tiga orang, itu adalah 1 di kolom yang, 1 di twos kolom, kolom 1 merangkak. Itulah 7 di sana. Dan izin ini adalah 1. Izin ini adalah 1. Jadi ketika 711 adalah sama dengan memberikan diri membaca, menulis, dan mengeksekusi, dan orang lain mengeksekusi hak istimewa. Baris ini di sini, kita umumnya akan membaca dan menulis ketika kita membuat direktori. Jadi baris ini di sini hanya menambahkan mengeksekusi hak untuk semua orang. Sehingga akan mirip dengan, di Selain apa yang kita miliki, menambahkan 1, 1, 1 untuk semua orang. Sedangkan ini, itu tidak perlu menambahkan membaca dan menulis. Tetapi jika Anda akan menggunakan angka, Anda tidak bisa hanya menambahkan sesuatu. Anda menimpa izin apa pun yang ada dan menerapkannya dengan yang baru nomor yang Anda berikan. Itu cukup cepat. Apakah Ada yang punya pertanyaan tentang mengubah hak akses? OK. Jika saya memiliki sebuah file PHP, perizinan apa saya ingin memiliki? Ini adalah dalam masalah set spec. Jadi, Anda dapat melihat spec dan kemudian membaca saya jawabannya. AUDIENCE: Anda ingin pengguna untuk memiliki hak akses baca-tulis. Dan Anda ingin semua orang lain untuk memiliki apa-apa. JASON Hirschhorn: Dan apa angka itu? AUDIENCE: 600. JASON Hirschhorn: 600. Jadi chmod 600 - setiap kali Anda mencetak file PHP, chmod ke 600. OK. Saya memiliki sebuah direktori. Seseorang selain Jeff, Aku punya file folder. Izin apa yang saya inginkan untuk memberikan ke folder itu - juga dalam masalah set spec, tepat di bawah jawaban ini atau jawaban sebelumnya? Juga berpotensi pada slide - Marcus. AUDIENCE: Untuk folder, itu 711. JASON Hirschhorn: 711 - jadi folder, Anda ingin memberikan 711. Anda ingin dapat membaca folder itu, mengubah direktori, pindah ke folder. Dan Anda ingin orang lain untuk dapat untuk navigasi dalam folder itu, tapi belum tentu mengubah isinya. Bagaimana dengan file non-PHP, mengatakan, file JavaScript? Izin Apa yang kita inginkan untuk memberikan jenis file? AUDIENCE: 644. JASON Hirschhorn: 644 - mengapa kita ingin memberikan 644? AUDIENCE: Untuk membiarkan orang lain membacanya. Dan Anda membaca atau menulis itu. JASON Hirschhorn: Jadi benar, semua orang lagi yang bisa membaca bahwa JavaScript berkas. Dan Anda dapat mengubah itu, di samping untuk dapat membacanya. Jadi salah satu dari yang paling umum bug orang memiliki masalah ini diatur dan mereka tugas akhir, jika itu adalah akhir berbasis web proyek, mereka akan tidak menyetel izin yang benar. Dan mereka tidak akan dapat untuk melihat situs web mereka. Atau bagian tertentu dari situs web mereka. Jadi, pastikan Anda mengatur perizinan dengan benar. Jangan hanya berasumsi bahwa hal itu akan melakukannya secara otomatis untuk Anda. OK. Itu adalah hal kecil yang kami menghabiskan baik jumlah waktu, sehingga kita bisa kuku itu. Mari kita beralih ke HTML. Dan lagi, untuk keempat topik berikutnya, kita akan pergi melalui mereka relatif cepat. Jadi jangan ragu untuk menghentikan saya kapan saja waktu, jika Anda memiliki pertanyaan, apakah mereka terkait dengan apa yang saya menutupi atau sesuatu dari kuliah atau bahkan dari masalah ditetapkan. Berhenti saya kapan pun Anda perlu. Ketika kita sampai ke akhir, kita hanya akan mulai terjadi pada set masalah. Jadi HTML singkatan dari HyperText Bahasa markup. Ini bukan bahasa pemrograman. Semua hal ini adalah struktur konten Anda dan juga menyediakan beberapa metadata. Jadi misalnya, mungkin, banyak Anda telah menggunakan Facebook sebelumnya. Dan Anda dapat menyertakan link, atau Anda bisa menempatkan link status Anda. Dan kemudian, Anda akan melihat link yang selalu memiliki gambar yang bagus untuk itu dan beberapa teks. Secara umum, itu adalah beberapa metadata untuk halaman web. Dan itu metadata Facebook-spesifik. Dan kemudian, ketika Facebook adalah membaca bahwa halaman dan menyisipkan link tersebut, itu mencari metadata yang spesifik, sehingga tahu apa gambar untuk menampilkan, apa title untuk menampilkan, dan apa teks abstrak untuk ditampilkan. Jadi kita bisa menyertakan metadata dengan halaman web kami menggunakan HTML. Dan itu juga membantu kita struktur konten, secara umum, apa kami ingin pergi ke mana. Segala sesuatu di HTML merupakan elemen. Dan elemen yang tepat di sini - CS50 ini, teks adalah elemen. Dan memiliki beberapa tag. Ini memiliki ini tag. Dan kami melihat ada di bagian awal dan kemudian garis miring, sehingga menutup tag di akhir. Kadang-kadang, tidak ada yang terbuka tag dan tag dekat. Ada hanya satu hal. Kita akan melihat contoh yang pada slide berikutnya. Jadi Anda tidak perlu terbuka dan tag dekat. Tapi untuk ini, kami membungkus ini Elemen CS50 di tag anchor. Dan pada dasarnya, tag ini memberitahu browser apa yang harus dilakukan dengan elemen tertentu. Jadi sekali lagi, CS50 adalah teks kita akan melihat. Dan itu akan menjadi jenis jangkar. Jangkar pada dasarnya digunakan untuk link ke sesuatu. Secara khusus, Anda bisa sudah katakan, ini adalah link ke homepage CS50. Bagian selanjutnya dari tag - atau umumnya, bagian dari tag atribut. Dan kita lihat di sini, bahwa tag memiliki satu atribut, atribut href ini. Dan mereka mengubah tag tertentu. Bahkan, jika Anda pergi ke salah satu website atau referensi kuberikan padamu sebelum atau mencari tag online, Anda akan melihat ada satu ton atribut potensial. Ini mungkin salah satu yang paling umum. Ini memberitahu saya untuk membuat link ke situs web tertentu. Dan atribut umumnya diberikan, jika tidak diberikan secara eksklusif, dalam pasangan kunci-nilai. Jadi, inilah kunci, href. Dan nilai hak ini di sini. Dan itu akan berguna di kemudian hari, ketika kita mulai menggunakan beberapa perpustakaan untuk membantu kita kode JavaScript atau menulis konten HTML. Kita sering akan menjadi - seperti kita akan melakukan berbagai braket 0 dan akan memberi kita beberapa nilai. Di masa depan, kita akan melakukan banyak hal-hal seperti sesuatu braket href. Dan itu akan memberi kita nilai href, atau jika kita ingin memperbarui href kunci dan kemudian memberikannya nilai tertentu. Jadi sama seperti dengan array di mana kami memiliki tombol 0 atau 1 atau tombol tombol 2 atau bahkan dengan hash table, baik, dengan tabel hash Anda juga, Anda mungkin memiliki - itu adalah sebuah array, sehingga tombol 0, tombol 1, tombol 2. Indeks yang ada, kita bisa pikirkan itu sebagai kunci. Dan nilai adalah apa pun yang disimpan di sana. Semua atribut ini adalah pasangan kunci-nilai. Dan itu akan menjadi penting untuk mengubah mereka atau memperbarui mereka atau memasukkan mereka di kemudian hari. Akhirnya, Anda telah melihat struktur ini sebelumnya, tapi ini adalah yang paling dasar struktur halaman HTML. Di bagian atas, kami memberitahu Anda bahwa ini sebenarnya HTML. Dan kemudian kita memiliki HTML terbuka tag dan tag HTML dekat. Jadi semuanya dalam ini adalah HTML. Kita melihat kepala dan tubuh. Kepala dokumen Anda umumnya termasuk apa? Setiap tebakan untuk apa yang Anda dimasukkan ke dalam kepala? AUDIENCE: Anda menempatkan judul dan gaya. JASON Hirschhorn: Judul. Itu menebak besar. Saya mungkin memiliki tip Anda pergi ke. Apa sajakah hal-hal lain? Kami disebutkan salah satu dari mereka yang mungkin pergi di kepala. AUDIENCE: Dia mengatakan, gaya. JASON Hirschhorn: Styles - jadi jika Anda ingin menghubungkan dengan JavaScript atau bahkan CSS, yang Anda sedang berbicara tentang ketika Anda sedang berbicara tentang gaya. File lain, Anda ingin link dalam di luar berkas, yang mungkin akan terjadi di kepala. Apa lagi? Kami disebutkan beberapa slide lalu salah satu hal yang HTML dapat melakukannya untuk Anda. Hal ini dapat memberikan - dimulai dengan M - AUDIENCE: Metadata. JASON Hirschhorn: Metadata - begitu banyak metadata akan masuk di kepala, karena itu tidak akan selalu membutuhkan untuk menjadi bagian dari tubuh kode Anda. Itu umumnya - tubuh adalah konten, apa yang seseorang melihat. Dan jadi aku hanya menyerahkan jawaban ke pertanyaan berikutnya. Namun dalam tubuh umumnya konten yang akan ditampilkan pada halaman web. Seperti yang akan kita lihat, website yang rumit cenderung berbaur atau mengubah up apa mereka dimasukkan ke dalam kepala dan tubuh. Tapi pada umumnya, kepala berisi hal-hal bahwa pengguna tidak akan lihat di layar. Ini link dalam file lain dan menyediakan metadata. Padahal, tubuh berisi semua pengguna akan melihat. Tahu apa artinya p tag ini? AUDIENCE: Ayat? AUDIENCE: Print. AUDIENCE: Tidak berarti cetak. AUDIENCE: Apakah ini berarti ayat? JASON Hirschhorn: Ayat - jadi ini adalah sebuah paragraf. Dan p tag ini, saya bisa hanya mengetik ini pada layar dan kemudian termasuk satu baris pada akhir itu. Ada yang tahu bagaimana memasukkan satu baris? AUDIENCE: pr - JASON Hirschhorn: pr - AUDIENCE: Slash pr? JASON Hirschhorn: slash pr singkatan baris istirahat. Tapi paragraf memiliki spesifik format. Dan kita akan sampai ke dalam format kedua, ketika kita berbicara tentang CSS. Tapi segala sesuatu di dalam tag p ini akan memiliki beberapa format standar terkait dengan itu, mungkin beberapa spasi di antara yang berbeda paragraf. Dan itu akan menjadi salah satu cara untuk membedakan blok kode. Tag lain - apa tag lain yang telah Anda lihat? JASON Hirschhorn: h1 melalui h6. h1 melalui h6, dan apa itu? AUDIENCE: Ini akan menunjukkan seberapa besar dan berani huruf. JASON Hirschhorn: Benar, itu singkatan untuk header. Dan header1 adalah header besar. Ini mungkin akan, secara default, berani, a ukuran font besar, mungkin berpusat pada layar, semua jalan ke h6, yang merupakan ukuran font yang lebih kecil, kurang ditekankan. Tentu saja, Anda dapat, dalam Anda file CSS atau di suatu tempat dalam kode Anda - yang, lagi, kita akan mendapatkan bahwa dalam satu detik - mengubah apa perilaku default dari tag h1 adalah. Namun perlu diingat bahwa Chrome, Safari, Firefox, Internet Explorer semua memiliki standar mencari banyak ini tag standar. Anda dapat, sekali lagi, selalu berubah apa yang mereka terlihat seperti. Setiap tag lain bahwa setiap orang telah melihat? Ya - AUDIENCE: Sebuah situs div. JASON Hirschhorn: A tag div - tag div tidak memiliki format built-in, per se, yang digunakan untuk memblokir off berbagai jenis kode. Tag lainnya? Ya. AUDIENCE: li - JASON Hirschhorn: li - apa li untuk? AUDIENCE: Daftar. AUDIENCE: Daftar JASON Hirschhorn: li adalah untuk elemen daftar. Ada dua jenis daftar. Apa dua jenis? AUDIENCE: Memerintahkan dan unordered. JASON Hirschhorn: Memerintahkan dan unordered - berdiri begitu ul untuk daftar unordered. Itu jika Anda ingin peluru titik, daftar peluru. Ordered list adalah daftar bernomor. Dan sehingga Anda akan melakukan tag ul terbuka dan kemudian ton elemen list dan kemudian menutup tag ul. dan kemauan yang membuat daftar unordered. Kita akan melihat beberapa contoh HTML dalam sedikit. Tapi sebelum itu, saya ingin pergi ke CSS. Dan CSS singkatan dari Cascading Style Sheets. Dan ini sangat erat terkait HTML tapi sedikit berbeda. Ini akan membantu Anda memformat semua konten bahwa struktur HTML. Jadi dalam CSS, kita umumnya tidak ingin gaya setiap kepala tunggal atau setiap gambar tunggal atau setiap paragraf. Kami ingin gaya beberapa elemen atau mungkin elemen tertentu. Dan cara kita gaya spesifik Unsur adalah untuk memberikan suatu ID. Jadi ini adalah atribut. Ia memiliki kunci dan nilai. ID adalah kuncinya. Logo adalah nilai. Aku mengambil logo secara acak. Dan jika Anda memberikan sesuatu ID, umumnya, yang hanya dapat diberikan untuk satu elemen. Dan kemudian, dalam style sheet, Anda dapat gaya yang elemen tertentu, namun Anda ingin terlihat. Jika Anda ingin bergaya sejumlah elemen, mungkin itu kelas tertentu header, hanya beberapa header Anda. Mungkin itu adalah header dan gambar dan paragraf yang semua ingin berada ditengah. Kemudian Anda dapat memberikan kelompok-kelompok elemen semua kelas. Dan Anda dapat memberikan kelas gaya tertentu. Jadi ID dan kelas dua cara untuk memecah kode Anda, sehingga Anda dapat membantu menjadi lebih spesifik dalam apa yang Anda gaya. Ada tiga cara untuk gaya. Yang pertama adalah, dengan gaya atribut ini. Jadi Anda lihat, kunci gaya gaya. Nilai gaya sebenarnya daftar nilai kunci yang lain. Dalam hal ini, saya memilih salah satu kunci, text-align. Dan aku berkata, pusat. Anda mungkin bertanya pada diri sendiri ini point, bagaimana aku tahu tentang text-align. Apa artinya itu bahkan melakukan? Itu pertanyaan yang bagus untuk bertanya, dan kita akan sampai di sana dalam satu detik. Jadi itu salah satu cara untuk gaya sesuatu, hanya memberikan atribut style. Cara lain untuk gaya adalah sesuatu - ini adalah Akshar disebutkan sebelumnya. Anda dapat menggunakan tag gaya dan menempatkan bahwa di kepala dokumen HTML Anda. Jadi pada dasarnya Anda mengatakan, isi dalam sini adalah beberapa konten gaya. Dan format untuk itu adalah hal yang Anda ingin gaya dan kemudian, dalam kurung kurawal, nilai pasangan kunci atribut yang ingin Anda berikan kepada bahwa jenis tertentu dari elemen. Akhirnya, dan ini adalah Cara yang paling umum. Dan ini adalah cara kita melakukannya di p set 7. Ini adalah style sheet eksternal. Jadi Anda memiliki file css.. Dan di dalamnya, Anda melihat banyak hal-hal yang terlihat seperti ini, nama dari beberapa jenis unsur atau ID atau kelas dan kemudian, dalam keriting kawat gigi, daftar pasangan nilai kunci. Tentu saja, jika anda membuat sebuah eksternal berkas, Anda akan perlu memasukkannya - tajam termasuk, yang akan menjadi analogi C - dalam file HTML Anda. Jadi, Anda harus memasukkan ini kode dalam file HTML Anda. Ini menjadi nama file dan dengan asumsi itu di direktori yang sama. OK. Itu banyak. Dan sekarang kita akan bernapas dan melihat di beberapa nyata, live website dan menjelajahi lebih. Tapi sebelum kita melakukan itu, apakah ada yang memiliki pertanyaan? Jadi jika Anda ingin melakukan ini bersama dengan saya, kita bisa pergi ke alat. Dan saya memilih halaman rumah CS50. Anda dapat melakukan ini dengan situs web apapun. Tapi kenapa tidak kita mulai dengan homepage CS50? Mari kita menyegarkan. Aku benar-benar sangat menyarankan Anda melakukan ini bersama dengan saya, karena apa yang kita akan lakukan sekarang akan menjadi sangat berguna untuk Anda, tidak hanya di P-Set 7, tapi di P-Set 8 juga. Ya. AUDIENCE: Apakah ada cara untuk melakukan komentar di HTML, tanpa menggunakan PHP? JASON Hirschhorn: Ya, Anda bisa membuat komentar dalam HTML. AUDIENCE: Apa sintaks? AUDIENCE: Exclamation mark dasbor dasbor. AUDIENCE: OK. JASON Hirschhorn: Ya. Itulah sintaks. Anda dapat membuat komentar dalam HTML. Anda dapat membuat komentar dalam PHP. Seperti yang Anda lihat, komentar di HTML akan masih muncul, ketika kita melihat Kode sumber HTML dari situs tertentu. Jadi cs50.net ini. Jika Anda mengklik kanan di yang paling modern browser pada kebanyakan setiap halaman, Anda melihat sumber halaman. Jadi mari kita lakukan itu pada CS50. Dan lo dan lihatlah, kami melihat hal raksasa. CS50 benar-benar terlihat cukup bagus. Banyak situs web tidak akan terlihat bagus ini. Jika Anda pergi ke homepage Google dan membukanya. Ini tidak akan terlihat bagus ini. Tapi Anda melihat bahwa, di bagian atas - ini adalah jenis kecil. Mari kita membuat ini lebih besar. OK. Di bagian atas, DOCTYPE HTML, yang familiar. Kemudian kita melihat tag HTML terbuka dan kepala, di sini, semua meta tag. Dan Anda bisa melihat og ini, tidak akan masuk ke yang sekarang. Tapi aku hampir yakin pada saat itu mereka akan Facebook. Itu sebenarnya adalah Facebook. Saya berpikir bahwa singkatan grafik terbuka. Jadi ingat, saya menyebutkan ada -Faceboook spesifik metadata Anda dapat memberikan ke halaman. Itulah yang ada di sini. Jadi ketika Anda link halaman ini di Facebook, gambar itu akan menunjukkan adalah gambar ini di sini. Dan Anda benar-benar melihat bahwa itu Facebook, karena itu gambar Facebook. Tapi bagaimanapun, kita sudah samping. Jadi kita memiliki beberapa tag metadata sini. Kita melihat judul CS50. Dan lagi, judulnya adalah apa yang terjadi di sini di tab browser. Kita melihat ini menghubungkan dalam, di sini, file JavaScript eksternal. Kami belum berbicara tentang JavaScript banyak, tapi minggu depan - dan tentu saja jika Anda melakukan masalah set berbasis web, Anda akan menggunakan JavaScript. Ini adalah bagaimana Anda link di eksternal JavaScript file. Kita lihat di sini, akhirnya, CSS style sheet, yang mendokumentasikan ini gaya kode ini. Mari kita benar-benar membuka bahwa sampai dan kita lihat benar-benar cepat. Hal ini terlihat gila. Tidak ada cara saya akan mampu membaca. Jadi Anda benar-benar dapat meskipun, jika Anda mengambil lihat, Anda dapat melihat bahwa jenis ada - di sana kita pergi. Yang terlihat seperti sesuatu yang telah kita lihat sebelumnya, warna latar belakang, pengaturan itu sama dengan beberapa nilai merah-hijau-biru. Hal-hal semacam ini seharusnya tidak tampak bahwa asing, meskipun, ketika disajikan seperti ini, dapat agak luar biasa. Kita tidak akan melihat file CSS ini atau menghabiskan banyak waktu di atasnya, karena itu, sekali lagi, cukup sulit untuk dibaca. Mari kita kembali ke ini Halaman HTML untuk CS50. Dan mari kita gulir ke bawah ke tubuh. Dan di dalamnya kita melihat tag div ini. Kita melihat header di sini. Kita melihat tag anchor. Dan ini elemen daftar adalah diberi kelas khusus. Dan kita melihat kelas yang diulang berulang-ulang. Ada Anda Curtis. Ada komentar di HTML5. Dan setelah Anda melihat, kita masih bisa melihat itu, tapi itu tidak muncul. Ini sebenarnya benar-benar menarik. Sepertinya daftar skor ini elemen komentar. Jika kita pergi ke halaman ini, sekali lagi, masih muncul di sana, begitu menarik. Oh, itu sebabnya, karena dari baris berikutnya ini. Apa lagi yang kita melihat kepentingan? Sisa ini lebih membingungkan, di berurusan dengan setengah hak ini dari website, yang sedikit sedikit lebih kompleks. Jadi ini adalah apa yang beberapa HTML akan terlihat seperti. Bagi saya meskipun, ini sedikit luar biasa, dan ini tidak membantu saya banyak. Namun, ada sesuatu yang tidak, pada kenyataannya, banyak membantu saya. Dan itulah yang saya gunakan setiap kali aku mencoba untuk mencari tahu bagaimana sesuatu terlihat jalan tersebut, atau bagaimana bisa Saya membuat perubahan pada website saya. Dan itu adalah alat pengembang yang dibangun ke Chrome. Jadi, jika Anda pergi ke ini tiga bar yang tepat di sini dan pergi ke tools klik Developer Tools, sebuah jendela kecil akan muncul di bagian bawah halaman. Dan khususnya, Chrome, karena indah, akan memformat jendela ini dan mengambil HTML dan membuatnya terlihat jauh lebih baik untuk Anda. Jadi sekarang itu sebenarnya beberapa dilipat HTML yang dapat Anda jelajahi untuk memeriksa elemen halaman. Jika kita ingin melihat tubuh, itu benar-benar menyoroti. Ketika Anda gulir atas bagian dari HTML, bawah dalam jendela ini, maka akan menyorot bagian itu berbicara tentang di jendela besar. Jadi biarkan aku lagi mencoba dan meledakkan ini sedikit. OK. Jadi mari kita membuka tubuh. Dan aku bergulir atas div kiri ini. Dan Anda melihat bahwa itu menyoroti kiri setengah ini layar. Jadi mari kita klik itu dan memperluas itu. Di dalamnya, sepertinya ada dua divs. Ada div pertama ini. Saya tidak melihat yang disorot. Aku tidak tahu, tapi sepertinya ini kedua, meninggalkan batin, adalah konten di sisi kiri layar. Lalu ada hal yang disebut kepala. Sepertinya yang menyoroti bagian CS50. Jika kita membuka itu, kita melihat bahwa itu tidak lebih dari kepala 1. Ini diberi ID, dan itu mengingat CS50 teks. Jadi sekali lagi, melihat melalui ini konsol atau menggunakan alat pengembang pane di bagian bawah merek layar menjelajahi website ini, mudah-mudahan, jauh lebih sedikit menakutkan dan lebih banyak diakses. Hal ini juga memungkinkan kita untuk memahami bahwa website ini, meskipun terlihat sangat cantik dan baik, tidak semua yang banyak lebih dari apa yang Anda akan lakukan pada Soal Set 7. Dan ini benar-benar dalam kemampuan Anda untuk membuat. Jika kita ingin - hal menarik lainnya tentang menggunakan ini alat adalah, jika Anda mengklik kanan pada judul, Anda dapat mengedit HTML. Jadi sebut saja Jason. Dan sekarang Anda akan melihat saya telah berubah HTML pada halaman ini. Tentu saja, saya tidak berubah secara permanen. Jika saya refresh browser saya, maka akan kembali ke HTML asli. Tapi kadang-kadang saya ingin debug kode saya, dan saya tidak ingin melihat hanya saya window gedit dan mencoba dan memahami apa yang terjadi. Saya ingin melihat apa yang akan terjadi hidup. Jadi saya akan mengedit kode seperti ini dan mendapatkan dengan cara yang saya inginkan untuk melihat. Dan kemudian aku akan membuat perubahan dalam kode saya. Dan saya menemukan bahwa itu jauh lebih mudah ketika Anda bisa melakukan hal-hal seketika, seperti itu. Katakanlah, sekali lagi, kami ingin membuat yang lain kesempatan, karena kita menjelajahi dengan HTML dan CSS sekarang. Saya dapat mengedit HTML sekarang. Dan aku akan menyertakan link. Jadi aku akan mengubah rumah CS50 ini halaman, sehingga akan link ke - katakanlah - halaman rumah saya. Apa nama, kalau ada yang ingat, atau apa atribut saya ingin memberikan untuk jangkar tab ketika saya ingin untuk link di tempat lain? AUDIENCE: href? JASON Hirschhorn: href - Jadi sekarang, Anda akan melihat bahwa ada adalah garis bawah di bawah Jason. Itu karena Chrome, secara default, memberikan jangkar garis bawah. Anda mungkin pernah melihat itu sebelumnya ketika Anda sudah pergi ke sebuah halaman web. Hal-hal yang link menggarisbawahi dan warna biru. Gaya default untuk link adalah umumnya menggarisbawahi dan memasukkannya ke dalam biru. Jika saya tidak seperti itu, Saya bisa mengubah itu. Dan kami akan mengubahnya dalam hitungan detik. Tapi sekarang, juga melihat bahwa, jika saya hover selama ini, di bagian bawah kiri layar, tepat di atas elemen kata adalah link yang saya berikan. Jadi jika saya melakukan klik ini - dan kita bisa klik kanan pada ini, membuka tab baru. Hal ini tidak benar-benar situs saya. Hanya saja nama saya. Di sana Anda pergi. Sekarang kami telah mengubahnya menjadi link. Mari kita menjelajahi beberapa CSS juga. Hal yang indah - dan aku akan membuat ini sedikit lebih kecil - sekitar konsol ini adalah, bahwa sheet CSS gila kita lihat sebelumnya, itu benar-benar sulit untuk mengurai, kini indah ditata untuk kita di sisi kiri dari panel ini. Jadi kita dapat melihat. Dan jika kita memperluas tab gaya ini, kami dapat melihat semua gaya yang berbeda yang berkaitan dengan, dalam hal ini, elemen tertentu ini, ini elemen link. Jika kita melakukan tab gaya majemuk, yang hanya menunjukkan kepada kita, tidak di mana segala sesuatu berasal, tapi pada dasarnya semua ini gaya yang beroperasi pada ini elemen tertentu sekarang. Dan katakanlah, kita ingin untuk mengubahnya sedikit. Jadi ini semua gaya yang beroperasi pada elemen tertentu. Katakanlah kita ingin mengubahnya, karena kita ingin melihat bagaimana sesuatu terlihat. Dan kita hanya bermain sekitar sekarang. Atau kita ingin menguji sesuatu, sebelum menulis dalam kode dan mendorong dan membuatnya hidup. Kita bisa pergi ke tab gaya. Dan dalam kotak pertama kata, element.style. Dan di sini, Anda dapat menyisipkan, Anda dapat menambahkan sesuatu. Jadi saya ingin - mari kita pergi ke link saya dan mengatur warna latar belakang. Dan itu benar-benar AutoFills untuk Anda, semua properti yang mungkin. Warna latar belakang, dan aku ingin untuk membuat biru itu. Blus bukan sebuah kata. Biru adalah sebuah kata. Apakah aku melihatnya datang? Oh, adalah bahwa karena di href? OK. Jadi saya tidak melihat perubahan apa pun di sini. Dan itu karena, jika kita menyoroti link, Anda akan melihat bahwa link tidak benar-benar mengendalikan sifat elemen tertentu. Ini sebenarnya, jika kita membuka link tersebut, header ini di sini itu mengendalikan apa yang tampak seperti. Jadi jika saya ingin membuat latar belakang biru, aku benar-benar harus mengubah background warna pada elemen sundulan. Dan sekarang kita melihat bahwa latar belakang biru. Jadi sekali lagi, ini dengan cepat mungkin akan melalui materi ini cukup cepat. Tapi ini dasarnya apa Anda akan lakukan. Ini bukan pada Soal Set 7, tapi jelas ketika Anda coding di web. OK. Saya ingin membuat latar belakang biru. Meskipun, dalam hal ini, biru terlihat cukup jelek. Aku bisa masuk di sini, bermain-main. Saya melihat bahwa perubahan ke biru tidak bekerja pada itu. Saya harus benar-benar mengubah header elemen untuk menyertakan biru background. Dan kemudian, jika kemudian saya kembali ke CSS saya berkas, bagaimana saya benar-benar mengatur ini background menjadi biru dan membuat perubahan ini tongkat? Karena jika kita melihat jika saya refresh Halaman, semua perubahan yang dibuat hilang. Jadi saya menyadari, OK, saya latar belakang biru. Aku harus pergi ke dalam elemen header1 dan mengubah warna latar belakang biru. Bagaimana saya benar-benar membuat perubahan itu? Nah, ingat bahwa, jika kita masuk ke dalam dari sini, header, judul memiliki ID. Dan itulah judul. Dan dalam file CSS kita, kita dapat mengatakan, OK, mengambil apa pun dengan ID dari judul dan memberikan properti tambahan ini. Bagaimana kita referensi sesuatu dengan ID judul, ide, atau siapa tahu bagaimana kita referensi ID dalam file CSS kami? Sebuah hash, itulah yang benar. Dan Anda punya sedikit itu di sini. Jadi suatu tempat di file CSS ini, ada baris kode - # # # Header kiri # judul kiri-batin. Dan itu memberikan margin bawah, mendefinisikan bagian bawah margin ini elemen tertentu. Nah, jika saya ingin mengubah itu, Aku akan pergi ke dalam file CSS ini. Dan aku bisa juga menemukan ini bagian dari file CSS. Atau aku bisa menulis sendiri. Aku bisa melakukan hash judul curly brace dan maka latar belakang biru usus warna koma dan dekat sehingga penjepit keriting. Dan itu akan mengubah latar belakang warna elemen ini menjadi biru. Alasan mereka memberikan begitu banyak di sini adalah itu, penting dalam hal ini, karena judul adalah ID unik. Tapi apa yang dapat Anda lakukan adalah hal-hal sarang. Jadi ini mengatakan, OK, pergi ke kiri. Itu sangat kecil. Saya minta maaf untuk itu. Tapi pergi ke hal dengan ID kiri. Di dalam itu, mencari hal dengan ID meninggalkan batin. Di dalam tampilan itu, mencari hal dengan ID sundulan. Di dalam itu, mencari hal Title ID dan mengubah judul ID. Jadi ini hanya cara hal bersarang. Beberapa orang seperti sarang, karena itu membuatnya sedikit lebih jelas. Anda akan melihat di sini juga, kan sini, tidak ada hash. Hanya saja h1. Itu karena h1 diberi nama dari tag generik. Dan ada beberapa properti CSS terkait dengan setiap h1 tunggal. Jadi jika saya menemukan h1 lain pada halaman ini, Saya juga akan melihat bahwa gaya ini adalah diterapkan untuk itu juga. Jika saya ingin menerapkan gaya ke kelas, bagaimana cara referensi kelas atau berbicara tentang kelas dalam file CSS? AUDIENCE: Dot. JASON Hirschhorn: Ini dengan sebuah titik. Jadi mari kita kembali ke halaman ini sebelumnya. Jika saya melakukan hash ID. Itu mengubah gaya dari hal dengan ID. Atau maaf, jika saya melakukan logo hash, itu menemukan hal dengan ID dari logo dan memberikan gaya CSS tertentu. Jika saya melakukan sesuatu. Atas, yang menemukan segala sesuatu dengan kelas atas dan mengubah gaya nya. Jika saya hanya h1, yang menemukan setiap h1 tunggal dan memberikan yang apapun gaya saya ingin memberikannya. Jika saya melakukan space h1 dan kemudian. Atas. Itu akan menemukan semua h1s dan kemudian semua yang dengan kelas atas dan maka hanya mengubah gaya tersebut untuk apa pun yang saya ingin memberikannya. Dan lagi, kita bisa menulis beberapa hal ini pada kita sendiri. Tapi kita tidak akan sampai sejauh itu. Jauh lebih baik, tampaknya benar-benar pergi pada sebuah situs web real live dan melihat bagaimana mereka melakukannya dan melihat semua hal-hal fantastis Anda bisa melakukan. Mari kita lihat satu lagi situs web sebelum kita melanjutkan. Dan ini adalah salah satu yang mungkin Anda akan menjadi akrab dengan. Ini adalah CS50 Finance. Jadi sekali lagi, Anda benar-benar bisa masuk dan mengamati file CSS ini pada Anda komputer, karena Anda men-download ini File CSS, jika Anda men-download masalah ditetapkan. Kita bisa pergi ke Tools dan Developer Tools. Dan kita melihat tata letak HTML lebih sederhana. Kami memiliki atas, tengah, dan bawah. Dan lagi, sesuatu yang Anda harus kenal, karena Anda telah melihat melalui kode distribusi untuk masalah minggu ini ditetapkan. Di atas adalah, per kode, gambar tunggal yang disebut. Dan itu adalah sumber gambar. Katakanlah aku telah menyelesaikan semua apa Saya ingin untuk Soal Set 7. Dan itu bekerja dengan benar, tetapi Saya ingin mengubah tampilannya. Dan saya ingin mengubah latar belakang dari bagian atas halaman untuk, misalnya, biru. Jika itu aku, aku akan datang di sini dan mencari tahu, apa OK yang ingin saya ubah. Mari kita lihat, ID div atas, yang terlihat seperti atas halaman. Jadi mari kita pergi ke sana. Mari kita coba mengubah warna latar belakang. Mari kita lakukan Alice biru, karena itu hal yang baik. Dan Anda akan melihat bahwa - Anda mungkin tidak bisa melihat itu. Tapi ada biru muda, di samping logo CS50. Mari kita mengubahnya bukan menjadi merah. Dan Anda akan melihat sekarang saya hanya berubah warna latar belakang merah. Jadi sekarang aku akan pergi ke file CSS dan ketik # paren keriting kanan atas sini. Anda dapat melihat kode yang tepat sini, penjepit keriting. Dan kemudian, saya akan menambahkan background warna, merah. Dan kemudian, ada akan menjadi penjepit keriting. Jadi itu adalah bagaimana saya akan mengeksplorasi dan bereksperimen dengan format pada CS50 Situs keuangan. Aku bisa melakukannya di sini dan uji it out di browser saya. Dan kemudian, aku bisa pergi ke dalam kode yang sebenarnya dan membuat perubahan yang akan benar-benar pergi hidup dan bahwa orang-orang benar-benar melihat, jika mereka datang ke situs tertentu saya. OK. Itu banyak. Saya minta maaf untuk pergi melalui begitu cepat. Apakah Ada yang punya pertanyaan sama sekali tentang HTML atau CSS? AUDIENCE: Bisakah Anda hanya pergi atas bagaimana Anda terkait apa yang menjadi Jason, lagi? JASON Hirschhorn: Apa maksudmu terkait? AUDIENCE: Anda memberikan link ke yang lain website, dengan menggunakan jangkar. JASON Hirschhorn: Jadi kau bertanya, hanya umum, bagaimana Anda membuat link? AUDIENCE: Ya. JASON Hirschhorn: OK. Kode untuk membuat link - AUDIENCE: Tidak, seperti dalam HTML. JASON Hirschhorn: Di sini, Anda maksud? Jadi jika saya ingin menyertakan link di suatu tempat, katakanlah, ini adalah HTML pada saya Halaman di sini. Ini adalah HTML. Mungkin itu terbuka dalam sebuah file, index.html. Aku masuk Mari kita hak cipta ini John Harvard link ke sesuatu. Jadi kita akan mengedit semua ini sebagai HTML. Yang Anda lakukan adalah memasukkan, sehingga braket braket dari dekat awal, dan kemudian braket slash braket dekat di akhir. Jadi sekarang saya telah menyertakan tag anchor. Dan sebenarnya, jika Anda mengklik dari ini, sekarang akan format itu sebagai mengedit HTML. Dan mengatakan, kami ingin menghubungkannya. Sebaiknya kita Anda atribut href. Dan kita katakan - Dan sekarang, setelah Anda melihat, hak cipta John Harvard biru. Dan ketika saya gulir atas itu, sekarang link. Jadi, Anda dapat menulis kode yang. Anda dapat mengelilingi apa pun cukup banyak Anda inginkan dalam sebuah tag anchor dan mengubahnya menjadi link. AUDIENCE: OK. Got it. JASON Hirschhorn: Dan jika saya tidak ingin itu - tentu saja, kadang-kadang orang cenderung untuk berpikir hal-hal yang hanya melihat biru umum dan digarisbawahi adalah bukan cara tercantik untuk membuat link. Jadi jika saya datang ke sini, Anda melihat bahwa, di suatu tempat di file CSS, ada menulis ini dan kemudian dua kurung kurawal. Jadi mari kita mengatakan bahwa, untuk link, saya tidak ingin mereka menjadi biru, bukan aku menginginkan warna link ke menjadi magenta ini bagus. Mari kita memberikan warna. Mari kita ambil magenta. Sekarang, semua link pada halaman saya memiliki menjadi warna ini bagus magenta. Beberapa orang tidak suka warna sama sekali. Beberapa orang tidak suka menggarisbawahi. Anda bisa memilih. Dengan link, Anda dapat gaya bagaimana mereka terlihat setelah Anda mengunjungi mereka. Seperti yang akan Anda perhatikan pada banyak halaman, Link berubah ungu pada Anda mengunjungi mereka. Anda dapat mengubah warna itu juga. Ya. AUDIENCE: Jadi Anda mengubahnya untuk setiap link tunggal. Tetapi jika Anda hanya ingin melakukan link yang sendiri, akan Anda hanya dilakukan di ID bawah atau sesuatu? JASON Hirschhorn: Pertanyaan Begitu besar. Seperti yang Anda perhatikan di sini, saya mengubah beberapa bagian dari CSS yang berlaku untuk segala sesuatu yang A. Jika saya ingin hanya melakukan itu link di bagian bawah, saya akan pergi ke file CSS saya dan mungkin melakukan seperti yang Anda katakan, hash ruang bawah a. Dan itu akan memberi saya Seperti dalam semua bagian bawah. Atau aku bisa, alternatif, memberikan ID unik dan kemudian hanya melakukan link hash. Dan itu akan memungkinkan saya untuk mengubah hal ini. Namun, hanya membagikan ID mau tak mau umumnya buruk praktek, karena mereka harus unik. Dan semakin Anda memiliki orang-orang, itu bisa mendapatkan sedikit membingungkan. Ya. AUDIENCE: Dapatkah Anda memberikan hal yang sama ID ke beberapa pemilik? JASON Hirschhorn: Secara teknis, ya. Tidak ada yang akan menghentikan Anda, tetapi Anda seharusnya tidak Anda harus memberikan kelas. OK, pertanyaan lain tentang HTML atau CSS? OK. Mari kita beralih ke PHP. Oh, ya. AUDIENCE: Ada apa ini website yang berarti bahwa kita dapat mengedit mereka sebelum kita menyegarkan. Tapi begitu kita refresh beralih kembali ke HTML awal? JASON Hirschhorn: Pertanyaan besar - jadi ketika kita telah dimuat ini halaman web, itu HTML. Dan itu JavaScript. PHP Its dijalankan untuk memberi kita apa pun jenis website yang kita lihat. Dan itu menciptakan beberapa HTML, beberapa JavaScript, dan beberapa CSS. Dan itu sudah dapat diakses oleh komputer kita. Dan salinan file-file disimpan secara lokal pada komputer kita, untuk saat ini. Jadi kita bisa mengedit salinan lokal. Tapi tentu saja, kita tidak mengedit salinan Server. Dan ketika kita me-refresh halaman, kita mendapatkan salinan server lain. Dan jadi kita melihat hal-hal kembali seperti mereka. Jika kita mampu, dari sini, untuk mengedit website resmi, kita akan memiliki banyak masalah. AUDIENCE: Ya, jadi kita dapat membaca dan menulis salinan itu. JASON Hirschhorn: Benar. Kita hanya membuat perubahan lokal di sini, tapi sekali lagi, sangat membantu untuk menjelajahi, seringkali. Ketika saya sedang menulis tugas akhir saya, untuk Misalnya, saya ingin melihat bagaimana beberapa situs membuat sesuatu yang terlihat cara mereka lakukan. Aku akan masuk dan menggunakan panel ini turun di sini, untuk melihat apa yang mereka berikan kepada CSS atau warna apa yang mereka memilih atau bagaimana mereka mendapatkannya sehingga, ketika Anda melayang atas sesuatu, daftar turun dalam Cascading busana yang bagus. Ini adalah cara yang bagus untuk memeriksa apa yang lain website lakukan dan meminjam dari mereka. Mari kita beralih ke PHP. PHP singkatan, dalam arti rekursif, PHP Hypertext Processor. Dan PHP, apa itu akan melakukan adalah mengeksekusi kode sisi server. Jadi kita tidak akan pernah melihat kode PHP. Namun, tidak bermain dengan baik dengan HTML dan sering menghasilkan banyak kode HTML. Tetapi karena Anda akan akrab dengan masalah Set 7, kode PHP akan mengeksekusi, menghasilkan beberapa HTML, dan itulah yang pengguna akan berakhir melihat. PHP ini sangat mirip dengan C. Namun, ada beberapa perbedaan, dan perbedaan-perbedaan penting untuk dicatat. Salah satu perbedaan adalah bahwa variabel di PHP longgar diketik. Apakah ada yang punya arti apa artinya? AUDIENCE: Tidak perlu membuang sendiri. Seperti tidak perlu menulis dalam teks. JASON Hirschhorn: Saya tidak akan menggunakan cor kata, tapi ya, tidak perlu mendeklarasikan jenis untuk variabel tertentu. Bagaimana bukannya kita mendeklarasikan variabel? AUDIENCE: Gunakan tanda dolar. JASON Hirschhorn: Gunakan tanda dolar. Jadi $ x adalah variabel. $ 1 variabel. $ String adalah variabel. Variabel, $ x bisa menjadi integer. Kemudian, itu bisa menjadi string. Kemudian, bisa jadi karakter. Itu tidak terlalu penting. Selain itu, hal yang keren tentang PHP adalah, katakanlah, $ x adalah satu string. Dan $ y adalah karakter satu. Anda dapat menambahkan $ x dan $ y, dan itu akan memberikan 2, apa yang Anda harapkan. Jadi ada operasi di PHP. Karena itu longgar diketik variabel, beberapa casting implisit dilakukan untuk Anda dan beberapa operasi. Anda dapat melakukan operasi pada hal-hal jenis yang berbeda. Padahal sebelumnya, Anda sering mendapatkan error di C mengatakan, ini bukan jenis yang seharusnya untuk pergi di sini. Hanya hal-hal jenis ini bisa pergi di sini. Anda tidak akan mendapatkan jenis yang kesalahan, umumnya, di PHP. Jadi itu salah satu perbedaan besar - bagaimana kita berurusan dengan variabel. Perbedaan besar kedua adalah bahwa Kode PHP ditafsirkan. Wheres, kode C dikompilasi. Apa artinya? Nah, untuk kode C Anda berlari melalui kompilator. Anda menghasilkan file biner. Dan Anda menjalankan file biner. Anda mengurus semua kesalahan sebelum Anda menghasilkan file biner. Tentu saja, mungkin ada segmentasi kesalahan, ketika Anda menjalankan file biner. Tapi itu tidak seperti Anda lupa untuk menyertakan definisi printf, atau Anda tidak menggunakan variabel dan hanya menciptakan variabel boros. Atau Anda tidak mendefinisikan prototipe fungsi. Semua yang terjadi sebelum Anda dikompilasi. Ini memberi Anda semua kesalahan atau buruk hal-hal yang ia pikir mungkin terjadi. Dan kemudian, Anda memiliki Anda 0 dan 1 file yang Anda berlari. Kode PHP tidak bekerja seperti itu. Anda akan menulis kode PHP Anda. Kemudian, Anda akan menyimpannya, mungkin. Dan setidaknya di P-Set 7, Anda akan refresh browser web Anda, dan Anda akan melihat apa yang terjadi. Anda akan melihat output dari kode PHP. Anda juga bisa melihat, di atas halaman Anda, kesalahan. Karena Anda memiliki beberapa kesalahan dalam PHP Anda. Anda masih bisa melihat sisa halaman web adalah mencari baik-baik saja. Tapi satu bagian yang salah, dan ada kesalahan di tempat itu. Dan itu karena bagian dari kode PHP Anda tidak bekerja. Memang, ketika Anda mengeksekusi, ketika Anda pergi ke sesuatu seperti by.php. Ini akan pergi melalui PHP Anda mengajukan baris demi baris dan jalankan kemudian dan hanya kemudian. Ini tidak akan melakukan kompilasi depan waktu atau mengkompilasi satu salinan dan kemudian memberikan yang disusun copy untuk semua orang. Setiap kali, itu akan pergi melalui baris demi baris dan jalankan. Jadi beberapa baris mungkin bekerja dan output sesuatu yang benar. Dan jalur lainnya mungkin rusak dan output kesalahan gantinya. Jadi, ketika debugging dengan PHP, kami telah memberikan Anda beberapa hal bermanfaat untuk membantu Anda debug, seperti fungsi pembuangan. Tapi pada umumnya, Anda akan untuk melihat kesalahan ini. Dan itulah bagaimana Anda akan tahu Anda melakukan sesuatu yang salah. Tapi kau hanya akan melihat kesalahan setelah Anda benar-benar menjalankan kode. Aspek penting lainnya dari PHP dan pengembangan web adalah ide get dibandingkan pos. Ada yang bisa menjelaskan apa perbedaan antara mendapatkan dan pasca adalah? Nobody - ya. AUDIENCE: Tidak salah satu dari mereka membiarkan pengguna melihat data, dan salah satu dari mereka tidak? JASON Hirschhorn: Great. Ya, apakah Anda memiliki sesuatu untuk menambahkan? AUDIENCE: Saya posting tipis adalah variabel super global. JASON Hirschhorn: Jadi kedua hal ini variabel yang diberikan kepada Anda. Ini hanya variabel. Dan Anda tahu mereka variabel, karena di sini saya menggunakan tanda dolar. Ini adalah variabel yang diberikan kepada Anda oleh PHP. Dan ketika Anda berpindah di antara halaman web, Anda ingin menyimpan beberapa informasi. Anda mungkin ingin menyimpan jika pengguna yang login Itu tidak disimpan dalam GET dan POST. Itu disimpan dalam sesuatu yang lain, variabel yang berbeda. Siapa tahu apa variabel yang disimpan dalam, atau apa yang Anda gunakan dalam variabel P-Set 7, untuk memastikan bahwa pengguna login? $ _SESSION, Itulah yang benar, mungkin penting untuk menjadi akrab dengan nama-nama hal-hal ini sering Anda gunakan. Jadi, Anda menggunakan variabel sesi untuk menyimpan Informasi dari halaman ke halaman. Itu variabel yang super. Itu ada pada setiap halaman, mungkin seperti variabel global, jika Anda ingin untuk berpikir tentang hal seperti itu. Ada beberapa variabel lain yang memungkinkan Anda untuk mentransfer informasi dari halaman ke halaman. Secara khusus, orang-orang kita akan berfokus pada adalah GET dan POST variabel. Dalam PHP mereka terlihat seperti $ _GET Dan $ _POST. Dan perbedaan, seperti Marcus menunjuk keluar, antara keduanya adalah bahwa, Informasi di $ _GET adalah ditampilkan dalam URL. Jadi, jika kita melihat di sini, kita melihat link YouTube. Kita melihat tanda tanya ini. Kita melihat v = dan kemudian beberapa nilai. Kembali ke gagasan ini nilai kunci pair, v adalah kuncinya. Dan di sini adalah nilai. Jadi jika kita pergi ke halaman ini atau coding di halaman ini, kita akan memiliki variabel yang disebut $ _GET. Jika kita pergi ke $ _GET braket terbuka "v" braket dekat, sangat mirip dengan array yang notasi, ini adalah array asosiasi karena kita tidak menggunakan indeks. Menggunakan string sebagai kunci. Tapi ide yang sangat mirip. Jika kita pergi kita, akan mendapatkan nilai ini. Pada halaman ini, kita akan bisa menggunakan nilai ini. Jika kita benar-benar melihat, mari kita pergi ke halaman YouTube. Apa video yang harus kita tonton? Yang satu ini, adalah orang-orang Hobbit fans? AUDIENCE: Ya. JASON Hirschhorn: Jadi aku menyalin URL bagian mereka dan paste di jendela baru. Dan sekarang, jika Anda melihat di sini, Anda akan melihat bahwa, sekali lagi - Aku akan copy dan paste ini ke gedit, sehingga kita dapat melihat lebih besar. Anda akan melihat bahwa ia memiliki tanda tanya ini. Tanda tanya menunjuk bahwa semuanya setelah ini akan menjadi disimpan dalam variabel get. Kemudian memiliki v, itulah yang pertama kunci dan nilai pertama ini. Ampersand khusus. Ampersand berkata, OK, kita selesai nilai pertama. Kita sekarang pindah ke lain kunci nilai pasangan. Di sini, kuncinya disebut fitur, dan nilai youtu.be. Jadi jika saya coding halaman ini dan seseorang pergi ke URL ini dan aku mungkin watch.php. Dan aku coding ini. Dan aku bisa menggunakan variabel $ _GET. Dan aku akan memiliki v, dan Saya akan memiliki fitur. Dan jika saya menggunakan tombol v, saya akan mendapatkan nilai ini. Dan jika saya melakukan $ _GET braket "fitur" braket dekat, saya akan mendapatkan nilai ini. Sekali lagi, itu tidak selalu berlaku untuk - jelas, tombol YouTube dan nilai-nilai dan mendapatkan informasi tidak berlaku untuk Masalah kami Set 7. Tapi ada hal-hal tertentu yang kita lulus melalui GET pada Soal kami Set 7. Dan tentu saja, ketika Anda pergi ke halaman web atau coding halaman Anda sendiri, yang $ _GET Akan berguna ketika Anda coding. Apa adalah salah satu alasan untuk menggunakan $ _GET kemudian, jika memberikan privasi tidak ada? Anda melihat semua informasi ini yang sedang ditransfer. Ini semua ditampilkan kepada pengguna. Tapi apa salah satu alasan bahwa Anda mungkin ingin menyimpan sesuatu dalam $ _GET, seperti bertentangan dengan $ _POST? Mengapa Anda ingin melakukan itu? Baik. Saya meminta Anda Quiz 1. Apa pro dari $ _GET? Apa satu pro? Ya - AUDIENCE: Lebih mudah untuk berbagi informasi. JASON Hirschhorn: Saya pikir itu bagus. Lebih mudah untuk berbagi informasi. Lebih mudah untuk bookmark. Anda dapat membuat penunjuk sekarang, YouTube.com / watch? V = sesuatu dan pergi dengan video tertentu. Jika YouTube selalu melakukan permintaan POST ke halaman yang berbeda, setiap URL YouTube akan YouTube.com. Anda tidak bisa bookmark video tunggal. Karena jika Anda mengatakan bahwa berbagi tautan dengan orang lain, mereka tidak secara otomatis mendapatkan variabel posting Anda. Mereka hanya mendapatkan link ini, dan link adalah sama untuk semua orang. Jadi itu adalah salah satu pro. Hal ini memungkinkan Anda untuk bookmark ini informasi atau berbagi informasi ini atau membuatnya sedikit lebih user-friendly. Tentu saja, tidak ada privasi, sehingga kita memiliki variabel posting ini. Dan informasi pos tidak ditampilkan dalam URL. Ini tidak benar-benar pribadi. Tapi ini sedikit lebih pribadi. Dan Anda akan melihat URL ini di sini, cs50.net. Apakah atau tidak Anda login ke website, itu akan memiliki yang sama URL, cs50.net. Jelas, ada sesuatu yang berbeda, jika Anda login ke situs web. Anda memiliki, satu, mungkin masukan PIN Anda. Dan itu telah mengkonfirmasi bahwa dengan server. Dan itu mungkin menyimpan beberapa informasi lainnya. Tapi URL tidak berubah sama sekali. Dan itu yang terjadi, ketika sesuatu yang dikirim oleh POST. URL tidak berubah. Informasi POST ini tidak ditampilkan dalam URL. Tetapi beberapa negara telah berubah, dan mungkin ada beberapa informasi yang disimpan dalam Variabel POST. Maaf. sebelum aku pergi ke SQL, setiap pertanyaan tentang PHP, khususnya, pertanyaan tentang hal-hal yang kami tidak pergi lebih bahwa Anda telah menemukan atau sintaks atau pertanyaan logika tentang PHP? OK. Bahasa akhir Anda akan berinteraksi dengan minggu ini adalah Structured Query Language, SQL, diucapkan sekuel sering. Yang memungkinkan Anda untuk berinteraksi dengan database dalam cara yang formal. Dan itu bermain sangat baik dengan PHP. Seperti yang akan Anda lihat pada Soal Set 7, kami telah Anda diberi fungsi yang disebut query. Dan dibutuhkan string SQL dan mengeksekusi bahwa permintaan pada database. Dalam beberapa tahun terakhir, Anda tidak diberikan fungsi ini. Anda harus menggunakan fungsi PHP untuk membuat query pada database dan cek untuk kesalahan dan kemudian mendapatkan hasil. Dan sebenarnya, itu tidak sulit, karena lagi-lagi, memainkan sangat baik dengan PHP. Dan PHP memberikan banyak fungsi untuk berinteraksi dengan database SQL. Jadi sering, dua dari ini pergi bersama-sama. Tentu saja, Anda bisa berinteraksi dengan database SQL dengan sejumlah bahasa lain. Tapi PHP adalah salah besar untuk memilih. Database - kita akan membahas ini dengan cepat, karena ini adalah kata buzz kita akan mulai menggunakan sering - adalah kumpulan dari tabel. Jadi kita bisa memikirkan hal itu sebagai file Excel. File Excel memiliki banyak tab di bagian bawah layar. Setiap tab sekarang kita akan menelepon meja, di mana tabel adalah kumpulan baris. Dan apa berturut-turut? Nah, berturut-turut adalah hal yang sama dalam file Excel. Yang hanya memiliki nilai-nilai tertentu untuk masing-masing diberikan lapangan atau setiap kolom yang diberikan. Ini seperti sebuah entri dalam tabel. Ini adalah mahasiswa, yang memiliki ID an, a ID tertentu, dan nama khusus dan rumah tertentu. Jadi database adalah koleksi tabel. Dan tabel sendiri adalah jumlah baris atau catatan. Ada juga, di setiap tabel, bidang-bidang tertentu. Dan yang menentukan apa yang setiap record adalah akan memiliki, bidang kadang-kadang disebut kolom tetapi umumnya disebut bidang. Dalam tabel yang sangat sederhana ini, saya memiliki tiga bidang, bidang ID, username lapangan, dan bidang hash. Dan aku punya tiga baris. Saat ini, mereka kosong. Mereka mungkin tidak akan kosong jika ini adalah database saya nyata. Jadi, jika Anda telah menggunakan Excel, ide serupa untuk apa yang Anda lakukan di Excel, meskipun, jelas, sekarang kita akan dapat melakukan lebih banyak hal kuat pada informasi yang disimpan dalam database kami. Anda akan menciptakan diri Anda salah satu database untuk Masalah Set 7. Tapi Anda akan menciptakan beberapa tabel dalam database. Anda akan menciptakan database atau meja untuk pengguna. Anda akan juga membuat tabel untuk mungkin transaksi saham, untuk menjaga jejak mereka, karena Anda perlu mengimplementasikan fitur sejarah. Kedua meja tersebut akan memiliki bidang yang berbeda. Misalnya, dalam bidang pengguna, Anda mungkin ingin nama pengguna dan ID dan hash password mereka. Dalam tabel Saham yang melacak sejarah atau tabel History, Anda mungkin tidak perlu nama pengguna dan hash dan ID. Anda mungkin hanya perlu salah satu dari mereka nilai-nilai yang unik, untuk mengasosiasikan dengan pengguna tertentu. Tapi kemudian, Anda ingin menyimpan lain hal-hal seperti, apa waktu adalah transaksi yang dilakukan. Apa saham dibeli atau dijual? Berapa banyak saham yang dibeli atau dijual? Apa harga di mana saham dibeli atau dijual? Jadi sekali lagi, Anda akan berinteraksi dengan database yang akan memiliki beberapa tabel. Setiap tabel akan memiliki menetapkan sendiri bidang. Namun, ada kemungkinan akan serupa lapangan di setiap tabel, yang menghubungkan mereka satu sama lain. Biasanya, ini adalah bidang ID. Karena jika setiap pengguna memiliki ID unik dan Anda mengasosiasikan ID bahwa dengan setiap transaksi yang pengguna membuat atau semua sejarah pengguna. Dan Anda memiliki ID pengguna. Anda bisa mendapatkan informasi dari salah satu meja. Anda bisa mendapatkan nama mereka, dan Anda bisa mendapatkan semua transaksi mereka. Pertanyaan tentang database, atau pertanyaan spesifik? Sebenarnya, mari kita pegang itu. Kami akan berada di sana dalam dua sisi. Jadi ada empat operasi pada database yang akan Anda gunakan di Masalah Set 7 dan kemungkinan pernah menggunakan. Hal pertama yang Anda ingin lakukan adalah insert rekor baru ke dalam tabel atau baris baru ke dalam tabel. Ini adalah fungsi generik, yang bentuk generik, itu query SQL. INSERT INTO tabel, kolom apapun Anda ingin menyisipkan dan kemudian nilai-nilai yang Anda akan ingin dimasukkan ke dalam orang-kolom atau bidang. Jika Anda memiliki beberapa tabel dalam database atau beberapa database, Anda mungkin juga perlu menentukan database dan meja yang Anda inginkan untuk meletakkan segala sesuatu ke dalam. Tapi sangat sederhana, jika Anda ingin menyisipkan menjadi sesuatu, Anda katakan, di sini adalah bidang saya ingin memasukkan ke dalam. Dan di sini adalah nilai-nilai. Dalam beberapa tabel, juga, dan user ini tabel adalah contoh yang baik. Mungkin dalam tabel pengguna ini dan mungkin dalam tabel pengguna Anda di P-Set 7, tidak ada hanya nilai nama pengguna. Ada bukan hanya nilai tunai, atau bidang, bukan. Ada juga lapangan ID. Aku tidak akan memasukkan ID yang bidang. Itu akan diberikan kepada saya secara otomatis, bila record baru dimasukkan. Jadi ada beberapa bidang yang Anda dapat ditetapkan menjadi otomatis. Mungkin Anda ingin memberikan setiap pengguna $ 10.000 uang tunai dari kelelawar. Jadi saya tidak perlu memasukkan sejumlah uang tunai di sini. Semua yang harus saya memasukkan adalah nama pengguna. Dan kemudian, bidang cash akan pra-diisi, dan bidang ID akan menjadi pra-diisi. Jadi seringkali, kita tidak memasukkan sesuatu ke segala bidang, karena bidang-bidang lainnya adalah pra-penduduk. Karena itulah bagaimana kita mengatur meja itu. Hal kedua yang akan ingin lakukan adalah menghapus catatan. Menghapus sesuatu yang sangat sederhana. Anda memberikan tabel di mana Anda ingin untuk menghapus sesuatu dari. Dan Anda berkata, OK, saya ingin menghapus record yang memiliki username dari Milo. Atau aku ingin menghapus semua catatan yang memiliki username dari Milo atau yang a transaksi dari ID pengguna nomor 2. Setiap pertanyaan tentang ini dua jenis query? AUDIENCE: [Tak terdengar]. JASON Hirschhorn: Ya. Jadi aku akan menggunakan baris dan merekam bergantian dan beberapa dengan kolom dan lapangan. Tapi satu baris adalah satu record. Satu kolom adalah satu bidang, akan kembali ke meja ini. OK. Hal berikutnya yang Anda mungkin akan lakukan adalah mendapatkan beberapa informasi dari tabel. Itu adalah Select query. Dan lagi, meja apa saya memilih dari? Dan apa kolom yang ingin saya pilih, atau apa nilai yang ingin saya pilih dan dari mana baris? Jadi Select adalah spesifik sedikit. Aku berkata, OK, saya ingin meja ini. Dan kemudian saya ingin username kolom, dan Saya ingin dari baris dengan ID 2. Itu salah satu cara untuk melakukan Select. Atau bisa saya katakan, memberi saya setiap nama pengguna tunggal. Atau bisa saya katakan, memberi saya seluruh baris dari tabel ini, di mana username adalah 1. Jadi ada beberapa cara yang berbeda untuk Pilih melakukan query, tergantung pada bagaimana banyak informasi yang Anda inginkan, Anda selalu bisa hanya memilih semuanya dari meja tertentu dan kemudian loop melalui itu, memilih keluar hal yang Anda inginkan. Namun perlu diingat, jika Anda memilih banyak hal dari meja dan Anda memiliki tabel yang sangat besar, yang akan membawa beberapa waktu, jadi terbaik untuk hanya memilih hal-hal yang Anda akan untuk akhirnya menggunakan. Juga, dengan Select dan dengan semua ini perintah SQL lainnya juga, aku memberikan Anda versi telanjang-tulang. Tapi katakan, aku memilih pengguna dan saya ingin untuk mencetaknya abjad, Aku bisa memilih semua pengguna dan kemudian mengurutkan mereka abjad dalam kode saya. Atau ada cara untuk menulis pilih query, yang memilih hal-hal dalam mode abjad, didasarkan dari kolom tertentu, ascending atau turun. Jadi perlu diingat bahwa, banyak dari apa yang Anda ingin melakukan mungkin dapat dilakukan dalam query melalui tambahan atribut. Jadi jangan mencari pertanyaan ini secara online atau hal-hal lain yang dapat Anda lakukan dengan query untuk memperluas mereka. Akhirnya, hal terakhir yang Anda ingin lakukan tidak memasukkan sesuatu atau menghapus sesuatu, melainkan memperbarui sesuatu. Dan itu dilakukan dengan update query, dan lagi, apa meja. Dan perubahan apa yang ingin saya buat? Dan untuk yang baris atau record melakukan Saya ingin membuat perubahan itu? Setiap pertanyaan tentang SQL? OK. Jadi kita memiliki sekitar 15 menit. Dan ini adalah slide terakhir yang saya miliki. Dan mudah-mudahan, slide terakhir ini adalah Shalawat yang baik ke dalam masalah set, karena memahami di mana kita ingin menyisipkan catatan, menghapusnya, pilih mereka, dan memperbarui mereka akan membantu kita memahami logika yang lebih besar dan mengalir Masalah Set 7. Jadi saya tahu semua jawaban pertanyaan-pertanyaan ini. Aku tidak akan memberitahu Anda semua jawaban. Tetapi jika orang lain ingin menyajikan pertanyaan kepada kelompok atau menjawab salah satu pertanyaan ini, kita bisa menggunakannya sebagai titik melompat untuk berbicara tentang set masalah. Atau jika seseorang memiliki lebih generik Pertanyaan off set masalah, merasa bebas untuk meminta itu juga. Dan kita bisa mulai dari sana. Perlu diingat bahwa Anda sedang diam menyakiti semua orang. Ya. AUDIENCE: Jadi satu-satunya cara untuk lulus variabel ke dan dari web yang berbeda halaman, atau yang paling nyaman cara, menggunakan POST atau GET? JASON Hirschhorn: Jadi ya, itu adalah cara yang paling mudah untuk mengatakan - ketika seseorang mengisi formulir - mendapatkan informasi di web lain halaman, menggunakan GET atau POST. Karena kerangka kita menggunakan dalam masalah set ini, Anda akan melihat itu, banyak kali, kita membuat halaman lain. kita Atau kita membuat file lain, tidak tentu halaman lain. Jadi kita lulus dalam variabel. Dan kemudian, ia membuat sebuah Halaman HTML, dengan menggunakan informasi dari variabel tersebut. Itu tidak secara teknis lewat informasi antara halaman web yang berbeda. Yaitu melalui informasi antara file yang berbeda. Dan jadi kita dapat menggunakan variabel untuk melakukan itu. Tapi ya, jika kita ingin lulus informasi dari halaman tertentu untuk halaman lain, GET dan POST akan menjadi cara untuk melakukan itu. Ada pertanyaan lain tentang masalah set? OK. Mari kita pergi melalui, kemudian, tertentu bagian dari masalah ditetapkan. Anda akan perlu, pada satu titik, menampilkan portofolio seseorang di layar. Apa yang saya maksud ketika saya mengatakan portofolio, dalam konteks masalah ini diatur? AUDIENCE: Ini seperti saham-saham yang mereka memiliki berapa banyak saham yang mereka miliki, harga, dan berapa banyak uang yang mereka telah meninggalkan. JASON Hirschhorn: Kedengarannya bagus. Jadi saya ingin menampilkan semua saham mereka sendiri untuk masing-masing perusahaan saham saham dan mungkin berapa banyak yang layak, dan kemudian variabel terpisah, berapa banyak uang yang mereka miliki. Jadi katakan saya ingin menjelaskan bahwa. Mari kita mulai berbicara tentang bagaimana aku bisa pergi untuk melakukan itu, apa meja saya akan perlu harus dapat melakukan itu. Ya - AUDIENCE: Pengguna Nah, kemudian, saya kira Anda dapat membuat tabel yang disebut Saham atau sesuatu seperti itu, yang akan berapa banyak mereka sudah membeli. JASON Hirschhorn: OK. Jadi aku akan membutuhkan tabel yang disebut Pengguna, yang melacak nama pengguna, mungkin, mungkin beberapa ID, mungkin kata individu. Apa sesuatu yang lain yang Anda hanya mengatakan yang terkait? Seseorang selain Michael, apa yang sesuatu yang lain yang terkait dengan setiap pengguna, unik untuk mereka? AUDIENCE: ID. JASON Hirschhorn: ID - apa satu hal lain yang kita mungkin akan ingin ditampilkan pada halaman ini? AUDIENCE: Nama mereka. JASON Hirschhorn: Nama mereka - apa hal lain yang berkaitan dengan ini masalah khusus yang ditetapkan? AUDIENCE: saham mereka sendiri Apa - JASON Hirschhorn: Ada akan akan banyak saham apa yang mereka miliki. Apa salah satu nilai tertentu meskipun, bahwa mereka akan memiliki terkait dengan mereka? Bagaimana mereka akan membeli dan menjual saham mereka? AUDIENCE: Cash. JASON Hirschhorn: Mereka akan memiliki uang tunai. Jadi setiap pengguna akan memiliki satu nilai untuk uang. Dan itu akan menjadi unik untuk setiap pengguna. Jadi dalam tabel pengguna, itu membuat akal untuk dimasukkan ke dalam uang tunai. Anda bisa, tentu saja, membuat yang lain tabel yang memiliki ID pengguna dan mereka nilai tunai. Tapi itu tidak masuk akal. Masuk akal untuk hanya menempatkan semua itu dalam satu meja. Jadi kita akan memiliki sebuah meja dengan informasi tersebut. Dan kemudian, apa meja lain kita akan miliki? Kau bilang, meja Saham. Apa yang kita menempatkan dalam tabel Saham? Siapapun, ide - AUDIENCE: Perusahaan. JASON Hirschhorn: Kita akan untuk dimasukkan ke dalam nama perusahaan, sehingga AAPL untuk Apple. Ya. AUDIENCE: Berapa banyak saham dan berapa banyak mereka layak. JASON Hirschhorn: Berapa banyak saham, berapa banyak mereka layak - apa sesuatu yang lain yang kita perlu dalam tabel itu? AUDIENCE: Seorang pengguna ID untuk indeks itu. JASON Hirschhorn: A User ID. Jadi dalam tabel itu, kita akan mungkin memiliki - katakanlah, jika seseorang yang memiliki tiga saham, tiga baris, masing-masing dengan bahwa pengguna ID atau petunjuk bahwa individu ID, tapi nama perusahaan yang berbeda, nomor yang berbeda dari saham mungkin, dan nilai harga yang berbeda untuk masing-masing dari saham-saham. Sekali lagi, apa yang saya katakan sekarang tidak tentu pelaksanaannya, karena Anda menyadari ada beberapa yang lebih cara yang efisien untuk menerapkannya. Tapi ini adalah tempat yang baik untuk memulai. OK. Jadi mereka adalah dua tabel yang kita miliki. Sekarang kita ingin menampilkan halaman ini. Apa jenis pertama query kita akan perlu untuk membuat. Pada setiap halaman, diasumsikan bahwa adalah pengguna login, kita memiliki ID pengguna mereka. Jadi apa adalah jenis pertama pertanyaan yang kita butuhkan untuk membuat? Ya. AUDIENCE: ID pengguna mereka. JASON Hirschhorn: Kami memiliki ID pengguna mereka, ketika kita mulai kode di mulai dari halaman kami. Jadi apa jenis pertama query kita perlu membuat, mengingat ID pengguna? Kami pergi selama empat jenis. Hanya ada empat kemungkinan jawaban. AUDIENCE: Ini adalah pilih rekor. JASON Hirschhorn: A Select - kita ingin memilih dari pengguna tabel untuk mendapatkan, katakanlah, jumlah mereka uang tunai. Dan kita dapat mencetak jumlah uang tunai di bagian atas layar. OK. Apa jenis berikutnya pertanyaan yang kita ingin lakukan? Kami memiliki beberapa hal-hal lain kita perlu ditampilkan. Mereka disimpan di meja lain. Jadi bagaimana kita akan mendapatkan itu? AUDIENCE: Anda pilih untuk mereka. JASON Hirschhorn: A Select - lagi, hanya ada empat pilihan. Pilih mungkin suara seperti yang benar. Jadi kita perlu melakukan query pilih yang lain, lagi dipake ID pengguna. Dan sekarang, kami ingin kembali tidak hanya satu baris, bu semua baris yang cocok dengan kami kriteria, di mana user ID sama dengan 1. Dan kemudian kita bisa pergi dan membiarkan loop hanya mencetak semua orang keluar di layar, mungkin mencetak perusahaan dari masing-masing pada layar. Besar, yang terdengar seperti itu menampilkan portofolio, tidak lebih rumit dari itu. OK, pengguna kemudian memutuskan bahwa mereka telah banyak uang yang tersisa. Dan mereka ingin membeli beberapa saham lebih dari saham. Katakanlah, mereka sudah sendiri saham perusahaan ini juga. Jadi mereka pergi ke halaman membeli Anda. Mereka masukan nama perusahaan. Apa query, setelah input yang nama perusahaan, yang Anda butuhkan untuk mengeksekusi selanjutnya? Ya. AUDIENCE: Update. JASON Hirschhorn: Update - dan apa tabel yang Anda ingin memperbarui? AUDIENCE: meja mereka, berdasarkan nomor ID mereka? JASON Hirschhorn: Jadi update bukan pengguna table - jadi memperbarui tabel Saham, dimana ID pengguna tidak hanya cocok, tapi nama saham juga cocok. Anda akan mendapatkan beberapa nilai. Dan kemudian, Anda akan ingin mengambil nilai yang dan menambahkan namun banyak saham mereka ingin membeli itu. Jadi Anda tidak ingin membuta menimpa nilai tersebut. Tapi Anda bisa, pada kenyataannya, mengambil awal yang menghargai dan hanya memperbaruinya. Anda bisa melakukan seperti plus sama, bukan hanya equals. Apa sesuatu meskipun - jika kita berpikir tentang hal ini dan kami ingin menjadi sebagai kuat mungkin - kita harus melakukan sebelum kita menjalankan bahwa update query? Mereka ingin membeli lima tahun Apple. Setiap saham Apple adalah $ 200. AUDIENCE: Kita harus memeriksa uang terlebih dahulu. JASON Hirschhorn: Kita harus cek uang terlebih dahulu. Kita harus memastikan bahwa mereka punya cukup uang. Apa jenis query yang dapat kita jalankan untuk memastikan bahwa mereka memiliki cukup uang? AUDIENCE: Another Pilih. JASON Hirschhorn: A Select - kita pilih berdasarkan ID pengguna mereka, untuk mendapatkan nilai mereka uang tunai. Melakukan beberapa matematika cepat. Dan jika yang lewat kerahkan, mereka punya cukup uang. Kemudian kita bisa menjalankan update kami. Atau mungkin, jika tidak, kami melewati itu. Kami memberi mereka peringatan. OK. Katakanlah mereka tidak memiliki perusahaan. Mereka membeli sebuah perusahaan baru. Mereka membeli Microsoft. Apa jenis pertanyaan yang ingin kita lakukan, jika mereka ingin membeli Microsoft? Dan mereka tidak memiliki apapun Microsoft. Tidak Manu, orang lain, siapa pun selain Marcus? Carlos - AUDIENCE: A Select, untuk memastikan mereka punya cukup uang. JASON Hirschhorn: Kedengarannya bagus. AUDIENCE: Dan kemudian Anda masukkan pada [Tak terdengar]. JASON Hirschhorn: Tepat, kami akan ingin menyisipkan ke dalam tabel Saham. Dan kita akan ingin menyisipkan. Kita bisa memasukkan ID pengguna mereka, nama perusahaan, dan berapa banyak saham mereka ingin membeli. Apa beberapa operasi lain yang adalah halaman atau fungsi Anda akan harus menerapkan di P-Set 7, bahwa kita harus pergi? AUDIENCE: Sebenarnya, aku agak memiliki pertanyaan tentang yang satu ini. Sebelum Anda menampilkan portofolio, harus Anda memeriksa situs web Yahoo untuk pastikan harga saham tidak berubah? JASON Hirschhorn: Itu suara seperti ide yang baik. Jadi apa Marcus katakan adalah, OK, saham harga yang terus berubah. Pada saham-saham yang mereka miliki meja, kami tabel yang disebut Saham, kita bisa menyimpan harga saham mereka membelinya di. Tapi itu tidak tampak bahwa kuat, karena harga saham adalah terus-menerus akan berubah. Jadi sebenarnya, Anda mungkin tidak perlu untuk menyimpan harga saham. Tapi setiap kali Anda menampilkan mereka portofolio, Anda menyegarkan atau memperbarui harga saham. Dan jika Anda memiliki - dan Anda sudah. Aku tahu kalian semua telah melihat dalam Masalah menetapkan kembali sudah. Anda telah menyadari bahwa kita telah menulis beberapa kode untuk Anda yang akan memungkinkan Anda untuk mendapatkan harga saham, diberi nama perusahaan. Jadi ya, itu mungkin terdengar sedikit lebih kuat. Tapi tabel yang tidak selalu perlu untuk menyimpan harga saham. OK. Apa sajakah fungsi lain yang perlu untuk mengimplementasikan minggu ini bahwa kita bisa bicara tentang? Saya ingin berbicara tentang mereka. Apa yang ingin Anda bicarakan? Mungkin dalam spesifikasi ini. Saya hanya akan gulir ke bawah ke bawah spec dan meminta saya kata pertama Anda melihat bahwa tidak masuk akal. Salah satu fungsi lainnya - mari kita bicara tentang satu. Kita akan mulai dari sana. AUDIENCE: Merekam sejarah. JASON Hirschhorn: Recording sejarah, salah besar. Jadi Anda akan memiliki untuk melacak dari sejarah transaksi. Jadi, Anda ingin melacak setiap kali mereka membeli atau menjual saham. Saya membeli saham saya. Kami hanya mengatakan, itu mungkin masuk akal untuk menyertakan Select, untuk mendapatkan mereka jumlah uang tunai dan cek kembali. Mungkin cerdas kemudian untuk mencakup menyisipkan atau update, tergantung pada apakah atau tidak mereka memiliki saham itu. Jika kita juga ingin melacak sejarah, bagaimana kita bisa melakukan itu? Apakah itu masuk dalam tabel Saham? AUDIENCE: No JASON Hirschhorn: Tidak mungkin masuk dalam tabel yang berbeda. Karena mengatakan Anda membeli 10 saham Apple. Kemudian Anda membeli lagi 10 saham. Anda ingin menderek catatan yang terpisah. Mereka adalah dua transaksi yang terpisah. Jadi kita memiliki meja lain, tabel History. Jadi sekali lagi, kita beli. Kami mengeksekusi Select, kemudian Sisipan atau Update. Apa yang kita lakukan selanjutnya? Apa permintaan berikutnya kita menjalankan ketika kita membeli sesuatu? Kami ingin melacak sejarah. Ya. AUDIENCE: Anda ingin melacak gagal transaksi juga. JASON Hirschhorn: Nah, sebelum kita mengatakan apa jenis transaksi, apa yang kita ingin - Apa jenis query, Carlos, akan memungkinkan kita untuk melacak hal secara umum? Anda memiliki empat tebakan. Mana yang menurut Anda? AUDIENCE: Updating. JASON Hirschhorn: Tidak memperbarui. Apa menebak kedua Anda? AUDIENCE: Memilih. JASON Hirschhorn: Jika Anda ingin menyimpan melacak sesuatu, Anda mungkin ingin menuliskannya di suatu tempat atau menyimpannya untuk nanti. Jadi, jika tidak update, maka - AUDIENCE: Masukkan itu. JASON Hirschhorn: Insert, di sana kita pergi. Ya, sehingga Anda memilih jumlah uang tunai yang mereka miliki, suara besar. Mereka tidak punya cukup uang. Transaksi yang tidak akan bekerja. Tidak, Anda tidak perlu untuk melacak transaksi jika tidak bekerja. Atau Anda bisa, jika Anda ingin memberi mereka waktu yang sulit. Tapi Anda tidak perlu. Kemudian, Anda memasukkan atau memperbarui dalam tabel Saham mereka. Dan sekarang, Anda memiliki meja Anda yang lain. Anda memiliki tabel sejarah atau apa pun yang Anda ingin menyebutnya. Dan dalam tabel itu, Anda akan untuk menyisipkan baris baru. Itu mungkin akan memiliki ID pengguna. Ini mungkin akan memiliki nama saham. Ini mungkin akan memiliki waktu itu mereka melakukannya. Dan dalam hal ini, Anda mungkin ll ingin memasukkan harga. Karena bagi sejarah, Anda tidak peduli apa harga saat ini. Anda peduli apa harga adalah ketika mereka membeli atau menjual sesuatu. Jadi terdengar seperti, untuk melaksanakan pembelian sepenuhnya melibatkan sejumlah berbeda Query SQL, Tapi jujur, tidak bahwa banyak kode secara keseluruhan. OK. Dan yang membutuhkan perawatan sejarah. Katakanlah, kita ingin menampilkan sejarah kita. Kami berbicara tentang menampilkan portofolio kami. Bagaimana kita akan menampilkan sejarah kita? AUDIENCE: Agaknya kronologis. JASON Hirschhorn: Agaknya kronologis - apa permintaan Anda pikir kita akan menggunakan? AUDIENCE: A pilih. JASON Hirschhorn: A pilih - pilih mungkin semua baris dari tabel yang yang sesuai dengan user ID dan kemudian menampilkan mereka secara kronologis, Kedengarannya bagus. Apakah kita perlu menulis kode untuk memilah-milah daftar itu? AUDIENCE: Tidak, karena kau bilang kita ada menaik dan turun hal. JASON Hirschhorn: Thing? AUDIENCE: Ya. JASON Hirschhorn: Ya. OK, tidak berubah dalam kode kepada saya, bahwa manual macam melalui pertanyaan Anda, untuk menyortir mereka. Kode yang sudah diberikan. Anda dapat menulis query Pilih yang macam hal. Mengurutkan mereka sebelumnya dan kemudian mencetaknya. Itu membuat jauh lebih masuk akal untuk melakukan seperti itu, dibandingkan dengan cara lain. Ya. AUDIENCE: Apakah kita perlu mengurutkan mereka sebelumnya? Apakah itu berarti Anda menyortir mereka dalam database? JASON Hirschhorn: Select permintaan mengembalikan kepada Anda diurutkan. Jadi melakukan itu, bukan hanya memiliki mereka kembali kepada Anda dalam urutan acak dan kemudian mengurutkan mereka sendiri. Ya. AUDIENCE: Apakah ada cara untuk tetap diurutkan dalam database itu sendiri, sehingga Anda tidak perlu memilah setiap kali Anda - AUDIENCE: Dapatkah Anda masukkan diurutkan? JASON Hirschhorn: Pertanyaan - bedanya bahwa hal-hal diurutkan dalam database? AUDIENCE: No JASON Hirschhorn: Nah, mereka diurutkan. Mereka diurutkan secara kronologis. Tapi mari kita asumsikan bahwa hal-hal yang diurutkan kronologis, dari atas ke bawah. Kami memiliki bentuk Google. Setiap kali seseorang merespon Google kami membentuk, itu hanya akan dimasukkan ke dalam bawah meja itu. Apakah itu penting bahwa hal-hal diurutkan secara kronologis tidak? AUDIENCE: Jika tidak kronologis, Anda tidak harus menyortir setiap kali Anda mengambil informasi keluar. Tapi jika itu sudah diurutkan, tidak bisa Anda tidak perlu melakukan itu tambahan fungsi panggilan? JASON Hirschhorn: Jadi itu sebenarnya titik yang baik. Bagi kita sebagai programmer, itu mungkin masalah. Dan kita mungkin ingin mencari database itu tidak menyelesaikan masalah kronologis. Atau mengatur database kami, sehingga membuat hal diurutkan berdasarkan ID pengguna. Jadi seperti itu, katakanlah, kita memiliki 1.000 ID pengguna. Atau Facebook, kita memiliki jutaan ID pengguna. Kami tidak ingin meja kami untuk hanya menjadi acak atau database kami untuk menjadi acak. Akan lebih baik jika semua ID pengguna yang diurutkan. Jadi kita bisa menjalankan pencarian biner di meja kami dan kemudian hanya menemukan potongan tertentu. Jadi ya, tergantung - jika kita ditingkatkan, kita mungkin ingin mencari database yang terus hal-hal diurutkan dalam berbeda cara, sehingga query ini akan memakan waktu kurang. Dan kita tidak harus melalui kami seluruh database di setiap baris tunggal dalam tabel tertentu. Tetapi tingkat kami bekerja di, kita tidak perlu khawatir tentang menjaga hal diurutkan. Kita dapat mengasumsikan bahwa waktu yang dibutuhkan bahwa permintaan untuk menjalankan akan menjadi diabaikan, mengingat apa kita sedang berhadapan dengan. Tapi ya, ide bagus - seperti yang kita meningkatkan, mungkin masuk akal untuk merancang kami database dalam sedikit cara yang berbeda. Satu desain database hal terakhir yang saya inginkan menyebutkan juga, karena Anda akan akan dinilai, atau mencetak lebih tepatnya, pada desain database Anda. Kami berbicara tentang hal ini. Kas adalah unik untuk setiap pengguna. Jadi Anda punya meja yang disebut kas yang memiliki ID pengguna mereka dan jumlah mereka kas dan kemudian tabel bernama pengguna yang memiliki pengguna mereka ID dan username mereka. Mereka tabel peta ke masing-masing lain satu-ke-satu. Itu mungkin masuk akal untuk mereka menjadi satu meja. Jadi mari kita asumsikan Anda memiliki pengguna tabel yang melacak nama pengguna dan uang tunai. Sekarang Anda memiliki tabel yang memiliki saham individu memiliki. Dan seorang individu mungkin memiliki lebih dari satu saham. Jadi ini tidak peta ke masing-masing satu-ke-lain. Ini tidak masuk akal untuk memiliki satu raksasa tabel yang memiliki 30 catatan yang semua mengulangi username, bahwa semua ulangi password, bahwa semua mengulang sejumlah uang tunai. Tetapi masing-masing memiliki saham mungkin berbeda nama atau harga saham yang berbeda. Ini tidak masuk akal untuk memiliki bahwa banyak catatan besar. Jadilah cerdas tentang kapan Anda membuat ini database, sehingga Anda tidak melakukan sesuatu yang konyol seperti itu, mengulangi banyak informasi yang tidak perlu. OK. Kami memiliki dua menit tersisa. Orang-orang luar sangat senang untuk bergabung kami atau mungkin, mungkin, memulai kelas mereka sendiri. Apakah Ada yang punya pertanyaan sebelum kita selesaikan? OK, ini memang angin puyuh melalui segala sesuatu. Saya minta maaf bahwa itu harus begitu cepat dan bahwa kita tidak bisa sebagai hands-on minggu ini karena saya akan sudah senang telah. Tapi jika Anda memiliki pertanyaan tentang apa pun yang kita pergi atau apa pun di masalah ini set - Menganggap Anda sudah membacanya dan menempatkan dalam upaya yang baik-iman - merasa bebas untuk email saya atau hubungi saya. Aku lebih dari senang untuk bekerja melalui kode Anda dengan Anda atau menjawab pertanyaan yang Anda miliki. Perlu diingat bahwa, minggu ini, banyak dari waktu Anda akan dihabiskan belajar sintaks baru dan mencoba untuk memahami bagaimana menulis query SQL atau PHP fungsi atau kesepakatan dengan kerangka kerja MVC. Banyak waktu Anda minggu ini mungkin tidak akan mencoba untuk mencari tahu logika gila bahwa kita meminta Anda untuk melakukannya. Banyak itu kami hanya pergi adalah relatif mudah. Jadi bukan berarti menunggu sampai menit terakhir. Tetapi itu berarti menyesuaikan bagaimana Anda melakukannya Anda bekerja sesuai, untuk memastikan Anda memahami dan belajar sintaks. Jadi Anda tidak, tiba-tiba, tahu persis apa yang ingin Anda lakukan, tapi dengan tidak tahu bagaimana persis menuliskannya. OK, aku akan melihat Anda minggu depan.