почему веб программирование так популярно
Почему они рекомендуют веб?
Чтобы выяснить преимущества сферы веб-разработки для программистов, мы поговорили с представителями Mail.Ru Group, КРОК, Яндекс, «Интаро» и Softline. Все респоденты имеют большой опыт в веб-программировании, большинство из них занимает топовые должности в IT-компаниях.
Александр Горный, директор по информационным технологиям Mail.Ru Group:
Проникновение интернета растет каждый год. Количество времени, которое средний пользователь проводит в интернете, растет каждый год. Количество дел, которые можно теперь делать через интернет, растет каждый год. Что может быть перспективнее?
В растущей отрасли рост ничем не ограничен, новые возможности открываются каждый день. Имена стартаперов-победителей у всех на слуху и повторять их бессмысленно. Внутри больших компаний возможности также не ограничены – большинство топов любой интернет-компании начинали карьеру программистами. Возьмем хотя бы генерального директора и основателя Mail.Ru Group Дмитрия Гришина.
Сергей Дорогин, ведущий инженер-разработчик Департамента информационных технологий компании КРОК:
Web-платформа сейчас является основной по распространенности. Это самый простой способ получить максимальный охват по количеству возможных пользователей или клиентов. Когда-то давно, Sun Microsystems придумала слоган для Java “write once, run anywhere”, теперь то же самое можно сказать и про web-платформу. Это уже не просто сайты, а полноценные приложения, вплоть до 3D-игр.
Важным преимуществом Web-платформы является то, что развитие технологий происходит через глобальные организации, в которые входят все заинтересованные компании. Это развитие оформляется в виде стандартов, которые не контролируются каким-то одним вендором, несмотря на конкурентную борьбу за долю рынка.
Само понятие веб-разработки за последнее время претерпело изменения. Раньше это ассоциировалось с такими технологиями как PHP, Ruby, Java, ASP и т.д. Сейчас же это в основном JavaScript и CSS/HTML. Да, back-end по-прежнему разрабатывается обычно на упомянутых технологиях. Но сейчас стало возможным реализовывать полный стек на JavaScript. Благодаря развитию возможностей браузеров все больше логики размещается на клиенте.
О популярности веб-платформы, в частности, говорит статистика используемых языков на Github. Уже несколько лет лидерство удерживает JavaScript (см. http://githut.info/, https://www.githubarchive.org/, а также исследование)
Карьерные возможности масштабны как в области web-разработки, так и в ИТ-отрасли в целом. В мире спрос на разработчиков и, в частности, специалистов по веб-платформе будет только расти. Инвестиции в свои знания – самые правильные, они не зависят от курса валюты и цены на нефть. Навыки разработчика котируются в независимости от страны нахождения при условии владения английским языком. На веб-технологиях можно построить конечное решение в любой стране мира. При желании и определенном везении можно стать хоть Марком Цукербергом, либо основать свою компанию, причем не обязательно софтверную.
В наши дни, если приложение можно оформить как web, то это делают почти всегда. Исключениями могут быть лишь те случаи, когда система должна работать с какими-то специфическими устройствами, либо есть ограничения по производительности. Поэтому в собственных разработках ИТ-компании также ориентируются на web-технологии. КРОК здесь не исключение. К нам можно прийти с минимальными знаниями на позицию стажера и получить необходимый опыт в ходе работы на реальных проектах.
Александр Шмидт, Backend developer в Яндекс:
Разработка программного обеспечения – это в принципе перспективное направление. А конкретно web – он никуда не девается, всё больше и больше людей требуется для создания не только сайтов, но и разнообразных приложений на базе глобальной сети. С развитием мобильных платформ растёт потребность и в разработчиках мобильных приложений, но и они, в большинстве случаев, полагаются на сетевое взаимодействие с серверным программным обеспечением.
Если говорить о технической карьере (т.е., не вырастать в чистое руководство людьми), то можно углубляться в серверную разработку, доходя до создания сложных инфраструктурных систем и облачных решений для больших компаний, или же, наоборот, оттачивать мастерство фронтендера при разработке динамических веб-страниц. Я мало касаюсь этой части в последние годы, но со стороны кажется, что даже просто успевать следить за новыми стандартами и возможностями браузеров и уметь их применять – это очень дорогого стоит. Из серверной разработки можно перейти в data science – набирающее обороты направление, о котором сейчас только и разговоров.
Это направление интересно потому, что почти всегда есть, куда расти: по мере углубления в область, сложность задач растёт так, что «упереться в потолок» довольно сложно. И постоянное развитие технологий тоже не даёт заскучать.
Сергей Марина, руководитель отдела веб-разработки компании Softline в Таганроге:
В веб-разработке нет границ. Мы нацелены на решения различных задач пользователей, а пользователями может быть весь мир. Можно создать сайт с посещаемостью до 1 млрд человек. Можно стать «человеком мира», работая в сфере веб-разработки.
Возможностей для карьерного роста много. Если есть желание и склонность к решению больших веб-задач, можно стать тимлидером, архитектором систем, решать задачи с высокой нагрузкой. Или, к примеру, заниматься юзабилити, реализовывать удобные, эргономичные интерфейсы. Веб-разработка не ограничивается 2-3 языками, их существует множество, как и технологий для решения тех или иных задач.
Если говорить о собственном интересном опыте, то мне запомнилось два крупных проекта. Мой первый проект – высоконагруженный интернет-магазин бытовой техники с посещаемостью порядка 50 тыс. человек в день. Нужно было не только сделать красивый и удобный интерфейс, но и решать задачи бизнеса, направленные на увеличение продаж. Мы реализовывали различные логики и сценарии покупок. В результате заказчику проекта удалось увеличить продажи сопутствующих товаров на 15-20%.
Другой интересный проект – портал для чтения книг через мобильные устройства, персональные компьютеры и веб-браузер. Я делал систему защиты от копирования, еще одной интересной задачей была разработка и предоставление витрины как сервиса – партнеры могли с помощью Java-скриптов получить полноценный интернет-магазин книг на своих ресурсах. Услугой воспользовались более 40 партнеров. Сервис приносил прибыль не только нам, но и им.
Ильяс Салихов, СТО в группе компаний «Интаро»:
Покупка товаров и билетов, поиск информации, оплата штрафов, заказ такси, музыка и общение, автоматизация бизнеса – я перечислил первое, что пришло на ум, а это немногое из того, что уже позволяет нам веб-среда, и то, что создано именно веб-разработчиками.
Интересных задач для программистов в этой сфере множество, наши клиенты (например, Госдума, Связной, Столплит и др.) в этом плане тоже не дают скучать, да и сами мы не стоим на месте – набирает обороты выросший внутри компании проект retailCRM.
На заре развития веб-технологии были просты и в какой-то мере примитивны. Разработчики в свое время были “людьми-оркестрами”: программировали серверную логику, верстали страницы, накручивали javascript. Сегодня найти программиста, сильного сразу в нескольких областях веб-разработки сложно, да и, пожалуй, уже неправильно. Каждая из них сильно эволюционировала и продолжает свое развитие, появляется специализация и такие позиции, как frontend-разработчики (отвечают за работу веб-проекта в браузере), backend-разработчики (отвечают за серверную реализацию веб-сервиса), разработчики баз данных, архитекторы. Это видно и по нашей компании, где когда-то единый отдел разработки эволюционировал в несколько специализированных отделов. Каждый специалист может найти интересную область и применить себя в ней. Кроме того встают отдельные вопросы масштабируемости и отказоустойчивости веб-проекта, обеспечения безопасности, работы с big data, интеграции с другими системами и мониторинга. С точки зрения профессионального роста разработчик может расти как «вширь», так и «вглубь».
Меняется и подход к разработке проектов. Если в прежние годы были популярны классические подходы разработки ПО: водопадные, спиральные модели, где проект целиком планировался и расписывался на годы, потом долго и мучительно разрабатывался, тестировался и только потом запускался, то в современное динамичное время такие сроки разработки проектов – непозволительная роскошь: к моменту запуска проект уже будет устаревшим. Сейчас применяются гибкие методологии разработки (Agile, Scrum), которые используются и у нас в Интаро. С одной стороны они позволяют быстро запускать проекты, а затем активно и итеративно его развивать, с другой стороны, быстро корректировать вектор развития, таким образом повышая шансы проекта на успех.
У новых методологий разработки есть и еще один немаловажный плюс. Задачи, сделанные разработчиком не ожидают общего завершения проекта, а запускаются в работу сразу, как только готовы. Пользователи быстрее получают обновления, а программист видит, что результат его трудов используется, а не «пылится» в репозитории. Как правило это здорово держит в тонусе мотивацию отдельных разработчиков и команды в целом, поддерживает общий драйв проекта.
В свое время разрабатывали внутреннюю систему расчета и сайт для компании «Мой Ген», которая предоставляет информацию о рисках заболеваний на основе анализа ДНК. Тогда мы отдельно решали задачи оптимизации расчета и сравнения ДНК: каждая из них состоит из многих миллионов нуклеотид, поэтому попарное сравнение генерирует миллиарды и триллионы операций. В таких случаях приходится обращаться к низкоуровневым языкам: C, C++. Сейчас ситуация лучше, появляются производительные языки нового поколения (Rust, Go), которые ускоряют решение таких задач.
В настоящее время активно работаем над retailCRM (специализированная CRM для e-commerce). Проект работает на нескольких десятках серверов в 2 датацентрах. Он самостоятельно масштабируется в зависимости от нагрузки, автоматически создает новые аккаунты, удаляет неработающие, мониторит поведение клиентов в магазинах, подключенных к CRM, формирует RFM-сегментацию клиентов, производит триггерные рассылки и многое другое. Количество интеграций уже перевалило за 50 и постоянно увеличивается.
Как видно спектр задач, которые решаются при разработке более-менее крупного современного интернет-проекта, огромен и интересен. Это всегда вызов и мотивация для команды.
Тем, кто хочет стать программистом, рекомендуем профессию «Веб-разработчик».
Освоить востребованную профессию в Data Science можно всего за полтора года на курсах GeekBrains. После учёбы вы сможете работать по специальностям Data Scientist, Data Analyst, Machine Learning, Engineer Computer Vision-специалист или NLP-специалист.
Освоить востребованную профессию в Аналитике больших данных можно всего за полтора года на курсах GeekBrains.
Чтобы выяснить преимущества сферы веб-разработки для программистов, мы поговорили с представителями Mail.Ru Group, КРОК, Яндекс, «Интаро» и Softline. Все респоденты имеют большой опыт в веб-программировании, большинство из них занимает топовые должности в IT-компаниях.
Александр Горный, директор по информационным технологиям Mail.Ru Group:
Проникновение интернета растет каждый год. Количество времени, которое средний пользователь проводит в интернете, растет каждый год. Количество дел, которые можно теперь делать через интернет, растет каждый год. Что может быть перспективнее?
В растущей отрасли рост ничем не ограничен, новые возможности открываются каждый день. Имена стартаперов-победителей у всех на слуху и повторять их бессмысленно. Внутри больших компаний возможности также не ограничены – большинство топов любой интернет-компании начинали карьеру программистами. Возьмем хотя бы генерального директора и основателя Mail.Ru Group Дмитрия Гришина.
Сергей Дорогин, ведущий инженер-разработчик Департамента информационных технологий компании КРОК:
Web-платформа сейчас является основной по распространенности. Это самый простой способ получить максимальный охват по количеству возможных пользователей или клиентов. Когда-то давно, Sun Microsystems придумала слоган для Java “write once, run anywhere”, теперь то же самое можно сказать и про web-платформу. Это уже не просто сайты, а полноценные приложения, вплоть до 3D-игр.
Важным преимуществом Web-платформы является то, что развитие технологий происходит через глобальные организации, в которые входят все заинтересованные компании. Это развитие оформляется в виде стандартов, которые не контролируются каким-то одним вендором, несмотря на конкурентную борьбу за долю рынка.
Само понятие веб-разработки за последнее время претерпело изменения. Раньше это ассоциировалось с такими технологиями как PHP, Ruby, Java, ASP и т.д. Сейчас же это в основном JavaScript и CSS/HTML. Да, back-end по-прежнему разрабатывается обычно на упомянутых технологиях. Но сейчас стало возможным реализовывать полный стек на JavaScript. Благодаря развитию возможностей браузеров все больше логики размещается на клиенте.
О популярности веб-платформы, в частности, говорит статистика используемых языков на Github. Уже несколько лет лидерство удерживает JavaScript (см. http://githut.info/, https://www.githubarchive.org/, а также исследование)
Карьерные возможности масштабны как в области web-разработки, так и в ИТ-отрасли в целом. В мире спрос на разработчиков и, в частности, специалистов по веб-платформе будет только расти. Инвестиции в свои знания – самые правильные, они не зависят от курса валюты и цены на нефть. Навыки разработчика котируются в независимости от страны нахождения при условии владения английским языком. На веб-технологиях можно построить конечное решение в любой стране мира. При желании и определенном везении можно стать хоть Марком Цукербергом, либо основать свою компанию, причем не обязательно софтверную.
В наши дни, если приложение можно оформить как web, то это делают почти всегда. Исключениями могут быть лишь те случаи, когда система должна работать с какими-то специфическими устройствами, либо есть ограничения по производительности. Поэтому в собственных разработках ИТ-компании также ориентируются на web-технологии. КРОК здесь не исключение. К нам можно прийти с минимальными знаниями на позицию стажера и получить необходимый опыт в ходе работы на реальных проектах.
Александр Шмидт, Backend developer в Яндекс:
Разработка программного обеспечения – это в принципе перспективное направление. А конкретно web – он никуда не девается, всё больше и больше людей требуется для создания не только сайтов, но и разнообразных приложений на базе глобальной сети. С развитием мобильных платформ растёт потребность и в разработчиках мобильных приложений, но и они, в большинстве случаев, полагаются на сетевое взаимодействие с серверным программным обеспечением.
Если говорить о технической карьере (т.е., не вырастать в чистое руководство людьми), то можно углубляться в серверную разработку, доходя до создания сложных инфраструктурных систем и облачных решений для больших компаний, или же, наоборот, оттачивать мастерство фронтендера при разработке динамических веб-страниц. Я мало касаюсь этой части в последние годы, но со стороны кажется, что даже просто успевать следить за новыми стандартами и возможностями браузеров и уметь их применять – это очень дорогого стоит. Из серверной разработки можно перейти в data science – набирающее обороты направление, о котором сейчас только и разговоров.
Это направление интересно потому, что почти всегда есть, куда расти: по мере углубления в область, сложность задач растёт так, что «упереться в потолок» довольно сложно. И постоянное развитие технологий тоже не даёт заскучать.
Сергей Марина, руководитель отдела веб-разработки компании Softline в Таганроге:
В веб-разработке нет границ. Мы нацелены на решения различных задач пользователей, а пользователями может быть весь мир. Можно создать сайт с посещаемостью до 1 млрд человек. Можно стать «человеком мира», работая в сфере веб-разработки.
Возможностей для карьерного роста много. Если есть желание и склонность к решению больших веб-задач, можно стать тимлидером, архитектором систем, решать задачи с высокой нагрузкой. Или, к примеру, заниматься юзабилити, реализовывать удобные, эргономичные интерфейсы. Веб-разработка не ограничивается 2-3 языками, их существует множество, как и технологий для решения тех или иных задач.
Если говорить о собственном интересном опыте, то мне запомнилось два крупных проекта. Мой первый проект – высоконагруженный интернет-магазин бытовой техники с посещаемостью порядка 50 тыс. человек в день. Нужно было не только сделать красивый и удобный интерфейс, но и решать задачи бизнеса, направленные на увеличение продаж. Мы реализовывали различные логики и сценарии покупок. В результате заказчику проекта удалось увеличить продажи сопутствующих товаров на 15-20%.
Другой интересный проект – портал для чтения книг через мобильные устройства, персональные компьютеры и веб-браузер. Я делал систему защиты от копирования, еще одной интересной задачей была разработка и предоставление витрины как сервиса – партнеры могли с помощью Java-скриптов получить полноценный интернет-магазин книг на своих ресурсах. Услугой воспользовались более 40 партнеров. Сервис приносил прибыль не только нам, но и им.
Ильяс Салихов, СТО в группе компаний «Интаро»:
Покупка товаров и билетов, поиск информации, оплата штрафов, заказ такси, музыка и общение, автоматизация бизнеса – я перечислил первое, что пришло на ум, а это немногое из того, что уже позволяет нам веб-среда, и то, что создано именно веб-разработчиками.
Интересных задач для программистов в этой сфере множество, наши клиенты (например, Госдума, Связной, Столплит и др.) в этом плане тоже не дают скучать, да и сами мы не стоим на месте – набирает обороты выросший внутри компании проект retailCRM.
На заре развития веб-технологии были просты и в какой-то мере примитивны. Разработчики в свое время были “людьми-оркестрами”: программировали серверную логику, верстали страницы, накручивали javascript. Сегодня найти программиста, сильного сразу в нескольких областях веб-разработки сложно, да и, пожалуй, уже неправильно. Каждая из них сильно эволюционировала и продолжает свое развитие, появляется специализация и такие позиции, как frontend-разработчики (отвечают за работу веб-проекта в браузере), backend-разработчики (отвечают за серверную реализацию веб-сервиса), разработчики баз данных, архитекторы. Это видно и по нашей компании, где когда-то единый отдел разработки эволюционировал в несколько специализированных отделов. Каждый специалист может найти интересную область и применить себя в ней. Кроме того встают отдельные вопросы масштабируемости и отказоустойчивости веб-проекта, обеспечения безопасности, работы с big data, интеграции с другими системами и мониторинга. С точки зрения профессионального роста разработчик может расти как «вширь», так и «вглубь».
Меняется и подход к разработке проектов. Если в прежние годы были популярны классические подходы разработки ПО: водопадные, спиральные модели, где проект целиком планировался и расписывался на годы, потом долго и мучительно разрабатывался, тестировался и только потом запускался, то в современное динамичное время такие сроки разработки проектов – непозволительная роскошь: к моменту запуска проект уже будет устаревшим. Сейчас применяются гибкие методологии разработки (Agile, Scrum), которые используются и у нас в Интаро. С одной стороны они позволяют быстро запускать проекты, а затем активно и итеративно его развивать, с другой стороны, быстро корректировать вектор развития, таким образом повышая шансы проекта на успех.
У новых методологий разработки есть и еще один немаловажный плюс. Задачи, сделанные разработчиком не ожидают общего завершения проекта, а запускаются в работу сразу, как только готовы. Пользователи быстрее получают обновления, а программист видит, что результат его трудов используется, а не «пылится» в репозитории. Как правило это здорово держит в тонусе мотивацию отдельных разработчиков и команды в целом, поддерживает общий драйв проекта.
В свое время разрабатывали внутреннюю систему расчета и сайт для компании «Мой Ген», которая предоставляет информацию о рисках заболеваний на основе анализа ДНК. Тогда мы отдельно решали задачи оптимизации расчета и сравнения ДНК: каждая из них состоит из многих миллионов нуклеотид, поэтому попарное сравнение генерирует миллиарды и триллионы операций. В таких случаях приходится обращаться к низкоуровневым языкам: C, C++. Сейчас ситуация лучше, появляются производительные языки нового поколения (Rust, Go), которые ускоряют решение таких задач.
В настоящее время активно работаем над retailCRM (специализированная CRM для e-commerce). Проект работает на нескольких десятках серверов в 2 датацентрах. Он самостоятельно масштабируется в зависимости от нагрузки, автоматически создает новые аккаунты, удаляет неработающие, мониторит поведение клиентов в магазинах, подключенных к CRM, формирует RFM-сегментацию клиентов, производит триггерные рассылки и многое другое. Количество интеграций уже перевалило за 50 и постоянно увеличивается.
Как видно спектр задач, которые решаются при разработке более-менее крупного современного интернет-проекта, огромен и интересен. Это всегда вызов и мотивация для команды.
Тем, кто хочет стать программистом, рекомендуем профессию «Веб-разработчик».
Освоить востребованную профессию в Data Science можно всего за полтора года на курсах GeekBrains. После учёбы вы сможете работать по специальностям Data Scientist, Data Analyst, Machine Learning, Engineer Computer Vision-специалист или NLP-специалист.
Освоить востребованную профессию в Аналитике больших данных можно всего за полтора года на курсах GeekBrains.
Почему стоит заняться веб-разработкой и с чего начать
Работаю в области веб-разработки два с лишним года, и думаю, что могу высказать некоторые мысли по данной тематике.
Программированием увлёкся три года назад. Сначала пробовал себя в языках программирования из семейства C, но мне не удавалось проявить там свои творческие способности. Потом я где-то услышал про веб-разработку. И как оказалось, это было то, что мне нужно.
Почему стоит заняться веб-разработкой?
Для меня это чистое творчество. Представьте себе абсолютно чистый холст, как у художника. У вас есть все краски, кисточки, осталось лишь научиться рисовать. Обычно это сложнее, чем кажется, но не для веб-мастера. Сейчас в просторах интернета масса всевозможных инструкций, онлайн-курсов, примеров с наглядными иллюстрациями. И в принципе, создать что-то новое при помощи этих мануалов не так уж сложно. Веб-разработка открывает широкие, почти безграничные возможности для творчества. Конечно, языки программирования, не заточенные под веб, тоже позволяют реализовать много интересного, но, как мне кажется, в среде веб-разработки сделать это гораздо проще.
Если вы только начинаете присматриваться к тематике веб-разработки, то советую вам уделить внимание этой статье. Тут вы можете найти несколько полезных вещей.
С чего начать?
Самый распространённый вопрос среди тех, кто только начинает изучать веб-разработку. Прежде всего я советую понять и разобраться как построена веб-страница. Для этого необходимо знание HTML-тегов, или хотя бы большей части из них. Именно они формируют страницу. Тегов довольно много, но на практике обычно используются 30-40, а иногда и меньше.
HTML-тег это элемент веб-страницы, который обычно имеет следующий формат:
После того, как вы переварите теги, время приступить к изучению атрибутов для каждого тега. Атрибут — это свойство тега. Атрибутов много, и они все разные, то есть отвечают за разные функции тега. Есть универсальные атрибуты, которые подходят для всех тегов, но и зачастую встречаются атрибуты, которые уникальны для тега. Это уже немного сложнее, но это можно легко запомнить, если каждый тег закреплять практикой.
Атрибут пишется внутри тега:
В данном случае выбран атрибут align, который определяет выравнивание содержимого внутри тега. Атрибут обычно имеет несколько значение. Center означает что содержимое будет выравнено по центру.
После этого следует приступать к изучению CSS-стилей. Что это такое? Простыми словами, это стили к HTML-тегам, которые располагаются на веб-странице. Стилей гораздо больше, чем HTML-тегов. Но это и хорошо, так как вы можете создавать абсолютно разные варианты с одним и тем же тегом. Стили нужно знать, и чем больше, тем лучше. Для себя можно провести следующую параллель: стили – дизайн тегов.
Обычно стили пишутся либо прямо в HTML документе, при помощи специального тега style:
Либо в отдельном CSS файле без тегов:
В том и в другом случае всем тегам div на веб-странице, будет присвоен цвет фона, в первом случае чёрный, во втором случае белый.
Я предпочитаю второй вариант, то есть создавать отдельный файл, но и первым нередко пользуюсь.
Ниже ссылки, в которых вы сможете найти более подробное описание каждого стиля:
htmlbook.ru/css
css.manual.ru
www.codecademy.com/tracks/web
Если вы освоили технологию HTML и CSS, то попробуйте создать на своём локальном компьютере какой-нибудь простенький сайт. Не стремитесь сделать его совершенным, а просто поиграйте со стилями, попрактикуйтесь с HTML-тегами, в общем, закрепите полученную информацию. В будущем вам будет некогда задумываться над тем или иным тегом, или просматривать свой сайт после каждого изменённого стиля. Постарайтесь уже во время написания стиля представлять в голове, как это будет выглядеть, и тогда вы будете гораздо меньше времени тратить на вёрстку сайта.
Хочу добавить ещё несколько полезных советов:
— Всегда уделяйте особое внимание путям (URL) к файлам или к картинкам. Зачастую именно тут спотыкаются не только новички, но опытные веб-мастера.
— Постарайтесь запомнить 20-30 кодов для цвета. Например, #000000 – чёрный, #FFFFFF – белый и так далее. Вот полезные ссылки: www.puzzleweb.ru/html/colors_html.php, www.artlebedev.ru/tools/colors.
— Начните работать с HTML, CSS в среде Notepad++. Очень простой, понятный редактор с подсветкой синтаксиса.
— Советую хорошо ознакомиться с DOM
— Постарайтесь подтянуть английский язык.
В одной статье тяжело охватить сразу все аспекты веб-разработки. То, что написано выше лишь крупицы из огромного и интересного мира веб-разработки. Но с этого я советую начать. Пройдя данный этап вы поймёте, как много возможностей появляется перед вами и, возможно, вы копнёте немного глубже.
В следующей статье постараюсь подробнее описать HTML, с упоминанием некоторых подводных камней, на которые чаще всего наступают новички.