|
.Net Core, обмен с 1C по TCP/IP между различными устройствами | ☑ | ||
---|---|---|---|---|
0
Serginio1
28.09.16
✎
12:10
|
Выложил статьи
http://catalog.mista.ru/public/551698/ https://habrahabr.ru/post/311128/ Примеры можно скачать здесь https://yadi.sk/d/jRSHEA19svgrn Решил написать кроссплатформенное решение из своего опыта 8 летней давности для обмена данными по TCP/IP между ТСД на Win CE и 1С еще 7-ки. Конечно, с 1С можно обмениваться через Web и HTTP-сервисы, но есть задачи, где нужно взаимодействие с оператором для выбора данных, брать данные, подготовленные на клиенте, печать на мобильный принтер. Основные проблемы связаны с сетями с плохим соединением на складах. Поэтому, нужно было уменьшить трафик за счет сжатия данных. Так, при работе в терминальных сессиях были проблемы с проброской портов в медленных сетях — Тормозит печать чека на фискальный регистратор через RDP. Также были проблемы при считывании двумерного штрихкода. Медленная печать с терминального сервера. Для решения этих проблем на машине клиента устанавливалась локальная 1С, которая работала как клиент и сервер. Данные со сканеров отправлялись на терминальный сервер и там обрабатывались. Для печати на фискальный регистратор отправлялись данные с сервера по TCP/IP, и с локальной 1С печатался чек. При печати этикеток с сервера оправлялись данные, на основании которых на локальной 1С формировался документ и отправлялся на печать. Кроме того, под многое оборудование для Linux нет драйверов. Можно, используя виртуализацию, держать Linux и Windows на одной машине, на Windows считывать данные и обмениваться с Linux по TCP/IP. Сейчас много у кого есть ТСД под WinCe, WinMo (недавно предлагали работу по настройке обмена на них). Кроме того, можно использовать ТСД на других осях, используя UWP и Xamarin. Кроме того, можно обмениваться сообщениями между клиентами 1С, наподобие чата. В большом .Net я часто использую обмен по TCp/IP http://catalog.mista.ru/public/238584/ http://catalog.mista.ru/public/525806/ |
|||
1
Кирпич
28.09.16
✎
12:31
|
(0) Где про .Net Core можно хорошо почитать?
|
|||
2
Garykom
гуру
28.09.16
✎
12:35
|
||||
3
Garykom
гуру
28.09.16
✎
12:36
|
(2)+ Сорри https://github.com/dotnet/core
|
|||
4
Кирпич
28.09.16
✎
12:38
|
(2) это я и сам видел
|
|||
5
Garykom
гуру
28.09.16
✎
12:39
|
(4) Уточни что не видел, т.е. про что и на каком уровне хочешь почитать?
|
|||
6
Serginio1
28.09.16
✎
12:42
|
(2) А мало где. Сам выкорчевываю информацию.
Вот из недавнего https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/ |
|||
7
Кирпич
28.09.16
✎
12:42
|
(5) да любое, больше hello world
|
|||
8
Кирпич
28.09.16
✎
12:44
|
хотя ну её нафиг. подожду версию 4.0 с нормальной документацией
|
|||
9
Garykom
гуру
28.09.16
✎
12:44
|
||||
10
Garykom
гуру
28.09.16
✎
12:45
|
(8) Правильно, лучше подождать, но планировать надо в будущем будет знатный холивар .NetCore vs NodeJS
|
|||
11
Serginio1
28.09.16
✎
12:46
|
Там суть такая, что они раскидали классы по разным библиотекам. Приложение может идти только с необходимыми библиотеками при компиляции через
dotnet publish -c release -r win10-x64 (8) Основное это кроссплатформенность. Для только Windows нет смысла. |
|||
12
Garykom
гуру
28.09.16
✎
12:46
|
||||
13
Кирпич
28.09.16
✎
12:47
|
(10) да NodeJS уже сейчас в подметки .NetCore не годится. какой нафиг холивар
|
|||
14
Serginio1
28.09.16
✎
12:48
|
(10) .Net Core это больше чем NodeJS.
Прежде всего это .Net Native |
|||
15
Serginio1
28.09.16
✎
12:50
|
(8) Подожди хотя бы до выхода новой студии. Там будут нормальные инструменты. Пока все превью
|
|||
16
Кирпич
28.09.16
✎
12:50
|
+(13) я имею ввиду саму идею
|
|||
17
Garykom
гуру
28.09.16
✎
12:51
|
(13) (16) Холивар в стиле Java vs C# ))
|
|||
18
Serginio1
28.09.16
✎
12:51
|
Которая выйдет с .Net Core 2.0, NetStandard 2.0
|
|||
19
eklmn
гуру
28.09.16
✎
12:54
|
ну вот, разбудили демона произнести TCP/IP и он тут как тут с темой ))
|
|||
20
Кирпич
28.09.16
✎
12:55
|
(18) короче понятно. строчим дальше на паскалях с питонами и поглядываем на Net Core
|
|||
21
Serginio1
28.09.16
✎
13:00
|
(20) Ну можешь посматривать мои статьи. Я стараюсь искать новые вещи. Посмотри в сторону Xamarin. Там сейчас идет движение в сторону .Net Core.
Кстати статья из последних https://habrahabr.ru/company/microsoft/blog/310704/ |
|||
22
Кирпич
28.09.16
✎
13:02
|
(21) да твои статьи меня пугают как то. я уж лучше подожду книжки и когда понапишут кучу кроссплатформенных библиотек для этой кори.
|
|||
23
Кирпич
28.09.16
✎
13:03
|
а Xаmarin вроде платная
|
|||
24
Garykom
гуру
28.09.16
✎
13:04
|
(23) MS же купил и сделал бесплатной включив в свою студию - попытка вскочить на уходящий мобильный поезд
|
|||
25
Serginio1
28.09.16
✎
13:06
|
(23) Нет она в составе студии уже давно идет. Они же её купили.
Вот кстати статья про применение конфигурационных файлов в .Net Core https://blogs.msdn.microsoft.com/dotnet/2016/09/21/reusing-configuration-files-in-asp-net-core/ |
|||
26
Кирпич
28.09.16
✎
13:06
|
(24) надо посмотреть чо за хрень. правда студия тоже нифига не бесплатная
|
|||
27
Garykom
гуру
28.09.16
✎
13:09
|
(26) Эээ студия уже давно есть бесплатная
|
|||
28
Garykom
гуру
28.09.16
✎
13:10
|
||||
29
Serginio1
28.09.16
✎
13:10
|
(26) Есть и бесплатный вариант. https://www.microsoft.com/ru-ru/download/details.aspx?id=48146
Есть ктати превью 4 https://habrahabr.ru/post/311112/ |
|||
30
Serginio1
28.09.16
✎
13:11
|
(26) Ну есть же торренты
|
|||
31
Кирпич
28.09.16
✎
13:12
|
(28) да у меня такая стоит. я думал что это для ковыряния бесплатно, а на продажу небесплатно.
|
|||
32
Serginio1
28.09.16
✎
13:13
|
(31) Если будешь продавать приложения, то придется купить.
|
|||
33
Serginio1
28.09.16
✎
13:14
|
Если для собственного использования то нет
|
|||
34
Кирпич
28.09.16
✎
13:15
|
(33) на работе нельзя получается
|
|||
35
Кирпич
28.09.16
✎
13:16
|
хотя пофигу конечно :) всё равно оно у меня для баловства только
|
|||
36
Serginio1
28.09.16
✎
13:18
|
(34) Если для конторы то тоже можно.
|
|||
37
Oftan_Idy
28.09.16
✎
13:18
|
(30) теперь чекисты весь трафик сохраняют
|
|||
38
Serginio1
28.09.16
✎
13:19
|
Любой индивидуальный разработчик может создавать бесплатные или платные приложения с помощью Visual Studio Community.
|
|||
39
Serginio1
28.09.16
✎
13:20
|
Visual Studio Community может использовать неограниченное число пользователей в организации в следующих случаях: в учебных аудиториях, для научных исследований или участия в проектах с открытым кодом.
Для всех прочих сценариев использования:В некорпоративных организациях Visual Studio Community могут использовать до 5 пользователей.В корпоративных организациях (в которых используется более 250 ПК или годовой доход которых превышает 1 млн долларов США) использование запрещено, за исключением случаев, перечисленных выше (открытый код, научные исследования и учебные аудитории). |
|||
40
Кирпич
28.09.16
✎
13:20
|
(36) вот же ж хитрые капиталисты
|
|||
41
Garykom
гуру
28.09.16
✎
15:17
|
(40) Нет просто снова попытка вскочить на поезд ибо https://www.google.com/trends/explore?date=all&q=.net
Сравни к примеру с https://www.google.com/trends/explore?date=all&q=nodejs |
|||
42
Кирпич
28.09.16
✎
16:22
|
(41) Чо их сравнивать. Это несравнимые вещи. Node.js это баловство типа питона, а на .NET можно реальные приложения разрабатывать.
|
|||
43
Garykom
гуру
28.09.16
✎
16:24
|
(42) Пример покажи? Реального приложения с его популярностью.
|
|||
44
Кирпич
28.09.16
✎
16:26
|
(43) ну например paint.net
а это тебе правильный график, где твой node.js в заднице https://www.google.com/trends/explore?date=all&q=C%23,node.js |
|||
45
eklmn
гуру
28.09.16
✎
16:28
|
(42) Node.js баловство? )) ну эт вы батенька лукавите
|
|||
46
Кирпич
28.09.16
✎
16:29
|
(45) Node.js офигительная штука, но баловство
|
|||
47
Torquader
28.09.16
✎
16:34
|
Только вот на том же ТСД .NET уже тупит, а про Javascript я вообще помолчу - и только старый добрый Си позволяет что-то из него выжать.
А новые ТСД все вообще на Андройде - там только Java и остаётся. Кроссплатформенность хороша, когда у вас один и тот же процессор, просто вы не решили Windows или Linux на него поставить - в остальных местах уже будет неоправданное хождение по граблям. |
|||
48
Garykom
гуру
28.09.16
✎
16:40
|
(44) сравнивать язык с фреймворком/технологией?
Может C# правильнее с JS сравнивать? |
|||
49
Кирпич
28.09.16
✎
16:42
|
(48) "Может C# правильнее с JS сравнивать?" неправильно. JS это вообще отдельная тема
|
|||
50
Garykom
гуру
28.09.16
✎
16:44
|
(49) В чем разница? Между C# + ASP.NET vs JS + NodeJS ?
|
|||
51
Кирпич
28.09.16
✎
16:48
|
(50) да нафиг их сравнивать. ну наверное NodeJS будет тормознутее.
|
|||
52
Garykom
гуру
28.09.16
✎
16:48
|
(44) paint.net хорошая штука, но к сожалению ее сложновато засунуть на сайт как http://leimi.github.io/drawingboard.js/
|
|||
53
Кирпич
28.09.16
✎
16:48
|
а может и наоборот :)
|
|||
54
Кирпич
28.09.16
✎
16:50
|
(52) а нафиг его на сайт. есть дебилы которые в браузерах графику рисуют?
|
|||
55
Garykom
гуру
28.09.16
✎
16:54
|
(54) Ну есть же такие которые там в игрушки играют или учет ведут ))
|
|||
56
Garykom
гуру
28.09.16
✎
16:55
|
(55)+ Или даже мечтают там программировать, блин хочу веб-конфигуратор для 1С для фреша...
|
|||
57
Garykom
гуру
28.09.16
✎
16:56
|
(56)+ Причем для своего фреша, который могу поднять на своем сервере и через браузер конфигурировать.
|
|||
58
Кирпич
28.09.16
✎
16:57
|
(57) RDP клиенты вроде есть для браузеров
|
|||
59
Serginio1
28.09.16
✎
16:58
|
(50) .Net Core это не только C# + ASP.NET.
Это Xamarin, .Net Native, UWP http://metanit.com/sharp/uwp/1.1.php |
|||
60
trdm
28.09.16
✎
16:59
|
(29) > Есть и бесплатный вариант. https://www.microsoft.com/ru-ru/download/details.aspx?id=48146
системные требования какие? |
|||
61
Кирпич
28.09.16
✎
17:01
|
(60) тыщ в 40 должен уложиться
|
|||
62
trdm
28.09.16
✎
17:03
|
ось какая должна быть в смысле и ОЗУ.
|
|||
63
Garykom
гуру
28.09.16
✎
17:05
|
(58) RDP это не то ((
|
|||
64
Serginio1
28.09.16
✎
17:06
|
Есть еще кроссплатформенный Visual Studio Code – редактор кода для Linux, OS X и Windows
https://habrahabr.ru/company/microsoft/blog/262523/ |
|||
65
trdm
28.09.16
✎
17:06
|
нравится мне фразы типа "$ 25 кредитной в месяц в течение 12 месяцев".
сосуны.. |
|||
66
sh8ce
28.09.16
✎
17:06
|
(63) Тебе чисто из эстетических соображений7 )))
|
|||
67
Garykom
гуру
28.09.16
✎
17:06
|
(60) Как для винды такие же минимальные.
|
|||
68
Кирпич
28.09.16
✎
17:07
|
(60) там по ссылке всё написано. умножай на 10 и работай
|
|||
69
sh8ce
28.09.16
✎
17:07
|
(58) правда все эти клиенты написаны на богомерзком флеше или чем то подобном
|
|||
70
Garykom
гуру
28.09.16
✎
17:07
|
(64) Visual Studio Code - это редкостная хрень типа блокнота и даже до уровня Notepad++ и тем более NetBeans не дотягивает
|
|||
71
Кирпич
28.09.16
✎
17:08
|
(69) ну так они и нафиг не нужны(так же как и конфигураторы в браузере). потому и пофиг на чем написаны.
|
|||
72
Garykom
гуру
28.09.16
✎
17:09
|
(70)+ Но есть плюс у нее что кучу левого хлама не ставит как полная VS загаживает всю "Установка и удаление программ"
|
|||
73
Кирпич
28.09.16
✎
17:09
|
(70) согласен
|
|||
74
Serginio1
28.09.16
✎
17:10
|
(60) https://www.visualstudio.com/ru-ru/productinfo/vs2015-sysrequirements-vs
Visual Studio Community 2015 с обновлением 3 Требования к оборудованию •Процессор с тактовой частотой 1,6 ГГц или большей •1 ГБ ОЗУ (1,5 ГБ при выполнении в виртуальной машине) •4 ГБ доступного пространства на жестком диске. Жесткий диск 5400 об/мин •Видеоадаптер с поддержкой DirectX 9 (разрешение 1024 x 768 или выше) |
|||
75
trdm
28.09.16
✎
17:10
|
Paint.NET имеет ряд преимуществ, отличающих его от конкурентов:
1 программа бесплатна для распространения и использования; 2 оптимизирован для работы с двуядерными и четырехядерными процессорами; 3 имеет удобный интерфейс, похожий на Photoshop; 4 позволяет работать с несколькими документами одновременно; 5 поддерживает работу со слоями; 6 прост в использовании. типа ни у кого из редакторов нет ни одного пункта из 6-ти. шиздюки. гетзефакт сумасшествие... |
|||
76
Кирпич
28.09.16
✎
17:11
|
(74) у меня на i5 с 8 гигами памяти тормозит
|
|||
77
Serginio1
28.09.16
✎
17:13
|
74+ Для использования .Net Core лучше использовать 10 ку
(76) .Net? C++ тормозит. С 4 гигами несколько студий тормозят. Одна нормально. Видно у тебя какие то громоздкие проекты |
|||
78
Кирпич
28.09.16
✎
17:13
|
(75) ну они не с фотошопом конкурируют, а с простыми редакторами
|
|||
79
trdm
28.09.16
✎
17:15
|
+(75) ну и как этим овном пользоваться, если они привирают уже на главной странице.
Я вот взял обыкновенный фришный паинт-браш и рихтую его под себя: https://github.com/trdm/EasyPaint Стрелки научил рисовать к приммеру. А то парит в пеинте карандашом махать. Редактор не хуже паинтнета с многодокументным интерфейсом. |
|||
80
Кирпич
28.09.16
✎
17:16
|
(77) да это я пробовал сегодня всякие xamarinы запускать :)
|
|||
81
Кирпич
28.09.16
✎
17:17
|
(79) а мне нравится. там еще плагины можно всякие устанавливать
|
|||
82
Кирпич
28.09.16
✎
17:18
|
(79) а слои там есть? на вид уёище
|
|||
83
sh8ce
28.09.16
✎
17:18
|
(82) Тут цель писать код, а не рисовать )))
|
|||
84
Кирпич
28.09.16
✎
17:21
|
(83) мышкой писать? это к Garykom. Он любит такие извращения. Особенно если оно будет на адруине и в браузере. и чтобы нода была непременно
|
|||
85
trdm
28.09.16
✎
17:21
|
(82) > на вид уёище
Да, есть такое, но дело свое делает. |
|||
86
trdm
28.09.16
✎
17:22
|
+ Слоев нет, но можно прифигачить.
|
|||
87
Garykom
гуру
28.09.16
✎
17:22
|
(54) Кста подумалось что мне в сервисах скриншотов типа http://pastenow.ru/ сильно не хватает встроенного редактора графического простейшего.
Чтобы банально кружочек или стрелочку, спасибо (79), нарисовать )) |
|||
88
Garykom
гуру
28.09.16
✎
17:23
|
(87)+ И что самое классное оказывается оно там уже давно есть, просто кнопку "Редактировать скриншот" не замечал до этого ;)
|
|||
89
Кирпич
28.09.16
✎
17:25
|
(88) всё таки от мисты есть польза. ляля ляля и бац! что то полезное узнаешь
|
|||
90
Serginio1
28.09.16
✎
17:27
|
(80) Хамарины там проблема с виртуальными машинами для эмуляции КПК. На старом Xamarin это было, что то. Кстати нужно заняться Xamarin
|
|||
91
Кирпич
28.09.16
✎
17:29
|
(90) сегодня пробовал.
создал проект. не скомпилировалось и выдало кучу ошибок. плюнул. стёр. |
|||
92
trdm
28.09.16
✎
17:34
|
(87) > Чтобы банально кружочек или стрелочку, спасибо (79), нарисовать ))
Ага, на здоровье. https://github.com/trdm/EasyPaint/tree/master/bin Бинарь выложил. Мне Qt нравится тем, что надо чего - полез поправил и работаешь. К примеру парило то, что строго вертикальные/горизонтальные линии слозно рисовать. Полез поправил - при зажатом шифте/сонтроле/альте стрелки и линии рисуются строго как надо. Мну довольный :))) Правде стрелку пол дня рисовал. Забыл начисто тригонометрию О_о. |
|||
93
Кирпич
28.09.16
✎
17:37
|
(92) а в paint.net стрелки сами рисуются. нужно только выбрать какую хочешь. так что уёище твой редактор.
|
|||
94
Serginio1
28.09.16
✎
17:43
|
(91) С не прывычки всегда так. Много нюансов
|
|||
95
trdm
28.09.16
✎
17:44
|
(93) Он не мой.
Это во первых. А во вторых его наворотить нет проблем. |
|||
96
Кирпич
28.09.16
✎
17:45
|
(95) зачем воротить, если всё давно наворочено
http://pastenow.ru/112E2 |
|||
97
Кирпич
28.09.16
✎
17:49
|
+(96) плюс еще штук 500 плагинов на любой случай
|
|||
98
Кирпич
28.09.16
✎
17:52
|
Garykom, там на скриншоте в (96) внизу слева значок с ключиком. это дверь в кабинете открывать :) как у тебя типа.
|
|||
99
Garykom
гуру
28.09.16
✎
18:01
|
(98) Эээ у меня закладка в браузере с видео
|
|||
100
Garykom
гуру
28.09.16
✎
18:03
|
(99)+ Главное очень удобно с телефона снаружи открывать, когда ключи забыл ))
|
|||
101
Garykom
гуру
28.09.16
✎
18:05
|
(100)+ Сча вот хочу сделать чтобы в телеграм звонок в дверь поступал с фото/видео что за дверью и там кнопка/клавиатура сразу открыть телеграмовская
|
|||
102
Loky9
28.09.16
✎
18:12
|
Между прочим, Гимп легко скриптуется.
|
|||
103
Loky9
28.09.16
✎
18:15
|
(55) Сугубо от безысходности.
|
|||
104
trdm
28.09.16
✎
18:18
|
(96) > зачем воротить, если всё давно наворочено
Я принципиальный противник пиндосского и завязаного на пиндоских технологиях ПО. Опенсурс, не использующий высеры мелкософта рулит. |
|||
105
Кирпич
28.09.16
✎
18:54
|
Недавно права менял. Ходил к психиатру за справкой. Долго сидел в очереди вместе с дураками. В больнице был wi-fi.
|
|||
106
Garykom
гуру
28.09.16
✎
18:57
|
(105) А поподробнее?
|
|||
107
Кирпич
28.09.16
✎
18:59
|
(101)телеграм тема интересная. Я делал бота для саморазвития. Он мне картинку с вебкамеры посылает. Можно всякие такие хотелки для 1с делать.
|
|||
108
Loky9
28.09.16
✎
19:11
|
(106) Какой-то док припёр вайфай а тут понабежали поциенты.
|
|||
109
Serginio1
28.09.16
✎
20:49
|
(108) Главное в тему! Обмен по TCP/IP используя Wi-Fi в медленных сетях с дураками.
|
|||
110
Loky9
28.09.16
✎
20:58
|
(109) Мне кажется, тема с TCP/IP твою идею не вытянет.
|
|||
111
Torquader
28.09.16
✎
23:00
|
(110) Просто TCP в общем виде - это писать свой протокол или брать готовый типа ModBus-овских расширений.
Опять же - работа в режиме "точка-сеть" требует UDP и достаточно внимательной работы на низком уровне, так как не все роутеры эти пакеты правильно доставляют. А в режиме "точка-точка" всё уже реализовано - берётся любой аналог telnet и всё. |
|||
112
Serginio1
28.09.16
✎
23:08
|
(110) Моя идея расширение возможностей 1С от кроссплатформенного использования .Net Core, зависит и от TCP/IP и еще сотни тысяч классов. Используй какой хочешь.
Просто по Tcp/IP удобно общаться как с ТСД, терминальными серверами по VPN, между клиентами итд. Это просто пример из моего опыта. Кому нужно тот использует. В том числе для изучения .Net Core. Я давно понял, что в большинстве это расширение не нужно . Кто что хочет от 1С В том числе и самой 1С. Да мне это непонятно, но такова жизнь. Значит я глуп. Но вот бросать помирать своё детище я не могу. Поэтому пока ещё цепляюсь. |
|||
113
Loky9
28.09.16
✎
23:22
|
(112) "— Что же из этого следует?— Следует жить,
шить сарафаны и легкие платья из ситца. — Вы полагаете, все это будет носиться? — Я полагаю,что все это следует шить." Бог помощь, как говорится, но удерживаться от выражения своего отношения к .NET Яве и "веб-технологиям" я особо не буду. |
|||
114
Serginio1
28.09.16
✎
23:34
|
У нас никто никого не удерживает. Все технологии прекрасно живут и совершенствуются. Но если ты не хочешь их использовать, то ты просто обедняешь самого себя. Только и всего. А технологиям наплевать на чьё то мнение, они развиваются. Это эволюция. Иначе развития не будет. А вот 1С развивается не особо быстрыми темпами.
|
|||
115
trdm
29.09.16
✎
07:50
|
(112) Это слишком низкоуровнево для 1С-ников. Не для всех, но для большинства.
|
|||
116
Loky9
29.09.16
✎
07:58
|
(114) Эти технологии уже давно стыли бы историей, а то и вообще не появились бы без благословлённых маркетолухами финвливаний.
|
|||
117
Mauser
29.09.16
✎
08:00
|
(114)
>Но если ты не хочешь их использовать, > то ты просто обедняешь самого себя У тебя во многих статьях и комиентарияз прослеживается один и тот же "полемический" прием. Нейтрально-положительная вода, потом твое утверждение, зачастую взятое с потолка, и снова нейтрально-положительная вода. Ты осознано это делаешь, чтобы задать тон, или это образ мышления такой? Эдакий "бутерброд Гитлера" наизнанку. |
|||
118
Serginio1
29.09.16
✎
10:05
|
(115) Это ничем не низкоуровнее COMОбъект или ОбъектXDTO
Пробдема только в поддержке 1С (116) Дело в том, что эти технологии упрощают программирование сложных задач. Только и всего. (117) Ты сам то понял, что написал? |
|||
119
Кирпич
29.09.16
✎
10:19
|
(115) Это не низкоуровнево. Это просто не нужно, а если нужно, то очень редко и может решаться любым другим способом.
|
|||
120
Serginio1
29.09.16
✎
10:26
|
(119) И чем это отличается от COMОбъект или ОбъектXDTO?
При этом у этих объектов есть ограничения на типы используемых объектов. У моей обертки этих ограничений нет. Ты пишешь не Com совместимый класс, а обычный класс. Но можно ничего своего и не писать, так как уже есть куча библиотек. |
|||
121
Кирпич
29.09.16
✎
10:26
|
+(119) т.е. теоретически может появиться ещё какой нибудь красноглазик, который начнет накидывать на мисту про "технологию" на Python или Java или ещё какую нибудь хрень.
|
|||
122
Serginio1
29.09.16
✎
10:28
|
(121) А какая разница? Есть задача используй классы Python или Java. Ты же на COM можешь использовать объект написанный на любом языке, платформе
|
|||
123
Кирпич
29.09.16
✎
10:38
|
(122) "Есть задача используй классы Python или Java" так все же пользуются молча и не имеют проблем. Ты же зачем то загадил мисту своими ветками. Засоряешь мозги юным дарованиям и раздражаешь прочих. Если ты таким образом себя рекламируешь, подбирая клиентов среди тупых и безруких, то я понимаю. А если ты реально хочешь, чтобы твои обертки с кракозяблами широко использовались одинесниками, то я кручу тебе пальцем у виска.
|
|||
124
Serginio1
29.09.16
✎
10:54
|
(123) Они используются наравне с кракозяблами с ComОбъект и ОбъектXDTO. Просто ты об этом не знаешь.
Опять же если тебе это не нужно, то не читай. Я никого не заставляю засорять мозги. Читай про другое. |
|||
125
oleg_km
29.09.16
✎
10:54
|
(119) Да вот во многих случаях нафик не нужны "любым другим способом.". Всего лишь один раз прикручиваешь эту обертку к 1С и уже больше не волнуют поиски этих других способов. Просто берешь и программируешь, а не зависаешь сутками на ИС в поисках "любым другим способом."
|
|||
126
Serginio1
29.09.16
✎
11:02
|
(125) Проблема то на самом деле только в одном. Нет поддержки со стороны 1С. А так бы все пользовались наравне ComОбъект и ОбъектXDTO.
И Кирпич это несколько раз поддерживал. Просто брать непонятно чью разработку и использовать её немногие решаются. Но 1С это не нужно, как и кроссплатформенная замена COM. Почему? Не знаю? Может у них нет специалистов по .Net? |
|||
127
Кирпич
29.09.16
✎
11:03
|
(125) "Просто берешь и программируешь" мягко сказано. Сначала просто берешь и программируешь на C# и отлаживаешь. Потом все это переписываешь на русскосишарпскую лабуду в 1С. Ну очень просто.
|
|||
128
Кирпич
29.09.16
✎
11:10
|
(126) "Может у них нет специалистов по .Net?" :)))
специалистов .Net как собак нерезаных. "Нет поддержки со стороны 1С". Так и не будет. Просто чтобы было красиво как с COM, нужно чтобы либо в 1C использовались типы .NET, либо в .NET все было на динамической типизации. И того и другого не будет. |
|||
129
Serginio1
29.09.16
✎
11:12
|
(127) Необязательно. Ты COM компонент так же используешь.
Можешь написать под себя, можешь использовть динамическую компиляция, а можешь использовать готовые компоненты. Например для парсига сайта http://catalog.mista.ru/public/466196/ Выбирай свой путь. (128) Еще раз использвание классов .Net не сложнее использования COM и Вэб сервисов. Те же типы (классы), пространства имен, методы. Если ты этого не видишь, то .... |
|||
130
Кирпич
29.09.16
✎
11:17
|
(129) динамическая компиляция решает все проблемы. ВК, которая может выполнить код C# у меня была еще года три назад. остальные твои фантики глупое насилие над собственными пальцами.
|
|||
131
Serginio1
29.09.16
✎
11:23
|
(130) CodeDom был давно, а вот Roslyn недавно. Кроме того твоя компонента не кроссплатформенна в отличие от моей.
Еще раз я предлагаю кроссплатформенную замену COM. Ты говоришь, что это не нужно. Я в недоумении. Опять же твоя ВК может работать с простыми типами. В моей Com обертке я могу динамически компилировать и использовать любые типы, в том числе и объеты 1С. Например |
|||
132
Serginio1
29.09.16
✎
11:25
|
str = "public class ВычислительAngleSharp
|{ |public static void ЗаполнитьТз(dynamic ТЗ) | { | | | var config = Configuration.Default.WithDefaultLoader(); | // Устанавливаем адрес страницы сайта | var address = ""https://en.wikipedia.org/wiki/List_of_The_Big_Bang_Theory_episodes""; | // загружаем страницу и разбираем её | var document = BrowsingContext.New(config).OpenAsync(address).Result; | // Используем CSS селектор для получения строк таблицы с классом и выбрать из этой строки 3 колонку | var rowSelector = ""tr.vevent""; | var Строки = document.QuerySelectorAll<IHtmlTableRowElement>(rowSelector); | foreach (var str in Строки) | { | dynamic стрТз = ТЗ.Добавить(); | var ячейки = str.Cells; | for (int i = 0; i < Math.Min(ячейки.Length, 8); i++) | { | | стрТз.Установить(i, ячейки[i].TextContent); | | } | | | } | | } |} | |return new Action<dynamic>(ВычислительAngleSharp.ЗаполнитьТз);"; Каталог=Врап.ПолучитьТип("System.AppDomain").CurrentDomain.BaseDirectory; КаталогGAC = Path.GetDirectoryName(Врап.ТипКакОбъект(string).Assembly.Location); ПутьКДлл="d:\Vs2015Programs\ScriptApiDlls\ScriptApiDlls\bin\Debug\"; КлассДляВычесленияВыражений=Врап.ПолучитьТипИзСборки("ScriptApiDlls.КлассДляВычесленияВыражений",ПутьКДлл+"ScriptApiDlls.dll"); Опции=КлассДляВычесленияВыражений.Опции; scr = Опции .WithReferences(Каталог + "\AngleSharp.dll", КаталогGAC + "\Microsoft.CSharp.dll") // .WithReferences(typeof(Configuration).Assembly) .WithImports("System", "AngleSharp", "AngleSharp.Dom.Html", "AngleSharp.Extensions"); result = КлассДляВычесленияВыражений.Вычислить(str, scr); Тз=новый ТаблицаЗначений; Колонки=Тз.Колонки; Колонки.Добавить("НомерСерии"); Колонки.Добавить("НомерСерииВСезоне"); Колонки.Добавить("Название"); Колонки.Добавить("Режиссер"); Колонки.Добавить("Автор"); Колонки.Добавить("Дата"); Колонки.Добавить("Код"); Колонки.Добавить("Просмотров"); врап.ВыполнитьДелегат(result,Тз); тз.ВыбратьСтроку(); |
|||
133
uno-group
29.09.16
✎
11:27
|
(131) Вроде не совсем дуб читал несколько твоих статей хуже учителя не встречал. потратил пару дней пытаясь разобраться в итоге через поиск нашел другие примеры работы и решил проблему за 30 минут. Учись писать технические тексты. Уметь программировать и уметь учить программированию это разные вещи. Если первое у тебя получается то со вторым все очень плохо.
|
|||
134
uno-group
29.09.16
✎
11:28
|
(130) поделись вк под си
|
|||
135
Кирпич
29.09.16
✎
11:32
|
(131) Да я свою компоненту и не использую. Валяется где то в архивах. Практически мне проще сделать отдельную ВК для конкретной задачи и не париться. У меня их всего то десяток.
|
|||
136
uno-group
29.09.16
✎
11:33
|
Если на одной машине поднято и линукс и винда то не проще обмениваться через файл. да и все связки по сети разных 1с через файл записать в сетевую папку работают штатными средствами без всяких вк. а потом развернуть юзерский ком целая наука. то того не хватает то того. То мелкие обновят что-то и все накрылось медным тазом и работа стала.
|
|||
137
Кирпич
29.09.16
✎
11:33
|
(134) шо такое "вк под си"?
|
|||
138
oleg_km
29.09.16
✎
11:34
|
(127) 90 % использования .НЕТ вообще не потребовало никакой дополнительной отладки. Что можно отлаживать у Sleep или у FileStream?
|
|||
139
Serginio1
29.09.16
✎
11:35
|
(133) Не спорю. Но я стараюсь. Мне просто сложно понять например ты мыслишь. Как подать материал так, что бы тебе это было понятно. Для меня то все просто. Кстати мою стать на Хабре закинули в чулан.
Другое дело, что я даю материал для более подготовленных программистов. Но опять же само применение ничем не сложнее использование Com объектов или Вэб сервисов. (135) А при моем подходе ВК писать не надо. Пиши класс и все. |
|||
140
Serginio1
29.09.16
✎
11:39
|
(136) А сообщать о том, что возникло событие будешь как? Опрашивать каталог или вешать System.IO.FileSystemWatcher?
А если таких событий сотни или тысячи? Насчет про медный таз. Я использую эту обертку больше 5 лет. Про никакого таза ни разу не видел. |
|||
141
Кирпич
29.09.16
✎
11:41
|
(139) " А при моем подходе ВК писать не надо. Пиши класс и все" не один хрен? и класс и ВК - буквы.
Просто геморно всякие потусторонние сборки цеплять и отлаживать это всё. Мне проще всё запихнуть в одну dll и чтобы оно работало как часы. |
|||
142
Garykom
гуру
29.09.16
✎
11:43
|
(139) Дети есть? Ну или хотя бы племянники или там просто дети подходящего возраста у друзей/знакомых.
Попробуй взять парочку (видишь что играют в игрушки на планшете/смартфоне значит возраст подходит и требования) и объяснить им что такое программирование. И тут же объяснить простыми словами что такое ты сам придумал. Суть хорошего преподавателя - умение популярно (для любого уровня) объяснить что угодно почти и к тому же интересно и завлекательно объяснить, чтобы не уснули в процессе. |
|||
143
Serginio1
29.09.16
✎
11:46
|
(133) Кстати, что тебе непонятно из http://catalog.mista.ru/public/448668/
(141) Так запихивай никто же не мешает. Просто если пишешь ВК ты зависим от используемых типов передаваемых в параметрах и возвращаемые функцией. Используя мою обертку у тебя этих ограничений нет. Если ты кстати читал мою статью, то очень удобно использовать объет при получении внешнего события |
|||
144
Serginio1
29.09.16
✎
11:46
|
Процедура ПолучениеДанныхПоTCP(знач Данные)
Сообщить("Команда="+Данные.Команда); Сообщить("Данные="+Данные.Данные); Сообщить("ЕстьОтвет="+Данные.ЕстьОтвет); ъ(Task.Delay(1000)).Wait(); Если Данные.ЕстьОтвет Тогда Ответ="Ответ на команду "+Данные.Команда+" |Данные "+Данные.Данные+" |ВремяНаСервере="+XmlСтрока(ТекущаяДата()); Данные.Ответить(Ответ); КонецЕсли; КонецПроцедуры Процедура ВнешнееСобытие(Источник, Событие, Данные) Если Источник="TCPConnector" Тогда //Получим объект по переданной ссылке Данные=ъ(Данные); Сообщить("Данные="+Врап.ВСтроку(Данные.ПолучитьСсылку())); // Тест из отчета ТестNetObjectToIDispatch Если Событие="Тест Отправки Сообщения" Тогда ПолучениеДанныхПоTCP(Данные) иначе // Запускаем метод переданный в коанде Выполнить(Событие+"(Данные)"); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
145
Serginio1
29.09.16
✎
11:49
|
(142) Сын уже институт закончил.
У меня нет дара объяснить. У меня мозг по другому мыслит, чем у них. И мне их тяжело понять, а мне их. У меня в свое время был переводчик, он панимал меня и мог объяснить другим. |
|||
146
Кирпич
29.09.16
✎
11:49
|
(143) "Просто если пишешь ВК ты зависим от используемых типов передаваемых в параметрах и возвращаемые функцией"
да ни от чего я не зависим. всё просто работает и всё. чо ты там выдумываешь. |
|||
147
Кирпич
29.09.16
✎
11:51
|
(145) да всроде всё понятно. листинги только по короче рисуй.
|
|||
148
Garykom
гуру
29.09.16
✎
11:52
|
(145) Да иметь "переводчика" это очень удобно конечно, но по факту означает лишь отсутствие усилий/желания научиться тому что не интересно или плохо дается от не знания основ.
К примеру этот переводчик как то умудрялся же переводить, т.е. понимать и то и то? И пенять на отсутствие "дара" это не очень правильно. (147) Суть у него понятная, но внешняя форма это пипец какой то... |
|||
149
Serginio1
29.09.16
✎
11:53
|
(141) Так напиши на Native ВК 132
Или парсинг сайтов http://catalog.mista.ru/public/466196/ Или будешь под разбор каждого сайта писать свою DLL? |
|||
150
Serginio1
29.09.16
✎
11:54
|
(148) Понимаешь как бы я не учился рисовать, мой сын когда был маленьким рисовал лучше. Есть люди с математическим складом ума, а есть гуманитарии, а есть кто может мылить и так и так. Вот из последних и получаются хорошие преподаватели.
|
|||
151
Кирпич
29.09.16
✎
11:57
|
(149) под разбор сайта я dll делать не буду. я скрипт напишу или exe
в dll у меня только фундаментальные штуки всякие. файлы, http, текст, графика, сеть, com порт. |
|||
152
Garykom
гуру
29.09.16
✎
11:58
|
(144) Вот почему нельзя хотя бы код делать вот примерно так:
|
|||
153
Кирпич
29.09.16
✎
11:59
|
(152) пустые строки еще удалить
|
|||
154
Garykom
гуру
29.09.16
✎
11:59
|
(152)+ Блин... что за фигня объясни что ты засовываешь внутрь своего кода что оно в блокноте нормально а при копировании на мисту так разъезжается???
|
|||
155
Garykom
гуру
29.09.16
✎
11:59
|
(153) Пойми я их удалил!!!!
|
|||
156
Кирпич
29.09.16
✎
12:02
|
а ну я попробую
Процедура ПолучениеДанныхПоTCP(знач Данные) Сообщить("Команда="+Данные.Команда); Сообщить("Данные="+Данные.Данные); Сообщить("ЕстьОтвет="+Данные.ЕстьОтвет); ъ(Task.Delay(1000)).Wait();// Клево можно делать пауза да? Если Данные.ЕстьОтвет Тогда Ответ="Ответ на команду "+Данные.Команда+" |Данные "+Данные.Данные+" |ВремяНаСервере="+XmlСтрока(ТекущаяДата()); Данные.Ответить(Ответ); КонецЕсли; КонецПроцедуры Процедура ВнешнееСобытие(Источник, Событие, Данные) Если Источник="TCPConnector" Тогда Данные=ъ(Данные);//Получим объект по переданной ссылке Сообщить("Данные="+Врап.ВСтроку(Данные.ПолучитьСсылку()));//Глянем че получили // Проведем тест Если Событие="Тест Отправки Сообщения" Тогда ПолучениеДанныхПоTCP(Данные) Иначе Выполнить(Событие+"(Данные)");// Запускаем метод переданный в коанде КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
157
Кирпич
29.09.16
✎
12:02
|
:))))
|
|||
158
Serginio1
29.09.16
✎
12:09
|
(151) Так результат будешь передавать в виде строки, потом разбирать её или писать Вэб сервис.
Любите вы батенька штаны через голову одевать. В моем подходе, все делается в одно действие. |
|||
159
Serginio1
29.09.16
✎
12:12
|
(152) Я просто выхватил один метод из трех.
В статье и про очередь написано, и зачем задержка // В Net core для NetStandard System.Threading.Tasks не существует Task=ъТип("System.Threading.Tasks.Task","System.Threading.Tasks"); Процедура СканированШК(знач Данные) // Съэмулируем долгую обработку для проверки очереди событий ъ(Task.Delay(1000)).Wait(); Ответ="Ответ на команду "+Данные.Команда+" |Данные "+Данные.Данные+" |ВремяНаСервере="+XmlСтрока(ТекущаяДата()); Данные.Ответить(Ответ); КонецПроцедуры |
|||
160
Кирпич
29.09.16
✎
12:15
|
(158) "Любите вы батенька штаны через голову одевать"
вот твои обертки как раз и есть "штаны через голову" |
|||
161
Serginio1
29.09.16
✎
12:22
|
(160) И в чем они через голову. Еще раз я могу написать DLL полный аналог твоей ВК и вызываться от будет так же.
Но я могу использовать любые типы как в 132, а ты нет. Я могу использовать и в Native ВК любые типы в параметрах. Вот кстати можно посмотреть пример из ограничений аналога моей разработки на CLR Hosting API http://forum.infostart.ru/forum24/topic116151/ |
|||
162
Mauser
29.09.16
✎
12:25
|
(123) +многа
Serginio1, видишь ли в чем дело. С одной стороны есть пример @Tormozit, который поднял себе свой сайт с инструментами разработчика, пилит их тихонько, регистрирует ошибки, обсуждает недочеты и в конечном итоге все счастливы. А с другой стороны есть персонаж, который фигачит статьи где не попадя, раскидывает исходники по сети, и проповедует свое учение в каждую дырку, не забывая агрессивно отпинываться - "а Мне так удобней, если вас не устраивает, проходите мимо, Я не могу бросить Свое Детище". Ну и получает за это в панамку. Закрадывается впечатление, что это персонаж - латентный махозист. |
|||
163
Кирпич
29.09.16
✎
12:34
|
(161) я верю, что ты всё можешь. просто мне ничего не нужно из списка твоих "могу". Это уродливые костыли. А я люблю просто и красиво.
|
|||
164
Serginio1
29.09.16
✎
12:48
|
(163) Ты используешь более уродливые костыли в виде COM и Native Api и Вэб ервисов. Но они тебе роднее потому что, это сделала 1С. Только и всего.
(162) Давай так я никого не отпинываю. Помогаю всем. Другое дело, что есть люди у которых нет конструктивной критики. Но и их я не отпинываю. Они держат топик в верху. В панамку я не получаю. Это только тебе так кажется. А вот конструктивной критике я только рад. В итоге сделал кроссплатформенное использование классов на .Net Core? использующий минимум ресурсов. Есть динамическая компиляция, асинхронное программирование итд и тп. Все по заявкам радиослушателей. |
|||
165
Loky9
29.09.16
✎
12:56
|
(164) "Ты используешь более уродливые костыли в виде COM и Native Api и Вэб ервисов. Но они тебе роднее потому что, это сделала 1С. Только и всего."
Но и ты же их используешь. |
|||
166
Serginio1
29.09.16
✎
13:36
|
(165) Конечно. Но у меня более высокоуровневая настройка, позволяющая использовать больше типов и инструментов.
Например Кирпич на 132 так и не дал своего аналога. |
|||
167
Кирпич
29.09.16
✎
13:49
|
(166) "Кирпич на (132) так и не дал своего аналога"
Я тебе обещал давать какие то аналоги? Запостил какую то портянку, которую никто не читал и ждет аналоги какие то. Ты здоров вообще? |
|||
168
Serginio1
29.09.16
✎
13:53
|
(167) Ты утверждал, что можешь все. Я привел тебе простенький пример. Ты меня больным обвинил. Вот и пойми тебя.
|
|||
169
Serginio1
29.09.16
✎
13:54
|
168+ Если тебе коднепонятен там есть комментарии. Если, что непонятно спрашивай.
|
|||
170
Кирпич
29.09.16
✎
14:01
|
(168) не заметил простенького примера и не помню, что я говорил, что могу всё. хотя конечно же я всё могу ))
|
|||
171
Serginio1
29.09.16
✎
14:06
|
(170) Например 146
>> да ни от чего я не зависим. всё просто работает и всё. чо ты там выдумываешь. |
|||
172
Serginio1
29.09.16
✎
14:06
|
Простенький пример в 132
|
|||
173
Кирпич
29.09.16
✎
14:07
|
(172) и что в том примере? мне лень разбираться в кракозяблах
|
|||
174
Кирпич
29.09.16
✎
14:07
|
(171) и где там написано, что я всё могу.
|
|||
175
Serginio1
29.09.16
✎
14:11
|
(174) Раз ты независим, значит можешь сделать всё! Логика.
(173) Вот откуда ноги то растут! "Не читал, но осуждаю!" Я подробно все расписывал в http://catalog.mista.ru/public/466196/ |
|||
176
Кирпич
29.09.16
✎
14:17
|
(175) ну не хочешь объяснять, не объясняй. Лучше расскажи чо нибудь про core net. Там GUI есть вообще?
|
|||
177
Serginio1
29.09.16
✎
14:34
|
(176) В NetStandart обещают. Но опять же NetStsndart это больше библиотки которые могут использоваться в визуальных компонентах ориентированных на неё и использующие XAML.
Например http://metanit.com/sharp/uwp/2.1.php http://metanit.com/sharp/xamarin/2.9.php Сейчас XAML развивается. А насчет 132. То там пример разбора HTML и записи данных в таблицу значений. Динамически компилируется класс, который возвращает ссылку на делегат void ЗаполнитьТз(dynamic ТЗ). Которая вызывается через врап.ВыполнитьДелегат(result,Тз); где result это ссылка на метод, а ТЗ это пустая ТЗ которая заполняется вутри метода. |
|||
178
Serginio1
29.09.16
✎
14:38
|
По ссылке отсюда можно почитать комментарии на эту тему
https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/ |
|||
179
Serginio1
29.09.16
✎
14:41
|
https://blogs.msdn.microsoft.com/dotnet/2016/09/14/the-week-in-net-net-core-1-0-1-on-net-with-peachpie-avalonia-folk-tale/
Avalonia является мультиплатформенной UI инструментарий, несколько как WPF. Он поддерживает XAML и гибкую систему укладки, и работает под управлением Windows, Linux, MacOS, IOS, и Android. |
|||
180
Serginio1
29.09.16
✎
18:21
|
Вот кстати подборка статей по Xamarin
https://habrahabr.ru/search/?target_type=posts&q=%5Bxamarincolumn%5D&order_by=date http://metanit.com/sharp/xamarin/2.3.php |
|||
181
Mauser
29.09.16
✎
18:44
|
(164)
>В панамку я не получаю. Это только тебе так кажется. Это кому там на хабре карму в ноль загнали? |
|||
182
Serginio1
30.09.16
✎
10:09
|
(181) Ну не 0, а 1.
И у меня там тоже поддержка есть sidristij 28 сентября 2016 в 18:32 (комментарий был изменён) ? ? ? ? ? Вставлю свои 5 копеек. Про Хабр часто говорят, что дескать нет технических статей, только реклама. Вот вам автор, который написал 9 статей. Хороших таких статей про работу .NET/1C, котоые потом вполне возможно будутпользоваться спросом, в свое время. Но его заминусовали (карма) за руслиш. Видите-ли он не пишет именно так, как нравится вам. Ему за это не платят, замечу. Он хотел сделать вам приятно. А теперь его карма = 0 и он больше не может писать статьи, хотя хочет. |
|||
183
Serginio1
30.09.16
✎
10:09
|
182+ с Rsdn
Дело в том, что хабр — развлекательный ресурс (у администрации немножко пена изо рта капает, когда им про это намекают, но это их проблемы). Поэтому уникальный контент, если он тяжело читается (а читается действительно адово), там неформат. Ближайший аналог — всякие какэтосделано, в которых скучный хардкор не катит, ибо не цепляет аудиторию. Рекомендую не заморачиваться и подобрать нормальную площадку, или завести блог и кросспостить статьи и туда. |
|||
184
Serginio1
30.09.16
✎
10:10
|
||||
185
Кирпич
30.09.16
✎
10:18
|
(183) ты какой то стоеросовый, ей богу. тебе два года долдонят, что руслиш жуткое уродство, а ты всё гнёшь свою линию. Пиши всё на английском и будет красиво, и комментировать будут по делу, а не про дебильность написания твоих примеров.
|
|||
186
Кирпич
30.09.16
✎
10:19
|
хотя ты наверное и правда мазохист
|
|||
187
Serginio1
30.09.16
✎
10:20
|
(185) Я добавил использование синонимов. Но мне проще писать используя Руслиш.
|
|||
188
Кирпич
30.09.16
✎
10:21
|
(187) "мне проще писать" так пиши себе и людям не показывай тогда
|
|||
189
Serginio1
30.09.16
✎
10:25
|
(188) На вкус и цвет товарищей нет. Не хочешь не читай. Никто никого не заставляет. Мне тоже много чего не нравится.
Если мне что то не нравится, то я либо не читаю, либо подстраиваюсь под стиль автора. У всех свои предпочтения. |
|||
190
Serginio1
30.09.16
✎
10:27
|
Опять же из последней статьи
21 человеку понравилось 8 людям нет. |
|||
191
Кирпич
30.09.16
✎
10:28
|
(190) объясни пожалуйста, если не в лом, какова цель всей этой твоей компании? чего ты добиваешься?
|
|||
192
Serginio1
30.09.16
✎
10:31
|
(191) Поделиться опытом. Не только с 1С никами но и .Net чикам. Многие находят мои статьи полезными. А это главное.
|
|||
193
Кирпич
30.09.16
✎
10:35
|
(192) таким опытом весь интернет завален, не считая книжек. ты страдаешь какой то другой херней.
|
|||
194
Serginio1
30.09.16
✎
10:45
|
(193) Возможно. Мне просто интересно программировать, решать сложные задачи.
Но мой опыт уникален. И я рад если помогу, хоть немногим людям. Кстати сам спрашивал, про .Net Core. А по нему не так уж и много информации, а книг вообще нет. Использование .Net Core из натива вообще 2 статьи на весь интернет. Так, что "Борис ты не прав" |
|||
195
Garykom
гуру
30.09.16
✎
10:47
|
(194) Это .net core никому совершенно не сдался ибо есть mono
|
|||
196
Кирпич
30.09.16
✎
10:51
|
(194) так пиши про NET Core, почитаю с удовольствием. тема интересная. а про динамическую компиляцию, TCP/IP и как сайты парсить не надо. про это навалом инфы и так.
|
|||
197
sh8ce
30.09.16
✎
10:51
|
(195) Моно вряд ли будет дальше развиваться
|
|||
198
Serginio1
30.09.16
✎
10:54
|
(195) .Net Core это следующее развитие Mono. Новые проекты делаются уэе на Asp.Net Core, а старые ждут подхода NetStandard 2.
Идет плавный переход на использование в UWP и Xamarin. Сейчас там для portable куча профилей. Сам в свое время задолбался с ними. Да и использование в 1С кроссплатформенных и более легковесных библиотек тоже предпочтительнее. Другое, дело, что 1С наплевать, на развитие Native Api. Но это другая песня. 1С++ прекрасно живет и до сих пор. |
|||
199
Garykom
гуру
30.09.16
✎
10:56
|
(197) Форкнут без вопросов и MS пойдет лесом полем, но только если оно кому то понадобится.
(198) Чем то напоминает сказки про белого бычка, тут недавно сказали что самый известный проект на .Net это Paint.Net случаем когда его на .Net Core переведут? |
|||
200
Кирпич
30.09.16
✎
10:58
|
(199) самый известный проект на .Net это наверное Visual Studio
|
|||
201
Garykom
гуру
30.09.16
✎
10:59
|
(200) Оно на С++ ...
|
|||
202
Кирпич
30.09.16
✎
11:00
|
(201) да там пополам
|
|||
203
Кирпич
30.09.16
✎
11:02
|
(199)"когда его на .Net Core переведут?" нахрена всё куда то переводить, если оно и так прекрасно работает
|
|||
204
Gary417
30.09.16
✎
11:04
|
(199) если появится референсная версия от создателя стандарта, то умрёт, т.к. нафига оно надо. ситуация в яве с OpenJDK исключение
|
|||
205
Gary417
30.09.16
✎
11:04
|
(199) много проектов на asp существует, десктопные приложения вымирают потихоньку
|
|||
206
Кирпич
30.09.16
✎
11:05
|
будет всё как обычно. лет через 10 будет NET Core 4.0 и все будут на нём царапать. Остальное будет параллельно существовать.
|
|||
207
Gary417
30.09.16
✎
11:06
|
раньше моно был нужен чтобы оно под линухом работало. а теперь то зачем?
|
|||
208
Serginio1
30.09.16
✎
11:08
|
(199) Самый цитируемый это Stack Overflow
(205) Не вымирают. Просто их доля сокращается. Поэтому и .Net Core как раз и направлена на мобильный контент, Облака итд. То, что сейчас приносит прибыль. Тот же C# сейчас один из мощнейших языков, особенно при сравнении ObjectivC и Java для андроид. |
|||
209
Кирпич
30.09.16
✎
11:09
|
(207) теперь он работает на Android
|
|||
210
Serginio1
30.09.16
✎
11:10
|
(209) Кирпич МОНО MS купила вместе с xamarin. И дальнейшее развитие это NetStandart 2, .Net Native
|
|||
211
Кирпич
30.09.16
✎
11:16
|
(210) ну как бы и пофигу чем там кончится. NET тем и хорош, что MONOписуально где писать на C#, в моно или не в моно. Я так понимаю, что в NET Core стандартные библиотеки такие же как и в .NET будут? Или я ошибаюсь?
|
|||
212
Serginio1
30.09.16
✎
11:28
|
(211) Почитай статью https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/
Там все расписано. Вкратце. Многие стандартные классы из mscorlib.dll раскиданы по разным библиотекам. Много нужно подгружать через NuGet. NetStandard 2 будет приближен к взрослому .Net. Почитай хоть в переводчике Googl. Там все хорошо расписано. В любом случае .Net Core это будущее, особенно учитывая .Net Native |
|||
213
Кирпич
30.09.16
✎
11:53
|
(212) "В любом случае .Net Core это будущее" будущее это хорошо, но пока для меня есть единственный способ делать быстро кроссплатформенное - это тридолбаный паскаль :))) в виде Lazarus. Остальное долго и "там работает, тут не работает"
Летом запилил приложение типа маленького автокада, в котором юзер рисует фигуры всякие поверх картинки и они потом печатаются с данными из 1С. Работало на винде и линуксе без проблем. На маке чота не стало, но и хрен с ним. Так что Mono здохнет или NET Core не так уж и важно, а вот если сдохнет Lazarus, придется реально работать в три раза больше :) |
|||
214
Garykom
гуру
30.09.16
✎
12:04
|
(213) лазарус весчь, но сильно не хватает пакетной системы или некоего менеджера с онлайн хранилищем
|
|||
215
Loky9
30.09.16
✎
12:29
|
Лазарус выручит разве что при программировании мышкой и то ему ещё придётся с Qt потягаться. В быстрой кроссразработке питон уделывает всё.
|
|||
216
Кирпич
30.09.16
✎
12:29
|
(214) да фигня. всё на git лежит. библиотек пишут для него мало - вот проблема. но и того что есть, мне лично пока хватает.
|
|||
217
Кирпич
30.09.16
✎
12:32
|
(216) GUI на питоне задолбаешься рисовать, а в Lazarus тяп-ляп, подправил и готово.
|
|||
218
Loky9
30.09.16
✎
12:33
|
(217) В Qt-дизайнере всё нормально рисуется.
|
|||
219
Serginio1
30.09.16
✎
12:35
|
(213) Mono не сдохнет. Он плавно перенесется на .Net Core.
Xamarin развивается достаточно быстро. В том числе и Xamarin.Forms. Сейчас как раз сам изучаю. |
|||
220
Torquader
30.09.16
✎
12:35
|
Вы вот спорите о технологиях, и каждый отстаивает свою версию.
Но, скоро появятся машинные трансляторы, которые код с одного языка или библиотеки прекрасно переводят на другой, и все ваши вопросы и споры отпадут за ненадобностью. |
|||
221
Кирпич
30.09.16
✎
12:35
|
(218) да эта возня... питон поставь Qt поставь. ярлычки, хренучки.
|
|||
222
Кирпич
30.09.16
✎
12:36
|
(220) ага. роботы уже бороздят просторы вселенной
|
|||
223
Garykom
гуру
30.09.16
✎
12:39
|
(220) Угу и гуи переведут... сам такое пытаюсь сделать но очень тяжко идет ибо логика/технология работы совсем иная
|
|||
224
Loky9
30.09.16
✎
12:43
|
(221) Да ну... Единожды пакуется всё нужное в архив и всё. А ещё есть fabric.
|
|||
225
Serginio1
30.09.16
✎
12:43
|
(220) Для того, что бы что то перевести, надо это что то написать. А вот писать сейчас удобно на C#.
Не все переводится оптимально в машинный код. Поэтому в .Net есть направление Native которое компилируется используя компилятор от C++. А Гуи это отдельная тема, так как для каждой оси куча прибамбасов. И кроссплатформенный Гуи сильно урезан от всех возможностей оси. |
|||
226
Serginio1
30.09.16
✎
12:44
|
(220) На самом деле не отстаивает, а делится своим опытом и знаниями.
|
|||
227
trdm
30.09.16
✎
12:47
|
(218) > В Qt-дизайнере всё нормально рисуется.
Это если въедешь в систему лайотов и политику размеров. |
|||
228
sh8ce
30.09.16
✎
12:49
|
(225) Всем удобно писать на разных языках. Иначе бы их не было
|
|||
229
Кирпич
30.09.16
✎
12:49
|
(220) ты видел какой код Serginio1 строчит на руслише? :) никакой робот не сможет понять чего там понаписано.
|
|||
230
Mauser
30.09.16
✎
12:57
|
(182)(183)(192) Господи, какая наивность. 1964 год рождения...
Если хабр — развлекательный ресурс, то зачем, зачем ты туда пишешь? Многие, да... |
|||
231
Кирпич
30.09.16
✎
13:07
|
(224) а есть пример какого нибудь приложения на QT и питоне? я бы глянул. чота подозреваю, что тормознутое уг получится. так то я питон уважаю.
|
|||
232
Garykom
гуру
30.09.16
✎
13:15
|
(231) https://ru.wikipedia.org/wiki/Deluge юзаю но там не Qt а GTK
|
|||
233
Кирпич
30.09.16
✎
13:33
|
(232) ну вроде ничо так. некрасиво, но шустро. дохрена файлов, но работает :)
|
|||
234
Gary417
30.09.16
✎
13:45
|
давайте для разнообразия
https://ru.wikipedia.org/wiki/QupZilla прототип на питоне, в итоге плюсы, "Какжежтак"? |
|||
235
Кирпич
30.09.16
✎
13:54
|
На эти Qt дизайнеры после VS и Delphi без слёз трудно смотреть. Последний раз смотрел на них лет 5 назад. Ничего не поменялось. Ну их...
|
|||
236
Кирпич
30.09.16
✎
13:54
|
(234) потому что тормоза
|
|||
237
Loky9
30.09.16
✎
13:57
|
(227) Если нужен адаптивный дизайн с интернационализацией и поддержкой стилей придётся въезжать. WPF тоже не мёд.
(231) http://orange.biolab.si/download/windows/ https://sourceforge.net/projects/pythoncad/ |
|||
238
Loky9
30.09.16
✎
13:58
|
(234) Так потому что изначально не знали зачем им там питон.
|
|||
239
Gary417
30.09.16
✎
13:58
|
(238) потому что блин помешались на этом питоне помоему
|
|||
240
Кирпич
30.09.16
✎
13:59
|
(237) щас заценим
|
|||
241
Loky9
30.09.16
✎
14:03
|
(239) Он прошел проверку временем. https://www.google.ru/trends/explore?date=all&q=python
Скоро браузеры на расте будут ;) |
|||
242
Loky9
30.09.16
✎
14:06
|
Вообще, учитывая что питон - язык прототипирования в том числе, всё нормально и становится на свои места.
|
|||
243
Gary417
30.09.16
✎
14:08
|
(242) ога, только если сказать это в современном ИТ сообществе сразу закидают, "патамушта питон самый лучший язык!! он всех победит"
|
|||
244
Loky9
30.09.16
✎
14:11
|
(243) Если производительностью можно пренебречь, так оно и есть.
|
|||
245
Gary417
30.09.16
✎
14:13
|
(244) чем обоснована самалучшесть? чем питон _принципиально_ отличается от 100500 языков?
|
|||
246
Loky9
30.09.16
✎
14:15
|
(245) Лучшесть определяется не принципиальными отличиями. Он только чуть-чуть лучше второго хорошего языка)
|
|||
247
Serginio1
30.09.16
✎
14:16
|
(228) Удобно потому, что нет альтернативы. При сравнении C#,Objective-C, Java для андроид. Первый выигрывает объективно. Другое дело, что Xamarin только завоевывает рынок.
(230) Да я молодой и наивный |
|||
248
Gary417
30.09.16
✎
14:20
|
(246) какой второй хороший?
|
|||
249
Loky9
30.09.16
✎
14:23
|
(248) Лисп) Хоть я его толком не знаю.
|
|||
250
Gary417
30.09.16
✎
14:25
|
(249) а как можно делать вывод о лучшести если не знаете? :)
Религиозные причины не рассматриваем :) |
|||
251
Loky9
30.09.16
✎
14:39
|
(250) Ну, я же не 100% серьёзно говорю о лучшести питона!
Его код лучше других выражает реализуемый алгоритм, без отвлечения внимания на второстепенные детали. Это способствует производительности труда. Для меня это главный плюс. |
|||
252
Garykom
гуру
30.09.16
✎
14:50
|
(251) Попробуйте и поймете что производительность труда даже на языке 1С или basic'е выше )) почему то
|
|||
253
Loky9
30.09.16
✎
14:52
|
(252) Пробовали, не поняли.
|
|||
254
Gary417
30.09.16
✎
14:55
|
(251) <Его код лучше других выражает реализуемый алгоритм>
Это вы про идиотские отступы когда вместо пробела таб нажмёшь или ентер не в том месте и ничерта не работает? == уже давным давно все IDE текст программы форматируют |
|||
255
Loky9
30.09.16
✎
14:55
|
(252) Поиск наибольшей общей подстроки на питоне:
def long_substr(data): substr = '' if len(data) > 1 and len(data[0]) > 0: for i in range(len(data[0])): for j in range(len(data[0])-i+1): if j > len(substr) and all(data[0][i:i+j] in x for x in data): substr = data[0][i:i+j] return substr print(long_substr(['hello', 'I prefer Jelly Belly beans.', 'When hell freezes over!'])) Запишите то же самое на бейсике, или 1С. |
|||
256
Loky9
30.09.16
✎
14:56
|
(254) Так вы табы с ентерами в IDE и жмите, а не в блокноте.
|
|||
257
Gary417
30.09.16
✎
14:57
|
(256) в 21 веке код писать в блокноте это мазохизм
|
|||
258
Loky9
30.09.16
✎
14:58
|
(257) Потому в блокноте на питоне пишут только мазохисты. Потом ещё и опытом своим в интернетах делятся.
|
|||
259
Gary417
30.09.16
✎
14:58
|
(255) это вы так полюбили питон за то что в нём встроенная ф-ция all?
|
|||
260
Gary417
30.09.16
✎
14:59
|
(258) а тогда вопрос, нафига железно прибитая структура форматирования в языке, когда эту структуру рисует за программиста IDE?
Сейчас это в питоне выглядит только как генератор тупых ошибок |
|||
261
Loky9
30.09.16
✎
15:02
|
(259) Нет
(260) Она не железно прибитая. Никаких ошибок связанных с отступами никогда не получал. |
|||
262
Gary417
30.09.16
✎
15:04
|
(261) если половину программы писать с пробелами, а половину с табами, ошибок не будет?
|
|||
263
Gary417
30.09.16
✎
15:05
|
(261) А чем тогда этот пример (255) не реализуется в другом языке? он буквально дословно одинаков везде кроме all и немного другим обращением к массиву
|
|||
264
Loky9
30.09.16
✎
15:07
|
(262) Будет. Только IDE не даст до них дойти.
(263) Именно этот довольно легко реализуется, но всё же будет потолще. |
|||
265
Serginio1
30.09.16
✎
15:08
|
(255) На Linq будет даже красивее.
|
|||
266
Loky9
30.09.16
✎
15:09
|
(265) Напишите.
|
|||
267
Gary417
30.09.16
✎
15:13
|
(264) так это просто частный случай, не удивлюсь что есть язык где эта операция вообще одной строчкой выполняется, однако это ни о чём не говорит.
<Будет. Только IDE не даст до них дойти. > так в чём тогда плюс питона то? Если IDE во всех языках предотвращает логические ошибки и расставляет красивое форматирование чтобы видеть структуру |
|||
268
Serginio1
30.09.16
✎
15:15
|
(266) Лень. Просто на Linq я не каждый день пишу, нужно тратить на то, что бы вспомнить все конструкции. А его у меня сейчас нет.
Но решение таких задач полно в интернете. |
|||
269
Loky9
30.09.16
✎
15:16
|
(267) "так в чём тогда плюс питона то? Если IDE во всех языках предотвращает логические ошибки и расставляет красивое форматирование чтобы видеть структуру"
В синтаксисе, полиморфизме, рефлексии, экосистеме и т.д. |
|||
270
Garykom
гуру
30.09.16
✎
15:21
|
(255)
|
|||
271
Gary417
30.09.16
✎
15:21
|
(269) экосистема в других языках то понасыщенней будет
синтаксис - на любителя (я понял что я не любитель) полиморфизм...что под этим подразумевается? Рефлексии и в других языках полно |
|||
272
Garykom
гуру
30.09.16
✎
15:22
|
(270)+ Написал с 0 за 5 минут а Вы?
|
|||
273
Loky9
30.09.16
✎
15:24
|
(270) Там было для произвольного количества строк.
|
|||
274
Loky9
30.09.16
✎
15:27
|
(271) Да куда уж насыщенней.
Под полиморфизмом подразумеваю возможность использовать одну функцию для широкого спектра классов. |
|||
275
Кирпич
30.09.16
✎
15:27
|
(260) там отступы не только для форматирования, но и чтобы меньше писать. чтобы не было операторных скобок begin end или {}
|
|||
276
Кирпич
30.09.16
✎
15:30
|
питон он собственно и задуман чтобы меньше писать
|
|||
277
Кирпич
30.09.16
✎
15:32
|
ну и чтобы в глазах меньше рябило
|
|||
278
Serginio1
30.09.16
✎
15:36
|
(276) Писть может и меньше, а вот без IntelliSense не ахти и быстрее
|
|||
279
Loky9
30.09.16
✎
15:39
|
(278) Что вы там такое интеллисенсом делаете? Автокомплит есть, если что.
|
|||
280
Кирпич
30.09.16
✎
15:44
|
(278) ну да. просто есть люди, которые печатают как разговаривают и которым нужно быстро наваять скрипт. кто ж знал, что на этом питоне будут целые приложения писать и здоровенные сайты.
|
|||
281
Serginio1
30.09.16
✎
15:47
|
(279) То есть Питон стал типизированным языком?
|
|||
282
Loky9
30.09.16
✎
15:48
|
(281) Питон - язык со строгой динамической типизацией. То есть он им и был.
|
|||
283
Serginio1
30.09.16
✎
15:52
|
(282) Тогда откуда возьмется подсказка о методах и свойсвах класса? Проблема в 1С кстати во многом, что нет возможности указать тип в параметрах и функции. А вот популярность TypeScript как раз в его типизации. Меньше ошибок, большая скорость набора
|
|||
284
Loky9
30.09.16
✎
16:03
|
(283) Из описания класса?
|
|||
285
Loky9
30.09.16
✎
16:07
|
Когда класс определить невозможно, атрибуты хинтятся из уже вводившихся в данной области видимости.
|
|||
286
Serginio1
30.09.16
✎
16:15
|
(284) Так где ты возьмешь описание класса, если типизация динамическая. В 1С тоже есть автокомплит, но вот параметры и результат функции не типизирован
|
|||
287
Loky9
30.09.16
✎
16:16
|
(286) Там же где они берутся в динамиках и генериках.
|
|||
288
Serginio1
30.09.16
✎
16:19
|
(287) В динамиках как раз ничего не берется. Если конечно ты приведение типа не сделаешь.
В Дженериках там либо вывод типа по параметрам, либо нужно указывать тип. |
|||
289
Serginio1
30.09.16
✎
16:20
|
(288) Но у ExpandoObject или DynamicObject типы не известны
|
|||
290
trdm
30.09.16
✎
16:27
|
https://www.opennet.ru/opennews/art.shtml?num=45247
Анализатор PVS-Studio помог выявить 10000 ошибок в различных открытых проектах. .... Качество различных открытых проектов сильно отличается. Например, в недавних проверках проявил себя пакет NUnit, в котором удалось найти всего одну ошибку, порадовал высоким качеством кода и отладчик GDB. С другой стороны, при проверке Mono были выявлены сотни ошибок и возникли проблемы со сборкой. |
|||
291
trdm
30.09.16
✎
16:31
|
http://www.viva64.com/ru/b/0431/
Ищем ошибки в Mono: сотни их! static bool AreEqual (VisualStyleElement value1, VisualStyleElement value2) { return value1.ClassName == value1.ClassName && // <= value1.Part == value2.Part && value1.State == value2.State; } Приятного как коворится юзания :))) |
|||
292
trdm
30.09.16
✎
16:32
|
button_pressed_highlight = use_system_colors ?
Color.FromArgb (150, 179, 225) : Color.FromArgb (150, 179, 225); |
|||
293
trdm
30.09.16
✎
16:37
|
Что-бы не говорили, какой дотнет в усмертть кросплатформеный...
Сотни ошибок - это глюкавое ведро... |
|||
294
Garykom
гуру
30.09.16
✎
16:37
|
(291) Хорошая бага не всегда проявляющаяся кста ну забыли 1 на 2 исправить, бывает
|
|||
295
Garykom
гуру
30.09.16
✎
16:38
|
(293) Тя плафтормы 1С не удивляют?
|
|||
296
Serginio1
30.09.16
✎
16:50
|
(293) Ты сравнивай .Net Core. Mono уже считай умер. С NetStandart 2 все перейдут на .Net Core.
|
|||
297
Garykom
гуру
30.09.16
✎
16:54
|
(296) "Все" это кто? Полтора разраба корпоративных поделок? Которые не на java задумали писать?
|
|||
298
trdm
30.09.16
✎
17:03
|
(296) не, даром не надо.
|
|||
299
Serginio1
30.09.16
✎
17:34
|
(297) На самом деле их много. Как и на Asp.Net Core
|
|||
300
Serginio1
30.09.16
✎
17:43
|
Можно посмотреть по активности на http://stackoverflow.com/questions/tagged/asp.net-core-mvc
|
|||
301
Garykom
гуру
30.09.16
✎
17:44
|
(299) Пробовал писать сайт/сервисы на asp.net и да поначалу вау как круто!
Но потом начинаются грабли, то тут глючит не пойми почему то там, то нагрузку в 100 каких то юзеров не держит (хотя php или jsp легко) или просто взяло и повисло нафик что пришлось сервер ребутать. |
|||
302
Garykom
гуру
30.09.16
✎
17:47
|
(300) Если посмотреть "активность" тупых вопросов по 1С то легко можно подумать что все остальное во всем мире просто в загоне ))
Суть что на java или php достаточно просто погуглить, то на asp.net приходится спрашивать и не факт что ответ будет. |
|||
303
Serginio1
30.09.16
✎
17:49
|
(301) Ну это зависит от того как код напишешь. Сейчас в .Net Core практически выкинули все синхронные методы.
Многие еще потоки используют. (302) По Asp.Net на том же http://stackoverflow.com все легко находится. |
|||
304
Garykom
гуру
30.09.16
✎
17:51
|
(303) Счас то может и находится, но когда пробовал писать тогда был ужас, причем самый ужас что никаких бесплатных либ не было, только платные за огромные бабки.
В результате плюнул и перешел на яву, там либ оказалось море и с мануалами. |
|||
305
Garykom
гуру
30.09.16
✎
17:51
|
(304)+ Почему мне понравилась нода, что да технология новая но либ уже больше чем на C#
|
|||
306
Masquerade
30.09.16
✎
18:49
|
(304)
-- самый ужас что никаких бесплатных либ не было, -- там либ оказалось море и с мануалами -- что да технология новая но либ уже больше чем на C# О каких либах речь то идет? |
|||
307
Garykom
гуру
30.09.16
✎
18:58
|
(306) работа с офисными форматами xls, doc и прочие разные билиотеки для сетки, баз данных и прочего.
т.е. для всего что выходит за рамки лабораторно/учебного программирования, изначально C# это такая идеальная замена для языка обучения в школах/универах вместо устаревшего Паскаля и слишком сложных C++ |
|||
308
Garykom
гуру
30.09.16
✎
18:59
|
(307)+ Тем более что был (ну и есть но уже странно это) такой VB.Net как развитие VB6
|
|||
309
Masquerade
30.09.16
✎
19:00
|
(307)
изначально C# это такая идеальная замена для языка обучения в школах/универах Я просто был не в курсе |
|||
310
Garykom
гуру
30.09.16
✎
19:07
|
(309) Ну мне пришлось осваивать C# когда писал под WinMobile/WinCE ибо иначе никак (нативно это сдохнуть там было).
И тогда нифига не было, вот банальный FTP и нету (( что есть оно на PocketPC урезано по самое оказалось и полных либ не найти, пришлось на tcp/udp и http обмен переходить причем с 0 все изучая и ваяя. |
|||
311
Кирпич
30.09.16
✎
19:07
|
(305) да побойся бога. На шарпах уже все на свете понаписали.
|
|||
312
Gary417
30.09.16
✎
19:08
|
(307) C# этож "убийца явы", какойже это язык для обучения
|
|||
313
Garykom
гуру
30.09.16
✎
19:10
|
(311) сам язык и .net фреймворк вышли на удивление удобными
на том же паскале-дельфи писать менее удобно оказалось |
|||
314
Serginio1
30.09.16
✎
19:11
|
(307) Видно это давно было. Есть и Open XML.
Если не было на C? то был интероп. Особенно на WinMobile/WinCE. Сейчас многое все поменялось. |
|||
315
Garykom
гуру
30.09.16
✎
19:11
|
(312) ну рынок у явы он отжал это не поспоришь
|
|||
316
Garykom
гуру
30.09.16
✎
19:12
|
(314) 10 лет уже как
|
|||
317
Serginio1
30.09.16
✎
19:12
|
(313) Я сам с огромным сожалением оставл Delphi в прошлом.
|
|||
318
Garykom
гуру
30.09.16
✎
19:15
|
(317) угу чего мне сча реально не хватает так это C# + Lazarus, в смысле писать на C# и компиляция под любые платформы в нативный код ((
|
|||
319
Garykom
гуру
30.09.16
✎
19:16
|
(318)+ Без громоздких .Net Framework'ов чтобы запускалось нативно.
Java кстати тоже сча пипец уже с размерами... |
|||
320
Serginio1
30.09.16
✎
19:16
|
(318) Сейчас есть .Net Native. Но, он только вначале пути.
|
|||
321
Garykom
гуру
30.09.16
✎
19:17
|
(320) не взлетит он, не смогут перелопатить весь .Net никак, а без этого смысла уже мало, мощщи классов/либ будет не хватать привычной.
|
|||
322
Gary417
30.09.16
✎
19:18
|
(321) ну всё зависит от желания МС выйти на линукс
|
|||
323
Serginio1
30.09.16
✎
19:21
|
(321) Уже лопатят. .Net Core
https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/ |
|||
324
Serginio1
30.09.16
✎
19:21
|
(322) Так у них есть смысл в облаках. Они там кучу денег зарабатывают.
|
|||
325
Gary417
30.09.16
✎
19:25
|
(324) а причём тут облака и .Net?
|
|||
326
Garykom
гуру
30.09.16
✎
19:37
|
Кста кто еще удивился что MS для своей мобильно-телефонной платформы не додумались реализовать AndroidJava машину?
Или додумались но не смогли? Так бы куча софта/игрушек сразу были для Windows Phone и покупали бы на ура. А то ценник сча смешной (как и на планшеты с Windows 10) но не берутс. Сам взял для отделов более дорогие (хуже технически/функционально) планшеты но зато с Android а не с Windows 10. Ибо повозился и плюнул, нафик мне траблы от отделов. |
|||
327
Gary417
30.09.16
✎
19:38
|
(326) вообщето они хотели, но проект прикрыли
|
|||
328
Gary417
30.09.16
✎
19:39
|
Project Astoria называлось вродбы
|
|||
329
Garykom
гуру
30.09.16
✎
19:39
|
(327) Не-не то что читал то было полный эмулятор android'а включая натив софт а не только под Далвик
|
|||
330
Serginio1
30.09.16
✎
19:48
|
(326) А при том, что они туда перетягивают Linux и прочее и дают свои инструмены.
|
|||
331
Masquerade
30.09.16
✎
19:59
|
(266)
В лоб. Чтоб понятно было. var string_array = new String[] {"hello", "I prefer Jelly Belly beans.", "When hell freezes over!" }; var min_word = string_array.OrderBy(x => x.Length).FirstOrDefault(); var all_indexes = Enumerable.Range(0, min_word.Length+1); var index_pairs = from index1 in all_indexes from index2 in all_indexes where index1 < index2 select new { start = index1, end = index2 }; var all_variations = from index_pair in index_pairs select new { result = min_word.Substring(index_pair.start, index_pair.end - index_pair.start) }; var _max_substring = from variant in all_variations from word in string_array select new { variant_length = variant.result.Length, substring = variant.result, present = word.IndexOf(variant.result)>-1 ,word = word }; var max_substring = _max_substring. Where(x => x.present). GroupBy(x=>x.substring). Where(x=>x.Count()==string_array.Count()). OrderByDescending(x=>x.Key.Length). FirstOrDefault(). Key; Console.Out.WriteLine(max_substring); |
|||
332
Masquerade
30.09.16
✎
20:00
|
(331) +
Можно и в a la одну строчку, но тутошний народец этого не любит)))))) |
|||
333
Serginio1
30.09.16
✎
20:10
|
(326) Да вроде есть https://www.ikvm.net/
Но проблема не в софте. Там и сейчас софта хватает, и аппараты цена качество отменное. Просто народ уже подсел на андроид Ios |
|||
334
Masquerade
30.09.16
✎
20:20
|
(266)
Покороче var string_array = new String[] {"hello", "I prefer Jelly Belly beans.", "When hell freezes over!" }; var all_variations = from start in Enumerable.Range(0, string_array.OrderBy(x => x.Length).FirstOrDefault().Length + 1) from end in Enumerable.Range(0, string_array.OrderBy(x => x.Length).FirstOrDefault().Length + 1) where start < end select new { result = string_array.OrderBy(x => x.Length).FirstOrDefault().Substring(start, end - start) }; var max_substring = String.Empty; foreach (var variant in all_variations.OrderByDescending(x => x.result.Length)) { if (string_array.Select(word => word.IndexOf(variant.result) > -1 ? 1 : 0).Sum() == string_array.Count()) { max_substring = variant.result; break; } } Console.Out.WriteLine(max_substring); |
|||
335
Serginio1
30.09.16
✎
20:49
|
(334) Добавил в PasteBin
<iframe src="//pastebin.com/embed_iframe/jPaqH4dX" style="border:none;width:100%"></iframe> http://pastebin.com/jPaqH4dX |
|||
336
Loky9
30.09.16
✎
22:03
|
(331) Спасибо! Это было познавательно.
(334) (335) И какой вывод можно сделать? |
|||
337
Serginio1
30.09.16
✎
22:49
|
Что в 1С не хватает Linq to SQL и Linq to Object
|
|||
338
Loky9
30.09.16
✎
22:52
|
(337) И статической типизации, конечно же.
|
|||
339
Loky9
30.09.16
✎
23:11
|
Немного побаловался с тем кодом, найденным в инете:
from itertools import permutations def long_substr(data): first, substr = data[0], '' if len(data) > 1 and len(first) > 0: for i, j in permutations(range(len(first) + 1), 2): if j - i > len(substr) and all(first[i:j] in x for x in data): substr = first[i:j] return substr print(long_substr(['hello', 'I prefer Jelly Belly beans.', 'When hell freezes over!'])) |
|||
340
Masquerade
30.09.16
✎
23:51
|
(339)
Тю, так ты еще и в нете код ищешь, а потом сюда постишь... |
|||
341
Loky9
01.10.16
✎
00:00
|
(340) Когда как. Не вижу проблемы.
|
|||
342
Loky9
01.10.16
✎
00:15
|
http://pastebin.com/qsyyjE1N - 100% моё, чтоб вопросов не было. С блэкджеком и ОРМ.
|
|||
343
Masquerade
01.10.16
✎
00:49
|
(342)
Да что там подстроку искать - скука. Вот была задача - есть массив адресов. Один адрес - одна строка. Надо выдрать первую букву улицы/проспекта/площади. На LINQ несколько строк.)))) |
|||
344
Masquerade
01.10.16
✎
00:49
|
(343)
-- На LINQ несколько строк. Не самых коротких, правда)))) |
|||
345
Serginio1
01.10.16
✎
10:49
|
Нужно иметь ввиду, что Linq расширяем за счет своих методов расширителей. Например
http://rsdn.org/forum/prj.codejam/6569269.flat |
|||
346
Masquerade
01.10.16
✎
11:15
|
(345)
Это ты к чему? |
|||
347
Serginio1
01.10.16
✎
12:26
|
(346) Я к тому, что стандартная библиотека прежде всего направлена на Sql. Да и там много не хватает. Но она расширяема.
Например в C++ можно найти минимальное значение для любого типа. В .Net метод Min только для числовых https://msdn.microsoft.com/ru-ru/library/system.linq.enumerable.min(v=vs.110).aspx Но можно расширить например http://rsdn.org/forum/dotnet/6506104.1 В данном случае вместо Enumerable.Range(0, string_array.OrderBy(x => x.Length).FirstOrDefault().Length + 1) Можно написать Enumerable.Range(0, string_array.MinItem(x => x.Length).Length + 1) |
|||
348
Serginio1
01.10.16
✎
12:40
|
А вообще то для данного случая нужно было тспользовать
Enumerable.Range(0, string_array.Min(x => x.Length)+ 1) https://msdn.microsoft.com/ru-ru/library/bb548864(v=vs.110).aspx |
|||
349
Masquerade
01.10.16
✎
14:00
|
(348)
Так можно и всю задачу решить ОДНИМ методом расширения. И то что "стандартная библиотека направлена на SQL" - это твои фантазии. И "вообще-то" тебе предложили написать код - ты слился в лучших традициях. Так что незачет. |
|||
350
Loky9
01.10.16
✎
14:14
|
(343) [i.group(1) for i in map(re.compile(r'(?:\s+|\A)(?:ул|пр-кт|пл)(?:\.|\s+)\s*(\w)', re.I).search, adresses) if i]
Всего делов. |
|||
351
Loky9
01.10.16
✎
16:08
|
(286) В питоне3 появился type hinting. Рантайм типы не проверяются, но любые нуждающиеся средства могут получить подсказку по типу аргумента. IDE это используют
http://savepic.su/7534189.png |
|||
352
Serginio1
01.10.16
✎
21:59
|
(349) Нет не фатазии. Ибо стандартный Linq подходит под IQueryable
https://habrahabr.ru/post/256821/ Что касается Enumerable.Range(0, string_array.MinItem(x => x.Length).Length + 1 То это стандартный метод. А насчет слился считай как хочешь. (351) Вот интересно. Идут по пути TypeScript. Чего и 1С нужно брать на вооружение |
|||
353
Masquerade
01.10.16
✎
22:02
|
(350)
Ты такой простой. Ты не знаешь, как заданы эти сокращения, улица может быть как ул. у-ца улица и прочее. С проспектами и площадями - тоже самое. Максимум что известно, что способ (формат) более менее одинаков. |
|||
354
Serginio1
01.10.16
✎
22:03
|
(349)
Я не знаю чего ты так возмутился Я просто привел стандартный Linq метод string_array.Min(x => x.Length) https://msdn.microsoft.com/ru-ru/library/bb548864(v=vs.110).aspx Вместо string_array.OrderBy(x => x.Length).FirstOrDefault().Length |
|||
355
Loky9
01.10.16
✎
22:13
|
(353) Обычно всё что не определено во вводной берётся на своё усмотрение. Я усмотрел из "Приложение 1 к описанию классификатора адресов Российской Федерации (КЛАДР)". Если однозначно определить вхождение элемента невозможно, задача не решается.
Так что добавьте недостающие варианты в регулярку и не имейте мне мозг. |
|||
356
Masquerade
01.10.16
✎
22:20
|
(355)
-- и не имейте мне мозг. Да больно надо, это не я код из нета сюда пощу с лозунгами :"А ну-ка, девочки!" Это был чисто спортивный интерес - вычислить паттерн формата адреса и извлечь из него искомое. |
|||
357
Loky9
01.10.16
✎
22:24
|
(356) С конкретно тем кодом был подтекст спецом для Garykom
Успехов в освоении регулярок! |
|||
358
Masquerade
02.10.16
✎
00:54
|
(355)
--Если однозначно определить вхождение элемента невозможно, _задача не решается_. Тобой.))) Это значит, что регулярка не работает. А по другому ты не умеешь. Признаешь? |
|||
359
Loky9
02.10.16
✎
00:56
|
(358) Я могу эту примитивную задачу решать как угодно. Хватит понтов.
|
|||
360
Loky9
02.10.16
✎
00:57
|
Неточные методы дают неточные решения. Только и всего.
|
|||
361
Loky9
02.10.16
✎
01:07
|
(344) Жду обещанного решения на LINQ "в несколько строк" уже для строк произвольного формата.
Осилишь? |
|||
362
Masquerade
02.10.16
✎
10:14
|
(361)
А ты в нете поищи. |
|||
363
Loky9
02.10.16
✎
10:15
|
(362) Быстро ты слился.
|
|||
364
Masquerade
02.10.16
✎
10:28
|
(363)
Тебе хватит и того бисера, что я уже наметал |
|||
365
Loky9
02.10.16
✎
10:30
|
Пока вывод: LINQ - громоздкое, бесполезное унылое уг.
|
|||
366
Serginio1
02.10.16
✎
12:12
|
(365) Ну тебе виднее. Огромная куча народа использует в том числе и для SQL. Намного удобнее 1С кого конструктора итд.
|
|||
367
Mauser
02.10.16
✎
22:40
|
(366) Когда очередную статью на хабре ждать?
|
|||
368
Serginio1
03.10.16
✎
10:05
|
(367) Наверное когда уже выйдет .Net Core 1.1
Или, что маловероятно, когда 1С добавит возможность передавать в параметрах и возвращать объекты ВК. Сейчас займусь Xamarin. Посмотрю, что изменилось с времен 1C Messenger для отправки сообщений, файлов и обмена данными между пользователям Если появится, что то интересное, то тоже напишу |
|||
369
Loky9
03.10.16
✎
12:09
|
(366) Виднее. Смотри, берём код (331) и дословно транслируем:
from itertools import groupby string_array = ['hello', 'I prefer Jelly Belly beans.', 'When hell freezes over!'] min_word = min(string_array, key=len) all_indexes = range(len(min_word)) index_pairs = [(index1, index2) for index1 in all_indexes for index2 in all_indexes if index1 < index2] all_variations = [min_word[start:end] for start, end in index_pairs] _max_substring = [(len(variant), variant, variant in word, word) for variant in all_variations for word in string_array] max_substring = max((gkey for gkey, grp in groupby(sorted(filter(lambda x: x[2], _max_substring), key=lambda x: x[1]), key=lambda x: x[1]) if len(tuple(grp)) == len(string_array)), key=len) print(max_substring) Исключительно на базовых средствах получилось более кратко. |
|||
370
Serginio1
03.10.16
✎
13:22
|
(369) Тоже самое и с Linq
Там легко расширить. И вместо min_word = min(string_array, key=len) all_indexes = range(len(min_word)) index_pairs = [(index1, index2) index_pairs=Enumerable.Range(0, string_array.Min(x => x.Length- 1); Все остальное как в .Net Core, обмен с 1C по TCP/IP между различными устройствами Большой разницы не вижу. Особенно если ввести MinItem. Вместо string_array.OrderBy(x => x.Length).FirstOrDefault() string_array.MinItem(x => x.Length) Даже еще короче получится. А вот читаемость у Linq лучше. При этом Автодополнение итд. Кратко, не значит понятно. |
|||
371
Loky9
03.10.16
✎
21:42
|
(370) " Тоже самое и с Linq
Там легко расширить." С другой стороны тоже можно расширить: from itertools import permutations, product, groupby def group_by(iterable, **kwargs): for key, grp in groupby(sorted(iterable, **kwargs), **kwargs): yield key, tuple(grp) string_array = [ 'hello', 'I prefer Jelly Belly beans.', 'When hell freezes over!'] min_word = min(string_array, key=len) all_variations = ( min_word[start:end] for start, end in permutations(range(len(min_word)), 2)) usable_vars = ( variant for variant, word in product(all_variations, string_array) if variant in word) max_substring = \ max((gkey for gkey, grp in group_by(usable_vars) if len(grp) == len(string_array)), key=len) print(max_substring) Кому хочется большего пишут свои линки ( https://github.com/heynemann/pynq/wiki ), или используют бронебойный http://pandas.pydata.org/pandas-docs/stable/10min.html "А вот читаемость у Linq лучше." Я бы не сказал. Ни SQL, ни функциональный стиль, куча дополнительных ключевых слов и с ними правил синтаксиса, борьба с типизацией. "Кратко, не значит понятно." Не значит, но зачастую сопутствует. |
|||
372
Serginio1
03.10.16
✎
22:45
|
(371) Там синтаксиси именно под SQL, но сделан для того, что бы использовать intellisense.
B код под коллекции так же работает и с Таблицами SQL http://catalog.mista.ru/public/402433/ >> Я бы не сказал. Ни SQL, ни функциональный стиль, куча дополнительных ключевых слов и с ними правил синтаксиса, борьба с типизацией. Дело привычки, а автодополнение сокращает время написания и количество синтаксических ошибок. Лень вчитываться, а каков смысл твоего алгоритма? |
|||
373
Loky9
03.10.16
✎
23:21
|
(372) "Лень вчитываться, а каков смысл твоего алгоритма?"
Это всё ещё алгоритм Masquerade . Он берёт самую короткую строку из набора и генерирует все возможные её подстроки. Из полученного набора подстрок отбирает входящие во все строки, а из входящих самую длинную. В итоге получаем самую длинную общую подстроку, о чем спрашивали в Быстрый алгоритм наибольших общих подстрок . Не самый оптимальный алгоритм даже для ложащихся на логику РБД, но он таки с БД работать может. |
|||
374
Garykom
гуру
03.10.16
✎
23:59
|
(373) Интересный алгоритм задачка приводится на sql к куче like'ов
И если слегка допилить то можно реализовать "группировку" по общим подстрокам. |
|||
375
Serginio1
04.10.16
✎
00:31
|
(373) Спасибо. Теперь понятно.
А что касается формирования подстрок, то там и без Linq можно обойтись. Опустим. Сравним Linq foreach (var variant in all_variations.OrderByDescending(x => x.result.Length)) { if (string_array.Select(word => word.IndexOf(variant.result) > -1 ? 1 : 0).Sum() == string_array.Count()) { max_substring = variant.result; break; } } и Питон _max_substring = [(len(variant), variant, variant in word, word) for variant in all_variations for word in string_array] max_substring = max((gkey for gkey, grp in groupby(sorted(filter(lambda x: x[2], _max_substring), key=lambda x: x[1]), key=lambda x: x[1]) if len(tuple(grp)) == len(string_array)), key=len) |
|||
376
Serginio1
04.10.16
✎
01:20
|
Или
if (string_array.Select(word => word.IndexOf(variant.result) > -1 ? 1 : 0).Sum() == string_array.Count()) Можно переписать if (string_array.Count(word => word.IndexOf(variant.result) > -1 ) == string_array.Count()) |
|||
377
Loky9
04.10.16
✎
08:18
|
(375) "Сравним Linq
и Питон" Ты сравниваешь различные конструкции. Приведённой тобой линковой соответствует for variant in sorted(all_variations, key=len, reverse=True): if sum(variant in word for word in string_array) = len(string_array): max_substring = variant break |
|||
378
Serginio1
04.10.16
✎
09:47
|
Ну давай сравним
if sum(variant in word for word in string_array) = len(string_array): и if (string_array.Count(слово=> слово.IndexOf(variant) > -1 ) == string_array.Count()) |
|||
379
Serginio1
04.10.16
✎
09:51
|
По сути это сокращенная Sql инсnруция
if (string_array.Where(слово=> слово.IndexOf(variant) > -1 ).Count() == string_array.Count()) |
|||
380
Loky9
05.10.16
✎
10:41
|
(378) Хочешь сказать линк тут понятнее? Или короче?
|
|||
381
Serginio1
05.10.16
✎
10:47
|
(380) Понятнее. Мало того эта же конструкция прекрасно ложится на SQL
|
|||
382
Loky9
05.10.16
✎
10:51
|
(381) Одна конструкция ложится на другую, но на SQL ложатся не обе? ) Так бывает? Там ещё и кириллицей тоже можно.
|
|||
383
Serginio1
05.10.16
✎
11:03
|
Вернее будет правильнее
if (string_array.Count(слово=> слово.Contains(variant) > -1 ) == string_array.Count()) А, что Unicode в SQL отменили? Но IndexOf работает, прорсто Contains короче http://stackoverflow.com/questions/835790/how-to-do-sql-like-in-linq |
|||
384
Serginio1
05.10.16
✎
11:04
|
Тьфу Копи пасте
if (string_array.Count(слово=> слово.Contains(variant)) == string_array.Count()) |
|||
385
Serginio1
05.10.16
✎
11:06
|
А внутри SQL кстати не будет никакой Киррилицы.
Почитай для интереса Code First и Linq to EF на примере 1С версии 7.7 и 8.3 часть I http://catalog.mista.ru/public/393228/ Продолжение здесь http://catalog.mista.ru/public/402038/ Здесь лежит практика использования http://catalog.mista.ru/public/402433/ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |