Вход | Регистрация
    1  2  3   

Транслятор кода 1С в JavaScript

Транслятор кода 1С в JavaScript
Я
   Garykom
 
22.08.16 - 06:29
1. Нафик не нужно30% (3)
2. Нужно, знаю зачем30% (3)
3. Нужно, зачем не знаю20% (2)
4. Другое20% (2)
Всего мнений: 10

Транслятор "кода 1С" в JavaScript куда можно применить?

Без написания "глобального убийцы" а просто некий аналог http://oscript.io/ только для броузера/nodejs?

Искал парсер для вытаскивания данных из текста (загрузка данных из файлов excel) и нашел РВ-грамматики.

Они РВ-грамматиками кто занимался? весьма интересные и позволяют довольно просто создавать трансляторы/интерпретаторы из одного в другое.

Можно сделать автоматическую трансляцию кода на языке 1С в код javascript, который будет выполняться в брfузере или в nodejs.

Но кто то может предложить практическое применение этого?
   qwerty
 
101 - 22.08.16 - 21:17
(0)-  Что как бе намекает: меня задолбал 1С, я хочу немного потерять в деньгах, но наконец то начать программировать на цивилизованных языках программирования, которые также котируются зарубежом.

ОК?

4. Другое
   qwerty
 
102 - 22.08.16 - 21:20
(98) - сейчас фронтендщик без опыта применения ноды никуда не устроится. Более того, он даже современнную жо-эс либу не сможет использовать.

npm + grunt/gulp + плагины для минификации и конкатенации
   Garykom
 
103 - 22.08.16 - 21:22
(101) нет проблемы куда то устроиться в т.ч. сразу на миддла (может и сеньора если фреймворки знакомые) java/c#
   Adept
 
104 - 22.08.16 - 21:22
(100) сомнительное определение - "язык для браузеров", раз есть node js и на нем много пишут, видимо не только для браузера подходит
   qwerty
 
105 - 22.08.16 - 21:24
(98) - Минимизация использования языков программирования в проекте.

PHP + HTML5 + CSS/LESS + язык шаблонов (еще одна сущноть) + JS (Frontend) = Full Stack - ты задолбаешься знать столько сущностей.

Нода позволяет убрать сущность под названием PHP из этой каши
   qwerty
 
106 - 22.08.16 - 21:25
В идеале, конечно. REST сервисы очень хорошо ложатся на ноду
   qwerty
 
107 - 22.08.16 - 21:28
>Кроссплатформенно - тот же C# или JAVA или Phyton.

C# не является кроссплатформенным.

Java - это еще одна сущность для проекта. Нескриптовая.

Python - это еще одна сущность. И ее не следует выбирать, если основным языком проекта не является Python.
   Torquader
 
108 - 22.08.16 - 21:30
(105) Меня, например, сильно не напрягает, что нужно использовать другой язык - просто там, где можно просто сделать на другом языке, чем городить костыли на том, что дано, я выбираю другой язык, тем более, что в Apache или php можно вызывать другие языки.
   Garykom
 
109 - 22.08.16 - 21:31
(107) C#/mono давно кроссплатформ, даже включая asp.net на xsp+nginx

Для Java придумали GWT и Vaadin

Питон это такое не совсем понятное примерно как Руби только постарше и менее объектное.
   Garykom
 
110 - 22.08.16 - 21:33
Хм может это дело подвести под "Национальный язык программирования" ?
   EvilBeaver
 
111 - 22.08.16 - 21:33
Странная постановка вопроса...

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

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

3. Нужно, зачем не знаю
   Garykom
 
112 - 22.08.16 - 21:34
(110)+ А то "школьный алгоритмический" уже давно не катит для "импортозамещения"
   qwerty
 
113 - 22.08.16 - 21:34
(108) - молодец, но я бы как директор предприятия не хотел бы видеть тебя как сеньора в скрам тиме.

(109) - умница, умеешь гуглить. А теперь перепиши мне ту десктопную утилику с печатью на принтер, чтобы она запускалась по Убунту. Ась?
   Garykom
 
114 - 22.08.16 - 21:34
(111) Уряя, даже автор 1script тута отметился ))
   Garykom
 
115 - 22.08.16 - 21:35
(113) В wine запущу...
   Garykom
 
116 - 22.08.16 - 21:36
(113) Кстати не только гуглить умею кроме названного еще на java zk framework юзал и пытался apache wicket но не пошло последнее там мануалов нифига нету и несовместимость версий сильная
   qwerty
 
117 - 22.08.16 - 21:36
(109) - >Питон это такое не совсем понятное примерно как Руби только постарше и менее объектное.

молодец, вы только что не прошли собеседование на должность младшего помошника нашего Linux сисадмина. У нас все скрипты на Питоне написаны.


(115) - запускай.
   EvilBeaver
 
118 - 22.08.16 - 21:37
(114) я вообще редко тут бываю, а тут зашел и бац - родственный топик )))

Я вообще за любую движуху, если она открытая и на благо общества. Но очень-очень советую все-таки ответить себе на вопрос "Что я смогу сделать, если у меня будет этот транслятор?" Транслятор ведь сам по себе не нужен. Нужны решения каких-то проблем с его помощью, верно?
   Garykom
 
119 - 22.08.16 - 21:38
(117) Когда ваш Linux сисадмин сервак положит, мне позвоните...
   qwerty
 
120 - 22.08.16 - 21:41
(115) - а ты это... неимплементированные или вылетающие в неопределенный момент фичи будешь заменять нативными имплементациями через DI? И без доступа к исходным текстам?

Спасибо, вы уволены с должности. Причина: выбор не подходящей технологии.

(119) - узнаю 1Сника.
   qwerty
 
121 - 22.08.16 - 21:43
(119) - а ваш Windows сисадмин держит шоп на денвере на той же самой машине, что и терминальный сервер 1С? И там же SQL Server крутится?
   Garykom
 
122 - 22.08.16 - 21:43
(120) Если ваша "десктопную утилику с печатью на принтер" использует недокументированные возможности Win то будет она в виртуалке крутится порезанной
   Garykom
 
123 - 22.08.16 - 21:44
(121) Не понял чем мерямся? Но лично XAMPP предпочитаю
   qwerty
 
124 - 22.08.16 - 21:48
(122) - ОК, давай серьезно.

Какой инструмент используется для организации печать в PDF?
   qwerty
 
125 - 22.08.16 - 21:49
(123) - молодец.

Но только XAMPP не держат в продакшене. Это инструмент разработчика.
   Garykom
 
126 - 22.08.16 - 21:52
(125) Эээ это же такая же сборка тока с панелькой как и денвер...

(124) Не понял вопроса, речь про pdf принтер?
   qwerty
 
127 - 22.08.16 - 21:55
(126) - давай, расскажи мне как ты будешь организовывать кроссплатформенную печать из C# утилитки?

Это задание уровня студента-падавана в какой нибудь ООО Рога и Копыта.
   qwerty
 
128 - 22.08.16 - 21:56
(126) - нет, не такая же. Там есть отличия. Приведи их мне.

Ну и расскажи мне, почему и Денвер и XAMPP не предназначены для продакшена?
   Garykom
 
129 - 22.08.16 - 21:56
(127) mono "имя утилитки" не покатит?
   qwerty
 
130 - 22.08.16 - 21:57
(129) - молодец, у тебя только что вылетел GUI, юзер ничего не увидел. Шеф в ярости. Твои действия?
 
 
   Garykom
 
131 - 22.08.16 - 21:58
(128) денвер это джентельменский набор веб разработчика по сути сборка под виндовс там настройки не те как и среда выполнения
XAMPP вполне потянет с донастройкой, но использую классику в виде LAMP с нужной настройкой в нужной среде
   Garykom
 
132 - 22.08.16 - 21:59
(130) хочешь сказать на WinForms ? так вроде там довольно много имплементировано до заморозки, но логи гляну которые настроены заранее
   qwerty
 
133 - 22.08.16 - 22:05
(132) - а ты смотрел на последние коммиты имплеметации winForms под Моно? Какой они даты? А что Мигель в чатеге писал? Ну и официальная позиция?

Т.е. ты считаешь, что можно нашему отделу с тетечками кидать постоянно вылетающую в неопределенный момент утилитку?

ОК, ладно, я как твой начальник буду скаидывать все их звонки по этому поводу на тебя.

Но ты мне не сказал самого главного: как ты будешь организовывать печать в C#?

тетечка щелкаем по кнопочке и на принтер посылается напечатанное.
   akaBrr
 
134 - 22.08.16 - 22:19
похоже все забыли про что ветка
   Jija Grenkov
 
135 - 22.08.16 - 22:22
(98) Нода не такая уж и тормознутая, в задачах где нужна выдача контента, а не проведение расчетов довольно хорошо себя рекомендует, хорошо ложиться под микросервисную архитектуру. Плюс в идеале можно использовать 1 язык для всего (мобильная платформа, сервер и вэб фронтэнд).
C# и кросплатформенность - первый раз слышу, что такое есть не в игрушечных проектах.
(109) Для меня пайтон - это один из самых понятных языков программирования. Можно нечего не читать, просто смореть и все понятно. К стати пайтон пожалуй самый популярный язык в бигдате.
   qwerty
 
136 - 22.08.16 - 22:23
(135) - и именно по это причине на текущей работе утилитку + демон "прочитать файл и положить в базу и наоборот" я написал на ноде.
   Jija Grenkov
 
137 - 22.08.16 - 22:52
(136) Круто. На такое наверняка на любом языке примерно с одинаковыми трудозатратами можно сделать.
   Jija Grenkov
 
138 - 22.08.16 - 22:56
(137) + на лубом предназначенном для таких задач.
   qwerty
 
139 - 22.08.16 - 22:59
(137) - маладец. А ну быстро приведи мне пример file system watcher для дот-нета, Python и Java.

И, на крайняк, на по ха пе
   qwerty
 
140 - 22.08.16 - 23:00
(138) - как ты хитро выкрутился, если не сам не знаешь, о чем говоришь
   trdm
 
141 - 22.08.16 - 23:04
Блин, в-роь-мне-ноги....
Вы че парни??? еще же не весна....
   Torquader
 
142 - 22.08.16 - 23:11
Кстати, как там в JavaScript с многопоточностью ?
   qwerty
 
143 - 22.08.16 - 23:21
(142) - молодец. Вы не приняты на должность младшего помощника нашего... веб программиста
   qwerty
 
144 - 22.08.16 - 23:22
Если это наброс, то очень толстый.

Если это серьезно, то 1Сник != программист - это факт
   Asmody
 
145 - 22.08.16 - 23:22
(142) По-разному. Как бы и нет, но как бы и есть.
Сейчас доморощенный спец вам объяснит.
   Asmody
 
146 - 22.08.16 - 23:23
(144) А в чём проблема? Для вас вопрос многопоточности очень сложный?
   Torquader
 
147 - 22.08.16 - 23:29
Просто, у Web-сервера, по определению, многопоточность, так как он обслуживает несколько запросов одновременно.
Только вот в одном запросе создать поток, чтобы он что-то делал параллельно, не такая уж и тривиальная задача.
К php был класс, который мог запускать потоки с общими данными, но, что-то в javascript я такого не припомню.
   qwerty
 
148 - 22.08.16 - 23:30
(146) - это тупой вопрос, очень попахивающий набросом.

Для фроненда ответ здесь:

http://stackoverflow.com/a/39961/444079

Для ноды ответ здесь:

https://www.quora.com/What-is-the-best-approach-for-multithreading-in-node-js

TL;DR: Вопрос о "многопоточности" в JavaScript является некорректным, т.к. <а теперь минута на размышление, уважаемые знатоки V8>
   Asmody
 
149 - 22.08.16 - 23:30
О, у нас нарисовался ещё один .Net-ненавистник.
Надо qwerty с Serginio1 в одну ветку заманить, только сначала поп-корном хорошо бы запастись.
   qwerty
 
150 - 22.08.16 - 23:31
(149) - я обожаю .NET. Только оно Windows only.
   Asmody
 
151 - 22.08.16 - 23:33
(148) Ну вот, прям первое попавшееся на гитхабе https://github.com/audreyt/node-webworker-threads

Т.е., типа могут.
Вопрос только - зачем?
   qwerty
 
152 - 22.08.16 - 23:34
идиоты, у вас при печати проблемы получатся на последней (про)милле.

У вас будет код генерировать PDF (iText), но при отсылке на печать этого PDF в Linux/Ubuntu у вас будут огромнейшие проблемы.
   qwerty
 
153 - 22.08.16 - 23:37
(151) - ну ты конечно понимаешь как оно работает, да?
   Torquader
 
154 - 22.08.16 - 23:38
(151) Там просто сказано, что несколько потоков могут обслуживать запросы в порядке очереди.
И не сказано, что из одного потока можно запустить другой и передать туда данные.
Потом, сам по себе JavaScript - однопоточный, да и сборка мусора в многопоточной среде тривиальное не реализуется.
А иногда хочется, чтобы процессы пошли исполняться параллельно и обменивались данными между собой без всяких костылей - видимо - кроме ассемблерного кода это никто "из коробки" не умеет.
   Asmody
 
155 - 22.08.16 - 23:38
(147) Вообще говоря, в общем случае это не совсем так. Многопоточный сервер - это один из вариантов.
   Asmody
 
156 - 22.08.16 - 23:39
(153) Куда мне! Я же не программирую профессионально на javascript.
   Torquader
 
157 - 22.08.16 - 23:40
И вот как бы ответ:
http://stackoverflow.com/questions/18613023/how-to-create-threads-in-nodejs

Типа - все процессы однопоточные, но вы можете запустить их сколько угодно - всё - вопрос закрыт.
   Asmody
 
158 - 22.08.16 - 23:40
(154) Go умеет "из коробки". Правда, там "потоки" немного свои.
   Torquader
 
159 - 22.08.16 - 23:41
(155) Это как бы основной вариант. Однопоточный можно рассматривать только для управления всякими недоустройствами через Web-интерфейс.
   Serginio1
 
160 - 22.08.16 - 23:43
(150) Сразу видно мои ветки не читаешь
1С,Linux,Excel,Word,OpenXML,Net Core
 
 
   Torquader
 
161 - 22.08.16 - 23:46
(158) Я тут пытался на php с приблудами Web-сервер написать, проблема возникла в том, что идентификатор Socket-а между php-потоками не передавался - в итоге - пришлось всю сеть в одном потоке оставить.
   Jija Grenkov
 
162 - 22.08.16 - 23:49
(139) Dot нет - я не считаю достойным внимания и тем болдее пхп, но уверен, что все под него есть. Могу нагуглить под пайтон и джаву по несколько вариантов. Или вы всерьез считаете, что такие элементарные вещи не реализованы для столь популярнных языков? Да и вообще не понятно, че так забомбило, вы же сами описали задачу которая на 200-300 строк в стиле дата рид дата баинд.
(140) отлично понимаю, что говорю
   Jija Grenkov
 
163 - 22.08.16 - 23:54
У ноды все ок с многопоточностью. Может конечно потоки "зеленые" но это нынчке норм подход. Принцип поток на коннект проигрывает принципу n-потоков разгребают запросы из очереди.
   Asmody
 
164 - 22.08.16 - 23:54
(159) Специально полез сейчас на мисту проверить. И nginx, и apache работают по схеме "главный процесс + пачка дочерних процессов", и все они "однопоточные".
   Serginio1
 
165 - 22.08.16 - 23:57
   Torquader
 
166 - 22.08.16 - 23:57
(164) Дочерние процессы и есть потоки.
Собственно, в Linux мы вызываем fork для создания копии процесса.
   Asmody
 
167 - 22.08.16 - 23:58
Вот ответ Сысоева по nginx https://toster.ru/q/11194
   Jija Grenkov
 
168 - 22.08.16 - 23:59
(164) на сколько я знаю nginx и http apach работают по разному. У апача выделяется поток на запрос, а в запросы разребаются из очереди
   Torquader
 
169 - 22.08.16 - 23:59
И ещё не забываем, что в современных системах можно выстроить очередь процессов на получение подключения в определённый Socket - очень удобная вещь.
   Asmody
 
170 - 23.08.16 - 00:00
(166) Скажи, что ты это невсерьез сказал, ну или, там, кошка по клавиатуре пробежала.
   Jija Grenkov
 
171 - 23.08.16 - 00:02
(168) я это и подразумевал, что "шустрые" http сервера работают по принципу как в nginx (нода тоже по такому принципу работает)
   Jija Grenkov
 
172 - 23.08.16 - 00:06
К стати в GO, которому последнее время много внимания, тоже потоки "зеленые", то есть уже при выполнении решается как поток в коде будет соответствовать потоку в ОС
   Torquader
 
173 - 23.08.16 - 00:13
(170) Просто, если делать проекцию памяти между процессами, то получается, что особых отличий потока от процесса нет.
То, что они пишут - общее выделение памяти - у системы память одна, и если кто-то постоянно её берёт и отдаёт - будут тормоза.

А ссылки на то, что в 32-битах на все потоки всего 4 Гб (на самом деле даже 2) - это и так понятно.
   Asmody
 
174 - 23.08.16 - 00:16
(172) Не, ну а как, если твой код выполняется "в обертке" ВМ?
   Asmody
 
175 - 23.08.16 - 00:19
Апач тоже "однопоточный"
https://yadi.sk/i/b2EPNd3BuQV2G
   Jija Grenkov
 
176 - 23.08.16 - 00:19
(174) На пример как в джаве. Где 1 поток в коде соответствует(будет соотвествовать при выполнении) потоку в ОС. Изначально зеленые потоки появились в эрланге, так как просто не хватило бы памяти на содержание "тяжелых" потоков ОС
   Torquader
 
177 - 23.08.16 - 00:19
(174) Ну как была Windows 3.11 как бы многозадачная, но поток выполнения всех приложений был один.
   Torquader
 
178 - 23.08.16 - 00:21
(175) Классический Web-сервер не обменивается данными между разными сеансами запросов, поэтому, наличие общей памяти и средств быстрого обмена ему не важно - а зачем ещё нужны потоки в одном адресном пространстве.
Просто, есть задачи, когда нужно эффективно и быстро передавать данные между потоками - если заместо них будут процессы, эффективность теряется.
   Asmody
 
179 - 23.08.16 - 00:22
(177) Не-не-не! ВМ вполне сама по себе может быть многопоточной.
   Jija Grenkov
 
180 - 23.08.16 - 00:23
(175) не особо уловил доказательства. Если правильно помню назначение колонок, то мы видимо 1 процесс и много thread
   Torquader
 
181 - 23.08.16 - 00:25
Просто в статье (167) народ пишет, что выделение памяти при множестве потоков может вызвать сильные тормоза, но, если заставить выделять память только один поток (менеджер памяти), то никаких тормозов и не будет.
Если кто-то не умеет писать многопоточные приложения, то его и многопроцессные не спасут.
   Asmody
 
182 - 23.08.16 - 00:32
(180) 2я колонка PID, 6я колонка NLWP
пиды разные, количество тредов - 1.

Вот, для сравнения, memcached https://yadi.sk/i/cjYHrsOkuQVVG
   Jija Grenkov
 
183 - 23.08.16 - 00:33
(181) кто его знает что будет происходить на пиковых нагрузках. Я думаю сейчас самая актуальная причина почему некоторые продукты предпочитают многопроцессность -- это изоляция. Все мы знаем chrome.
И Многопроцессыне приложения становятся ближе уже к многонодовым
   Torquader
 
184 - 23.08.16 - 00:34
Конечно, статья старая как г. мамонта, http://citforum.ru/programming/unix/threads/
   Torquader
 
185 - 23.08.16 - 00:37
(183) Программировать проще, да и не стоит забывать, что есть куча библиотек, которые не готовились для многопоточного исполнения.
   Jija Grenkov
 
186 - 23.08.16 - 00:41
(182) я всегда считал что апач сервер создает много потоков. Но никогда не работал с ним.
(185) если нужна синхронизация, то врядли проще. Так как нужно свои механизмы придумывать.
   Torquader
 
187 - 23.08.16 - 00:46
(186) Вообще, про новую модель потоков в Linux написано, что они на самом деле процессы, только просто разделяют одно и то же адресное пространство, и что, например, можно сделать так, что они не будут разделять дескрипторы файлов. Там даже такой термин предложен "thread groups".

Также сказано, что отладка многопоточного приложения - это очень серьёзная проблема.
   Torquader
 
188 - 23.08.16 - 00:52
И ещё с учётом того, что есть две модели pthreads и kthread получается, что проще вообще о ней не думать.
http://stackoverflow.com/questions/27581747/pthread-vs-kthread-in-linux-kernel-v2-6
   Zamestas
 
189 - 23.08.16 - 00:54
(96) +1 Мысль переписать ТИС под УФ посещать стала все чаще.

1. Нафик не нужно
   Torquader
 
190 - 23.08.16 - 01:06
(186) Иногда хочется блок данных (блок байт) без проблем передать от одного исполнителя другому.

P.S. в Windows, например, есть WM_COPYDATA причём из одного процесса в другой, но как раз в Windows почему-то все используют потоки.
В Linux такого копирования нет, то есть объект SharedMemory, через который можно передавать данные между процессами - если она действительно работает, как написано, через общий сегмент памяти, то тогда интерес к потокам резко снижается.
   Zamestas
 
191 - 23.08.16 - 01:34
(190) Дык в Windows потоки и выполняются.
   Kupogun
 
192 - 23.08.16 - 09:08
>>Монстра СКД можно не делать вовсе - использовать имеющие в мире JS инструменты для тех же задач.

О каких конкретно инструментах говорит чувак в (60)?
   polosov
 
193 - 23.08.16 - 09:15
   Serginio1
 
194 - 23.08.16 - 09:49
(172) Asp.Net используют задачи. То есть состояние хранится в объекте, а не в потоке. Применяется асинхронное программирование. То есть на await метод завершается и поток передается в пул, а продолжается после завершения вызываемой задачи.
Вместо методы синхронизации заменяются асинхронными методами
https://msdn.microsoft.com/en-us/library/microsoft.visualstudio.threading.aspx

3. Нужно, зачем не знаю
   Serginio1
 
195 - 23.08.16 - 10:13
194+ В асинхронном программировании все основано на событии и разбиении метода на участки которые выполняются по сигналу выполнения задачи используя конечный автомат.
Задача повисшая на локе await завершает свою работу в потоке и продолжит работу когда задача на await завершится. За этим следит планировщик.
У тебя будет куча задач висящих на await , но количество используемых потоков будет равно реально работающим.

Работа задач это облегченные fiber. Еще в энумераторах через yield MS пошла на сохранение состояние и продолжение по вызову.
Async await аналогично yield, только MoveNext() возникает по окончании задачи ждущей на await


?https://msdn.microsoft.com/en-us/library/microsoft.visualstudio.threading.asyncautoresetevent.aspx
?https://blogs.msdn.microsoft.com/pfxteam/2012/02/11/building-async-coordination-primitives-part-2-asyncautoresetevent/
?https://github.com/StephenCleary/AsyncEx/wiki/AsyncAutoResetEvent

?https://github.com/StephenCleary/AsyncEx
   bura_limon
 
196 - 23.08.16 - 10:57
(0)
а)1С уже сделал Мобильную платформу которая собирает apk средствами java
б) 1C:Enterprise Development Tools,где гидриб eclipse+1с

1. Нафик не нужно
   qwerty
 
197 - 23.08.16 - 11:02
(196)  - ERR_CONNECTION_REFUSED

http://1c-dn.com/developer_tools/

1С - все?
   qwerty
 
198 - 23.08.16 - 11:07
Скорая замена Java на 1С отменяется во всем мире?
   Garykom
 
199 - 23.08.16 - 11:33
(198) Зачем отменять java?

1С просто наваяет нечто которое будет конфы сделанные в конфигураторе 1С транслировать в java код со своим фреймворком.

И будет дальше продавать конфигуратор и фреймворк под java...
   Garykom
 
200 - 23.08.16 - 11:42
(196) Не все так радужно:
1. "собирает apk средствами java"
по факту засовывает в архив с подписью и манифестом либы и xml

2. "гидриб eclipse+1с"
Конфигуратор только на другой платформе, смысла от этого мало, не движок же
  1  2  3   

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.