IT Верстальщик
1.27K subscribers
50 photos
1 video
239 links
Авторский блог про веб-разработку

Подборки сервисов, статей и новостей в мире front-end и back-end

Для рекламы: @devtgram
Download Telegram
​​Что требуется знать о JavaScript и PHP на собеседовании для html-верстальщика?

Верстальщик - начальная стадия дизайнера или фронтенд-программиста. PHP знать не нужно. Нужно иметь опыт работы с шаблонизаторами.

По своему опыту скажу, что базового уровня PHP - знания синтаксиса - достаточно в большинстве случаев.

А вот чистый JS знать следует. Но опять же, если речь идет об устройстве в какую-нибудь не профильную организацию (интернет-магазин какой-нибудь), то там так же будет достаточно знания синтаксиса. А вот в более профильные организации могут не взять без достаточного понимания нативного JS.
​​Чем отличается верстальщик от front-end developer?

Верстальщик преобразует графический макет (Photoshop или иной) в набор HTML + CSS + картинки. Иногда к свёрстанному макету может подключить типовые библиотеки Javascript, например, slider для картинок, или всплывающие подсказки (tooltip), или диалоговые окна (dialog/popup).
Знания и навыки:
работа с графическими программами, чтобы понять, как собран макет
знание HTML, HTML5, CSS, CSS3, понятие про веб-шрифты, спрайты и другие технологии
пригодятся знания по HTML-фреймворкам, например, Twitter Bootstrap или Semantic UI
навыки кроссбраузерной вёрстки, чтобы в разных браузерах выглядело и работало одинаково
навыки отзывчивой вёрстки, чтобы можно было использовать на устройствах с разными возможностями и разрешениями
знание типовых решений javascript, чтобы реализовать простейшие вещи, заложенные в макете

Фронтенд-разработчик делает так, чтобы макеты, полученные от верстальщика, были наполнены реальными данными. Если приложение построено как client-side (то есть вся основная логика загружается в виде огромного javascript в браузер, а данные запрашиваются с сервера по AJAX; это называется "толстый клиент"), то фронтенд-разработчику потребуется следующее:
знание HTML, HTML5, CSS, CSS3, понятие про веб-шрифты, спрайты, Comet и другие технологии
глубокое знание Javascript, включая использование готовых фреймворков, библиотек и написание расширений для них, что подразумевает объектно-ориентированное и событийное программирование
знание AJAX, CORS и навык создания тестовых затычек на стороне сервера, чтобы можно было разрабатывать приложение пока бакенд не готов

Если фронтенд строится на стороне сервера, то дополнительно потребуется знать используемый серверный язык программирования (например, Python, Ruby или PHP) и используемый фреймворк (Django, Ruby-on-Rails, Yii). На практике бывало такое, что фронтендер просил в нужной части проекта сделать var_dump от структуры данных, которую надо показать и перечислить серверные методы, которые надо вызвать по нажатию предполагаемых кнопок.

Зачастую фронтенд-разработчик может и сам закодировать эти серверные методы, если не требуется углубляться в серверную логику (отношения в данных, конкретная бизнес-логика, хранение данных, кэширование, очереди, крон-задачи). Я лично таких очень ценю.

И моё личное мнение - фронтенд разработчику не помешают базовые знания про UML. Иногда с ними так тяжело обсуждать обмен данными по AJAX. У них это какой-то непрерывный поток магической энергии, волшебным образом преобразующийся в буковки на экране пользователя, а вот для бакенда это набор отдельных операций, иногда ещё и асинхронный. Диаграммы последовательностей ни читать, ни писать многие не умеют. Таймлайны составлять не умеют.
html5.net Бесплатные адаптивные шаблоны сайтов HTML5 и CSS3
​​Что лучше учить для фриланса: JS или натяжка верстки на CMS?

JavaScript, если планируете стать программистом, HTML/CSS в другом случае.

Натяжка верстки на CMS подразумевает какое-то знание HTML, CSS, JavaScript и серверного языка (PHP в случае WordPress). Т.е. в идеале, если хочется стать full-stack программистом, надо знать все.

Вообще говоря, JavaScript и HTML/CSS - вещи сильно связанные. Однако JavaScript можно использовать и сам по себе (на сервере например), без привязки только к фронтэнду. Область применения JavaScript сейчас большая: фронтенд (jQuery и еще полсотни бибилиотек и фреймворков на любой вкус), бэкенд (Node.js) и даже GUI.

Вы в любом случае потратите время (не думаю, что разобраться с HTML5/CSS3 будет быстрее, чем разобраться с JavaScript - скорей всего наоборот), однако имея в арсенале JavaScript, выбор работы потенциально будет больше, да и оплачиваться такая работа будет заметно выше, чем верстка (пятачок за пучок шаблонов). Хотя хороший фротнендщик тоже дорого стоит.

В любом случае, чтобы вы не выбрали, учите основы - HTML/CSS, а не верстку (хотя вообщем это тоже самое), JavaScript, а не jQuery, Python, а не Django, Ruby, а не Ruby on Rails. Ну и PHP, а не Laravel. Хотя не могу сказать, что последний стоит учить вообще.
​​Что такое HTML5 Canvas и как им пользоваться?

Canvas — элемент HTML5, предназначенный для создания растрового двухмерного изображения при помощи скриптов, обычно на языке JavaScript. Начало отсчёта блока находится слева сверху. От него и строится каждый элемент блока. Размер пространства координат не обязательно отражает размер фактической отображаемой площади.

Используется, как правило, для отрисовки графиков для статей и игрового поля в некоторых браузерных играх. Но также может использоваться для встраивания видео в страницу и создания полноценного плеера.
​​Направление для развития в React

Redux в React-разработке надо знать обязательно. Еще, хорошо знать MobX, так как все больше компаний используют его в новых проектах.

Так же, вам стоит познакомиться с такими инструментами как:
typescript
webpack/babel
react-router
redux-thunk
redux-act (имхо, лучшая упрощалка бойлерпелйта redux)
styled-components
reselect
next/create-react-app
axios
react-helmet
react-portal
classnames
eslint/tslint/prettier/lint-staged/husky
jest
express

Перечисленные инструменты, кроме redux-act, используют в React-разработке чаще всего.
​​20 потрясающих CSS3 техник, библиотек и примеров

В список также включены англоязычные статьи, обрисовывающие новые фичи в CSS3 и несколько полезных библиотек, наполненных разными фишками.
Для полного эффекта от просмотра ссылок из данной статьи рекомендуем пользоваться последней версией современного браузера, например, хромом.
​​Как выучить front-end фреймворк?

Изучение той или иной технологии ничем не отличается. Читаете статьи\туториалы. Пишете свой код. Удаляете. Читаете статьи\. Пишете код... и тд.

Читаете доки и пишете функции, которые Вам надо
https://www.npmjs.com/package/gulp - комментарии на каждой строчке. Куча плагинов, которые показано как подключать. Пробуйте писать свой простой сборщик, который препроцессоры собирает. Потом по необходимости будете добавлять модули. Или найдите чужой готовый сборщик и настройте под себя

К примеру в Современной Front-end разаботке предполагается постоянное взаимодействие с Back-end и переформирование визуальной части "на лету" от манипуляций всех пользователей, а не только текущего.

Если говорить про git, npm, webpack и т.д... - то по сути это инструменты помогающие во время разработки - можно обходиться и без них, если можете конечно.
В итоге на выходе мы получаем тот же JS и CSS
​​Как автоматически проверить верстку?

Инструменты для тестирования проектов(GitHub):

1. jest-dom. Это если надо точечно проверить элементы на странице. Удобно, если нет необходимости тестировать прям всё всё всё. Стучишься до нужного элемента и проверяешь его.

2. jest-image-snapshot. Тестирование через скриншоты, отлично помогает при тестировании пользовательского поведения. Там всякие скроллы, ховеры, фокусы и так далее. По сути просто делаешь эталонный скриншот страницы, вбиваешь поведение страницы. После этого при тестировании проверяется, не сломалось ли поведение
​​Чем хорош Ruby?

Чем отличается от PHP или Python? Лучше или хуже? В чем его фишка так сказать?

Краткость, лаконичность и хорошее сообщество. А, ещё любовь к тестам, большая часть рубистов пишет тесты + ещё 30% из низ используют TDD... сначала тесты, потом код. Попробуйте заставить писать PHP-программиста тесты, легче пристрелить.

И еще, во-первых rubygems.
Во-вторых пример из жизни - есть gem. С десяток классов, все друг друга используют.
Возникла необходимость чуть-чуть изменить поведение пары методов одного из классов - так бывает.
Что вы будете делать в случае с php? Вы сделаете локальную копию библиотеки, поломаете методы так, как вам нужно.
В случае с ruby вы можете:
1. Полностью изменить реализацию одного метода конкретного класса
2. Обернуть существующую реализацию своим кодом, с помощью сохранения старого метода под новым именем с помощью alias_method
В-третьих - метапрограммирование. Хотя по значимости это стоило на первое место поставить. Именно благодаря метапрограммированию код на Ruby лаконичен и легко читаем.
В-четвертых, мне просто приятно иметь возможность писать конструкции типа 2.hours.ago
​​В копилку неплохих инструментов, для веб-разработчика, можно добавить браузер Blisk

Blisk - бесплатный веб-браузер на основе хрома, целью которого является повышение производительности и качества кода путем предоставления широкого набора инструментов для веб-разработки и тестирования для различных типов устройств: настольных, планшетных и мобильных.
​​Зачем верстают сайты на js фреймворке(Vue/React/Angular)?

Обычные сайты не верстают с помощью js фреймворков.
Vue/React/Angular используют для написания веб приложений.
Архитектура в общем виде такая
1) Backend
2) Frontend
3) API

Где backend и fronend можно представить в виде двух островов, а API мост между ними.
Для чего это нужно. Такой подход позволяет делать front & back независимо друг от друга(у них есть чёткая спецификация API)
Так же в такой модели сервер менее нагружен т.к. ему требуется отдавать только текстовые ответы(JSON), а не рендерить целиком HTML.

Ещё одно преимущество это более удобной контроль над frontend'ом. Потому что именно он здесь решает, что и как будет работать и какие запросы нужно сделать на данный момент, а какие можно и позже загрузить.
Проще писать сервер, потому что ему не нужно никакие данные о пользователе, ему всё необходимое приходит в запросе.
​​С каким уровнем JavaScript выйти на фриланс?

Если хочется развиваться во фронтенде, то желательно уверенно знать хотя бы один из фреймворков: AngularJS, Angular2, VueJS, ReactJS. Ну естественно уверенное знание JS (JS5, JS6, JS7 будет плюсом).

Конечно ничто не запрещает начать хоть сейчас с простых вещей, но я бы рекомендовал пару лет поработать в IT-конторах с умными коллегами. Там очень быстро можно набраться опыта. А на фрилансе это гораздо сложнее - коллег нет, никто не подскажет. Если с ходу прыгнуть на апворк без особых знаний, то можно напороть делов, наловить плохих отзывов, закрепиться в низкооплачиваемой нише и потом будет сложно из всего этого вылезать, да и вообще, без знаний библиотеки, лучше не заходить даже на fl.ru и другие аналоги.
​​Топ-10 сайтов, построенных с помощью Node.Js
 
Множество крупных компании используют Node.JS для построения собственных веб-сайтов. Мы расскажем вам про 10 лучших сайтов, созданных на платформе Node JS.
Node.js - это среда выполнения JavaScript на стороне сервера, которая используется для построения быстрых, масштабируемых сетевых приложений.

Paypal
PayPal, основанная известным предпринимателемИлоном Маском, предоставляет онлайн-платежные решения своим пользователям. Она позволяет своим пользователям осуществлять транзакцию через банковские счета или кредитные карты без обмена финансовой информацией. Сайт был опубликован в2001году, а затем куплен в2002году компаниейeBayза 1,5 млрд долларов. 

Yahoo!
Yahoo гигантская корпорации стоимостью $ 40 млрд. Компания уже много лет использует Node.js во многих своих веб-сервисах и приложениях, включая Yahoo Answers и Yahoo Screen.

Groupon
Groupon - это ежедневный веб-сайт, который предлагает дисконтные подарочные сертификаты, которые могут быть использованы с местными или национальными компаниями. 

Wall Street Journal онлайн
The Wall Street Journal - популярная американская ежедневная газета с особым акцентом на деловые и экономические новости. По словам инженера из Dow Jones (владельца Wall Street Journal): «Простая истина заключается в том, что Node заново изобрел способ создания сайтов. Разработчики создают нужную функциональность за считанные дни, а не недели».

Klout
Klout - приложение, которое измеряет и оценивает своих пользователей в соответствии с социальным влиянием, используя аналитику социальных сетей. Сайт получил финансирование в размере 40 млн долларов, прежде чем был приобретен в 2014 году за 200 млн долларов. Неплохо для компании, которая была основана только в 2008 году!

Secret
Secret предлагает онлайн-платформу, которая позволяет пользователям анонимно делиться своими личными секретами с другими пользователями. Сайт получил финансирование в размере 35 миллионов долларов и продолжает быстро расти.

BandPage
BandPage запущен в 2010 году с помощью приложения, которое позволяет художникам создавать персонализированные страницы поклонников в Facebook. Более 500 000 музыкантов используют BandPage для обмена треками, видео, фотографиями и графиком их гастролей с поклонниками. На данный момент сайт получил $ 27,6 млн.

Geeklist
Geeklist - это социальная платформа для разработчиков, которая выделяет свои достижения, делится ресурсами, сотрудничает и создает свои профили. Компании также делят достижения своей инженерной команды с сообществом, которые действительно оценят тяжелую работу, которая идет на строительство высокотехнологичной продукции. До настоящего времени сайт получил финансирование в размере 1,3 млн долларов.

Opencare
Opencare - это сайт, который работает с пациентам и лучшими местными поставщиками медицинских услуг. Служит для улучшения результатов в отношении здоровья. В 2013 году он получил $1,5 млн на финансирование семян.

Shutterstock
Shutterstock - агентство, предоставляющее фотографии, иллюстрации, векторы, видео и музыку для бизнеса и частных лиц. Компания вышла в свет в 2012 году и теперь имеет рыночную стоимость в $ 2 млрд.
​​Стоит ли начинать изучение Vue.js с посредственными знаниями javascript?

Даже с начальными знаниями JS можно войти во Vue, только основы нужно и правда знать хорошенько - работа с объектами и массивами, напрямую работать с DOM возможно и не придется, замыкания (да, но несильно), транспорт (ajax, fetch), главное аналитический склад и пытливость ума, читая от корки до корки доку по Vue и постоянно гугля непонятные слова в учебниках, на stackoveflow - можно хорошо прокачаться. Как инструмент, vue очень крут даже для новичков.

Это единственный из Большой Тройки, который может простить Вам плохие знания по JavaScript.
В React.js Вы не сможете много сделать без хорошего знания ES6/ES7. В Angular - это TypeScript, ООП, много другого.
​​Использование Avocode для верстки сайтов.

Avocode – это продукт от компании Source, созданный специально для измученных верстальщиков. Сами Source называют его “Мост между дизайнерами и разработчиками”. Работать это будет так: дизайнер нарисовал макет, кликнул по кнопке в плагине, и макет улетел прямо в Avocode к верстальщику.
​​Что использовать для верстки+программирование — IDE или текстовый редактор?

Если учесть что в большинстве нормальных проектов верстка делается в шаблонизаторе... то однозначно IDE. Что Sublime Text, что TextMate, что Adobe Brackets, что Atom, VSCode - они все конечно прекрасны, но....никто и никогда не заменит IntelliSense, инспектирование кода и доки. Да и всего остального. Это если у Вас одностраничный сайт визитка, можно не заморачиваться, и то, я бы с этим поспорил...а если страницы минимум две, и они генерятся на backend'е или даже на frontend'е - однозначно IDE. И уж тем более если Вы не один работаете. Если же стоит CVS и нужно сделать буквально мелкую правку на коленке, где Вы однозначно понимаете что ничего не отвалится (опечатка например в string, хотя уж лучше просто отредактировать предыдущий коммит), можно и любым из популярных текстовых редакторов поправить и отправить коммит.
​​Актуальные языки для удаленки

Определенно PHP/JS(Vue, React, Angular)

Java/.Net -чаще всего в офис. Удаленка конечно есть, но это прямо очень стремно, учитывая сферу применения.

Python (django) - удаленка есть, но её мало. Плюс проекты чаще всего буржуйские, которые аутсорсит фирма из условного Ростова, Краснодара, Ярославля итд (т.е. нормально платить не шибко будут).

Если выходить на запад, то python неплох для клиентов из США, Канады, Австралии. Но это уже от тебя зависит, получишь ты или нет. Что касается asp.net то плохой вариант. Ибо .net в США используют для автоматизации каких-то предприятий, где надо находится в офисе и понимать, что и как делать, а не условно сидеть на заднице. Плюс в США часто местные фирмы (где индусы по происхождению сидят в начальниках берут заказы и передают их своим братьям)
​​Стоит ли учить Jquery в нынешнее время?

Стоит. Каждой задаче свой инструмент. Если ангуляр и реакт вошли в моду, это не значит, что способы упрощённой манипуляции домом из неё вышли. Если тебе кто-то говорит, что jQuery - костыль для людей, не умеющих нативно перебирать ноды или писать xmlhttprequest - скажи им, что компьютер - это костыль для людей, не умеющих жить без гугла и социалок. jQuery всегда будет популярен. Он упрощает простые обмены данных, классов в пределах DOM, умеет работать с ajax и значительно упрощает синтаксис.

Если хотите разбираться в чужом коде, то учить обязательно. Если вы будете абсолютно все писать сами с нуля (типа менюшки, слайдеры, lightbox-ы, валидацию форм, другой кастомный клиентский функционал) и никогда не обращаться к сторонним плагинам и библиотекам и никогда не подсматривать или работать с чужим кодом, то -- да. Можете забить на jquery.

JQuery самая популярная JS библиотека, даже если вы ее специально учить не будете, по-любому будете сталкиваться с ней.
​​16 инструментов React, которые пригодятся разработчикам интерфейсов