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

Как в рутине задач находить время на disrupt

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 1.5K
Блог компании Домклик Прототипирование *Управление проектами *Agile *Управление продуктом *
Кейс

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

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

Тебе не нужно классическое ООП в твоём бэкенд микросервисе

Время на прочтение 24 мин
Количество просмотров 14K
Блог компании Домклик Python *Проектирование и рефакторинг *ООП *Функциональное программирование *

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

Читать далее
Всего голосов 51: ↑46 и ↓5 +41
Комментарии 55

Особенности работы с русской кодировкой при загрузке файлов через aiohttp

Уровень сложности Средний
Время на прочтение 2 мин
Количество просмотров 2K
Блог компании Домклик Python *
Кейс

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

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

Вы — не сеньор в программной инженерии

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 6K
Блог компании Домклик Управление разработкой *Карьера в IT-индустрии
Мнение
Перевод

Создаётся впечатление, что программные инженеры получают свои звания произвольным образом. С самого начала, как вы начинаете работать, вы мечтаете о звании сеньора. Многие, особенно не стремящиеся руководить или основать стартап, считают это вершиной успеха. Но как получают это звание? Если что-то нельзя измерить, отследить или объективно оценить, значит, мы это просто придумываем. Соглашусь, что это немного эфемерно, но всё же не произвольно. Я в этой отрасли 11 лет, поработал с инженерами всех уровней, и скажу вам вот что: ваш уровень специалиста — это разница между вашими знаниями и опытом.

Читать далее
Всего голосов 37: ↑28 и ↓9 +19
Комментарии 14

Yet another введение в fp-ts. Часть 1. Эквивалентность и сравнимость

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 2.4K
Блог компании Домклик TypeScript *

Что такое монада? Душнила ответит: “Это моноид в категории эндофункторов”, и будет абсолютно прав. Вопросов появляется ещё больше: “Что такое моноид?”, “Что такое категория?”, “Что такое эндофунктор?”. В эту же секунду человека сковывает первородный ужас, сошедший со страниц рассказов Г. Ф. Лавкрафта, инстинкт самосохранения кричит: “Беги!” Интересный собеседник, обладающий эмпатией, приобнимет и скажет: “Бро, это же просто контейнер для какого-то значения, способный соединяться в цепочки таких же контейнеров. Ты же пишешь фронтенд? Или бэк на ноде? В холодильнике пиво, угощайся, а я тебе расскажу про библиотеку fp-ts и разные клёвые штуки из функционального программирования.

Для js-а существуют тонны библиотек, поддерживающих функциональный стиль программирования. Lodash, Ramda, Sanctuary — это то что сразу приходит в голову. В эпоху Typescript писать без типобезопасности уже моветон. Ни Lodash, ни Ramda типобезопасность не обещают, Sanctuary проверяет типы в рантайме, что требует дополнительных накладных расходов. Fp-ts изначально написан на typescript и помимо фич функционального программирования предлагает изящную проверку типов. Эта интересная библиотека реализует множество концепций из статически типизированных функциональных языков семейства ML, таких так Haskell, Ocaml и Scala. В fp-ts всё прекрасно, кроме документации и практических примеров использования. Моя задача как раз подсветить эти тёмные углы, а также показать несколько практических примеров.

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

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

Как мы катили roBERT'у в прод по полю граблей

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 1.3K
Блог компании Домклик Машинное обучение *Data Engineering *
Кейс

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

Читать далее
Всего голосов 29: ↑28 и ↓1 +27
Комментарии 3

Как девять женщин могут родить ребёнка за месяц

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 12K
Блог компании Домклик Анализ и проектирование систем *Управление разработкой *Управление проектами *Управление персоналом *
Ретроспектива

2022 год научил нас быстро менять приоритеты для оперативного реагирования на внешние факторы. В наших целях была зафиксирована ключевая задача по отказу от софта вендора в пользу собственных решений, разработанных на основе микросервисной архитектуры. Стоял вполне комфортный срок: полностью завершить переход до конца года, и команды планомерно шли к этой цели, наряду с разработкой менее масштабных, но тоже важных фич. Но в связи со вполне реальными рисками преждевременного ухода вендора из РФ сроки доработок сократились с полугода до одного месяца (почти как в известной шутке про невозможность родить ребёнка ранее, чем через 9 месяцев, сколько людей для этого процесса не привлекай). Ниже я опишу наш опыт мобилизации и решения поставленных задач в нереалистичные сроки.

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

Rush.js — как можно значительно ускорить сборку ваших проектов, используя кеширование

Время на прочтение 6 мин
Количество просмотров 1.5K
Блог компании Домклик Системы сборки *
Туториал

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

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

Пишем продвинутый планировщик с использованием React, Nest и NX. Часть 3: работа с задачами

Время на прочтение 8 мин
Количество просмотров 2.6K
Блог компании Домклик Node.JS *MongoDB *ReactJS *TypeScript *
Туториал

Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. В прошлой части мы разобрали, как создать аутентификацию с помощью библиотеки Passport, а сегодня мы рассмотрим такие манипуляции, как добавление, редактирование, удаление и получение задач. Для начала давайте разберём HTTP и некоторые типы запросов.

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

Конфигурирование BGP на Juniper MX

Время на прочтение 8 мин
Количество просмотров 2.4K
Блог компании Домклик IT-инфраструктура *Сетевые технологии *Сетевое оборудование
Туториал

Привет, мимо пробегающий читатель!

В прошлой статье я обмолвился, что, возможно, опишу конфигурацию присутствующих в решении маршрутизаторов Juniper MX204. Близится конец года, и напоследок я решил написать небольшую статью на эту тему.

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

Как я Jest с помощью SWC ускорял

Время на прочтение 7 мин
Количество просмотров 3.4K
Блог компании Домклик Разработка веб-сайтов *JavaScript *Тестирование веб-сервисов *Системы сборки *

За последние пару лет не раз можно было услышать про новые инструменты
сборки статики, такие как SWC, esbuild и Vite. Все они обещают нам next
gen-оптимизацию времени сборки, а SWC ещë и грозится оптимизировать
скорость выполнения тестов на Jest; более того, судя по документации,
сделать это очень просто. Я решил проверить, так ли это на самом деле и
каким будет результат. Если вам интересно, что из этого получилось и
какие были проблемы, то прошу под кат.

Начать читать под чашечку кофе
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 6

Самое подробное руководство по установке высокодоступного (почти ಠ ͜ʖ ಠ ) Kubernetes-кластера

Время на прочтение 22 мин
Количество просмотров 11K
Блог компании Домклик DevOps *Kubernetes *
Туториал
✏️ Технотекст 2022

В предыдущей статье я рассказывал, как построить простой кластер Kubernetes с одним мастер-узлом. Прошло время, опали листья... и мне захотелось большего, поэтому решил позариться на высокодоступные кластеры. В интернете много статей о том, как построить подобное решение, и давайте даже опустим тот факт, что многие из них уже устарели. Одно дело — установить кластер, а как же обслуживание: удаление, добавление, замена узлов? Про это и не вспоминают! В итоге оказалось, что не всё так просто, и вот, спустя больше ста установок, удалений и замен, у меня получилось собрать подробнейшее руководство по установке и, главное, обслуживанию highly available кластера с помощью Kubespray.

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

Добавляем в Go-проект конфигурацию на языке Terraform

Время на прочтение 10 мин
Количество просмотров 4.1K
Блог компании Домклик Go *

Конфигурирование приложений — это интересная тема. Мало того, что форматов конфигурации в сообществе инженеров много, ситуация осложняется тем, что выбор того или иного языка определяет, как вашим приложением будут пользоваться люди. Инженеры, которые будут выкладывать ваш бэкенд в абстрактную dev- или prod-среду, будут смотреть на ваше приложение как на чёрный ящик с одной лишь ручкой: механизмом настроек.

Я, как инженер, встречал удобные и не очень текстовые конфигурации: conf в Nginx, ini в systemd, JSON в VSCode… А также YAML. Он не стал новым словом в языках, но показал, какой красивой может быть конфигурация. Впрочем, сам по себе язык тупой как пробка: если вы попробуете писать на YAML что-то сложное, с переменными или циклами, то получится химера вроде Ansible. Или вроде манифестов Kubernetes, у которого диалект настолько переусложнён, что его приходится шаблонизировать с помощью Helm.

Да, как понятно из заголовка, я хочу поговорить про язык Terraform, но сначала…

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

Настраиваем память JVM-приложения в Kubernetes

Время на прочтение 6 мин
Количество просмотров 12K
Блог компании Домклик Программирование *Java *Kotlin *Kubernetes *

Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на  использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.

 

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

Динамическая маршрутизация на основе FRRouting

Время на прочтение 6 мин
Количество просмотров 8.2K
Блог компании Домклик Open source *IT-инфраструктура *
Туториал

Приветствую, дорогой читатель!

Меня зовут Евгений, я занимаюсь развитием сетевой инфраструктуры в Домклик. Сегодняшняя статья будет охватывать только применение динамической маршрутизации на основе FRRouting (FRR), но, возможно, в будущем я напишу продолжение о том, как конфигурировать другое оборудование, которое вы встретите в тексте.

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

Визуализация алгоритмов сортировки

Время на прочтение 28 мин
Количество просмотров 16K
Блог компании Домклик JavaScript *Алгоритмы *Визуализация данных *ReactJS *
Туториал

Приветствую всех, уважаемые читали! Меня зовут Сергей Семенов, я frontend-разработчик в компании Домклик. Эта статья посвящена созданию интерактивного приложения для визуализации алгоритмов сортировки. Надеюсь, многим из вас тема покажется интересной. Уверен, что вы успешно пройдёте через все этапы разработки и пополните свою копилку пет-проектов.

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

Основные изменения React 18

Время на прочтение 4 мин
Количество просмотров 11K
Блог компании Домклик ReactJS *

Привет, меня зовут Кристина, я фронтенд-разработчик в Домклик. Хочу рассказать немного про основные изменения React 18.

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

Пишем продвинутый планировщик с использованием React, Nest и NX. Часть 2: аутентификация

Время на прочтение 10 мин
Количество просмотров 5K
Блог компании Домклик Node.JS *MongoDB *ReactJS *TypeScript *
Туториал

Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. В прошлой части мы разобрались, как настроить и запустить проект, а сегодня продолжим создавать наш планировщик и поэтапно разберём создание аутентификации с помощью библиотеки Passport.

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

Поздравляю с новой работой

Время на прочтение 7 мин
Количество просмотров 20K
Блог компании Домклик Управление персоналом *Карьера в IT-индустрии Подготовка технической документации *
Перевод

Недавно я сменил работу и, как все новички, столкнулся с трудностями адаптации на новом месте. Предыдущие 5 лет я работал в одной компании и выступал стороной, принимающей людей в команду. И вот мне довелось побывать на их месте.

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

Читать далее
Всего голосов 53: ↑48 и ↓5 +43
Комментарии 27

Выкатываем сервис в production: 6 шагов к успешному релизу

Время на прочтение 5 мин
Количество просмотров 5K
Блог компании Домклик Разработка веб-сайтов *Программирование *

Существует много руководств и инструкций по созданию базовых бекенд-приложений. Также в сети можно найти пошаговые tutorial по сборке приложения и развёртыванию на сервер, либо подробные инструкции для популярных CI/CD-инструментов. Описанных в них шагов достаточно для запуска pet-проектов, но для полноценных приложений, которые должны будут выдержать пиковые нагрузки от большого количества пользователей и при этом бесперебойно работать, нужна более детальная и качественная подготовка. Ниже я опишу шаги, которые обязательны для инженеров из моих команд при первом развёртывании веб-приложения в production и при дальнейшей выкатке крупных фич.

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

Информация

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