Обновить

Разработка 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 - и всё подтвердить. 

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

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

Читать далее

shadcn-glass-ui: Glassmorphism поверх shadcn/ui без миграции

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

Привет, Хабр! Представляю shadcn-glass-ui — библиотеку React-компонентов с glassmorphism-эффектами, которая работает поверх существующих shadcn/ui проектов без миграции.

Читать далее

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

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

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

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

Читать далее

Парсер статей Хабра по количеству комментариев и рейтинга

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

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

Читать далее

Ядро Linux: Реально ли это просто программа?

Привет всем!

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

Я решил сам разобраться и доказать: ядро Linux — это просто исполняемый файл. Никакой магии. Его можно взять, скомпилировать (или просто скопировать) и запустить, как любой другой бинарник.

Сейчас мы проделаем пару простых но крутых экспериментов. Цель не столько повторить их, сколько построить в голове четкую картину, как вообще Linux устроен и как его компоненты общаются.

Но сперва — а что это вообще за ядро?

Читать далее

Базовая защита сервера на Linux

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

Всем привет. Меня зовут Дмитрий Филиппов, я явлюсь разработчиков AI-платформы VEGA chat. В статье хочу поделится личным опытом администрированием серверов, а именно с чего должна начинаться защита сервера послей установки.

Базовая защита — это то, с чего должна начинаться каждая установка сервера на Linux. Без этого ваш сервер может превратится в тыкву, майнинг ферму, а если вы еще и данные users потеряете — большие штрафы могут вас ждать. В этой статье мы обеспечим базовый минимум защиты нашего сервера, чтобы он не стал легкой добычей для интернет-злодеев.

Читать далее

Сервис на базе Telergam

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

В этой статье мы рассказываем о реализованном приложении на базе Telegram Mini-App, которое меняет правила игры на рынке строительных услуг. Цель — создать пространство прямого взаимодействия между заказчиками и исполнителями, где ключевыми факторами успеха станут реальные навыки и качество работы, а не маркетинговые приёмы.

Читать далее

Язык мысли: как отделить смысл от текста и построить настоящую семантическую систему

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

Сегодня мы умеем хранить текст, данные, формулы, даже эмоции в числах,
но у нас нет носителя смысла.

Попробуйте сохранить мысль, а не предложение:

Читать далее

Nest — как Make, но с иерархией и крабами

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

Nest — декларативный task runner на Rust, альтернатива Make и Just с поддержкой иерархии задач. Использует читаемый синтаксис на основе отступов (как в Python), объединяя команды в одном Nestfile. Идеален для полиглот-проектов и автоматизации без плоской структуры.

Читать далее

Гайд: как реализовать децентрализованный логин на Go с libp2p

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

Что такое децентрализованная база данных? - это хранилище данных, в котором нет единого сервера.

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

Читать далее

Практическое применение потокового редактора SED

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

Работая с АльтЛинукс 10 я обнаружил, что команда apt-cache show <имя пакета> выводит много дополнительной информации, которая возможно важна для мейнтейнеров, но не представляет ценности для меня. Более того дополнительная информация выглядит как шум и затрудняет анализ данных. Для решения этой проблемы я использовал потоковый редактор sed.

Читать далее

Corel Draw: Как получить доступ к пунктам меню в коде макроса

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

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

Рассмотрим два варианта, которые связаны между собой.

Читать далее

Доказательство гипотезы Коллатца

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

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

Читать далее

Как настроить отправку оповещений Wazuh в Telegram и Bitrix24: полное руководство

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

Wazuh — мощная открытая платформа для мониторинга безопасности, обнаружения угроз и соответствия нормативным требованиям. Но по умолчанию она отправляет алерты только в логи или SIEM-систему. Что делать, если вы хотите оперативно получать уведомления в Telegram и автоматически создавать задачи в Bitrix24 при критических событиях — например, при изменении членства в группе администраторов или блокировке учётной записи?

Читать далее

Кейс, который ломает миф про сезонность на Авито: х3 заявок в нише «Мойки высокого давления»

Кейс на Авито: 240 заявок по 362 рубля, где средний чек товара 90000 рублей.

Работа с производителем моек высокого давления. Россия, лето — традиционный «мертвый сезон». При бюджете 90 000 рублей заказчик получал всего 90 обращений в месяц и считал, что «Авито тут ни при чём, просто сезон провальный».
Мы доказали обратное: за один месяц увеличили количество заявок в 3 раза — при том же бюджете. Цена заявки упала в 3 раза.

Читать далее

Static Factory Methods: оружие Java-разработчика

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

Достаточно писать скучные конструкторы! Пришло время освоить статические фабричные методы — подход, который кардинально изменит ваше представление о создании объектов в Java.

Читать далее

Мнение эколога, голубевода об использовании голубей в качестве биодронов

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

Недавно было опубликовано сообщение о положительных результатах испытания в России голубей-биодронов, которым вживляют чип в головной мозг, вешают на них видеокамеру и заставляют лететь в заданном направлении для наблюдений и разведки. Эколог, голубевод, эксперт “Центра правовой зоозащиты”  Евгений Ильинский рассказывает об этичности и эффективности использования голубей в качестве биодронов.

Насколько этично использование голубей в качестве биодронов?

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