Поверхностная статья. И не очень понятно - в ней идет речь о партициях. Но этот механизм далек от реальных задач. В зависимости от версии конкретной БД - оно может ничего не поддерживать (даже индексы, FK).
Я прочитал оригинальную статью - мне показалось, что там фокус именно на бизнесовой составляющей работы программиста. Сесть изучить бизнес-процессы, подумать, надо ли делать и что и как надо сделать. Причем решение может лежать совсем не в плоскости информационного обеспечения. И с этой точки зрения (такой довольно высокоуровневой) - 1С с ее встроенными возможностями и недостатками отличная штука, потому что не позволяет утонуть в технических деталях.
Это, на мой взгляд, утонуло в общем настрое статьи, она больше воспринимается именно как "1с какашка". C#/Java/Go такая же какашка, просто там проблемы другие.
И еще немного из опыта. Была задача автоматизировать процессы в малом бизнесе - компания выращивала и продавала растения для ландшафтов (ну там в частном доме посадить цветочки, деревья, чтобы красиво было).
С одной стороны им нужен был стандартный бух и управленческий учет. С другой - сайт-лендинг пейдж и мобильное приложение-каталог-корзина. Ходишь по территории со своим смартфоном, сканишь QR коды на горшках и добавляешь к себе в корзину. На кассе оплачиваешь.
Так и какое решение? Писать с нуля аналог 1С? Чтобы вести склад, приход, выдачу, оплату с банковских карт, да? И сколько бы лет и денег на это ушло?
В итоге сайт, бэк-енд и мобилку написали на C# / Flutter. А вот для учета внедрили одну из стандартных 1С конфигураций. Плюс отдельно реализовали синхронизацию каталога товаров из 1С в бэк-енд для мобилки.
Обычно такое поведение присуще ларечникам, которым IT не нужен, или когда автоматизация делается ради галочки, без реальной необходимости. Однако же в стране работают не только ларечники, а есть средний и крупный бизнес, который понимает ценность автоматизации процессов. Там я впервые столкнулся с кондовым отделом бухгалтерии, с тетеньками 50+, у которых программист всегда виноват и в апреле (время сдачи налоговой отчетности) всегда аврал. Соглашусь с Андреем, что дело не в 1С, а в людях, которые работают в типовых конфигурациях. Но почему-то именно в 1С таких заказчиков очень много. 1С – это CRUD для малого и среднего бизнеса, где обычно много табличек. И что бы мне ни говорили 1С-программисты, большая часть их задач лежит в этом заколдованном круге кусочков большой конфигурации. Это либо отчеты, призванные показать руководителю все в одном месте, либо обработки, призванные упростить какую-то хозяйственную операцию, либо отдельная подсистема, чтобы автоматизировать "уникальный бизнес-процесс", либо просто корректировка бизнес-процессов предприятия так, чтобы они ложились в типовую конфигурацию.
Так это и есть ниша 1С. Не у всех есть компаний ресурсы на айти отдел и собственный кастомный продукт. Да оно им и не надо. У них больше забот, связанных с основной деятельностью бизнеса. И очевидно, что в таких компаниях такие люди - не понимают в айти. У них не настроены айтишные процессы и вот это вот все. Зато понимают в логистике/продажах/ремонте/нужное подставить. Таким компаниям нужна стандартная конфигурация, одна-две доработки и несколько кастомных отчетов.
Еще утверждается, что если уйти из 1С в другой стек, ничего не поменяется, всегда будут авралы и не будет никакого удовольствия.
Это действительно так. Дело не в 1С. C#/Java/1C - это инструменты. Но те же самые "ларечиники" без понимания айти и процессов могут выбрать Java.
Что там с IDE?
Мне тоже приходится перезапускать IDE, порой ее глючит, она подвисает и жрет память даже больше чем Chrome.
По прошествии полутора лет могу перечислить, что же изменилось:
Мне показалось, что вас посадили в какую-то ограниченную песочницу. Я когда-то работал в системном интеграторе, с настроенными процессами. Было примерно так же. Сидишь ждешь описание от аналитика, кодишь, тестируешь, исправляешь, комитишь. Когда же я стал вести проекты - все поменялось. Мне и с заказчиком/клиентом надо пообщаться. И саппорт тикет разрулить на третьем уровне поддержки "почему у них там очередная цифра не так считается". И понимать "законы и предметную область", чтобы не натворить дел. Да и кэш приходится порой чистить, да и RESET нажимать. И соглашусь, что многое зависит от работодателя. Я сейчас работаю в небольшой компании, у нас тут нет полтыщи аналитиков/программистов/девопсов. Но знаете... как-то интересней... Свой проект, свое детище.
ORM в 1С – самый лучший. Один из разработчиков пришел к прямому чтению данных 1С из MS SQL. И это работало быстрее, чем платформенный ORM.
Слушайте, но причем тут 1С? Любая ORM работает медленней, чем нативные прямые запросы к БД. И многие программисты, с каким бы инструментом они не работали - приходят к нативным прямым запросам к БД для оптимизации производительности.
Мне понравился класс, приведенный Андреем на слайде. А для какого уровня в приложении этот класс?
Это сущность, отражает структуру таблицы в БД. Поэтому там BankId и Orders. Это для монолитов и маппинга ORM на БД. Да, возможно там не очень хорошо это спроектировано. В микросервисах ордера могут быть отдельно, клиенты отдельно. Но не суть. Технические претензии мне кажутся не обоснованными. Никто не обязывает отдавать заказы вместе с клиентом. Решается на уровне ORM (Fetch/Include) при построении запроса. А fetch = FetchType.LAZY - эта штука имеет неприятные побочные эффекты, начиная с N+1 и заканчивая ошибкой "транзакция/подключение к БД уже закрыто" на момент срабатывания Lazy, а так же проблемами при параллельной обработке/вычислениях.
По итогу - мне показалось у вас стадия гнева и отторжения 1С. В C#/Java/Go тоже много проблем. Видимо вы с ними просто еще не столкнулись.
Чем больше читал статью - тем интересней становилось, что же будет в коментах.
Автор, я никоим образом не восхваляю 1с. Я с ней познакомился впервые в универе и лично мне сразу стало ясно, что связываться с ней не стоит. Хотя это годное решение для определенной ниши.
Но, многие проблемы, которые вы описали применительно к 1с, существуют и в мире «взрослого» программирования.
Дополнение от олдфага - у первого дюка было насколько я помню три части. В первой он на земле, заваливает главного злодея и тот улетает на луну. Вторая часть - дюк еще раз мочит его на луне. И третья - в будущем.
Вся боль собеседований в одной статье) И переписки зачотные.
С нищебродством непонятно. Это же делать вид, что богаче, чем есть на самом деле (форд-фокус-в-кредит или закрывать гос номера на бентли на платной уличной стоянке в центре города).
А так, соглашусь - удаленка способ вырваться из провинциального болота. Сам с ужасом думаю о том, где и кем бы я сейчас был, если бы не удаленка. Сначала было трудно, но это того стоило.
А что насчет оценки бюджета и сроков на составление ТЗ?))
Импортозамещение чипов говорили они…
Поверхностная статья. И не очень понятно - в ней идет речь о партициях. Но этот механизм далек от реальных задач. В зависимости от версии конкретной БД - оно может ничего не поддерживать (даже индексы, FK).
А где они взяли эти буры и как их вообще изобрели?
Я прочитал оригинальную статью - мне показалось, что там фокус именно на бизнесовой составляющей работы программиста. Сесть изучить бизнес-процессы, подумать, надо ли делать и что и как надо сделать. Причем решение может лежать совсем не в плоскости информационного обеспечения. И с этой точки зрения (такой довольно высокоуровневой) - 1С с ее встроенными возможностями и недостатками отличная штука, потому что не позволяет утонуть в технических деталях.
Это, на мой взгляд, утонуло в общем настрое статьи, она больше воспринимается именно как "1с какашка". C#/Java/Go такая же какашка, просто там проблемы другие.
И еще немного из опыта. Была задача автоматизировать процессы в малом бизнесе - компания выращивала и продавала растения для ландшафтов (ну там в частном доме посадить цветочки, деревья, чтобы красиво было).
С одной стороны им нужен был стандартный бух и управленческий учет. С другой - сайт-лендинг пейдж и мобильное приложение-каталог-корзина. Ходишь по территории со своим смартфоном, сканишь QR коды на горшках и добавляешь к себе в корзину. На кассе оплачиваешь.
Так и какое решение? Писать с нуля аналог 1С? Чтобы вести склад, приход, выдачу, оплату с банковских карт, да? И сколько бы лет и денег на это ушло?
В итоге сайт, бэк-енд и мобилку написали на C# / Flutter. А вот для учета внедрили одну из стандартных 1С конфигураций. Плюс отдельно реализовали синхронизацию каталога товаров из 1С в бэк-енд для мобилки.
Теперь подробней:
Так это и есть ниша 1С. Не у всех есть компаний ресурсы на айти отдел и собственный кастомный продукт. Да оно им и не надо. У них больше забот, связанных с основной деятельностью бизнеса. И очевидно, что в таких компаниях такие люди - не понимают в айти. У них не настроены айтишные процессы и вот это вот все. Зато понимают в логистике/продажах/ремонте/нужное подставить. Таким компаниям нужна стандартная конфигурация, одна-две доработки и несколько кастомных отчетов.
Это действительно так. Дело не в 1С. C#/Java/1C - это инструменты. Но те же самые "ларечиники" без понимания айти и процессов могут выбрать Java.
Мне тоже приходится перезапускать IDE, порой ее глючит, она подвисает и жрет память даже больше чем Chrome.
Мне показалось, что вас посадили в какую-то ограниченную песочницу. Я когда-то работал в системном интеграторе, с настроенными процессами. Было примерно так же. Сидишь ждешь описание от аналитика, кодишь, тестируешь, исправляешь, комитишь. Когда же я стал вести проекты - все поменялось. Мне и с заказчиком/клиентом надо пообщаться. И саппорт тикет разрулить на третьем уровне поддержки "почему у них там очередная цифра не так считается". И понимать "законы и предметную область", чтобы не натворить дел. Да и кэш приходится порой чистить, да и RESET нажимать. И соглашусь, что многое зависит от работодателя. Я сейчас работаю в небольшой компании, у нас тут нет полтыщи аналитиков/программистов/девопсов. Но знаете... как-то интересней... Свой проект, свое детище.
Слушайте, но причем тут 1С? Любая ORM работает медленней, чем нативные прямые запросы к БД. И многие программисты, с каким бы инструментом они не работали - приходят к нативным прямым запросам к БД для оптимизации производительности.
Это сущность, отражает структуру таблицы в БД. Поэтому там BankId и Orders. Это для монолитов и маппинга ORM на БД. Да, возможно там не очень хорошо это спроектировано. В микросервисах ордера могут быть отдельно, клиенты отдельно. Но не суть. Технические претензии мне кажутся не обоснованными. Никто не обязывает отдавать заказы вместе с клиентом. Решается на уровне ORM (Fetch/Include) при построении запроса. А fetch = FetchType.LAZY - эта штука имеет неприятные побочные эффекты, начиная с N+1 и заканчивая ошибкой "транзакция/подключение к БД уже закрыто" на момент срабатывания Lazy, а так же проблемами при параллельной обработке/вычислениях.
По итогу - мне показалось у вас стадия гнева и отторжения 1С. В C#/Java/Go тоже много проблем. Видимо вы с ними просто еще не столкнулись.
Чем больше читал статью - тем интересней становилось, что же будет в коментах.
Автор, я никоим образом не восхваляю 1с. Я с ней познакомился впервые в универе и лично мне сразу стало ясно, что связываться с ней не стоит. Хотя это годное решение для определенной ниши.
Но, многие проблемы, которые вы описали применительно к 1с, существуют и в мире «взрослого» программирования.
А какое образование надо иметь каждому члену команды, чтобы заниматься тем, что он делает?
А сам микросервис это разве не N уровневая архитектура?
Дополнение от олдфага - у первого дюка было насколько я помню три части. В первой он на земле, заваливает главного злодея и тот улетает на луну. Вторая часть - дюк еще раз мочит его на луне. И третья - в будущем.
Вот и ответ для собеседования в гугле.
Кому из мидлов реально пригодилось знание структуры кучи?
В яве нет способа разместить ссылочные типы на стеке?
3 и 4 пункт мне напомнил дефолтные реализации методов в интерфейсе в c# https://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/proposals/csharp-8.0/default-interface-methods
Вся боль собеседований в одной статье) И переписки зачотные.
С нищебродством непонятно. Это же делать вид, что богаче, чем есть на самом деле (форд-фокус-в-кредит или закрывать гос номера на бентли на платной уличной стоянке в центре города).
А так, соглашусь - удаленка способ вырваться из провинциального болота. Сам с ужасом думаю о том, где и кем бы я сейчас был, если бы не удаленка. Сначала было трудно, но это того стоило.
У них там 5 собесов https://habr.com/ru/company/tinkoff/blog/686996/
Расскажите это тинькофф банку с его наймом qa
Хорошо что я отказался от столь щедрого предложения в свое время. Таких подробностей мне не рассказывали.
Гениально