Pull to refresh
-20
@sengloryread⁠-⁠only

User

Send message

Искусственный интеллект в Data Science: инструменты и границы возможностей

Level of difficultyEasy
Reading time8 min
Reach and readers5.5K

Хабр, привет! Меня зовут Вячеслав Демин, я больше пяти лет работаю в сфере Data Science. Сейчас я руководитель направления аналитики данных в Сбере и эксперт на курсе «Специалист по Data Science» в Яндекс Практикуме. Начинал с этого же курса в 2020 году, после чего работал в сфере страхования и нефтехимии.

В этом материале я расскажу, для каких задач в Data Science использую ИИ и почему полагаться на него на 100% всё ещё не стоит.

Читать далее

Конфликты потоковой репликации в PostgreSQL

Level of difficultyEasy
Reading time8 min
Reach and readers10K

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

В статье описываются конфликты репликации и как с ними бороться.

Читать далее

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

Level of difficultyMedium
Reading time16 min
Reach and readers50K

Рассмотрим альтернативу облачным моделям — локальный запуск LLM на своём компьютере.

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

Читать далее

Вышел Playwright 1.59: как тестировщикам с пользой применить каждую новую фичу

Level of difficultyEasy
Reading time6 min
Reach and readers8.4K

Playwright 1.59 — не очередное инкрементальное обновление. Это заявка на то, куда движется автоматизация тестирования, и это направление глубоко агентное. Если вы ждали, когда инструменты догонят AI-driven воркфлоу, о которых все говорят, этот релиз закрывает разрыв.

Разберём каждую крупную фичу и, что важнее, как каждую из них можно применить немедленно.

Читать далее

Написал свой медицинский сервис и дал Claude Opus посмотреть на данные семьи целиком. Он нашёл 11 ошибок врачей

Level of difficultyMedium
Reading time18 min
Reach and readers15K

У сына задержка речевого развития — за два года мы прошли 14 врачей, и ни один не видел полную картину. Я за неделю написал свой медицинский сервис на Node.js + SQLite, подключил Claude Opus как аналитика и скормил ему всю медицинскую историю семьи целиком. Нейросеть нашла 11 врачебных ошибок, анализы которые не назначали годами, и составила мне план чекапа на 35 пунктов — который полностью покрылся ДМС.

Внутри: архитектура без единого вызова API нейросети, граф здоровья на Cytoscape.js, почему связи между данными важнее самих данных, и сколько стоит весь этот AI-анализ ($0.60). Код будет открыт.

Как устроен сервис

Как я защитил свой VPN от DPI: graylist + nginx stream + немного паранойи

Level of difficultyMedium
Reading time5 min
Reach and readers50K

Стандартная схема Reality+Xray работает по принципу «не пойман — не вор». Зонд подключается без правильного SNI → получает редирект на легитимный сайт → уходит. Но что если зонд знает ваш точный SNI? Что если он стучится не один раз, а методично, каждые 5 минут, из разных подсетей?

Я столкнулся с этим в Беларуси: за трое суток работы скрипта/детектора — ни одного «глупого» зонда с пустым SNI, только аккуратные коннекты с правильным google.com и аномальным поведением. Пришлось добавить два слоя защиты поверх стандартной схемы:

Читать далее

Геораспределенное резервирование Postgres при помощи Debezium

Level of difficultyHard
Reading time17 min
Reach and readers6K

Всем привет, меня зовут Николай Голубев, я — техлид из компании HFLabs. Эта статья написана по мотивам моего выступления на конференции Saint HighLoad++.

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

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

Читать далее

OSINT для ленивых. Часть 6: Фотошоп наше все? Выявляем фейк за 2 минуты

Level of difficultyEasy
Reading time5 min
Reach and readers8.8K

О метаданных файлов изображений мы уже говорили и не секрет, что их тоже можно редактировать, в том же Exif-pilot, например. Как распознать фейк, если метаданные на изображении корректные? Кэп очевидность утверждает, что только анализом контента. Логично.

— Возьмем какой-нибудь файл с зачищенными метаданными и проанализируем его на предмет манипуляций в Фотошопе или еще каком-нибудь редакторе. В том же Пейнте :-)

Закинем его на уже упоминавшийся https://29a.ch/photo-forensics и посмотрим, что он нам расскажет. Самый верхний пункт меню — Magnifier/ Увеличилка, чтобы можно было глазками прошерстить картиночку и пальчиком везде потыкать: вдруг кто‑то неаккуратненько подработал. Но такое можно не только тут.

Нас интересует другая опция в меню: Clone Detection — детектор клонов показывает применение инструмента типа «штамп» при обработке, он выделяет клонированные участки розовым светом. Как видно, тут этого добра преизрядно.

Читать далее

PostgreSQL: транзакции, блокировки и почему Serializable падает

Level of difficultyMedium
Reading time6 min
Reach and readers6.8K

Несколько лет назад я делал внутренние доклады по PostgreSQL для команды — разбирали транзакции, блокировки и уровни изоляции на живых примерах. Потом ушёл на другой стек, а недавно вернулся к PostgreSQL и пересмотрел свои записи. Материал до сих пор актуален — базовые концепции не изменились. В статье: почему UPDATE из двух сессий «висит», чем Read Committed отличается от Repeatable Read на практике, почему Serializable падает даже без логического конфликта, и как VACUUM на самом деле работает с мёртвыми строками. Всё с SQL-примерами, которые можно повторить.

Читать далее

Как я обжаловал попытку военкомата ограничить меня в правах

Level of difficultyEasy
Reading time8 min
Reach and readers40K

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

29.11.2025 я получил СМС от номера 117 с текстом: "Вам направлена повестка в военкомат. Ознакомиться: реестрповесток.рф".

По закону возможные ограничение за неявку по повестке (согласно статьи 7.1 Закона №53-ФЗ "О воинской обязанности и военной службе"):

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

Читать далее

ИИ-дед возвращается. Реализация ИИ-собеседника для телефонных бесед с мошенниками

Level of difficultyEasy
Reading time30 min
Reach and readers26K

Многие помнят статью «Мошенники позвонили моему ИИ-деду. Он продержал их 31 минуту и записал всё». Статья быстро набрала популярность, плюсы и комментарии. К сожалению, позже выяснилось, что автор немного «пофантазировал» и описал гипотетический сценарий реализации ии-бота, за что справедливо подвергся критике.

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

Читать далее

Обзор инструментов отладки встроенного ПО

Reading time6 min
Reach and readers10K

Обзор инструментов отладки встроенного ПО: программаторы (JLink, STLink, CMSIS-DAP, BlackMagic), GDB-клиенты и серверы, формат ELF/DWARF. Разбирается цепочка взаимодействия между IDE, GDB, OpenOCD и физическим программатором — от общих принципов до конкретных решений.

Читать далее

Ох уж эти join-ы: 4 способа ускорить ваши запросы в 10 раз

Level of difficultyEasy
Reading time5 min
Reach and readers13K

Все мы прекрасно знаем, join – одна из самых важных вещей в любой базе данных, но в то же время одна из самых ресурсозатратных операций. Да что уж там, в мире аналитики (OLAP) десятилетиями адепты различных подходов моделирования данных все спорят без остановки что лучше: нормализация (то есть много join) или денормализация (то есть мало join). Но все понимают, если можно без join, лучше без. Проблема в том, что они нужны практически всегда.

В этой статье давайте посмотрим, можно ли реально обойдись без join и в каких ситуациях? А также 4 способа, которые кратно ускорят ваши запросы.

Читать далее

Pandas на Python: От чтения CSV до сложной аналитики за 1 статью

Level of difficultyEasy
Reading time17 min
Reach and readers20K

Сколько раз вы пытались открыть в Excel файл на пару миллионов строк и смотрели на зависший белый экран под звук взлетающего кулера? А сколько раз писали трехэтажные циклы for в чистом Python, чтобы просто сгруппировать данные и посчитать среднее?
Pandas — это Excel на максималках и швейцарский нож любого разработчика и аналитика. В этой статье я собрал абсолютную выжимку: 10 главных шагов для работы с таблицами. Разберем вечную путаницу между loc и iloc, правильную очистку от пропусков, группировки и джойны (merge).

Читать далее

Создать мобильное приложение с zero опыта! Рассказываю, как сделал свой первый проект на Java

Level of difficultyEasy
Reading time9 min
Reach and readers8.7K

Помню, как будто это было вчера. На уроке раздается голос учителя: «Чтобы перейти в 11-ый, каждому из вас нужно реализовать свой проект. Творчество приветствуется!». Кажется, вот оно: знак сделать то, о чем уже давно подумывал, — создать собственное приложение! Защищаю идею перед учителем, получаю одобрение. Впереди целый учебный год, казалось бы, у меня гора времени. Вот только я никогда в жизни не разрабатывал мобильные приложения…

Меня зовут Ваня, я Python-разработчик, а в свободное время пишу для блога MWS. Сегодня решил поделиться историей-воспоминанием, как в школьные времена приступил к разработке своего первого в жизни мобильного приложения, а потом дорабатывал его уже в университете. Тут не будет истории успеха в духе «я монетизировал приложение и разбогател» и каких-то уникальных лайфхаков. Зато покажу на своем примере, что для создания приложения в качестве эксперимента не нужно знать все языки программирования и обладать суперскилами в разработке. Главное — не бояться пробовать. А еще те, кто только в начале своего пути, смогут научиться на моих ошибках и учесть детали, которые в свое время не учел я. Приступим!

Читать далее

Миссия выполнима: как мы добились актуальности двух тысяч кешей

Level of difficultyMedium
Reading time22 min
Reach and readers10K

Привет! Меня зовут Влад, и я разрабатываю сердце витрины Ozon — сервис product-facade. Пару лет назад мы уже делились нашим опытом в этой статье, но с тех пор многое изменилось: выросли нагрузки, появились новые фичи и оптимизации, система стала сложнее и надёжнее.

Прежде чем перейти непосредственно к актуальности кешей, давайте разберёмся, почему это так важно. Представьте: вы добавляете товар в корзину, но что-то пошло не так, и покупку совершить не удаётся — склад больше не возит в ваш ПВЗ. Даже 0.1% таких ошибок — это тысячи недовольных пользователей каждую секунду. А когда что-то массово меняется, разработчики вынуждены расследовать инцидент, чтобы понять, что проблема была всего лишь в устаревших кешах.

Читать далее

Паттерн Transactional Outbox — обеспечиваем консистентность между микросервисами на примере Java

Level of difficultyEasy
Reading time6 min
Reach and readers9.1K

Разбираем на практике, как гарантировать доставку сообщений в Kafka/RabbitMQ без распределенных транзакций, используя паттерн Transactional Outbox.

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

Читать далее

Новый VPN-протокол TrustTunnel спасет нас

Level of difficultyEasy
Reading time5 min
Reach and readers201K

Привет, Хабр! На днях AdGuard выложил в открытый доступ свой VPN-протокол, который назвал TrustTunnel. В статье разберемся, чем он отличается от того же VLESS и как устроен на самом деле.

Читать далее

Один из способов пустить весь трафик Docker контейнера через Wireguard в другом контейнере

Level of difficultyEasy
Reading time6 min
Reach and readers11K

network_mode: container:name + DNSCrypt для направления трафика в другой контейнер. Также описано добавление Wireguard к образу без изменения Dockerfile и docker-compose.yml

Читать далее

Осознанная стоимость абстракций: Autoboxing в современной Java

Reading time14 min
Reach and readers11K

Мы живём во времена, когда на оперативной памяти для heap Java-приложений почти не экономят, а архитектурные решения, которые ещё недавно можно было назвать расточительными, всё чаще воспринимаются как best practices.

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

В этих условиях привычные абстракции требуют переоценки.

Сегодня я хочу напомнить об одной из самых распространенных в Java — autoboxing — механизме автоматической упаковки примитивных типов в соответствующие объекты-обертки.

Приглашаю вас посмотреть на знакомый Java-код не глазами разработчика, а глазами JVM, сборщика мусора и процессора, и разобраться, как незаметные на уровне синтаксиса решения превращаются в аллокации, давление на GC и раздувание heap.

Погрузиться
1
23 ...

Information

Rating
Does not participate
Registered
Activity