Обновить

CLite — библиотека для упрощения программирования на C

Уровень сложностиПростой

CLite — библиотека для упрощения программирования на языке C.

Библиотека CLite создана для C-програмистов, которые устали ошибаться в большом коде или писать много ненужных строк, чтобы функция работала стабильно.

Читать далее

Program Locker: простой способ защитить исполняемые файлы Windows паролем

Уровень сложностиПростой

В Windows нет удобного и быстро настраиваемого механизма, который позволяет защитить запуск исполняемого файла паролем.

Program Locker решает эту задачу: быстрый способ заблокировать запуск программы паролем — при этом предусмотрен отдельный режим, учитывающий особенности работы браузеров при проверке исполняемых файлов.

Читать далее

Аннотации типов в Python — мода или необходимость

Уровень сложностиПростой

Ещё несколько лет назад аннотации типов в Python воспринимались как нечто факультативное — «игрушка для перфекционистов» или заимствование идей из статически типизированных языков. Сегодня ситуация изменилась: type hints стали стандартной частью экосистемы Python.

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

Читать далее

Блокировка YouTube Shorts на Android: решение через фильтрацию контента в браузере

Уровень сложностиПростой

Данный материал содержит описание способа полного скрытия раздела Shorts в интерфейсе YouTube на мобильных устройствах. В качестве примера используется Xiaomi Redmi Note 14 5G. Способ предлагается «как есть» — автор не несет ответственности за стабильность работы в будущем, но подтверждает его эффективность на текущий момент.

Читать далее

Чем вызван феномен галлюцинирования нейросетей?

Уровень сложностиПростой

Добрый день, сразу оговорюсь - я сам не знаю до конца ответа на этот вопрос, поэтому и хочу прибегнуть к помощи сообщества для поиска ответа на него. Вообще мне как программисту приходится сталкиваться с ИИ каждый день, использую браузерную версию Qwen Chat для личных и частично рабочих вопросов, чисто для рабочих - Cursor как правило с Composer. Но в целом пробовал почти все известные модели конечно же.

Так вот, все знают, что нейросетям присущ феномен галлюцинирования, когда они выдумывают несуществующие факты и сущности. Непосредственно во время взаимодействия с ИИ во вопросам программировании у меня этого почти не проявляется, видимо, существуют некие ограничения по умолчанию и вообще в данной области ИИ трудно галлюцинировать. По крайней мере я никогда не сталкивался, что ИИ в программировании предлагает некие несуществующие языки программирования или несуществующие конструкции. Максимум - необъявленные переменные или (очень редко) конструкции из других языков, которых нет в данном, да и то по большей части это касалось различий в диалектах SQL.

Однако в таком казалось бы простом вопросе как объяснение или пересказ фильма ИИ могут проявлять удивительно высокий уровень галлюцинирования. Я часто спрашиваю у Qwen объяснение серии какого‑либо сериала, когда не до конца понимаю ее смысл. В целом, что касается смысла ИИ интерпретирует вроде как верно, и как мне всегда казалось ее оценки и понимание сюжета базируется не на чистой фантазии, а на мастер‑данных, которые в нее были заложены — то есть общее описание сюжета, отзывы реальных критиков и зрителей. Но что касается пересказа сюжета — тут ИИ может выдавать очень забористые галлюцинации. Например, недавно начал смотреть «Черное зеркало» (поздновато, но все же).

Читать далее

Telegram bot + Giga Chat: подключаем ИИ к своему боту на Python

Уровень сложностиПростой

Всем привет!

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

Читать далее

PEP-810 и тотальная тряска

Уровень сложностиПростой

ТРЯСКА вокруг PEP-810

Относительно недавно приняли PEP-810 и началась ТОТАЛЬНАЯ ТРЯСКА, и я ее не понимаю. PEP-810 - это нововведение, которое добавляет в Python поддержку явных ленивых импортов. Да-да, теперь можно писать...

Читать далее

Как ИИ, цифровые двойники и роботы партнёры трансформируют склады будущего

Уровень сложностиПростой

Если вы до сих пор воспринимаете автоматизацию склада как просто набор конвейеров и тележек работающих под управления WMS системы, которые перемещаются по заранее зафиксированным маршрутам, возможно, стоит пересмотреть своё мнение. За последнее время произошли значительные изменения. Сейчас не просто заменяется ручной труд, а создаётся цифровая нервная система для физического пространства склада. Ознакомившись с зарубежными исследованиями, я наблюдаю, что акцент сместился на интеллектуальные, почти живые системы. Давайте рассмотрим ключевые направления этого изменения, посмотрев на реальные примеры и научные изыскания в этих направлениях.

Читать далее

Мастер таблицы по Сетевым Моделям и Протоколам

Уровень сложностиСредний

Это руководство объединяет две методологически корректные таблицы - одну для концептуальных моделей (OSI и TCP/IP) и одну для конкретных протоколов и технологий

Изучить

Flutter антипаттерн: Как setState() превращает ваше приложение в слайд-шоу

Уровень сложностиСредний

Проблема: Многие Flutter-разработчики злоупотребляют setState(), вызывая его даже тогда, когда изменение переменной не влияет на UI. Каждый лишний setState() — это потенциальные 60 FPS → 59 FPS в сложных интерфейсах.

Читать далее

Хватит дебажить через print(): Инструмент для просмотра сырых Telegram Update’ов

Уровень сложностиПростой

Привет, Хабр.

Каждый, кто писал более-менее сложного бота для Telegram, знаком с циклом «слепого» дебага. Допустим, вам нужно обработать специфический кейс: invoice от платежной системы, сообщение из топика супергруппы или хитрый форвард со скрытым отправителем.

Документация Telegram API обширна, но не всегда дает наглядное представление о том, что конкретно прилетит в вебхук. Обычно мы делаем так:

Читать далее

Как я смоделировал первое приложение

Уровень сложностиПростой

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

Читать далее

Настройка цели «Клик по кнопке» в Яндекс Метрике: проблема и решение

Сначала создание цели, потом — использование результатов в рекламной кампании. Так и поступаю. Управляю своим сайтом и продвижением лично. И при работе в Метрике и Директе у меня как неспециалиста возникают трудности. Ищу решения: делаю запросы в поисковиках, уточняю у нейросетей. Проверяю на практике. Об одном случае расскажу здесь — читателям может пригодиться.

Читать далее

Как корректно собрать трафик со множества своих доменов

Уровень сложностиПростой

Ситуация: у вас по какой-то причине есть множество доменов, которые когда-то были сайтами или не были ими никогда. На всех этих доменах есть какой-то остаточный трафик, туда заходят просто любопытствующие или, возможно, вы намеренно занимались тайпсквоттингом и нарегистрировали похожих на gooogle и wkontakte имён. У меня вот таких доменов из прошлой жизни накопилось несколько десятков. Как собрать с них посетителей?

Глобально, проблем тут две:

1. люди заходят со странных диковинных страниц, никогда не существовавших или давно удаленных

2. люди обычно заходят по протоколу https, а не http.

Просто перебрасывать трафик с сохранением $request_uri не стоит, т. к. будут возникать 404 ошибки. Обработка таких ошибок у вас должна бы быть, но обычно это всё-таки какая-то заглушка, а не полноценная функциональная страница сайта, т. к. «обычная» страница вызовет еще больше вопросов и непонимания. Потому $request_uri нужно обязательно вырезать. Попал человек неизвестно откуда неизвестно как на титульную другого сайта — у него хотя бы есть стандартная удобная точка, откуда можно начать. Ну, или создайте отдельную страничку с пояснением, что рады его видеть, несмотря на конфуз.

Вы, возможно, удивитесь, но просто прописать в .htaccess через RewriteEngine новое правило явно недостаточно. Основной трафик идет по https, а если на домене нет нормального валидного сертификата, то из-за самоподписанного или отсутствующего сертификата браузер наверняка вывалит сообщение о потенциальной опасности и вообще откажется куда-либо переходить. Вы просто теряете посетителя. Абсолютное большинство посетителей. Именно из-за того, что весь современный интернет работает по https.

Читать далее

Мой первый On-chain опыт на Base. The Wall Base: техническая архитектура социального мини-приложения на BaseAPP

Уровень сложностиСредний

18.12.25 Base запустила своё Mini App SDK, но я получил доступ к нему немного раньше еще на Beta-тестировании. Мне стало интересно: смогу ли я собрать миниаприложение, в котором каждое действие пользователя оставляет on-chain след. В статье описываю архитектуру, code-level решения, баги, инфраструктуру и все проблемы, которые пришлось пройти. Так появился The Wall Base — мини-приложение внутри Farcaster/BaseAPP

BaseAPP — Это web3 суперапп, эволюция кошелька Coinbase совмещающие в себе социальные сети, блокчейн, торговлю, платежи и мини-приложения

Читать далее

Разработка API-сервиса для развертывания моделей машинного обучения

Уровень сложностиПростой

В данной работе описывается процесс создания REST API сервиса для развертывания моделей машинного обучения с использованием фреймворка FastAPI. В качестве практического примера обогащения входных данных рассматривается получение геопространственных признаков через Overpass API.

Читать далее

Развитие летающих автомобилей

Уровень сложностиПростой

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

Для меня, летающие автомобили — это мобильные транспортные средства, обеспечивающие движение по дорогам общего пользования и использующие взлетно‑посадочную полосу для взлета и посадки. В моем понимании к летающим автомобилям не относятся и не рассматриваются проекты VTOL (Vertical and/or short take-off and landing (V/STOL)), квадрокоптеры и беспилотные летательные аппараты.

Читать далее

Транзакции в базах данных и ACID

Уровень сложностиСредний

Хранить данные - важно. Иметь возможность их прочитать - полезно. Не оболваниться в процессе внесения в эти данные изменений - жизненно необходимо для любой информационной системы. Свойство "не оболваниться" и воплощают в себе транзакции БД.

Что имеем по факту: транзакция БД - это просто одна из функций, которая гарантируется нам конституцией используемой БД и её СУБД. В общем-то, сейчас эта функция есть в наличии почти у любой уважающей себя (СУ)БД. Псевдокод транзакции будет выглядеть как-то так:

[ START TRANSACTION;

UPDATE accounts

SET balance = balance - 100

WHERE id = 1;

COMMIT (or ROLLBACK)]

Логика этого псевдокода проста: пользователь инициирует выполнение транзакции, между компьютером пользователя и базой данных устанавливается стабильное соединение; далее последовательно выполняются команды внутри транзакции - внести изменения в данные, что-то удалить, что-то создать; далее транзакцию нужно красиво завершить одним из двух способов - либо сделать ROLLBACK, и всё отменить, либо сделать COMMIT - и всё подтвердить. 

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

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

Читать далее

Мини-ПК как сервер: установка Ubuntu Server на DEXP Compact M008 и все грабли, на которые я наступила

Уровень сложностиПростой

Я решила использовать мини‑ПК DEXP Compact M008 как учебный сервер: для экспериментов с Linux, сетями, Docker и удалённым доступом. Казалось бы — стандартная задача. На практике всё пошло по классическому сценарию: «вчера работало, сегодня нет».

Ниже — реальный опыт установки Ubuntu Server, базовой настройки и диагностики сетевых проблем, которые сначала выглядели мистикой, а потом оказались вполне объяснимыми.

Читать далее
1
23 ...