TGViewer
Channel Public Channel
Никита Федькин - мысли, заметки, анонсы

Никита Федькин - мысли, заметки, анонсы

@nixel2007_thoughts

Связаться со мной - @nixel2007.
Никита Федькин (ранее Грызлов).

На канале не публикуется платная реклама.
Subscribers
2.88K
Photos
243
Videos
8
Links
369

Showing posts older than #263 · Back to latest

Older Posts 14 shown
Post #262 2.14K
Я часто повторяю фразу, уже ставшую моей внутренней мантрой: "BSL LS - это не только диагностики".
Да, все любят диагностики. Качественный код, ругань в сонаре/среде разработки, все прекрасно.

Но я чуть больше кайфую, когда удается добавить какую-то новую фичу вне ядра диагностик.

Какие-то вещи в Language Server Protocol сделаны очень хорошо и просто.

Например, запрос получения областей, которые можно свернуть
Дай области в таком-то документе? Держи области! Оттуда досюда комментарий, а оттеда доседа - #Область. Красота. Немного прикинуть мозгами, и вот сворачиваются уже не только Если/КонецЕсли, но и пакеты запросов.

Какие-то вещи сделаны удивительно, например, уведомление о закрытии документа не означает, что документ был физически закрыт в редакторе. Или что он вообще был в нем открыт. Речь лишь про владение содержимым этого документа - должен ли сервер ждать данные от клиента или может зачитать их с диска по URI.

Ряд вещей сделан просто очень-очень странно, например, уведомление об обновлении конфигурации сервера. Казалось бы, штука нужная, но описана она настолько размыто и неспецифицировано с точки зрения IDE, что каждый редактор сам придумывает, как ему хранить у себя настройки сервера. Это приводит к тому, что при работе с одним и тем же сервером с двух разных IDE, сервер приходится настраивать по-разному. Благо, эту проблему мы решили на своей стороне, сделав единый конфигурационный файл, с которым может работать любая IDE, поддерживающая LSP. Даже не совсем IDE плагин для SonarQube может использовать этот файл для настройки правил в обход "Профиля Качества".

К чему я это все?

В готовящейся версии протокола под номером 3.17 завезли ряд новых и крайне интересных фич. И хотя в чейнджлоге протокола это еще не отражено, т.к. они пока в состоянии proposed, уже есть черновые реализации как для ядра сервера под typescript, откуда берет свое начало LSP, так и под java, на которой базируется BSL Language Server.

Например...

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

Не знаю как у вас, а у меня это - постоянная боль. Да, какие-то вызовы (привет ОбщегоНазначения.СообщитьПользователю) ты считываешь с экрана уже на автоматизме, но чуть в сторону и снова вопросы что за хе про параметры.

Если вы работали когда-нибудь в IntelliJ IDEA или каких-то других редакторах (попродвинутее конфигуратора), то наверное могли заметить штуку под названием inlay hint. Когда прямо в тексте программы IDE добавляет какую-то информацию. О типе переменной или о имени параметра...

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

Да, пока это счастье работает только с методами самой конфигурации, но и Москва не сразу строилась, и BSL LS когда-нибудь таки обзаведется контекстом платформы (sigh...).

Что еще можно сделать с такими подсказочками?
Некоторые пользователи жаловались, что в VSCode неудобно смотреть данные о когнитивной/цикломатической сложностях. Да, сложность метода - 3861, но где именно зарыты эти плюсадины?
Нажимаем на линзу "Когнитивная сложность" над методом (хехе, привет, Саша!) и плюсадины и плюсдвадины рисуются прямо по коду. Согласитесь, это намного удобнее, чем глазами вычитывать длинное сообщение из сообщения от диагностики.
microsoft.github.io Specification This document describes the current 3.18.x version of the language server protocol and is under development. An implementation for node of the 3.18.x version...
  • 🔥 20
  • 👍 10
Post #261 3.02K
КРОК на следующей неделе проводит митап по ведению проектной деятельности:

https://promo.croc.ru/meetup07-04-22

Наверное, вы уже видели ссылку в паре других 1сных каналов, но хочу продублировать ее и тут.

Почему?

Во-первых, КРОК - это хорошо. Знаю, что некоторые не любят интеграторов, но у КРОКа действительно хорошая экспертиза в айтишке в целом, и в джаве 1с в частности.
Во-вторых, больше новых организаторов митапов - это очень хорошо! Больше общения, больше дележки опытом, новые идеи и мысли. Еще и бесплатно. Ништяк же.

Так что кому близка тема управления проектом/продуктом и кто знаком с ERP/УХ/ERP УХ - заглядывайте на огонёк к ребятам.
  • 👍 10
  • ❤ 2
  • 🤮 1
Post #260 3.9K
Хантинга пост.

Ко мне (прям совсем ко мне) на проект очень нужен толковый одинэсный разраб. Что-то вроде middle-to-senior (или выше) с учётом того, что требования к качеству у меня завышены :)

О чем проект: учётная/операционная система для допуска до работы всех врачей и фармацевтов страны, выпускающихся после 2016 года.
С сотнями тысяч людей в роли контингента и десятками тысяч пользователей в 1с, по всей стране.
Даже "Проект года" 1сный выиграли: https://eawards.1c.ru/projects/sozdanie-i-soprovozhdenie-informacionnoy-sistemy-obespecheniya-nepreryvnogo-medicinskogo-obrazovaniya-v-chasti-podsistemy-akkreditacii-83278/

Стек: самописка на базе свежайшей и регулярно обновляемой БСП (3.1.6 на текущий момент), веб-клиент, postgresql, СДО Moodle (php+js), часть собственных компонентов на php/java/typescript, RabbitMQ в роли брокера сообщений между внутренними компонентами, soap/http для интеграции с внешними федеральными медицинскими системами.
Всё это сдобрено вот этими нашими тестами на VA, дженкинсами, гитлабами, сонарами и прочими оскриптами с докером и кубернетисом. Ну и подсистемой мониторинга, конечно же.

Что делать: думать головой в первую очередь! :)
Под моим надзором и с технической постановкой задач пилить новую функциональность (опер учёт без бухгалтерии и прочей зарплаты), интеграции, делать тестики, исправлять найденные и вносить новые баги.

Территориально - Москва, м. Марксистская.
Удаленка возможна.
Юридически - Первый Бит.Москва.Марксисткая, бывшая Москва.Семеновская.

Писать мне или сразу нашей HR Дарье Тарасовой: @dashatarasova08
eawards.1c.ru Создание и сопровождение информационной системы обеспечения непрерывного медицинского образования в части подсистемы аккредитации
  • 👍 23
  • ❤ 11
  • 🔥 7
Post #253 3.65K
Ну и подвале, конечно же, фоточки!

- Ада в нетерпении
- Общий вид
- Стикеры
- Футболка
- Футболка с кошкой Кошка с футболкой
- Клятва
- Ассемблер, который отказался фотографироваться с айтишными ништяками, но всё равно прекрасный кот.
  • 👍 14
  • 🔥 6
  • ❤ 3
Post #251 2.92K
Немного котиков вам в ленту.

Наконец-то до меня добралась посылка от #Hacktoberfest 2021!
В этом году ребята несколько затянули с отправкой, да и сама посылка долго колесила по Штатам, прежде чем отправиться в Европу.

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

Набор 2021 года в целом повторяет предыдущие:
* стикеры - кажется, чуть меньше, чем в прошлом году;
* подставка под пиво кофе - новенький атрибут;
* несколько картонок от спонсоров;
* традиционная футболка.

Стикеры на этот раз не очень впечатлили. За исключением бухающего саке Октокота. Впрочем, все Октокоты прекрасны, это же Октокоты!

Подставка имеет странную фактуру, есть сомнения в долговечности ее использования. Надо срочно на нее что-то пролить!

Спонсоров в этому году стало чуть больше. По крайней мере их стало больше на футболке. Если в прошлом году на рукаве были шильдики только от Digital Ocean и DEV, то сейчас место DEV заняли Intel, DeepSource и AppWrite.

Футболка очень приятная на ощупь, ткань напоминает вариант 2020-го года. Т. е. она тактильно приятнее и долговечнее, чем 2019, которая довольно быстро начала покрываться катышками.

Отдельно хочу отметить клятву программиста за авторством Роберта Мартина. Подписались бы под такой? :)
Post #249 4.1K
Не могло же все не зависнуть? Не могло.

Скоро вернёмся в эфир!
  • ❤ 4
  • 👍 3
  • 🎉 1
Post #248 7.23K
#стрим на Весёлом 1с!

Думать не стали, просто решили
Завтра идём в поход до вершины
Без подготовки, без альпинистов
Быстро собрались, быстро ушли
Туда, где есть небо.

(да, я люблю Слот)

---

Завтра, 21.01.2022 в 19.00 MSK проведём первый стрим 2022 года на тему "производительного RLS".

Технология уже два года как в релизе, но для многих она остаётся сакральным знанием. Тех, кто в ней шарит, и может ответить на вопросы, к сожалению, совсем немного.

Но... I’ve seen some shit.

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

https://youtu.be/GpB4nuO-F0c
YouTube Производительный RLS в БСП 3.0+. Как готовить и с чем есть. СТРИМ! СТРИМ! СТРИМ! Впервые в 2022 году и вообще в истории подсистемы RLS для БСП 3.0! Быстрая подсистема прав доступа вышла в составе БСП два года назад, но поняли, как ею пользоваться - единицы в отрасли. Мы постараемся показать, что это за зверь, почему…
  • 👍 20
  • 🔥 19
Post #247 2.83K

Forwarded from Хатка Бобра

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

Я в принципе, часто про это рассказываю, а вы - так и вовсе это знаете сами.

не знаю, насколько tproger полезный ресурс, я вообще редко появляюсь с такими публикациями, но, как говорится, чем богаты. Можно комментировать и оспаривать, если таковое желание будет. Welcome!

https://tproger.ru/articles/ne-oldskul-a-perspektivy-pochemu-1s-po-prezhnemu-otlichnyj-vybor-dlja-nachinajushhih-specialistov/

лайк, репост приветствуются
Tproger Почему 1С отличный выбор для начинающих специалистов Системный архитектор «Сберлогистики» рассказал том, почему 1С — перспективный язык программирования и отличный выбор для начинающих.
  • 👍 15
  • 👎 4
Post #246 2.45K
Воу-воу-воу, пятничное чтиво про 1С от очень Злого Бобра!
Post #245 3.17K
В семействе редакторов, поддерживающих язык 1С (BSL), прибыло.

Есть такой занятный редактор текста, встроенный в KDE (одно из самых популярных графических окружений для Linux) - Kate.

Как и множество других редакторов он страдает болезнью not invented here и имеет свой собственный формат описания грамматики для подсветки блоков кода.

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

Другими словами, если вы напишите поддержку языка bsl для kate, то и в pandoc ее тоже можно будет подключить. Что и сделал широко известный в узких кругах Лягух aka @pepeisalreadytaken :)

Встречаем свеженький реп в семействе проектов 1c-syntax!

https://github.com/1c-syntax/KDE-bsl-syntax
GitHub GitHub - 1c-syntax/KDE-bsl-syntax: KDE-style XML syntax definition for 1C: Enterprise and OneScript languages KDE-style XML syntax definition for 1C: Enterprise and OneScript languages - GitHub - 1c-syntax/KDE-bsl-syntax: KDE-style XML syntax definition for 1C: Enterprise and OneScript languages
  • 👍 32
  • 💩 3
Post #244 3.21K
Бэкстэйдж
Post #243 4.55K
Вы наверное уже догадались, но теперь официально (с)!

Сегодня вечером в 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С-ников. «Телезрители» подготовили свои вопросы и ждут эфира, чтобы проверить эрудицию команды «знатоков».
Post #242 3.37K
Что-то будет... :)
Post #241 3.19K
firstBitMarksistskaya/jenkins-lib добрался до релиза 0.5.0!

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

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

Исправлена куча ошибок при работе шагов библиотеки на агентах под Windows, похоже ее на винде вообще никто не пробовал запускать (в том числе и я, ха). Счастливые пользователи докера и/или виртуалок на линуксах! Бой бэкслэшам и ANSI!

И на сладенькое добавлена возможность переопределять место, из которого берется версия проекта для анализа на SonarQube.

Не расслабляемся, новые шаги и фичи incoming!
GitHub Release v0.5.0 · firstBitMarksistskaya/jenkins-lib What's Changed Реализован шаг "дымовые тесты". В минимальном варианте шаг может работать без дополнительных настроек со стороны репозитория. Подробнее - см. README. (by @nixel2007 @o...
  • 😁 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →