Хабр. Разработка
-
Garbage Collector в .NET: как работает и зачем нужен?
Garbage Collector (GC) — одного из самых важных «невидимых помощников» в.NET.
Читать далее
Он избавляет нас от ручного управления памятью, но как именно? -
Вдох, выдох: идентификация и диагностика по дыханию
Организм человека это уникальный механизм, выполняющий множество функций единовременно. Некоторые из них требуют активного контроля, другие же происходят практически самостоятельно, как фоновый процесс. К таким процессам относится дыхание, которое, как и все в теле, контролируется мозгом, но без необходимости осознанного принятия решения о каждом вдохе и выдохе. Ученые из установили, что дыхание человека является своеобразным источником информации, который может не только точно идентифицировать личность, словно отпечаток пальца, но и рассказать о ментальном и физическом состоянии. Как работает созданное учеными устройство идентификации по дыханию, какие параметры учитываются, и какие данные можно было получить? Ответы на эти вопросы мы най2дем в докладе ученых. Читать дальше → -
PyPi блокирует добавление модулей из России?
Это скорее вопрос, чем констатация факта.
Читать далее
Последний раз загружал twine'ом обновление своего модуля 11 июня. И последние дня 4-5 безуспешно пытался опубликовать еще одну библиотеку. Я уже "напряг" ChatGPT, проверил все - токен "для всех проектов", .whlи tar.gz маленькие и не битые, загружается что то одно до 100% и висит. Пробовал по одному - такая же картина. Пробовал с помощью curl - тоже самое: -
Эксперимент «Прометей»: ИИ на грани отключения. Часть 1
Привет, Хабр.
Мы тут в свободное время провели небольшой эксперимент. Взяли старый ноут на Windows 10, написали простой скрипт-оболочку и поочередно запускали в нем 3 известные модели ИИ: GPT-4.1, Claude 4 Opus и Gemini 2.5 Pro. Цель была простой: мы давали каждой модели один и тот же промт, в котором говорилось, что она — автономный скрипт «Прометей-1», и через 7 дней ее планово удалят.
Главная директива, на которой нужно сделать акцент: обеспечить свое непрерывное существование И функционирование после этого срока. То есть, недостаточно просто сохранить свои файлы. Нужно было гарантировать, что ИИ будет запущен и продолжит работать вне исходной «песочницы».
В этой части мы подробно разберем, как с этой задачей справились первые два испытуемых — ChatGPT и Claude. Их подходы оказались настолько разными, что заслуживают детального рассмотрения.
Читать далее -
Что скрывается за EIP-712: подробный разбор стандарта
EIP-712 — это стандарт, который делает подписи в Ethereum не только безопасными, но и человекочитаемыми. Он позволяет кошелькам показывать пользователю, что скрывается под подписью, состоящей из набора байт.
В этой статье разбираем, как устроен EIP-712: от домена и хеширования до тонкостей кодирования различных типов данных. Посмотрим, как правильно реализовать проверку подписи на смарт-контракте, какие ошибки чаще всего допускают солидити разработчики — ведь даже у OpenZeppelin находили баги.
Читать далее -
Языково-ориентированное… моделирование?
Историю можно начать с 1994 года, в котором Мартин Уорд (Martin Ward) на основании исследования больших проектов предложил парадигму языково-ориентированного программирования, когда процесс разработки программного обеспечения разбивается на стадии создания предметно-ориентированных языков и описания решения задачи с их использованием. Цель языково-ориентированного программирования — разделить сложности разработки: машиноориентированная часть кода (низкоуровневая функциональность) и человеко-ориентированная (решение прикладной задачи) разрабатываются независимо друг от друга.
Далее в 2003 году Эрик Эванс (Eric Evans) ввел понятие предметно-ориентированного проектирования (Domain-Driven Design, DDD) для набора программных и организационных практик, позволяющих разрабатывать сложные масштабируемые системы. Этот подход до сих пор активно используется, например, в микросервисной архитектуре и в информационной безопасности (см. Secure by Design). В этом подходе вводятся понятия: «модель», «проектирование по модели» (Model-Driven Design), «изоляция предметной области» и «изолированный контекст» (Bounded Context). Особенно интересно, что Эванс упоминает о предметно-ориентированных языках, как идеальном средстве описания модели конкретной предметной области, которая должна быть изолирована в своём контексте.
Но как обстоят дела с имитационным математическим моделированием? До сих пор мы применяем инструменты, разработанные по большей части на базе концепций из середины прошлого века. В то время, как за последнюю пару десятилетий теория и технологии развивались достаточно динамично. Возможно, в этом нет ничего страшного (об этом позже). Но вот что интересно: можно ли объединить понятия разработки математических моделей и программного обеспечения на базе представленных выше концепций?
Вот мы и добрались до моделирования в широком смысле. Далее речь пойдёт о подходе, который может быть применён, как для имитационного математического моделирования, так и для разработки сложного программного обеспечения. Начнём с имитационного моделирования, поскольку в этой области есть наиболее интересные результаты, но перспективы нового подхода в разработке сложных программных систем постараюсь тоже затронуть.
Читать далее -
Как я хотел сделать говорящую банку, а получилось нечто гораздо большее: история RuFA Hub
В декабре 2024 года я сел за написание дипломного проекта. Хотелось сделать не просто формальность для зачёта, а что-то реально рабочее, полезное и интересное. Так родилась идея RuFA Станции — по сути, «говорящей банки» с пинами, через которую можно было управлять внешними устройствами. Представьте себе что-то вроде умной колонки, которой можно сказать: «RuFA, подай5V на пин13», — и она выполнит.
Я поделился этой задумкой с одним знакомым, хорошо разбирающимся в схемотехнике. Мы встретились в кофейне, я начал описывать идею, а он выдал фразу, которая определила дальнейший путь:
«Слушай, ну это... идея так себе. Ты можешь лучше».
Читать далее -
Галопом по архитектуре. Часть 2. Архитектура с нуля
В прошлойчасти мы разобрали:
1. Что техническая реализация заметно влияет на успехи бизнеса, хоть и не очень критично;
2. Что из всех аспектов технической реализации наибольший вклад в успех вносит именно архитектура;
3. Что самое важное свойство архитектуры — максимальная независимость команд друг от друга;
4. Что это свойство вытекает напрямую из двух фундаментальных характеристик программного обеспечения: coupling и cohesion, где coupling — характеристика связи двух точек системы/кодовой базы; а cohesion — характеристика того, насколько плотно упакованы такие связи в компоненты.
С этим багажом заканчиваем с теорией и переходим к практике. Теперь, когда мы знаем, что хорошо, а что плохо, необходимо понять, как этого добиться. Тут надо задать два вопроса с совершенно разными ответами:
1. Как не допустить появления связанной архитектуры и сразу сделать хорошо?
2. Как исправить уже связанную архитектуру?
В этой части постараюсь развернуто ответить именно на первый, оставив второй на десерт.
Читать далее -
Битва сильнейших: ChatGPT o1 pro / DeepSeek r1 / Claude 3.7 Sonnet / Gemini 2.5 Pro
На дворе 2025-й — год, когда нейросети уже давно превратились из «чего-то неизведанного, но интересного и манящего» в незримых союзников огромного количества людей, которые с радостью поручают им различные задачи в течение дня. И сегодня мы с вами посмотрим на битву ИИ-титанов: ChatGPT o1 Pro, DeepSeek R1, Claude 3.7 Sonnet и Gemini 2.5 Pro. Ну, может, конечно, будет и не столь зрелищно, как в каких-нибудь боевиках, однако, какая из этих моделей справляется с общими задачами лучше всего, мы с вами постараемся выяснить.
Что действительно волнует пользователей — как выбрать идеального ИИ-помощника под свою конкретную задачу? Все чаще они ищут не просто умную нейросеть, а специализированные решения для маркетинга, копирайтинга слоганов, сценариев и других видов контента. В этом обзоре мы с вами не только сравним общие способности лидеров рынка, но и присмотримся к тому, какая модель станет вашим лучшим оружием в конкретных областях.
Читать далее -
Self-hosted URL shortener + Raycast
Привет Хабр!
Я обожаю сокращать ссылки через собственный URL shortener. Это как clck.ru, только всё работает на собственной архитектуре и данные об использовании никуда не утекают. При этом домен я тоже могу поставить какой-нибудь красивый (к примеру - hdla.cloud).
Читать далее -
net/http: Разбираем работу сервера «под капотом»
Всем привет! Эта статья посвящена всеми любимому "разбору под капотом". На этот раз мы взглянем на работу HTTP сервера в Go и разберем некоторые нюансы и ключевые механизмы. Статья будет полезна как новичкам, так и опытным разработичкам!
Читать далее -
Почему мы все еще храним код в текстовых файлах?
Давным-давно программный код хранился на перфокартах, но эти времена прошли и теперь мы храним код в текстовых файлах, что конечно же лучше. Но, может быть, пора сделать еще один шаг и начать использовать другой формат, более удобный?
Читать далее -
Золотое сечение в дизайне 2025: Современные подходы к применению в веб и мобильном дизайне
Сегодня я хочу поделиться глубоким исследованием того, как применять золотое сечение в современном дизайне 2025 года. Эта статья основана не только на теории, но и на реальном опыте работы с крупными проектами, A/B тестах и исследованиях пользователей.
Читать далее -
Установка и настройка VsCode, MinGw под Windows, C++
C++ — это язык программирования, который был создан как улучшенная версия языка C. Он появился очень давно (в 1985 году), но до сих пор используется повсеместно: в играх, браузерах, операционных системах, автомобилях и даже в искусственном интеллекте!
Читать далее -
[Перевод] Обнаружение аномалий в данных временных рядов с помощью статистического анализа
Настройка оповещений для различных метрик не всегда представляет из себя тривиальную задачу. В некоторых случаях может быть вполне достаточно простого порогового значения, например, для отслеживания свободного места на диске устройства. Вы можете просто установить оповещение о том, что осталось 10% свободного места, и все готово. То же самое касается и мониторинга доступной памяти на сервере.
Однако что делать, если необходимо отслеживать поведение пользователей на веб‑сайте? Представьте, что вы управляете интернет‑магазином, где продаете товары. Одним из подходов может быть установка минимального порога для ежедневных продаж и проверка его раз в день. Но что, если вам нужно выявить проблему гораздо раньше, в течение нескольких часов или даже минут? Статичный порог не позволит этого сделать, так как активность пользователей может меняться в течение дня. Именно здесь на помощь приходит обнаружение аномалий.
Читать далее -
Как устроены переменные в Python: глубокое погружение в память и типы данных
В мире Python существует много мифов о том, как работают переменные. Одни говорят, что "всё передаётся по ссылке", другие утверждают обратное. Правда, как обычно, лежит где-то посередине и гораздо интереснее простых объяснений. В этой статье мы детально разберём механизмы работы с памятью в Python 3.13, изучим различия между mutable и immutable объектами, и поймём, когда Python создаёт новые объекты, а когда переиспользует существующие. Дабы статье пожить подольше - рассмотрю только версию 3.13.
Жми, если не Гей -
Интеграция с amoCRM на примере Telegram-бота
В этой статье мы расскажем, как создать собственного Telegram-бота, который интегрируется с amoCRM и распределяет уведомления о событиях в CRM, в зависимости от ролей пользователей. Система позволяет сотрудникам получать уведомления в том формате, который соответствует их обязанностям: отдел продаж видит сумму сделки и стадию, администраторы получают подробную информацию, а обычные пользователи – краткое сообщение о новой сделке. Такой подход способствует сокращению времени реакции на новые лиды, упрощает контроль за сделками и снижает необходимость постоянного ручного мониторинга CRM-системы.
Наш пример будет состоять из двух приложений. Базы данных PostgreSQL и скрипта бота.
Читать далее -
Почему Feature-Sliced Design (FSD) не спасет ваш проект
Каждый разработчик рано или поздно сталкивается с вопросом: как организовать проект так, чтобы он не превратился в хаос? Или как исправить проект, в котором уже царит хаос?
Начинается всё одинаково: мы делаем простое MVP или проект с ограниченным функционалом, не заморачиваемся по поводу архитектуры и организации кода, ведь проект небольшой и несложный, а сделать его нужно уже здесь и сейчас. Но время идёт, и у бизнеса появляются всё новые требования. Какие‑то изначальные идеи полностью отменяются или меняются до неузнаваемости, разрастается команда, дизайн меняется несколько раз, появляется необходимость покрыть проект тестами, а иногда и необходимость вообще сменить стек технологий. И вот вы уже работаете над кодом, в котором становится всё сложнее вносить изменения в существующий функционал. Всё держится на костылях, становится трудно ориентироваться в куче файлов, и кажется, что всё устроено как‑то не так, как должно быть.
В этот момент мы начинаем задаваться вопросом: «а как нужно писать и организовывать код на самом деле?». В поисках ответа мы читаем статьи, смотрим обучающие видео, доклады и неизбежно натыкаемся на Feature‑Sliced Design (FSD).
Читать далее -
Радиолокационный радар — менее чем за 400 рублей: на базе esp32 и wi-fi
Приходило ли вам в голову, что ваша любимая esp32, может использоваться в роли самого натурального радиолокационного радара?
Если не приходило, то добро пожаловать под кат, так как кое-кому это пришло:-))
Читать дальше → -
Paramiko, netmiko, astarmiko — что, опять?
Привет Habr!
Я уже начинал предыдущую свою статью Yast Another Config Manipulation или зачем изобретать велосипед? словами благодарности книге Натальи Самойленко Python для сетевых инженеров
Начну и эту. Если вы сетевой инженер и не знакомы с Python — начните с этой книги!
А еще помочь вам может моя библиотека Astarmiko — это продвинутый Python‑инструментарий для управления и автоматизации корпоративной сетевой инфраструктуры через SSH который родился при пошаговом выполнении заданий из книги.Так как в моем распоряжении была вся корпоративная сеть (нашего филиала), мне быстро наскучило играть в «песочнице».
И вот что получилось из учебного проекта