[Powered by Google Translate] [Семінари] [Підготовка сайту для Web] [Yuechen Чжао] [Гарвардський університет] [Це CS50.] [CS50.TV] Добре. Ось ще одна година веб-розробки, якщо ви, хлопці, це. Сьогодні я буду говорити про підготовку вашого сайту в Інтернеті. Весь день - і, ймовірно, протягом останніх 2 тижнів - ми говоримо про те, як створити веб-сайт, як використовувати HTML, як використовувати PHP, як використовувати рамки, Як переконатися, що ви можете взаємодіяти з базою даних - таких речей. Але сьогодні ми будемо говорити про те, де ваш сайт буде жити після CS50. Бо врешті-решт, CS50 не відбудеться в грудні минулого року. Ми збираємося говорити про доменних імен, хостинг. Ми будемо говорити про те, що сумісність з різними браузерами і крос-платформної сумісності, і як ви можете переконатися, що ваш сайт працюватиме за будь-яких умовах. Ми поговоримо про обробку помилок і інша магія сервера. Ми говоримо про оптимізацію, пошукова оптимізація, і як змусити людей насправді відвідати ваш веб-сайтів. І, нарешті, просто хороші ресурси, щоб переконатися, що ви, хлопці, достатньо тих щоб сходити з вашого остаточного проекту, і, сподіваюся, після. Перше, що ми збираємося поговорити про доменні імена. Прямо зараз ви програмуєте в ваш прилад, ви збираєтеся локальний хост який насправді не ім'я домену. Це свого роду просто нік або псевдонім для вашої фактичної установки Linux всередині або VMware на Mac або VMware Player на ПК. Доменні імена дозволяють поставити сайт на Web, а потім перейти на щось подібне www.google.com і отримати веб-сайт. Як вони працюють? Давайте припустимо, що ви просто середній веб-сервер - середня веб-серфер і у вас є ноутбук, і ви йдете до www.howstuffworks.com. Ви, ймовірно, може побачити, де я вкрав це від. How Stuff Works - комп'ютер попросить локальний сервер DNS, "Ви знаєте, де цього сайту?" "Ви знаєте IP адреса www.howstuffworks.com?" Ваш DNS-сервер може сказати: "Так, я роблю." У цьому випадку, ви отримуєте IP-адресу, і ваш комп'ютер отримує доступ, що IP-адресу. Якщо цього не відбудеться, він просить іншого сервера DNS, "Гей! Ви знаєте, що www.howstuffworks.com це?" Цей сервер може сказати: "Так, я роблю." Так, він говорить інший, що це таке, і, нарешті, ця інформація передається на комп'ютер, І тобі будуть доступні howstuffworks.com. Як ви можете отримати один з цих магічних речей? Як ви можете отримати, може бути, або www.yourname.com www.ilovecats.com? Ви можете зареєструватися протягом одного, і є багато сайтів там, які дозволяють це зробити. Ви повинні - у більшості випадків ви повинні заплатити за них. Є певні доменних імен, які є безкоштовними. Якщо ви йдете в www.co.cc або. Tkdomainnames, ті безкоштовно. Але, вони дійсно йдуть з певними обмеженнями, а адже деякі з них не може бути навіть реально, домен верхнього рівня імена, як. COM або. мережі. Зазвичай я запропонував би для одного з них тому що користувачі просто більш зручною з тими. Ви бачили багато. КМ. Ви бачили багато. Сітку. Ви, напевно, не бачив багато. Co.cc 'пд.ш., так що вони важче запам'ятати. Різні сайти, як Godaddy або NameCheap або - я використовував той, який вид уривчасті - званим activedomain.com. Вона виглядає дуже уривчасті, але це працює дуже добре для мене. І, нарешті, у вас є інші, які, може бути, зробити більше реклами, як Network Solutions. Але якщо ви йдете на NetworkSolutions.com і подивитися на їх ціноутворення це дійсно дорого. Я дивився на них минулої ночі. За рік доменне ім'я, ймовірно, це не коштує таких грошей. Справді, якщо ви отримуєте. COM або. Або орг. Чистий Звичайна ціна становить близько $ 10 на рік. Так що якщо ви платите набагато більше, ніж, що, ймовірно, це не те, що варто , Тому що, врешті-решт, ці сайти не роблять нічого з цим доменним ім'ям. Вони просто дають його вам, і тому, якщо ви можете отримати його за дешево, чому б і ні? Інша справа, коли у вас є доменне ім'я, то ви, мабуть, хочете перейти до або Godaddy.com або там, де ви купили доменне ім'я і задати ім'я сервера для цього домену. Це означає, як тільки користувач переходить до www.howstuffworks.com, ці назви адрес сервера IP адрес, що вони будуть в змозі шукати. Вони могли б отримати доступ до вашого сайту через ці сервери імен. Якщо ви подати заявку на проведення десь то ваш господар, швидше за все, дати вам ім'я сервера у використанні. І, нарешті, є те, що називається WHOIS. База даних WHOIS являє собою базу даних, з якою ви можете ввести ім'я домену і він буде випльовувати деяка інформація про власника такого сайту та іншу контактну інформацію. Тепер, ви можете сказати: "Я дійсно не хочу, щоб мою домашню адресу, або я дійсно не хочу, щоб мою адресу електронної пошти на веб-сайті, щоб хтось бачив або в інтернеті на загальний огляд ". Потім ви можете використовувати те, що багато хостинг-послуг забезпечують - як менеджер WHOIS. Менеджер WHOIS це просто ще один сервіс, який багато хто з них передбачають, що ховається, що інформація і просто ставить в тому, хто є менеджером за назвою - для адреси це, як правило, що компанія просто ім'я, яке дав вам це доменне ім'я - і так, то ваша особиста інформація не просочилася в Інтернет, який зазвичай досить добре. Я особисто використовую одну з цих послуг. Якщо ви не дбаєте про своє особисте життя, то це не має великого значення. Сервер DNS розшифровується як системи доменних імен, і що це таке - це ніби як хеш-таблицю, десь говорить,  "Цей сайт адресу буде відобразити на IP-адресу." І це все, що є. Тому, як тільки ви запитуєте Даний DNS-сервер, то ви можете отримати IP адреси для цього відповідне доменне ім'я, а потім відвідає цього сайту. (Глядач задає питання - не чути) У першу чергу? Перший рівень насправді, як правило, тільки ваш комп'ютер сам кеш. Комп'ютер роду пам'ятає останній раз, коли ви пішли в www.google.com саме в цей IP-адресу, а потім через деякий час, що кеш закінчується, і він буде просити, як Comcast DNS, "Ей, що www.google.com?" Зазвичай, коли ви купити доменне ім'я, і ​​ви зареєструвати одне, і ви створили веб-сайт, ви не можете піти на веб-сайт негайно, що доменне ім'я, тому що ім'я сервера по всьому світу не знаю про ваш домен назви. Він повинен заповнити. Зазвичай це займає близько 24-48 годин. Добре. Отже, ось трохи про доменні імена. Вони дуже здорово. Я думаю, що ви повинні отримати один, якщо ви серйозно ставитеся до проекту і якщо ви дійсно хочете, щоб ваш проект, відомий по кампусу, мають доменне ім'я він виглядає дійсно професійно. Тоді наступний крок, звичайно, повинно мати якийсь хостинг. Якщо ви просто розмістити його на Вашому комп'ютері, ніхто ніколи не збирався бути в змозі йти до неї. Ви могли б потенційно налаштувати сервер на вашому комп'ютері і зберегти ваш комп'ютер вічно, але це не рекомендується. Існують різні види хостинг-лайн. Там це віртуальний хостинг. Там в VPN (нерозбірливо), які є віртуальними хостами. Там в напів-виділений і присвячена. З останніх 3, VPN, Пів-присвячений, і виділені як правило, дорожче. Вони зазвичай використовуються для веб-сайтів, які вимагають більше ресурсів. Якщо ви тільки починаєте з веб-сайту, це може бути просто більш економічним, щоб піти з віртуального хостингу. І те, що загальні засоби просто набір веб-сайтів все разом начебто на одному сервері на цьому сайті на цьому хост-сервері, і ви можете отримати доступ до сайту через доменне ім'я. Є багато популярних хостів там. HostGator і DreamHost - ті, дуже, дуже великий і дуже, дуже популярним і дуже, дуже успішно. Особисто я використовую одну званих MDDHosting. Якщо ви йдете в www.mddhosting.com, це мій господар вибору. Я думаю, що вони дуже добре. Вони завжди були дуже надійні, і я ніколи не мав жодних проблем з ними. Вони також мають дуже конкурентоспроможні ціни. Два, що я не дуже люблю є GoDaddy - це теж дуже популярний ведучий, але у мене були жахливі враження з ними, і багато людей, що я знаю, були дійсно жахливі враження з ними. Вони сортують піти після людей, які не знають, що вони роблять - Може бути, ви робите сайт в перший раз, і так вони як би підставити їх в покупку їх пакет хостингових послуг. Не робіть цього. Не піддавайтеся на це. Пошукайте інший хостинг пакети, які дійсно відповідають вашим потребам. А інший є - є безкоштовні хости там. Існують сайти, які буде розмістити на сайті безкоштовно - Іноді, поставивши оголошень на вашому сайті, Іноді, зробивши вам брати участь у їх форумах, але іноді якраз і безкоштовно. Але, будьте обережні з безкоштовні хости, тому що багато хто з них насправді просто вийти з бізнесу через кілька місяців. Ви просто не можете йти в ногу з витратами. Інші просто дуже ненадійно, і ваш сайт завжди буде вниз, і ви не хочете, щоб це відбулося. Кожен хост будуть пропонувати свої власні панелі управління. Зверніть увагу, що для Вашого приладу, там дійсно не панель управління як такого. Ви повинні використовувати термінал, щоб піти і редагувати файли. Ви повинні CHMOD речі самостійно. Якщо ви хотіли піти в PHPMyAdmin, Ви повинні піти на локальний @ / PhpMyAdmin і тому подібні речі. Але з панелі управління Ви можете піти і редагувати файли на вашому сервері з провідника Windows або Finder типу програми. Або ви можете пройти і подивитися на ваші бази даних з власним інструментом замість PHPmyadmin. Таким чином, є багато вибору тут, і деякі з найбільш популярних панелей управління знаходяться там. Але якщо ви шукаєте господаря, , То ви можете подивитися на те, види налаштувань і параметрів вони пропонують мені змінити налаштування сервера і зробити мій сайт працювати краще. Так, то ви можете запитати: "Ну, як я можу вибрати хостинг?" Якщо ви йдете на будь-який господар сайту є багато жаргону, і є багато варіантів. Є багато різних цін також. Зазвичай я піти на більш дешеві тільки тому, що сайти, які, можливо, ви і я роблю - і особливо зараз, особливо в якості закуски - вони можуть і не потрібно стільки ресурсів як, може бути, як веб-сайт Microsoft.com. Спочатку ви хочете подивитися на операційну систему, якщо ви дійсно цікаво чи вашого сайту будуть розміщені на Linux, на вікнах або на Mac. Зазвичай ми просто піти з Linux, тому що, як правило, найдешевші, а також той, який, може бути, ви, хлопці, більше знайомі з зв'язку з приладом. І тоді, можливо, вони будуть поставити деякі обмеження на смугу пропускання, що ви отримаєте - як те, скільки мегабайт або гігабайт даних користувачі можуть завантажити з вашого сайту на місяць? Або дискового простору. Скільки місця ви отримуєте? Це 500 Мб? Це 2 Гб? Це необмежена? В даний час, багато веб-сервери дають вам необмежений дисковий простір як спосіб для них , Щоб спонукати вас, щоб отримати їх пакет хостингових послуг. Але якщо ви дійсно думаєте про це, коли ви коли-небудь будете потребувати, необмежений дисковий простір? Якщо є кілька HTML файлів, пару PHP, пару зображень - от тільки пару мегабайт, і т.д. Зазвичай я просто піти на, можливо, варто кілька гігабайт »простору, і що могло б бути достатньо, щоб почати мене, поки я не потрібно більше. Нарешті, вони можуть накласти обмеження на які - скільки баз даних ви можете мати. Може бути, ви можете мати тільки 1 базу даних. Може бути, ви можете мати 2. Може бути, у вас може бути 10. Це дійсно важливо для вас, скільки ви отримуєте? Речі, щоб запитати себе. І, нарешті, просто речі, як мова. Чи підтримують вони PHP? Чи підтримують вони MySQL? Більшість хостинг веб-сайтів підтримують ці тому що вони вільні. Вони з відкритим вихідним кодом. Це не буде коштувати їм нічого надати їх для вас. Але якщо ви хочете використовувати, скажімо, Ruby або Python або деякі з цих інших мов - вони не можуть підтримати його на своєму сервері, так що це важливо, щоб шукати подібні речі. І, нарешті, вони дозволяють зробити деякі більш просунуті речі, як SSL або хрон робочих місць? SSL є варіант, при якому ви можете зробити свій сайт більш безпечним, зробивши його HTTPS і шифрування з'єднань. І хрон робочих місць, може бути, просто скрипти, які ви хочете запустити кожні 5 хвилин, кожні 10 хвилин, кожні 15. Багато хостингу веб-сайтів дійсно розміщують обмежень від числа запланованих завдань, які можна виконати, тому що займає більше ресурсів. І, нарешті, просто все інше, що ви хочете подивитися на - переконайтеся, що саме те, що відбувається перш ніж купити пакет хостинг-послуг. І, нарешті, продуктивність. Продуктивність величезний. Як швидко мій сайт збирається бігти? Більшість користувачів не збираються чекати навіть секунд для вашого сайту для запуску перш ніж вони просто набридне, і вони йдуть на MeanBase і почати дивитися на фотографії кішок - ви знаєте, що відбувається, і ви хочете, щоб переконатися, що ви отримаєте, що користувач на борту і що ви маєте хорошу працездатність яка просто означає, що Ваш сайт буде доступний у будь-який час. Багато господарів є дійсно погана працездатність і це просто означає, ваш сайт не буде доступною, і ви не хочете, щоб це відбулося, тому що ви могли б бути сумним. І ви можете також відстежувати ефективність вашого хоста з сайтів, як Pingdom.com або Host-tracker.com, і вони просто говорять вам, як часто ваш сайт вниз. І, нарешті, ви хочете побачити про свою підтримку. Якщо у вас є проблеми вони збираються, щоб відповісти вам протягом 24 годин? Вони збираються, щоб відповісти вам протягом 48 годин? Хостинг, який я використовую зазвичай реагує на мене протягом декількох хвилин який дійсно хороший. Ось так! Все в порядку! Це час для відпочинку. Але я не збираюся давати його вам. Ми просто дивимося на фотографії симпатичних кішок, то й річ. Інша дуже, дуже велика річ сумісність з різними браузерами. Що я маю на увазі сумісність з різними браузерами? Ви знаєте, в даний час це не тільки Microsoft Internet Explorer. Справа не тільки в Mozilla Firefox або Safari. Тепер у нас є Chrome. У нас є опера. У нас є дельфін. У нас є Camino. У нас є Завойовника. У нас є всі ці різні браузери. Речі, які виходять зараз - RockMelt - хоча це все на основі хрому. Але в тому й річ, там не тільки один браузер більше. Ви не просто перегляд веб-сторінок з цим одним додатком. І так, різні браузери будуть реагувати на різні HTML, CSS різними, і різні JavaScript-різному, і як ви справляєтеся з цим? Ну, в деяких випадках, ви дійсно не можете. Ваш сайт - якщо він працює в одному браузері, код, який ви написали не працюватиме в іншому браузері, і це ваша робота, щоб переконатися, що код, який ви пишете є універсальним, що він працює в усьому світі. Таким чином, це дійсно небезпечно. Якщо ви говорите: "Ну, він працює на моєму комп'ютері. Great! Давайте рухатися далі." Ну, це, ймовірно, не буде працювати на шахті, і коли я йду на ваш сайт Я збираюся бути дуже сумно, і я збираюся виїхати відразу ж. Отже, давайте подивимося, як можна запобігти цьому. Перше, що, звичайно, використовувати тільки стандартні HTML, CSS і JavaScript. Що я маю на увазі під цим? Ну, є багато не стандартні речі там. Наприклад, в CSS існує безліч версій. Якщо ви бачите які-небудь правила з CSS-МОЗ-або-WebKit-, ці правила є специфічними як Mozilla браузерів і браузерів Webkit, і тому ви хочете, щоб переконатися, що, може бути, ви хочете, щоб уникнути цих речей тому що, якщо ви використовуєте-МОЗ-це правило тільки збирається працювати на Firefox. І якщо ви дійсно хочете, щоб добре виглядати на Internet Explorer Крім того, Ви збираєтеся бути не пощастило. Для HTML Також, ви можете зробити щось в HTML, які працюють в одному браузері але перерви в інший, і необхідно, щоб уникнути цього як можна більше. І, нарешті, навіть для JavaScript - Є багато версій JavaScript, А цього літа ми зіткнулися з проблемою, коли document.getElementsByClassName-- який зазвичай є функцією, що визначений як частина JavaScript стандарт - було й шукати в Internet Explorer 8. Таким чином, за літо я працював у лабораторії і ми будували онлайн експериментів. І ми думали, що це працює дуже добре, поки ми не зрозуміли, користувачі, які використовували Internet Explorer 8 не могла представити свої результати. Нам вистачає на велику кількість даних. Це змусило нас дуже сумно. Таким чином, ви завжди хочете, щоб переконатися, що ваші скрипти будуть працювати скрізь. І, нарешті, використовувати validator.w3.org що і ми говоримо вам, щоб зробити в PSET 7. Переконайтеся, що ваші сторінки будуть підтверджені. Це важливо, тому що принаймні це перший крок перевіркою на осудність. Мій код насправді відповідає стандартам? Ще один спосіб вид допомоги ви переконаєтеся, що ваш сайт буде працювати в більшості випадків це можливо, використовувати деякі бібліотеки і рамки тому що ці дуже розумні розробники думав про ці проблеми для вас. Вони пройшли, і вони написані різні функції, які працюють у всіх браузерах. Наприклад, ми використовуємо JQuery в Pset 7. Навіть якщо ви не бачили його, JQuery надає багато функцій які в іншому випадку вам доведеться написати самостійно. Але ці розробники написали його, і вони переконалися, що він працює у всіх браузерах. І початкового завантаження - що є ще однією рамки CSS, що ми показали вам у Pset 7 - це дійсно забирає багато головного болю з розробки веб-сайтів, які добре виглядають. у всіх браузерах. І нарешті, якщо ви можете уникнути цього, я зазвичай уникаю кодування з нуля. Якщо ви тільки створення веб-сайту для вашої школи клубу, наприклад, і все, що вам потрібно зробити, це для відображення декількох сторінок і, можливо, ваш президент полетів у і змінити деякі речі тут і там - насправді немає необхідності код, який самостійно. Це займає багато часу. Це займає дуже багато своєї енергії, і ви повинні пройти, і ви повинні з'ясувати, Ну, це відбувається, щоб добре виглядати в цьому браузері, вона буде добре виглядати в цьому браузері. Може бути, використовувати деякі з цих патчів, які інші вже написана для вас, як і WordPress або Joomla або Drupal. Це так звані контент - вони називаються КМП, які в основному тільки пакети, які вже прийшов зробив для вас, і ви можете завантажити їх, покласти їх на ваш сервер, і налаштувати їх, як ви хочете, і у вас вже є працюючий веб-сайт. Даний код пакети щось подивитися на сайті. Ці речі мають відкритий вихідний код, якщо ви не піти на щось подібне - Якщо ви шукаєте формі пакета, є речі, які не є вільними, як VBulletin або IP.Board. Якщо вам не потрібні деякі з цих додаткових функцій, Ви завжди можете вибрати безкоштовний варіант. Чи не І, нарешті, не уникнути його. Ви повинні перевірити, тест, тест. Ви повинні тестувати свій код на всіх цих браузерах і на всіх цих платформах. І ви знаєте, IE6 - дякувати людей добру почали відхід від IE6 бо ще в той день, може бути, кілька років тому, веб-розробникам доводилося завжди, завжди, завжди потурати слабкості IE6 у відповідності зі стандартами. Сайти просто виглядало почасти 1990-х років через брак кращого способу боротьби з ним. Ви також можете використовувати скріншоти браузера і перевірити CSS. Один класний сайт є browserlab.adobe.com. Це безкоштовна послуга згасити Adobe. І те, що вони роблять, вони можуть робити скріншоти вашого сайту працює в різних умовах - як працює в різних браузерах, під управлінням різних платформ - і показати вам, як вони виглядають. Просто, щоб показати вам, що я маю на увазі, я створив сайт в минулому році під назвою Життя в Гарварді і те, що я намагався зробити, - я спробував зробити my.harvard краще. Тому що, якщо ви були тут торік, my.harvard не виглядало, як він виглядає зараз. Це виглядає почасти огидно. Але тепер він виглядає набагато краще. Моя реалізація була не так вже корисно більше, але все одно, Ви знаєте, я намагався додати - (нерозбірливо) багато що завгодно, - і це виглядає - він виглядає дуже добре на моєму комп'ютері. А потім, може бути, якщо у мене було більше часу, я б пішла на браузері лабораторії, і я б подивився на, ну, як це виглядає в Chrome 18 на вікнах. Я б вниз, і я бачу - о ні! Огляньте коробку оголошень. Мій текст був переповнений. Так що, це погано, вірно? Якщо користувач використовує Chrome на вікнах і поставляється на мій сайт, що відразу виглядає дуже непрофесійно. Отже, я повинен йти в мій CSS і з'ясувати, що частина мого CSS ламає тут. Чому вона не будуть правильно відображатися і закріпити його так, щоб всі користувачі можуть бачити й того ж сайту і таким же щасливим. І, нарешті, добре, скріншоти браузера гарні для тестування ваших CSS, але як щодо ваших JavaScript? Що, якщо у вас є якісь складні сценарії, який працює? Ну, ви завжди можете зробити віртуалізацію. Якщо у вас є Mac можна використовувати Bootcamp або VMWare для віртуалізації, може бути копія Вікна і використовуйте оглядач Інтернету там. Або, ви можете піти на щось подібне Spoon.net, які, на жаль працює тільки на ПК. Але те, що вони роблять, це дуже здорово. Вони віртуалізувати програмне забезпечення для вас, щоб ви могли працювати з різними версіями IE, наприклад. Ви можете запускати різні версії Firefox. Ви можете запускати різні версії Safari і перевірити всі ваші веб-сайти там. На жаль, вони не вільні. Це платна послуга, так що завжди зразок цього - завжди є начебто це компроміс між, ну, я збирався зробити мій веб-сайт добре виглядати. Якщо так, я, можливо, доведеться платити за деякі послуги, щоб допомогти мені зробити це. Будь-які питання на даний момент ні про що, що ми говорили? Прекрасно. Добре. Тепер ми маємо більше ніж поговорити. Як щодо помилок? Як ви переконаєтеся, що ваш сайт буде працювати навіть тоді, коли відбувається щось погане? Може бути, у вас немає сторінки з назвою food.php. Але мені, я йду на ваш сайт і я намагаюся отримати доступ food.php. Ви тільки збираєтеся показати мені, що біла сторінка з написом 404 - файл не знайдено? Або ви збираєтеся сказати: "Ну, мені шкода, що я не міг знайти це для вас, але, можливо, ось деякі інші ресурси, щоб допомогти вам знайти те, що вам потрібно. " Інші помилки - так це називається HTTP помилки, які лише деякі коди помилок що ваш сервер відпустив би назад в браузер в разі щось погане відбувається. 400 - Bad Request. 401 - несанкціонована. 403 видів найбільш поширених, коли у вас є каталог, що не повинно було надаватися користувачем, але користувач намагається будь-якому випадку. І 500 - внутрішня помилка сервера - що зазвичай відбувається, коли у вас є щось дійсно погане відбувається з вашим кодом PHP. Але в кожному разі, ці види браузерів - такого роду помилки трапляються. Отже, як ви переконаєтеся, що ви коректно обробити ці помилки і переконайтеся, що користувач не просто зразок висить? Ось йде. Htaccess. Тепер. Htaccess це те, що працює на серверах Apache, те, що працює і працює на кількох інших серверах. Це всього лише спосіб для вас, щоб налаштувати сервер так, що Ви можете зробити це робити те, що ви від нього хочете. Деякі речі, які ви могли б зробити. Ви можете контролювати свої налаштування кеша. Можливо, є певний сторінку на вашому сайті, що ви переконаєтеся, що користувач повторно завантажити щоразу, коли користувач приходить і відвідує ваш сайт. Або, може бути, у вас є деякі URL, що як yoursite.com / Тест / HTML / Сторінки / hello.html і ви просто хочете, що бути yourname.com / привіт -. Ну, ви можете використовувати Htaccess перенаправлення однієї веб-сторінки на іншу. Ви також можете використовувати його, щоб зробити перевірку автентичності. Може бути, є деякі частини вашого сайту, що вам потрібно використовувати інший пароль. Ви можете заблокувати певні адреси IP, блокування певних доменів. Може бути, ви просто дуже не подобається студентам Гарварду роботи вашого сайту. Ну, у вас є можливість блокування всіх IP адрес Гарварду. Нарешті, ви можете ставитися до речей - ви можете написати певний код, щоб зробити ваш сервер як лікувати. або Чжао. Ваше ім'я або. привіт сторінок, як код PHP. Може бути, це буде корисно. Може бути, не буде. І, нарешті, ви можете використовувати його для обробки повідомлень про помилки. Що я маю на увазі під цим? Якщо ви просто додати такий код - ErrorDocument 404, а потім направити їх на деякий Помилка сторінці ви можете переконатися, що користувач не просто побачити дуже, дуже потворне 404 і показати їм щось хороше. Давайте насправді поглянути на те, як ми можемо зробити це з вашим Pset 7. Тут я перебуваю у своєму пристрої. Я збираюся відкрити Chrome, а потім я збираюся спробувати отримати доступ до сторінки , Що не існує на CS50 фінансів. Так, локальний хост - cats.php-собі, помітили, що я створив повідомлення про помилку який говорить: "Канц не знайшли Z сторінки!" Вона має дуже сумний кіт на ньому. Якщо ви йдете на Twitter, якщо ви йдете на будь-який з цих інших сайтах, Ви не можете знайти сторінку, вони зазвичай намагаються показати вам милі картини так, що ви не дуже розчарований. Ви можете також те, що це більш професійний, який говорить, Ну, я жалкую, що не міг знайти сторінки, але, може бути, ось вікно пошуку. Або, може бути, ось деякі посилання, які допоможуть вам знайти посилання, яку ви хочете. Отже, як же мені це зробити? Як це взагалі можливо? Якщо ми йдемо в наш термінал тут - Я просто хочу, щоб збільшити небагато - Зауважте, що я нова сторінка. У моєму каталозі HTML це називається - ви не можете бачити це - це називається error.php. І error.php це просто файл, який я зробив , Який показує вам, що самої сторінки. Я можу показати вам, що error.php є. Це саме цієї сторінки. Він каже: "О, ні! Канц не знайшли Z сторінки!" І, якщо ви хочете побачити - значить, помітили, що Htaccess роду це дивне ім'я .. Вона починається з точки, що означає, що це файлова система. Це прихований файл яка зазвичай не показано. Якщо ви робите LS-, ви можете побачити всі приховані файли в певній директорії, І дійсно, ви бачите. Htaccess є одним з них. Давайте підемо далі і відкрити Htaccess. - з Gedit - Бум! У мене є тільки один рядок у там - Помилка документом для помилки 404 які також відомі як файл не знайдено помилок. Давайте перенаправити їх на те, що називається error.php. Можна розважатися, такі речі, як канзу не знайшли Z сторінки! А є і дуже цікаві речі, які ви можете зробити з. Htaccess. Якщо ви хочете побачити більше. Htaccess магії, це дуже класний сайт піти - це називається javascriptkit.com/howto/htaccess.shtml-- Якщо ви хочете зробити більш серверів магії. І це може бути дуже весело. Ось так! Все в порядку! Більш милі картинки. Це хлопець, робити віджимання, і його кіт намагається допомогти. Я думаю, що це дуже мило. На жаль, у мене немає кішки подібне. Добре. Отже, ми говорили. Htaccess. Ми вже говорили про обробку помилок. Ми говорили про хостинг, доменні імена. Ми говорили про сумісність з різними браузерами. Тепер, як ми впевнені, що ваш сайт фактично виконує? Як ми можемо переконатися, що якщо я піду на ваш сайт Я бачу вашу сторінку протягом декількох секунд? Одна з речей, що я думаю, що люди просто ніби забувають про є оптимізація зображення. Давайте припустимо, що ви хотіли, щоб поставити картину на вашому сайті і це 2 мг великим. Це може бути прекрасним для нас, тому що ми в Гарварді, і у нас є дуже швидким підключенням до Інтернету. Але уявити, що хтось у Китаї. Уявіть, що хтось в Індії. Уявіть, що хтось, може бути, у сільській Канзасу, який, можливо, не має такий же широкосмуговий доступ в Інтернет, що у нас є. Якщо у вас є 2 МБ зображень на вашому сайті і користувач намагається отримати до нього доступ, він збирається взяти їх дійсно багато часу для завантаження. Так що, якщо вам не потрібні такого роду резолюції, , То ви можете змінити розмір зображення з чимось на зразок Adobe Photo Shop. Там, як правило варіант називається безпечним для веб і пристроїв, і те, що вона робить це він видаляє всі з непотрібної інформації і як би компакти ваш файл у невеликий розмір, так що ви можете покладіть його на ваш сайт, і будь-який користувач, який намагається завантажити цю сторінку збирається закачати зменшену версію зображення. Якщо у вас немає Adobe Photo Shop webresizer.com і інший ресурс, де ви можете ввести ваше зображення і він буде випльовувати один образ, але це буде щось на зразок 3 рази менше. Так що це дуже корисно для ваших користувачів. Інша справа, що ви можете зробити, це зменшувати коду. Якщо ми поглянемо на Google.com, ви побачите, що це не виглядом того ж самого HTML і CSS, що ми звикли. Просто буду дивитися на вихідний код тут. Якби я просто прокрутіть вниз - нічого собі, це виглядає досить огидно. Це було б отримати нуль на стилі. Якщо ви цього закодовані для вашої Pset, ви отримаєте нульовий від вашого стилю. Це не має ніякого відстані. Імена виглядають дійсно загадкове. Це все дійсно огидно. А сценарій, щоб закрити в організмі - закриття HTML - вони всі разом - все smushed разом. Чому вони це роблять? Вони мінімізований свого коду. Зверніть увагу, що цей документ буде набагато менше для мене, щоб завантажити, ніж щось з пробілами, ніж щось з дійсно довго імен змінних. Якщо ви Мінімізувати ваш код, який Ви вирізати всі прогалини. Звичайно, ваш браузер не хвилює, якщо у вас є якісь прогалини в коді. Ви видаліть його, тепер я можу завантажити файл меншого розміру - Тепер файл - документ, який ми збираємося скачати має менший розмір файлу, це буде швидше для мене, щоб завантажити, і це корисно. Якщо ви працюєте з веб-сайтів і ви запускаєте веб-сайт, це майже завжди добре, щоб Мінімізувати ваш код. Ще одна причина, чому це може бути хорошим, може бути, ви не хочете, щоб інші використовувати ваш код. Можливо, ви не хочете, щоб інші використовувати CSS. Ви знаєте, якщо ви дійсно хотіли бути скупим з цим, то ви також можете Мінімізувати ваш код, і було б важче для мене, вкрасти його тому що я поняття не маю, що відбувається. Ви також можете перейти на сайти, як minify.avivo.si. Такі послуги, як це онлайн допоможе вам Мінімізувати ваш код так, що вам не доведеться робити це вручну. Безумовно не зробити це вручну. Добре. Тепер говорячи про сценарії. Може бути, у вашому PHP коді є щось, що вам не потрібно робити. Може бути, є додаткові петлі в там. Ми говорили про код дизайну в CS50. Навіть якщо ви кодування в C якщо у вас - якщо ви робите додаткову роботу що вам не потрібно робити, добре, що збирається сповільнювати роботу скрипти на вашому сайті, і це особливо важливо для сайтів, оскільки користувачі в даний час є дуже нетерплячі. Якщо ви робите зайву роботу, він збирається взяти їх більше щоб дістатися до інформації, яку вони хочуть, і вони збираються бути дуже нещасним. Нарешті, ви можете оптимізувати таблиці бази даних. Пам'ятаєте, ми говорили про індекси. Вони не тільки добре для переконавшись, що у вас є рядок, унікально. Вони також гарні для переконавшись, що ваша база даних працює швидко. Якщо ви хочете, щоб читати на які йдуть в документації MySQL, або ви можете подивитися - ну, як я можу оптимізувати таблиці бази даних? Як я можу переконатися, що у мене є показники, які допомагають мені дістатися до інформації, швидше? Є також маленькі хитрощі, які ви можете використовувати, як кешування. Якщо у вас є PHP - якщо у вас є блог, наприклад, і у вас є - і це працює на PHP або будь-який інший мова - можна кешувати на ваш блог скажімо, 50-хвилинні інтервали, так що ви можете служити статичних сторінок або статичний HTML для відвідувачів на ваш сайт. Таким чином, користувачам не доведеться для запуску PHP скрипт щоразу, і, можливо, буде швидше для них доступ до цієї інформації. І, нарешті, ви можете використовувати щось на зразок CDN. Зверніть увагу, що всякий раз, коли ви завантажуєте Pset, Ви завжди йду до CDN.CS50.net. Чому це відбувається? CS50 також використовує ніби як CDN - мережі розповсюдження контенту - який просто означає, що це купу серверів може бути, десь по всьому світу , Які допомагають обслуговувати сторінки для ваших відвідувачів. Якщо ваш відвідувач отримує сторінку з сервера, який ближче до них географічно, то, швидше за все ваш відвідувач збирається отримати цей файл набагато швидше. Є також джерела в Інтернеті, які допоможуть вам зробити це. Одним з них є CloudFlare. Вони пропонують безкоштовний сервіс CDN. Якщо у вас великі файли, що ваші службовці для ваших користувачів, то, можливо, краще покласти їх на CDN, щоб вони могли дістатися до них швидше. Остання тема, яку протягом дня є пошукова оптимізація. Що таке пошукова оптимізація? Ось і переконавшись, що пошукові системи, як Google або Bing або Yahoo може піти на ваш сайт і сканувати ваш сайт і проіндексувати ваш сайт і коли Я, наприклад, піти на Google.com, і я намагаюся шукати щось, , То ваш сайт з'явиться. Як ви переконаєтеся, що ваш сайт є одним з 10 кращих? Тому що, як ми всі знаємо, якщо ви шукаєте щось на Google і це не на вершині 10 ви, швидше за все не буде виглядати в найближчі 10. Це свого роду тему, яка оповита таємницею. Там дуже багато галасу там в Інтернеті. Є багато забобонів про те, якщо ви х, то Google буде, як ти краще. Якщо ви у, то Google буде, як ти краще. Це, напевно, краще дивитися в документи пошукового гіганта себе. Це один з документів, на Google, що сказати вам точно, як оптимізувати свій сайт так що Google може отримати доступ і індексувати її дуже приємно. Вам не доведеться копіювати з цього URL, тому що це подання буде в мережі в будь-якому випадку. Якщо ви подивитеся на це, і ви читаєте це є кілька дуже корисних порад там. Google говорить вам - якщо ви дійсно хочете, щоб ваш сайт, щоб бути проіндексовані добре то ви повинні зробити всі ці речі. Інша справа, що пошукові системи дуже подобається це новий зміст. Якщо у вас є контент, який оновлюється дуже регулярно то пошукові системи говорять, ох, мені подобається ваш сайт. Я збираюся йти на ваш сайт дуже часто. Я збираюся індексу багато ваших сторінках. Якщо у вас є свіжий контент, то ви, швидше за все, щоб показати - ви, швидше за все, щоб бути більш актуальними. Ви, більш імовірно, щоб бути більш оновлений, і пошукові системи, швидше за все, покласти ваш сайт вище інших. Глибокі посилання також важливо. Якщо ви дійсно хочете, щоб ваш сайт добре виглядати в очах пошукової системи є багато інших сайтів, пов'язаних з нею і пов'язані глибоко в ваш сайт. Не просто посилання на головну сторінку. Посилання на можливо yourname.com / щось / щось / something.php. Це - в пошукову систему - значить, нічого собі, у них є дійсно цікавий контент що хтось пов'язує так глибоко в їх сайту, що я повинен дійсно, насправді покласти більшого значення на сторінках цього сайту. Якщо у вас є точні назви сторінок, якщо у вас немає помилки це добре, тому Якщо пошукова система намагається відвідати ваш сайт, і вона стає все помилки, це, ймовірно, відмовитися від дуже, дуже скоро. І, нарешті, ви хочете, щоб швидко завантажуватися, тому що пошукові системи - як і люди - Посередник мати багато терпіння для повільного веб-сайтів. Це спосіб для вас, щоб переконатися, що у вас з'являються вище в пошукових запитів і, сподіваюся, тим самим отримати більше трафіку. Бо врешті-решт, ви витратили весь цей час розвивається ваш сайт. Ви провели весь цей час запуску цього сайту в Інтернеті. Ви хочете, щоб переконатися, що у вас багато користувачів, які фактично бачити ваш зміст. Інші хороші ресурси для використання. Google Webmaster Tools на що подивитися на сайті. Це тільки допоможе вам побачити - Google не індексують мій сайт. Які види помилок вона стикається? Те, скільки сторінок він індексуватися? Що вважаєте найважливішим змістом на моїй сторінці? Може бути, це не те, що я хочу його бачити. Може бути, мені потрібно змінити мій сайт трохи такого, що він більшою мірою відображає те, що мій сайт насправді. Google Analytics інша дійсно крутий інструмент. Ви можете додати трохи JavaScript на ваших сторінках. А потім після цього ви можете піти в Google Analytics, і він буде відслідковувати Ваш відвідувач демографії та зростання вашого сайту. Це скаже вам точно, скільки відвідувачів відвідують ваш сайт в певний день, в певний час, протягом певного тиждень. Скільки відвідувачів з Китаю? Скільки відвідувачів з Антарктиди - Ви отримуєте на Ваш сайт. , Що може бути щось здорово бачити, або це може бути навіть корисно тому що ви намагаєтеся для певної групи. Може бути, ви намагаєтеся цільової підлітків з вашого сайту, і ви бачите, що більшість відвідувачів на ваш сайт, може бути, 30 - до 40-річних, або те, можливо, у вас є проблема або ви можете просто сказати: Ну, тоді, може бути, я повинен просто змінити фокус мого веб-сайту таким чином, щоб Я приділяти більше уваги цієї вікової групи. Google Apps - Якщо ви хотіли мати роду листи з вашим доменним ім'ям - може бути щось подібне yourname@yourname.com-- Ви можете використовувати Gmail адреси - ви можете використовувати службу Gmail і Google Apps є одним із способів зробити це. Ви можете налаштувати певні адреси електронної пошти, які є специфічними для вашого доменного імені Замість of@gmail.com. І, нарешті, є веб-розширень розробник і доповнень - для Chrome, для Firefox, для інших браузерів - які дозволяють вам піти і перевірити CSS, JavaScript перевірити, точно дізнатися, що сталося з вашим сценарієм JavaScript, і, можливо, це буде корисно для ваших де-підслуховування цілях, для вас дізнатися - Ну, чому б не мого сайту будуть правильно відображатися в цьому браузері? І, нарешті, якщо ви хочете дізнатися більше про всі ці теми - якщо ви хочете дізнатися більше про HTML і CSS і JavaScript - тому що врешті-решт, ми тільки вчив тебе небагато - Ви можете піти W3Schools.com сайти, як шукати додаткові ресурси. У них є дуже хороші підручники про те, як я роблю X або Y, що ж означає? Якщо ви хочете дізнатися більше про цих мовах, ви можете просто піти сюди. Добре. Я думаю, що я хотів виїхати за останні кілька хвилин цього для питань, так є які-небудь питання про все, що ми говорили? [Глядач] Які речі знаходяться на W3Schools і як вона покрита? [Yuechen Чжао] Які речі? Так, одним з найбільших речей, які я використовую багато є свої відгуки. Їх посилання докладно, наприклад, для CSS - що це означає, або якщо ви хотіли змінити фон сторінки - Як ви це робите? Які браузери підтримують цю команду? Такі речі, як це. І тоді вони також просто дуже хороші підручники з HTML, на PHP, на JavaScript, на MySQL, на самі різні теми. У них є хороші підручники. Вони вчать вас, як робити речі. Приємно бути в змозі піти і дізнатися більше про цих темах. [Глядач] HTML 5 ще не сумісні з усіма браузерами там. Ви рекомендували б просто триматися подалі від нього, тому проблем з сумісністю? Як ви справляєтеся з цим? [Yuechen Чжао] Так, це так, питання в тому, HTML5 все ще дитина стандарту. Це дійсно не підтримуються багато браузери, тому ми повинні уникнути цього? Я думаю, що минулого року я був би дуже великий прихильник, давайте уникати HTML5 тому що це все ж - це все ще дуже багато нового і справді, стандарту HTML5 НЕ був доведений до кінця. Так от, там дійсно немає стандарту HTML5. Але я думаю, особливо якщо ви розробляєте сайт зараз, це могло б бути краще, якщо ви просто йдете з HTML5, тому що це начебто буде майбутнє, і якщо ви хочете, щоб ваш сайт, щоб бути майбутнє, і ви хочете, щоб ваш сайт, щоб працювати в майбутні браузери, було б краще, щоб почати будівництво, справа майбутнього ніж за минулим, а також просто тому, що на те, що HTML5 дійсно не сильно відрізняється від HTML4 або XHTML. Якщо ви використовуєте HTML5, він звичайно буде працювати в більшості браузерів. Ви просто повинні сортувати піти і переконатися, що з цими скріншоти і переконавшись, що з виходом на на ці сайти самі. Але швидше за все це буде працювати, якщо ви не використовуєте дуже специфічних функцій HTML5. Зауважте також, що для CS50 - наприклад, для відео-плеєр, який ми використовуємо - він використовує HTML5 і HTML5 відео для відображення лекцій. Але якщо у вас є дійсно старий браузер, то він буде падати назад на Flash. Отже, ось ще дещо - є запасний системи, коли ви просто знаєте, що браузер не буде обробляти те, що ви хочете, щоб впоратися. Інші питання? Все, що ми говорили. Добре. Тоді я думаю, що це про нього для мене. Я думаю, що це все. (Оплески) Круто. [CS50.TV]