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

Как добавить React-компонент в Active Admin

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

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

Мы в ДомКлик в таких случаях используем Vue.js и React, и под катом я расскажу, как именно можно внедрить React-компонент в Active Admin.

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

Кеш бывает разным

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

PostgreSQL хранит данные на каких-то носителях. И между PostgreSQL и, например, магнитной поверхностью диска находится несколько кешей: кеш самого винчестера, кеш RAID-контроллера или винчестерной полки, кеш файловой системы на уровне операционной системы и кеш самого PostgreSQL. Если первыми перечисленными кешами мы практический не можем управлять, то последними, находящимися в ОЗУ сервера, управлять можем: например, выделяя больше ОЗУ под кеш PostgreSQL в ущерб кешу ОС, или наоборот. В официальной документации можно прочитать ничем не подтвержденные рекомендации, типа выделять под PostgreSQL четверть ОЗУ. Это вызывает сомнения. PostgreSQL в виде Postgres95 впервые появился в 1995 году и, кто знает, быть может и эти рекомендации относятся к тому же году. Поэтому появилась идея эксперимента с целью разобраться, как лучше распределять ОЗУ.

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

Строим систему для мониторинга качества frontend-проектов

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

Всем привет! Продолжим цикл историй про то, чем занимается Web Core команда в компании ДомКлик. В предыдущей статье мы рассказывали как мы создаем дизайн-систему. В этой статье хотелось бы поделиться историей разработки системы мониторинга качества front-end проектов - Front Radar. У нас в компании большое число проектов, которые создаются большим кол-вом команд и в связи с этим появилась потребность - проверять актуальность проектов и выявлять проблемные места, которые негативно влияют на клиентский опыт.

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

Сервис, позволяющий контролировать процесс сбора согласий на обработку персональных данных

Время на прочтение4 мин
Количество просмотров7.3K
image

Всем привет! Меня зовут Мария, в компании ДомКлик я отвечаю за организацию обработки персональных данных, и сегодня речь пойдёт о процессе сбора согласий на обработку в соответствии с требованиями законодательства.

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

В соответствии с Федеральным законом от 27.07.2006 № 152-ФЗ «О персональных данных» субъект этих самых данных должен самостоятельно принять решение об их предоставлении и согласии на их обработку. Согласие на обработку персональных данных должно быть конкретным, информированным, сознательным и не может навязываться субъекту персональных данных со стороны оператора. Согласие должно быть дано субъектом или его представителем в письменной форме, либо в форме электронного документа, подписанного электронной подписью. И оператор обязан предоставить доказательства получения такого согласия.
Читать дальше →
Всего голосов 34: ↑22 и ↓12+13
Комментарии23

Стать инженером DevOps в 2021 году: подробное руководство

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

Что касается нынешнего ИТ-рынка, среда DevOps — один из лучших вариантов для ИТ-специалистов с точки зрения заработной платы и карьерного роста. И мне довольно часто задают вопрос: «Как стать инженером DevOps?»

В этом блоге я попытаюсь ответить на него на примере своего собственного опыта работы DevOps в различных организациях.

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

Как я принёс Ruby в ДомКлик

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


В конце 2017 года я твёрдо решил, что хочу перейти на руководящую работу.

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

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

Масштабность и эффективность меня вдохновляли.
Всего голосов 55: ↑42 и ↓13+39
Комментарии116

Разработка эффективного гибридного приложения

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

А помните ли вы свой первый мобильный телефон? Для меня это была Nokia 3310, неубиваемая «трубка», неустанно радовавшая меня скудным набором развлечений в виде игры в змейку, WAP и чудесных монофонических рингтонов. За последние тридцать лет индустрия шагнула далеко вперед. И это ещё мягко сказано: мобильные чипы приближаются по производительности к современным компьютерам, а две самые популярные на текущий момент системы — Android и iOS — предоставляют практически безграничные возможности для создания приложений на любой вкус.

Оплата по NFC, заказ такси буквально за пару свайпов, и даже тот же Instagram настолько плотно вошли в нашу жизнь, что необходимость создания мобильного клиента для своего бизнеса теперь уже не вызывает вопросов. Стандартом разработки в этом случае принято считать нативные приложения. Они работают плавно, имеют привычный пользователям UI и UX, а также доступ к разнообразным аппаратным возможностям смартфона и его операционной системы. Из основных недостатков этого подхода можно отметить необходимость иметь в штате выделенных iOS- и Android-разработчиков, возникновение сложностей в организации тестирования, и более длительный, по сравнению с web, релизный цикл. Нельзя забывать и про сегментацию: часть пользователей предпочитает оставаться на старых версиях приложения, старых версиях iOS и Android, обожают свои старые телефоны. Поэтому ненайденный в релизе баг, просочившись в сторы, напоминает землетрясение с долгим афтершоком.

Если у вас уже есть команда опытных мобильных разработчиков и налажен CI, то кажется, что выбор очевиден. Но зачастую бывают ситуации, когда время запуска функциональности в прод играет решающую роль, а постоянные обновления не идут на пользу репутации приложения. Хотя бы раз в жизни, каждый из нас брал кредит, или, по крайней мере, всерьез задумывался об этом. Обычно этот процесс включает в себя заполнение анкеты. Представим, что такая анкета есть у вас на сайте и в мобильном приложении. И вот банк решил освободить зарплатных клиентов от половины полей — это, безусловно, прекрасно, но влечет за собой изменения на сайте, а также в iOS- и Android-приложениях. Учитывая нашу асинхронность релизных циклов, а также возможность появления багов при обновлении, возникает риск получить три разные анкеты на неопределенный срок. А если подобные изменения нужно вносить часто?

Читать далее
Всего голосов 27: ↑23 и ↓4+22
Комментарии3

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

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


Ключевые тезисы:

  • Взаимодействие между компонентами напрямую друг с другом может привести к неожиданному поведению, в котором сложно будет разобраться разработчикам, операторам и бизнес-аналитикам.
  • Чтобы обеспечить устойчивость бизнеса, вам нужно видеть все возникающие в системе взаимодействия.
  • Добиться этого позволяют разные подходы: распределённая трассировка, обычно не учитывающая бизнес-аспекты; озёра данных, требующие заметных усилий по настройке получаемых срезов данных; отслеживание процессов, когда вам приходится моделировать интересующий поток задач; контроль и анализ процессов (process mining), позволяющие исследовать поток задач; и вплоть до оркестрации, в которой прозрачность процессов уже имеется.
  • Мы поговорим о том, что вам нужно балансировать между оркестрацией и хореографией микросервисной архитектуры, чтобы понимать, управлять и менять свою систему.
Читать дальше →
Всего голосов 29: ↑22 и ↓7+19
Комментарии1

Дорога к BPMN 2

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

В названии цифра «2» не из-за версии нотации (хотя она и так 2.0), а потому что это вторая статья. В первой я рассказывал про наш путь к Activiti и о том, почему от этого инструмента стоило отказаться и идти дальше. И сегодня я расскажу, куда же мы пошли.

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

Мониторинг бизнес-процессов Camunda

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

Привет, Хабр.

Меня зовут Антон и я техлид в компании ДомКлик. Создаю и поддерживаю микросервисы позволяющие обмениваться данными инфраструктуре ДомКлик с внутренними сервисами Сбербанка.

Это продолжение цикла статей о нашем опыте использования движка для работы с диаграммами бизнес-процессов Camunda. Предыдущая статья была посвящена разработке плагина для Bitbucket позволяющего просматривать изменения BPMN-схем. Сегодня я расскажу о мониторинге проектов, в которых используется Camunda, как с помощью сторонних инструментов (в нашем случае это стек Elasticsearch из Kibana и Grafana), так и «родного» для Camunda — Cockpit. Опишу сложности, возникшие при использовании Cockpit, и наши решения.
Читать дальше →
Всего голосов 22: ↑17 и ↓5+16
Комментарии3

Как я подружил BPMN и Bitbucket

Время на прочтение8 мин
Количество просмотров5.5K
Привет, Хабр! Я техлид в компании ДомКлик. В основном занимаюсь backend-разработкой. Мне периодически приходится погружаться и во front-разработку, но этого не происходило уже более двух лет. Сегодня я расскажу, как мне пришлось заняться front-разработкой для создания плагина для Bitbucket, с какими сложностями я столкнулся и как их решал. Также поделюсь результатом своей работы: надеюсь, он окажется полезен кому-нибудь ещё. Эта статья не является руководством по написанию плагинов для продуктов Atlassian и не описывает всех возможностей системы плагинов.
Читать дальше →
Всего голосов 23: ↑17 и ↓6+14
Комментарии15

Дорога к BPMN

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

Привет! Меня зовут Лев, и я инженер в новосибирской команде интеграционных сервисов ДомКлик. Мы разрабатываем (микро)сервисы, которые связывают между собой множество разрозненных систем, а также делают многие процессы быстрыми и прозрачными для конечного пользователя. 

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

На пути к Canary

Время на прочтение8 мин
Количество просмотров3.6K
За последние 5 лет мне приходилось работать над несколькими крупными проектами, и во всех из них неизменным было одно: сервисы релизили в наименее нагруженные часы, релиз подразумевал отказ в обслуживании клиентов, а любые проблемы стоили неимоверно дорого, потому что план отхода подразумевал сложные манипуляции с БД и с сопутствующими сервисами. В этой статье я расскажу, как изменить подход к релизам таким образом, чтобы этот процесс становился абсолютно рутинным и не требовал большого количества ресурсов. Замечу, что это не единственно возможный вариант.

В качестве примера я взял приложение, которое использует PostgreSQL в качестве БД и имеет публичный и приватный REST API. Основным клиентом у нас будет SPA, написанное на Angular. И вот со всем этим добром мы попытаемся взлететь :)
Читать дальше →
Всего голосов 46: ↑42 и ↓4+46
Комментарии4

7 советов разработчику из личного опыта

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

Всем привет!

Думаю, что эта статья будет полезна новичкам в мире IT. Опытным разработчикам многие советы могут показаться очевидными. Но я надеюсь, что и они смогут почерпнуть для себя что-то новое и полезное.
Читать дальше →
Всего голосов 45: ↑35 и ↓10+31
Комментарии4

Быть тимлидом, ч.1: Люди

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


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

Читать дальше →
Всего голосов 54: ↑48 и ↓6+49
Комментарии6

Модули в JavaScript

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


Фронтенд-разработчики каждый день используют модули. Это может быть функция из локального файла или сторонняя библиотека из node_modules. Сегодня я кратко расскажу об основных модульных системах в JavaScript и некоторых нюансах их использования.

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

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

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

Всем привет! 

Скажу сразу, эта статья не про очередное переписывание монолита на микросервисы, а о применении микросервисных практик в рамках существующего проекта с использованием интересных, как мне кажется, подходов. Наверное, уже нет смысла объяснять, почему многие проекты активно используют микросервисную архитектуру. Сегодня в IT возможности таких инструментов как Docker, Kubernetes, Service Mesh и прочих сильно меняют наше представление об архитектуре современного приложения, вынуждая пересматривать подходы и переписывать целые проекты на микросервисы. Но так ли это необходимо для всех частей проекта? 

Читать далее
Всего голосов 45: ↑44 и ↓1+48
Комментарии6

Ультимативный гайд по поиску утечек памяти в Python

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

Практика показывает, что в современном мире Docker-контейнеров и оркестраторов (Kubernetes, Nomad, etc) проблема с утечкой памяти может быть обнаружена не при локальной разработке, а в ходе нагрузочного тестирования, или даже в production-среде. В этой статье рассмотрим причины появления утечек в Python-приложениях, доступные инструменты для отладки и мониторинга работающего приложения, а также общую методику поиска утечек памяти.

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

Использование Effector в стеке React + TypeScript

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

В этой статье я поделюсь своим кратким обзором внедрения стейт-менеджера Effector в продуктовый проект на стеке React + TypeScript, а также покажу на примере, как легко это можно сделать.

Читать далее
Всего голосов 48: ↑47 и ↓1+52
Комментарии44

Типовые ошибки Python-разработчиков на собеседованиях

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


Всем привет, сегодня я хотел бы поговорить о некоторых сложностях и заблуждениях, которые встречаются у многих соискателей. Наша компания активно растет, и я часто провожу или участвую в проведении собеседований. В итоге я выделил несколько вопросов, которые многих кандидатов ставят в сложное положение. Давайте вместе рассмотрим их. Я опишу специфические вопросы для Python, но в целом статья подойдет для любого собеседования. Для опытных разработчиков никаких истин тут открыто не будет, но тем, кто только начинает свой путь, будет легче определиться с темами на ближайшие несколько дней.
Читать дальше →
Всего голосов 68: ↑56 и ↓12+50
Комментарии53

Информация

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