Серия «Что такое 1С спустя 15 лет»

Что такое 1С спустя 15 лет - #3

Ну ок, я поставил платформу и сломал ее, что дальше?!

Все просто и не просто... Есть две реализации которые сами себя неким образом ограничивают (как разработчика).
ФАЙЛОВАЯ ВЕРСИЯ. Это то что ты скачал. Ты молодец! Ты можешь писать код. Ты можешь даже посмотреть что он сделает. Также (в контексте принципа КЛИЕНТ-СЕРВЕР) ты всегда КЛИЕНТ (это не совсем так)! Блять. Почему так?? Да потому что КЛИЕНТ-СЕРВЕР работает иначе и вот сейчас я расскажу как: Ну как же определить практически что есть (теперь) файловая и "нефайловая" версия? Ну все просто. Файловая это та информационная база, которая находится либо локально, либо на сетевой шаре

Что такое 1С спустя 15 лет - #3 Программа, Информационная безопасность, 1С, 1с:предприятие 8, Мат

Так а что такое файловая и серверная база и зачем оно нужно? А также что такое данные и что с этим делать?

....

Хотел написать про 1С, но лучше немного отойти к корням... И так:

Для чего все это? Что мы должны сделать и почему ИТ разрабы зарабатывают овер 500к?! Все просто. Мы работаем с данными. Ни один разработчик не сможет без них. Хорошо, но что есть данные и как с ними работать?

  1. Все что пишут пограмисты (это специально) оно все ради чего-то. Ради результата. Никому не будут платить просто так!

  2. Все эти погромисты умеют работать с данными. (блядь, еще и данные...)

  3. Да да! И в 1С есть СКД (Система компоновки данных) которая работает исключительно с данными!

Т.е.

  1. Ты должен понимать фронт

  2. Ты должен понимать бэк

  3. Ты должен в ODBC и реляционные БД

  4. Ты должен не боятся/ссаться и быть хорошим человеком и кушать печеньки в оупенспейсе (это не обязательно я просто шутканул, у меня печенька поперек горла))

И так:

  1. Данные - мы ради них здесь! Мы их консолидируем, агрегируем и выдаем

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

  3. Хорошее настроение! Гип Гип, УДО!)

ФАЙЛОВАЯ.

Эта версия которая подразумевает хранение данных в виде файлов. Эти файлы могут быть как на твоем (старом) ПК, так и в сети (если ты админ Почты РФ где-нибудь в Ново-Огарёво). Т.е. это те данные которые можно удалить/переместить/переименовать и это нихуя не секьюрно! Это сулит много проблем в части 1С, а именно: БЛОКИРОВКИ (блядь). Когда-то для нас разработчиков это был бич - блокировки! Поверхностно - это один пользователь открыл файл в ОС (операционная система) и держит файл открытым, а другой юзер пытается открыть его - ВУАЛЯ - БЛОКИРОВКА! Мрачно, больно и несекьюрно... Да мудрые программисты сейчас напишут, что можно файл в транзакции открывать, монопольно или то лучше выкачать себе и все открывают и проблем нет. Но! Что если нужно фиксировать изменения при нажатии? К сожалению файловая реализация 1С это не позволяет. Т.е мы можем 100% сказать что если это файловая реализация, то 100% сохранность данных негарантированная и масштабируемости нет.

СЕРВЕРНАЯ.

Вот тут интереснее! В данной архитектуре мы можем говорить что,

  1. Есть некий сервер сеансов 1С, где мы можем посмотреть что происходит и самое главное, управлять сеансами

  2. Есть сервер данных! Это может быть как отдельный VM сервер либо физически сервак, но мы знаем, что там есть СУБД которая управляет данными. Это может postgresql либо MSSQL неважно. Мы это знаем, оно там, оно инкапсулировано.

  3. Теперь то мы разыграемся! Теперь то мы можем и управлять сеансами и данными и вообще, мы можем реализовать сервер (ПК) для совместной разработки с помощью хранилища конфигураций (про него кстати я еще не говорил). Это аналог Git. Да да, смейтесь ТРУ разрабы, но у нас гит был еще до этого)

Далее лучше показывать. Я сегодня 4 часа потратил на этот блог)
Буду признателен если вы поставите свой боярский лайк)
Всем мир!

Показать полностью 1

Что такое 1С спустя 15 лет - #2

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

  1. Платформа - это IDE (Интегрированная среда разработки), которая позволяет писать код, компилировать его, выполнять в ОС вашего типа и на выходе получать программу (которую вы хотите, сказал бы я, но это 1С и все строго вшито/зашито)

  2. Конфигурация - это шаблон, предопределенный. Считайте его привычным словом "Framework", аля Spring (кто в теме java). Никто не заставляет его использовать, но ты будешь с этим сталкиваться и САМОЕ важное ты должен понимать в чем сходства языков и их фреймворков.

  3. В части 1С также важно понимать Клиент-Сервер. Это некая терминология которая говорит о том, что твой код может выполняться как на ПК клиента так и сервера. И тут нам 1Сникам повезло. С управляемыми формами (далее УФ) нам повезло (я далее расскажу про УФ). А повезло нам с тем, что мы нашей IDE (Платформе) лишь говорим где мой код выполняется, а она уже сама решает где и почем. На самом деле в рамках 1С это здорово!

  4. Лицензирование. К сожалению фирма 1С нас не щадит и не сделала безопасной и бесплатной (полноценно развитой) IDE акромя Eclipse, где вроде как сделали и развивают Eclipse IDE для 1С называемую EDT. Это не относится к лицензированию но я должен был сказать. И так, если ты пишешь ПО на спринге или WPF реализуешь на C# то у тебя все прям здесь и сейчас. Если же ты пытаешься работать с 1С, то тут либо ломаешь платформу и пользуешь файловую версию своей конфигурации, либо ты уже работаешь с организации и у тебя есть лицензия и ты можешь разрабатывать в клиент-серверном варианте исполнения.

  5. Клиент-сервер! Вот то что мало понимают новички и честно - ну нихуя же непонятно! Если вернуться к п.4 то мы видим, что в коммерческой разработке нам нужна серверная лицензия, которая позволяет реализовывать своё ПО более грамотно, так в чем же разница?

КЛИЕНТ. СЕРВЕР. КЛИЕНТ-СЕРВЕР

  1. КЛИЕНТ. В привычном понимании, если бы это был разработчик Jscript или React (любой фронт-ендер разраб) - то это был бы КЛИЕНТ. Т.е. это конечный пользователь, который тыкает (аки обезьяна) кнопки и говорит что "НИЧЕГО НЕ РАБОТАЕТ!". Клиент важная сущность, которая отвечает за то как он что-то там нажмет. А в случае с 1С (который фулстак) как нажмет и что произойдет! Клиент просто жмет, дает сигнал серверу через свои сетевые протоколы, а тот выполняет те или иные функции, сервер обрабатывает и шлет ответ. Все просто! Но! Мало кто говорит - запомни, КЛИЕНТ это тот кто взаимодействует с User Interface (UI)

  2. СЕРВЕР. Это ядро логики. Сервер ожидает запроса от клиента. Сервер ДОЛЖЕН выполнять все самое сложное (как именно ты поймешь дальше и самое главное как). Сервер распределяет память и ресурсы (если вы знаете C то вы понимаете что делает платформа). Все операции должны быть здесь! Это важно. За исключением тех которые могут быть в UI и я об этом напишу когда будет практическая часть.

  3. КЛИЕНТ - СЕРВЕР. Это процесс, в котором клиент (фронт) общается с сервером (бэкенд) и они вместе выполняют свои задачи. В отличии от большинства языков и архитектур 1С позволяет все сделать в ОДНОМ модуле использую директивы &НаКлиенте и &НаСервере. Есть также директивы &НаСервереБезКонтекста и тп, но о них чуть позже.

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

Всем мир!

Показать полностью

Что такое 1С спустя 15 лет - #1

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

Чтобы не тянуть кота за яйца хотелось бы описать будущую систему. Но! Скажу сразу в нашей системе не будут затрагиваться такие вещи как бухучет, кадры, торговля. Моё желание цель более комплексно подойти к разработчику 1С и показать, кто не знает, что данная платформа позволяет гораздо большего и в то же время является максимально ограничена. Задача реализовать приложение которое может:

  1. В авторизацию. Доменная и стандартная (логин/пароль)

  2. Умеет в интерфейс. Показывает, что можно даже на платформе 1С сделать юзабилити.

  3. Email, API, zip, работа с файловой системой (забегая вперед для unix 1Снику важно знать синтаксис 1С и не вдаваться в подробности устройства подобных ОС)

  4. ODBC. Подключить библиотеку одно, но также именно мой стэк это Oracle, потому могу рассказать по настройке коннектов к данным видам БД, запросы, контроль сеансов/коннектов и прочее

  5. Асинхронность и как это применительно вручную, без этих ваших самых БСП и прочего. Особенно, применительно ко мне, с файловой системой ОС лично я собаку съел, а то и не одну...

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

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

Отличная работа, все прочитано!