Как стать автором
Поиск
Написать публикацию
Обновить

Шпаргалка по обнаружению и удалению руткитов ядра Linux

Большинство руткитов, которые все еще работают с последними версиями ядра, используют известный метод перехвата ftrace, поскольку перехват таблицы системных вызовов устарел и не работает для большинства последних версий ядер именно из-за защит и изменений, которым подверглось ядро.

Поскольку большинство современных руткитов используют ftrace, почему бы не отключить его?

Читать далее

Как один проект 1С обернулся для моей компании долгами в 72 млн рублей

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

Меня зовут Калашников Роман, я основатель и руководитель компании «Фобизнес», 17 лет официальный партнёр 1С, более 20 лет в ИТ, десятки внедрённых проектов, в том числе федерального масштаба.

В этой статье я расскажу, как внедрение ZUP 3.1 для крупной нефтесервисной компании превратилось в кризис, который стоил мне команды, недвижимости и почти 3 лет жизни. А ещё — поделюсь выводами, которые могут сберечь вас от тех же ошибок.

Читать далее

Магия шанса в играх: от истории вероятности до ваших игровых механик

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

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

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

Читать далее

Стрелочные функции JS, быстро, просто и без проблем

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

Стрелочные функции JS, быстро, просто и без проблем!

1. Стрелочные функции: arguments, hoisting

2. Работа с контекстом

3. Методы присваивания контекста

4. Обработчик событий

Читать далее

Выгрузка данных в Python: JSON/XML/Excel/CSV

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

Аннотация
Статья «Выгрузка данных в Python» — это практическое руководство по работе с ключевыми форматами данных в современных проектах. Вы узнаете:

Как выбирать инструменты под разные сценарии:

JSON для интеграции с веб-сервисами

XML для сложных древовидных структур

Excel для бизнес-отчетности

CSV для кросс-платформенной совместимости

Лучшие практики работы с популярными библиотеками:

pandas для табличных данных

xml.etree.ElementTree для парсинга XML

json и кастомные энкодеры

Как избежать критических ошибок:

Обработка кодировок (автоопределение через chardet)

Защита от уязвимостей (XXE-атаки в XML)

Валидация входных данных

🔧 Бонус: Готовые примеры кода, таблицы сравнения форматов и чек-лист выбора инструмента под задачу.

Для кого:

Python-разработчиков

Data Analyst и Data Engineer

Всех, кто работает с импортом/экспортом данных

Результат: Научитесь уверенно работать с любыми форматами данных, оптимизируете процессы выгрузки и избежите типичных ошибок.

Читать

Когда аквариум становится хакером: нестандартные инциденты кибербезопасности и чему они нас учат

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

Каждый специалист по информационной безопасности регулярно сталкивается с типичными проблемами: фишинг, вирусы, неверно настроенные доступы. Но иногда появляются инциденты, которые выходят за рамки обыденного — такие, что становятся легендами ИБ-сообщества.

От шпионских червей и утечек в отелях до тортов вместо бомб: реальные истории из мира ИБ, которые удивляют даже бывалых специалистов.

Читать далее

Как я ускорил сборку проекта на 25% с помощью кэширования зависимостей

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

Всем привет! Меня зовут Иван, я backend-разработчик. В этой статье хочу поделиться опытом оптимизации процесса сборки в одном из наших проектов на Node.js. Возможно, мой опыт поможет вам сократить время CI/CD pipeline.

Читать далее

Параллельные миры Python: threading, multiprocessing и asyncio в бою

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

Или как не запутаться в многозадачности и выбрать правильный инструмент

Вы пишете код на Python и столкнулись с медленной работой приложения? Возможно, вы используете не тот подход для параллельных задач. Один разработчик заменил threading на asyncio и ускорил API в 5 раз, другой — применил multiprocessing и сократил время обработки данных с часов до минут. Но как понять, что подойдёт именно вам? Давайте разберёмся, как работают эти инструменты, и главное — когда их стоит (или не стоит) применять.

Узнать лучшее

Манипуляции в UX. Как онлайн-сервисы реагируют на отписки пользователей

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

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

Читать далее

Как я сделал GovnoBrowser: легкий браузер на Python и QtWebEngine?

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

GovnoBrowser: полноценный браузер на Python, легче Chrome в 3 раза. Разбираю архитектуру, тесты и планы по развитию. Для тех, кто хочет скорость без слежки. Открытый код — никаких «волшебных» оптимизаций. Для всех, кто ценит простоту и безопасность.

Читать далее

GIMP: префильтрация перед порогом

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

В GIMP порог применяется в основном для создания различных масок при работе со слоями. Сам порог в GIMP реализован в виде простого глобального интерактивно настраиваемого глобального порога: "Цвет" -> "Порог".

Читать далее

Как я хотел создать ИИ-ассистента, а в итоге развернул свой первый сервер с n8n, Docker и Nginx

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

История о том, как попытка автоматизировать рутину привела к открытию и прокачке моих технических навыков в DevOps.

Читать далее

Эмулятор Qemu | Установка и настройка

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

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

Читать далее

Flashback — хорошая замена Replay? (Minecraft)

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

Всем, кто снимает видео в Майнкрафте! Устали от глюков Replay Mod? Попробуйте Flashback - новый мод для записи геймплея.

Чем лучше?

✔ Работает на новых версиях.
✔ Не тормозит даже на слабых компах.
✔ Удобнее настраивать камеру.
✔ Подходит для Fabric с оптимизационными модами.

Читать далее

Как создать голосового помощника без облаков: локальная обработка речи на Android и ПК в 2025 году

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

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

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

Локальный голосовой помощник без облаков

Nuxt Core Template: Enterprise-grade Nuxt 3 Starter Template

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

Как ускорить разработку и не потерять в качестве?

Привет, Хабр! Сегодня хочу рассказать о проекте, который родился из многолетнего опыта разработки enterprise-решений на Nuxt. Nuxt Core Template — это не просто стартер, а полноценный бойлерплейт с продуманной архитектурой, готовый к масштабированию. Давайте разберем, почему он стоит вашего внимания.

Каждый новый проект начинается с недели настройки — роутинг, валидация, конфиги окружений, интеграция модулей. Nuxt Core Template решает эту проблему, предлагая:

Читать далее

Почему я создал современный SDK на TypeScript для Telegram-ботов (и почему Вам стоит его попробовать)

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

Когда я впервые начал писать Telegram-ботов на Node.js, я думал, что это будет весело.

Но довольно быстро я упёрся в знакомую стену: бойлерплейт, ручная настройка, слабый DX (developer experience). Ты знаешь, как это бывает.

Ты просто хочешь отправить сообщение или установить webhook — а вместо этого копируешь код с Stack Overflow, вручную пишешь fetch-запросы, собираешь URL-ы по кускам и разбираешься с расплывчатыми ошибками вроде "Bad Request" без малейшей подсказки, что именно пошло не так.

Да, библиотеки существуют. Но большинство из них — либо устаревшие, либо раздутые, либо просто неудобные, особенно если ты используешь TypeScript и хочешь строить что-то серьёзное.

И вот тогда я понял:

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

Так появился gramflow — современный, минималистичный и ориентированный на разработчиков SDK для Telegram Bot HTTP API.

Читать далее