Журнал инженера-программиста – Telegram
Журнал инженера-программиста
225 subscribers
184 photos
7 videos
148 links
Мир глазами программиста. Истории и размышления.

Автор: @Dementor_AK
https://www.linkedin.com/in/dv-kinash
Download Telegram
Пара слов про вчерашний скандал вокруг 1С.

1. Удаление популярных статей редакцией Инфостарта не является новостью и практиковалось задолго до их покупки фирмой 1С.

2. Обиженные авторы и раньше "хлопали дверьми" и уходили с сайта.

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

4. Ушедшие пытались создать альтернативу и переманить к себе сообщество. Самые запоминающиеся попытки - infostop.xyz и "Наше 1С" (последнее создала сама 1С). Все попытки в итоге провалились.

5. Инфорстарт в ответ обижалась на альтернативные площадки и боролась против них всеми доступными методами. Даже организовывала DDOS-атаки, что вызвало скандал и новый отток авторов....

Что будет дальше? Некоторое время люди еще будут возмущаться. На предстоящем Инфостарт Ивенте будет анонс плюшек для тех, кто остается писать на сайте. К новому году все забудут что вообще был какой-то скандал.
👍4
Небольшая историческая справка. Последние пять лет я работал в отделе разработки корпоративных систем в холдинге СЛМ. В первый год моей работы наш отдел был в составе телеканала СТБ, откуда он оказывал услуги по поддержке баз 1С для других активов холдинга, и где мы были в подчинении к ИТ-директору телеканала. Потом во время Трансформации нас структурно (в том же составе с теми же функциями) переместили в корпоративный центр, где мы стали элементом центра экспертиз с подчинением к финансовому директору группы. А год назад нас переподчинили к ИТ-директору группы.

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

Находясь в творческом отпуске, я периодически возвращался в памяти к событиям прошлого года и размышлял насколько реалистичными были мои планы и правильно ли я сделал, что отказался от них: https://telegra.ph/Kak-mozhno-bylo-by-transformirovat-otdel-KIS-SLM-09-11
👍2
Никогда не существовало универсальных инструментов, таких, что они могут делать буквально все. У всего есть ограничения. Лыжи не едут по асфальту, а скейт не катится по снегу...

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

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

Но а если мы хотим большего? Насколько далеко можно зайти в попытке "хакнуть упрямую программу"? Или "свой упрямый разум", который отказывается видить нестандартное применение стандартных вещей?

Примерно так я размышлял, когда на днях заставил объект Динамический Список (DynamicList) начать работать с типом ТаблицаЗначений (ValueTable). Заставлял стандартные вещи работать нестандартным образом, который идеологически невозможен с точки зрения разработчиков платформы 1С.

Отчет по исследованию: https://infostart.ru/1c/articles/1742427/
👍2
Пирамида Минто - ставший популярным среди аналитиков формат подачи информации, который максимально эффективен для потребления. Концепция была разработана Барбарой Минто для компании McKinsey. Суть - сначала даются ключевые утверждения и общие доводы, а далее требуется выполнить несколько подходов приведения аргументов, каждый раз более детализированных. С первых строк читатели и слушатели понимают проблему, решение и главный довод.
👍4
Год оказался непростым.

Встретил его с ковидом и все начало января пролежал с высокой температурой и поражёнными на 60% лёгкими.

Только немного пришел в себя, как в феврале Путин объявил СВО. Дни превратились в сплошной кошмар, а когда боевики Кадырова начали градами отстреливать мой район, уехал на Западную Украину. Со мной в купе ехали 12 человек, 2 кошки (мои) и одна собака. На ЗУ меня встретило дорогое (буквально) радушие местных, которые решили заработать на беженцах. С огромной радостью я на майские праздники вернулся в Киев. По возвращению меня уволили, так как телевидение теперь стало убыточным и руководство начало "резать косты". В июне у меня нашли болезнь крови, которая началась как последствие короны и обострилась на фоне хронического стресса. Весь июль пролежал в больнице и сейчас сижу на дорогих таблетках 1100$/пачку/месяц.

Только нашел работу и набросал черновики 25 новых статей, как осенью начались многодневные блэкауты и работа по ночам, когда был свет.

Но это уже в прошлом.
С НГ! 🌲🥂🎂
🎄42🎉1
Точно не помню дату, но примерно полгода назад я стал свидетелем холивара в телеграмовском "Сообществе 1С-разработчиков" на тему допустимо или нет использование оператора Перейти (Goto). Мне сама постановка вопроса показалась странной. Это как запретить использование объектной модели для чтения данных из базы - только табличная модель, только запросы.

До вчерашнего дня моя статья на эту тему оставалась в черновике. С одной стороны, трудно было выделять время на ее написание. А с другой стороны, иногда трудно остановится и мое исследование начинало сильно уходить в сторону от главной темы.

Надеюсь, я смог выдержать разумный баланс и статья вышла интересной: https://infostart.ru/1c/articles/1790973/
👍3🔥1🏆1
Журнал инженера-программиста
Точно не помню дату, но примерно полгода назад я стал свидетелем холивара в телеграмовском "Сообществе 1С-разработчиков" на тему допустимо или нет использование оператора Перейти (Goto). Мне сама постановка вопроса показалась странной. Это как запретить использование…
Сообщество Инфостарта хорошо приняло новую статью. Даже появилось одно предложение дружбы в уведомлениях.

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

В этот раз я решил все же найти, где хранятся предложения дружбы. Очень долго бродил интерфейсом и наконец нашел очень маленькую кнопочку, которая вывела меня на страницу желающих "дружить". Их там оказалась целая пачка за период 2019-2022 (плюс новый за 2023) 🤦‍♂️
😁3
Статья про GOTO На Инфостарте была первой, где я не вложил демонстрационные файлы. По правилам ресурса в таком случае мне начисляются стартмани (местная валюта) за просмотры, а не за скачивание.

Но если посмотреть на начисления за последнюю неделю, то очевидно, что вкладывать файлы все же выгоднее.
👍1
Специалисты по 1С привыкли ругать компанию 1С за то, что те плохо тестируют свои продукты. Что в новых версиях могут перестать работать поставляемые с ними же демо-базы. Нам кажется, что в "большом ИТ" точно не так. Нам кажется, что крупные компании точно тестируют свои продукты. Нам кажется...

На днях решил вспомнить Java (то самое "Большое ИТ") и выполнил простую последовательность действий:
1) скачал последнюю версию JDK (платформа) - OpenJDK 19 (от 20 сентября 2022)
2) скачал последнюю версию популярной IDE - Intellij IDEA 2022.3.2 (от 25 января 2023)
3) открываю IDE и выбираю создание проекта Gradle (самая популярная современная система сборки) - тут же получаю ошибку!

В результате "разбора полетов" оказалось, что в Intellij IDEA до сих пор по умолчанию используется версия Gradle 7.5.1 (от 5 августа 2022), которая не поддерживает работу с JDK выше 18.

Это при том, что 25 Ноября 2022 (ровно за два месяца до релиза обновления от IDEA) вышла версия Gradle 7.6, которая уже работает с JDK 19.

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

По результату, я проигнорировал ошибку, а потом в конфиге, который создала IDEA, поднял версию Gradle до текущей 8.0.2 - далее все отлично заработало и мой "проектик" успешно собрался.
👍2😁1
Давно ничего не писал и только пополнял свой файлик с идеями.

Одна из причин моего отсутствия - решил погрузится с головой в "большое ИТ". Прошел продвинутый курс Java. С одной стороны, ничего сверх-сверх нового я не узнал - с теорией был знаком и ранее, да и с практикой фрагментарно сталкивался. С другой стороны узнал как это все сейчас работает и пообщался с ребятами-мидлами (или они себя считают сеньорами?), которые работают на реальных проектах Европы и США. Возможно напишу тут пару статей на тему современных стеков, чтобы закрепить материал.

Для полного погружения в "тему" было бы неплохо попробовать работу на какой-то из "галер", но... Как оказалось, с точки зрения "роста квалификации", работа на "галеры" - это просто "небо и земля", если сравнивать с "1с-франчами". Ниже прекрасный пример:

...Я Java разработчик с трехлетним коммерческим опытом... Вся моя работа сводится к этому:
1. Посидеть на статус-митинге
2. Оценить мелкие доработки на проекте
3. Поковыряться в багах
4. Поконфигурировать JSON/XML, бины всякие в спринге настроить
5. Очень-очень редко залезть в БД или какой-нибудь микросервис

...недавно проходил тех. собес в одну компанию. Там меня спросили сталкивался ли я с проблемой N+1 в Hibernate на своей работе... Хотя в теории я знаю об этой проблеме и примерно представляю как ее решать, но вот на практике не сталкивался...

На 1С-франче просто нет варианта "отсидеться три года и ничего не знать" - тебя уволят на второй месяц "сидения". За первый год каждый новичок должен стать крепким профи. А три года - это достаточный срок для становления лидом, архитектором или даже руководителем проекта.
👍2
На картинке довольно типичная история. И причина тому, что я предпочитаю сам себе писать ТЗ.
1
Журнал инженера-программиста
На картинке довольно типичная история. И причина тому, что я предпочитаю сам себе писать ТЗ.
Когда я только пришел работать на Телеканал СТБ, там был Департамент Управления Эффективностью (ДУЭ), где работали аналитики пишущие ТЗ. После испытательного срока меня подключили к одному небольшому проекту. Но я не мог просто взять и реализовать ТЗ от представительницы ДУЭ - у нас началась война правок, по результатам которой для меня оказалось проще исключить аналитика из рабочего процесса и самостоятельно собрал все требования с заказчика. Проект успешно запустился. Аналитик поблагодарила меня за конструктивную критику и... уволилась.

Несколько лет я успешно отбивался от чужих ТЗ, но во время работы над ЦК у меня уже не было времени сильно погружаться в аналитическую работу, и я согласился на "помощь" по связанному проекту от нового отдела аналитиков, которые типа профессионалы. На полученное ТЗ отправил запрос на доработку..., после чего девочка-аналитик на несколько недель пропала. Как мне сказали, она сильно обиделась на то, что ее ТЗ мне не подошло. Я пригласил ее на встречу и объяснил, что работа это работа, а правки - это нормально. Она успокоилась, согласилась с моими доводами и доработала свое ТЗ. После чего ушла на другой проект.

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

Все! Никаких больше аналитиков! Никаких чужих ТЗ!
👍5😁2
Нужно ли знать компьютер на фундаментальном уровне?

На Хабре сегодня снова появился (и был удален модераторами) вопрос от начинающего программиста, который изучает C++ в университете на матфаке. Ему нравятся "ссылки" и "указатели", но он хочет узнать как это все работает на более низком уровне:

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

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

Теория компиляторов очень сложна и для начинающих даже вредна, так как может дать ошибочное представление о программировании как о чем-то сложном.

Для профессионалом тоже не рекомендую. Сейчас расцвет ИИ и только вопрос времени, когда появятся первые компиляторы, написанные полностью компьютером. Уже прямо сейчас есть сеть, которая генерирует код на Cobol из Java и наоборот.

Будущее именно в направлении оптимальной кодогенерации. Люди будут думать про идеи, а ИИ об их реализации. И обычные калькуляторы снова станут быстро работать и будут занимать считанные килобайты вместо гигабайтов как сейчас! 🤖

P.S. А к черным ящикам нужно привыкать. В конце-концов, инкапсуляция функциональности - это один из базовых принципов ООП.
👍1
Говорят “хочешь научится сам, попробуй научить других”. Отличный совет, на самом деле! И я часто ему следовал – был преподавателем учебного центра 1С (ЦСО), был ментором и куратором во время работы в холдинге Старлайт Медиа, активно отвечал на вопросы на форумах и в чатах.

В связи с весьма реальной перспективой «отмены» 1С в Украине, я решил заблаговременно обновить свои знания по Java и записался на курсы «Advanced Java» (Spring, Kafka, AWS и прочие актуальные темы), во время которых активно помогал сокурсникам.

Но мне этого показалось мало и я решил дополнительно проявить активность в QNA от Хабра в теге Java, где ранее в первой тройке у меня был исключительно 1С. Замыкал тройку тег «1С-Битрикс» и именно его я решил за лето сместить на четвертое место (при том, что вклада в Java у меня еще не было вообще).

Свой план я выполнил не до конца лета, а только к середине сентября. Только сейчас сообщество русскоговорящих айтишников признало, что я шурупаю в Java чуть лучше, чем в 1С-Bitrix и PHP.

Но и про 1С я не забыл и на днях дал юбилейный 500й ответ!
👍4👏1
Планово лег в больницу.
Сегодня состоялся забавный диалог с моим лечащим врачом:

В: Напомни, чем ты занимаешься?
Я: Программист 1С - бухгалтерские отчеты, налоги, торговые акции, синхронизации с сайтами, документооборот, ЭЦП и все такое...
В: Супер! У нас в отделении один компьютер что-то барахлит. Можешь посмотреть?
Я: ... А что за компьютер?
В: Я в этом не разбираюсь. Кажется XP. У нас новее нет.
Я: 🤦‍♂️🤦‍♂️🤦‍♂️
😁7
Очень давно слушал подкаст "Радио-Т". Не опечатка, именно прошедшее время. К сожалению, совершенно нет времени на аудио-формат - сначала заменил его в дороге аудио-книгами (бумажные книги тоже нет времени читать), а потом начались ковид с войной, которые отправили меня на постоянную удаленку без потребности вообще куда-либо ходить... Но раньше, когда я еще слушал этот подкаст, то слушал много и это было как открытое окно в мир большого IT.

Пока отдыхаю на больничном, почитал дайджест новинок из мира Java, где недавно вышел LTS 21 и уже примерно известны проекты, которые войдут в LTS 25. Это все просто космос! Когда-то тормознутая Java, теперь в некоторых сценариях обгоняет Rust. В Spring Data победили проблему "N+1". Virtual Threads позволяет получать сколько угодно бесплатных потоков и забыть про игры с пулами при распараллеливании... Читаю и прямо руки чешутся все это попробовать на практике, хотя бы по маленькому проектику, чтобы почувствовать технологию "на вкус".

И вот почему я вспомнил коллектив "Радио-Т". Они там сидят и болтают часто про далеко не самые умные штуки, но на IT-тематику. Часто болтают совершенно некомпетентно (к слову, и не скрывают этого, стараются приглашать тематических гостей, или спрашивают у слушателей, чтобы в следующих передачах пересказать факты). Часто уши просто закручиваются от услышанного (особенно, когда рассказывают про "мифический" мир 1С). Но их сила в том, что они болтают про IT-новинки и болтают уже очень много-много лет, чтобы начать чувствовать причино-следственные связи, тренды и вообще иметь собственное мнение о перспективах новинок. А еще они не только болтают, но и лично щупают новинки. Не все-все-все одновременно фичи фреймворка Spring, а только ту одну единственную, которая зарелизилась за пару дней до еженедельной передачи. А их примитивные, но разнообразные хелоуворды капля по капле за годы превращаются в поток техно-опыта, за который их ценят тысячи слушателей уже почти два десятилетия.

Рекомендую услышать, если еще о них не слышали.
👍4👌1
На GitHub опубликовали ежегодную аналитику по активности на платформе. В этот раз было много про ИИ, но для меня наиболее интересной статистикой стало использование языков. Java еще в 2019 уступила второе место Python, а в этом году она уже опустилась на 4 место, уступив TypeScript - строго типизированной версии JavaScript, которая уже десятилетие сидит на первом месте.
👍3