Pull to refresh
5
0
Ruslan Tumarkin @ruslantum

Sr Systems Engineer

Send message

Как врач сделал себе ИИ помощника. Часть 1

Reading time3 min
Views13K

Всем привет, меня зовут Александр и я врач-гематолог. Для справки, это тот, кто занимается болезнями крови. Мой общий стаж перевалил за 16 лет, я кандидат медицинских наук и последние пару-тройку лет интересуюсь анализом данных, machine learning и ИИ в медицине. Под "интересуюсь" я подразумеваю исследования и публикации по этим темам, а также обучение и саморазвитие.

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

Общий анализ крови (ОАК) – самый частый и один из самых сложных анализов человека для интерпретации, что обусловлено большим числом входящих в него параметров. Как правило, именно этот анализ является скрининговым тестом как для гематологов амбулаторного приема, так и для врачей общей практики и других специальностей. Объемы выполняемых анализов исчисляются сотнями тысяч. Моя идея не нова - машинная помощь в правильной и быстрой интерпретации общего анализа крови, которая будет содействовать развитию качественной, доступной и своевременной диагностики онкогематологических заболеваний. Зачастую врач первичного звена (терапевт) не может дифференцировать изменения в ОАК, что приводит либо к гиподиагностике, либо к повышенной настороженности и излишне частому направлению на консультацию к врачу-гематологу. Ситуацию усугубляют огромные объемы анализов, выполняемые в рамках профилактических и лечебно-диагностических процессов как в государственном, так и в частном секторе здравоохранения. Расшифровка анализов онлайн - один из востребованных запросов в Интернете. Меня часто просят об этом в социальных сетях.

Читать далее
Total votes 59: ↑55 and ↓4+70
Comments67

Релокация на Бали: что нужно знать перед переездом

Reading time12 min
Views31K

Привет, Habr. Я Ира, интернет-маркетолог и digital nomad.

С февраля этого года большая часть моих друзей покинула Россию. Пересекаясь с ними в разных странах, всегда доходит дело до разговоров о том, как и где теперь жить. И пока все обсуждают, как выросли цены на жилье в Грузии, какие есть минусы у Армении с Казахстаном и насколько легко легализоваться в Черногории, я ощущаю себя дьяволом, который нашептывает каждому: «Пс! А ведь есть Азия… Есть Бали…Там классно!». Да, у Бали есть свои нюансы, но пожив там, я поняла, что это хорошее место для временной релокации.

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

Читать далее
Total votes 29: ↑23 and ↓6+22
Comments59

Приручение черного дракона. Этичный хакинг с Kali Linux. Часть 5. Методы получения доступа к системе

Reading time16 min
Views36K

Приветствую тебя, дорогой читатель, в пятой части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux».

В прошлый раз мы поговорили о приемах активного футпринтинга, а именно, о методах сканирования целевых ресурсов, и познакомились с таким замечательным инструментом, как сетевой сканер nmap. Сегодня мы разберем следующую важную фазу — получение доступа к системе и поговорим о таких вещах, как эксплоиты (exploits), полезная нагрузка (payload), а так же познакомимся с инструментом, который нам поможет автоматизировать рутинные задачи связанные с поиском и эксплуатацией уязвимостей под названием Metasploit Framework.

Почему же именно Metasploit и что в нем такого особенного, что он является самым популярным инструментом в арсенале любого специалиста информационной безопасности на различных этапах проверок? Попробуем разобраться в этом вопросе. И начнем мы с погружения в теорию.

Metasploit Framework – представляет из себя комплексный инструмент автоматизации процесса эксплуатации уязвимостей ПО и операционных систем различной архитектуры.

Модули входящие в состав Metasploit можно разделить на следующие несколько категорий:

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

По типу исполнения можно выделить два вида эксплоитов:

Удалённый эксплойт – работает через сеть и использует уязвимость в защите без какого-либо предварительного доступа к атакуемой системе;

Локальный эксплойт – запускается непосредственно в уязвимой системе, требуя предварительного доступа к ней.

Пэйлоады (Payloads) – это некий код, который выполняется после эксплоита. В основном используется для настройки связи между жертвой и атакующим.

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

Машинное обучение с Apache Cassandra и Apache Spark

Reading time7 min
Views2.7K

В первой статье из серии об использовании Apache Cassandra в машинном обучении мы обсудили цели и задачи машинного обучения, и поговорили почему Cassandra — превосходный инструмент для обработки больших наборов данных. Также рассмотрели технологический стек, используемый Uber, Facebook и Netflix. Обе статьи основаны на воркшопе Machine Learning with Apache Cassandra and Apache Spark (Машинное обучение с помощью Apache Cassandra и Apache Spark).

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

Читать далее
Total votes 6: ↑5 and ↓1+5
Comments0

Диффузионные Нейросети — самый актуальный подход к генерации изображений

Reading time6 min
Views22K

Метод обратной диффузии поистине является самым нашумевшим в этом году методом генерации изображений нейросетями. Его используют: DALLE 2, Midjourney, imagen и другие актуальные модели 2022 года.

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

Под катом будет много кода, программирования, математики, в общем — всё, как вы любите.
Читать дальше →
Total votes 38: ↑35 and ↓3+47
Comments5

Скрам или Kanban?

Reading time5 min
Views7.3K

Зачастую при построении процессов разработки возникает вопрос: "Что использовать — Scrum или Kanban? Что подойдет нашей команде?" Давайте разбираться, можно ли их вообще сравнивать.

Читать далее
Total votes 12: ↑9 and ↓3+8
Comments9

Мониторинг ML-систем. «6 лет назад vs сегодня»

Reading time10 min
Views3.2K

Шесть лет назад я занимался стартапом FscoreLab, мы разрабатывали ML-системы для кредитного скоринга. Тогда я ещё слыхом не слыхивал о термине MLOps, да я и не уверен, что он вообще существовал. Однако, необходимость определённых практик и процессов, которые сейчас относят к MLOps, стала быстро понятна уже тогда. Один из самых важных уроков того времени - если модель обучить, задеплоить и отправить в свободное плавание, то рано или поздно, постепенно или внезапно, но случится что-то не очень хорошее. Да, сейчас от этого "откровения" хочется зевать - написана тонна книг и статей, запилена куча полезных инструментов, но в то время пришлось собирать систему ML-мониторинга опытным путём из подручных материалов. Состояла она из следующих компонентов:

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

Уроки компьютерного зрения на Python + OpenCV с самых азов

Reading time3 min
Views41K
Оглавление.

В этом цикле уроков я расскажу о том, как использовать библиотеку OpenCV в языке Python. Но для начала несколько слов о самом компьютерном зрении. Как компьютер вообще видит? Если подключить к нему видеокамеру, это еще не значит, что он будет видеть. Мы получим просто набор нулей и единиц. А человек видит что-то осмысленное. Как же из этих нулей и единиц извлечь что-то осмысленно? В этом и состоит задача компьютерного зрения.
Читать дальше →
Total votes 8: ↑2 and ↓6-1
Comments9

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

Reading time7 min
Views23K

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

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

Читать далее
Total votes 20: ↑19 and ↓1+20
Comments5

ML под ударом: противодействие атакам на алгоритмы машинного обучения

Reading time7 min
Views5.7K

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

Среда, в которой выполняются алгоритмы машинного обучения, подвержена большинству стандартных векторов атак, но это еще не все. Подобно тому, как реляционные базы данных привели к появлению SQL-инъекций, а веб-скрипты к XSS, алгоритмы машинного обучения подвержены особым угрозам, от которых плохо помогают стандартные меры защиты.

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

Продакшн-реди eBPF, или как мы исправили BSD socket API

Reading time12 min
Views2.2K

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

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments1

Keycloak X. Что за зверь и с чем его едят?

Reading time9 min
Views13K

Недавно мы с коллегами из X5 Tech проводили митап, на котором разбирали, что такое Keycloak X и чего от него ждать. Для тех, кто пропустил или предпочитает читать, а не смотреть, подготовили текстовый вариант. 

Меня зовут Виктор Попов, я техлид DevOps-команды в X5 Tech. И я расскажу, как сэкономить время на чтении плохой документации, с какими сложностями можно столкнуться при обновлении на Keycloak X и как их преодолеть.

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

NLP алгоритмы для мониторинга и AIOps с использованием библиотек Python (часть 1)

Reading time12 min
Views11K

Конечной задачей всей деятельности по созданию алгоритмов для обработки естественного языка (Natural Language Processing, NLP) является создание искусственного интеллекта (ИИ), который бы понимал человеческий язык, причем “понимал” в значении “осознавал смысл” (анализ текста) и “делал осмысленные высказывания” (синтез текста). Пока до этой цели ещё очень далеко, можно применять различные алгоритмические методы для извлечения какой-либо полезной информации из текстовых данных. А это уже очень полезно для ИТ мониторинга.
В этой статье мы расскажем о применении моделей ML для целей классификации поступающих данных.

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments5

Microsoft AI-900: готовимся быстро, сдаем бесплатно

Reading time5 min
Views11K

Всем привет! Меня зовут Даша, я Data Scientist в Itransition. В этой статье я хочу поделиться личным опытом бесплатной сдачи экзамена Microsoft AI-900. Надеюсь, мои советы сделают экзаменационный процесс более приятным (особенно, если это ваша первая сертификация).

Подробнее про экзамен AI-900: Microsoft Azure AI Fundamentals

Кандидаты на этот экзамен должны обладать базовыми знаниями о понятиях машинного обучения (ML) и искусственного интеллекта (AI), и связанных с этим службах Microsoft Azure.

Этот экзамен дает возможность продемонстрировать знания об общих рабочих нагрузках ML и AI и о том, как их реализовать в Azure.

Данный экзамен предназначен для кандидатов с техническим и нетехническим образованием. Опыт работы с данными и разработки программного обеспечения не требуется; однако, некоторые общие знания или опыт программирования будут полезны.

Подробнее про экзамен можно почитать тут.

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

А оно того стоит?

Подготовка к экзамену хороший способ расширить свои знания, а также доказать свою базовую способность работать в сфере ML и AI. Еще одна весомая причина его можно сдать бесплатно (и сэкономить 55$). Учитывая, что это сертификация начального уровня, а Microsoft сильно заинтересованы в популяризации своих продуктов, то они раздают 100%-ные скидки всем желающим. :)

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

Опыт миграции кластера PostgreSQL на базе Patroni

Reading time17 min
Views21K

Недавно мне посчастливилось заниматься переносом кластера PostgreSQL под управлением Patroni на новое железо. Задача казалась простой — я и не думал, что могут возникнуть проблемы. Но в процессе реализации встретились некоторые сложности, которые натолкнули на мысль поделиться полученным опытом. В этой работе описываются практические шаги и нюансы, которые встретились во время переноса кластера на новую платформу. Использовались следующие версии ПО: PostgreSQL 11.13, Patroni 2.1.1, etcd 3.2.17 (API version 2). Итак, поехали!

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

Переход с iptables на nftables. Краткий справочник

Reading time18 min
Views111K
image

В Debian теперь нет iptables. Во всяком случае, по умолчанию.

Узнал я об этом, когда на Debian 11 ввёл команду iptables и получил “command not found”. Сильно удивился и стал читать документацию. Оказалось, теперь нужно использовать nftables.

Хорошие новости: одна утилита nft заменяет четыре прежних — iptables, ip6tables, ebtables и arptables.

Плохие новости: документация (man nft) содержит больше 3 тысяч строк.

Чтобы вам не пришлось всё это читать, я написал небольшое руководство по переходу с iptables на nftables. Точнее, краткое практическое пособие по основам nftables. Без углубления в теорию и сложные места. С примерами.
Читать дальше →
Total votes 126: ↑126 and ↓0+126
Comments46

Визуальное автотестирование сайтов с помощью Codeception

Reading time8 min
Views5.9K

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

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

Как в восемь раз уменьшить количество DNS-запросов в Go

Reading time6 min
Views13K

Привет, Хабр. Меня зовут Рустам. Я работаю в Ozon: админю Kubernetes и пишу на Go.

У нас очень много сервисов на Go — их количество исчисляется тысячами. Запускаются они внутри кластеров Kubernetes. А я плотно работаю с Kubernetes и заметил, что при запуске кода внутри Kubernetes для резолва одного адреса делается до десяти DNS-запросов. Это, конечно, влияет на производительность.

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

Узнать больше про Go+DNS
Total votes 75: ↑55 and ↓20+51
Comments9

MyBee — FreeBSD ОС и гипервизор bhyve как частное облако

Reading time10 min
Views16K

В этой статье будет описано применение ОС FreeBSD в качестве платформы для запуска облачных гостевых ОС с использованием простого API на примере дистрибутива MyBee и тот DevOPS, который мне по нраву.

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

Лучшие практики для деплоя высокодоступных приложений в Kubernetes. Часть 1

Reading time13 min
Views27K

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

Функциональность, которая не доступна в Kubernetes «из коробки», здесь почти не будет затрагиваться. Также мы не будем привязываться к конкретным CD-решениям и опустим вопросы шаблонизации/генерации Kubernetes-манифестов. Рассмотрены только общие правила, касающиеся того, как Kubernetes-манифесты могут выглядеть в конечном итоге при деплое в кластер.

Читать далее
Total votes 57: ↑56 and ↓1+66
Comments19

Information

Rating
4,626-th
Location
Hamburg, Hamburg, Германия
Date of birth
Registered
Activity

Specialization

Systems Engineer
Senior
From 6,000 €
Git
Linux
Python
Docker
Kubernetes
CI/CD
Bash
Ansible
Terraform
DevOps