❌

Normal view

Системное программирование на C++: процессы, C-API и WinAPI

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

Это вторая статья цикла про C++. В первой я разбирал базу для тех, кто начинает с нуля: переменные, циклы, классы, контейнеры. Здесь идём на уровень ниже — как обычная C+±программа договаривается с операционной системой.

Сразу скажу, зачем я вообще полез в эту тему. В колледже была лаба, где нужно было поднять процесс, дождаться его и снять код возврата. Я неделю не понимал, почему fork() в одном случае возвращает ноль, а в другом — PID, и почему после exec ребёнок «исчезает». Препод объяснил это минут за десять — и я понял, что половину объяснений всё равно не понял. С тех пор я пишу такие вещи с расстановкой: не «fork() создаёт процесс», а что именно он возвращает, что происходит в коде после вызова и что будет, если забыть закрыть дескрипторы. Поэтому статей будет много, а примеров в каждой — ещё больше.

Что дальше в цикле, чтобы было понятно, куда мы движемся:

Читать далее

AI в управлении уязвимостями: помощник, оружие и новая мишень одновременно

Искусственный интеллект ускоряет приоритизацию и сам находит уязвимости (Google Big Sleep предотвратил реальную атаку). Но те же технологии вооружают злоумышленников и сжимают окно реакции до часов. А еще ваши собственные AI-системы становятся целью - со своим OWASP Top 10 и уязвимостями в протоколе MCP - и часто работают у вас в тени, вне поля зрения ИБ. Разбираем все три роли AI без хайпа.

Читать далее

Первый рабочий день джуниора Данилы. Часть 3. Скидка трейдеров из Гуанчжоу

В предыдущей серии: Краткое содержание части 1 и 2.

• Часть 1. «Прайс из Китая»

История о том, как в ИТ-отделе крупной компании "ИнвестБолт", которая знает цену специфики ВЭД с Китаем, наступило начало прекрасного дня: сеньор Михалыч флегматично чистил воблу, тимлид Антон Павлович пил кофе, а амбициозный 22-летний джуниор Данила (самопровозглашенный «Промпт-Архитектор») радовался жизни. Это был его первый официальный рабочий день после долгих месяцев штурма Хедхантера, и Данила чувствовал себя баловнем судьбы. Он искренне верил, что ИИ уже заменил сеньоров, ведь нейросеть по его первому запросу сгенерировала синтаксически идеальный код для управляемых форм, решил загрузить «быстренько и красивенько» китайский прайс на 300 000 строк из Гуанчжоу. Доверившись ИИ, он скормил файл платформе через ТабличныйДокумент.Прочитать(). Итог: Данила уронил рабочий сервер в разгар закрытия квартала у бухгалтерии.

• Часть 2. «Визит Анастасии Марковны»

Решив, что один поток — это прошлый век, Данила выбил из нейросети новый «универсальный рецепт» и бахнул многопоточность через ФоновыеЗадания.Выполнить(). Одно нажатие кнопки — и сервер 1С породил неуправляемую лавину фоновых процессов. Михалычу пришлось вручную вычислять сеанс «Пациента Зеро» в консоли администрирования и спасти базу, чтобы сменить гнев на милость главбуха Анастасии Марковны.

Часть 3. Скидка трейдеров Гуанчжоу.

Действующие лица:

• Сеньор (Михалыч) — излучает абсолютное спокойствие.

• Джуниор (Данила) — смотрит на Михалыча как на средневекового инквизитора.

Читать далее
❌