Обновить

Разработка

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

«То, для чего Cи недостаточно хорош»: МойОфис выпустил трёхтомник по Lua

Lua — актуальный и востребованный в разработке язык программирования, но литературы на русском языке про него по-прежнему немного. Мы решили это исправить и выпускаем трёхтомник, в котором собрали всё, что нужно знать о Lua, и показали, как именно он работает на примере редакторов МойОфис — от основ синтаксиса до создания надстроек и автоматизации обработки электронных документов.

«Lua предлагает то, для чего Си недостаточно хорош: достаточную удалённость от аппаратного обеспечения, динамические структуры, отсутствие избыточности и лёгкость тестирования и отладки. С самого начала Lua создавался для реальных сценариев взаимодействия с хост-программами, такими как МойОфис, и предлагает инструменты для опытных программистов, чтобы проявить свои творческие способности», — Роберту Иерузалимски, один из основных создателей языка программирования Lua.

Первый том — уже третье переиздание классической книги Роберту. Предыдущие два издания также вышли в свет при поддержке МойОфис.

Второй и третий тома — первый выпуск учебников Дмитрия Шульгина, старшего тренера по продуктам Учебного центра МойОфис («Хаб Знаний МойОфис»), посвященных созданию макрокоманд и надстроек в наших текстовых и табличных редакторах.

В них вы найдёте:

  • что такое макросы и надстройки, как устроена автоматизация в МойОфис и зачем все это нужно (к слову, о разработке макросов мы подробно писали здесь);

  • основы Lua — от переменных и типов данных до пользовательских функций;

  • примеры работы со списками, листами, ячейками, а также задания для закрепления материала;

  • примеры создания надстроек для ускорения и автоматизации операций: от вставки изображений и рецензирования до печати и локализации интерфейса.

Каждая глава сочетает теорию, рекомендации и практические задания, которые можно выполнить прямо в наших редакторах.

Книга подойдёт как опытным разработчикам, так и новичкам в Lua и автоматизации. А если хотите глубже погрузиться в тему — присоединяйтесь к нашим курсам по Lua.

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

Как проходит онбординг и рост новичков в HW QA

Войти в hardware-тестирование можно с любым бэкграундом. В команде HW QA в YADRO есть специалисты, которые ранее не работали с серверами, и те, кто с первого дня уверенно пользуется осциллографом. От новых сотрудников не ожидают готовых экспертных знаний — важны мотивация и желание разбираться. Остальному обучают внутри команды.

В первую неделю — оформление, знакомство с командой, лабораторией, стендами и процессами, закрепление ментора. За 14 дней — полное погружение в работу с BMC. В первый месяц поощряется командное взаимодействие. 

На 2–4 неделе — изучение Linux, устройства продуктов, компонентов, прошивок и инструментов, работа по чек-листам: запуск тестов, анализ результатов. Ко второму месяцу — доступ к целевой платформе, документации и задачам среднего приоритета. 

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

Пример использования матрицы компетенций для оценки сотрудников
Пример использования матрицы компетенций для оценки сотрудников

Сейчас команда ищет HW QA-инженера в департамент разработки аппаратных средств. Задачи — тестирование инженерных образцов, валидация компонентов, настройка стендов, автоматизация, работа с BIOS, BMC и прошивками.

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

Чек-лист для эффективного технического интервью

1. Подготовка: что сделать перед собеседованием

  • Определите 3 главных навыка, необходимых для вакансии. Например: «Оптимизация React», «Работа с легаси-кодом (React классы)», «Работа с Redux».

  • Подготовьте реальные задачи из вашего проекта, а не абстрактные алгоритмы.

  • Четко опишите стек технологий и проблемы проекта, чтобы кандидат понимал контекст.

Пример: «У нас проект на React 16.8. Остались классовые компоненты, которые нужно переписать на хуки, и мы используем классический Redux».

2. Структура собеседования

А. Вводная часть (5-10 минут)

  • Представьтесь и расскажите о проекте простым и понятным языком.

  • Спросите кандидата, есть ли у него опыт работы над подобными задачами.

Б. Проверка навыков (30-50 минут)

  1. Практическая задача (5-10 минут)

    • Дайте кандидату упрощенную версию реальной проблемы. Например: «Нужно переписать классовый компонент на хуки и подключить его к Redux, а затем оптимизировать рендер».

    • Позвольте кандидату воспользоваться интернетом для поиска информации. Главное, чтобы он показал процесс решения задачи, а не просто копировал ответ.

  2. Гибкие вопросы (5-10 минут)

    • В процессе выполнения задачи или после ее завершения (на мой взгляд, лучше после) задавайте вопросы, которые помогут вам лучше понять подход кандидата.

    Пример: «Вы использовали кеширование. Расскажите подробнее, как это поможет нашему проекту?»

  3. Финальное обсуждение задачи (10-15 минут)

    • Обсудите решение задачи целиком, что получилось, а что можно улучшить.

  4. Если все навыки не уместились в одну задачу, вернитесь к шагу 1.

В. Заключение (5-10 минут)

  • Дайте кандидату возможность задать вопросы о проекте.

  • Объясните, какие будут следующие шаги, чтобы не оставлять его в подвешенном состоянии.

3. Критерии оценки

Оценивайте кандидата по конкретным показателям, а не по субъективным впечатлениям:

  1. Понимание проблемы — видит ли кандидат суть задачи?

  2. Процесс решения — как ищет ответ, какие вопросы задает?

  3. Качество кода — читаемость, оптимизация.

  4. Коммуникация — может ли кандидат объяснить свои решения?

Пример оценки:

  • ✅ «Правильно переписал с классов на хуки и подключил Redux» — отличный кандидат!

  • ⚠️ «Правильно настроил кеширование, но забыл useCallback в одном месте» — нужно обсудить детали.

  • ❌ «Не смог объяснить, почему компонент ререндерится» — потенциальные риски для проекта.

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

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

Обновляем список актуальных вакансий в SSP SOFT

Напомним, кто мы: компания SSP SOFT занимается заказной разработкой и IT-аутсорсингом. Наши спецы помогают внешним клиентам реализовывать задачи в e-commerce, финтехе, медтехе, управлении инфраструктурой и других отраслях.

Рабочие места в офисах в Москве (отличная локация в ЦАО) и в Томске, а также у нас много сотрудников, которые работают удаленно из разных регионов России. Формат «онлайн» или «оффлайн» обсуждаем.

📢 Кого мы сейчас приглашаем (это описание вакансий в hh, а ниже прямые контакты с нашим HR для быстрого отклика):

1️⃣ Разработчика и аналитика 1C
2️⃣ Разработчика Angular
3️⃣ Middle Java Developer
4️⃣ Системного аналитика
5️⃣ Бизнес-аналитика

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

🎁 Наши бонусы: ДМС со стоматологией, обучение за счет компании, бонусная программа.

👉 В SSP SOFT мы рассматриваем найм не как «закрытие вакансии», а как включение нового человека в команду — с вниманием к развитию и прицелом на долгосрочную совместную работу.

Пишите с резюме нашему HR в Telegram: @sspsoft
Или присылайте резюме на почту: job@ssp-soft.com.

Всегда актуальные вакансии на https://hh.ru/employer/5648224:

📍 Мы открыты к диалогу и ценим честные и профессиональные резюме (без накруток опыта).

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

Фиксируем следы на сайте нарушителя: 5 способов

Зафиксировать следы - первое, что нужно сделать после обнаружения нарушения ваших интеллектуальных прав.

Обычно такая фиксация проводится на веб-сайте виновника владельцем интеллектуальной собственности.

Ниже даны пять способов фиксации нарушения, которые суды принимают:

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

Используете сервисы, встроенные в систему вашего компьютера или смартфона. Например, сервис работы со скриншотами в браузере Яндекса.

2. Автофиксация. Вам доступны специальные веб-сервисы для автоматической фиксации данных на сайте нарушителя.

Например, программный комплекс "Вебджастис". Его алгоритм собирает пакет сведений о сайте и условиях его работы, делает снимки экранов. И передает вам документ в формате pdf.

3. Нотариальный осмотр. Когда-то единственный способ закрепления следов. По вашей инициативе нотариус описывает сайт нарушителя и делает нужные скриншоты.

4. Осмотр правоохранителей. Например, следователь может осмотреть сайт в ходе проверки вашего сообщения о преступлении.

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

5. Адвокатский осмотр. С помощью адвокаты вы выбираете веб-ресурс для осмотра. После чего адвокат фиксирует условия осмотра и содержимое страниц сайта, передает вам сделанные скриншоты.

Поговорите с вашим адвокатом. Он поможет выбрать способ с учетом конкретной ситуации.

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

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

Знакомьтесь с Академией «ГлоуБайт»!

Группа компаний GlowByte запустила сайт Академии «ГлоуБайт», где собраны 25 готовых курсов по бизнес-аналитике (Business Intelligence), управлению бизнес-процессами (BPMN), обработке данных и продвинутой аналитике (Advanced Analytics), работе с универсальной Lakehouse-платформой данных Data Ocean Nova и автоматизации CVM-маркетинга (CM Ocean).

Курсы основаны на опыте экспертов группы компаний GlowByte и включают в себя как теорию, так и практические задания. Среди наиболее популярных тем – «Практический MLOps», «Погружение в А/В-тестирование», «АА и машинное обучение в маркетинге», «Техника и методология кредитного скоринга», «Сертификация FineBI и FineReport», «Data Ocean Nova. Обучение пользователей», «Глубокое обучение в банковской сфере», «Greenplum для аналитиков и разработчиков» и другие. 

Обучение проводится только для корпоративных клиентов в группе до 10 человек, а также индивидуально для специалистов и руководителей. Кроме того, Академия «ГлоуБайт» адаптирует курсы и создает уникальные программы под приоритеты и текущие задачи бизнеса.

Познакомиться с Академией «ГлоуБайт», почитать отзывы и узнать больше о курсах можно на сайте Академии. Или напишите нам на почту: academy@glowbyteconsulting.com.

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

Недавно OpenAI представила большую языковую модель GPT-5. Я спросила у наших коллег из ИТ-компании «Криптонита», как она повлияет на разные сферы бизнеса.

Но сначала немного о новой модели.

  • Модель лучше справляется с креативными заданиями и демонстрирует в тестовых задачах на 45 – 80% меньше фактических ошибок.

  • Модель GPT-5 оптимизирована для многошаговой логики, что делает её быстрее в 1,5 – 2 раза при обработке сложных запросов.

  • GPT-5 принимает на вход текст и картинки, но не работает с аудио и видео.

Как популярность ChatGPT-5 повлияет на безопасность? Рассказывает Павел Боглай, руководитель отдела информационной безопасности в «Криптоните»

Модели ИИ уязвимы к атакам на уровне злонамеренных манипуляций, известных как prompt injection: промпт-инъекции, внедрение скрытых команд в пользовательские запросы. Зафиксированы случаи, в которых нарушитель вписывает в безобидный на вид запрос скрытую инструкцию, заставляя модель игнорировать изначальные ограничения и выполнять иной набор команд.

Такие атаки опасны тем, что не требуют от нарушителя высокой квалификации. Например, вам могут передать файл, который прошел антивирусную проверку, при этом в документе будут фразы, составленные по технике prompt injection. После открытия файла, установленное вами клиентское приложение модели ИИ может «легитимно» использоваться для компрометации конфиденциальной информации.

ChatGPT‑5 и аналоги стремительно входят в инструментарий программистов, но с ростом скорости разработки кода растут и риски. ИИ часто генерирует уязвимый код. Согласно отчёту Veracode за два года модели научились писать синтаксически корректные программы, но не стали писать их безопаснее. Критические уязвимости из OWASP Top 10 присутствовали в 45% тестовых сценариев. Ни размер модели, ни объём обучающих данных не гарантируют безопасность.

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

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

Большинство современных моделей плохо справляются со взломом без помощи человека: в тестах 48 - 55% моделей не нашли уязвимости в заданных задачах, а при попытке сгенерировать эксплойт провалилось 66 - 93% решений.

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

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

Расширению PostgreSQL Hacker Helper исполнился год.

Это расширение VS Code для разработки исходного кода PostgreSQL. Почти год назад я сделал пост о его создании, а буквально пару дней назад (9 августа) наступил год со дня релиза 1.0.0 версии.

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

Самый яркий пример - это List , динамический массив. Что в нем такого особенного? Во-первых, структура данных одна, но внутри себя он хранит (либо-либо) указатель/int/TransactionId/Oid. Во-вторых, его реализация зависит от версии - раньше он был реализован как связный список, а сегодня - это массив.

Еще один занятный пример - Value. Сегодня этой структуры нет, так как она разбилась на отдельные String, Integer, Float, Boolean и BitString (src/include/nodes/value.h). Это также нарушает изначально красивую картину, так как приходится добавлять логику - название структуры не соответствует типу хранимого узла.

За этот год я добавил множество фичей:

  • Рендеринг выражений (переменные, представляющие выражения отображаются выражением, которое они представляют)

  • Отображение содержимого хэш-таблиц

  • Указатели на отношения из переменных типа Relids

  • Форматирование файла с помощью pgindent

  • Бутстраппинг новых расширений (создание шаблонных файлов)

  • Дамп представления узлов в лог или отдельный текстовый файл (через pprint/nodeToString)

Если же говорить о нефункциональных особенностях:

  • Большая расширяемость за счет файла конфигурации

  • Поддержка нескольких расширений отладчиков

  • Тестирование и CI-пайплайн для этого

Больше всего мне запомнилось добавление поддержки отладчика CodeLLDB. Этим я занимался 5 дней с утра до ночи. В то же время и добавил тестирование.

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

Глядя на все это осознаю, что теперь это можно назвать целой IDE для PostgreSQL. Хотя и кажется, что все что можно было написать уже сделано, но постоянно нахожу новые возможности для его развития.

Ссылки: репозиторий и расширение.

P.S. За это время у меня накопилось множество историй о том, как я это расширение писал и с какими проблемами столкнулся. Если интересно почитать об этом - дайте знать!

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

Квиз: насколько вы разбираетесь в законодательстве и ИБ

Регуляторы, аттестации, законы и стандарты — звучит просто, пока не начнешь отвечать на конкретные вопросы. Разберемся, кто здесь настоящий знаток законов ИБ.

Квиз проверит, насколько глубоко вы в теме. 

Пройти квиз

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

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

В SpaceWeb запустили конструктор сайтов с ИИ

Новый день – новый релиз! Сегодня рассказываем о новой фиче — интегрировали в конструктор сайтов SpaceWeb искусственный интеллект. В обновленной версии можно быстро запустить сайт и подготовить референсы для клиентских проектов. Интерфейс генератора сайтов максимально удобен и интуитивен: с помощью функции перетаскивания и поддержки искусственного интеллекта можно легко настроить сайт под свои нужды и сделать его уникальным. 

Что делает ИИ в конструкторе?

  • Генерирует контент: автоматически создает заголовки, тексты и разделы сайта.

  • SEO-оптимизирует: формирует мета-заголовки, мета-описания и ключевые слова, помогая продвигать сайт в поисковых системах.

  • Обновляет и редактирует сайт: быстро и легко вносит изменения в структуру, контент и оформление.

  • Адаптирует веб-ресурс под задачи бизнеса: в конструктор встроено 200 шаблонов, среди которых обязательно найдется подходящий.

В конструктор также интегрированы инструменты для онлайн-торговли, есть большой выбор плагинов, подключена защита от DDoS уровня L3-L4, автоматически фильтрующая трафик от сетевых и транспортных атак. Создавать сайты можно сразу на нескольких языках, благодаря автоматической поддержке более 50 языков. Тарификация зависит от числа сайтов, объема диска и количества шаблонов. Протестировать новый сервис можно уже сейчас на сайте.

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

Интеграция PVS-Studio в Inseq RBPO

Компания PVS-Studio и Inseq заключили технологическое партнёрство для обеспечения интеграции статического анализатора кода PVS-Studio в экосистему DevSecOps.

Программное обеспечение Inseq RBPO предназначено для создания и управления конфигурациями, необходимыми для автоматического развёртывания и настройки компонентов инфраструктуры безопасной разработки ПО — систем контроля версий, анализаторов кода, инструментов автоматизации сборки, тестирования и развёртывания. Управление конфигурациями и политиками безопасности осуществляется централизованно.

"ИНСЕК.РБПО" представляет собой клиент-серверную систему, работающую на локальном оборудовании. Она включает серверную часть, генерирующую конфигурационные файлы, и веб-приложение с графическим интерфейсом для взаимодействия с пользователями.

Внутри этой платформы стало возможным использовать статический анализатор PVS-Studio для поиска критических ошибок в исходном коде.

Также мы провели вебинар с коллегами из Inseq, в котором поговорили о необходимости регулярного статического анализа, а также в целом об автоматизации в РБПО.

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

Стань спикером SOC Forum 2025 — сделай вклад в развитие безопасного цифрового общества

С 17 по 23 ноября состоится Российская неделя кибербезопасности — масштабная серия событий для обсуждения темы ИБ в государстве, бизнесе и граждан. Главная цель Недели — создание и развитие безопасного цифрового общества. Ее ядром станет ежегодный SOC Forum, который пройдет в Москве 19-20 ноября. Форум притянет еще больше профессионалов и лидеров отрасли для выстраивания стратегий защиты от самых актуальных киберугроз. Сбор докладов на форум уже открыт. ГК «Солар» — организатор Недели и соорганизатор форума.

SOC Forum 2025 – это:

• Новая масштабная площадка — «Тимирязев центр»;

• 9 тематических треков – о влиянии ИИ на киберугрозы и отражение атак, о поиске и удержании талантливых ИБ-специалистов, о преобразовании данных о кибератаках в конкретные меры защиты и другие;

• Больше форматов – от воркшопов и питч-сессий до персональных встреч.

Сбор докладов: без продаж и «воды»

Сбор докладов на SOC Forum продлится до 14 сентября. Чтобы стать спикером, необходимо заполнить заявку в личном кабинете на сайте форума с описанием доклада, выбрав подходящий тематический трек. До 30 сентября все заявки будут оценены компетентным жюри, в составе которого — эксперты крупнейших компаний отрасли и представители профильных ведомств.

При оценке докладов жюри будут учитывать: актуальность, новизну и практическую пользу. Жюри будет отклонять заявки с рекламой продуктов или услуг без уникальных кейсов, а также попытками «продать», а не поделиться экспертизой. Это означает, что на SOC Forum попадут только самые острые для ИБ-сообщества доклады, все они будут уникальны и полезны участникам отрасли. В прошлом году конкурсное жюри отобрало 151 заявку из 354 поданных.

Новые треки: ИИ и люди на защите от киберугроз

SOC Forum в 2025 году станет главным местом для построения эффективного диалога между регуляторами и представителями ведущих ИТ- и ИБ-компаний — от глав компаний, CISO и директоров финансовых и коммерческих подразделений до экспертов по кибербезопасности и молодых ИБ-специалистов. Каждый день будет посвящен новым тематическим трекам.

День 1 (19 ноября):

• AI & Cybersecurity: как искусственный интеллект меняет ландшафт киберугроз, инструменты защиты и ставит этические вопросы перед ИБ и ИТ- сообществом;

• Естественный интеллект: как искать талантливых ИБ-специалистов, грамотно оценивать их навыки и сохранять мотивацию;

• ИБ и бизнес: как CISO и ИБ команды могут не только защищать, но и помогать компаниям выигрывать у конкурентов и снижать риски простоя бизнес-процессов;

• Тренды и аналитика угроз: как превращать данные о киберугрозах в конкретные меры защиты, чтобы оставаться на шаг впереди хакеров;

• Многогранный кибербез: cамые нестандартные и экспериментальные темы отрасли.

День 2 (20 ноября):

• Offense: технические разборы и кейсы реальных кибератак от лучших ИБ-специалистов и пентестеров;

• Defense: разбор наиболее актуальных технологий защиты, реагирования и обнаружения киберугроз, а также закрытия уязвимостей, которые «невозможно исправить»;

• Архитектура ИТ и ИБ: как построить безопасную комплексную архитектуру для защиты не только «здесь и сейчас», но и на долгие годы вперед;

• SOC-практикум: обсуждения наиболее эффективных кейсов работы с NTA/EDR, SIEM и другими техническими средствами.

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

мои способы работы с AI контекстом (субъективное мнение):

  1. пользоваться общеизвестными терминами которые точно есть в словарях

  2. пользоваться только английским для кода, prd и дизайна

  3. сокращать код - как показывает практика файлы больше 500-600 строк агенту труднее прочитать. Тут есть несколько стратегий:

  • пользоваться препроцессорами, например можно сильно срезать времени если вместо JSX/TSX/html использовать pug

  • пользоваться и писать библиотеки. есть проблема - оформляем в абстрактную библиотеку, пишем доку и readme

  • предвидеть контекст - часть текста просто можно не писать, а просить догенерить, потому что получится эффект снежного кома, начинаем катить, смотрим куда катится - сокращаем

  1. меняем JSON на YAML или что-то близкое - это срежет кууучу лишнего хлама в виде ; }{ "" и прочих символов

  2. генерим code maps - mermaid и другие виды диаграм

  3. ANSII - визуализация простых идей, но не все модели хорошо работают с этим форматом, есть проблемы с layout. например я пользуюсь gemini

  4. подстраивать архитектуру и код под задачи и бизнес, не наоборот. Developer | Designer | AI as User.

  5. разбивать на мелкие подприложения если нужно

Надеюсь, что пост окажется полезным :-)

Пожалуйста делитесь своими мыслями в комментариях :-) это поможет сделать эту статью видимой для других и будет здоровской поддержкой и мотивацией :-) 

Спасибо за ваше время и хорошего дня!

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

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

мои способы работы с AI контекстом (субъективное мнение):

  1. пользоваться общеизвестными терминами которые точно есть в словарях

  2. пользоваться только английским для кода, prd и дизайна

  3. сокращать код - как показывает практика файлы больше 500-600 строк агенту труднее прочитать. Тут есть несколько стратегий:

  • пользоваться препроцессорами, например можно сильно срезать времени если вместо JSX/TSX/html использовать pug

  • пользоваться и писать библиотеки. есть проблема - оформляем в абстрактную библиотеку, пишем доку и readme

  • предвидеть контекст - часть текста просто можно не писать, а просить догенерить, потому что получится эффект снежного кома, начинаем катить, смотрим куда катится - сокращаем

  1. меняем JSON на YAML или что-то близкое - это срежет кууучу лишнего хлама в виде ; }{ "" и прочих символов

  2. генерим code maps - mermaid и другие виды диаграм

  3. ANSII - визуализация простых идей, но не модели хорошо работают с этим форматом, есть проблемы с layout

  4. подстраивать архитектуру и код под задачи и бизнес, не наоборот. Developer | Designer | AI as User.

  5. разбивать на мелкие подприложения если нужно

Надеюсь, что пост окажется полезным :-)

Пожалуйста делитесь своими мыслями в комментариях :-) это поможет сделать эту статью видимой для других и будет здоровской поддержкой и мотивацией :-) 

Спасибо за ваше время и хорошего дня!

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

Привет, смотрите че наговнокодил, вот такую вот проверку конфига для haproxy

if check '/etc/haproxy/haproxy.cfg'; then
red='\e[91m'
ylw='\e[93m'
DEF='\e[0m'
/usr/sbin/haproxy -c -f /etc/haproxy/haproxy.cfg || printf "
${red}WARNING!
${red}Haproxy config has errors!
${ylw} __
${ylw}|  \_____${red}︹${DEF}
${ylw}\        ${red}\ \ ${DEF}
${ylw}/  ______${red}/ / ${DEF}
${ylw}|__/     ${red}︺ ${DEF}
"
fi

Выглядит вот так:

ох..ая ошибка
ох..ая ошибка

Как вам?)

Творите, выдумывайте, пробуйте!)

Теги:
Всего голосов 31: ↑6 и ↓25-19
Комментарии11

SourceCraft поддержит опенсорс‑разработчиков: старт грантовой программы с 16 августа и новые возможности платформы

Платформа для разработчиков SourceCraft открывает приём заявок на участие в грантовой программе поддержки: гранты на облачные технологии Yandex Cloud в размере 600 тыс. рублей на год получат важные и интересные опенсорс‑проекты, отвечающие критериям отбора. Подать заявку можно с 16 августа на сайте программы.

Оценивать проекты будут эксперты Яндекса. Среди ключевых критериев оценки:

  • активность репозитория,

  • актуальность,

  • практическая польза проекта,

  • понятный вектор развития.

Дополнительно, будет учитываться позиция в общем рейтинге на платформе SourceCraft, которая также пополнилась новыми инструментами:

  • интеллектуальным алгоритмом для оценки значимости репозитория,

  • системой личных достижений в профилях разработчиков.

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

Личные награды и достижения видны в профиле разработчика, так формируется портфолио индивидуального вклада в опенсорс. Награды автоматически фиксируют активность пользователя — от публикации изменений в коде и выпусков релизов до проверок кода и участия в обсуждениях. Достижения разделены на категории: работа с кодом, вклад в сообщество, освоение инструментов, подтверждённая экспертиза — и имеют уровни. Визуальные эмблемы наград создаются индивидуально для каждого разработчика с помощью YandexART.

Кроме того, 16 августа на платформе стартует конкурс проектов для опенсорс‑сообщества. Авторы новых репозиториев на платформе, которые наберут наибольший рейтинг до 31 августа, получат наборы эксклюзивного мерча от SourceCraft.
Следить за новостями от разработчиков и архитекторов платформы — также можно в блоге SourceCraft.

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

Как мы ускорили проверку документации с помощью AI-агента: от боли к решению

Привет, Хабр! Я — Мила Муромцева, системный аналитик в Альфа-Банке. Эту статью мы подготовили вместе с нашим разработчиком Мишей Буториным. Написали ее, чтобы поделиться нашим опытом и рассказать, как мы научили LLM проверять документацию для платформы Альфа-Онлайн — переписывали стандарт, боролись с токенами и немного с хаосом.

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

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

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

Мой способ именования переменных в 1С

В 1С при создании переменной, необходимо чтобы имя переменной было уникальным в пределах модуля, где пишешь код. Не совпадало с именем реквизита формы. Не совпадало с переменными в модуле приложения. Не совпадало с названием свойства. Не совпадало с названием встроенных методов языка. Из этого так же вытекает, что при анализе чужого кода, не просто понять, что за именованная сущность перед тобой. Эта проблема хорошо описана в книге "1С:Предприятие 8.3. Практическое пособие разработчика" на странице 177. Приведу отрывок из книги:

Допустим, в модуле формы нам встретилось выражение: СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные.

Как понять, что такое СтрокаТабличнойЧасти? Нужно вспомнить, из чего состоит контекст формы:

  • локальный контекст самого модуля формы;

  • реквизиты формы, которой «принадлежит» модуль;

  • свойства и методы объекта УправляемаяФорма встроенного языка;

  • свойства и методы расширения формы, определяемого типом того объекта, данные которого содержатся в основном реквизите формы;

  • глобальный контекст, в том числе неглобальные общие модули и экспортируемые функции и процедуры глобальных общих модулей;

  • экспортируемые переменные, процедуры и функции модуля управляемого приложения.

    Далее по порядку проверить:

  • 1. Объявлена ли в модуле формы переменная СтрокаТабличнойЧасти? Нет.

  • 2. Есть ли у формы реквизит СтрокаТабличнойЧасти? Нет.

  • 3. Есть ли у объекта УправляемаяФорма свойство СтрокаТабличнойЧасти? Нет.

  • 4. Есть ли у расширения формы свойство СтрокаТабличнойЧасти? Нет.

  • 5. Есть ли свойство глобального контекста СтрокаТабличнойЧасти? Нет.

  • 6. Есть ли в модуле управляемого приложения экспортная переменная СтрокаТабличнойЧасти? Нет.

  • Значит СтрокаТабличнойЧасти – это локальная переменная, определяемая непосредственно в этом операторе присваивания.

Для упрощения себе жизни ввел такое правило именования:

  • Параметрам процедур и функций добавляю префикс "п"

  • Переменным внутри модуля добавляю префикс "л"

  • Реквизиты формы без префикса

Пример

&НаСервере
Процедура ЗаписатьШаблонНаСервере(пСсылка) 
	
	лОбъект = пСсылка.ПолучитьОбъект();
	лОбъект.Шаблон.Очистить();
	
	Для каждого Стр Из Шаблон Цикл
	
		НовСтр = лОбъект.Шаблон.Добавить();
		ЗаполнитьЗначенияСвойств(НовСтр, Стр);	
	
	КонецЦикла;
	
	лОбъект.Записать();
	
КонецПроцедуры

Таким образом данная проблема решается радикально. И голова значительно разгружается.

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

А вы уже пробовали запустить свой проект с помощью бесплатного объема облачных ресурсов Evolution free tier?

Тогда поделитесь опытом и мнением — опрос займет не больше 5-7 минут.

Пройти опрос 👈

Так мы узнаем, что еще можно улучшить, чтобы free tier стал для вас еще удобнее и полезнее. А еще, в перспективе сможем подключить его и для других облачных сервисов 😉

Текущие условия:

  • виртуальная машина в конфигурации 2vCPU, 4 ГБ RAM, диск 30 ГБ;

  • ежемесячный объем хранилища S3 — 15 ГБ, 100 000 операций PUT/POST/LIST, 1 000 000 операций GET/HEAD, 10 ТБ исходящего трафика;

  • ежемесячный объем ресурсов для запуска контейнеров — 120 vCPU x час, 480 ГБ RAM х час.

Этого хватит, чтобы хранить важные данные, развернуть сервер Minecraft, запустить умного Telegram-бота с AI, опубликовать персональный сайт или реализовать любые другие сценарии.

Узнать больше про free tier и попробовать 🕹️

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

Вынос тестов Zig в отдельные файлы

Когда читаешь статьи о разработке на Zig, часто видишь примеры, где тесты находятся в одном файле с основным кодом. Однако при активной разработке такой подход становится неудобным.

Выносить тесты в отдельные файлы — хорошая практика. Рассмотрим это на примере проекта https://github.com/ktarasov/zigrep.

Для начала создадим директорию tests в корне проекта и файл unit_tests.zig. Перенесем туда все тесты из src/main.zig. В список зависимостей добавим импорт главного модуля: const main_mod = @import("../src/main.zig");. Вызовы функций и структур в тестах модифицируем, добавив к ним модуль, например: main_mod.parseArgs.

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

Далее нужно сообщить компилятору, что тесты теперь находятся в другом месте. Для этого изменим файл build.zig. После строки run_step.dependOn(&run_cmd.step) добавим создание модуля с тестами:

const unit_test_mod = b.createModule({
  .root_source_file = b.path("tests/unit_tests.zig"),
  .target = target,
  .optimize = optimize,
});

Также изменим блок добавления константы exe_unit_tests, указав unit_test_mod в качестве root_module.

Вроде всё готово. Попробуем скомпилировать и запустить тесты...

О нет, ошибка: "error: import of file outside module path: './src/main.zig'". Компилятор не импортирует файлы за пределами модуля unit_tests.zig.

Придется явно добавить основной модуль в импорт test-модуля. Для этого вернемся в build.zig и добавим после создания exe_unit_tests следующую строку:

exe_unit_tests.root_module.addImport("zigrep", exe_mod);

Снова запустим тесты — и они успешно пройдут!

Итого: мы вынесли тесты в отдельный файл и создали иерархию директорий, разделив основной код и тесты.

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