Как стать автором
Обновить
6
0
Сергей Учаев @u4aew

Frontend developer

Отправить сообщение

Web APIs, которые функционально приближают веб-приложения к нативным

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров13K

Исходные данные: мы с командой делаем банковское приложение. Веб-приложение. Не все поверят, но сегодня реально реализовать на вебе такой пользовательский опыт, от которого люди не будут скрипеть зубами и умолять вернуть им натив. Расскажу, какие Web API мы используем, раскрою тонкости и покажу примеры кода.

Читать далее
Всего голосов 31: ↑29 и ↓2+33
Комментарии31

Обзор новых Open Source LLM. Или как локально запустить аналог ChatGPT

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров18K

На прошедшей неделе вышло сразу несколько новых Open Source LLM. Разбираемся, что в них особенного, а также как и зачем их запускать локально.

Читать далее
Всего голосов 32: ↑31 и ↓1+34
Комментарии47

Сложность алгоритмов. Разбор Big O

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров50K

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

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

Читать далее
Всего голосов 20: ↑18 и ↓2+23
Комментарии17

Безопасность веб-приложений

Время на прочтение10 мин
Количество просмотров20K

Порой мы халатно относимся к безопасности, не выделяем для неё достаточно времени, потому что "да что может случиться". На примере Васи, нашего веб-разработчика, мы покажем, что лучше ей не пренебрегать. Хотя бы базовыми её принципами.

Читать далее
Всего голосов 9: ↑8 и ↓1+8
Комментарии7

Утечки памяти, которые не утечки

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров20K

Что случилось? Авария, ужас-ужас

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

В один прекрасный день боевое сопровождение приходит с ужасной проблемой — память в контейнерах Node.js течёт, сервисы падают с OOM каждый день, все пропало!

Да, картинка действительно удручающая. Всё время, когда есть нагрузка, память в контейнере прирастает и почти не очищается при снятии нагрузки. Все остальные метрики, которые мы собирали были в норме: event loop lag, использование CPU, active request, open handles. Прирастала только используемая память и незначительно увеличивалось время отклика сервиса.

Что-ж, выглядит как классическая утечка, надо искать источник.

Читать далее
Всего голосов 95: ↑94 и ↓1+106
Комментарии15

Детальный React. Реконсиляция, рендеры, Fiber, виртуальное дерево

Уровень сложностиСложный
Время на прочтение19 мин
Количество просмотров18K

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

На момент написания статьи, последняя стабильная версия React 18.2.0. За 10 лет разработчики Facebook проделали колосальный объем работы, было реализовано много фич и сделано не мало оптимизаций. За эти годы, так же, происходили и кардинальные архитектурные изменения. Очевидно, одной статьи мало, чтобы покрыть всю механику React, поэтому, данная публикация станет первой в серии статей о внутреннем устройстве React. Здесь мы познакомимся с основными сущностями и архитектурными решениями.

Читать далее
Всего голосов 15: ↑13 и ↓2+14
Комментарии9

Пишем хорошие компоненты, которые захочется переиспользовать, а плохие — не пишем

Время на прочтение9 мин
Количество просмотров14K

Обсудили с Антоном Крыловым, фронтенд-разработчиком Авито, как нужно и не нужно писать компоненты. Поговорили про характеристики компонентов и коснулись Dependency Injection и DSL-like подхода в React.

Читать далее
Всего голосов 11: ↑9 и ↓2+8
Комментарии8

Feature-Sliced Design: эволюция фронтенда для быстрых экспериментов

Время на прочтение6 мин
Количество просмотров59K

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

Мы используем preact/compat — с его помощью получаем доступ к множеству библиотек экосистемы React, что делает разработку более гибкой, и при этом можем использовать Preact. Но эти же плюсы зачастую оборачиваются в обратную сторону: например, нет единой методологии по проектированию приложений, как, например, в Angular. Кроме того, многообразие библиотек усложняет погружение в проект, а свобода в реализации и проектировании может обернуться захламлением кодовой базы, что пугает разработчиков, особенно новичков. 

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

Для нашей команды эти проблемы также актуальны. Чтобы их решить раз и навсегда, мы обратились к активно развивающейся методологии Feature-Sliced Design (FSD). Ниже я познакомлю с ее главными принципами и с нашим опытом ее использования. Забыл представиться — я Женя, фронтенд-разработчик в команде Quick Experiments inDrive. Расскажу, как мы занимаемся разработкой внутренних стартапов на основе бизнес-гипотез с помощью FSD.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии12

Метрики производительности WEB Vitals

Время на прочтение6 мин
Количество просмотров12K

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

Какие существуют метрики производительности?

Как оценить качество вашего приложения? 

Как поднять метрики? 

Какие инструменты позволяют оценить показатели производительности, и др. 

Читать далее
Всего голосов 32: ↑32 и ↓0+32
Комментарии0

Как мы отказались от styled-components в React Native приложениях

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров7.1K

Styled-components является стандартом написания стилей для многих команд, которые разрабатывают приложения на React Native. Но мы не всегда задумываемся, зачем мы тащим это в продукт и какую выгоду получим. А что если от styled-components больше вреда, чем пользы? Я поделюсь нашим опытом в Профи и попробуем разобраться вместе.

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

Как рисует браузер. Доклад Яндекса

Время на прочтение8 мин
Количество просмотров21K
До недавнего времени я работал в команде Яндекс.Браузера и по следам этого опыта сделал доклад на конференции YaTalks. Доклад был о том, что у браузера под капотом и как ваши странички превращаются в пиксели на экране. Минимум фронтенда, только внутренности браузера, только хардкор.



— Всем привет, меня зовут Костя. Удивительно — сейчас я работаю в команде виртуальной сети Яндекс.Облака. До этого я пять с лишним лет проработал в команде Браузера, так что сегодня буду говорить о вещах, общих для нас с вами.

Читать дальше →
Всего голосов 37: ↑34 и ↓3+31
Комментарии9

Как прокачать профессиональную репутацию без публичных выступлений

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров7.7K

Самые ходовые способы получить известность в статусе эксперта — публичные выступления и статьи.

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

Читать далее
Всего голосов 24: ↑17 и ↓7+12
Комментарии15

Оптимизация веб-приложений: на что стоит обратить внимание

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров7.2K

Привет, Хабр! Меня зовут Андрей, я веб-разработчик в МТС Digital. Сегодня поделюсь своим опытом, как и зачем оптимизировать веб-приложения.

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

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

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

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии4

RTK query: что мы от него хотим и зачем

Время на прочтение13 мин
Количество просмотров52K

Redux Toolkit Query — это мощный инструмент для взаимодействия с API, который из коробки реализует такие полезные фишки, как отображение состояния загрузки, кэширование, дедупликацию запросов, полинг, ревалидацию при различных условиях, а также весьма удобна в использования за счёт готовых хуков. 

Привет, меня зовут Антон Степанов, я — frontend-разработчик в Альфа-Банке. В статье расскажу какие задачи при работе с API frontend-разработчику приходится решать чаще всего, к каким идеям рано или поздно это может привести, и как их можно реализовать в RTK query, собственно.

Под катом много кода и убеждений.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии5

Клиентский мониторинг производительности

Время на прочтение18 мин
Количество просмотров22K

Клиентский мониторинг производительности


Привет, Хабр! Меня зовут Влад, я лид направления Web Performance в Тинькофф.


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


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


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


Пользователям нравятся отзывчивые интерфейсы, а бизнесу — прибыльные проекты. И если производительность играет в этом не последнюю роль, то почему бы не заняться ее оптимизацией?

Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии1

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Frontend Developer
Senior