Pull to refresh
10
0
Babichev Maxim @REZ1DENT3

Backend developer

Send message

Как ELK довел нас… до Vector.dev и Clickhouse

Level of difficultyHard
Reading time7 min
Views6.6K

Меня зовут Дима Синявский, я SRE-инженер в Vi.Tech — это IT-дочка ВсеИнструменты.ру. В этой статье расскажу я вам о том как мы развивались и с нами развивалась наша система логирования. Почему вам нужен Vector.dev + Clickhouse для хранения и когда это выгодно.

Когда компания была маленькой нам хватало и блокнота, чего сейчас уже не скажешь.
У нас 931 000 пайплайнов в месяц, 4 кластера Kubernetes: от 170 до 190 нод в каждом, и 200 ГБ логов ежедневно.

cat elk-vector.md | more // Прочитать...
Total votes 26: ↑26 and ↓0+29
Comments34

История разработки фасетного поиска средствами PHP

Reading time13 min
Views14K

Как экспериментальный Pet Project дошел до production и на что способны современные версии языка PHP. Немного о проблематике фасетного поиска в части построения агрегатов.

Если ваша первая реакция: «Почему не на Sphinx/ElasticSearch/etc?», не торопитесь с выводами. Воспринимайте изложенное как интересный исследовательский опыт в области возможностей языка и его оптимизаций.

Спойлер: пришлось даже написать порт на GoLang, чтобы лучше понять пути оптимизации кода.

Читать далее
Total votes 51: ↑50 and ↓1+57
Comments6

Как построить систему распознавания лиц с помощью Elasticsearch и Python

Reading time5 min
Views7.6K

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

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

Читать далее
Total votes 8: ↑6 and ↓2+4
Comments2

Я, пират

Reading time17 min
Views277K


Все-таки красные у меня глаза или нет? Кажется не очень. Может так и должно быть? Я внимательно разглядывал себя в зеркало. Нет, всё-таки красные, хоть и не так сильно. Может не стоит уже с утра проверять почту и ходить по всем этим сайтам? Ну напишут там что-то, а я не прочитаю, ну и что такого? Нет, каждый раз просыпаюсь и первым делом туда…

Так начинался фантастический рассказ — антиутопия про один день из жизни программиста в недалёком будущем, написанный мной в 2010 году. Меня просили продолжить, и через какое-то время появились идеи, но всё никак не было времени их реализовать. Однако в связи с последними событиями начинает казаться, что придуманный мной сюжет того гляди может стать реальностью. Поэтому сегодня представляю вам вторую главу. Рисунок был сделан в прошлом году совсем по другому поводу, но он хорошо подошел сюда как иллюстрация.
Читать дальше →
Total votes 228: ↑205 and ↓23+182
Comments70

Algorithms in Go

Reading time2 min
Views5.3K

Most solutions to algorithmic problems can be grouped into a rather small number of patterns. When we start to solve some problem, we need to think about how we would classify them. For example, can we apply fast and slow аlgorithmic pattern or do we need to use cyclic sortpattern? Some of the problems have several solutions based on different patterns. In this series, we discuss the most popular algorithmic patterns that cover more than 90% of the usual problems.

It is different from High-School Algorithms 101 Course, as it is not intended to cover things like Karatsuba algorithm (fast multiplication algorithm) or prove different methods of sorting. Instead, Algorithmic Patterns focused on practical skills needed for the solution of common problems. For example, when we set up a Prometheus alert for high request latency we are dealing with Sliding Window Pattern. Or let say, we organize a team event and need to find an available time slot for every participant. At the first glance, it is not obvious that in this case, we are actually solving an algorithmic problem. Actually, during our day we usually solve a bunch of algorithmic problems without realizing that we dealing with algorithms.

The knowledge about Algorithmic Patterns helps one to classify a problem and then apply the appropriate method.

But probably most importantly learning algorithmic patterns boost general programming skills. It is especially helpful when you are debugging some production code, as it trains you to understand the execution flow.

Patterns covered so far:

Sliding Window I

Sliding Window II

Merge Intervals

Dutch National Flag

Matrix Spiral

Iterative Postorder Traversal

Bit Manipulation

Stay tuned :)

<Promo> If you interested to work as a backend engineer, there is an open position in my squad. Prior knowledge of Golang is not required. I am NOT an HR and DO NOT represent the company in any capacity. However, I can share my personal experience as a backend engineer working in the company. </Promo>

Read more
Total votes 5: ↑4 and ↓1+5
Comments0

Как удалить «неудаляемые» приложения со смартфона

Reading time5 min
Views251K


Чтобы увеличить привлекательность смартфонов, производители ставят на них как можно больше разных программ. Это понятно. Просто берём и удаляем ненужное… Стоп.

Оказывается, некоторые программы невозможно удалить. Например, на отдельных моделях Samsung невозможно удалить Facebook (есть только опция 'disable'). Говорят, на Samsung S9 вдобавок предустановлены «неудаляемые» приложения Microsoft.

Эти смартфоны приведены для примера. Такая же проблема и на других моделях. На многих есть неудаляемые программы от самого производителя.

Всё это надо зачистить.
Читать дальше →
Total votes 156: ↑145 and ↓11+168
Comments203

Опыт инвестиций в акции

Reading time4 min
Views79K
Всем привет. Опрос в моем прошлом посте показал, что людям хотелось бы почитать о моем опыте инвестиций. На данный момент мой ИИС открыт 1 год и 3 месяца назад. Инвестировал я 500 000 рублей за это время.
Читать дальше →
Total votes 39: ↑27 and ↓12+28
Comments165

90+ полезных инструментов для Kubernetes: развертывание, управление, мониторинг, безопасность и не только

Reading time15 min
Views18K

Осенью 2018 года мы опубликовали список из 25 полезных инструментов Kubernetes. С тех популярность платформы сильно выросла. Экосистема оркестрации контейнеров бурно развивается, можно найти вспомогательные инструменты практически для любой задачи.

Поэтому команда Kubernetes aaS от Mail.ru обновила и дополнила подборку. Предлагаем вашему вниманию список с почти сотней полезных инструментов, упрощающих жизнь тем, кто работает с Kubernetes.

Total votes 30: ↑30 and ↓0+30
Comments15

MongoDB Go Driver туториал

Reading time5 min
Views46K

UPD: туториал обновлен в связи с выходом релизной версии.


Хорошие новости! Официальный драйвер go для mongoDB вышел в релиз.
Немного поразмыслив я решил перевести статью с официального сайта mongoDB вместо того, чтобы писать материал самостоятельно(данный перевод отличается от статьи).
Вот что будет в данном туториале:


  • Установка mongo-go-driver
  • Соединение с mongoDB с помощью mongo-go-driver
  • Использование BSON объектов
  • Использование CRUD методов

image

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments12

Миллион WebSocket и Go

Reading time11 min
Views97K

image


Привет всем! Меня зовут Сергей Камардин, я программист команды Почты Mail.Ru.


Это статья о том, как мы разработали высоконагруженный WebSocket-сервер на Go.


Если тема WebSocket вам близка, но Go — не совсем, надеюсь, статья все равно покажется вам интересной с точки зрения идей и приемов оптимизации.

Читать дальше →
Total votes 119: ↑115 and ↓4+111
Comments78

Микросервисы на Go с помощью Go kit: Введение

Reading time12 min
Views55K

В этой статье я опишу использование Go kit, набора инструментов и библиотек для создания микросервисов на Go. Эта статья — введение в Go kit. Первая часть в моем блоге, исходный код примеров доступен здесь.

Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments7

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

Reading time5 min
Views3.4K
Пандемия. Мир массово переключается на remote режим. И если еще пару месяцев назад удаленка была характерна в основном либо для фрилансеров, либо для самых прогрессивных компаний, то сегодня для многих предприятий этот формат стал единственной возможностью продолжать бизнес. И большинство вновь прибывших в эти ряды менеджеров и сотрудников оказались не готовы к такому развитию событий. Так в чем же проблема?

Давайте посмотрим, какие условия должны выполняться, чтобы связка “удаленный сотрудник — руководитель” заработала:

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

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

В этой статье я обобщила свой собственный опыт руководства и те знания и навыки, которые затем получила, работая в области развития soft skills для лидеров и их команд. В настоящий момент я развиваюсь как iOS-разработчик, и имею возможность взглянуть на проблему и от лица члена IT-сообщества.
image
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments6

Собеседование здорового человека

Reading time4 min
Views98K
Эта статья написана как ответ на статью «Собеседование в Додо Пиццу» со стороны разработчика с опытом синьора. Я не претендую на истинность суждений, мне хотелось бы выразить довольно популярное среди моих знакомых мнение о процессе найма в частности и жизни разработчика в целом.
Читать дальше →
Total votes 291: ↑277 and ↓14+327
Comments473

Планирование за час и другие оптимизации scrum ивентов

Reading time7 min
Views9.5K
image
Чистый скрам — как единорог на музыкальном фестивале: вроде бы он существует, все о нём говорят, только вот показать тебе его никто не может. Так же сложилось и у нас в команде, об этом и поговорим. А если конкретнее — о том, как мы сократили время на встречи и не потеряли пользу от них.
Читать дальше →
Total votes 18: ↑17 and ↓1+28
Comments10

Помоги компилятору помочь тебе

Reading time18 min
Views49K

Предисловие


Современные компиляторы обладают огромным количеством диагностик. И удивительно, что очень малая их часть включена по умолчанию.


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


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

Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments53

Создаем интернет-магазин на Nuxt.js 2 пошаговое руководство Часть 2

Reading time13 min
Views17K


Первая часть тут


Продолжаем разработку нашего интернет магазина. В этой части будет:


  • нормальная загрузка картинок по статическим адресам
  • генерация хлебных крошек на клиенте
  • страница товара
  • шапка
  • рабочая кнопка купить с синхронизацией товаров между вкладками (и сессиями)
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments10

Как в одиночку запустить продукт, если вы разработчик: советы от создателя Laravel Тейлора Отвела. Часть 1: Аудитория

Reading time5 min
Views13K


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


Лучше брать пример с Тэйлора Отвела, который создавал Laravel в свободное от основной работы время. В ноябре он опубликовал мини-серию подкастов, в которой поразмыслил над успехом своих программных продуктов — за последние 5 лет они принесли ему больше 10 млн долларов. В четырех выпусках подкаста Тейлор поделился советами, которые затрагивают ряд тем от поиска идеи и формирования лояльной аудитории до сохранения мотивации и преданности качеству.


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

Итак, поехали.

Читать дальше →
Total votes 26: ↑24 and ↓2+32
Comments13

Как в одиночку запустить продукт, если вы разработчик: советы от создателя Laravel Тейлора Отвела. Часть 2: Поиск идеи

Reading time5 min
Views16K


В прошлом выпуске мы рассматривали различные способы формирования аудитории. Когда есть аудитория — есть потенциальные покупатели. Теперь осталось придумать, что им продавать.

Откуда брать идеи для своего продукта?
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments3

Как в одиночку запустить продукт, если вы разработчик: советы от создателя Laravel Тейлора Отвела. Часть 3: Не сдаваться

Reading time4 min
Views7.2K


В предыдущих выпусках мы обсудили, как формировать аудиторию и где искать идеи для своего продукта. Но есть еще одна важная вещь, о которой меня часто спрашивают. Как сохранять мотивацию и доводить дело до конца. Сразу оговорюсь, что волшебной пилюли не существует, лично мне помогало следующее:
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments7

Telegram-бот для управления инфраструктурой

Reading time26 min
Views71K
image

По мотивам статьи Телеграмм-бот для системного администратора (статья не моя, я только прочитал) захотел поделиться опытом создания Telegram-бота на PowerShell для управления серверами приложений. Будет текст, код и немножко картинок. Конструктивная критика приветствуется ( главное чтобы не звучало «зачем на PowerShell? Надо было на perl» ).

Думаю что статья больше подойдет «новичкам» в PowerShell, но и опытные администраторы могут что-то полезное здесь увидеть.

Саму статью старался построить по частям – от простого к сложному. Возможно, встретится плагиат, будьте бдительны!

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

  • Простота добавления/изменения задач в Telegram-бот
  • Многозадачность или параллелизация
  • «Понятный» интерфейс управления
  • Хоть какая-то безопасность
Читать дальше →
Total votes 15: ↑13 and ↓2+15
Comments31
1
23 ...

Information

Rating
Does not participate
Location
Краснодар, Краснодарский край, Россия
Date of birth
Registered
Activity