Бэкенд кое-как держит нагрузку, но от нормальной монетизации автор отказывается из принципа — пока есть только донаты.
Читать далееЗа свои 17+ лет в активной разработке я встречал много проблем, но одна преследовала меня постоянно: JSON. Нет, с самим форматом все ок, но вот с его чтением — не все норм.
Когда я только начинал работать с PHP, я списывал это на скриптовость языка. Отчасти из‑за этого я даже поменял стек. Но когда приходили по‑настоящему большие файлы, это всегда было больно. Иногда — очень. Был проект, где мы ждали не обработку информации бизнес‑логикой, а банального парсинга. Файлы доходили до десятков гигабайт и не всегда влезали в оперативку. Тогда я и заработал себе персональный todo — разобраться с этим раз и навсегда.
Сейчас, находясь в поиске новых возможностей, я решил вспомнить эту старую боль. Я уже давно не PHP‑разработчик, но проблема в индустрии всё та же. Объемы данных растут, требования тоже, а воз и ныне там. Нет, есть море крутых решений. Даже тут, на Хабре. Но для меня всё не то.
Мне нужно решение, а не костыль. То есть: никакой кодогенерации и никаких JIT (я не противник JIT, просто не хочу тянуть эту сложность).
Я ступил на тонкий лед: в Go есть классная штука — пакет unsafe. Почему классная? Потому что она позволяет обойти тяжелые ненужные проверки. Плюс побитовые операции для ускорения всего, до чего только смогли дотянуться руки. Пока изучал чужие парсеры, столкнулся с обманом в репозиториях, подкручиванием статистики (куда же без него?) и перекладыванием ответственности (и аллокаций) на сторону разработчиков.
Заглянуть под капотПривет Хабр!
Современное нефтегазовое производство требует всё более совершенных инструментов для прогнозирования состояния оборудования и предотвращения аварийных ситуаций. Особенно это касается газопроводов-шлейфов — критически важных элементов инфраструктуры, обеспечивающих транспортировку газа от скважин до установок комплексной подготовки газа.
Проблема износа трубопроводов становится всё более актуальной. Эрозионное воздействие потока газа, содержащего воду с механическими примесями, может привести к серьёзным последствиям, вплоть до аварийных ситуаций. Традиционные методы диагностики и принятия решений уже не справляются с растущей сложностью задач.
В этой статье мы подробно разберём, как машинное обучение помогает решать проблему прогнозирования износа газопроводов.
Читать далееПривет, Хабр.
Хочу рассказать про наш проект Exam AI — внутреннюю платформу для аттестации и тренировки сотрудников.
Это не “ещё один тестик на 20 вопросов”, а система, где:
Градиентный бустинг часто воспринимают как «ещё один алгоритм из sklearn», но за ним стоит простая и сильная идея: модель не пытается сразу угадать правильный ответ, а шаг за шагом исправляет собственные ошибки.
В статье разберём, как этот принцип работает на уровне остатков, антиградиентов и деревьев решений — и почему бустинг до сих пор остаётся одним из самых сильных подходов для табличных данных.
Читать далееАктуальная нейросеть для улучшения качества фото больше не занимается банальным растягиванием пиксельной сетки — она буквально реконструирует утраченные микродетали с нуля. Избавление от выраженных JPEG-артефактов, стабилизация смазанного при движении кадра, честный апскейл до 4K без появления эффекта «пластикового лица» и деликатное восстановление поврежденных семейных архивов превратились в стандартную рутину. Причем для работы с этими инструментами не требуется профильное образование.
В данном материале мы подробно разобрали 16 востребованных платформ: от систем математически чистого масштабирования до художественной дорисовки по текстовому описанию и архивных реставраторов. Наш рейтинг включает как универсальные агрегаторы с поддержкой российских банковских карт, так и специализированные зарубежные веб-сервисы, чтобы вы легко нашли решение под конкретные задачи и бюджет.
Каждый мой проект на ESP32 заканчивался одинаково: микроконтроллер готов, датчики читаются, реле щёлкают — а дальше надо руками писать HTML, CSS, JS и протокол поверх веб‑сокета, чтобы увидеть пару графиков в браузере. На третий раз я решил, что хватит, и сделал библиотеку RisalDash: интерфейс описывается на C++ в несколько строк, а весь фронтенд и протокол генерируются сами и отдаются самим контроллером.
Читать далееПривет, Хабр! Меня зовут Александр, я руковожу веб-разработкой в InfoWatch. Мы занимаемся проектированием решений, которые обеспечивают информационную безопасность для разных компаний.
В этой статье я расскажу, как мы обеспечиваем интеграцию SPA-приложений. Главная цель этого процесса — сохранить стабильность и совместимость приложений, при этом не потеряв по пути скорость поставки функционала. Под катом — о подходах и решениях, которые мы используем, а также пара примеров из практики и немного рекомендаций, если вы по работе занимаетесь подобными вещами.
Читать далееПользователи ежедневно сталкиваются с сотнями рекламных сообщений. В этих условиях у брендов есть буквально несколько секунд, чтобы заинтересовать человека, прежде чем он закроет баннер, пролистает пост или переключится на другую задачу.
Современные рекламные кампании все чаще используют подходы, которые раньше ассоциировались с игровым дизайном, продуктовой разработкой и поведенческой психологией. Бренды создают интерактивные механики, используют необычных персонажей, вовлекают пользователей в диалог и превращают рекламный контакт в небольшой пользовательский опыт.
В Авито Рекламе регулярно запускают кампании с использованием различных механик вовлечения аудитории. Мы решили посмотреть шире и разобрать несколько кейсов, чтобы понять, какие подходы действительно помогают преодолевать баннерную слепоту и удерживать внимание пользователей.
Читать далееЗа три месяца наш голосовой ИИ-агент успел соврать клиенту про несуществующего администратора, принять всех звонящих за одного человека и месяц выдавать обычный синтез за "клонированный голос". Разбираю, почему это лечится структурой кода, а не промптом — на полностью российском стеке.
Читать далееРазобрал, как GPU ускоряет инженерные расчёты на примере массового моделирования 2D-траекторий. Сравнил NumPy CPU, CuPy vectorized и CuPy RawKernel на RTX 5090, взятой на GPUGO.
Читать далееПривет, Хабр! На связи Нина Андреянова из ВКонтакте, я занимаюсь реализацией больших кросс-командных проектов последние пять лет. Недавно я рассказывала про назначение тимлидом контрибьютора (спасибо за ваш интерес к статье!). Сегодня я пришла поделиться с вами ещё одной темой: высокая продуктивность команды и как руководители иногда её ломают. За годы работы в разных корпорациях я поняла одну неприятную управленческую правду: фраза «давайте ещё немного поднажмём» звучит вдохновляюще… ровно до того момента, пока ты не слышишь её третий квартал подряд. Если эта фраза звучит в команде регулярно, то, вероятнее всего, вы уже не ускоряетесь. Вы просто медленно тратите ресурс, который не восстанавливается.
И это один из самых разрушительных сценариев для руководителя — путать высокий перформанс команды с её способностью долго жить в режиме перегруза. Давайте разберёмся в ошибках руководителей и в том, как их предотвратить.
Перейти к разборуSwift — это современный язык программирования, лежащий в основе многих приложений, работающих на платформах Apple наших дней. Мне показалось, что было бы неплохо немного вернуться к истокам Apple, к Apple II. Это была первая массовая серия компьютеров Apple, первоначально выпущенная в 1977 году с процессором MOS 6502 с частотой 1 МГц.
Читать далееСамым фатальным недостатком C++ является то, что он скоро умрёт. То, что C++ скоро умрёт — это истина, проверенная временем. 30 лет назад все говорили, что C++ скоро умрёт, потому что появилась Java. 20 лет назад ему пророчили скорую смерть, потому что к Джаве присоединился C#. 10 лет назад C++ должен был умереть, потому что появился Rust. 3 года назад его снова принялись хоронить, когда АНБ выпустило спорную рекомендацию «переходить на memory-safe языки» везде, где это возможно, и я думаю, что ещё через 30 лет тоже все будут говорить, что C++ скоро умрёт.
Откуда столько пессимизма? Считается, что C++ неудобен в использовании, и из-за неочевидных правил языка на нём слишком легко написать опасный и забагованный код. В этой статье я сравню C++ и C# в тех аспектах, которые определяют простоту и удобство использования — насколько легко и приятно писать на этих языках, и какой из них вызывает наименьшее количество боли.
Я не собираюсь ничего набрасывать на вентилятор или разводить холивар, а просто хочу объективно и беспристрастно ответить, наконец, на вечный вопрос: что же всё-таки лучше — C++ или C#?
Объективное и беспристрастное сравнениеСтоимость поддержки кажется простой: есть зарплаты, есть число обращений — поделили и готово. На практике эта цифра занижена в разы, потому что половина затрат на тикет не попадает ни в один отчёт. Разбираем, из чего складывается реальная стоимость обращения и как посчитать её для своей команды.
Читать далееСовет обратиться в Роструд бесполезен. Как вы докажете, что вас не берут на работу из-за возраста?
Представьте самую обычную ситуацию. Вам пятьдесят два года. За последние два месяца вы отправили несколько десятков откликов. Где-то пришли автоматические отказы. Где-то вообще не ответили. Пару раз пригласили на собеседование. Итогом стала фраза: «Мы взяли более подходящего кандидата», читай: «Пошел ты нафиг, старый пердун».
Читать далееДве недели назад я отдал разработку живого продукта автономному ИИ-пайплайну: люди пишут в бота «что поменять», а код пишется, тестируется, ревьюится и выкатывается в прод без единого человеческого взгляда на дифф.
Итог двух недель: 178 релизов, 1.4 млрд токенов, 0 строк кода, прочитанных человеком перед мержем. И неожиданный вывод — я не перестал быть программистом, а стал кем-то вроде бухгалтера, который отложил счёты и осваивает Excel.
Я поставил череду экспериментов: по очереди убирал куски «обвязки» вокруг модели и смотрел, что сломается. Один эксперимент чуть не похоронил репозиторий за одну задачу: +25 зависимостей и +6000 строк на ровном месте. Рассказываю, что выяснилось.
Читать далееПривет, Хабр! Меня зовут Алиса, я методолог информационной безопасности в Ozon. Я занимаюсь построением и улучшением процессов ИБ начиная от регламентов и требований до внедрения практических контролей в работу команд. Один из сложных участков в ИБ — работа с контрагентами. Компании используют внешние сервисы, подрядчиков, аутсорсинг, облака, интеграции и внешнюю разработку. При этом далеко не всегда понятно, кто отвечает за безопасность этих связей и с чего вообще начинать.
Читать далееПредставьте: вы спрашиваете умного коллегу о дедлайне проекта, а он отвечает уверенно и детально – но на самом деле придумывает всё на ходу. Именно это постоянно делают большие языковые модели. Они не «знают», что не знают. И это не баг конкретной реализации – это фундаментальное свойство архитектуры. В данной статье студент первого курса ТОП ИТ предлагает один из способов как это побороть вооружившись RAG и семантической энтропией...
Читать далееЧетыре последних релиза моего проекта почти ничего не изменили для пользователя. Не появилось новых экранов, кнопок или возможностей. Зато именно за эти восемь дней проект пережил, пожалуй, самую большую архитектурную перестройку с момента своего появления. Рассказываю, почему иногда отказ от новых функций оказывается самым правильным решением. Статья большая и представлена как ретроспектива. Рассказывает о взрослении как в самом написании кода и подходу к разработке, так и о архитектурном.
Читать далее