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

Разработка

Сначала показывать
Порог рейтинга

Хакеры обожают нас 👨‍💻

Ура! Мы получили «Приз хакерских симпатий» на международном форуме Positive Hack Days. Это высокая оценка со стороны киберсообщества.

Платформа Standoff Bug Bounty подвела итоги за три года работы. Это почти 25 тысяч исследователей кибербезопасности из 60 стран мира.

Почему нас любят?

✅ Быстро реагируем на отчеты багхантеров
✅ Сразу выплачиваем вознаграждения
✅ Общаемся открыто и friendly

И скромно напоминаем, что внешние исследователи могут заработать с нами до 500 000 ₽.

Проверить нашу защиту на уязвимости →

Теги:
Всего голосов 10: ↑10 и ↓0+12
Комментарии0

Задачи Структурных Паттернов: Адаптер и Компоновщик — в чём суть?

В пятой серии открытого курса «Паттерны и практики написания кода» мы начинаем новую объёмную тему — изучение Структурных Паттернов. Она состоит из семи подходов. В эпизоде вместе с бэкенд-инженером Юрой Афанасьевым погрузимся в особенности работы Адаптера и Компоновщика.

Смотреть VK
Смотреть YouTube

Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.

Теги:
Всего голосов 23: ↑22 и ↓1+21
Комментарии0

Как развернуть сервис для сбора данных с 500 000 транспортных средств

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

Компания «ГЛОНАССSoft» справляется — на инфраструктуре Selectel. В Академии Selectel рассказываем, как команда:

  • обрабатывает 25 миллионов запросов в день,

  • держит инфраструктуру стабильной под высокой нагрузкой с SLA 99,995% за счет репликации, облачных балансировщиков и производительного железа,

  • защищает API с помощью файрвола и настроек сети,

  • минимизирует риски потерь данных благодаря S3-хранилищу.

Теги:
Всего голосов 6: ↑6 и ↓0+7
Комментарии0

Верстаем письмо на React, чтобы оно корректно отображалось во всех почтовых клиентах

Чтобы свёрстанные письма хорошо выглядели на десктопе и мобильных, нужно знать, как почтовые клиенты поддерживают возможности CSS и HTML. И на практике это не всегда просто. Например, Gmail отбрасывает атрибут style целиком, если встречает в нём цвет, заданный как rgb. В итоге даже в 2025 году вёрстка писем нередко сводится к написанию таблиц и атрибутов наподобие align, valign, bgcolor и т.д.

Вдобавок, после отправки письмо нельзя поправить, как страницу на сайте, и это тоже добавляет сложности.

Наша команда решила оценить для создания писем библиотеку React Email. Она предоставляет компоненты, которые генерируют HTML и CSS для корректного отображения во всех почтовых клиентах. Письмо можно посмотреть в браузере и отправить на почту. Под капотом всё равно останутся таблицы, но писать их руками не придётся.

На примере отправки через сервис Yandex Postbox покажем, как это работает.

Начало работы. Установим библиотеку @react‑email/components и клиент для работы с почтовым сервисом AWS SESv2 — Postbox поддерживает эту версию клиента.

npm install @aws-sdk/client-sesv2 @react-email/components

Создадим компонент, который будет генерировать письмо:

email.tsx
import * as React from 'react';
import { Button, Html } from '@react-email/components';

export function Email(props) {
   const { url } = props;

   return (
       <Html lang="en">
           <Button href={url}>Click me</Button>
       </Html>
   );
}

Больше компонентов — в документации.

Создание аккаунта в облаке

  1. Создадим сервисный аккаунт в том же каталоге, в котором находится адрес. Если создать сервисный аккаунт и адрес в разных каталогах, при попытке отправить письмо возникнет ошибка.

  2. Назначим сервисному аккаунту роль postbox.sender.

  3. Для отправки письма с помощью SDK создадим статический ключ доступа. Важно надёжно сохранить идентификатор и секретный ключ. После того как вы закроете окно, параметры секретного ключа станут недоступны.

Отправка письма. Ключи доступа можно передать в конструктор SESv2Client явно, как показано ниже, указать их в переменных окружения или использовать конфигурацию AWS CLI.

import { render } from '@react-email/components';
import type { SendEmailCommandInput } from '@aws-sdk/client-sesv2';
import { SendEmailCommand, SESv2Client } from '@aws-sdk/client-sesv2';
import { Email } from './email';
import React from 'react'


const sesClient = new SESv2Client({
   region: 'ru-central1',
   endpoint: 'https://postbox.cloud.yandex.net',
});

const emailHtml = await render(<Email url="https://example.com"/>);
const emailText = await render(<Email url="https://example.com"/>, {
   pretty: true,
   plainText: true,
});

const email: SendEmailCommandInput = {
   Content: {
       Simple: { 
           Body: {
               Html: {
                   Data: emailHtml,
               },
               Text: {
                   Data: emailText,
               },
           },
           Subject: {
               Data: 'Тестовое письмо',
           },
       },
   },
   Destination: {
       ToAddresses: [
           'bob@example.com'
       ],
   },
   FromEmailAddress: 'Alice <alice@example.com>',
}

const command = new SendEmailCommand(email);

const result = await sesClient.send(command);
console.log(result);

Чтобы удобно запускать скрипт, установим tsx loader:

npm install --save-dev tsx

Теперь запустим скрипт, передав в переменные окружения ключи сервисного аккаунта:

AWS_ACCESS_KEY_ID=... AWS_SECRET_ACCESS_KEY=... node --import @nodejs-loaders/tsx index.tsx

В консоли увидим ответ от Postbox. Если письмо отправлено успешно, то в ответе будет MessageId.

{
 '$metadata': {
   httpStatusCode: 200,
   requestId: undefined,
   extendedRequestId: undefined,
   cfId: undefined,
   attempts: 1,
   totalRetryDelay: 0
 },
 MessageId: 'D8BT2CX3IDK2.2HZQ4CE0E8CRL@ingress1-sas'
}

Если захотите отправить несколько писем в цикле, рекомендуем добавить в код задержку между отправками, чтобы не превысить квоту.

Теги:
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Как не только быстро развернуть бота в облаке без сложных настроек, но и сэкономить на его поддержке? Обсудим на предстоящем вебинаре 🖥️

Архитектор решений Cloud.ru Илья Смирнов расскажет:

  • как развернуть бота в облаке — варианты, а также плюсы и минусы каждого подхода;

  • в чем особенность развертывания бота;

  • какие нужны компоненты, чтобы построить бота в облаке.

А еще покажет демо по настройке вебхука для Telegram-бота, обработке событий и хранению данных в облаке.

📆 Когда: 5 июня в 11:00 мск

📍 Где: онлайн

Зарегистрироваться 👈

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

Теги:
Рейтинг0
Комментарии2

Joomla 6 нуждается в вашей помощи с тестированием.

Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.

Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему.

📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.
В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом.

На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.

Open to all. All together.

Также вам поможет сделать первые шаги это видео.

GitHub Joomla.

Да, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.

Теги:
Рейтинг0
Комментарии1

Майкл Делл, основатель и директор Dell, сообщил, что компания в первом квартале получила заказов на оборудование для ИИ на сумму 12,1 млрд долларов, превысив общий объем поставок за весь 25 финансовый год. И ещё остаётся портфель заказов в 14,4 млрд долларов.

Теги:
Рейтинг0
Комментарии0

Некто Broksh опубликовал видеоролик, где пенсионерка демонстрирует необычного домашнего питомца. В типичной пятиэтажке старушка содержит гиппопотама. Понятно, что это ещё одна демонстрация недавно вышедшей модели генерации видео со звуком Google Veo 3.

Нелегко оценить конкретные человеческие усилия, приложенные для создания этого видеоролика. Broksh — это не человек, а целый продакшн полного цикла с опытом работы в съёмках реалити-шоу, клипов, рекламы и коротких фильмов. Если судить по шоурилам студии (1, 2), навыков вполне хватает на сложную композицию, VFX, CGI и прочий постпродакшн. Вполне возможно, что творчество генеративных моделей Veo 3 или Sora было сильно доработано человеческими руками.

В комментариях автор видеоролика признаётся, что пришлось правильно составить промпты для модели, расставить кадры, прописать текст и интонации несуществующих актёров. Также указывается, что были дополнительно доработаны звук, цветокоррекция и постпродакшн в целом.

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

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

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

Теги:
Всего голосов 3: ↑2 и ↓1+1
Комментарии8

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

Иван Фёдорович Крузенштерн, тел. +7 901-202-33-44, адрес г. Мусохранск, улица Скотопрогонная д.4 кв.13

А это не персональные данные, нет?
Доступные для неопределенного круга лиц, начиная от почтальонов всея страны, включая случайных гопников, взламывающих от скуки почтовые ящики в подъезде, дворника-нелегала, собирающего мусор в подьезде, и до работников мусорного полигона, набранных из лиц проблемного образа жизни, сортирующих мусорные мешки за копейки.

Где "принятые мероприятия", где "приказ о назначении ответственного (не более одного человека)" и прочая-прочая?

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

Теги:
Всего голосов 5: ↑5 и ↓0+5
Комментарии11

Я Павел Денисенко, отвечаю за развитие дата-платформы в X5 Tech!

Редко публикую тут посты (никогда), но сейчас не могу не поделиться новость о том, что наша команда CDO X5 Tech впервые участвует в Data Fest — главном событии года для сообщества Open Data Science! 

В один из дней, 1 июня, мы принимаем фестиваль у нас в гостях, и это событие нельзя пропустить!

Наша программа будет насыщенной и интересной. Мы будем рады поделиться опытом X5 Tech с сообществом дата-экспертов. Наши эксперты поделятся докладами на самые актуальные темы в области инженерии данных и искусственного интеллекта. С участием признанных экспертов индустрии Data и ML в Retail мы поговорим о том, как данные меняют сферу ритейла и не только ее. 

Но это еще не всё! В нейтральных секциях мы также поговорим о таких темах, как Advanced LLM и ML in Music. Узнаем, как большие языковые модели находят применение в разных сферах и что происходит на стыке машинного обучения и творчества.

🌟 И, конечно, не обойдется без неформальной части: холиварные зоны для тех, кто точно знает, как правильно, и вечеринка после официальной части для самых стойких.

📍 Где и когда? 1 июня, Москва, Loft Hall. 

Data Fest 2025 — must visit для всех, кто интересуется работой с данными и хочет лучше понимать, как информационные технологии меняют бизнес и помогают в работе. Мест немного, так что успевайте зарегистрироваться по ссылке!

Не упустите шанс стать частью этого восхитительного события! Ждем вас!

Ссылка для регистрации

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Подключайтесь к митапу об Open Source и ML через час

Ровно через час, в 18:00, вместе с ODS проведем митап с двумя полноценными сессиями. Мы расскажем про инфраструктурный ML, а ODS — про Open Source. Подключайтесь к трансляции!

Доклады

  • Автоскейлинг инференса в k8s

  • ML-платформа на базе ClearML с Dataset Mesh-принципами

  • Эффективный мониторинг территорий: MLOps для семантической сегментации спутниковых снимков

  • MLOps для дата аналитики: автоматизация ETL-процессов c помощью ClearML

  • SVETlANNa = свет + artificial neural network: как физики делали Open Source и что из этого вышло

  • Платформа для обучения нейронных сетей 

  • Проблемы и текущие решения в области real-time feature engineering / data processing в ML. Оpen Source проект Volga

Переходите по ссылке и до встречи в эфире ❤️

Теги:
Всего голосов 1: ↑1 и ↓0+2
Комментарии0

Всем привет!

Представляю вам мой новый проект: Terpinal.

Также я называл его "терпи нал".

Это терминальная операционная система для Raspberry Pi Pico. Который выводит на SSD1306.

Вот ссылка:

https://github.com/SystemSoftware2/Terpinal

Прочитайте README.md и узнайте что и как подключить.

Также я называю операционку как PicoOS Firmware (не знаю почему так).

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии3

Шеф, всё пропало! Что делать, если Роскомнадзор не работает, лежит, и уже вряд ли поднимется до 30 мая? Не успели зарегистрироваться на сайте? Есть еще два варианта: отправка печатной формы через обычное почтовое отделение и госуслуги.

С 30 мая вступают в силу масштабные поправки в законе о персональных данных №152-ФЗ с 30 мая 2025 года. К слову, я сам узнал об этом не так давно, и успел запрыгнуть в уходящий поезд.

А ещё поправки в законе об административных правонарушениях №420-ФЗ от 30 ноября 2024 года.

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

Это касается вообще всего: сайтов, бухгалтерии и отчетности, кадровиков.

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

Кто подпадает под требования:

  • Является работодателем, осуществляет подбор кадров.

  • Имеет базу данных с контактами контрагентов или каким либо образом хранится данная информация (CRM, 1С, ЗУП и т.д.).

  • Размещает на своем сайте форму обратной связи для физических лиц.

  • Получает доход от ведения деятельности посредством сети Интернет, осуществляют продажи онлайн и т.п.

А ответственность уже нешуточная, кроме выросших во много раз штрафов:

  • Административная ответственность;

  • Штраф до 300 000₽ за отсутствие уведомления о начале обработки ПД;

  • Уголовная ответственность (статья 272.1 УК).

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

Забавно, что есть и казусы.
Новые изменения говорят о том, что после увольнения ПД сотрудника должны уничтожаться. Но, штука в том, что: просто удалить файл уже недостаточно. Уничтожение должно быть произведено на специальном оборудовании и ПО, прошедшем оценку соответствия (которых, как вы понимаете, нет).
А вот по ст. 445 Перечня, утв. Приказом Росархива от 20.12.2019 N 236 срок хранения для документов, подтверждающих трудовую деятельность 50/75 лет.

Теги:
Всего голосов 4: ↑2 и ↓20
Комментарии2

Ближайшие события

Эволюция кибербезопасности: от первых компьютеров до сегодняшнего хайпа

Эксплойты, вирусы, даркнет — сегодня эти слова в новостных лентах появляются чуть ли не каждый день. В СМИ муссируются крупные DDoS-атаки. Невидимый фронт ИБ не спит ни минуты.

В одиннадцатом выпуске подкаста «Теория большого IT» выясняем, как начинался кибербез, откуда сегодняшний хайп вокруг ИБ и что представляют собой реальные угрозы для информационных систем.

Рассказывают директор по информационной безопасности РТК-ЦОД Денис Поладьев и директор центра противодействия кибератакам Solar JSOC группы компаний «Солар» Владимир Дрюков.

Ведущий — Александр Соколов

Выпуск можно посмотреть:

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Порадуем вас обновами в Kubernetes

А новостей собралось действительно много:

➖ Добавили в маркетплейс дополнений ArgoCD и cert-manager Webhook, который дружит с нашим API. С ними можно автоматизировать деплой приложений и упростить выпуск и обновление TLS-сертификатов в Kubernetes
➖ Открываем новые локации — теперь можно создавать кластеры и во Франкфурте
➖ Обновили публичную документацию API и добавили доки для части аддонов Kubernetes + описание всех новых параметров API
➖ Плюсик к карме и к безопасности — read-only режим для API-токенов, которые выпускаются автоматически при создании кластеров. Никаких случайных изменений или удалений

Забрать все обновы в Kubernetes себе →

Теги:
Всего голосов 6: ↑6 и ↓0+8
Комментарии0

Работайте с большими данными в Evolution Data Platform 📊

❓ Что за инструмент? Evolution Data Platform — платформа для обработки больших данных, которая включает в себя несколько PaaS-сервисов. Среди них:

  1. Evolution Managed Trino — массивно-параллельный аналитический SQL-движок Trino с использованием распределенных запросов.

  2. Evolution Managed Metastore — сервис для хранения метаданных таблиц из разных источников. Metastore сообщает клиентским приложениям, где хранятся данные, как к ним обращаться и как их интерпретировать.

  3. Evolution Managed Spark — сервис для развертывания кластерного вычислительного решения на основе Apache Spark для распределенной обработки данных.

  4. Evolution Managed ArenadataDB — аналитическая база данных для хранения большого объема структурированных и полуструктурированных данных.

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

  1. Evolution Managed Trino способен работать с разными источниками в одном SQL-запросе, есть несколько конфигураций Trino. А еще можно создать приватный инстанс, недоступный из интернета.

  2. Evolution Managed Metastore прямо из интерфейса можно подключить к другим сервисам платформы Cloud.ru Evolution. Создание и обновление инстансов происходит за минуты, а данные для подключения к S3 — в безопасности, так как хранятся в сервисе Secret Management.

  3. Evolution Managed Spark позволяет отслеживать статусы выполнения задач, обрабатывать данные из Object Storage, а также из большинства доступных БД.

  4. Evolution Managed ArenadataDB дает возможность развертывать инстансы без обслуживания инфраструктуры, а кластеры Greenplum разворачиваются автоматически. Доступны конфигурации от 3 до 50 ТБ, что позволяет адаптировать систему под разные задачи.

👨‍💻 Кому будет полезно. PaaS-сервисы платформы Evolution Data Platform найдут применение во всех областях, где работают с большими объемами данных: финансовых учреждениях, ретейле, логистике, крупном и среднем бизнесе — и не только. Также сервисы будут полезны в машинном обучении и разработке. 

✍️ Где, как и для чего использовать. Для обработки структурированных, слабоструктурированных и неструктурированных данных, SQL-аналитики, ML, хранения метаданных таблиц, отправки сложных запросов, проверки гипотез, A/B-тестирований, построения приложений данных, интерактивного специального анализа данных.

В июне Evolution Managed Trino и Evolution Managed Metastore выйдут в коммерческий доступ, а еще станут доступны для тестирования сервисы Evolution Managed Airflow и Evolution Managed BI. Смотрите доклад с конференции GoCloud 2025, чтобы больше узнать о PaaS-сервисах для работы с данными 🌐

Теги:
Рейтинг0
Комментарии0

Кейс. Как Альфа-Лизинг интегрировал в ESM-платформу 9 отделов (ИТ, HR, АХО, бухгалтерию и др.) и повысил эффективность их работы на 33%

Знакома ситуация, когда процессы разных подразделений — разрозненные, неподконтрольные, а сотрудники тратят часы, чтобы просто понять: «к кому обратиться?». HR живёт по одним правилам, ИТ в Service Desk или ITSM — по другим, АХО — вообще в Excel. Вопросы теряются в переписках, задачи дублируются, никто не несёт полной ответственности за сроки или качество внутренней услуги. В итоге страдает не только конечный потребитель услуги — ваш сотрудник или клиент, но и бизнес из-за низкой производительности отделов.

10 июня на примере Альфа-Лизинг вы узнаете, как компания совершила эволюционный переход от классического ITSM к полноценной ESM-модели, объединив более 9 бизнес-подразделений (ИТ, HR, АХО, бухгалтерию и другие) в единой цифровой среде и повысила операционную эффективность подразделений на 33%окупив внедрение ESM-платформы за 7 месяцев.

Когда: 10 июня в 15:00 (МСК)

  • Почему компании переходят от ITSM к ESM — стратегические цели и выгоды.

  • Как побороть разрозненность процессов и «силосное» мышление между подразделениями.

  • Культурный сдвиг: как ESM меняет подход к работе внутри компании.

  • Как выстроить единую цифровую экосистему внутренних сервисов с участием ИТ, HR, бухгалтерии и других функций.

  • Реальные кейсы внедрения ESM в нетехнических подразделениях.

  • Техническая реализация: архитектура, процессы, автоматизация.

  • Метрики и результаты: скорость обслуживания, удовлетворённость, ROI

🔗 РЕГИСТРАЦИЯ

Теги:
Рейтинг0
Комментарии0

АНБ США рассекретила внутреннее исследование 1988 года под названием: «Пятьдесят лет математического криптоанализа (1937-1987)».

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

Все, что нужно знать об ИИ-агентах

Если вы еще не до конца понимаете, кто такие автономные ИИ-агенты, зачем они бизнесу и как они работают - это то самое видео, с которого стоит начать.

В видео разбираю:

• Почему корпорации и государства инвестируют миллиарды в автономных ИИ-агентов;

• Как работает ИИ-агент: от восприятия до принятия решений и действий;

• Где уже сейчас применяются ИИ-сотрудники;

•  Как избежать ключевых рисков и ошибок при работе с ИИ-агентами;

•  Реальные кейсы от OpenAI, Amazon, Harvey, Artisan и других.

Этот ролик для тех, кто хочет быстро войти в тему без перегруза информацией и глубокой технической подготовки. 

В следующем видео расскажу как собрать собственного ИИ-агента под свои задачи.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

LLVM IR: что это такое?

Главной особенностью LLVM является промежуточное представление кода (англ. Intermediate Representation, IR), форма, которую использует LLVM для представления кода в компиляторе. LLVM IR был разработан для выполнения функций промежуточного анализа и преобразований внутри оптимизатора компилятора. Ее создание имело целью решение множества специализированных задач, включая поддержку легковесных оптимизаций среды выполнения, кроссфункциональные и межпроцедурные оптимизации, полный анализ программы и агрессивные реструктурирующие преобразования. Промежуточное представление кода определено как язык первого порядка с четкой семантикой.

IR (Intermediate Representation) в контексте LLVM — это промежуточное представление кода. Это низкоуровневое, независимое от платформы и типобезопасное представление программного кода, которое используется в качестве промежуточного языка между интерфейсной частью и серверной частью компилятора.

define i32 @add1(i32 %a, i32 %b) {
entry:
  %tmp1 = add i32 %a, %b
  ret i32 %tmp1
}

define i32 @add2(i32 %a, i32 %b) {
entry:
  %tmp1 = icmp eq i32 %a, 0
  br i1 %tmp1, label %done, label %recurse

recurse:
  %tmp2 = sub i32 %a, 1
  %tmp3 = add i32 %b, 1
  %tmp4 = call i32 @add2(i32 %tmp2, i32 %tmp3)
  ret i32 %tmp4

done:
  ret i32 %b
}

Этот код LLVM IR соответствует следующему коду на языке C, обеспечивающему возможность сложения целых чисел двумя разными способами:

unsigned add1(unsigned a, unsigned b) {
  return a+b;

}
// возможно не самый лучший способ сложения двух чисел
unsigned add2(unsigned a, unsigned b) {
  if (a == 0) return b;
  return add2(a-1, b+1);
}

Как видно из этого примера, LLVM IR — низкоуровневый RISC-подобный набор виртуальных инструкций. Как и настоящий набор инструкций RISC, он поддерживает линейные последовательности простых инструкций (сложение, вычитание, сравнение и ветвление). Эти инструкции имеют трехадресную форму. Это значит, что они берут некоторое количество входных данных и вычисляют результат в другом регистре. LLVM IR поддерживает метки и в целом выглядит как необычная форма языка ассемблера.

Строго говоря, промежуточное представление LLVM является четко определенным и единственным интерфейсом оптимизатора. Это означает, что всё, что необходимо знать, чтобы писать фронтенды для LLVM, это: что такое LLVM IR, как он работает и какие инварианты ему необходимы. Так как LLVM IR имеет текстовую форму, то имеет смысл создавать фронтенд, который выводит LLVM IR в виде текста, а затем отправляет его на оптимизатор и необходимый генератор кода при помощи каналов Unix.

Теги:
Всего голосов 5: ↑3 и ↓2+3
Комментарии0