Сергей Тушин, заместитель главы администрации Екатеринбурга по организации значимых общероссийских и международных мероприятий:
– Проведение чемпионата мира по программированию не стало для Екатеринбурга стрессом, так как вся инфраструктура была приспособлена к приезду такого количества гостей. Проведение подобного мероприятия – это показатель престижа вуза и признание уровня уральской науки. А также возможность зафиксировать уровень развития IT-сферы в нашем регионе и дать ему новый импульс движения вперед.
Маруан Наггар (Marwan Naggar ), участник команды №10, студент Каирского университета (Cairo University ), Египет (участвует первый раз):
– Я участвую впервые в таком масштабном и грандиозном мировом соревновании по программированию, поэтому осознавать себя его частью – фантастика. То, что ты видишь этих невероятных ребят со всех концов света в одном месте, само по себе воодушевляет на борьбу. Организация мероприятия замечательная. Нас хорошо встретили, помогли устроиться, везде сопровождают. Надо отметить, что нашему тренеру нужно особое внимание, так как он – лицо с ограниченными возможностями, и мы очень рады, что не возникло никаких проблем с этим. У нас еще не было шанса посмотреть Екатеринбург как следует из-за четкого расписания, но на первый взгляд он показался мне очень красивым, понравилась здешняя архитектура.
Игорь Левитин, помощник Президента РФ:
– Для нас является важным проведение в городе подобного мероприятия. Я пока не знаю, кто победил, но уверен, что победили в честной борьбе и победили лучшие.
В России придается очень большое значение образовательным программам и созданию университетов. IT-программы в наших университетах являются залогом качественного инженерного образования в РФ. Сегодня инженерное образование является одной из важнейших задач в образовательной системе. Никакие технические новые прорывные решения немыслимы без IT-технологий.
Евгений Куйвашев, губернатор Свердловской области:
– Данное мероприятие позволяет нам моделировать нашу жизнь немножко вперед. И, во многом, участники сегодняшних соревнований через некоторое время будут определять нашу жизнь. Потому что IT-технологии продвигают нашу жизнь вперед и проникли в промышленность и вообще во все отрасли, которые нас окружают. IT-технологии делают расстояние от идеи до ее реализации очень коротким и быстрым. Программисты! Вы будете двигать нашу жизнь, наш быстрый и изменчивый мир вперед.
Билл Паучер, исполнительный директор чемпионатов ACM ICPC , профессор Университета Бэйлора:
– Чемпионат ACM ICPC – это прекрасная возможность для студентов со всего мира собраться вместе и обменяться ценным опытом. Я рад наблюдать за тем, как молодые люди используют знания, полученные в процессе соревнования, для дальнейшего движения по выбранному академическому и карьерному пути в качестве членов Ассоциации вычислительной техники (ACM). Чемпионат мира по программированию проводится для того, чтобы выращивать все более и более совершенные поколения программистов, которые смогут решать технические задачи на более высоком уровне. Победители ICPC прошлых лет из России – это разработчики «ВКонтакте», «Яндекс», Mail.ru и «СКБ Контур». Чемпионат 2014 года стал самым массовым за всю историю ICPC: 122 команды со всего света, и они уже оказались на вершине. Они – звезды вселенной под названием «ICPC-2014»! Именно за ними будущее, за ними - XXII-й век!
Виктор Кокшаров, ректор Уральского федерального университета:
– Я надеюсь, что пребывание участников чемпионата в Екатеринбурге было незабываемым: для этого мы сделали очень многое, почти невероятное. Мы даже погоду поменяли: еще на прошлой неделе был шторм, ливень и грозы, а сегодня - солнечно, вы улыбаетесь, и все хорошо. Вот до чего дошла наука! С ней в Уральском федеральном все в порядке: информационные технологии, компьютерные науки, математика - многие студенты нашего университета специализируются именно на этом, как и участники команд, которые собрались здесь сегодня. Я желаю всем вам удачи, крепкого здоровья и незабываемых впечатлений от Екатеринбурга и этих соревнований!
Алан Азагури, руководитель направления IBM Software Group Technical Strategy, член IBM Academy of Technology и руководитель спонсорской программы ACM ICPC:
– Как одна из ведущих международных технологических компаний IBM понимает, насколько важно помогать студентам и мотивировать их на пути знакомства с новейшими достижениями технологического прогресса. Каждый год ACM ICPC объединяет лучших студентов-программистов в мире и дает им возможность решать задачи из реального мира. Мы полагаем, что эти студенты – будущие лидеры нашей индустрии, и хотим сделать вклад в их развитие и подготовку к будущей работе. Надеемся, что победители помогут нам построить по-настоящему разумную планету.
Александр Куприн, участник Чемпионата мира по программированию
A
CM
ICPC 2014, Высшая школа экономики, Москва:
– По правилам Чемпионата мира по программированию в соревнованиях можно участвовать всего два раза. Вот это мой второй раз. Первый был в 2011 году в Орландо. Тогда для нас главной задачей было - хотя бы попасть в финал. Мы считаем, что это уже было достижением. Я выступал от Орловского государственного технического университета. В первый раз впечатления всегда другие. Там были интересные мероприятия, нас возили в «Sea World» - это большой парк аттракционов. Вечером после соревнований мы поехали на киностудию «Universal». Там как раз закончился рабочий день, и специально для нас работники остались, чтобы провести экскурсию. Показали деревню Хогсмид из Гарри Потерра и другие вещи, связанные с «Фантастической четвёркой», «Человеком-пауком» и так далее. А здесь пока тоже неплохо. Вот граффити рисовали, мастер-классы были интересные. Параллельная программа, которую проводят организаторы, по-своему интересна и необычна.
Дмитрий Бугров, директор ACM ICPC 2014 в Екатеринбурге, первый проректор УрФУ:
– Сегодня отрасль «Информационные технологии» находится на передовой и очень быстро развивается. Почему именно айтишники идут во главе прогресса? Потому что через какое-то количество лет именно они будут управлять миром, может быть, незримо через мобильные приложения, компьютерные программы и многое другое, что делает нашу жизнь непохожей на жизнь наших предков, а жизнь наших детей сделает непохожей на нашу с вами жизнь. Самое главное, что эта отрасль постоянно нуждается в подпитке, она не терпит застоя, ей постоянно нужны новые мозги. Только это и обеспечивает ее развитие. Мир развивается потому, что развиваются умы.
Екатерина Корх, капитан команды КВН «Арррива», студентка Уральского государственного лесотехнического университета:
– Нашу команду пригласили на Кубок КВН Студенческой программы активностей в рамках ACM ICPC 2014 выпускники УрФУ - команда КВН «Голоса». Мы решили, что это замечательное летнее мероприятие, в котором стоит поучаствовать. Здорово, что в рамках Чемпионата мира по программированию походит такое яркое мероприятие, как КВН.
Подготовка проходит замечательно, нам очень нравятся редакторы и организаторы - Максим Басавин и Екатерина Власюк. Хорошие ребята с конструктивной критикой, с положительными эмоциями, с которыми приятно работать. Главное для нас - чтобы публика по достоинству оценила наше выступление. Ведь в нашей программе присутствует часть с уклоном на Чемпионат. Многое для нас ново, в том числе сцена: огромная и, насколько понимаю, без каких-либо кулис. Но КВНщики - это такие люди, которые готовы адаптироваться к любым условиям. Мы даже выступали как-то на улице под дождём, так что это не страшно.
В эру информационных технологий, компьютеров, iPhone, роботов и всего того, что умнее меня - такое мероприятие очень актуально. Побывать внутри всего этого, узнать какие-то секреты на мастер-классах и просто отлично провести время, тем более бесплатно - это вообще круто!
Тис Кинкхорст, член оргкомитета ACM ICPC 2014:
– Я помогаю судьям в организации, и это уже мой третий чемпионат мира. Что меня удивило в Екатеринбурге, так это количество волонтеров, которые всегда готовы помочь. Когда мы прилетели в аэропорт в 5 утра и нас встретили трое волонтеров, спросив: «Можем ли мы помочь?», – это было действительно круто! Я думаю, волонтеры – самый большой плюс в организации чемпионата этого года.
Влад Боровков, член оргкомитета «Территории уникальных развлечений»:
– Наш главный девиз – чтобы было нескучно. Мы хотели показать гостям, что программирование и вообще кибернетика – это интересно и зрелищно. Приятно, что в нас поверили и доверили проведение мероприятия для всего города.
Ольга Николенко, волонтер ACM ICPC 2014, студентка УрФУ:
– У волонтеров была очень теплая, семейная атмосфера. Если возникала какая-то проблемная ситуация и нужна была помощь, я была уверена, что мне ее предоставят другие ребята. Естественно, иногда возникали какие-то казусы, но работа именно самих волонтеров была безупречной, большинство выкладывалось на полную катушку. Ведь эти люди – энтузиасты, а когда человек заинтересован в том, что он делает, это всегда получается отлично. В обмен мы получили столько эмоций, что их хватит на все лето! Волонтеры находились в отелях, в аэропорту, и были «бадди» – сопровождающие. Но больше всего времени мы проводили со своими подопечными командами. Такие мероприятия очень полезны для города и университета, но особенно важны для того, чтобы люди из разных стран учились находить общий язык.
Описание
: создание сайтов очень не простой процесс. Все, наверное, знают, что в его создании принимают участие веб-дизайнер и программист, но многие не знают про верстальщика. А ведь именно работа верстальщиком расставляет все элементы дизайна по местам. Хотите научиться этому? Тогда читайте статью о том, как стать верстальщиком с нуля.
Оплата
: в среднем 10$ за час или 50-100$ за проект.
Требования
: усидчивость, внимательность, знать html, css, JavaScript, Photoshop
Многие люди даже не знают о такой профессии, так что для начала стоит понять что делает верстальщик и в чем заключается его работа.
Верстальщик создает каркас сайта, используя макет от дизайнера. Он отвечает за адаптацию ресурса под различные браузеры, мониторы и экраны смартфонов/планшетов, чтобы везде сайт выглядел определенным образом. Иными словами, он получает статичную картинку от дизайнера, а затем «оживляет» ее.
Что требуется для работы ? Минимальный набор верстальщика включает в себя:
- Notepad++, чтобы писать код;
- Photoshop или другой подобный графический редактор;
- Популярные браузеры, чтобы посмотреть, как отображается работа в разных браузерах.
Что нужно знать и какие качества понадобятся?
- HTML.
- JavaScript.
- Photoshop или другую подобную программу.
- Усидчивость.
- Внимательность.
- Зрительная память.
- Аккуратность.
Как стать верстальщиком ?
Желательно иметь среднее или высшее образование в этой области, но многие верстальщики-фрилансеры самоучки. Либо своими силами изучили всю необходимую информацию, либо окончили специальные курсы в интернете. К счастью, подобных школ теперь довольно много.
1. Для начала вам нужно изучить HTML, CSS и JavaScript. Можно не запоминать с ходу все значения, а составить себе понятную и удобную шпаргалку. Особенно обратите внимание на следующие моменты:
- как строится HTML страница – основные теги страницы (head, body) и что в них может находиться.
- главные HTML элементы — a, p, div, table, h1-h6, ol, ul, span и т.п.. Научитесь их правильно прописывать, изучите зачем нужны. Поймите разницу между блочными и строчными элементами.
- Ознакомьтесь с версиями HTML и какие теги в них входят.
- Изучите отличие табличной и блочной верстки, какие у них преимущества.
- Основные элементы HTML5.
- Изучить виды селекторов.
- Основные (фон, размер, цвет, шрифт, границы и т.п.) и особенные (position, float …) свойства CSS.
- Ознакомьтесь с версиями CSS, какие к ним относятся свойства.
- Какие свойства работают по другому в некоторых браузерах.
- Научитесь делать блочную структуру web-страницы.
- Изучите основны CSS3.
JavaScript:
- Зачем и когда применяется.
- Как скрыть или показать определенный блок.
- Как добавить анимацию (скроллер или слайдер).
- Как сменить класс и стиль элемента.
- Как получить или изменить значение определенного элемента.
2. Освойте программу Photoshop , ведь вам придется работать в графическом редакторе и довольно много. Верстальщику не обязательно уметь рисовать, ведь вы работаете с готовым макетом страницы. В основном вам нужно будет:
- Делать нарезку макета.
- Определять размеры.
- Получать нужные цвета.
- Вырезать определенные элементы из макета.
3. Изучите основы верстки – разберитесь в терминологии (кроссбраузерность, валидность, семантика). Почитайте пару книг по этой теме или посмотрите хотя бы бесплатные курсы – их полно. Желательно научиться работать с WordPress и Joomla, так как многие сайты работают на этих CMS, и у них много особенностей в работе.
4. Практикуйтесь – не нужно сразу идти на биржу фриланса и хватать самый сложный заказ. Сделайте 2-3 тестовые работы, чтобы набить руку и отточить практические навыки.
Работа верстальщиком удаленно
Где ее найти? Ведь во фрилансе основная проблема – найти заказ. А новичкам сделать это очень и очень сложно, особенно если вы самоучка и нет опыта реальной работы.
- Первый опыт можно получить бесплатно. Т.е. предлагать свои услуги за положительный отзыв. Найти заказчиков несложно – находите сайты и предлагайте сделать верстку за положительный отзыв. Многие вебмастера будут рады такому предложению, а в дальнейшем будут обращаться к вам по другим вопросам (уже платно) или посоветуют знакомым. Главное покажите себя с лучшей стороны.
- Найти работу можно там, где требуется постоянно создавать или дорабатывать сайты. Так что вам стоит обратиться в студии веб-дизайна или крупные интернет-проекты. Можно напрямую написать веб-студиям с предложением о сотрудничестве. На первых порах можно работать на бесплатной основе (испытательный срок + обучение), а через месяц выйти на оплату. Так вы сможете получить реальный опыт работы, а потом сможете пристроиться на постоянную удаленную работу. Но тут многое зависит от ваших умений, талантов и удачи.
- Не забывайте про самый распространенный вариант – биржи фриланса. Именно там новички могут получить свой первых опыт, хотя взять первый заказ будет проблематично. На сайте weblancer.net довольно много заказов по верстке, а конкуренция не так сильна как на fl.ru
5 советов для начинающих верстальщиков:
- Думай. Верстка это не простое дело, которому легко и просто обучиться.
- Будь в курсе всего нового в этой сфере – читайте блоги, форумы, сайты и другие источники информации по этой теме. Постоянно появляются новые технологии, техники, выявляются распространенные ошибки – вы должны держать руку на пульсе, чтобы не пропустить важную информацию.
- Html + css – старайтесь по минимуму использовать javascript, чтобы ускорить загрузку страницы.
- Используйте наработки – сохраняйте свои старые наработки, чтобы была возможность к ним вернуться и воспользоваться в новом проекте.
- Занимайтесь версткой только если вам действительно это интересно. Просто выучить Html и css мало – надо жить версткой. Ведь в каком-то смысле это искусство, в котором нужно отдавать все свои силы, время и интерес, и только тогда можно получить удовольствие от работы и прийти к успеху.
Так что прежде чем задаваться вопросом «как стать верстальщиком с нуля», спросите себя «нравится ли мне работа верстальщиком удаленно или лучше попробовать что-то другое?». Ведь вариантов очень много, и это не та сфере, в которую стоит идти только ради денег.
Аркадий Мочульский:
Саша, привет. Прочитал последний пост на канале и возник вопрос к тебе. Я бы хотел немножко фронтенд подучить. С чего начать? Знаю базовый HTML/CSS, совсем азы JS.
Аркадий, привет!
Базовые знания - это хорошо. Можно начинать верстать. В процессе придёт понимание того, каких знаний не хватает. Потом идешь читать статьи, книги, смотреть видео уроки, возможно стоит записаться на курсы.
С чего начать?
Моё знакомство с вёрсткой началось в 10 классе. Стало интересно, как делают сайты. Зарегистрировался на каком-то бесплатном хостинге и начал верстать сайт. Попутно читал статьи как что-то реализовать. После этого начал за деньги делать сайты для учителей.
Для начала необходимо попробовать. Понравилось? Можно начинать учить.
Установи редактор кода, например, Atom . Попробуй:
- Сверстать домашнюю страницу своего сайта
В заметке про указал ссылки на интересные домашние страницы, посмотри их - Придумать идею для небольшого веб-сервиса и самостоятельно запрограммировать
Посмотри примеры: помидорковый таймер , тяжеловато . Мой первый проект был XSLT редактор , он упрощал работу по созданию новых XSLT-файлов
Как только сталкиваешься с проблемой - ищи решение в интернете. 99% твоих проблем уже решены и описаны в статьях. Описание HTML-тегов и свойств стилей CSS можно смотреть на htmlbook.ru .
Научись работать c веб-инcпектором: смотреть и редактировать вёрстку, стили, отлаживать скрипты. Если понравился чей-то сайт, не стесняйся заглянуть «под капот» и посмотреть как там всё сделано.
Иногда встречаются весёлые сообщения:
Если в процессе вёрстки что-то пошло не так, то открывай инспектор и ищи ошибку. Чтобы узнать как с ним работать - посмотри эти видео:
Когда начнешь уверенно чувствовать себя в вёрстке - переходи к изучению JavaScript. Cначала разберись с возможностями языка, а потом уже переходи к изучению библиотек и фреймворков.
Изучение языка советую начать с книги Дэвида Флэнагана - « ». Книга большая, но не пугайся. Читать целиком необязательно.
Ещё можешь посмотреть видеокурсы, на ютубе их много. Вот пара интересных:
Что дальше?
У Ильи Кантора есть классный скринкаст по Gulp
Понравилось верстать? Теперь можно ускорить работу. Изучи какой-нибудь препроцессор для стилей: SASS , LESS или Stylus . Автоматизируй сборку стилей и их обработку через
Здравствуйте, меня зовут Александр Зеленин , и я веб-разработчик.
Многократно я слышал мнение, что верстка - удел начинающих frontend’еров. Хотя фактически это важнейшая часть любого (почти) веб-проекта. Это то, что пользователи видят в первую очередь. На текущий момент качественная вёрстка (особенно проектирование блоков) в крупном проекте требует большого количества различных навыков.
В данной статье представляю схему развития верстальщика
[большая по клику]
Само собой, это не всеобъемлющая и единственно верная схема. Есть ещё целая гора связанных навыков, релевантных технологий и так далее. Градация является субъективной.
Хочу сразу добавить, что конкретных ссылок на учебные материалы в статье не будет. Буду рад дополнениям в комментариях.
Чего мы ожидаем?
В первую очередь необходимо понять, чего мы ожидаем от человека на каждом из уровней. Ваши ожидания могут отличаться.
Junior
- знает основные теги, может подправить контент на готовом html сайте, умеет грамотно форматировать текст, без проблем вставит встраиваемый элемент (ролик с ютуба, яндекс карту), ведёт работу через систему контроля версий только для себя (master, 1 контрибьютор). Может сверстать что-то несложное с нуля, и оно даже не поедет (лично у него). В целом не является самостоятельной единицей и требует руководства свыше.
Middle
- более-менее автономная единица (либо полностью автономная для малых и средних проектов). Может хорошо сверстать сайт средних размеров, и он будет корректно отображаться во всех актуальных версиях браузеров. Понимает, как работают шаблонизаторы, и может их использовать (при условии предоставления остального кода). Умеет планировать и документировать свою работу и оценивать сроки. Понимает важность поддержания стиля кода. Понимает, зачем есть грид-системы и css фреймворки. Умеет брать всю необходимую информацию из макетов от дизайнера. Может взаимодействовать с небольшой командой, создавать ветки и пулл-реквесты.
Senior
- может спроектировать систему блоков для крупного проекта. Знает, как избежать повторов и проблемных мест при использовании его кода другими разработчиками. Умеет декомпозировать сложные задачи и грамотно формулировать задачи. Умеет применять минимум одну методологию разработки (например, БЭМ). Может сделать так, чтобы проект открывался максимально быстро. Хорошо понимает несколько популярных шаблонизаторов. Способен написать сборщики и автоматизировать процесс, с этим связанный. Может проводить код ревью и курировать других верстальщиков.
Рассмотрим теперь чуть конкретнее, что включает в себя каждый из блоков на каждом уровне.
Junior
HTML
- знание основных тегов, аттрибутов. Понимание, как его писать в принципе.
Типографика
- умение отформатировать текст. Текст - основа практически любого проекта. Вставка неразрывных пробелов где надо, выделение жирным, курсивом, abbr и так далее. Можно использовать типограф или схожий сервис, но уметь понимать результат.
Семантика
- понимание, что для определённых задач есть определённые теги. Уметь выбрать нужный тег.
Медиа
- какие виды медиа можно встраивать в страницу.
Iframe
- встраивание сторонних виджетов (видео, аудио, карты и т.п.).
Аудио, Видео
- можно отложить изучение, т.к. частично решаются с помощью iframe. Понимать, какие форматы умеет воспроизводить браузер, как оформить плеер и так далее.
Картинки
- какие графические форматы и в каком виде воспринимает браузер. Плюсы и минусы использование тех или иных форматов.
Растр
- jpg, png, gif. Понимать различие форматов и уметь применять что и где надо.
SVG
- можно отложить изучение, т.к. применяется реже, чем хотелось бы. Понимать плюсы, минусы, ограничения и т.п.
Шрифты
- можно отложить изучение. На самом деле довольно сложная тема, и в общем случае я бы советовал начинающим использовать системные шрифты. Уметь подгрузить шрифты, оптимизировать отображение, минимизировать лаг отрисовки с кастомными шрифтами.
Табличная вёрстка
- опционально. Для желающих верстать качественные email-рассылки в будущем.
CSS 1
- шрифты, цвета, выравнивание, размеры.
CSS 2.1
- управление поведением блоков, позиционирование, полноценное оформление.
Селекторы
- простые селекторы на тег, класс, вложенный элемент. Простые псевдоселекторы типа:hover.
Именование
- как называть классы, чтобы не было мучительно больно.
Блочная вёрстка
- разбить картинку на осознанные блоки, воплотить блоки в HTML, оформить с CSS.
Браузеры
- можно отложить изучение. Какие браузеры существуют, в чём их различие.
Инструменты разработчика
- можно отложить изучение. Использовать инструменты браузеров, чтобы разбираться в проблемах отображения.
Текстовые редакторы
- какие текстовые редакторы для разработчиков есть и зачем. SublimeText и Notepad++ приведены для примера, как хорошо мне знакомые. Уметь настраивать в них базовые вещи, такие как отступы, перенос строки и так далее.
Системы контроля версий
- я лично считаю умение их использовать хотя бы индивидуально, лично для себя, очень важным. Понимать, для чего эти системы созданы и какие бывают.
Git
- понимать в общих чертах задачу и принципы самой популярной системы контроля версий.
Github / bitbucket
- уметь использовать одну из популярных площадок для git.
Checkout / commit / push / pull
- базовые операции для личного использования.
Stash
- для временного сохранения ненужных в данный момент данных.
10 работ
- сделать минимум 10 работ в различном дизайне. Можно тестовых, это не важно. Важно, чтобы полноценных в рамках текущих знаний.
Middle
CSS 3
- градации, тени, сглаживание, фильтры, трансформации.
Продвинутые селекторы
- элементы, следующие за опделённым (+), определённый по счёту (nth-child), shadow-dom, before/after и так далее.
Анимации
- опционально. transition и animation. Плавные переходы, анимации. Понимать ограничения и минусы.
Сетки
- зачем существуют, как выстраивать, какие есть готовые решения. Для примера можно посмотреть Flexbox grid или любой другой, который найдёте.
Фреймворки (CSS)
- зачем нужны, как применять. Желательно научиться хорошо использовать минимум один. Очень пригождается для прототипирования. Значительно повышает качество проекта при отсутствии бюджета на дизайн (не уникально, но юзабельно).
CSS препроцессоры
- можно отложить изучение. Оптимизация работы, более красивый и читабельный код. Переменные, миксины и т.п. Поработать с одним или несколькими популярными препроцессорами типа SASS, LESS, Stylus.
Media queries
- можно отложить изучение. Отображение нужных стилей в зависимости от условий (устройство, размер экрана, плотность пикселей, версия для печати и т.п.).
Стиль кода
- понять, для чего есть соглашения по стилям, изучить и начать применять любой (рекомендую от AirBNB).
DRY / KISS / SOLID
- можно отложить изучение. Понять важные принципы разработки, ощутимо упрощающие дальнейшее сопровождение проекта.
OOCSS
- опционально. Понять, что есть объектно-ориентированный css и для чего он. В том или ином виде используется во многих проектах (хоть и без понимания, что это он). В идеале, научиться проектировать. Может отлично зайти для крупных проектов.
Документация
- понять, что и как документировать. Документировать. Можно отложить, но в будущем обязательно изучить разметку markdown.
Планирование
- научиться оценивать сроки по картинке и определять последовательность работ.
Декомпозиция
- можно отложить изучение. Научиться разбивать задачу на подзадачи. Это сложнее, чем кажется:-)
Постановка задач
- можно отложить изучение. Научиться чётко описывать задачи текстом так, чтобы другие разработчики, в том числе с меньшей квалификацией, достаточно однозначно понимали, что необходимо сделать для их выполнения.
Flexbox
- понимание модели, умение применять полноценно.
Вёрстка писем
- опционально. В целом навык не лишний. Понимать особенности почтовых систем, сохранить хороший внешний вид и не упасть в спам (если это не спам).
Полифилы
- разобраться, как использовать самые актуальные возможности разработки, сохраняя обратную совместимость. Понять минусы и плюсы от такого подхода.
Кроссплатформенная вёрстка
- понимать, что нужно делать, чтобы проект хорошо выглядел не только под Windows, Linux и Mac, но и под SmartTV или PS.
Кроссбраузерная вёрстка
- понимать разницу рендера браузеров и заставлять их показывать одинаково. Сайт CanIUse очень помогает в этом.
Мобильная вёрстка
- можно отложить изучение. Понимать, какие ограничения несут в себе мобильные платформы. Использовать лимитированное пространство грамотно.
Оптимизация
- можно отложить изучение. Разобраться в «цене» тех или иных приёмов. Понять, из каких фаз состоит отображение сайта пользователю. - можно отложить изучение. Оптимизации, связанные с размером, кешем, сжатием, объединением ресурсов и т.п.
Отрисовка
- можно отложить изучение. Оптимизации, связанные со скоростью рендера после загрузки.
SEO
- можно отложить изучение. Хотя бы базовое понимание работы поисковых систем. Умение «помочь» поисковой системе разобраться, куда смотреть и что важно.
Шаблонизаторы
- разобраться, каким образом можно переиспользовать код, группировать элементы и компоновать страницы. Очень желательно изучить как серверный рендеринг, так и клиентский. Сюда же входят шаблоны на «чистом» языке (типа простых PHP вставок). Работа «до» (dataflow) шаблонизатора нас не интересует.
PHP
- можно отложить изучение. Разобраться в базовом синтаксисе и уметь внести мелкие правки, связанные с оформлением страницы.
CMS
- можно отложить изучение. Узнать, какие CMS существуют и для чего они были созданы. Научиться писать шаблоны хотя бы для одной (рекомендую Wordpress).
Javascript
- можно отложить изучение. Изучить базовый синтаксис, понять, как вешать простейшие обработчики и проводить простую работу с DOM.
jQuery
- можно отложить изучение. Научиться экономить кучу времени для решения довольно типовых задач с использованием плагинов для самой популярной js библиотеки (после vanilla.js, конечно).
NodeJS
- можно отложить изучение. Разобраться, как запустить простейший сервер, раздавать статику и рендерить на стороне сервера. Можно использовать Express или любой другой фреймворк.
Сборка
- опционально. Научиться собирать проект из кучи CSS / HTML файлов в то, что нужно. Рекомендую ознакомиться хотя бы с grunt и gulp, как представителями «разных» лагерей.
IDE
- опционально. Изучить, зачем нужны IDE и как их использовать. Перейти на использование какого-либо IDE для экономии времени. Важно: изучение IDE сравнимо с полноценным изучением языка программирования, и вкладывание большого количества времени в это может не оправдаться. Лично я пользуюсь текстовыми редакторами (и только для ооочень крупных проектов включаю IDE).
Branching
- научиться управлять ветками в git.
Merge
- научиться сливать ветки с разрешением конфликтов.
Fetch / Rebase
- разобраться, зачем они, когда их применять, и начать применять по необходимости.
Графические редакторы
- разобраться, какие бывают, для чего. Чем векторные отличаются от растровых. Важно понимать редактор хотя бы на уровне «чтения» макета от дизайнера. Выбрать правильный шрифт, размер, цвет и т.п. Чтобы не на глаз, а точно. Рекомендую поработать минимум с 1 растровым (Photoshop) и 1 векторным (Figma).
50 работ
- к концу этапа у вас порядка 50 различных работ, демонстрирующих навыки из изученных областей.
Senior
Хоть на схеме и кажется маленькой эта группа, но фактически она самая большая. Т.к. к этому моменту необходимо изучить всё то, что откладывалось.
Адаптивная / Отзывчивая вёрстка
- разобраться в высшей ступени и скомбинировать все полученные до этого знания. Проект должен выглядеть хорошо везде и на всём (в рамках разумного).
Постепенная деградация / Прогрессивное улучшение
- понять, что это и зачем. Использовать.
Gitflow
- уметь объяснить другим разработчикам, как создавать ветки, куда их вливать, как, уметь провести код ревью (вёрстки, само собой, не кода).
БЭМ
- опционально. Разобраться в методологии, позволяющей создавать безлимитно крупные проекты так, чтобы при минимальной синхронизации различные команды могли использовать блоки друг друга. Есть и другие методологии, дающие не худший результат. К этому моменту о них вы так или иначе будете знать и сможете, при желании, изучить.
100 работ
- иметь суммарно сотню работ, демонстрирующих различные полученные навыки. На самом деле, это всё условно. Можно иметь одну работу (состоящую из различных частей) в портфолио, которая уже покажет, что вам ничего не страшно.
Заключение
Фактически многие из этих тем небольшие. Однако держать кучу различных факторов в голове очень сложно. За 15 лет я общался менее чем с десятью верстальщиками (да и вообще программистами), которых отнёс бы к категории Senior (верстальщиков, программистов хороших было сильно больше).
Навскидку – на полноценное изучение и практику только вёрстки с нуля вполне можно затратить год (и более, если уходить в проектирование компонентов).
Надеюсь, тем, кто находится в начале пути, схема подскажет, куда можно ещё двигаться, и что не обязательно сразу (а можно и вообще не двигать в него) бежать в программирование.
Также планирую создать полноценный бесплатный курс с подробным рассмотрением каждой из тем-прямоугольников со схемы. Буду рад предложением, отзывам, пожеланиям и так далее.
Курс, вероятно, будет в формате видеоуроков с полным текстовым и графическим дублированием. Если дело пойдёт, приложу в будущем ссылки в комментарии.
upd
Много сообщений о том, что верстальщик без знания фреймворка не нужен. В основном это пишут разработчики в крупных проектах. И, для них, это вполне так. Но есть ещё много студий делающих лендинги, различные шаблоны для вордпресов и других CMS. Это вполне себе хороший рынок и возможность зарабатывать. Есть довольно много совершенно небольших проектов, с гораздо меньшими требованиями, которые верстальщик способен закрыть на отлично.
Вас интересует вопрос, как изучить верстку сайтов самостоятельно ? При должном упорстве изучить верстку сайтов может каждый.
Тема сегодняшнего поста: С чего начать изучение верстки? Вопрос этот далеко не праздный, и каждый для себя выбирает собственный путь. Я расскажу о том, как сам начинал это увлекательнейшее путешествие в мир HTML и CSS. Надеюсь, кому-то из вас это станет если не путеводной звездой, то хотя бы ориентирами к цели.
Итак, что такое верстка сайтов ? Кто еще не в танке, слушайте: верстка в данном случае означает не набор свинцовыми буквами свежей статьи в газете «Искра», а превращение рисованного в Photoshop макета сайта непосредственно в рабочий сайт.
Если выразиться иначе, верстка - это кодирование, запись на языке HTML данных, которые любой уважающий себя браузер преобразует в красивый и понятный сайт.
Для рядового посетителя сайта этот код так и останется невидимым, спрятанным за широкой спиной браузера. Однако это вовсе не означает, что он при этом может быть абы каким. Код должен быть красивым, удобным и правильным!
Так с чего же начать изучение HTML? Первое, что приходит на ум - это купить книгу. И чем толще, тем лучше. Возможно, кому-то это и пойдет на пользу.
Но лично у меня после некоторого опыта общения с такими «кирпичами» выработался четкий отталкивающий рефлекс. По той простой причине, что информация там подается в избыточном объеме.
Помните школу? Среднестатистическому гражданину вовсе ни к чему знать химию, физику, анатомию и пр. в том объеме, который там пытаются заложить в мозги.
Так и здесь: в толстенной книге много лишнего, а когда его много, то оно затуманивает взор, навевает зевоту и превращает обучение в 2 – 3 дня мучений с последующим забрасыванием данной науки далеко в топку. И все.
Поэтому лично я пошел иным путем. Я таки купил книжицу. Совсем не толстую. И до сих пор не устаю ее рекомендовать своим ученикам, ибо актуальность книги все еще свежа и востребована. Автор книги Артемий Ломов , а называется она «HTML, CSS, скрипты: практика создания сайтов» . Издательство «БХВ-Петербург».
В этой книге всего в меру: есть чуток истории веба, немного про стандарты. Но самое главное - весьма доходчиво и просто подан основной материал по HTML, CSS и JavaScript. Для начинающий изучать верстку сайтов - это просто мастхэв!
Но одной книги мало. Мой метод изучения отнюдь не нов, но вместе с тем весьма действенный. Нужна не одна книга, а несколько. Фишка здесь в том, что каждый автор пишет немного по-своему. Когда ты одну и ту же тему прочитаешь в разных вариациях, то общая картинка гораздо быстрее становится понятной и намного лучше запоминается.
У меня второй такой книгой была электронная версия самоучителя по программе Dreamweaver от Macromedia под авторством Владимира Дронова.
Вообще для начала очень полезно обзавестись данной прогой. Dreamwiever - это визуальный редактор, позволяющий видеть одновременно внешнюю и внутреннюю сторону сайта. То есть, его внешнее представление как для посетителей, и внутреннее - непосредственно код.
Большой плюс данной проги - это возможность просмотреть (опять же в двойном режиме) любой существующий в сети сайт.
К примеру приглянулся мне сайт с красивым и удобным размещением блоков, я сохранил целиком страницу с картинками, а затем запустил эту страницу в Дриме. И вуаля! Все видно, где и что. Хотя по началу все не так очевидно, как хотелось бы. Вот как раз книга - просто отличный помощник здесь.
Конечно, я уже давно не пользуюсь никакими визуальными редакторами, а обхожусь простым текстовиком вроде PSPad. Но опыт был получен немалый. И самое главное - разносторонний. Отчего сам предмет легко и достаточно структурировано уложился в голове.
Кстати, структура - это наиболее важный фактор при изучении любого языка. А HTML - это тоже язык. И вот об этой структуре я расскажу в следующий раз.
А пока обзаведитесь парой полезных книжек. И читайте мой блог Вебсовет. Здесь вы также найдете немало полезных советов по верстке сайтов. Начните изучать верстку сайтов хотя бы с .
UPD от 25.10.2012 : Начинающим верстальщикам рекомендую вот эту статью - Путь верстальщика . Там все гораздо подробнее изложено, со ссылками и прочими полезняхами.
Антивирус Bitdefender: эффективный защитник Без вопросов
Значение слова неудачный
Обзор Samsung Galaxy A7 (2017): не боится воды и экономии Стоит ли покупать samsung a7
Делаем бэкап прошивки на андроиде
Как настроить файл подкачки?