Как стать автором
Обновить
Иван Филатов @NYMEZIDEread⁠-⁠only

Разработчик

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

Как мы строили мониторинг на Prometheus, Clickhouse и ELK

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

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


image


Краеугольный камень, лежащий в основе любой системы мониторинга — решение задач бизнеса. Мониторинг ради мониторинга никому не интересен. А чего хочет бизнес? Чтобы все работало быстро и без ошибок. Бизнес хочет проактивности, чтобы мы сами выявляли проблемы в работе сервиса и максимально быстро их устраняли. Это, по сути, и есть задачи, которые я решал весь прошлый год на проекте одного из наших заказчиков.

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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №360 (7 — 14 апреля 2019)

Время на прочтение4 мин
Количество просмотров13K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Кстати, на днях этому дайджесту исполнилось 7 лет. Спасибо всем причастным :)


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

RBKmoney Payments под капотом — логика работы платежной платформы

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


Привет, Хабр! Продолжаю публикацию цикла про внутренности платежной платформы RBK.money, начатую в этом посте. Сегодня речь пойдет про логическую схему процессинга, конкретные микросервисы и их взаимосвязь друг с другом, как логически разделены сервисы, обрабатывающие каждый свой кусок бизнес-логики, почему ядро процессинга ничего не знает про номера ваших платежных карт и как внутри платформы бегают платежи. Также, чуть более подробно раскрою тему о том, как мы обеспечиваем высокую доступность и масштабирование для обработки высокой нагрузки.

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

Архитектурный шаблон “Macro Shared Transactions for Microservices”

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


Автор: Денис Цыплаков, Solution Architect, DataArt

Постановка задачи


Одной из проблем при построении микросервисных архитектур и особенно при миграции монолитной архитектуры на микросервисы часто становятся транзакции. Каждый микросервис отвечает за собственную группу функций, возможно, управляет данным, ассоциированными с этой группой, и может обслуживать запросы пользователя либо автономно, либо посылая запросы другим микросервисам. Все это прекрасно работает, пока нам не требуется обеспечить консистентность данных, которыми управляют разные микросервисы.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии11

Дайджест свежих материалов из мира фронтенда за последнюю неделю №358 (25 — 31 марта 2019)

Время на прочтение3 мин
Количество просмотров13K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


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

Триллион маленьких шинглов

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


Источник изображения:www.nikonsmallworld.com


Антиплагиат – это специализированный поисковик, о чем уже писали ранее. А любому поисковику, как ни крути, чтобы работать быстро, нужен свой индекс, который учитывает все особенности области поиска. В своей первой статье на Хабре я расскажу о текущей реализации нашего поискового индекса, истории его развития и причинах выбора того или иного решения. Эффективные алгоритмы на .NET — это не миф, а жесткая и продуктивная реальность. Мы погрузимся в мир хеширования, побитового сжатия и многоуровневых кешей с приоритетами. Что делать, если нужен поиск быстрее, чем за O(1)?


Если кто-то еще не знает, где на этой картинке шинглы, добро пожаловать…


Читать полностью
Всего голосов 36: ↑34 и ↓2+32
Комментарии41

DynamicData: Изменяющиеся коллекции, шаблон проектирования MVVM и реактивные расширения

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


В феврале 2019 года состоялся релиз ReactiveUI 9  —  кроссплатформенного фреймворка для построения приложений с GUI на платформе Microsoft .NET. ReactiveUI  — это инструмент для тесной интеграции реактивных расширений с шаблоном проектирования MVVM. Знакомство с фреймворком можно начать с серии статей на Хабре или со вступительной страницы документации. Обновление ReactiveUI 9 включает в себя множество исправлений и улучшений, но, пожалуй, самое интересное и значимое изменение — тесная интеграция с фреймворком DynamicData, позволяющим работать с изменяющимися коллекциями в реактивном стиле. Попробуем разобраться, в каких случаях нам может пригодиться DynamicData и как устроен внутри этот мощный реактивный фреймворк!
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии4

Новый алгоритм в 200 раз ускоряет автоматическое проектирование нейросетей

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


ProxylessNAS напрямую оптимизирует архитектуры нейронных сетей для конкретной задачи и оборудования, что позволяет значительно увеличить производительность по сравнению с предыдущими прокси-подходами. На наборе данных ImageNet нейросеть проектируется за 200 GPU-часов (в 200−378 раз быстрее аналогов), а автоматически спроектированная модель CNN для мобильных устройств достигает того же уровня точности, что и MobileNetV2 1.4, работая в 1,8 раза быстрее.

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

Алгоритмы для автоматического проектирования систем машинного обучения — новая область исследований в сфере ИИ. Такая техника называется «поиск нейронной архитектуры (neural architecture search, NAS) и считается трудной вычислительной задачей.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии1

Технические отличия BI систем (Power BI, Qlik Sense, Tableau)

Время на прочтение13 мин
Количество просмотров89K
Время необходимое на прочтение 11 минут

Мы и Квадрат Гартнера 2019 BI :-)


Целью данной статьи является сравнение трёх ведущих BI платформ, которые находятся в лидерах квадранта Gartner:
— Power BI (Microsoft)
— Tableau
— Qlik

image
Рисунок 1. Gartner BI Magic Quadrant 2019

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

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

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

Выделим несколько направлений для анализа и оценим по 3 бальной системе:
— Порог вхождения и требования к аналитику;
— Источники данных;
— Очистка данных, ETL (Extract, Transform, Load)
— Визуализации и разработка
— Корпоративная среда — сервер, отчеты
— Поддержка мобильных устройств
— Embedded (встроенная) аналитика в сторонние приложения/сайты

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

Версионность и история данных

Время на прочтение5 мин
Количество просмотров128K
При разработке баз данных зачастую требуется обеспечить поддержку версионности и хранения истории объектов. Например, у работника может изменяться должность, у должности в свою очередь может меняться оклад — в многомерном моделировании это называется Slowly changing dimensions(далее SCD) — редко изменяющиеся измерения, то есть измерения, не ключевые атрибуты которых имеют тенденцию со временем изменяться. Всего существует 6 основных типов(методов) SCD, которые определяют как история изменений может быть отражена в модели.

Подробнее...
Всего голосов 64: ↑62 и ↓2+60
Комментарии50

ReLEx SMILE: Как не ошибиться в прогнозах

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

Привет, давайте сегодня снова поговорим про ReLEx SMILE, только на этот раз немного в другом ключе. Я хочу затронуть достаточно интимную для многих клиник сферу — реальные результаты лечения. На самом деле, когда мы говорим о статистике, связанной с коррекцией зрения, одним из ключевых показателей является не финальная острота зрения в абсолютных цифрах. Как это принято в любых исследованиях, врачи обязательно нормализуют полученные данные.

Представьте себе гипотетическую ситуацию, когда на прием приходит одновременно девушка с небольшой близорукостью в -1.0D и парень со сложнейшим астигматизмом и близорукостью в -10 D. Если парню не повезло с толщиной роговицы, то хирург заранее будет понимать, что речь пойдет не о восстановлении зрения до исходных 100%, а, скажем, до 87%. Причем прогноз будет тщательно рассчитан еще на этапе принятия пациентом решения. Поэтому, ключевым показателем при сравнении подобных разнородных случаев будет точность попадания в заранее спроектированный результат, а не абсолютные цифры.

Давайте еще раз пробежимся по особенностям метода ReLEx SMILE и потом я покажу вам результаты одного из наших исследований.
Всего голосов 33: ↑32 и ↓1+31
Комментарии49

Использование Fastify и Preact для быстрого прототипирования веб-приложений

Время на прочтение11 мин
Количество просмотров18K
Автор материала, перевод которого мы сегодня публикуем, хочет поделиться рассказом о том, какими технологиями он пользуется для быстрой разработки прототипов веб-приложений. В число этих технологий входят библиотеки Fastify и Preact. Он, кроме того, пользуется библиотекой htm. Она легко интегрируется с Preact и используется для описания элементов DOM с использованием понятных конструкций, напоминающих JSX. При этом для работы с ней не нужен транспилятор вроде Babel. Продемонстрировав инструментарий разработки прототипов и методику работы с ним, автор материала покажет как упаковывать такие приложения в контейнеры Docker. Это позволяет легко демонстрировать приложения всем, кому они интересны.


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

Разворачиваем Kubernetes на десктопе за несколько минут с MicroK8s

Время на прочтение5 мин
Количество просмотров47K
Начать работать с Kubernetes не всегда бывает просто. Не у всех есть необходимая для разворачивания полноценного кластера Kubernetes инфраструктура. Для локальной работы Kubernetes предлагет утилиту Minikube. Minikube — достаточно простое и удобное средство, и есть несколько обучающих курсов по работете с Minikube. Но, все же, о Minikube нельзя сказать, что с помощью этой утилиты можно за несколько минут развернуть среду Kubernetes.

Сегодня я хочу рассказать о пакете MicroK8s, который без преувеличения позволяет развернуть Kubernetes локально за несколько минут, и начать разработку. Не требуется даже предустановленных Docker и Kubernetes, т.к. все включено. В предлагаемом Вам уроке будет рассмотрен деплой приложения Django в локальной среде Kubernetes.

В качестве источника я шел вслед за серией статей Mark Gituma, в которых описана аналогичная работа, но только с Minikube, а не с MicroK8s.

Все же есть одно требование, которое необходимо удовлетворить до начала работы. У Вас должен быть установлен Snap, что в свою очередь означает, что у Вас должен быть установлен Linux.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии11

xenvman: Гибкие окружения для тестирования микросервисов (и не только)

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

Всем привет!


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


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

Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии3

Чек-лист: что нужно было делать до того, как запускать микросервисы в prod

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

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


К сожалению, некоторые невысокие программисты всерьёз полагают, что Dockerfile с какой-нибудь вообще любой командой внутри — это уже сам по себе микросервис и его можно деплоить хоть сейчас. Докеры крутятся, лавешка мутится. Такой подход оборачивается проблемами начиная с падения производительности, невозможностью отладки и отказами обслуживания и заканчивая кошмарным сном под названием Data Inconsistency.


Если вы ощущаете, что пришло время запустить ещё одну аппку в Kubernetes/ECS/whatever, то мне есть чем вам возразить.


English version is also available.

Читать дальше →
Всего голосов 138: ↑135 и ↓3+132
Комментарии71

Анимация подчёркивания ссылок на чистом CSS

Время на прочтение2 мин
Количество просмотров40K
Одно из преимуществ создания моего личного сайта с нуля вместо использования готовой темы заключается в том, что я начинаю с настроек браузера по умолчанию и постепенно добавляю собственные расцветки. Я стараюсь удержать сайт от раздувания, но и персонализация — важное дело. Нужно найти некий компромисс между спартанскими страницами Hacker News и Craigslist с одной стороны и перегруженностью старого MySpace с другой.

Как-то мне попался сайт с причудливыми анимированными подчёркиваниями для ссылок, и я захотел реализовать эффект. Но мне важно использовать чистый CSS, потому что ради таких легкомысленных вещей негоже добавлять JavaScript, который может вызвать проблемы с производительностью или удобством интерфейса (см. угон полосы прокрутки).
Всего голосов 14: ↑11 и ↓3+8
Комментарии10

Инфраструктура System.Transactions в мире .NET

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

Встречали ли вы в C# конструкцию типа using (var scope = new TransactionScope(TransactionScopeOption.Required))? Это значит, что код, выполняющийся в блоке using, заключается в транзакцию и после выхода из этого блока изменения будут зафиксированы или отменены. Звучит понятно, пока не начинаешь копать глубже. И чем глубже копаешь, тем «страньше и страньше» становится. Во всяком случае, у меня при более близком знакомстве с классом TransactionScope и вообще транзакциями .NET возникла целая уйма вопросов.

Что за класс TransactionScope? Как только мы используем конструкцию using (var scope = new TransactionScope()), все в нашей программе сразу становится транзакционным? Что такое «управляющий ресурсами» (Resource Manager) и «управляющий транзакциями» (Transaction Manager)? Можно ли написать свой управляющий ресурсами и как он «подключается» к созданному экземпляру TransactionScope? Что такое распределенная транзакция и правда ли, что распределенная транзакция в SQL Server или Oracle Database — это то же самое, что и распределенная транзакция .NET?

В данной публикации я постарался собрать материал, помогающий найти ответы на указанные вопросы и сформировать понимание транзакций в мире .NET.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии44

Зачем программисту стажировка на кухне — разговор с «Додо Пиццей» про гембу, .NET и открытость

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


Про «Додо Пиццу» уже известно много. Бизнес компании оплетен сетью технологичных сервисов, о своей истории они написали книгу, стек технологий и архитектура системы расписаны прямо на сайте, в паре кликов от главной страницы. Даже самые неприятные факапы они спокойно и открыто обсуждают на публику.

Все это здорово, и создается романтичный флер — кажется, что в «Додо Пицце» по умолчанию круто работать. Но нам было интересно понять, так ли это на самом деле.

Нет ли в открытости перегибов и подводных камней? Как люди относятся к открытым камерам на кухнях? Не являются ли технологии просто маркетинговым украшением? В конце концов, пока IT гиганты вокруг зазывают разрабов пожизненным запасом печенек и личными кофеносцами, «Додо» продвигает периодический труд на кухне — чтобы прочувствовать боль клиентов и обычных сотрудников.
«Додо Пицца» получила от своих сотрудников на «Моём круге» среднюю оценку 4,7 и среднюю рекомендацию 98%. Компанию ценят за интересные задачи, профессиональный рост и отличные отношения с коллегами.

Мы с fillpackart обо всем этом расспросили, и нам ответил Александр Андронов, СТО «Додо Пиццы».
Читать дальше →
Всего голосов 45: ↑41 и ↓4+37
Комментарии73

Еще список проектов, на чем потренироваться

Время на прочтение3 мин
Количество просмотров27K
«Мастер совершает больше ошибок, чем новичок — попыток»

Прошлый список тренировочных проектов набрал 50к прочтений и 600 добавлений в избранное. Вот еще один список интересных проектов для практики, для тех кто хочет добавки.

1. Текстовый редактор


image

Цель текстового редактора — уменьшить усилия пользователей, пытающихся преобразовать их форматирование как валидную разметку HTML. Хороший текстовый редактор позволяет пользователям форматировать текст по-разному.

В какой-то момент каждый использовал текстовый редактор. Так почему бы не создать его самостоятельно?
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии11

Краткий гид по обучению С++: что, когда и на чём создавать

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

Недавно у нас на GeekBrains стартовал свежий курс "Профессия: разработчик C++". Программа позволит всего за 9 месяцев освоить этот непростой язык и стать специалистом уровня junior. А это непростая задача. К примеру, в школах и ВУЗах на изучение С++ уходит минимум 2 года, чаще 4-5. Чтобы показать из чего состоит этот нелегкий путь, мы схематично описали для вас основные этапы.
Читать дальше →
Всего голосов 46: ↑24 и ↓22+2
Комментарии30

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность