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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Умный дом из пыльного планшета

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

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

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

На пути к тестируемому инфраструктурному коду

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

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

Сейчас я пишу больше инфраструктурного кода: утилиты бэкапов, скрипты мониторинга, Kubernetes-манифесты, Ansible-плейбуки, Terraform-модули, и, чуть не забыл, CI/CD. Иногда он бывает простым, иногда странным, но чаще — нетестируемым. Инфраструктурный код — это код в мешке: пока не запустишь — не узнаешь, что случится. В среднем я делаю 10—20 запусков пайплайна в Jenkins, чтобы довести код CI до рабочего состояния.

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

Сейчас расскажу, как можно все эти беды свести к минимуму.

Давай! Ура, давай!
Всего голосов 23: ↑23 и ↓0 +23
Комментарии 2

Снижение тепловыделения ноутбука в 2022 году

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

Однажды я купил ноутбук Dell, да не простой, а XPS, о котором мечтал давным-давно, и хотя это была не компактная 13”-14” модель, а 15”, это не помешало ему стать моей верной рабочей лошадкой. Спустя некоторое время ноутбук начал греться и шуметь вентиляторами, в том числе во время простоя. В какой-то момент он просто начал жарить мои штаны.

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

Штаны Well Done
Всего голосов 36: ↑32 и ↓4 +28
Комментарии 74

Итераторы в Python для самых маленьких

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

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

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

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

Автоматическая расстановка мебели: миф или реальность?

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

Всем привет! Мы — команда Smart vision в Домклик, и мы предлагаем нашим клиентам различные инструменты для помощи в подборе жилья, чтобы им было как можно комфортнее. Один из таких инструментов — автоматическая расстановка мебели, чтобы наши пользователи смогли посмотреть на трёхмерную квартиру с обстановкой и лучше понимали размеры помещения. Пока программа доступна в тестовом контуре внутри экосистемы Домклик. Мы не рассматриваем этот алгоритм в качестве инструмента для идеальной расстановки мебели, это лишь помощь клиенту в расстановке мебели для дальнейшей работы с ней.

Есть много статей о решении этой задачи: с применением GAN, который генерирует на плане помещения цветовую область для размещения мебели; с помощью классических методов на основе набора правил; или с помощью более редких графовых методов. Но все существующие методы объединяет объединяет то, что все они или не реализованы (либо находятся в закрытом доступе), или не учитывают, например, окна и двери, а также тип помещения (гостиная, спальня, детская, кухня, санузел и т.д.). Мы постарались избавиться от этих недостатков в своём инструменте.

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

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

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

Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. В серии статей мы поэтапно разработаем продвинутое приложение-планировщик. Сначала создадим и настроим монорепозиторий c помощью NX, разработаем интерфейс с помощью React, добавим backend на основе NestJS, и, наконец, подключим базу данных MongoDB.

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

Драма об одарённых детях, или Откуда растут ноги у выгорания молодых кадров

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

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

Другая история: мой близкий человек Л. пошла в школу в 5 лет, училась отменно, без проблем запоминала стихи, обладала фотографической памятью, едва не перешагнула через класс. Все только и говорили, «какой колоссальный у неё потенциал». Спустя год после выпуска Л. вылетела из одного колледжа, потом из второго. На частных курсах и мастер-классах она постоянно выгорает, сейчас обучение даётся ей с непосильным трудом.

Ещё я помню, как Игорь учился на «отлично» почти по всем предметам (кроме, пожалуй, физкультуры), как школа отправляла его на олимпиады по информатике, а вне уроков он преуспевал на различных кружках. Конечно, он не всегда интересовался тем или иным занятием, но если что-то захватывало его, то он захватывал это в ответ. При этом его хвалили учителя, а родители называли «талантливым». Спустя несколько лет после выпускного Игоря, возможно, ещё можно назвать талантливым специалистом, но в нём нет прежней энергии. Он не интересуется новыми науками, разочаровывается во всём, за что берётся, с трудом сосредотачивается, и вообще вымотан.

Читать далее
Всего голосов 69: ↑61 и ↓8 +53
Комментарии 79

Интеграционное тестирование микросервисов Spring Boot в монорепозитории

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

Привет, Хабр! С ростом количества микросервисов и их взаимосвязей может возникнуть потребность комплексной проверки работоспособности системы. Со временем API сервисов и их поведение может дорабатываться и изменяться, при этом хочется иметь уверенность, что система микросервисов в совокупности ведёт себя согласно ожиданиям. Мы разберём простой пример написания интеграционных тестов, которые в дальнейшем можно встроить в CI/CD-процесс для решения подобной проблемы.

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

Потерять хорошего тимлида, приобрести плохого директора

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

Всем привет, меня зовут Семён, я руковожу разработкой витрины объектов недвижимости в Домклик. Занимал должности от разработчика до директора в разных компаниях и разных странах, проходил этот путь несколько раз и не понаслышке знаю, каково это — выходить из зоны комфорта и в корне менять род занятий. Так, например, происходит при переходе с роли разработчика на роль тимлида. Но сегодня я хочу обсудить следующий возможный шаг в карьере тимлида — переход на директорскую (executive) должность. Он таит в себе много вызовов и неожиданностей. Статья будет интересна тем, кто собирается сделать такой карьерный шаг, а также новоиспечённым СТО, viceCTO, техдирам и прочим Е-level технарям. Прошу под кат.

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

Информация

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