Журнал инженера-программиста
Жаль, что ChatGPT и Copilot до сих пор не научились разбираться в коде 1С
На днях написал про неумение больших языковых моделей понимать 1С, а сегодня в ленте новостей увидел ссылку на свежее исследование в этой области. Для сравнения были взяты 4 плагина для среды разработки и 5 онлайн сервисов. По результату исследования нигде не работает кодогенерация, лишь у некоторых получается вести документацию.
А мог ли быть иной результат???
В каких языках программирования (ЯП) хороши большие языковые модели?
Например, в Python и JavaScript!
Есть ли в открытом доступе документация по этим ЯП для обучения нейронок?
Есть! Очень подробная с примерами. Причем по каждой версии раздельно!
Есть ли в открытом доступе образцы кода для обучения ИИ?
Есть! На GitHub есть сотни тысяч открытых проектов, а на Stack Overflow есть сниппеты кода с подробным описанием их работы и какую задачу они выполняют.
Но даже такие тепличные условия не защищают от сбоев - сгенерированный код часто не работает с первой попытки и нужно выполнить несколько итераций, сообщая LLM какие ошибки происходят на этапах компиляции и исполнения.
Что же мы имеем в 1С?
1️⃣ Открытой документации для программистов просто не существует. Для доступа к описанию языка нужно покупать доступ на ИТС или проходить регистрацию на портале разработчиков (но для последних часть технических разделов по языку 1С остается закрытым).
2️⃣ Язык 1С очень стар и в нем накопилось множество не логичных реализаций, а так же внезапно разного поведения в похожих ситуациях. Усложняет ситуацию странный подход к "обратной совместимости" и различное поведение даже минорных версий.
3️⃣ Язык 1С - это изначально два набора языков с англоязычным и с кириллическим синтаксисом. При чем в разных версиях англоязычные синонимы встроенных функций могут меняться!
4️⃣ Фирма 1С никогда не продвигала язык своей одноименной платформы отдельно от платформы и официально язык вообще не имеет названия! Это очевидно затрудняет сбор данных при обучении языковых моделей общего назначения.
5️⃣ Подавляющая часть кода на языке 1С защищена от открытых публикаций и распространения лицензиями и договорами.
6️⃣ На GitHub очень мало репозиториев 1С-кода и в качестве расширения для программных модулей используется BSL. Так же в тексте файлов нет никаких указаний, что это код на языке 1С.
7️⃣ На Stack Overflow на сегодня всего 654 вопроса, из которых большая часть касается Битрикс (CMS тоже принадлежит 1С) и лишь у некоторых вопросов есть единичные ответы. С точки зрения обучения - материала нет!
Сила больших языковых моделей типа ChatGPT в том, что они анализируют миллионы похожих образцов и на их базе учатся делать "по аналогии". Для языка 1С просто нет объема для обучения и потому "магия" не работает. Можна попробовать "обучение" скормить в виде промпта, но этот титанический труд должен кто-то сделать и количество токенов для полезного запроса будет пропорционально уменьшаться с ростом качества "обучения".
Безусловно ИИ в будущем могут начать работать с 1С при условии, что появится открытая документация и станут доступными многочисленные образцы кода (читай "никогда").
#1C #LLM #MachineLearning
А мог ли быть иной результат???
В каких языках программирования (ЯП) хороши большие языковые модели?
Например, в Python и JavaScript!
Есть ли в открытом доступе документация по этим ЯП для обучения нейронок?
Есть! Очень подробная с примерами. Причем по каждой версии раздельно!
Есть ли в открытом доступе образцы кода для обучения ИИ?
Есть! На GitHub есть сотни тысяч открытых проектов, а на Stack Overflow есть сниппеты кода с подробным описанием их работы и какую задачу они выполняют.
Но даже такие тепличные условия не защищают от сбоев - сгенерированный код часто не работает с первой попытки и нужно выполнить несколько итераций, сообщая LLM какие ошибки происходят на этапах компиляции и исполнения.
Что же мы имеем в 1С?
Сила больших языковых моделей типа ChatGPT в том, что они анализируют миллионы похожих образцов и на их базе учатся делать "по аналогии". Для языка 1С просто нет объема для обучения и потому "магия" не работает. Можна попробовать "обучение" скормить в виде промпта, но этот титанический труд должен кто-то сделать и количество токенов для полезного запроса будет пропорционально уменьшаться с ростом качества "обучения".
Безусловно ИИ в будущем могут начать работать с 1С при условии, что появится открытая документация и станут доступными многочисленные образцы кода (читай "никогда").
#1C #LLM #MachineLearning
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
LLM и 1С: изучаем сервисы для автоматизации написания кода 1С
Золотая мечта в IT – это сделать так, чтобы для написания программ не требовались особые навыки и знания. Для этого разрабатываются различные подходы и low-code платформы, и вот вполне закономерно был...
👍3
Сегодня Павел Дуров (CEO Telegram) в своем сообщении прорекламировал тапалку TapSwap - один из клонов Notcoin, которая уже заключает договора с биржами о скором листинге.
Странный пост с точки зрения того, что этот проект не сильно выделяется на фоне других. Например, даже во многих промо-материалах от Ton Foundation часто упоминается сверхпопулярная игра с котиками - Catizen, активности по которой сейчас доходят до кульминации и через неделю уже должен быть листинг. Про Хомяков я уже даже не заикаюсь (тоже заключены договора с биржами и листинг ожидается в следующем месяце). Но у Дурова про более популярных представителей #GameFI почему-то нет ни слова.
Логично предположить, что Павел является соучредителем проекта и его доход напрямую зависит от успешного старта. Уже увидел в чатах сообщения от людей: "надеюсь я еще успеваю что-то получить" - реклама сработала и игра пополняется новыми игроками.
P.S. Кликеры, которые обещают раздать крипту, это все же лудомания. Даже если не вносить деньги (а некоторые этого требуют), то за финансовые миражи обещанных #airdrop нужно расплачиваться своим временем и вниманием. На месте TF я бы был очень аккуратным с попытками в #массадопшн через игры на деньги.
P.S.S. Если уже есть свободное время, то его лучше потратить на чтение интересной книги! Или пообщаться с близкими людьми!
Странный пост с точки зрения того, что этот проект не сильно выделяется на фоне других. Например, даже во многих промо-материалах от Ton Foundation часто упоминается сверхпопулярная игра с котиками - Catizen, активности по которой сейчас доходят до кульминации и через неделю уже должен быть листинг. Про Хомяков я уже даже не заикаюсь (тоже заключены договора с биржами и листинг ожидается в следующем месяце). Но у Дурова про более популярных представителей #GameFI почему-то нет ни слова.
Логично предположить, что Павел является соучредителем проекта и его доход напрямую зависит от успешного старта. Уже увидел в чатах сообщения от людей: "надеюсь я еще успеваю что-то получить" - реклама сработала и игра пополняется новыми игроками.
P.S. Кликеры, которые обещают раздать крипту, это все же лудомания. Даже если не вносить деньги (а некоторые этого требуют), то за финансовые миражи обещанных #airdrop нужно расплачиваться своим временем и вниманием. На месте TF я бы был очень аккуратным с попытками в #массадопшн через игры на деньги.
P.S.S. Если уже есть свободное время, то его лучше потратить на чтение интересной книги! Или пообщаться с близкими людьми!
👍10
Еще один факт про #1C из категории "это невозможно понять, с этим нужно смирится".
Все давно свыклись, что в компании 1С при разработке платформы очень вольно обходятся с обратной совместимостью:
♦️ то базовую строковую функцию поиска переименовали с Найти() на СтрНайти() при переходе с 8.3.5 на 8.3.6
♦️ то проверка доступа РольДоступна() начинает Исключение выдавать вместо Ложь при проверке на несуществующую роль (например, из расширения) при переходе с 8.3.3 на 8.3.4
♦️ то периодическая смена англоязычных наименований почти в каждой версии - самое свежее было с ОписаниеОповещения которая при переходе с 8.3.23 на 8.3.24 переименовалась с NotifyDenoscription на CallbackDenoscription
... и множество других подобных ситуаций, из-за которых иногда нужно тотально переписывать код модулей 🤦
Но есть коварное исключение!
В ранних версиях 8.3.1 и 8.3.2 для полей ввода был реализован метод НачалоВыбораИзСписка, чтобы иметь возможность до показа списка выбора заполнить значения согласно бизнес-логике. Но уже для версии 8.3.3 методологи 1С передумали. Цитата с ИТС:
Казалось бы один из многих случаев и событие не стоит внимания; тем более, что до версии 8.3.5 релиз обоснованно считался сырым и подавляющее большинство пользователей продолжали работать на 8.2. Но именно тут разработчики решили "пойти на встречу общественности" и с целью обратной совместимости оставили в палитре свойств неработающее событие НачалоВыбораИзСписка (BeginListSelection), которое доступно на абсолютно всех версиях 8.3.* в Конфигураторе и в ЕДТ.
Недавно мне нужно было как раз ограничивать список выбора согласно выбранного типа операции, вида договора и еще пары параметров (все проверки на клиенте без вызова сервера) - больше часа ушло на понимание, что это не у меня руки кривые, а это такая шутка от разработчиков платформы. Обсудил с коллегами - оказалось, что и они периодически наступают на эти же грабли 🤕
Все давно свыклись, что в компании 1С при разработке платформы очень вольно обходятся с обратной совместимостью:
♦️ то базовую строковую функцию поиска переименовали с Найти() на СтрНайти() при переходе с 8.3.5 на 8.3.6
♦️ то проверка доступа РольДоступна() начинает Исключение выдавать вместо Ложь при проверке на несуществующую роль (например, из расширения) при переходе с 8.3.3 на 8.3.4
♦️ то периодическая смена англоязычных наименований почти в каждой версии - самое свежее было с ОписаниеОповещения которая при переходе с 8.3.23 на 8.3.24 переименовалась с NotifyDenoscription на CallbackDenoscription
... и множество других подобных ситуаций, из-за которых иногда нужно тотально переписывать код модулей 🤦
Но есть коварное исключение!
В ранних версиях 8.3.1 и 8.3.2 для полей ввода был реализован метод НачалоВыбораИзСписка, чтобы иметь возможность до показа списка выбора заполнить значения согласно бизнес-логике. Но уже для версии 8.3.3 методологи 1С передумали. Цитата с ИТС:
В "1С:Предприятии 8.3" у поля ввода не вызывается НачалоВыбораИзСписка. Это связано с <оправдание>. Подробнее см. документацию "Руководство разработчика".
Для устранения несовместимости необходимо найти поля ввода с обработчиком НачалоВыбораИзСписка и перенести его код в другие обработчики согласно критериям:
🔸 код по добавлению элементов в список выбора следует разместить в обработчике формы ПриСозданииНаСервере. Кроме того, если состав списка выбора зависит от значений других полей, то код по изменению элементов списка выбора следует вызывать в обработчиках изменения соответствующих полей, например при помощи обработчиков ПриИзменении;
🔸 реализацию кода, не связанного с заполнением списка выбора, необходимо пересмотреть с использованием тех средств, которые предоставляет платформа "1С:Предприятие" версии 8.3.3.
Казалось бы один из многих случаев и событие не стоит внимания; тем более, что до версии 8.3.5 релиз обоснованно считался сырым и подавляющее большинство пользователей продолжали работать на 8.2. Но именно тут разработчики решили "пойти на встречу общественности" и с целью обратной совместимости оставили в палитре свойств неработающее событие НачалоВыбораИзСписка (BeginListSelection), которое доступно на абсолютно всех версиях 8.3.* в Конфигураторе и в ЕДТ.
Недавно мне нужно было как раз ограничивать список выбора согласно выбранного типа операции, вида договора и еще пары параметров (все проверки на клиенте без вызова сервера) - больше часа ушло на понимание, что это не у меня руки кривые, а это такая шутка от разработчиков платформы. Обсудил с коллегами - оказалось, что и они периодически наступают на эти же грабли 🤕
👍5
В канале Никиты Федькина увидел рекламу нового канала OpenYellowProject, который запустился 7 мая и публикует информацию про публичные гитхаб-репозитории, связанные с технологиями 1С.
Полистал посты и увидел много хорошо знакомых проектов. Например, на текущей работы мы очень активно используем фреймворк тестирования "Vanessa automation", а на прошлой работе использовали таск-трекер "Tasks".
И многих разработчиков знаю. С Владимиром Сидоренко мы хорошо знакомы и периодически встречаемся в Киеве. Отличный специалист и вообще хороший человек. Если не ошибаюсь, то именно я был автором его первого репозитория с кастомным php-скриптом для сайта OpenCart.
Разработчиков "IRPTeam" я вообще знаю как облупленных, потому что сам отношусь к их числу 😂
Полистал посты и увидел много хорошо знакомых проектов. Например, на текущей работы мы очень активно используем фреймворк тестирования "Vanessa automation", а на прошлой работе использовали таск-трекер "Tasks".
И многих разработчиков знаю. С Владимиром Сидоренко мы хорошо знакомы и периодически встречаемся в Киеве. Отличный специалист и вообще хороший человек. Если не ошибаюсь, то именно я был автором его первого репозитория с кастомным php-скриптом для сайта OpenCart.
Разработчиков "IRPTeam" я вообще знаю как облупленных, потому что сам отношусь к их числу 😂
👍6❤1👏1
В истории человеческой цивилизации регулярно появляются точки взрывного роста, которые кардинально меняли жизнь людей - изобретение колеса, научились выплавлять металлы, придумали паровой двигатель и двигатель внутреннего сгорания, концепцию переменного тока, накопление и передачу энергии, создали радио и телефонную связь, компьютеры и интернет...
В самом ближайшем будущем я вижу несколько подобных точек, которые сделают реальными миры, о которых сейчас только грезят фантасты.
1. Замена традиционных денег на крипто-аналоги. Традиционная денежная масса имеет ряд минусов - инфляционная модель, множество подделок, невозможность аудита, циркуляция завязана на особенности локальных законов и главная валюта планеты привязана к экономике с триллионным внешним долгом, который физически не сможет погасить (и даже не будет пытаться). Криптоденьги принадлежат их пользователям, операции записываются навечно и доступны на просмотр всем, циркуляция определяется алгоритмами. Многие страны уже приравняли биткойн и другие криптоманеты к платежным средствам, банки и фонды используют крипту для хеджирования рисков долговременного накопления, биржи используют ETF на основе биткойна и эфира (Канада скоро запускает ETF на солане), некоторые страны даже разрешают платить налоги в крипте! Либра на базе Фейсбука не взлетела (хотя дала жизнь популярным Aptos и SUI), но TON от Telegram со второй попытки все же стал популярен и последний год о нем говорят всё больше и больше (особенно после выступления Павла Дурова на конференции Token 2049 Dubai). Илон Маск уже анонсирует, что в следующем году запустит собственный блокчейн в рамках Твиттера.
2. Квантовые компьютеры. Сейчас производство кубитов очень затратно, но регулярно появляются прорывные исследования, которые позволят удешевить производство и сделать технологию массовой. Сейчас базой технологических монополистов являются их собственные ЦОДы и для попытки конкурировать с GC, Azure и AWS нужно потратить миллиарды, но что важнее - отстоять многолетние очереди на тайванских фабриках, которые после землетрясения и усиления агрессивной китайской риторики переживают не лучшие времена. Один же квантовый компьютер позволит заменить целый ЦОД на транзисторной технологи! Это не только новый драйвер для цифровой экономики, но и существенное уменьшение углеродного следа (и фермеров больше не будут заставлять вырезать свои стада). Про перспективы ускорения научных исследований я уже молчу - там открывается просто безграничный космос!
3. Искусственный интеллект и роботы. Это независимые направления, каждое из которых очень важно, но вместе они позволят сделать революцию хотя бы в плане прав человека, так как работорговля (а она до сих пор существует) станет экономически не выгодной - роботы едят только ток, после смерти их может воскресить любой механик и их с Интерполом не разыскивают родственники. Хороших результатов достиг Илон Маск со своим роботом Optimus.
Эта тройка меня интересует не сколько перспективностью, а скорее реальностью - готовые прототипы уже созданы и приносят первую пользу. И важно, что новинки нужно изучать прямо сейчас, чтобы завтра не называть системный блок "процессором" и чтобы не было "какая-то страшная табличка на экране выскочила и я от испугу выдернул шнур питания".
В самом ближайшем будущем я вижу несколько подобных точек, которые сделают реальными миры, о которых сейчас только грезят фантасты.
1. Замена традиционных денег на крипто-аналоги. Традиционная денежная масса имеет ряд минусов - инфляционная модель, множество подделок, невозможность аудита, циркуляция завязана на особенности локальных законов и главная валюта планеты привязана к экономике с триллионным внешним долгом, который физически не сможет погасить (и даже не будет пытаться). Криптоденьги принадлежат их пользователям, операции записываются навечно и доступны на просмотр всем, циркуляция определяется алгоритмами. Многие страны уже приравняли биткойн и другие криптоманеты к платежным средствам, банки и фонды используют крипту для хеджирования рисков долговременного накопления, биржи используют ETF на основе биткойна и эфира (Канада скоро запускает ETF на солане), некоторые страны даже разрешают платить налоги в крипте! Либра на базе Фейсбука не взлетела (хотя дала жизнь популярным Aptos и SUI), но TON от Telegram со второй попытки все же стал популярен и последний год о нем говорят всё больше и больше (особенно после выступления Павла Дурова на конференции Token 2049 Dubai). Илон Маск уже анонсирует, что в следующем году запустит собственный блокчейн в рамках Твиттера.
2. Квантовые компьютеры. Сейчас производство кубитов очень затратно, но регулярно появляются прорывные исследования, которые позволят удешевить производство и сделать технологию массовой. Сейчас базой технологических монополистов являются их собственные ЦОДы и для попытки конкурировать с GC, Azure и AWS нужно потратить миллиарды, но что важнее - отстоять многолетние очереди на тайванских фабриках, которые после землетрясения и усиления агрессивной китайской риторики переживают не лучшие времена. Один же квантовый компьютер позволит заменить целый ЦОД на транзисторной технологи! Это не только новый драйвер для цифровой экономики, но и существенное уменьшение углеродного следа (и фермеров больше не будут заставлять вырезать свои стада). Про перспективы ускорения научных исследований я уже молчу - там открывается просто безграничный космос!
3. Искусственный интеллект и роботы. Это независимые направления, каждое из которых очень важно, но вместе они позволят сделать революцию хотя бы в плане прав человека, так как работорговля (а она до сих пор существует) станет экономически не выгодной - роботы едят только ток, после смерти их может воскресить любой механик и их с Интерполом не разыскивают родственники. Хороших результатов достиг Илон Маск со своим роботом Optimus.
Эта тройка меня интересует не сколько перспективностью, а скорее реальностью - готовые прототипы уже созданы и приносят первую пользу. И важно, что новинки нужно изучать прямо сейчас, чтобы завтра не называть системный блок "процессором" и чтобы не было "какая-то страшная табличка на экране выскочила и я от испугу выдернул шнур питания".
👍2🔥2😁1
Неделя выдалась непростой, так как свет отключать стали чаще - причем не только в черных зонах по графику подачи энергии, но уже и в серых. Например, в среду у меня утром только включили электричество и уже снова выключили в 12:00; потом включили с 19:00 по 21:00 и потушили уже до часа ночи следующего дня. Интернет без света у меня есть, а вот батарея на ноуте начала сдавать - держит не более 3 часов, а при активной сборке проектов в Eclipse всего 2 часа. Я уже начал просматривать маркетплейсы на предмет альтернативных источников питания или сверхавтономных ноутов, которые согласно рекламе держат 12-14 часов. Думаю, взвешиваю варианты...
А ведь блэкауты текущей войны, это далеко не первые периоды моей жизни, когда нужно сидеть без света. В 90-е в Украине мы тоже очень частые сидели без света. Помню как мы всей семьей ужинали на кухне при свете керосиновой лампы, а потом переходили в зал. Там мы с сестрой при тусклом свете пытались делать школьную домашнюю работу. Но чаще в такие вечера мы всей семьей брали листики с ручками и играли в "слова из слов" 🤓
#StoryOfMyLife
А ведь блэкауты текущей войны, это далеко не первые периоды моей жизни, когда нужно сидеть без света. В 90-е в Украине мы тоже очень частые сидели без света. Помню как мы всей семьей ужинали на кухне при свете керосиновой лампы, а потом переходили в зал. Там мы с сестрой при тусклом свете пытались делать школьную домашнюю работу. Но чаще в такие вечера мы всей семьей брали листики с ручками и играли в "слова из слов" 🤓
#StoryOfMyLife
😢6
Не смотря на мой недавний скепсис относительно судьбы "хомяка", есть вероятность, что это окажется история со счастливым концом.
Во первых, Павел Дуров все таки прорекламировал эту игру в своем канале.
Во вторых, по свежей статистике (на картинке) количество активных кошельков в сети TON превысило количество в сети Ethereum в результате удачного "выстрела" Ноткойна. А популярные блокчейны привлекают больше инвестиций от фондов, которые можно/нужно использовать для дальнейшего развития.
В третьих, игра все же оказалась не просто тупой кнопкой "бабло", а имеет образовательную миссию. С целью изучения, я добавил себе этот кликер и обнаружил, что проект ежедневно выпускает образовательные ролики, за просмотр которых начисляют вознаграждение на два порядка выше, чем можно накликать за время равное просмотру (у ТапСвапа аналогичная история). В мультяшных роликах простым языком рассказываются базовые вещи для мира WEB3 - что такое блокчейн, в чем разница между криптовалютами, как зарабатывать и тратить крипту, как избежать мошенников. Другими словами, дается базовая грамота.
Для всех было неожиданно, что Ноткойн так сильно выстрелит, что он залистится на ведущих криптобиржах и даже принесет в среднем по 200 долларов игрокам. С учетом того, что у Хомяка да и у ТапСвапа аудитория намного выше чем у Ноткойна (и все хотят вертолетных денег), я прихожу к выводу, что вся эта затея с кликерами может оказаться далеко не простой забавой. Чем больше я смотрю на эту историю, тем больше она мне похожа на расчётливо составленный инвестиционный план с целью популяризации сети TON среди пользователей, которые ранее были очень далеки от всяких битков и эфиров. Возможно события этого года в будущем будут учить на уроках истории.
Ведь даже если сценарий большинства будет заключаться в том, что они выведут свои хомякобаксы на биржу, а от туда на банковские карточки, это уже будет победой стратегии - у этих пользователей будут активные аккаунты на биржах и опыт по работе с криптой. А некоторые решат быстро не уходить и воспользоваться полученными знаниями с целью заработать на крипте (как пацаны, что теперь рассекают с чиками на ламбах по Дубаям). Но самое главное, что у каждого из миллионов игроков в хомяка будет личный настроенный крипто кошелек как альтернатива использованию банковской системы. И это будет кошелек именно сети TON, а не каких-то арбитрумов и полигонов!
Так же важен возраст игроков. Поскольку активно играет в основном молодежь, то это будущие "сын/дочь маминой подруги", которых будут просить помочь с "хочу тут что-то купить, а меня просят USDT, а что это?" - "Элементарно! Это один из токенов в сети TON, сейчас быстро все настрою через Телеграмм".
#game #ton #cryptocurrency #гипотеза
Во первых, Павел Дуров все таки прорекламировал эту игру в своем канале.
Во вторых, по свежей статистике (на картинке) количество активных кошельков в сети TON превысило количество в сети Ethereum в результате удачного "выстрела" Ноткойна. А популярные блокчейны привлекают больше инвестиций от фондов, которые можно/нужно использовать для дальнейшего развития.
В третьих, игра все же оказалась не просто тупой кнопкой "бабло", а имеет образовательную миссию. С целью изучения, я добавил себе этот кликер и обнаружил, что проект ежедневно выпускает образовательные ролики, за просмотр которых начисляют вознаграждение на два порядка выше, чем можно накликать за время равное просмотру (у ТапСвапа аналогичная история). В мультяшных роликах простым языком рассказываются базовые вещи для мира WEB3 - что такое блокчейн, в чем разница между криптовалютами, как зарабатывать и тратить крипту, как избежать мошенников. Другими словами, дается базовая грамота.
Для всех было неожиданно, что Ноткойн так сильно выстрелит, что он залистится на ведущих криптобиржах и даже принесет в среднем по 200 долларов игрокам. С учетом того, что у Хомяка да и у ТапСвапа аудитория намного выше чем у Ноткойна (и все хотят вертолетных денег), я прихожу к выводу, что вся эта затея с кликерами может оказаться далеко не простой забавой. Чем больше я смотрю на эту историю, тем больше она мне похожа на расчётливо составленный инвестиционный план с целью популяризации сети TON среди пользователей, которые ранее были очень далеки от всяких битков и эфиров. Возможно события этого года в будущем будут учить на уроках истории.
Ведь даже если сценарий большинства будет заключаться в том, что они выведут свои хомякобаксы на биржу, а от туда на банковские карточки, это уже будет победой стратегии - у этих пользователей будут активные аккаунты на биржах и опыт по работе с криптой. А некоторые решат быстро не уходить и воспользоваться полученными знаниями с целью заработать на крипте (как пацаны, что теперь рассекают с чиками на ламбах по Дубаям). Но самое главное, что у каждого из миллионов игроков в хомяка будет личный настроенный крипто кошелек как альтернатива использованию банковской системы. И это будет кошелек именно сети TON, а не каких-то арбитрумов и полигонов!
Так же важен возраст игроков. Поскольку активно играет в основном молодежь, то это будущие "сын/дочь маминой подруги", которых будут просить помочь с "хочу тут что-то купить, а меня просят USDT, а что это?" - "Элементарно! Это один из токенов в сети TON, сейчас быстро все настрою через Телеграмм".
#game #ton #cryptocurrency #гипотеза
👍5🔥1😱1
📚 Методология Zettelkasten
Еще за 40 лет до изобретения World Wide Web, немецкий социолог Никлас Луман фактически изобретает концепцию гипертекста, которую назовет Zettelkasten (ящик с заметками). Благодаря специальной методике ведения рабочих записей ему удалось достичь феноменальной творческой продуктивности - создавая общую социологическую теорию, он опубликовал 77 книги (примерно по 3 книге в год) и более 700 научных статей.
Профессор Луман любил шутить, что свою картотеку он создал из-за плохой памяти. Первоначально он вел заметки на листах А4, которые вкладывал в книги, с которыми работал. Но со временем приходит к выводу, что намного удобнее для ведения и анализа использовать карточки А6, сохраняемые в определенной порядке. В финальной версии картотека содержала порядка 90 тысяч таких карточек.
Эта бумажная СУБД была словно вторым мозгом ученого и причиной по которой он всю жизнь проработал в университете Билефельда (Германия) - предложения от именитых университетов со всего мира он отклонял, так как панически боялся потерять накопленные знания при переезде.
_____________
🔎 Суть концепции Zettelkasten:
1. Каждая карточка содержала только одну идею или одну цитату с указанием первоисточника.
2. Карточки имели уникальные идентификаторы, созданные по определенному принципу (содержали в себе отсылку на идеи, развитием которых они являлись).
3. Всегда сперва делалась краткая запись, а ее осмысление, детализация и проработка делались в последующих заметках, что позволяло смотреть на одну и ту же идею с разных точек зрения.
4. По мере работы с картотекой создавались дополнительные ассоциативные связи между ранее не связанными заметками (Луман для этого создавал служебные карточки с ссылками).
_____________
Благодаря свой простоте методология обрела тысячи фанатов и последователей. И даже сейчас о ней продолжают говорить и писать статьи, одну из которых я и прочитал на днях 😊
Вот только в наши дни вести огромные бумажные картотеки и боятся их потерять при переезде больше не нужно - достаточно установить программу ведения заметок, которая вам больше понравилась. И, если верить обзорам, из доступных вариантов больше всего людям нравится программа Obsidian 🔮
И именно Obsidian я поставил на выходных на свой новый ноутбук.
To be continued...
Еще за 40 лет до изобретения World Wide Web, немецкий социолог Никлас Луман фактически изобретает концепцию гипертекста, которую назовет Zettelkasten (ящик с заметками). Благодаря специальной методике ведения рабочих записей ему удалось достичь феноменальной творческой продуктивности - создавая общую социологическую теорию, он опубликовал 77 книги (примерно по 3 книге в год) и более 700 научных статей.
Профессор Луман любил шутить, что свою картотеку он создал из-за плохой памяти. Первоначально он вел заметки на листах А4, которые вкладывал в книги, с которыми работал. Но со временем приходит к выводу, что намного удобнее для ведения и анализа использовать карточки А6, сохраняемые в определенной порядке. В финальной версии картотека содержала порядка 90 тысяч таких карточек.
Эта бумажная СУБД была словно вторым мозгом ученого и причиной по которой он всю жизнь проработал в университете Билефельда (Германия) - предложения от именитых университетов со всего мира он отклонял, так как панически боялся потерять накопленные знания при переезде.
_____________
🔎 Суть концепции Zettelkasten:
1. Каждая карточка содержала только одну идею или одну цитату с указанием первоисточника.
2. Карточки имели уникальные идентификаторы, созданные по определенному принципу (содержали в себе отсылку на идеи, развитием которых они являлись).
3. Всегда сперва делалась краткая запись, а ее осмысление, детализация и проработка делались в последующих заметках, что позволяло смотреть на одну и ту же идею с разных точек зрения.
4. По мере работы с картотекой создавались дополнительные ассоциативные связи между ранее не связанными заметками (Луман для этого создавал служебные карточки с ссылками).
_____________
Благодаря свой простоте методология обрела тысячи фанатов и последователей. И даже сейчас о ней продолжают говорить и писать статьи, одну из которых я и прочитал на днях 😊
Вот только в наши дни вести огромные бумажные картотеки и боятся их потерять при переезде больше не нужно - достаточно установить программу ведения заметок, которая вам больше понравилась. И, если верить обзорам, из доступных вариантов больше всего людям нравится программа Obsidian 🔮
И именно Obsidian я поставил на выходных на свой новый ноутбук.
To be continued...
👍7🔥2
Журнал инженера-программиста
Жара. Духота. Хочется сейчас лежать где-нибудь на берегу моря и попивать прохладный бульбачино. Или колбасино 😉 P.S. Забрал с почты новый ноут с аккумулятором 73 Вт/ч - завтра буду устанавливать на него винду.
This media is not supported in your browser
VIEW IN TELEGRAM
В такую жара все мысли только о холодном шаурмичино 🤣
А тем временем из-за жары на электростанциях участились аварии и нам еще сильнее ужали нормы подачи света.
Например. Вчера после темной ночи свет дали в 7 утра и в 9 уже отключили. Потом включили на 2 часа - с 16:00 по 18:00, после чего снова включили только в час ночи и только на один час. И это нам еще везет - у некоторых по Киеву не срабатывает автоматика и их даже на эти два часа не включают - сидят без света по 16 часов подряд...
Хуже всего холодильникам, которые в такую жарень без света не вытягивают. Замерил температуру в час ночи, сразу после включения - в обычном отделении +14, а в морозилке + 5.
Зато мой новый ноут показал себя отлично и даже после 7 часового отключения у него оставался заряд! 👨💻
А тем временем из-за жары на электростанциях участились аварии и нам еще сильнее ужали нормы подачи света.
Например. Вчера после темной ночи свет дали в 7 утра и в 9 уже отключили. Потом включили на 2 часа - с 16:00 по 18:00, после чего снова включили только в час ночи и только на один час. И это нам еще везет - у некоторых по Киеву не срабатывает автоматика и их даже на эти два часа не включают - сидят без света по 16 часов подряд...
Хуже всего холодильникам, которые в такую жарень без света не вытягивают. Замерил температуру в час ночи, сразу после включения - в обычном отделении +14, а в морозилке + 5.
Зато мой новый ноут показал себя отлично и даже после 7 часового отключения у него оставался заряд! 👨💻
😢2👨💻2
И снова мне сегодня Windows сообщила, что на системном диске старого ноута закончилось место и она не может работать. Не в первый раз такое, знаю что делать. Перегружаю ноут и уже 3,5 Гб свободного места. Какие-то временные файлы почистились.
Достаточно раздражительное событие. В этой истории меня бесят даже сразу две вещи:
1) Буквально вчера, когда я покупал первый комп и ставил Win98, Win2k и WinXP, размер 3,5 Гига - это было много! Чтобы вы понимали - это вообще был максимально допустимый размер файловой системы FAT16!!! В те времена Windows еще была обычной ОС - т.е. программой для запуска других программ, а потому ее размер был скромным и увеличивался исключительно за счет папочки с драйверами, которые можно было чистить. Это сейчас у нас непонятное НЕЧТО, живущее своей жизнью. Особенно после добавления ИИ - Cortana в Win10 и Copilot в Win11
2) Зачем продавцы в рознице до сих пор продают компьютерную технику с размеченными дисками? Что за мышление из 90х и 00х? После изобретения NTFS ограничений на диск по размеру больше нет и логично наконец-то начать хранить свои документы в папке "Мои документы", а не на дисках D, F и G. Ведь проблема даже не во фрагментировании данных по разным дискам, а то что место на системном диске C просто неизбежно будет заканчиваться. Если выделить 50Гб, то Windows скушает их за полгода. Если выделить 100 Гб, то уйдут за годик обычного офисного применения. 200 Гб операционка возможно будет забивать своими служебными файлами несколько лет, но точно освоит в полной мере!
На моем новом ноуте подобной проблемы с нехваткой места уже не будет. Весь 1Тб SSD - это единый системный диск.
Достаточно раздражительное событие. В этой истории меня бесят даже сразу две вещи:
1) Буквально вчера, когда я покупал первый комп и ставил Win98, Win2k и WinXP, размер 3,5 Гига - это было много! Чтобы вы понимали - это вообще был максимально допустимый размер файловой системы FAT16!!! В те времена Windows еще была обычной ОС - т.е. программой для запуска других программ, а потому ее размер был скромным и увеличивался исключительно за счет папочки с драйверами, которые можно было чистить. Это сейчас у нас непонятное НЕЧТО, живущее своей жизнью. Особенно после добавления ИИ - Cortana в Win10 и Copilot в Win11
2) Зачем продавцы в рознице до сих пор продают компьютерную технику с размеченными дисками? Что за мышление из 90х и 00х? После изобретения NTFS ограничений на диск по размеру больше нет и логично наконец-то начать хранить свои документы в папке "Мои документы", а не на дисках D, F и G. Ведь проблема даже не во фрагментировании данных по разным дискам, а то что место на системном диске C просто неизбежно будет заканчиваться. Если выделить 50Гб, то Windows скушает их за полгода. Если выделить 100 Гб, то уйдут за годик обычного офисного применения. 200 Гб операционка возможно будет забивать своими служебными файлами несколько лет, но точно освоит в полной мере!
На моем новом ноуте подобной проблемы с нехваткой места уже не будет. Весь 1Тб SSD - это единый системный диск.
👍3
В последнее время у меня дома сложилась традиция по выходным смотреть выпуски шоу МастерШеф, про то как кулинары-аматоры (Junior) должны ради победы на проекте за считанные недели стать настоящими шефами (Senior).
Для этого им нужно:
🍮 освоить основные кулинарные направления (стеки технологий),
🍛 научится красивым презентациям (UX/UI),
🥧 не только работать в команде, но и управлять коллегами (Team Lead & Project Manager)
🫕 понимать туманные или неполные задачи (Business Analyst)
🍲 по внешнему виду блюда воссоздать рецептуру приготовления (Architect)
С одной стороны, это веселое шоу, в котором интересные конкурсы и умелая драматургия. Много интересных историй о кухнях мира, в которые ты погружаешься вместе с учасниками.
С другой стороны, это как наблюдать ускоренное становление профессионалов. Конечно, нам не показывают скучные моменты с RTFM и лишь в разговорах участников упоминаются моменты быта в обнимку с книгами в общежитии. Но зато нам показывают как на кухне применяются полученные знания и от банальных "Hello, World" постепенно переходят к сложным произведениям уровня мишленовских ресторанов к искреннему изумлению судей, конкурентов и даже самих кулинаров.
Развитие любых профессионалов очень похоже - через бесконечное обучение, пот, неудачи и критику своей работы нужно не сдаваться и продолжать заниматься любимым делом, оттачивая навыки!
- Можно ли с нуля "вайти в айти"? - часто слышу вопрос.
- Конечно, можно! Ведь каждый из нас без проблем с нуля входит в кулинарию: совсем не сложно заварить чай, нарезать бутербродов и даже сварить пельмени. Но если нужно приготовить лимонный тарт или котлету по-киевски, за которые не стыдно, то будьте добры потратить несколько дней или даже недель на кухне, изучая теорию и оттачивая практику.
"Вайти в айти" совсем не сложно. Сложнее остаться и развиваться. В прочем, так же как и в кулинарии!
Для этого им нужно:
🍮 освоить основные кулинарные направления (стеки технологий),
🍛 научится красивым презентациям (UX/UI),
🥧 не только работать в команде, но и управлять коллегами (Team Lead & Project Manager)
🫕 понимать туманные или неполные задачи (Business Analyst)
🍲 по внешнему виду блюда воссоздать рецептуру приготовления (Architect)
С одной стороны, это веселое шоу, в котором интересные конкурсы и умелая драматургия. Много интересных историй о кухнях мира, в которые ты погружаешься вместе с учасниками.
С другой стороны, это как наблюдать ускоренное становление профессионалов. Конечно, нам не показывают скучные моменты с RTFM и лишь в разговорах участников упоминаются моменты быта в обнимку с книгами в общежитии. Но зато нам показывают как на кухне применяются полученные знания и от банальных "Hello, World" постепенно переходят к сложным произведениям уровня мишленовских ресторанов к искреннему изумлению судей, конкурентов и даже самих кулинаров.
Развитие любых профессионалов очень похоже - через бесконечное обучение, пот, неудачи и критику своей работы нужно не сдаваться и продолжать заниматься любимым делом, оттачивая навыки!
- Можно ли с нуля "вайти в айти"? - часто слышу вопрос.
- Конечно, можно! Ведь каждый из нас без проблем с нуля входит в кулинарию: совсем не сложно заварить чай, нарезать бутербродов и даже сварить пельмени. Но если нужно приготовить лимонный тарт или котлету по-киевски, за которые не стыдно, то будьте добры потратить несколько дней или даже недель на кухне, изучая теорию и оттачивая практику.
"Вайти в айти" совсем не сложно. Сложнее остаться и развиваться. В прочем, так же как и в кулинарии!
👍6🔥5👨💻1
Вчера случайно наткнулся в Ютубе на канал AI-Music Jam, где авто публикует сгенерированных нейронкой каверы на популярные песни из фильмов и мультиков.
Раньше я подобный кавер-контент очень долго выискивал и почти сразу терял. Нечаев скатился к кальянному репу, Тапок стал петь авторские исторические песни. Появляются новые исполнители, но нет от них творческого фонтана - скорее рекламные пробники для заказа на корпоративы...
А на этом канале каждый день новинки и среди них очень много интересных решений. Полистал историю и только первые произведения были сделаны в Suno (хороший генератор, но сложно добиться предсказуемого результата), а потом автор стал использовать Udio AI, после чего треки стали шикарными - партии нескольких исполнителей, многоголосие, более точное оркестрирование голосов и инструментов. Просто мед для ушей!
Раньше я подобный кавер-контент очень долго выискивал и почти сразу терял. Нечаев скатился к кальянному репу, Тапок стал петь авторские исторические песни. Появляются новые исполнители, но нет от них творческого фонтана - скорее рекламные пробники для заказа на корпоративы...
А на этом канале каждый день новинки и среди них очень много интересных решений. Полистал историю и только первые произведения были сделаны в Suno (хороший генератор, но сложно добиться предсказуемого результата), а потом автор стал использовать Udio AI, после чего треки стали шикарными - партии нескольких исполнителей, многоголосие, более точное оркестрирование голосов и инструментов. Просто мед для ушей!
YouTube
Песня про зайцев («Бриллиантовая рука» Ai cover) эпичный gothic metal !
Песня из кинофильма «Бриллиантовая рука», 1969. Слова Л. Дербенева
Поддержать автора: https://buymeacoffee.com/aimusicjam
Заказать кавер: aimusicjam@gmail.com
#aimusic #aicover #udio #mushup #песняпрозайцев #бриллиантоваярука
Поддержать автора: https://buymeacoffee.com/aimusicjam
Заказать кавер: aimusicjam@gmail.com
#aimusic #aicover #udio #mushup #песняпрозайцев #бриллиантоваярука
👍5🔥2👏2
А давайте поговорим про Эйджизм!
Увидел как на LinkedIn сегодня подняли тему возрастной дискриминации при найме. Один специалист принес скриншот вакансии, где в требованиях указано "возраст: 17-30" и в комментариях люди сразу стали порицать такую практику, напирая на то, что "возраст = опыт" и "молодых легче водить за нос".
Но если прочесть описание вакансии, то там прямо в тексте сказано, что это должность для трейни, идеально подходящая для учащихся студентов и выпускников без опыта.
Я абсолютно уверен, что люди 30+, 40+ и даже 50+ могут успешно освоить программирование и сопутствующие технологии. Но я отлично понимаю и даже поддерживаю руководителя компании, который открыл упомянутую вакансию:
⚙️ Сейчас переизбыток молодых специалистов и конкурс на каждую вакансию в десятки человек. Берут тех, кто с опытом и без инвестиций в обучение может сразу приносить прибыль. Молодые Стивы Джобсы и Илоны Маски отчаянно нуждаются в доверии, чтобы проявить себя. Зачем отдавать их шансы людям, которые за свою жизнь уже получали сотни других шансов, но не воспользовались ими?
⚙️ Молодежь еще находится в состоянии "я ничего не знаю, а вокруг столько интересного". Люди по старше постепенно приходят в состояние "я такое уже видел и меня не удивишь". Вакансия создается для обучения с нуля, а люди с каким настроем будут максимально благодарными учениками?
⚙️ Меня тревожит вопрос - а чем занимались возрастные кандидаты предыдущие три десятилетия, что они готовы на всех своих жизненных достижениях поставить крест и начать все с нуля? Если причиной свитчинга было то, что на предыдущей работе их заставляли тяжело пахать, то тут пахать нужно будет больше! Или они хотят получить бесплатные обучение с практикой, чтобы через год уволится и на пересечении с прошлым опытом открыть собственный бизнес?
Финальная мысль. Талантливые люди обычно талантливы во многих областях - Да Винчи, Ньютон, Франклин и многие другие были экспертами во многих науках и при этом рисовали и писали стихи. Большинство гениев проявлялись в юном возрасте: Моцарт (начал играть в 3 года, первые пьесы написал в 5), Паскаль (в 11 написал первую научную работу "Трактат о звуках"), Пикассо (в 8 пишет первую серьёзную картину, в 14 получил признание). А еще всех гениев объединял то..., что никто из них в 30+ не жаловался, что родители их отправили учится не на ту профессию и теперь они хотят начать строить карьеру заново.
Увидел как на LinkedIn сегодня подняли тему возрастной дискриминации при найме. Один специалист принес скриншот вакансии, где в требованиях указано "возраст: 17-30" и в комментариях люди сразу стали порицать такую практику, напирая на то, что "возраст = опыт" и "молодых легче водить за нос".
Но если прочесть описание вакансии, то там прямо в тексте сказано, что это должность для трейни, идеально подходящая для учащихся студентов и выпускников без опыта.
Трейни (trainee) - это стажер, у которого опыта и знаний еще не хватает на работу джуниором (junior). Именно они слышат те самые легендарные слова: Забудьте все то, чему вас учили в ВУЗе, и готовьтесь изучать действительно нужные вещи.
Я абсолютно уверен, что люди 30+, 40+ и даже 50+ могут успешно освоить программирование и сопутствующие технологии. Но я отлично понимаю и даже поддерживаю руководителя компании, который открыл упомянутую вакансию:
⚙️ Сейчас переизбыток молодых специалистов и конкурс на каждую вакансию в десятки человек. Берут тех, кто с опытом и без инвестиций в обучение может сразу приносить прибыль. Молодые Стивы Джобсы и Илоны Маски отчаянно нуждаются в доверии, чтобы проявить себя. Зачем отдавать их шансы людям, которые за свою жизнь уже получали сотни других шансов, но не воспользовались ими?
⚙️ Молодежь еще находится в состоянии "я ничего не знаю, а вокруг столько интересного". Люди по старше постепенно приходят в состояние "я такое уже видел и меня не удивишь". Вакансия создается для обучения с нуля, а люди с каким настроем будут максимально благодарными учениками?
⚙️ Меня тревожит вопрос - а чем занимались возрастные кандидаты предыдущие три десятилетия, что они готовы на всех своих жизненных достижениях поставить крест и начать все с нуля? Если причиной свитчинга было то, что на предыдущей работе их заставляли тяжело пахать, то тут пахать нужно будет больше! Или они хотят получить бесплатные обучение с практикой, чтобы через год уволится и на пересечении с прошлым опытом открыть собственный бизнес?
Финальная мысль. Талантливые люди обычно талантливы во многих областях - Да Винчи, Ньютон, Франклин и многие другие были экспертами во многих науках и при этом рисовали и писали стихи. Большинство гениев проявлялись в юном возрасте: Моцарт (начал играть в 3 года, первые пьесы написал в 5), Паскаль (в 11 написал первую научную работу "Трактат о звуках"), Пикассо (в 8 пишет первую серьёзную картину, в 14 получил признание). А еще всех гениев объединял то..., что никто из них в 30+ не жаловался, что родители их отправили учится не на ту профессию и теперь они хотят начать строить карьеру заново.
❤3👍3
Такие вопросы на Хабре сразу удаляют. На них невозможно дать "правильный" ответ из-за отсутствия критериев "правильности". "Правильность" определяется только по ощущениям спрашивающего - нравится ему или нет. Но если поразмышлять, то правильный ответ существует.
Сразу бросается в глаза сравнение теплого с мягким. Ведь C++ - это универсальный многоцелевой язык программирования, а "мобильная разработка" - это буквально разработка под мобильные устройства, которую можно делать на C++, в том числе. В зависимости от того, что действительно занимает мысли автора вопроса, нужно заменить либо "мобильная разработка" на "Object-C", либо "C++" на "программирование микроконтроллеров".
Определившись с уровнем - это инструмент или сфера применения, - можно для каждого из вариантов нарисовать по квадратику для SWOT-анализа. SWOT - это Strengths (сильные стороны), Weaknesses (слабые стороны), Opportunities (возможности), Threats (угрозы). Если данные лень самостоятельно гуглить, то можно задать вопросы ЧатуГПТ, при этом доступна возможность попросить особо выделять те моменты, которые уникальны только для одного из рассматриваемых вариантов.
Последнее упражнение позволяет принять "правильное" решение ответственно, аргументированно и лишь в соответствии со своей собственной системой ценностей.
Сначала для большей очевидности даю аналогию из изучения иностранных языков. Что лучше учить первым - лексику по бизнес тематике или правила построения отглагольных существительных?
Сразу бросается в глаза сравнение теплого с мягким. Ведь C++ - это универсальный многоцелевой язык программирования, а "мобильная разработка" - это буквально разработка под мобильные устройства, которую можно делать на C++, в том числе. В зависимости от того, что действительно занимает мысли автора вопроса, нужно заменить либо "мобильная разработка" на "Object-C", либо "C++" на "программирование микроконтроллеров".
Определившись с уровнем - это инструмент или сфера применения, - можно для каждого из вариантов нарисовать по квадратику для SWOT-анализа. SWOT - это Strengths (сильные стороны), Weaknesses (слабые стороны), Opportunities (возможности), Threats (угрозы). Если данные лень самостоятельно гуглить, то можно задать вопросы ЧатуГПТ, при этом доступна возможность попросить особо выделять те моменты, которые уникальны только для одного из рассматриваемых вариантов.
Последнее упражнение позволяет принять "правильное" решение ответственно, аргументированно и лишь в соответствии со своей собственной системой ценностей.
👍4💯2
Самый необычный опыт последних дней - это доработка учета основных средств для турецкой бухгалтерской программы на платформе 1С:Предприятие
▪️ все метаданные, названия функций и почти все переменные на турецком
▪️ код нужно писать на английском
▪️ интерфейс конфигуратора и язык синтаксис-помощника - русский
▪️ все метаданные, названия функций и почти все переменные на турецком
▪️ код нужно писать на английском
▪️ интерфейс конфигуратора и язык синтаксис-помощника - русский
👍5🤯2❤1🔥1
Сервис для создания визиток "на стероидах" InOne снова прислал мне недельную статистику о том, что меня снова никто не посмотрел.
Обожаю такую статистику [ирония].
Напоминает о письмах со статистикой от некоторых сервисов обучения иностранным языкам, о которых я вспоминаю только в момент получения писем [и тут же снова забываю, могу даже с интересом повторно послание открыть].
В этих письмах обычно меня хвалят:
Ага, в такие моменты я сам собой восхищен [ирония].
Хотя иногда задумываюсь о тех 60%, чей словарный запас ниже нуля [тревога].
Обожаю такую статистику [ирония].
Напоминает о письмах со статистикой от некоторых сервисов обучения иностранным языкам, о которых я вспоминаю только в момент получения писем [и тут же снова забываю, могу даже с интересом повторно послание открыть].
В этих письмах обычно меня хвалят:
- Дмитрий, вы поражаете и заставляете восхищаться собой, ведь за последний месяц вы выучили целых 0 слов. Это на целых 0 % больше чем за весь период использования и теперь ваш словарный запас составляет целых 0 слов, что выше чем у 60 % учащихся.
Ага, в такие моменты я сам собой восхищен [ирония].
Хотя иногда задумываюсь о тех 60%, чей словарный запас ниже нуля [тревога].
😁7🤣2
В середине 00х, еще до выхода 1С8.1 не существовало никаких стандартов написания кода на 1С. В то время я пришел на работу в один из ТОП-5 киевских франчей (потом станет ТОП-3), а курсы по программированию для джунов читали партнеры, тоже из киевского ТОП-5. И уже на вводном занятии, где нам показывали условный "Hello, World", я сразу задал вопрос - а как нужно правильно называть метаданные и переменные? Это очень важно с учетом отсутствия строгой типизации (как в JavaScript и прочих интерпретируемых языках). Мне ответили, что никаких общих стандартов не существует и могу называть как хочу.
Прошли годы и стандарты стали появляться. Как я понимаю, локомотивом перемен стала команда разработки БСП (общая библиотека большинства типовых конфигураций от 1С), которые свои наработки стали публиковать как "промышленный стандарт".
Когда в других языках есть "промышленный стандарт" для написания кода, то сначала учат его, на соответствие ему настраивают Sonar и лишь потом пишут код - пример, PEP8 для Python. Но "промышленный стандарт" от 1С почему-то многими игнорируется, а еще больше специалистов вообще про него не знают. Почему так сложилось?
Я вижу две причины, по которым стандарты не прижились - слишком поздно появились и оторваны от жизни. Очевидно, что если есть технология и тысячи клиентов, то никто десятилетиями не будет ждать подарок от братьев Нуралиевых и все давно сами выработали для себя внутренние стандарты хорошего кода. По сути "промышленный стандарт" - это просто правила для прохождения аудита от 1С для добавления в каталог решений. Не уверен, но думаю, что именно эти же правила использует команда Инфостарта для добавления в собственный магазин решений.
Почему стандарты оторванными от жизни? Потому, что они пишутся под БСП, которая пытается эмулировать ООП на базе DSL (язык для автоматизации предметной области).
Берем правило разметки областей модуля, согласно которому EDT самостоятельно вставляет в новые общие модули области - Public, Internal и Private. Но ведь это калька подхода из языков, у которых есть наследование, которого у 1С нет. Зачем нужна область Internal, в которой описывать экспортные методы и функции, которые декларативно запрещено использовать всем потребителям кроме других модулей подсистемы?
К слову, некоторые служебные экспортные функции БСП так и хочется использовать, так как они удобнее чем "публичные". Помню, что при рефакторинге стандартной подсистемы на партнерском форуме всегда было много возмущений - зачем вы нам все поломали? Ответ от разработчиков - а зачем вы использовали служебные экспортные функции, которые по стандарту только мы имеем право их использовать! Получается, что стандарты, которые теоретически направлены на облегчение восприятия и легкость поддержки кода, наоборот поощряют делать запутанный, тяжело анализируемый и плохо поддерживаемый код.
Я считаю, что в случае общих модулей, которые технически невозможно наследовать и переопределять, имеют смысл только два типа методов - открытые и закрытые! Не должно быть удобных экспортных функций для "избранных" и неудобных медленных вариантов для "простых смертных". Архитектурно нужно закладывать, что все экспортные методы должны быть открытыми, а все служебные функции не должны вообще иметь свойства "экспорт". Простое правило и внезапно уже нет нужды в десятке "подмодулей", которые дублируют методы; и код становится в целом чище и понятнее!
Прошли годы и стандарты стали появляться. Как я понимаю, локомотивом перемен стала команда разработки БСП (общая библиотека большинства типовых конфигураций от 1С), которые свои наработки стали публиковать как "промышленный стандарт".
Когда в других языках есть "промышленный стандарт" для написания кода, то сначала учат его, на соответствие ему настраивают Sonar и лишь потом пишут код - пример, PEP8 для Python. Но "промышленный стандарт" от 1С почему-то многими игнорируется, а еще больше специалистов вообще про него не знают. Почему так сложилось?
Я вижу две причины, по которым стандарты не прижились - слишком поздно появились и оторваны от жизни. Очевидно, что если есть технология и тысячи клиентов, то никто десятилетиями не будет ждать подарок от братьев Нуралиевых и все давно сами выработали для себя внутренние стандарты хорошего кода. По сути "промышленный стандарт" - это просто правила для прохождения аудита от 1С для добавления в каталог решений. Не уверен, но думаю, что именно эти же правила использует команда Инфостарта для добавления в собственный магазин решений.
Почему стандарты оторванными от жизни? Потому, что они пишутся под БСП, которая пытается эмулировать ООП на базе DSL (язык для автоматизации предметной области).
Берем правило разметки областей модуля, согласно которому EDT самостоятельно вставляет в новые общие модули области - Public, Internal и Private. Но ведь это калька подхода из языков, у которых есть наследование, которого у 1С нет. Зачем нужна область Internal, в которой описывать экспортные методы и функции, которые декларативно запрещено использовать всем потребителям кроме других модулей подсистемы?
К слову, некоторые служебные экспортные функции БСП так и хочется использовать, так как они удобнее чем "публичные". Помню, что при рефакторинге стандартной подсистемы на партнерском форуме всегда было много возмущений - зачем вы нам все поломали? Ответ от разработчиков - а зачем вы использовали служебные экспортные функции, которые по стандарту только мы имеем право их использовать! Получается, что стандарты, которые теоретически направлены на облегчение восприятия и легкость поддержки кода, наоборот поощряют делать запутанный, тяжело анализируемый и плохо поддерживаемый код.
Я считаю, что в случае общих модулей, которые технически невозможно наследовать и переопределять, имеют смысл только два типа методов - открытые и закрытые! Не должно быть удобных экспортных функций для "избранных" и неудобных медленных вариантов для "простых смертных". Архитектурно нужно закладывать, что все экспортные методы должны быть открытыми, а все служебные функции не должны вообще иметь свойства "экспорт". Простое правило и внезапно уже нет нужды в десятке "подмодулей", которые дублируют методы; и код становится в целом чище и понятнее!
its.1c.ru
Структура модуля :: Оформление модулей :: Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8
👍6👏2👎1
Еще один вопрос от начинающего специалиста - можно ли совмещать изучение языков программирования?
Не вижу с этим никаких проблем. Я в университете все время паралельно изучал множество разных языков программирования. Некоторые оставались со мной на несколько курсов (Pascal, C/C++), а некоторые понадобились всего на одну-две лабораторные работы (Modula-2, ESQL/C, Visual Prolog).
Когда с конца третьего курса начал работать, то языки программирования из академического интереса превратились в рабочие инструменты, от умения работать с которыми зависела зарплата и дополнительные подработки. Поэтому знать несколько ЯП не просто можно, но очень даже желательно.
Другой вопрос - как так учить различные языки программирования, чтобы в голове не было каши из различного функционала, особенностей и ограничений?
Ответ можно найти в советах лингвистов, которые изучали разные языки задолго до изобретения компьютеров. И как раз на днях я смотрел интервью с таким специалистом - женщиной, которая знает 26 иностранных языков, из которых 14 преподает как учитель (при чем все одновременно). Если обобщить ее советы и перенести на программирование, то выходит следующее:
📌 У изучения языка должна быть конкретная цель, пошаговое достижение которой будет давать мотивацию учится дальше.
📌 Разные языки лучше учить в разных IDE - например, один в IntelliJ IDEA, а второй в Visual Code.
📌 Лучше не учить языки совсем на одном уровне. Один пусть будет всегда чуть впереди, чтобы при изучении второго языка частично сравнивать его возможности с первым, искать параллели и отличия.
📌 Практика, практика, практика! Желательно ежедневная!
Не вижу с этим никаких проблем. Я в университете все время паралельно изучал множество разных языков программирования. Некоторые оставались со мной на несколько курсов (Pascal, C/C++), а некоторые понадобились всего на одну-две лабораторные работы (Modula-2, ESQL/C, Visual Prolog).
Когда с конца третьего курса начал работать, то языки программирования из академического интереса превратились в рабочие инструменты, от умения работать с которыми зависела зарплата и дополнительные подработки. Поэтому знать несколько ЯП не просто можно, но очень даже желательно.
Другой вопрос - как так учить различные языки программирования, чтобы в голове не было каши из различного функционала, особенностей и ограничений?
Ответ можно найти в советах лингвистов, которые изучали разные языки задолго до изобретения компьютеров. И как раз на днях я смотрел интервью с таким специалистом - женщиной, которая знает 26 иностранных языков, из которых 14 преподает как учитель (при чем все одновременно). Если обобщить ее советы и перенести на программирование, то выходит следующее:
📌 У изучения языка должна быть конкретная цель, пошаговое достижение которой будет давать мотивацию учится дальше.
📌 Разные языки лучше учить в разных IDE - например, один в IntelliJ IDEA, а второй в Visual Code.
📌 Лучше не учить языки совсем на одном уровне. Один пусть будет всегда чуть впереди, чтобы при изучении второго языка частично сравнивать его возможности с первым, искать параллели и отличия.
📌 Практика, практика, практика! Желательно ежедневная!
👍3🔥2
Вот это новость! Неужели наконец-то можно прекратить эмулировать табличные части на регистрах сведений и хранить информацию в родных таблицах?
Похоже, что разработчики платформы 1С наконец-то разгребли в бэклоге задачи от маркетологов и дошли до пожеланий пользователей 😂
Похоже, что разработчики платформы 1С наконец-то разгребли в бэклоге задачи от маркетологов и дошли до пожеланий пользователей 😂
Заметки из Зазеркалья
Увеличение количества записей в табличных частях
Данная статья является анонсом новой функциональности. Не рекомендуется использовать содержание данной статьи для освоения новой функциональности. Полное описание новой функциональности будет приведено в документации к соответствующей версии. Полный список…
👍5🔥5
Уделил полчасика и проголосовал за доклады на Infostart Tech Event. Много знакомых спикеров. Много интересных тем. Некоторые выступления прямо действительно буду ждать.
event.infostart.ru
INFOSTART EVENT 2024
👍3