ar
Feedback
Александр Кунташов — про 1С и не только

Александр Кунташов — про 1С и не только

الذهاب إلى القناة على Telegram

Заметки про разработку и смежные штуки: 1С, Vanessa Automation, DevOps в 1С, OneScript, PHP, Linux, JS, Python и всякое вокруг и около ИТ.

إظهار المزيد
2 544
المشتركون
لا توجد بيانات24 ساعات
+37 أيام
-330 أيام
أرشيف المشاركات
Все что вы хотели знать о технологии блокчейн в 1С (это реально из прода 🤪). #codesmells 💩 #говнокод
Все что вы хотели знать о технологии блокчейн в 1С (это реально из прода 🤪). #codesmells 💩 #говнокод

Хз, кому это надо, но для потомков немного уточню, а тут чат протестирование, так что в тему :-), тем более 1СUnit/xUnitFor1C — первый популярный репозиторий на 1С на github'е. В интервале с 2010-2011 был SnowTest Федора Езеева, написанный во времена его работы в Яндексе. В начале 2012 года я взял из него модуль утверждений и с нуля написал TestRunner для ОФ, так им и пользовался на двух проектах, функционально было это минимальное MVP. Потом в развитии инструмента была пауза до первого лампового Инфостарт Эвента, где я обмолвился в личной беседе о сделанном Артуру. Меньше чем через месяц ровно в ДР Артура я написал ему, и у нас завязался разговор, в результате которого я выложил на github первую публичную версию, которую назвал 1CUnit, потихоньку начали пилить вместе ОФ, а в декабре того же года присоединился Григорий Пташко и прикрутил первую версию поддержки УФ. В 2013 фирма 1С официально всех предупредила, что 1С в названии можно использовать только если ты партнер и только специальным образом, и Андрей Аристархов, если не ошибаюсь, на ИЭ 2013 в мае (а может и раньше в Г+), намекнул нам, что надо бы переименоваться и этот вопрос начали кулуарно обсуждать. Алексей общался с Андреем лично, он посоветовал использовать суффикс "For1C" + была переписка в G+, в итоге два основных варианта было - xUnitFor1C и OpenUnitFor1C. В результате победил xUnitFor1C. Тогда же я передал репозиторий вновьсозданной организации на github с названием xddDrivenDevelopment (вместо буквы x в начале могла быть буква y, привет Жене Сосне 😊). Приблизительно тогда же, кажется, Женя Сосна прикрутил в проект precommit1C и разрабатывать стали в исходниках. В 2015 г (я точной даты тут уже не знаю, т.к. я уже активного участия на тот момент не принимал) Женя Павлюк переписал полностью ядро xUnitFor1C в тот вид, какой мы его знаем сейчас, с поддержкой плагинов и т.п. Об этом была отличная статья на хабре https://habr.com/post/270061/ Ну и дальше уже все так, как написал Алексей. Формально в проекте поучаствовало 31 разработчик: https://github.com/xDrivenDevelopment/xUnitFor1C/graphs/contributors

Давайте попробуем еще раз прогуляться по истории FuncTest 7.7 - 2003+ год FuncTest 8 - 2006+ год xUnitFor1C 3-тья редакция - 2010+ xUnitFor1C 4-тая редакция 2012+ cuke4onec - vanessa-behavior - 2012+ vanessa-automation-driven-development (ADD) - 2016+ Поэтому Vanessa Automantion Driven Development имеет 5-тую редакцию - это прямая отсылка к исходным продуктам. Вопрос - когда появились дымовые тесты ? Ответ: На мой взгляд в 2003 году, потому как я первый раз их увидел еще в проекте FuncTest 7.7 Другой вопрос - текущая реализация - кто её автор ? Во первых - дымовых тестов существует 2 реализации: в TDD и BDD стиле - кто их автор. Точно кто-то из контрибьюторов Однажды я уже писал это в статье на Хабре. Просьба всем кто не в курсе - на досуге изучить историю развития. Тогда не будет непонимания. Статья на Хабре - вот эта https://habr.com/post/252473/ Скриншот оттуда

🤓 Дублирование кода vs dependency hell Призываю прекратить споры о дублировании кода. Мы убеждаем молодых разработчиков и ин
🤓 Дублирование кода vs dependency hell Призываю прекратить споры о дублировании кода. Мы убеждаем молодых разработчиков и инженеров в том, что это худшая вещь, когда время учит всех нас, что в подавляющем большинстве случаев предпочтительнее дублирование, чем зависимость. Особенно, когда мы создаем огромную сложность, абстрагируя код, который просто похож на другой. — Sam Ferree Зачастили последнее время подобные высказывания разработчиков в соцсетях. Создается впечатление, что маятник качнулся в обратную сторону: еще вчера они же убеждали в том, что нужно стремиться к повторному использованию кода, избегать дублирования, максимально используя внешние зависимости. Сегодня это часто приводит к dependency hell, что является другой крайностью. Правда, конечно же, посередине, а рулит к ней, как всегда, здравый смысл, но есть ли он у юных падаванов? Let's the holywar begin! 😈

🔥 GitRules — мерж правил обмена КД2 без боли На прошлой неделе в чатике @ssl1c был бурный спор КД3 vs КД2 и среди прочих аргументов против Конвертации данных 2 была также названа сложность коллективной разработки. Да, когда-то это действительно было проблемой прежде всего из-за того, что XML-файлы сложно мержить инструментами для мержа исходного кода. Так вот, на самом деле проблема относительно давно решена, но многие об этом еще не знают. Рассказываю. Есть крутой инструмент — GitRules (ссылка ниже), написанный конечно же на OScript и который разбирает xml-дерево правил обмена на атомарные составляющие и сохраняет их в виде иерархии каталогов и файлов. Естественно, умеет и обратно собирать разобранные в структуру файловой системы правила. Благорадя этому разные версии можно легко сравнивать/объединять без боли универсальными инструментами типа kdiff3, WinMerge, Meld и т.п. и в строенный в git алгоритм мержа отлично будет работать. Не используете Git и не знаете, нужен ли GitRules вам? Меня он очень сильно выручал не раз в ситуациях, когда нам заказчик возвращал правила "вот мы тут кое-что сами запилили, но не смогли полностью, пожалуйста, помогите доделать". Сравнение/объединение правил встроенными средствами Конвертации данных 2.0 не удобно, не все изменения видит, да еще и не умеет объединять исходный код скриптов, а с GitRules + любой из перечисленных выше инструментов для мержа это вообще не проблема. Очень рекомендую, а авторам и контрибуторам GitRules и ExchangeRules1C (см. ниже *), огромное спасибо и большущий респект! Ссылка на инструмент: https://github.com/otymko/gitrules В readme репозитория исчерпывающая инструкция, но к этому есть еще и статьи про организацию процесса разработки и версионирование правил обмена: — Версионирование правил обмена в Git — статья на ИС от автора ExchangeRules1C (Никита Коротаев aka bf0rce) — Повышаем эффективность разработки правил обмена — статья от разработчика GitRules, Олега Тымко (aka @otymko) * https://github.com/bf0rce/ExchangeRules1C — я точно не знаю, но, вероятно, это прародитель GitRules. Пытаясь решить проблему объединения правил первый раз я нашел и использовал сначала именно его. GitRules, судя по дате публикации, появился позже, но рекомендую к использованию именно GitRules в виду того, что это - полноценный инструмент командной строки, в то время как ExchangeRules1C это не один скрипт, а набор скриптов, без командного интерфейса (нужно файл правил размещать в исполняемой директории скрипта) и работает только под Windows (использует Microsoft XML Parser). #Инструменты

Кстати. Абсолютно незамеченной прошла новость о том, что ВТБ Капитал сместил с поста гендиректора компании Техносерв её основателя и совладельца, одного из бартьев Ананьевых. А Техносерв на минуточку, это крупнейший в России и частный системный интегратор. О как. Техносерв кончено же не Магнит - на сервисные ИТ-компании по большому счету всем наплевать (пока все работает), поэтому новость заметили только те, кто разивается на этом рынке ИТ-услуг. Да и то не все. О чем эта новость? Да все о том же… о тихой наионализации крупного бизнеса в стране. Первая ласточка национализации прилетела и в ИТ. сейчас на Техносерве откатают процессы. И… кто будет следующим? )) Вангую желтую компанию ))

Что думаете о таком прогнозе?

🍕 #ZeroBugPolicy в ДоДо Пицца Саму пиццерию не люблю по личным мотивам, но отдел ИТ у них крутой (ну и Овчинников молодец). Баг, который не чинится и не напоминает о себе месяцами действительно не имеет смысла исправлять, это вроде как на уровне здравого смысла. А вот табличка приоритезации в статье отличная. https://facebook.com/notes/dodo-pizza-engineering/zerobugpolicy-или-как-мы-баги-чиним/1446732912129727/

📺 Борис Нуралиев: Как автоматизировать бизнес @ AmoConf https://youtu.be/4FT8Rn9YrkQ (via @v8std) Ничего нового для тех, кто варится в экосистеме 1С, но интересно с точки зрения понимания, как сейчас позиционирует себя фирма 1С. Ну и неплохой пример, как рассказывать о возможностях 1С на сквозном примере (сейлзам на заметку). Конечно, все слишком идеально и просто, но как высокоуровневый позитивный сценарий - ОК. Большое отступление. Часто слышна критика в адрес БГ и докладчиков из компании 1С в целом насчет того, что на слайдах "многобукв". А с другой стороны недавно активно в FB и в одном канале про ИТ-конференции обсуждалось, что публиковать презентации после конференции — моветон, ведь в них только красивые слайды, и в отрыве от того, что говорит докладчик, все равно ничего не понятно. Но у 1С как раз презентации — самодостаточный материал, из которого без докладчика можно прочитать тезисы и полезные данные и в целом она дает понимание, о чем была речь и куда смотреть дальше по теме. И да, наверное, если объединить две мысли в одну, то получится, что в идеале: — для выступления на сцене нужна версия презентации, где много красивых картинок-якорей и мало текста; — для выкладывания в качестве доп. материала нужна "скучная" версия презентации, как у БГ, где много букв по делу.

Знатный наброс!
Знатный наброс!

#анонс #инфостарт Хотел рассказать про то, как можно быстро решить проблему неработоспособного SOAP в 1С с помощью промежуточного сервиса. Писал пост, вылилось в статью :) Прошу читать и может быть даже лайкать. https://infostart.ru/public/965259/ P.S. Если у кого будут вопросы по поводу TypeScript - ловите меня в чатиках, обсудим сложности реализации и поноем вместе, что соап в 1с - не торт.

😜 1C:EDT vs VSC vs Конфигуратор vs ST3 Disclaimer. Это провокация :) Несмотря на то, что везде открыты одни и те же исходник
😜 1C:EDT vs VSC vs Конфигуратор vs ST3 Disclaimer. Это провокация :) Несмотря на то, что везде открыты одни и те же исходники (УНФ), сравнение безусловно не честное: нельзя сравнивать текстовые редакторы практически без обвеса и IDE, в которой выполняется проверка конфигурации и куча всего. К вопросу потребления оперативы редакторами с учетом "обвеса": в ST3 установлены плагины Package Control и BSL, в VSC аналогичный плагин BSL + плагин для подсветки фиче-файлов на Gherkin'е. VSC, кстати, еще и несколько процессов запускает (такая вот архитектурная особенность). В ST3 я один раз запускал глобальный поиск по файлам. В VSC просто открыл один модуль. В EDT был сделан импорт конфигурации из репозитория и сделан один коммит. #EDT

💩 Полуночная неожиданость Традиционно перед выходными собрался посвятить часик-два кодотерапии и, предвкушая удовольствие от процесса написания чего-то интересного для души, заварил кофе. А пока заваривается, решил бегло посмотреть, что там сегодня сдал разработчик. И вот уже кофе остыл, а я сижу и пытаюсь сформулировать замечание так, чтобы а) разработчик понял и признал, что это проблема и больше такого не повторял ("Ну работает же и сдано в срок.") б) не воспринял замечание на личный счет и не обидился ("Не первый год программированием деньги зашибаю, а ты тут мне умничаешь."); И в такие минуты понимаешь, что гораздо лучше, когда такие "детские" ошибки отлавливает бездушный линтер/статический анализатор: и тебе не нужно перелопачивать эти какашки, и разработчику не на кого будет обижаться. Это, конечно, сложнее учесть в составе ROI от использования инструмента, но интуиция мне подсказывает, что в масштабах большой компании здоровье коллектива и отдельных ведущих специалистов тоже неплохо может окупить 780К, а то и больше за инструмент. #говнокод #codesmells

#говнокод #codesmells
#говнокод #codesmells

🛩 Скрамгайд от Сибирикса Красиво сверстаное пособие по терминологии Скрама. Инфографика прикольная. https://blog.sibirix.ru/
🛩 Скрамгайд от Сибирикса Красиво сверстаное пособие по терминологии Скрама. Инфографика прикольная. https://blog.sibirix.ru/2018/10/31/scrumguide-all/

🎓 Ценность для бизнеса vs. Хороший код ЦенностьДляБизнеса + ПлохойКод = ОтличныйПродуктСегодня ЦенностьДляБизнеса + ХорошийКод = ОтличныйПродуктЗавтра ОтсутствиеЦенности + КодЛюбогоКачества = ВсегдаПлохойПродукт (c) Константин Кудряшов aka everzet (автор Behat), из презентации Moving Avay From Legacy Code with BDD #BDD #Тестирование

🙃 Сколько лет уже, а все не могу перестать удивляться, когда вдруг звонит или пишет какой-то клиент из прошлого, с которым не было контактов несколько лет и внезапно спрашивает "А случаем не сохранилось у вас наших бэкапов?". И ладно это был бы единичный случай, и ладно если бы это было только про сайты. Но когда спрашивают бэкап их древней 1Ски... У меня за последние два дня уже третий случай. К слову, с сайтами (за исключением случаев, когда заказчик теряет хостинг; самое популярное - не продлили вовремя), всегда спасал (и до сих пор спасает) бэкап, который создается непосредственно на хостинге клиента в отдельном каталоге перед передачей работы клиенту (ну, насколько может спасти устаревшая резервная копия).

🚀 Чат по OneScript — велкам: @oscript_library Никита не выдержал и сделал чат по oscript'у и библиотекам: https://t.me/oscript_library Теперь вы точно будете знать, что такой чат есть, но все равно будете путаться, куда написать 😊

О, какую клёвую штуку подвезли в Canary.