Ver código fonte

Merge branch 'master' of http://213.155.192.79:3001/ypv/ISRPO

ypv 1 ano atrás
pai
commit
6ea71be13d
2 arquivos alterados com 213 adições e 0 exclusões
  1. 157 0
      Лекции/HTML.md
  2. 56 0
      Лекции/JavaScript.md

+ 157 - 0
Лекции/HTML.md

@@ -0,0 +1,157 @@
+# HTML
+HTML (от английского **HyperText Markup Language**) — это язык гипертекстовой разметки текста. Он нужен, чтобы размещать на веб-странице элементы: текст, картинки, таблицы и видео.
+
+Когда вы заходите на сайт, браузер подгружает HTML-файл с информацией о структуре и контенте веб-страницы. HTML как бы выстраивает визуальный фундамент сайта, но не «запускает» сайт самостоятельно. Он всего лишь указывает, где располагаются элементы, какой у них будет базовый дизайн, откуда брать стили для элементов и скрипты (обычно их пишут на JavaScript).
+
+Вот, например, как выглядит сайт Skillbox Media на одном HTML:
+![Картинка](https://skillbox.ru/upload/setka_images/10500219082022_5c20dcbcfbab07ab6c2df7e27444d5ac2afca569.png)
+
+## Из чего состоит HTML-код
+
+HTML состоит из тегов — команд, которые указывают браузеру, как отображать помещённый в них текст. Это и есть элементы веб-страницы. У каждого тега есть имя, которое заключается в угловые скобки < и >.
+
+Например, в тег `<p>` обычно помещают текст:
+
+```
+<p>Привет, мир!</p>
+```
+
+Теги бывают парные и непарные. Парные состоят из двух тегов — открывающего и закрывающего, а непарные — из одного. При этом непарный тег тоже можно закрывать, но это необязательно.
+
+Например, тег `<img>`, который позволяет разместить картинку на сайте, — непарный:
+
+```
+<img scr='bird.jpg' alt='photo of bird'>
+```
+
+У каждого тега есть атрибуты. С их помощью можно передавать элементам веб-страницы дополнительные данные: размеры, уникальный id элемента, ссылки на изображения и так далее.
+
+Элемент `<img>` включает в себя два основных атрибута — src и alt. Первый добавляет ссылку на файл, а второй — подпись к картинке, которая покажется, если файл не загрузится:
+
+![Картинка](https://skillbox.ru/upload/setka_images/10500219082022_278cadb5c5a600fd354bbb4a32acf34407bf98f0.png)
+
+Тег `<p>` — парный, он всегда должен закрываться тегом `</p>`. Парные теги применяются для разметки блоков — элементов, в которые можно вкладывать другие элементы (в том числе блоки). К ним относятся:
+
+- контейнеры (div);
+- абзацы;
+- заголовки;
+- списки;
+- таблицы.
+
+Так выглядит код веб-страницы с тегами `<p>` и `<img>`:
+
+```
+<p>
+  Какой-нибудь сопроводительный текст. Обычно в примерах используют 
+lorem ipsum, но мы пишем всё сами -- хардкор!
+</p> 
+<img src='image.png'> 
+<p>А тут ещё один абзац, чтобы заполнить пустоту.</p>
+
+```
+
+А вот как его отображает браузер:
+
+![Картинка](https://skillbox.ru/upload/setka_images/10500219082022_bd473197c461193ea9b6d317f4c236910d065887.png)
+
+Теперь добавим ещё один тег — `<center>`. Он центрирует элементы на экране. Затем положим в него теги `<p>` и `<img>`:
+
+```
+<center>
+  <p>
+      Какой-нибудь сопроводительный текст. Обычно в примерах используют 
+lorem ipsum, но мы пишем всё сами -- хардкор!
+  </p> 
+  <img src='image.png'> 
+  <p>А тут ещё один абзац, чтобы заполнить пустоту.</p>
+</center>
+
+```
+
+У нас получился такой результат:
+
+![Картинка](https://skillbox.ru/upload/setka_images/10500219082022_e3039f248dd555899a396179b51a05be377f9973.png)
+
+## Как HTML работает на сайтах
+
+Давайте разберём, как браузеры отрисовывают веб-страницы с помощью HTML-файлов.
+
+Принцип работы разметки следующий:
+
+- Вы вводите в адресную строку адрес сайта или страницы.
+- Браузер отправляет запрос по этому адресу и получает файл в формате HTML.
+- Код из полученного файла последовательно преобразуется в визуальные объекты.
+
+При этом каждый браузер руководствуется своими правилам отображения элементов. Раньше разработчикам приходилось создавать отдельные версии сайтов для Internet Explorer, Firefox, Opera и других браузеров. Стоило только не учесть какую-то особенность браузера, и сайт падал на глазах у разочарованных пользователей. К счастью, организация W3C разработала веб-стандарты — чтобы сайты отображались более или менее одинаково во всех браузерах.
+
+Но и от обыкновенных ошибок никто не застрахован. Если разработчик по невнимательности не закроет тег или добавит содержимое куда-нибудь не туда, на странице вылезет что-то неожиданное.
+
+```
+<table border='1'>
+ 
+  <tr>
+    <th>№</th>
+    <th>Позиция</th>
+    <th>Цена за единицу (руб.)</th>
+  </tr> 
+  <tr>
+    <td>1</td>
+    <td>Ручка синяя</td>
+    <td>8</td>
+  </tr> 
+  <tr>
+    <td>2</td>
+    <td>Карандаш с ластиком</td>
+    <td>10</td>
+  </tr> 
+  <tr>
+    <td>3</td>
+    <td>Линейка (30 см)</td>
+    <td>30</td>
+  </tr> 
+  <tr>
+    <td>4</td>
+    <td>Галстук</td>
+    <td></td>250
+  </tr> 
+  <tr>
+    <td>5</td>
+    <td>Дырокол</td>
+    <td>100</td>
+  </tr> 
+</table>
+```
+
+`<table>` — это таблица, `<tr>` — это ряд, а `<th>` и `<td>` — ячейки. Если бы мы всё сделали правильно, в браузере бы отобразилась обычная таблица. Но обратите внимание, что в четвёртом ряду цена галстука находится не в ячейке, а прямо в ряду. Вот как это будет выглядеть:
+
+![Картинка](https://skillbox.ru/upload/setka_images/10500219082022_ee673444daa2c4c150863fb4fe2e59385df85324.png)
+
+## Что можно и нельзя сделать на HTML
+
+HTML — это каркас сайта. По нему браузер отрисовывает веб-страницу, наводит «красоту» с помощью CSS и добавляет логику через JavaScript. Например, в HTML-файле можно прописать:
+
+- гиперссылки;
+- таблицы;
+- изображения;
+- блоки;
+- абзацы;
+- формы;
+- заголовки.
+
+Можно даже задавать простой дизайн напрямую в HTML — например, устанавливать цвет и шрифт текста или фоновый цвет блока. Однако профессионалы не рекомендуют так делать — лучше указывать стили в файле CSS. Там-то ваша фантазия ничем не будет ограничена: задавайте любые отступы, размещайте элементы нестандартными способами, играйтесь с прозрачностью, тенями и анимацией. Всё что угодно — но в CSS.
+
+## HTML — язык программирования?
+
+Нет. На языках программирования пишут… программы и веб-приложения. Для этого в них есть условия, функции, переменные, операторы, классы и много что ещё. В HTML же есть только теги, которые помогают браузеру правильно отобразить содержимое сайта.
+
+Во многих источниках HTML всё-таки называют языком программирования. Не верьте! HTML — это всего лишь формат текста. По сути, HTML-файл ничем не отличается от «вордовского» файла.
+
+## Сколько времени нужно, чтобы освоить HTML
+
+Основы, которых хватит на создание примитивных страниц, можно изучить за час. То есть быстрее, чем была написана эта статья. Но мастерство приходит с практикой. Мало просто создать каркас — нужно убедиться, что он везде правильно отображается.
+
+Специалисты, которые могут написать не кривой адаптивный сайт, ценятся у работодателей. Но быть просто HTML-верстальщиком невыгодно. Сегодня это довольно редкая и низкооплачиваемая профессия. Лучше сразу изучать фронтенд- или бэкенд-разработку, а HTML обязательно пригодится в процессе.
+
+## Литература
+
+<https://skillbox.ru/media/code/chto_takoe_html/>

+ 56 - 0
Лекции/JavaScript.md

@@ -0,0 +1,56 @@
+# JavaScript
+
+**JavaScript** — это язык управления элементами на сайте. Он умеет красить кнопки, запускать анимации, загружать эффекты, и всё это — без перезагрузки страницы. Например, вы нажали кнопку «Нравится» — вспыхнуло красное сердечко. Или навели курсор на три точки, и выпало меню. В обоих случаях на странице сработал скрипт. А JavaScript как раз главный по ним в интернете — отсюда и его название.
+
+JavaScript появился в далёкие девяностые, когда интернет был совсем юным и состоял в основном из текста и гиперссылок. Тогда компания Netscape захотела себе новый язык для веба в дополнение к HTML и CSS.
+
+На то было две причины:
+
+- Благородная — чтобы люди в браузере могли не только читать текст, но и запускать разные меню, окошки, мигающие кнопки и так далее.
+- Коммерческая — чтобы утереть нос Microsoft. В то время между Netscape Navigator и Internet Explorer шла «браузерная война», и Netscape решила привлечь разработчиков к работе в своём браузере с помощью нового языка.
+
+А ещё Netscape договорилась с Sun Microsystems, чтобы язык считался «младшим братом» Java для браузеров. Так появилось название JavaScript — не потому, что языки сильно похожи, а потому, что Java тогда был на хайпе. В общем, во всём вините маркетологов
+
+## Пишем первую программу
+
+Для начала небольшой ликбез. Все языки программирования делятся на **компилируемые** и **интерпретируемые**. Чтобы запустить программу, написанную на компилируемом языке, код предварительно прогоняют через компилятор. А вот код на интерпретируемом языке прогонять не надо — передал интерпретатору, и тот его сразу же исполняет.
+
+JavaScript относится ко второму типу языков. С одной стороны, это удобно — меньше мороки и рутины, больше творчества. С другой — без интерпретатора он просто не запустится. К счастью, все современные веб-браузеры дружат c JavaScript.
+
+## Где ещё нужен JavaScript
+
+JavaScript — это серьёзный и мощный язык, на котором можно не только красивые анимации рисовать, но и писать сложные программы для бизнеса.
+## Веб-приложения
+Возьмём, к примеру, «Google Документы». Вспомните, как много там функций: можно менять шрифт, выравнивать абзацы, вставлять картинки. Без JavaScript нам бы пришлось перезагружать страницу после каждого действия — проще плюнуть и уйти в Word. А так у нас есть удобная облачная альтернатива.
+## Бэкенд
+JavaScript умеет запускаться на сервере и может быть полноценным бэкенд-языком — как Python, С# и Java. Подключаем к нему специальный движок Node.js, и можно писать вообще что угодно: чаты, соцсети, компьютерные программы и так далее. В Netflix, например, пишут на нём и серверную логику, и интерфейс.
+## Расширения для браузера
+Расширения — это простые скрипты, которые добавляют в браузер новые функции. Они умеют блокировать рекламу, делать скриншоты, обходить блокировки сайтов (мы этого не говорили). Все расширения пишут на JavaScript — достаточно выучить его, и расширяйте сколько вздумается.
+## Мобильные приложения
+Допустим, вы работаете тимлидом в небольшой IT-компании, создаёте облачное хранилище. Однажды к вам приходит продакт-менеджер и требует приложение для Android — чтобы клиенты могли заходить в хранилище с телефона. А у вас вообще-то стартап, и денег на Android-разработчика нет.
+
+Можно пойти сложным путём и обучить команду программировать на Kotlin. А можно схитрить и попросить фронтендера написать программу на JavaScript. Потом просто компилируете её под Android с помощью React Native и получаете нативное приложение.
+## Игры
+Помните динозаврика из Google Chrome? Который прыгает через кактусы, если пропал интернет. Вы тоже можете написать такого на JavaScript, и ещё много других простых игрушек: гонок, бродилок, головоломок, стратегий и так далее.
+## Чем JavaScript отличается от Java
+Многие начинающие разработчики думают, что Java и JavaScript — родственники. Мол, сначала нужно выучить Джаву, а придачу к ней ещё Скрипт, и дело в шляпе. На самом деле это совсем разные языки — они по-разному устроены и используются для разных задач.
+## Типизация
+В любом компьютерном языке есть типы данных: строки, числа, символы и так далее. Но каждый язык по-разному себя с ними ведёт — это называется **типизацией**. В языках вроде Java она **статическая** — если мы вводим числовую переменную, нужно сначала задать её тип. Компьютер смотрит на тип и понимает: сейчас будет математика.
+
+А в JavaScript типизация **динамическая**, поэтому типы задавать не нужно. С одной стороны, свобода, а с другой — возможны разные аномалии. Например, у JavaScript можно спросить, что больше — банан или 150, и получить ответ.
+## Компиляция
+В отличие от JavaScript, Java — это компилируемый язык. Перед тем как запустить Java-код, его нужно скомпилировать — то есть перевести на машинный язык. Зато потом, когда мы кликнем на иконку программы, код сразу начнёт выполняться. При повторном запуске ничего компилировать не нужно.
+
+Скрипты же сначала перехватывает интерпретатор, который делает примерно то же самое, но в режиме реального времени. То есть при каждом запуске скрипта код JavaScript переводится в машинный.
+## Применение
+Магия языка Java — в его виртуальной машине (JVM). Виртуальная машина позволяет запускать код на любом устройстве, где она установлена. Удалось запустить машину — запустится и программа. Поэтому на Java удобно писать софт для самых разных устройств: серверов, компьютеров, смартфонов, банкоматов и даже роботов.
+
+У JavaScript совсем другая задача — управлять элементами страницы. Можно написать полезный скрипт и добавить функций на сайт. А если ещё освоить Node.js, то вообще никакой другой язык не нужен — можно хоть розетку запрограммировать.
+## Что легче учить
+Короткий ответ — JavaScript. Чтобы написать первый скрипт, не нужно тратить время на установку виртуальной машины и разбираться в типах данных. А из инструментов понадобятся лишь блокнот и браузер. Выбирайте его, если вы совсем новичок и хотите быстро вкатиться в разработку.
+
+С Java на первых порах придётся попотеть, зато потом вы сможете запускать сложные системы. А ещё с Java легко перейти на другие языки — Kotlin или C#.
+
+## Литература
+https://skillbox.ru/media/code/chto-takoe-javascript-i-zachem-on-nuzhen/
+