Your trial period has ended!
For full access to functionality, please pay for a premium subscription
EV
Хатка Бобра
https://t.me/evilbeaverhouse
Channel age
Created
Language
Russian
5.35%
ER (week)
17.2%
ERR (week)

Личный блог EvilBeaver. Программирование, музыка, мысли о жизни

Messages Statistics
Reposts and citations
Publication networks
Satellites
Contacts
History
Top categories
Main categories of messages will appear here.
Top mentions
The most frequent mentions of people, organizations and places appear here.
Found 24 results
Repost
2
3
310
❗️ Конференция 1C:SysDevCon.3 через 3 дня! Начало в 10:00 в эту субботу.

✅ Зарегистрировалось уже почти 2500 участников!

❗️ Регистрируйтесь, если вы этого ещё не сделали: в личном кабинете портала https://developer.1c.ru/ в разделе «Конференции».

Можете приглашать ваших знакомых, у кого нет аккаунта на developer.1c.ru, зарегистрироваться по ссылке: https://developer.1c.ru/sysdevcon

✅ Записи будут!
04/23/2025, 19:50
t.me/evilbeaverhouse/389
9
505
Тут намедни спор о терминологии вышел. Языки, стало быть, бывают со строгой и нестрогой типизацией. Со строгой статически типизированные, а с нестрогой - динамические. Так? А вот и фигушки!

Языки действительно бывают со строгой и нестрогой типизацией, а еще со статической и динамической, но вот строгая (сильная) и нестрогая (слабая) это не синонимы статической и динамической. Вообще не связанные понятия.

Бывает статическая и динамическая типизация. При статической ты обязан на этапе написания кода указать, какой тип будет у значения, и постоянно про эти типы помнить. При динамической типизации, на типы можно плевать, а переменная может *менять* свой тип во время исполнения программы.

А со строгостью как? Вот есть язык Си. Строгий и консервативный донельзя. Язык суровых бородатых викингов от Айти, кроссплатформенный ассемблер и lingua franca всех программистов. Типизация в нем статическая. Вообще никакой динамики, каждая переменная должна иметь известный на этапе разработки тип.

Но он ведь нестрогий вообще. Там типизация это буквально рекомендации, а не правила. Объяви переменную и прикастуй ее к чему угодно. При определенной доле везения даже работать будет. В си можно объявить массив сложных объектов и обращаться к нему, как к массиву чисел. И даже по индексу минус один тоже можно, никаких проблем. Вы видели массив с обращением по отрицательному индексу? В си - запросто, там это просто вычисление АдресПервогоЭлемента + Индекс. Отрицательный индекс? Да пожалуйста, это всего лишь означает адрес *перед* массивом.

Кстати, ходят слухи (я не проверял), что malloc именно там хранит служебные данные о блоке выделенной им памяти, чтобы потом нормально сделать free.

Таким образом, виды типизации это координатная плоскость, а не прямая. Ось X динамическая/статическая, ось Y - строгая/нестрогая. Жаба - статическая строгая, Си - статический нестрогий, 1C динамический... строгий? Давайте разбираться.

В 1С нет понятия приведения типа, но и обращаться к объекту, как к объекту другого типа мы там не можем (не найдет свойство и упадет). Получается, в 1С строгая типизация? В 1С, да ты че, там вообще код на русском пишут и типизации нет!

Лезем за академическими определениями в википедию и читаем там... набор невнятного абстрактного булшита от именитых академиков... Так как же быть? В какое место на координатной плоскости типизации нам поместить язык 1С?
04/23/2025, 15:08
t.me/evilbeaverhouse/388
20
8
556
В продолжение предыдущей темы про массивы. Я обещал рассказать про список. В 1С такой штуки напрямую нет, но ее можно сымитировать, для наглядности.

Функция УзелСписка(Значение)
Возврат Новый Структура("Значение, СледующийУзел", Значение);
КонецФункции

ПервыйЭлемент = УзелСписка(1);
ВторойЭлемент = УзелСписка(2);
ПервыйЭлемент.СледующийУзел = ВторойЭлемент;

Вот так незатейливо некоторые данные связаны между собой просто указателем на следующий элемент. Теперь никаких реаллокаций массивов, никаких копирований, никаких поисков крупных свободных кусков в памяти, все максимально быстро добавляется, красота.

Однако... теперь мы не можем просто взять и получить элемент 42, как же так, неужели, теперь придется обходить список, делая 42 прыжка по указателю СледующийУзел? Ага! Именно так и придется, ведь чудес-то не бывает. Клёво, правда?

Но... Это не очень удобно, как же быть, зачем такая структура? Ну вот затем. От задачи зависит. Далеко не всегда нужно получать элементы из середины, ведь часто нужно просто обходить всю коллекцию от начала и до конца, а такое список делать позволяет. Зато списки могут быть оооочень большими, пока памяти хватит, ведь они не требуют себе выделения непрерывных свободных областей памяти.

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

А в 1С такое полезно?

А вот не знаю. Сходу задачи под это не придумалось, если вдруг вам захочется посравнивать работу такого самодельного списка и какой-то стандартной коллекции - делитесь результатами!
04/23/2025, 09:10
t.me/evilbeaverhouse/387
51
9
576
Давненько у меня не было чисто айтишных постов. Надо как-то исправляться, не все же тут баловством заниматься, надо как-то и в профессиональном плане аудиторию развлекать...

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

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

Итак, дала нам система кусок памяти, мы им пользуемся, а что если нам надо еще чуть-чуть добавить? А все, дудки. Сразу после твоего куска памяти уже есть какие-то занятые байты и они принадлежат другим переменным, тебе туда писать ничего нельзя. На самом деле можно, а если ты хакер - даже нужно, называется "переполнение буфера", и это самый простой способ взломать что-нибудь и выполнить там свой код (disclaimer: уголовно наказывается).

Но как же тогда быть, если выделенной памяти не хватило? Я же могу в 1С написать Массив.Добавить() сколько хочу раз и никто на меня не ругается... А это потому, что массив 1С внутри использует класс std::vector (или аналогичный, я исходников не видел, но палюбому так). Как же этому вектору удается раз за разом расширяться да так, чтобы байты подряд? А никакой магии нет, он просто выделяет в другом месте новый кусок памяти, побольше, а потом КОПИРУЕТ ВСЕ СО СТАРОГО МЕСТА НА НОВОЕ.

Я не пошутил, как только вы своим Массив.Добавить() потратили первоначальный буфер, весь ваш массив будет копироваться на новое, более просторное место в памяти, а старое место будет отдано назад системе, как свободное.

В Ява-мире это называется ArrayList, т.е. как бы расширяемый список, но на базе массива, чтоб байты - подряд.

А нафига вообще байты подряд? Мне не принципиально, пусть будут раскиданы по всей памяти, мне наплевать... Подвох в том, что камплюктер любит когда байты подряд, так он эффективно использует кеш и может быстро-быстро бегать по этому массиву. Если раскидать байты где попало, то ему придется бегать по всей памяти и собирать данные, прямо как по квартире с бардаком. Но если очень хочется, то так тоже можно, называется "Связный список" и о нем как-нибудь в другом посте.

Выводы:
* для коротких массивов с заранее известной длиной лучше выделять память заранее
* на фоне прочего быстродействия системы (запросов, записей в БД и т.п.) выигрыш будет копеечный, можно не париться.
* но знать, как оно внутри работает - нужно. На всякий случай.
04/22/2025, 12:10
t.me/evilbeaverhouse/386
39
1
499
Вот какая мысль не дает мне с утра покоя. Как известно, от Алекса Мерфи осталась целой лишь голова (и рука, но руку начальство приказало оттяпать). А питался Робокоп детской пюрешкой. Так вот, для переработки пюрешки нужен полноценный пищеварительный тракт, коего не было. Сдается мне, органическую часть робокопа кормили просто глюкозой внутривенно, а детскую пюрешку злобные корпораты из OCP просто списывали, а потом толкали её налево на черном рынке.

P.S. навеяно кормлением ребенка яблочной пюрешкой
04/18/2025, 07:41
t.me/evilbeaverhouse/385
25
12
724
Ухты-ухты. Инфостарт выпустил интервьюху аж со Стасом Митичкиным. Пожалуй, единственным человеком, который не бот, не спамер, но которого я забанил своими руками за упоротое поведение, обращение строго по фамилиям и применение реактивных говнометов по гражданским читателям моего канальчика. Я, кстати, в лицо его никогда не видел. Посмотреть, чтоль...
https://infostart.ru/journal/news/mir-1s/v-novom-vypuske-gotovykh-resheniy-stanislav-mitichkin-osnovatel-foruma-mista-ru_2369711/?utm_source=soc&utm_campaign=vk
04/17/2025, 20:27
t.me/evilbeaverhouse/384
35
4
632
26 апреля пройдет конференция 1С:SysDevCon, где будут рассказывать про кишочки платформы, всякие CI/CD и облака. Ваш покорный слуга там ровно в 10:00 будет вещать про отладчик в Элементе и вообще про то, как устроена наша исполняющая среда. Мне кажется, у меня получился бодренький и интересный доклад в духе "Веселого 1С", разве что без пива в кадре и матерных шуток.

Мои подписчики, в-основном, это прожженные айтишнеги, которых мало чем удивишь, но я вот гляжу в программу и вижу массу интересных мне тем. Надеюсь, и вам будет что нового узнать.

Подписывайтесь и записывайтесь, добавляйте эвент в календарик!

https://developer.1c.ru/
04/17/2025, 09:03
t.me/evilbeaverhouse/383
35
8
468
У Дарт Вейдера в столе
Всякого навалено
Карты разные галактик
И портрет Гагарина

Я как-то всегда с теплом встречаю сегодняшнюю дату. Во-первых, мне очень нравится число 12. Оно вот, ну красивое какое-то. Если уж свершать что-то великое, то, на мой взгляд, 12-е число подходит для этого лучше всего. В детстве я был книжным ребенком и если что и зачитал до дыр, то книжки про космонавтику. Раньше выпускали много детской литературы про космос, так вот, я прочел, наверное её всю, которую можно было взять в школьной и городской библиотеке. Как устроен корабль Восход внутри и снаружи, как проходил полет Гагарина по этапам я знаю примерно с 6 лет, вот такой я космогик.

А для взрослых космогиков я настоятельно рекомендую мемуары Бориса Чертока "Ракеты и Люди". Во-первых они очень легко и увлекательно написаны. Во-вторых, это история становления космонавтики из первых рук от непосредственного автора. Есть технические детали, есть исторические события, от 20-х годов до конца 80-х, когда автор отошел от дел. Четыре книжки которые проходят на одном дыхании и даже жаль, когда они заканчиваются. Очень рекомендую, они просто великолепны.

Ну и отдельно, я, думаю, я вправе считать этот день своим праздником, поскольку являюсь лейтенантом запаса космических войск и немного, но крайне увлекательно послужил на том самом объекте.

Жаль, что детская мечта полететь на Марс, когда вырасту (ведь к тому времени надо просто будет купить билет в космопорту) не сбылась, ну что уж теперь. Сегодня тост за человечество. Надеюсь оно разовьется до уровня билетов на Альфу-Центавру и не угробит само себя на пути к этому.

Фотка отсюда: https://t.me/myown_link
04/12/2025, 12:06
t.me/evilbeaverhouse/382
34
1
621
Знаете, как бывает, проедет мимо машина с какой-то старой песней, которую ты не слышал лет 20 и она вдруг цепляет, пробуждает какие-то забытые совсем струны, и ты срочно ищешь ее и тоже включаешь. Слушаешь, вдумчиво, внимательно, смакуя, как сделан каждый риф, каждый сэмпл, как это всё уложено в таймлайн. А потом начинается вокал и ты понимаешь, что помнишь весь текст наизусть, каждую строчку. Ностальгия накрывает теплой волной, ты едешь в машине, поглощенный музыкой и кайфуешь. Я принес вам сегодня такую песню, кайфаните и вы.
03/30/2025, 20:15
t.me/evilbeaverhouse/381
29
5
597
Кирилл выпустил новый фреймворк тестирования для 1Скрипт. И что я хочу сказать, прочитав ридми: это восторг. Просто зацените, ребята, подход, вот так должны делаться приложения в опенсорсе. И дока, и все нюансы и даже консольный раннер готовый... Снимаю шляпу, это прям вот хорошо-хорошо-хорошо!
03/20/2025, 11:00
t.me/evilbeaverhouse/380
26
1
558
Выпущен релиз-кандидат RC-6 версии 1Script 2.0

https://oscript.io/downloads/archive/2_0_0_rc6

Данная версия это фиксация накопленных изменений перед масштабным рефакторингом внутренностей и вероятным (но это неточно) сломом совместимости внешних компонент.

Настоятельно рекомендуется перейти на эту версию с предыдущих релизов 2.0
03/18/2025, 12:11
t.me/evilbeaverhouse/379
9
3
517
Кстати, спасибо Игорю, что напомнил про отличный канал по 1С. https://t.me/zeegin/875

Иван, кстати, в теме всех наших ДевОпс движух, знает и про 1скрипты и про дженкинсы, но почему-то я его не встречал в чатиках, да и лично, к сожалению, не знаком. А канал отличный, если бы меня спросили, как должен выглядеть образовательный канал, я бы без зазрения совести привел его в пример. Интервью еще не успел посмотреть, но думаю там много действительно адекватного про 1С, не то, что некоторые (не будем показывать пальцем), кто дальше формошлепства 1С не прошел :)
03/13/2025, 09:42
t.me/evilbeaverhouse/378
20
549
Оказывается Дима Котов делает конкурс стикеров и мой даже оцифровал https://t.me/top_1c/630

Если вы не попались мне лично на IE TechEvent 2024 и не получили бумажный стикер, забирайте себе цифровой.

P.S. у меня еще осталось немного бумажных, как только я найду куда я их положил, я немедленно их разыграю среди паписчеков
03/10/2025, 08:41
t.me/evilbeaverhouse/377
60
31
622
Коротко о моем умении вести конструктивные споры с коллегами
03/06/2025, 11:21
t.me/evilbeaverhouse/376
42
5
1.2 k
Отвечаю Игорю на его вопрос "А какой код пишете вы"

Я пишу:
- Идеальный код, из которого ничего нельзя удалить (даже баги), иначе все совсем разломается.

- В котором легко найти ошибку, но не исправить ее. По принципу, похожему на принцип Гейзенберга, ошибку в моем коде можно или легко найти или легко исправить, но не то и другое сразу.

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

А какой код пишете вы? ;)
03/02/2025, 23:00
t.me/evilbeaverhouse/375
55
20
728
1С:Элемент официально опубликован, как финальная версия без статуса "бета". В версии появилось какое-то просто колоссальное количество изменений, все не перечислю, но там много.

Отрадно, что и ваш покорный слуга приложил к этому руку, ночей не спал, но напилил туда несколько ништяков.

https://1c.ru/news/info.jsp?id=32786

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

Присоединяйтесь к Элементу!
02/28/2025, 19:10
t.me/evilbeaverhouse/374
19
18
569
Теперь вы знаете с каким звуком агенты Скайнет будут доставать вас из-под радиоактивных завалов, чтобы отправить вас на урановые рудники.
02/25/2025, 08:41
t.me/evilbeaverhouse/373
38
6
664
Неформальные интерфейсы или Не все любят жёлуди

Обнаружил в настройках приложения Сбера галочку о дружелюбности. По умолчанию она, конечно же, выключена. Еще бы, персонаж "тётка из Сбера" слишком живуч, чтобы вот так по дефолту зеленый банк осмелился быть дружелюбным. Хочешь дружелюбия, включи галочку, а то вас много, а я одна (хоть я и кластер в СберКлауде)

Но шутки-шутками, а неформализация интерфейсов это не много ни мало революция в UX. Мы как-то не заметили, но приложения стали намного человечнее, где-то став и вовсе неформальными. Все меньше кондовых формулировок, все больше "Oops, something went wrong" в сообщениях от софта.
Однако, есть и обратный кейс. Например, фреймворк ОСень имеет максимально недушное API и специальный плагин "душнила", который превращает "желуди" в "компоненты", а "напильники" в "обработчики". Примечательно, что этот плагин появился не просто так, а по просьбам трудящихся. Не все хотят веселый api, не все хотят дружелюбный Сбер по умолчанию.

Есть потрясающая книжка "Психбольница в руках пациентов". В свое время она перевернула мое сознание в части того, как надо писать софт. Компьютеры с нами уже плотно. Даже ваш чайник наверняка уже компьютер. И лампочка с Алисой тоже. И компьютеры имеют право на то, чтобы разговаривать по-человечески, а не только казённым языком из ГОСТов 50-х годов. А вы, как потребитель, вправе требовать, чтобы программы были к вам дружелюбны. И если ваш код все еще говорит человеку: "Невозможно выполнить запрошенную операцию по причине: Неизвестная причина" - срочно бегите читать "психбольницу". Ну или хотя бы стандарты разработки на ИТС, там очень много внимания уделено тону и форме сообщений, которые надо выдавать на пользователя. И пусть ваш софт не будет душнилой!
02/18/2025, 05:22
t.me/evilbeaverhouse/372
22
1
483
А тем временем, Олег Филлипов не удержался и тоже завел канальчик в телеграмме https://t.me/comol_it_does_matter. Давно пора, Олег, добро пожаловать в мир тысячи каналов про 1С, уверен, что твой будет одним из самых посещаемых.

Кто не знает, Олег - это человек который знает всё обо всём
02/12/2025, 09:05
t.me/evilbeaverhouse/371
36
13
582
Соблюдайте work-life balance господа. Отдохните в выходной!
02/07/2025, 16:40
t.me/evilbeaverhouse/370
26
2
523
Друзья, традиционно в феврале заканчивается срок действия домена oscript.io. И традиционно я прошу всех неравнодушных зайти на сайт и на главной страничке сделать донат на поддержание этого ресурса. Всем поддержавшим +100 в карму и +800 к стабильности серверов 1С
02/04/2025, 10:24
t.me/evilbeaverhouse/369
20
2
552
Попросил тут один ИИ нарисовать новый дизайн для 8.5, который бы всем понравился, и знаете что? Во-первых, сочетание белого и синего и правда клевое, а во-вторых, этот интерфейс все равно воздушный и от представленного нам особо не отличается. Такова жизнь, красиво будет уже сейчас, а функционально - 1Сник сделает, ему не впервой
02/03/2025, 08:54
t.me/evilbeaverhouse/368
51
33
582
Про аналитику. Любая задача, которая поступила от бизнеса требует "анализа". Обычно этот анализ выполняет специальный человек под названием "Аналитик". Его задача - перевести хотелку с языка бизнеса на язык программистов. Однако, проблема в том, что никто толком не знает, что это за языки. В худших случаях это "хочу не знаю что, но вчера" и "распишите мне четкий алгоритм" соответственно.

В среднем же, люди обычно работают адекватные и хотят хорошего, но неизбежно разными словами это хорошее формулируют. Как правильно подступиться к анализу задачи?

Мой личный лайфхак, которому меня научила некто Наталья Николаевна (не подписана на меня, а зря, ай-ай): всегда начинать с процессов. Даже когда задача кажется 100% понятной, выясни процесс. Все системы, документы, действия, все это вторичное и изменчивое по отношению к процессам. В процессах заключен смысл, мотив, энергия.

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

Например, заказчик вам говорит: "мы хотим запускать на склад фуры поставщиков по пропускам." Первое, что его надо спросить - какой процесс целиком, почему мы вообще хотим это делать и чтобы что получилось в результате? И второй вопрос про роли - "кто создает пропуск, кто на стороне поставщика его получает, кто на нашем складе понимает, что этот пропуск валидный". Чувствуете, какая бездна интеграций сразу открывается под этими вопросами?

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

Процессы и роли. Кто инициирует процесс? Почему он хочет это делать? В какой момент он понимает, что он хочет это сделать?

Начинайте с этих вопросов и ваши бизнес-заказчики будут мягкими и шелковистыми.

P.S. а фиксировать процесссы надо, конечно же, в BPMN, но про это как-нибудь в другой раз.
01/29/2025, 22:49
t.me/evilbeaverhouse/367
40
2
602
В айти хорошо платят, говорили они... Так вот, это миф!
01/28/2025, 23:09
t.me/evilbeaverhouse/366
Search results are limited to 100 messages.
Some features are available to premium users only.
You need to buy subscription to use them.
Filter
Message type
Similar message chronology:
Newest first
Similar messages not found
Messages
Find similar avatars
Channels 0
High
Title
Subscribers
No results match your search criteria