Как стать автором
Обновить
0
0

Пользователь

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

Осваиваем чистую архитектуру кода на Golang: практическое руководство по сущностям и слоям моделей

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

В архитектуре кода иногда разделяют слой сущностей и слой моделей. В этой статье я расскажу о них и приведу два примера кода на языке Golang.

Читать далее
Всего голосов 15: ↑11 и ↓4+10
Комментарии3

Как управлять тимлидами

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

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

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

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

Как сохранить команду разработчиков, если не хочется платить больше?

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

Полтора года в нашей компании длился эксперимент, в котором участвовали 150 сотрудников. Он показал, что при разнице уровней оклада в 10-14% по сравнению с рынком разумеется не в нашу сторону специалисты от среднего до высокого уровня готовы продолжать работу при условии наличия программы заботы об их здоровье.
Иными словами, если вы не можете или не хотите платить своим сотрудникам столько, сколько платит рынок, и это "нежелание" не превышает 14%, то вы можете выдавать витамин D, что сокращает выгорание, и как следствие — текучесть кадров.

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

Как обрабатывать ошибки в Golang – рассказываем на собственном примере

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

Ошибки это один из самых важных аспектов любого языка программирования. То, как обрабатываются ошибки, влияет на приложения многими способами. То, как определяются ошибки в Golang, немного отличается от таких языков как Java, Python, Javascript. В Go ошибки – это значения.

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

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

Алерты Grafana в виде кода: Начните работу с Terraform и Grafana Alerting

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

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

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

Автоматизируйте всё с помощью Ansible

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

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

В этом посте мы рассмотрим, как Ansible может помочь вам автоматизировать всё в вашей инфраструктуре.

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

Infrastructure as a Code: ожидания и реальность

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

Есть такие ребята — SRE (с англ. Site Reliability Engineering), которые выросли из старых добрых и бородатых системных администраторов. Но они устали заниматься ежедневной рутиной и решили всё автоматизировать. Именно поэтому 50% времени SRE пишут код.

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

Решаем вечную проблему deployment bottleneck и репликации окружений

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

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

Подробнее
Всего голосов 3: ↑3 и ↓0+3
Комментарии7

Коварство метрик памяти Kubernetes (и cgroups)

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

В этой статье мы рассмотрим память внутри контейнера Kubernetes. Какие есть основные типы памяти, как они управляются и какие коварные моменты с ними связаны. В этой статье вы узнаете ответы на интересные вопросы:

Какие метрики памяти считаются неправильно?

Сколько раз надо прочитать файл, чтобы он хорошо закешировался?

Какую память учитывает Out-of-memory killer?

Начать погружение в дебри памяти
Всего голосов 37: ↑37 и ↓0+37
Комментарии15

Под капотом: как работает мгновенный поиск перелетов

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

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

Этот материал будет интересен тем, кто имеет дело с масштабируемыми сервисами, написанными на Go и развернутыми в Kubernetes, и тем, кто так или иначе связан с поисковыми системами. Я расскажу об интеграции наших собственных сервисов с Amazon SQS и базами данных - как внутренними, так и сторонними.  

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

D&D как инструмент тимлида: решаем проблемы команды с помощью разговорных ролевых игр

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

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

Команда разработки и вообще любая группа людей — это сложный клубок из межличностных отношений и персональных компетенций. Я руковожу командами разработки и эксплуатации уже 8 лет, и за это время встречался с разными командными проблемами. Хочу предложить вам свою методологию их решения при помощи разговорных ролевых игр (РРИ).

Под катом вас ждет:

История о том, как я сам пришёл к тому, чтобы проводить РРИ для коллег.

Краткий рассказ о том, что из себя представляют такие игры.

Примеры решения реальных командных задач.

Полная методология подготовки и проведения игры. Полезно будет вам и вашему мастеру.

Вперёд к приключениям
Всего голосов 99: ↑96 и ↓3+107
Комментарии33

Вас много, а я одна: обзорная система мониторинга на Prometheus и Grafana

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

Привет, Хабр! Меня зовут Сева, я работаю backend-разработчиком в Doubletapp, а также занимаюсь некоторыми devops-задачами. В этой статье я расскажу о мониторинге наших backend-приложений: сборе метрик, их визуализации и отправке уведомлений. Покажу примеры конфигов с подробными комментами и дам ссылки на гитхаб.

Содержание:
Конфигурация Prometheus
Сбор метрик
Дашборды для визуализации метрик в реальном времени
Настройка уведомлений

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

Автоматическое масштабирование потребителей Symfony в Kubernetes [Практическое руководство]

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

Мы в Debricked уже достаточно давно используем Symfony на нашем веб-сервере. За все это время он очень хорошо послужил нам, и когда разработчики Symfony анонсировали компонент Messenger в Symfony 4.1, мы уже с нетерпением ждали, когда сможем опробовать его. С тех пор мы использовали этот компонент для отправки электронных писем в асинхронную очередь.

Однако недавно у нас возникла необходимость вынести обработку событий GitHub, которые мы получаем из нашей интеграции с GitHub, из нашего веб-сервера в отдельный микросервис (чтобы повысить производительность). Мы решили прибегнуть к паттерну производитель/потребитель (producer/consumer), который предоставляет компонент Messenger, поскольку он позволит нам асинхронно отправлять различные события в очередь, а затем немедленно подтверждать их прием в GitHub.

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

Как заонбордиться тимлиду — первые 90 дней на новой работе

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

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

Ещё дадим несколько советов на тот случай, если всё-таки не удаётся показать результат за отведённое время.

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

Как построить систему аналитики с BI-дашбордами в компании

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

Всем привет!

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

Ещё отмечу, что это не какие-то мои наработки, а лучшие практики рынка, которые я решила собрать в одном месте. Поэтому ссылок будет много)

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

Начнём с того, что я поздравляю вас(потому что начинается всё самое интересное), если наступил тот счастливый момент, когда ваша компания настолько подросла, что для дальнейшего развития, ей просто необходимо познакомиться с целями внедрения системы аналитики:

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

Создаём репозиторий в Go через менеджер транзакций

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

Всем привет, я Илья Сергунин, веб-разработчик из продуктовой команды Авито. Мы пишем на Go сервис для трейд-ин мобильных телефонов. На его примере покажу, как устроен наш менеджер транзакций.

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

Управлять инструментом, который управляет всем: наш путь к GitOps

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

Вадим Гедзь, ведущий DevOps инженер, Dyninno Technologies

Всем привет! Сегодня я хотел бы рассказать о том, как в компании, где я работаю, происходит переход к GitOps. В команде разработки больше 300 человек, поэтому остро стоит вопрос управления конфигурациями и непрерывной интеграции кода. В этом кейсе я расскажу о том, как при переходе на GitOps мы исключили дрифт конфигурации между git репозиториями и инфраструктурой, отмечу преимущества и недостатки ArgoCD, как решили задачу secret management при использовании ArgoCD. Также затрону вопрос обратной связи после того, как Docker Image залит в Docker Register и до того, как ArgoCD начинает deployment, рассказав, как мы с коллегами в свое свободное время написали сервис Argo Watcher. 

Эта статья может быть интересна тем, кто задумывается о внедрении GitOps в свою инфраструктуру.

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

Как составить стратегическую карту компании по методу «снизу-вверх»

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

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

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

Научиться рисовать стратегические карты
Всего голосов 1: ↑1 и ↓0+1
Комментарии8

Немного о принципах организации офисных пространств для ИТ-команд и пара историй про наш офис

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

Привет, Хабр! Меня зовут Юля. Почти два года назад IT-команда Россельхозбанка переехала в новый офис для разработчиков, пространство которого мы проектировали практически с нуля. Пережив все это, решили поделиться парой основных принципов организации рабочих пространств для agile-команд, опенспейсов и сателлитных зон, а также всякими мелочами, которые помогут улучшить рабочую атмосферу и повысить производительность. Ну и рассказать немного деталей про сам офис.

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

Как устроены интернет-платежи: вопрос—ответ

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

Привет! В одном из недавних постов ребята из Додо разбирали устройство интернет‑платежей и в самом конце текста задались десятком вопросов по теме. Меня зовут Антон, я IT‑менеджер в продукте Эквайринга, и мне удалось собрать знающих ребят в QIWI, чтобы довольно подробно ответить на эти вопросы.

Предложение пообщаться

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

@aurokk

Что получилось — под катом.

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность