Как стать автором
Обновить
82
Рейтинг

Клиентская оптимизация *

Делаем сайты удобнее и приятнее

Сначала показывать
Порог рейтинга

Создаем слайдер с изображением и текстом на React.js с нуля и оптимизируем

Разработка веб-сайтов *JavaScript *Анализ и проектирование систем *Клиентская оптимизация *ReactJS *
Перевод

В этой статье я хочу затронуть задачу, с которой вы можете столкнуться на собеседовании на позицию Front-End — создание Image Slider.

За последние 5 месяцев у меня было 15 онсайт собеседований, а также офферы от Google, Roku, Microsoft и других. (Больше информации можно прочитать в моем Telegram-канале)

Вы должны реализовать этот виджет за ~45–50 минут и рассказать об оптимизации. Эту информацию я постараюсь рассказать здесь. Основная цель состоит не в том, чтобы реализовать Image Slider с большим количеством функционала, а в том, чтобы показать, как реализовать и оптимизировать.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 3.3K
Комментарии 13

Новости

OpenLiteSpeed быстрый. Но не всегда

Блог компании ISPmanager Разработка веб-сайтов *Системное администрирование *Клиентская оптимизация *

Привет, Хабр! Меня зовут Алексей, сегодня расскажу, как делал нагрузочное тестирование nginx, Apache и OpenLiteSpeed (он же OLS) и какой из серверов быстрее. 

Поводом для теста стало добавление OLS в наш продукт — ISPmanager. Это панель для управления веб-серверами и сайтами. Поддержка Apache и nginx у нас была давно, а вот OLS — в новинку. Добавить его в ISPmanager очень просили наши пользователи. Разработчики говорят, что OLS супербыстрый сервер, да и независимые замеры подтверждают. Но мы решили проверить всё сами. Оказалось, сервер действительно производительный, но всё же не всегда обгоняет конкурентов. Подробности под катом. 

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 2.1K
Комментарии 2

Раздувание кода стало астрономическим

Программирование *Клиентская оптимизация *
Перевод

Время от времени я пользуюсь одним сервисом: мне нужно загрузить файлы в какое-то место (название сервиса не имеет роли, потому что, откровенно говоря, все они одинаковы). По сути, я просто указываю папку на своём жёстком диске, после чего её содержимое копируется на удалённый сервер, на котором, вероятно, происходит что-то связанное с базами данных — этим файлам присваиваются имена и выполняются проверки того, кто их скачивает.

Сервисом владеет большая компания, поэтому её процессы масштабны; вероятно, её часто пытаются взломать, поэтому требуется какая-то защита, а также проверка того, что файлы никто не модифицировал в промежутке между загрузкой с моего компьютера и получением на сервере. Всё это я понимаю.

… но по сути, речь идёт о том, что нужно зарегистрировать несколько файлов, считать их, загрузить, а затем закрыть соединение и записать в файл лога, всё ли прошло успешно, а если нет, то что именно случилось. В этом нет ничего сложного, и даже я писал с нуля подобный код при помощи Wininet API и PHP на сервере, общающемся с моей базой данных MySQL. Наверно, моя система была не такой надёжной, как системы уровня энтерпрайза, однако поддерживала сотни тысяч загруженных файлов, их верификацию, скачивание и логирование. Наверно, это работа для одного кодера на две-три недели?

Специальный инструмент загрузки на сервер, которым я пользуюсь сегодня, суммарно имеет 230 МБ клиентских файлов и задействует 2,7 тысяч файлов для управления этим процессом.
Читать дальше →
Всего голосов 413: ↑399 и ↓14 +385
Просмотры 82K
Комментарии 846

Оптимизация загрузки js бандла использующего icon pack’и

Разработка веб-сайтов *JavaScript *Клиентская оптимизация *ReactJS *

Иконки в проекте часто становятся причиной проблем разбухания размера бандла. Все из-за того что svg-иконки могут быть достаточно объемными.
Если мы загружаем только те иконки, что мы реально используем то это не самый плохой вариант. Все становится намного хуже когда мы устанавливаем готовые пакеты иконок, но используем только их малую часть, так произошло и со мной.

Мое приложение состоящее из 2х элементов весит 722kb. Но почему?

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 1.5K
Комментарии 5

«Яндекс.Такси» на железной дороге: почему это реально?

Блог компании Первая грузовая компания (ПГК) Клиентская оптимизация *Читальный зал Искусственный интеллект Транспорт

Краткий экскурс по уберизации от заместителя генерального директора ПГК по операционной эффективности и цифровому развитию Алексея Агапкина.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 3.5K
Комментарии 9

Азбука вкуса, Nuxt и наш тернистый путь к микрофронтам

Разработка веб-сайтов *JavaScript *Клиентская оптимизация *VueJS *TypeScript *

Уже больше года мы в Азбуке вкуса мигрируем с jQuery на Nuxt. По мере роста, делали свою реализацию микрофронтов, чтобы хорошо организовать работу и решить ряд проблем.  

В процессе наступили на пару граблей, долго думали и наконец сделали.  

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

Узнать больше
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 4.1K
Комментарии 13

Что такое мемоизация? Как и когда использовать мемоизацию в JavaScript и React

JavaScript *Клиентская оптимизация *Функциональное программирование *ReactJS *TypeScript *
Из песочницы
Перевод

В данном переводе рассказывается о том, что такое мемоизация, зачем её использовать. Также представлены основные примеры на JavaScript и React, демонстрирующие работу мемоизации.

Развернуть
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 12K
Комментарии 6

Как разработать фронтенд, чтобы не ночевать на заводе

Блог компании ГК ЛАНИТ Клиентская оптимизация *Angular *

Компания Datana занимается разработкой цифровых решений для оптимизации производственных процессов черной металлургии (подробнее в нашем блоге). Сейчас мы расскажем об опыте повышения стабильности и отказоустойчивости фронтендов наших систем или о том, как мы избавились от необходимости ночевать в цехе завода, чтобы вовремя нажать F5.

Читать далее
Всего голосов 66: ↑66 и ↓0 +66
Просмотры 8.8K
Комментарии 20

Сколько цветов может выдержать Windows Terminal?

Клиентская оптимизация *Обработка изображений *Разработка под Windows *
Перевод
Группа пользователей хотела реализовать простую видеоигру в терминале, но оказалось, что её производительность в Windows Terminal совершенно не подходит для такой задачи. Проблему с производительностью можно воспроизвести, многократно отрисовывая «радугу» и замеряя количество кадров в секунду (FPS). Показанная на рисунке радуга, состоящая из 20 цветов, на моём Surface Book с Intel i7-6700HQ отрисовывается с частотой 30 FPS. Однако если отрисовывать ту же радугу из 21 или более цветов, то частота упадёт ниже 10 FPS. Такое падение стабильно и ситуация не ухудшается даже при тысячах разных цветов.

Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Просмотры 12K
Комментарии 7

Как отвечать на отзывы в интернете

Клиентская оптимизация *Управление e-commerce *Управление продуктом *
Recovery mode

Управление репутацией обычно делят на два ключевых направления: ORM и SERM, где ORM – работа по нивелированию нового негатива путем решения жалоб клиентов, а SERM отвечает за выдачу. Мы же привыкли считать, что ORM включает в себя вообще все инструменты, которые так или иначе влияют на репутацию, в том числе и SERM. 

Очень важная часть, если не главная – умение быстро находить негатив и быстро его нивелировать, отвечать на отзывы, комментарии, жалобы и просто вопросы пользователя о компании. Как же правильно это делать? Давайте разберем, а также приведем несколько примеров хороших и плохих реакций на отзывы.

Читать далее
Всего голосов 7: ↑0 и ↓7 -7
Просмотры 1.3K
Комментарии 5

Мой путь в ТРИЗ

Анализ и проектирование систем *Клиентская оптимизация *Разработка для интернета вещей *Управление проектами *Управление продуктом *
Recovery mode

Поговорим о том, с каким бэкграундом и для чего приходят в инновационную деятельность с ТРИЗ (теорией решения изобретательских задач). Мой путь длиною в 17 лет - от ИТ-ишника к корпоративному инноватику.

Читать далее
Всего голосов 54: ↑12 и ↓42 -30
Просмотры 7K
Комментарии 95

Репутационные агентства: интернет герои или аморальные монстры

Поисковые технологии *Клиентская оптимизация *Управление продуктом *Управление медиа *
Recovery mode

Ранее мы уже рассматривали, что такое репутация в интернете, кому и зачем она нужна, а также то, какие инструменты, помогают представить продукт в интернете в выгодном для нас свете. Сегодня же мы посмотрим на работу репутационных агентств через другую призму, а именно, призму морали. Попытаемся разобраться: является ли работа репутационных агентств безнравственной или же методы репутационщиков могут быть оправданы?

Мораль в сфере маркетинга и рекламы

Небольшая ремарка вместо вступления:

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

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

Читать далее
Всего голосов 5: ↑0 и ↓5 -5
Просмотры 883
Комментарии 2

Module Federation: простая загрузка динамических модулей

Блог компании Delivery Club Tech Разработка веб-сайтов *JavaScript *Клиентская оптимизация *Микросервисы *

Всем привет! Меня зовут Евгений, я работаю frontend-разработчиком в платформенной команде. Моя задача — помогать другим frontend-разработчикам выполнять их задачи эффективнее. Мы в Delivery Club больше года назад внедрили подход с микрофронтендами, о чём писали здесь. Вы можете найти и много других статей с описанием этого подхода.

После выхода стабильной версии Webpack 5 мы решили использовать плагин Module Federation в качестве основного способа загрузки микрофронтендов. В этой статье расскажу, с какой проблемой столкнулся при загрузке динамических модулей и как её решил. Описывать будут на примере плагина Module Federation во всех деталях. Если вы слышите про этот инструмент впервые, то советую предварительно ознакомиться.

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 5.3K
Комментарии 13

Определение приоритетов SEO-оптимизации страниц

Поисковые технологии *Клиентская оптимизация *Веб-аналитика *
Recovery mode

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

Читать далее
Всего голосов 13: ↑5 и ↓8 -3
Просмотры 2.3K
Комментарии 0

Профилирование Python-программ и анализ их производительности

Блог компании Wunder Fund Высокая производительность *Python *Клиентская оптимизация *
Перевод

Профилирование — это неотъемлемая часть любых работ по оптимизации кода или производительности программ. Любой опыт, любые знания в сфере оптимизации производительности, которые уже у вас есть, не принесут особой пользы в том случае, если вы не знаете о том, где их применить. В результате оказывается, что поиск узких мест приложений может помочь в деле решения проблем производительности, поможет сделать это быстро и приложив не слишком много усилий.

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

Читать далее
Всего голосов 26: ↑25 и ↓1 +24
Просмотры 8K
Комментарии 0

Ошибки в медицинском маркетинге. Опыт команды «Точно»

Клиентская оптимизация *Управление продажами *
Из песочницы

Медицинский маркетинг не предполагает применение волшебного рецепта, который излечит все «боли» клиники. Быстрых результатов можно достичь, если вы предлагаете уникальную услугу и при этом располагаете солидным бюджетом и наработанной клиентской базой. Но это частный случай. На практике работа маркетолога —  это постоянный мозговой штурм и поиск свежих решений, выдвижение и опровержение гипотез.

Читать далее
Всего голосов 5: ↑2 и ↓3 -1
Просмотры 1.3K
Комментарии 2

Для чего нужен CJM?

Клиентская оптимизация *Исследования и прогнозы в IT *Интернет-маркетинг *

Вы уже наверное много слышали про CJM - Customer Journey Map. Давайте не будем открывать Америку, и попробуем разобраться на примерах - почему нужно делать CJM, отслеживать его на пути становления вашего продукта и актуализировать, когда продукт находится на стадии роста.

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

Один из пунктов, почему так происходит - правильно выстроенный и отточенный клиентский путь.

Читать далее
Всего голосов 5: ↑3 и ↓2 +1
Просмотры 3.8K
Комментарии 0

Оптимизация использования памяти в Python-приложениях

Блог компании Wunder Fund Разработка веб-сайтов *Python *Клиентская оптимизация *
Перевод

Прим. Wunder Fund: мы занимаемся высокочастотной торговлей и это заставляет нас часто думать об оптимизации кода, но в основном, конечно, плюсового. В этой короткой статье описаны несколько подходов к оптимизации Python-программ по памяти. И хотя много проблем можно решить, просто докупив ещё памяти, но не все.

Когда заходит разговор об оптимизации производительности приложений, обычно основное внимание уделяют лишь скорости процессора и уровню его использования. Редко кого заботят соображения, касающиеся потребления памяти. Ну — до тех пор, пока программа не исчерпает доступную ей RAM. Обычно, оптимизируя работу с памятью, программы защищают от сбоев, вызываемых ошибками, связанными с нехваткой памяти. Но существует и множество других причин для того, чтобы попытаться ограничить потребление памяти приложением.

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

Читать далее
Всего голосов 29: ↑26 и ↓3 +23
Просмотры 9.6K
Комментарии 0

Боишься ли ты темноты: что изменилось в процедуре получения кредита и как скоринг убивает кошмары

Блог компании УБРиР Клиентская оптимизация *История IT Инженерные системы *

Привет, меня зовут Александр Зараменских, я менеджер разработки Центра внедрения информационно-технологических решений в Уральском банке реконструкции и развития (УБРиР). Хочу поделиться историей внедрения системы автоматизации скоринга в нашем банке.

Читать далее
Всего голосов 5: ↑3 и ↓2 +1
Просмотры 1.8K
Комментарии 18

Как мы устранили страшное легаси незаметно для пользователей

Блог компании ATI.SU Разработка веб-сайтов *JavaScript *Клиентская оптимизация *ReactJS *
✏️ Технотекст 2021

Мы разрабатываем ati.su, это площадка где грузоотправитель находит грузоперевозчика. Между собой они общаются заявками. Заявка — это карточка с множеством полей. Так мы её и зовём — «Карточка груза». Поиск таких заявок по сложным фильтрам — то, зачем к нам приходят сотни тысяч пользователей.

Эта статья о том, как мы с нуля переписали карточку груза и этого почти никто не заметил. И это хорошо, так и было задумано.

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

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 7K
Комментарии 9

Вклад авторов