Привет! Меня зовут Андрей Якобчук, я ведущий фронтенд-разработчик в Muse Group. Мы постоянно работаем над ускорением клиентской части наших сайтов. К тому же Гугл с его метриками Core Web Vitals с каждым годом придаёт всё большее значение отзывчивости и стабильности интерфейса сайтов и понижает в ранжировании те, которые считает неудобными для пользователя. В статье я расскажу о том, какие подходы мы используем для измерения и мониторинга перфоманса сайтов, а также дам рекомендации, как можно улучшить ваш проект.
User
Важные аспекты работы браузера для разработчиков. Часть 2
Автор: Антон Реймер
В первой части статьи, основанной моем вебинаре, мы рассмотрели общие принципы работы браузера. Во второй — я сконцентрировал внимание на важных событиях: repaints и reflows — и на принципах работы event loop.
Repaints and reflows
При загрузке страницы, если она не пустая, всегда выполняется, как минимум, по одному reflow и repaint. Далее эти события возникают в следующих случаях:
1. Часть дерева отображения нуждается в перерасчете, т. е. у какого-то узла изменились ширина, высота или координаты. Вызывается событие reflow.
2. В результате изменений часть отображаемого контента должна обновиться. Речь идет, в первую очередь, о свойствах стилей: цвет фона, радиус и т. д. Вызывается событие repaint.
Если вызывается reflow, после него обязательно вызовется и repaint. Но обратное неверно: repaint может вызываться независимо от reflow.
Какие действия вызывают reflow и/или repaint
Важные аспекты работы браузера для разработчиков. Часть 1
Автор: Антон Реймер
Статья основана на вебинаре, который я проводил некоторое время назад. Рассчитана она, в первую очередь на тех, кто не знает, как работают браузеры, или тех, у кого есть пробелы в знаниях. Вероятно, здесь будет много очевидного для тех кто не первый день в веб-разработке. Статью я решил разделить на две части. В первой рассмотрим общие принципы работы браузера. Во второй части я акцентирую внимание на некоторых важных моментах: reflow и repaint, event loop.
Что такое браузер?
Браузер — программа, работающая в операционной системе. Большинство браузеров написано на языке C++. Основное предназначение браузера — воспроизводить контент с веб-ресурсов. В качестве веб-ресурса в большинстве случаев выступает html-страница. Это также может быть pdf-файл, png, jpeg, xml-файлы и другие типы. Среди огромного количества браузеров можно выделить самые популярные: Chrome, Safari, Firefox, Opera и Internet Explorer. Мы рассмотрим браузеры с открытым исходным кодом: Chrome, Firefox, Safari.
Из чего состоит и как работает браузер?
На схеме изображены модули браузера, каждый выполняет собственную функцию. Начнем с пользовательского интерфейса.
Пользовательский интерфейс — то, что видит перед собой пользователь, т. е. адресная строка, элементы навигации, собственное меню и т. д. Несмотря на то что пользовательские интерфейсы очень похожи друг на друга, никакого стандарта, который их описывал бы, не существует. Так исторически сложилось, что браузеры постепенно перенимали интерфейс друг у друга и становились все более похожими.
В поисках инженерной культуры: Arzamas и DataArt запустили совместный исторический проект
Просветительский проект Arzamas и компания DataArt запустили онлайн-курс о роли ЭВМ и кибернетики в искусстве и массовой культуре в СССР. Проект построен как экскурсия по виртуальному музею, сейчас, кроме основной экспозиции, доступны два тематических зала: один посвящен кибернетическому изобразительному искусству, музыке и поэзии, второй — шахматам. Экспозиции о фантастике, неформальной кибернетике, гуманитарных науках и профессии советского программиста откроются в марте и апреле.
Простой прием для управления прокрастинацией
12 приемов работы с JavaScript, которых нет в большинстве туториалов
Когда я начал изучать JavaScript, то первым делом составил список приемов, которые помогали мне экономить время. Я подсмотрел их у других программистов, на разных сайтах и в мануалах.
В этой статье я покажу 12 отличных способов улучшить и ускорить свой JavaScript-код. В большинстве случаев они универсальны.
12 вопросов, которые стоит задать потенциальным работодателям
Я только что завершил шестинедельный процесс трудоустройства на должность middle-senior разработчика на рынке, где сейчас ведется активная охота за талантами (Амстердам). Иными словами, я побывал на куче собеседований. Чтобы аккуратно разведать, какие компании мне больше всего подходят, я старался задавать побольше вопросов. Тут нужно найти правильный баланс, исходя из своих потребностей и того, кто с вами общается.
Если вы джуниор в поисках работы, то вы, возможно, придете к выводу, что вас на самом-то деле мало интересует, что вам ответят на все приведенные ниже вопросы — вам бы хоть куда-нибудь устроиться. Но даже в этом случае, решите для себя, какие моменты для вас будут стоп-сигналами и спрашивайте с расчетом на то, чтобы всплыла нужная информация. Если есть что-то, что может вас заставить отказаться от вакансии, лучше узнать об этом до того, как примете предложение о работе.
«Пора валить из фронтенда»: Андрей Ситник о стагнации сообщества, опенсорсе и не только
Андрей Ситник из Злых марсиан — одно из самых известных российских имён во фронтенде: у его проектов PostCSS и Автопрефиксер счёт GitHub-звёзд идёт на десятки тысяч. Но поскольку Андрей живёт в Нью-Йорке, а путешествует по всей планете, застать в России его можно нечасто.
В мае он будет в Петербурге на конференции HolyJS, и по этому поводу его подробно расспросили участники программного комитета HolyJS Дмитрий DmitryMakhnev Махнёв и Максим Юзва. Почему Андрей считает, что фронтенд стагнирует, а код наших проектов излишне разбухший? В чём различия IT-сообществ разных стран? Как учить английский и почему это менее важно, чем кажется? Куда пропал проект Logux, презентованный на HolyJS ещё в 2016-м?
Делаем современное веб-приложение с нуля
В этой статье мы попробуем набросать boilerplate простейшего веб-приложения со следующей архитектурой:
Что мы покроем:
- настройка dev-окружения в docker-compose.
- создание бэкенда на Flask.
- создание фронтенда на Express.
- сборка JS с помощью Webpack.
- React, Redux и server side rendering.
- очереди задач с RQ.
Насколько надулся пузырь зарплат у программистов?
Фото: zacktionman
TL;DR
- Рядовые программисты в топовых IT-компаниях теперь зарабатывают $300−400 тыс. в год.
- Во многом это обусловлено высокой ценой акций.
- Другие карьерные пути кажутся «труднее» и достойно не оплачиваются.
- Может ли это длиться вечно?
Я ушёл из Google ещё в 2012 году и основал свой стартап. Конечно, свою роль сыграли престиж и желание заниматься любимым делом, но главная причина — деньги. Я мечтал разбогатеть и никогда больше не работать.
По иронии судьбы, если бы я остался в Google, то выиграл бы материально. Я ушёл прямо в начале волны. В январе 2012 года цена акций Google составляла $300. Теперь она превышает $1000 и достигала даже $1200. У других IT-компаний похожая ситуация, что надуло зарплаты рядовых инженеров до невиданного уровня.
Новинки JavaScript: Асинхронные итераторы
В этом небольшом посте я хочу рассказать об одном интересном предложении (англ. proposal) в стандарт EcmaScript. Речь пойдёт об асинхронных итераторах, о том, что это такое, как ими пользоваться и зачем они вообще нужны простому разработчику.
Асинхронные итераторы, это расширение возможностей обычных итераторов, которые с помощью цикла for-of
/for-await-of
позволяют пробежать по всем элементам коллекции.
19 идей для Node.js-разработчиков, которые стремятся вырасти над собой в 2019 году
Машинное обучение с Node.js при помощи библиотеки Tensorflow.js
Возможно, поклонники библиотеки Tensorflow, уже заметившие у нас в предзаказе эту книгу, также присматривались к возможностям машинного и глубокого обучения в браузере, тем более, что тему не обошел вниманием и сам Франсуа Шолле. Интересующихся приглашаем под кат, где рассказано, как при помощи библиотеки Tensorflow.js распознаются изображения.
Введение в пользовательские CSS-свойства
Стандарт CSS Custom Properties изменил CSS. Появились безумные возможности, о которых раньше мы могли только мечтать. Рассказываем, какие именно и почему новичкам стоит изучить их как можно быстрее.
Применение принципов SOLID при разработке React-приложений
Автор статьи говорит, что здесь, ради краткости, он не показывает полную реализацию некоторых компонентов.
Переезд в Лондон с женой и собаками. История мобильного разработчика
Меня зовут Кирилл, я Android-разработчик. Сейчас я уже привык к тому, что живу и работаю в Лондоне, но год назад и представить себе такого не мог. В этой статье я расскажу, как мне выпал шанс устроиться в международную компанию, о чём спрашивали на интервью, какие этапы нужно пройти, чтобы уехать в Великобританию с семьёй и собаками, и какой он, Лондон.
Карьерный Rush
Небольшое отступление
Хоть наши стероиды и называются карьерными, они подходят не только для получения руководящей должности. С помощью некоторых можно добиться повышения зарплаты, или определенных удобств и послаблений, которые лично для вас окажутся важными.
Поэтому, в дальнейшем изложении, будем понимать и карьеру, и, соответственно, стероиды, более широко, чем должность.
Предыстория
Один из самых крутых и универсальных стероидов, известных мне – раш (по-английски Rush – натиск, напор). Термин пришел из компьютерных игр, особенно из стратегий реального времени. Лично я с ним познакомился, когда играл в Starcraft Broodwar, а точнее – когда наблюдал за нашими общажными мастерами. Они и показали мне, что такое zerg rush.
Раш – это быстрая атака в самом начале игры, когда вы плюете на развитие, закрепление, добычу ресурсов и создание инфраструктуры, а тупо тратите весь стартовый капитал на создание одного-двух простейших боевых юнитов, и бежите в атаку. Противник, если не готовился к рашу, будет застигнут врасплох – у него нечем защищаться, он строит шахты и домики там всякие.
Раш – тактика рискованная, как в игре, так и в жизни. Если противник предвидел раш, и подготовился в защите, то вы, скорее всего, проиграете. В жизни, если ваш раш не сработает, вас уволят.
Великолепная пятерка: must have инструменты для ускорения разработки
От переводчика: этот пост — перевод оригинальной статьи Рейндера де Вриса, опытного программиста, разработавшего собственный курс обучения кодингу. Автор делится мыслями об инструментах, которые могут оказаться полезными разработчикам, позволяя ускорить и оптимизировать процесс программирования
Создание приложения требует достаточно много времени и часто — денег. Иногда у вас может недоставать средств для разработку многофункциональной программы, а бывает, что средства есть, но нужно работать максимально быстро, чтобы не упустить удачный момент для релиза, опередив конкурентов. Что делать — урезать возможности программы, чтобы закончить ее побыстрее, или искать иные способы ускорить процесс?
Мастер осанки: остаться в живых
Тем не менее, достойно выдержал и натиск конкурентов, и испытание временем. Правильно еще раз посвятить ему несколько слов.
Information
- Rating
- Does not participate
- Registered
- Activity