Pull to refresh
9
0

Математик. Системный программист.

Send message

Как ухаживать за грядкой Redis'а и как сохранить урожай?

Reading time10 min
Views14K

Чуть более года назад мне посчастливилось погрузиться в углублённое изучение Redis. Всё, что я знал про него на тот момент, это две команды — get и set. Примерно в это же время у нас начался плавный переход со Standalone Redis на Redis Cluster.

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

Читать далее
Total votes 21: ↑21 and ↓0+21
Comments2

Практика использования Spark SQL, или Как не наступить на грабли

Reading time17 min
Views37K
Если вы работаете с SQL, то вам это будет нужно очень скоро. Apache Spark – это один из инструментов, входящих в экосистему Hadoop, который обрабатывает данные в оперативной памяти. Одним из его расширений является Spark SQL, позволяющий выполнять SQL-запросы над данными. Spark SQL удобно использовать для работы посредством SQL-запросов с большими объемами данных и в системах с высокой нагрузкой.

Ниже вы найдёте некоторые нехитрые приёмы по работе со Spark SQL:

  • Как с помощью сбора статистики и использования хинтов оптимизировать план выполнения запроса.
  • Как, оставаясь в рамках SQL, эффективно обрабатывать соединения по ключам с неравномерным распределением значений (skewed joins).
  • Как организовать broadcast join таблицы, если её размер слишком велик.
  • Как средствами Spark SQL понять, сколько приложение Spark реально использовало памяти и ядер кластера в развёртке по времени.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments13

Apache Airflow: делаем ETL проще

Reading time25 min
Views170K

Привет, я Дмитрий Логвиненко — Data Engineer отдела аналитики группы компаний «Везёт».


Я расскажу вам о замечательном инструменте для разработки ETL-процессов — Apache Airflow. Но Airflow настолько универсален и многогранен, что вам стоит присмотреться к нему даже если вы не занимаетесь потоками данных, а имеете потребность периодически запускать какие-либо процессы и следить за их выполнением.


И да, я буду не только рассказывать, но и показывать: в программе много кода, скриншотов и рекомендаций.



Что обычно видишь, когда гуглишь слово Airflow / Wikimedia Commons

Читать дальше →
Total votes 11: ↑10 and ↓1+11
Comments28

Машинное обучение на C#: введение в ML.NET

Reading time22 min
Views40K


ML.NET претендует на звание самой мощной библиотеки для машинного обучения на платформе .NET. Так ли это на самом деле? На вопрос отвечает Джефф Просайз.

Джефф Просайз — один из создателей компании Wintellect, коллега по цеху знаменитого Джеффри Рихтера, автор более девяти книг и множества статей по разработке приложений, сейчас работает с Azure и разрабатывает различные AI-решения.

Под катом перевод и видео доклада Джеффа с конференции DotNext 2019 Moscow в оригинале.
Total votes 25: ↑25 and ↓0+25
Comments10

Как AI помогает повседневной работе команды разработки

Level of difficultyEasy
Reading time12 min
Views2.9K

Статья ориентирована на читателя, который еще сомневается в том, стоит ли ему пробовать чат‑боты в работе. Если вы знакомы с технологией и пробовали её в повседневной деятельности то вряд ли найдете её полезной.

Немного расскажу о реальном применении GPT у нас в компании.

Читать далее
Total votes 9: ↑8 and ↓1+11
Comments3

Мне плевать на твой браузер, я все равно открою ссылку в Edge! Боремся с новыми методами продвижения браузера MS

Level of difficultyEasy
Reading time5 min
Views30K

Начиналось все прозаично - я приобрел новую версию Microsoft Office и решил ее переустановить с полным удалением и зачисткой всех "хвостов". Операционную систему использую Microsoft Windows 11 Pro. Установка прошла "без сучка и задоринки". Проверил что работает корпоративный Teams, Outlook резво гоняет корпоративную почту, все приложения корректно работают. Выключил ПК и пошел спокойно заниматься своими делами.

"Сюрприз" ожидал меня в следующий рабочий день, когда разработчик из команды прислал мне MR на ревью. Ссылка на МР в репозитории открылась, но отсутствовало автозаполнение, настроенное как удобно мне, например не вставлялись автоматически данные авторизации из защищенного хранилища. Сначала я даже не обратил внимания что:

Читать далее
Total votes 48: ↑45 and ↓3+55
Comments102

Вкатываемся в Machine Learning с нуля за ноль рублей: что, где, в какой последовательности изучить

Level of difficultyEasy
Reading time26 min
Views222K

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

Читать далее
Total votes 129: ↑127 and ↓2+155
Comments52

Анализ текстовых данных с использованием тематического моделирования

Reading time14 min
Views9.6K

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

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments0

Как на самом деле работает Async/Await в C# (Часть 1)

Level of difficultyHard
Reading time12 min
Views58K

Несколько недель назад в блоге «.NET Blog» появилась статья «Что такое .NET, и почему вы должны выбрать его?». В нем был представлен высокоуровневый обзор платформы, кратко описаны различные компоненты и архитектурные решения, а также обещаны более подробные посты по затронутым темам. Этот пост является первым таким продолжением, в котором подробно рассматривается история создания, архитектурные решения и детали реализации async/await в C# и .NET.

Читать далее
Total votes 17: ↑16 and ↓1+16
Comments8

Еще раз про интеграционное тестирование ASP.NET Core c testserver и testcontainers

Level of difficultyEasy
Reading time9 min
Views12K

Хабр, привет!


Сегодня я предлагаю совершить небольшое исследование на тему "как нам обустроить интеграционное тестирование и встроить его в сиайку".
Написать эту заметку меня сподвигла дискуссия, случившаяся недавно на работе. Инициативная группа "четырехглазых в свитерах" пыталась родить меры по улучшению качества нашего изделия и снижения трудозатрат QA-инженеров на проведение рутинного регрессионного тестирования. Как это часто бывает, разработчики если и писали тесты, то только модульные, оставляя интеграционные и end-to-end для тестировщиков. Для выполнения интеграционного тестирования QA-инженеры используют "тестовый стенд", на котором развернуты компоненты приложения (еще около 40, с позволения сказать, "микросервисов"), сервер базы данных (с не всегда ясным наполнением этой самой базы), брокер сообщений (RabbitMQ) и все остальное, что может потребоваться для запуска приложения. На этот тестовый стенд натравливаются автотесты, которые шатают приложение за все доступные снаружи конечные точки, таблицы БД и элементы UI пытаясь проверить максимальное количество тестовых сценариев в границах (и за ними!) возможных входных данных.

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

Как айтишники построили пивоварню, чтобы варить лагер для коллег по цеху

Reading time7 min
Views6.8K

Группа компаний ITGLOBAL.COM развивает различные ИТ‑проекты, и недавно к ним прибавился еще один. Два года назад мы научились варить пиво и открыли собственную пивоварню — ITCOLON.

Идея ее создания принадлежит Дмитрию Гачко, ИТ‑предпринимателю, основателю ГК ITGLOBAL.COM и Технопарка «ИТ Крым». Одной из первичных задач Технопарка является создание комфортного пространства для айтишников: хорошие офисы, коворкинг, насыщенная образовательная околоайтишная повестка, места для отдыха и занятий спортом, короче, все, что нужно ИТ‑компании, будь то стартап или серьезный, зрелый проект. Но это, конечно, полдела: у Технопарка должна быть изюминка, преобразующая офисное пространство в место для общения, коммуникаций и генераций идей. Именно поэтому мы решили создать в Технопарке пивоварню. Традиционно пиво считается айтишным напитком, и связано это в первую очередь с тем, что пиво пить можно долго, без потери сути разговора, а в процессе даже самые безнадежные интроверты раскрываются и готовы поспорить по делу.

Читать далее
Total votes 30: ↑24 and ↓6+22
Comments12

9 книг для тимлидов и тех, кто хочет ими стать

Reading time4 min
Views18K

Привет! На связи СберМаркет Tech. Эту подборку книг составили инженерные менеджеры СберМаркета и ведущие подкаста «Для tech и этих» Олег Федоткин, Никита Елагин, Семён Мацепура и Вячеслав Артемьев. Сейчас в подчинении у ребят суммарно более 200 инженеров. Мы попросили их поделиться книгами, которые в своё время помогли им вырасти из разработчиков в управленцев. Эти книги не только про лидерство, но и про найм, стратегическое мышление и коммуникации. Они будут полезны тем, кто уже управляет командой или идёт к такой цели. Поехали!

Читать далее
Total votes 10: ↑7 and ↓3+6
Comments5

Задача коммивояжера (TSP) точное решение — метод целочисленного линейного программирования (Integer programming)

Reading time20 min
Views24K

Дочитав эту статью до конца, вы сможете решать точно задачу коммивояжёра на сотню элементов за считанные секунды!

Заинтригованы? Тогда, добро пожаловать под кат.

Читать далее
Total votes 124: ↑124 and ↓0+124
Comments40

Сейчас вы споете, а я вас запишу нотами и аккордами. Небольшой обзор ScoreCloud Studio

Reading time2 min
Views5.7K

На рынке программ, создающих музыку, появилась платная/упрощенная и бесплатная версия сервиса ScoreCloud Studio. Хочу предложить короткий обзор ее возможностей.

UPD1. Если вам нужно бесплатный распознаватель с листа бумаги, то смотрите мою статью.

UPD2. На базе механизма данного продукта проводится публичное бета-тестирование автокомпозитора и автоарранжировщика.

UPD3. Уже минимум год для ОС Windows сделана сборка для распознавания бумажных нот, которую удобно ставить даже неподготовленному пользователю.

Если же вам хочется петь со мной, прошу под кат.

Сейчас спою!
Total votes 9: ↑6 and ↓3+5
Comments6

Возможно вам не нужен AutoMapper

Reading time7 min
Views11K

Вы знали, что AutoMapper и MediatR создал один и тот же человек?

Джимми Богард создал две крайне обсуждаемые и спорные темы в .NET разработке. Если с MediatR уже разобрались, то c AutoMapper также хотелось бы расставить все точки над "ё".

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

Читать далее
Total votes 14: ↑12 and ↓2+10
Comments34

Вероятно вам не нужен MediatR

Reading time13 min
Views25K

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

препятствование прямому общению между объектами для уменьшения связности;

нацеливание на Message-Oriented архитектуру;

поддержка асинхронного внутреннего обмена сообщениями;

ориентирование на переиспользование объектов.

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

Существует множество статей о MediatR, но лишь их малая часть фокусируется на недостатках и помогает определить случаи, когда использование инструмента не имеет смысла. Этот пост один из таких.

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

Также стоит отметить, что эта статья не покрывает положительные аспекты библиотеки, а фокусируется только на недостатках.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments16

Загадочный EF Core, или Как написать свое расширение

Reading time13 min
Views6K

В EF Core много полезных фич по работе с базами данных, но что, если этих возможностей не хватает? Я был удивлен, когда узнал, что фреймворк из коробки не умеет создавать вьюшки и отслеживать изменения их исходного кода. А что, если нам нужны не только вьюшки, но еще и синонимы, гранты и DB link? При этом мы хотим видеть их как на производственной БД, так и в интеграционных тестах! В посте будет инфа про загадочный внутренний мир фреймворка: про ключевые интерфейсы, отвечающие за генерацию и применение миграций, про то, как можно подменить эти интерфейсы, и, самое главное, почему тут не поможет контейнер, создаваемый в Startup. Также поговорим про основные объекты EF Core: что такое модель и зачем нужен снепшот? Из чего состоит миграция и зачем нужно транслировать операции в SQL?

Пост будет интересен как тем разрабам, которые столкнулись с задачами создания и обновления вьюх, синонимов и других SQL-объектов (они узнают про наш пакет, позволяющий закрыть эти вопросы), так и тем, кто хочет написать свое расширение (они узнают про подмену сервисов). Если Вы хотите, чтобы мир EF Core стал для вас менее загадочным, но ничуть не менее интересным, добро пожаловать под кат.

Читать далее →
Total votes 6: ↑6 and ↓0+6
Comments1

[Карьера в IT] Главное: что нужно знать, чтобы найти работу, пройти собеседование и выбрать оффер

Reading time6 min
Views27K

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

Читать далее
Total votes 21: ↑16 and ↓5+11
Comments0

Опыт использования MassTransit 3.0

Reading time9 min
Views41K
MassTransit это open source библиотека, разработанная на языке C# для .NET платформы, упрощающая работу с шиной данных, которая используется при построении распределенных приложений и реализации SOA (service oriented architecture).

В качестве message broker могут выступать RabbitMq, Azure Service Bus или In-Memory менеджер (в случае с In-Memory область видимости ограничивается процессом, в котором проинициализирован экземпляр).
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments5

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity