Как стать автором
Обновить
Сначала показывать

Погружение в мир Lint'a в Android-проекте

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

Статические анализаторы уже давно являются неотъемлемой частью разработки проектов не только на Android. Они позволяют выявлять ошибки, несоответствия стандартам code style, производительности или безопасности, обозначать какие-то узкие места, сокращать code review и т. д. Android Studio «из коробки» содержит огромное количество всевозможных проверок, но, как правило, этого недостаточно, всегда есть какие-то неучтённые проблемы, внутренние правила компании или команды разработки. Кратко расскажем про Lint, как начинали делать свои правила, с какими задачами сталкивались на первых этапах и как решали. Это поможет вам впервые погрузиться в тему, так как интернет весьма скуден на статьи по ней.

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

Ультимативное руководство по эмоциональному дизайну

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

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

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

Data сontract: давайте попробуем договориться

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

В последнее время всё чаще и чаще натыкаюсь на термин data contract. И чтобы не отставать от трендов на рынке data engineering, решил изучить эту тему и рассмотреть тенденции. Постараемся понять, с чем его кушать и стоит ли кушать вовсе.

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

Мониторинг Celery

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

Существует популярный подход к покрытию метриками Celery: он заключается в запуске некоторого процесса, который слушает события из специальной очереди, на основе этих событий обновляются объекты метрик, а фоновый поток сервера отдаёт собранные метрики скраперу. В этой статье подробно разберём события, их жизненный цикл, откуда и как их принимать. Также поговорим про механизм удалённого управления (remote control), какие у него есть возможности и как им пользоваться. Обсудим существующие решения, чем они отличаются, и почему вам, возможно, будет выгодно сделать своё.

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

Best Practices по подключению к сторонним API в проекте

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

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

В Домклике у нас микросервисная архитектура, и каждому сервису приходится взаимодействовать с десятком других. Чтобы межсервисное взаимодействие было предсказуемым, надёжным, удобным и отслеживаемым, мы следуем ряду практик при разработке, и в этой статье я расскажу вам о них.

Узнать лучшие практики
Всего голосов 23: ↑22 и ↓1+25
Комментарии6

Как сделать универсальный компонент List Cell в Figma

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

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

Рассмотреть материал
Всего голосов 20: ↑20 и ↓0+20
Комментарии3

Шаг за шагом: как добиться синхронности в дизайн-команде за 9 месяцев

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

Привет, меня зовут Артём Говердовский, и я дизайн-директор в Сбер Домклик. В моëм подчинении 49 дизайнеров, среди которых 6 лидов. Хочу рассказать, как у нас получилось переформатировать дизайн-отдел, распределить зоны ответственности, настроить процессы, справиться с легаси и полностью синхронизироваться по всем проектам за 9 месяцев работы.

Читать далее
Всего голосов 21: ↑20 и ↓1+22
Комментарии6

Дави жуков

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

Существует много курсов программирования и повышения IT-квалификации, но ни на одном из них не учат системно искать и исправлять ошибки. В реальных крупных проектах до 30% времени может уходить не на написание нового кода и фич, а на поиск первопричин неисправностей и их устранения. Именно недочёты и ошибки будут мешать вашему клиенту составить положительное впечатление о продукте, а в некоторых случаях они полностью блокируют процесс. Кроме того, инженер, который только пишет новый код и не решает ошибки, не получает архитектурный опыт и не расширяет кругозор, что приводит к появлению новых недочётов в проектах. Я опишу наш инструментарий для исправления ошибок в веб-приложениях и поделюсь опытом.

Читать далее
Всего голосов 17: ↑14 и ↓3+13
Комментарии8

VR-тур на A-Frame + React

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

Всем привет! Меня зовут Егор Молчанов, я разработчик в команде CRM для менеджеров ипотечного кредитования в компании Домклик. Хочу поделиться своим опытом создания VR‑тура с помощью фреймворка A‑Frame и библиотеки React. Для этого написал свой небольшой pet‑проект, который мы сейчас разберём.

Читать далее
Всего голосов 19: ↑18 и ↓1+22
Комментарии2

Стилистические правила умерли, да здравствуют стилистические правила

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

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

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

Oxlint — более быстрая альтернатива ESLint

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

Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. Недавно стал общедоступен новый линтер «Oxlint», основанный на языке программирования Rust, и многие эксперты высоко оценили его. Какие преимущества Oxlint предоставляет по сравнению со своим предшественником ESLint?

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

Что выбрать: Npm, Yarn или Pnpm?

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

На данный момент у нас используются три самых популярных менеджера пакетов (Npm, Yarn и Pnpm). И всё бы ничего, но разные команды начали периодически обращаться с проблемой несоответствия типов Typescript из наших транзитивных зависимостей. Выяснилось что это проблема Npm и Yarn, но как же её решать?

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

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

Идемпотентность: больше, чем кажется

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

image


Друзья, всем привет! Идемпотентность в проектировании API — не просто формальность. Это свойство, часто рассматриваемое как способ получения одинакового ответа на повторяющийся запрос, на самом деле означает гораздо больше...

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

Наводим порядок в конфигах Webpack

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

Всем привет. Меня зовут Евгений Чернышев, и я возглавляю фронтенд-разработку в одном из направлений деятельности Домклик. Хочу поделиться своими мыслями о том, как управлять сложными конфигурациями Webpack. Сразу «проведу черту», чтобы предотвратить возможные холивары: сравнение Webpack с другими бандлерами (Rollup, Vite и прочими) выходит за рамки статьи.

Де-факто, Webpack является основным сборщиком фронтенд-проектов. Это зрелый продукт, который до сих пор развивается и повсеместно используется. Но, как и любой инструмент, он имеет свои слабые стороны. Я считаю что основной недостаток Webpack — это сложность его конфигурации. На крупных долгоживущих проектах конфигурационные файлы становятся слишком большими и нечитаемыми, превращаясь в мешанину вложенных объектов и spread-операторов. Чтобы показать, что я имею в виду, рассмотрим стадии развития проекта.

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

Server-side rendering и практики работы с запросами

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

Практики работы с запросами на сервере значительно отличаются от того, к чему привык фронтенд-разработчик. ежедневно разрабатывающий SPA-приложения с клиентским рендерингом. Если не учесть эту разницу при разработке приложения с серверным рендерингом, то можно собрать довольно много граблей. Хочу поделиться опытом и рассказать про три практики, которые использую повседневно, а также о проблемах, предшествующих их появлению. Я буду ссылаться на веб-производительность и рассчитываю что вы уже знакомы с такими метриками как TTFB, LCP и FCP.

Прошу под кат
Всего голосов 26: ↑26 и ↓0+26
Комментарии3

Что такое дизайн-токены простыми словами

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

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

Про принципы наименований, экспорт токенов из фигмы и передачу токенов разработчикам.

Ознакомиться со статьей 👏🏼
Всего голосов 31: ↑31 и ↓0+31
Комментарии4

Эра ИИ и генеративного дизайна в интерфейсах. Что нас ждёт?

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

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

Генеративный дизайн (англ. Generative Design, далее GD), или порождающий дизайн, — подход к проектированию и дизайну цифрового или физического продукта, при котором человек делегирует часть процессов компьютерным технологиям и платформам.

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

Читать далее
Всего голосов 24: ↑23 и ↓1+26
Комментарии2

Zabbix, PostgreSQL и pg_stat_statements

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

Я хочу поделиться своим опытом использования Zabbix для анализа проблем с производительностью PostgreSQL, используя расширение pg_stat_statements.

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

Особенности сбора метрик. Запуск приложения gunicorn-ом в режиме мультипроцессинга

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

Представим следующую ситуацию. Ваш python веб-сервер собирает какие-то метрики prometheus_client-ом: счётчики, гистограммы и т. д, например, количество входящих запросов. Вы также настроили приложение, чтобы /metrics возвращал все ваши метрики. Если режим работы prometheus_client-a оставить по умолчанию, при запуске приложения gunicorn-ом с более чем одним воркером вы сталкиваетесь с проблемой консистентности метрик.

Что с этим делать? Давайте разберёмся.
Всего голосов 29: ↑29 и ↓0+29
Комментарии12

Не бойтесь брать джунов

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

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

Читать далее
Всего голосов 31: ↑27 и ↓4+26
Комментарии37
1
23 ...

Информация

Сайт
domclick.ru
Дата регистрации
Дата основания
Численность
501–1 000 человек
Местоположение
Россия
Представитель
Евгения Макарова