Pull to refresh
8
0
Send message

Быстрый, резкий, как пуля дерзкий. Как работать над перфомансом сайта, чтобы нравиться пользователям и Гуглу

Reading time10 min
Views10K

Привет! Меня зовут Андрей Якобчук, я ведущий фронтенд-разработчик в Muse Group. Мы постоянно работаем над ускорением клиентской части наших сайтов. К тому же Гугл с его метриками Core Web Vitals с каждым годом придаёт всё большее значение отзывчивости и стабильности интерфейса сайтов и понижает в ранжировании те, которые считает неудобными для пользователя. В статье я расскажу о том, какие подходы мы используем для измерения и мониторинга перфоманса сайтов, а также дам рекомендации, как можно улучшить ваш проект. 

Читать далее
Total votes 9: ↑7 and ↓2+5
Comments15

Важные аспекты работы браузера для разработчиков. Часть 2

Reading time8 min
Views28K
image
Автор: Антон Реймер
В первой части статьи, основанной моем вебинаре, мы рассмотрели общие принципы работы браузера. Во второй — я сконцентрировал внимание на важных событиях: repaints и reflows — и на принципах работы event loop.

Repaints and reflows

При загрузке страницы, если она не пустая, всегда выполняется, как минимум, по одному reflow и repaint. Далее эти события возникают в следующих случаях:

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

2. В результате изменений часть отображаемого контента должна обновиться. Речь идет, в первую очередь, о свойствах стилей: цвет фона, радиус и т. д. Вызывается событие repaint.

Если вызывается reflow, после него обязательно вызовется и repaint. Но обратное неверно: repaint может вызываться независимо от reflow.

Какие действия вызывают reflow и/или repaint
Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments12

Важные аспекты работы браузера для разработчиков. Часть 1

Reading time9 min
Views86K

Автор: Антон Реймер

Статья основана на вебинаре, который я проводил некоторое время назад. Рассчитана она, в первую очередь на тех, кто не знает, как работают браузеры, или тех, у кого есть пробелы в знаниях. Вероятно, здесь будет много очевидного для тех кто не первый день в веб-разработке. Статью я решил разделить на две части. В первой рассмотрим общие принципы работы браузера. Во второй части я акцентирую внимание на некоторых важных моментах: reflow и repaint, event loop.

Что такое браузер?


Браузер — программа, работающая в операционной системе. Большинство браузеров написано на языке C++. Основное предназначение браузера — воспроизводить контент с веб-ресурсов. В качестве веб-ресурса в большинстве случаев выступает html-страница. Это также может быть pdf-файл, png, jpeg, xml-файлы и другие типы. Среди огромного количества браузеров можно выделить самые популярные: Chrome, Safari, Firefox, Opera и Internet Explorer. Мы рассмотрим браузеры с открытым исходным кодом: Chrome, Firefox, Safari.

Из чего состоит и как работает браузер?



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

Пользовательский интерфейс — то, что видит перед собой пользователь, т. е. адресная строка, элементы навигации, собственное меню и т. д. Несмотря на то что пользовательские интерфейсы очень похожи друг на друга, никакого стандарта, который их описывал бы, не существует. Так исторически сложилось, что браузеры постепенно перенимали интерфейс друг у друга и становились все более похожими.
Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments30

В поисках инженерной культуры: Arzamas и DataArt запустили совместный исторический проект

Reading time2 min
Views2K

Просветительский проект Arzamas и компания DataArt запустили онлайн-курс о роли ЭВМ и кибернетики в искусстве и массовой культуре в СССР. Проект построен как экскурсия по виртуальному музею, сейчас, кроме основной экспозиции, доступны два тематических зала: один посвящен кибернетическому изобразительному искусству, музыке и поэзии, второй — шахматам. Экспозиции о фантастике, неформальной кибернетике, гуманитарных науках и профессии советского программиста откроются в марте и апреле.

Читать далее
Total votes 6: ↑5 and ↓1+7
Comments3

Простой прием для управления прокрастинацией

Reading time2 min
Views84K
Попробую поделиться советом, как можно немного осознать свое состояние и выработать полезный навык. Все написанное основано только на личном опыте, желании им поделится и почерпнуть из обратной связи полезное.
Читать дальше →
Total votes 90: ↑87 and ↓3+111
Comments165

12 приемов работы с JavaScript, которых нет в большинстве туториалов

Reading time6 min
Views45K


Когда я начал изучать JavaScript, то первым делом составил список приемов, которые помогали мне экономить время. Я подсмотрел их у других программистов, на разных сайтах и в мануалах.

В этой статье я покажу 12 отличных способов улучшить и ускорить свой JavaScript-код. В большинстве случаев они универсальны.
Читать дальше →
Total votes 70: ↑45 and ↓25+20
Comments88

12 вопросов, которые стоит задать потенциальным работодателям

Reading time8 min
Views17K

Я только что завершил шестинедельный процесс трудоустройства на должность middle-senior разработчика на рынке, где сейчас ведется активная охота за талантами (Амстердам). Иными словами, я побывал на куче собеседований. Чтобы аккуратно разведать, какие компании мне больше всего подходят, я старался задавать побольше вопросов. Тут нужно найти правильный баланс, исходя из своих потребностей и того, кто с вами общается.

Если вы джуниор в поисках работы, то вы, возможно, придете к выводу, что вас на самом-то деле мало интересует, что вам ответят на все приведенные ниже вопросы — вам бы хоть куда-нибудь устроиться. Но даже в этом случае, решите для себя, какие моменты для вас будут стоп-сигналами и спрашивайте с расчетом на то, чтобы всплыла нужная информация. Если есть что-то, что может вас заставить отказаться от вакансии, лучше узнать об этом до того, как примете предложение о работе.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments10

«Пора валить из фронтенда»: Андрей Ситник о стагнации сообщества, опенсорсе и не только

Reading time27 min
Views84K


Андрей Ситник из Злых марсиан — одно из самых известных российских имён во фронтенде: у его проектов PostCSS и Автопрефиксер счёт GitHub-звёзд идёт на десятки тысяч. Но поскольку Андрей живёт в Нью-Йорке, а путешествует по всей планете, застать в России его можно нечасто.

В мае он будет в Петербурге на конференции HolyJS, и по этому поводу его подробно расспросили участники программного комитета HolyJS Дмитрий DmitryMakhnev Махнёв и Максим Юзва. Почему Андрей считает, что фронтенд стагнирует, а код наших проектов излишне разбухший? В чём различия IT-сообществ разных стран? Как учить английский и почему это менее важно, чем кажется? Куда пропал проект Logux, презентованный на HolyJS ещё в 2016-м?
Читать дальше →
Total votes 102: ↑88 and ↓14+74
Comments296

Делаем современное веб-приложение с нуля

Reading time31 min
Views152K
Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт?

В этой статье мы попробуем набросать boilerplate простейшего веб-приложения со следующей архитектурой:


Что мы покроем:

  • настройка dev-окружения в docker-compose.
  • создание бэкенда на Flask.
  • создание фронтенда на Express.
  • сборка JS с помощью Webpack.
  • React, Redux и server side rendering.
  • очереди задач с RQ.
Читать дальше →
Total votes 64: ↑56 and ↓8+48
Comments125

Размыкаем замыкания и внедряем Dependency Injection в JavaScript

Reading time5 min
Views20K

image


В этой статье мы рассмотрим, как писать чистый, легко тестируемый код в функциональном стиле, используя паттерн программирования Dependency Injection. Бонусом идет 100% юнит-тест coverage.

Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments19

Насколько надулся пузырь зарплат у программистов?

Reading time5 min
Views103K

Фото: zacktionman

TL;DR

  • Рядовые программисты в топовых IT-компаниях теперь зарабатывают $300−400 тыс. в год.
  • Во многом это обусловлено высокой ценой акций.
  • Другие карьерные пути кажутся «труднее» и достойно не оплачиваются.
  • Может ли это длиться вечно?

Я ушёл из Google ещё в 2012 году и основал свой стартап. Конечно, свою роль сыграли престиж и желание заниматься любимым делом, но главная причина — деньги. Я мечтал разбогатеть и никогда больше не работать.

По иронии судьбы, если бы я остался в Google, то выиграл бы материально. Я ушёл прямо в начале волны. В январе 2012 года цена акций Google составляла $300. Теперь она превышает $1000 и достигала даже $1200. У других IT-компаний похожая ситуация, что надуло зарплаты рядовых инженеров до невиданного уровня.
Читать дальше →
Total votes 123: ↑111 and ↓12+99
Comments749

Новинки JavaScript: Асинхронные итераторы

Reading time5 min
Views23K

В этом небольшом посте я хочу рассказать об одном интересном предложении (англ. proposal) в стандарт EcmaScript. Речь пойдёт об асинхронных итераторах, о том, что это такое, как ими пользоваться и зачем они вообще нужны простому разработчику.


Асинхронные итераторы, это расширение возможностей обычных итераторов, которые с помощью цикла for-of/for-await-of позволяют пробежать по всем элементам коллекции.

Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments22

19 идей для Node.js-разработчиков, которые стремятся вырасти над собой в 2019 году

Reading time16 min
Views38K
Автор материала, перевод которого мы публикуем, собрал 19 идей, которые могут оказаться полезными для тех Node.js-разработчиков, которые хотят повысить свой профессиональный уровень в 2019 году. Мир JavaScript огромен, поэтому освоить всё то, о чём пойдёт здесь речь, попросту нереально. Вряд ли найдётся кто-то, кто владеет всем этим в совершенстве. Однако кое-что в этом обзоре вполне может пригодиться именно вам.


Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments11

Машинное обучение с Node.js при помощи библиотеки Tensorflow.js

Reading time10 min
Views31K
Привет всем, коллеги!

Возможно, поклонники библиотеки Tensorflow, уже заметившие у нас в предзаказе эту книгу, также присматривались к возможностям машинного и глубокого обучения в браузере, тем более, что тему не обошел вниманием и сам Франсуа Шолле. Интересующихся приглашаем под кат, где рассказано, как при помощи библиотеки Tensorflow.js распознаются изображения.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments8

Введение в пользовательские CSS-свойства

Reading time4 min
Views16K
Автор курса Нетологии «HTML-верстка» Стас Мельников рассказал, что такое пользовательские CSS-свойства и почему их стоит изучить. 

Стандарт CSS Custom Properties изменил CSS. Появились безумные возможности, о которых раньше мы могли только мечтать. Рассказываем, какие именно и почему новичкам стоит изучить их как можно быстрее. 
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments19

Применение принципов SOLID при разработке React-приложений

Reading time8 min
Views41K
Недавно мы публиковали материал о методологии SOLID. Сегодня мы представляем вашему вниманию перевод статьи, которая посвящена применению принципов SOLID при разработке приложений с использованием популярной библиотеки React.

image

Автор статьи говорит, что здесь, ради краткости, он не показывает полную реализацию некоторых компонентов.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments6

Переезд в Лондон с женой и собаками. История мобильного разработчика

Reading time11 min
Views100K
Всем привет!

Меня зовут Кирилл, я Android-разработчик. Сейчас я уже привык к тому, что живу и работаю в Лондоне, но год назад и представить себе такого не мог. В этой статье я расскажу, как мне выпал шанс устроиться в международную компанию, о чём спрашивали на интервью, какие этапы нужно пройти, чтобы уехать в Великобританию с семьёй и собаками, и какой он, Лондон.


Читать дальше →
Total votes 139: ↑124 and ↓15+109
Comments693

Карьерный Rush

Reading time10 min
Views20K

Небольшое отступление


Хоть наши стероиды и называются карьерными, они подходят не только для получения руководящей должности. С помощью некоторых можно добиться повышения зарплаты, или определенных удобств и послаблений, которые лично для вас окажутся важными.

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

Предыстория


Один из самых крутых и универсальных стероидов, известных мне – раш (по-английски Rush – натиск, напор). Термин пришел из компьютерных игр, особенно из стратегий реального времени. Лично я с ним познакомился, когда играл в Starcraft Broodwar, а точнее – когда наблюдал за нашими общажными мастерами. Они и показали мне, что такое zerg rush.

Раш – это быстрая атака в самом начале игры, когда вы плюете на развитие, закрепление, добычу ресурсов и создание инфраструктуры, а тупо тратите весь стартовый капитал на создание одного-двух простейших боевых юнитов, и бежите в атаку. Противник, если не готовился к рашу, будет застигнут врасплох – у него нечем защищаться, он строит шахты и домики там всякие.

Раш – тактика рискованная, как в игре, так и в жизни. Если противник предвидел раш, и подготовился в защите, то вы, скорее всего, проиграете. В жизни, если ваш раш не сработает, вас уволят.
Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments22

Великолепная пятерка: must have инструменты для ускорения разработки

Reading time6 min
Views29K


От переводчика: этот пост — перевод оригинальной статьи Рейндера де Вриса, опытного программиста, разработавшего собственный курс обучения кодингу. Автор делится мыслями об инструментах, которые могут оказаться полезными разработчикам, позволяя ускорить и оптимизировать процесс программирования

Создание приложения требует достаточно много времени и часто — денег. Иногда у вас может недоставать средств для разработку многофункциональной программы, а бывает, что средства есть, но нужно работать максимально быстро, чтобы не упустить удачный момент для релиза, опередив конкурентов. Что делать — урезать возможности программы, чтобы закончить ее побыстрее, или искать иные способы ускорить процесс?
Читать дальше →
Total votes 41: ↑25 and ↓16+9
Comments4

Мастер осанки: остаться в живых

Reading time3 min
Views33K
Удивительно, но из всех известных и популярных корректоров осанки до сегодняшнего дня дожил лишь этот: простой, не всегда удобный, не слишком-то гибко настраиваемый…

Тем не менее, достойно выдержал и натиск конкурентов, и испытание временем. Правильно еще раз посвятить ему несколько слов.


Читать дальше →
Total votes 41: ↑36 and ↓5+31
Comments29
1

Information

Rating
Does not participate
Registered
Activity