Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 112 След.
GUI в XLL, Рассмотрим возможные варианты
 
rsdn:
Введение в COM,
COM
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
GUI в XLL, Рассмотрим возможные варианты
 
Цитата
JeyCi написал:
а кто тогда родитель?..  
а вообще wiki хорошо объясняет
Цитата
Aggregation in COM​.
In Microsoft's Component Object Model, aggregation means that an object exports, as if it were their owner, one or several interfaces of another object it owns. Formally, this is more similar to composition or encapsulation than aggregation. However, instead of implementing the exported interfaces by calling the interfaces of the owned object, the interfaces of the owned object themselves are exported. The owned object is responsible for assuring that methods of those interfaces inherited from IUnknown actually invoke the corresponding methods of the owner. This is to guarantee that the reference count of the owner is correct and all interfaces of the owner are accessible through the exported interface, while no other (private) interfaces of the owned object are accessible.
... вобщем, owner - интерфейс внутри самого COM, методы которого вызываются объектами, чьи интерфейсы наследуются от IUnknown(Ы) через IDispatch(И)...
Изменено: JeyCi - 08.03.2021 08:34:55
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
GUI в XLL, Рассмотрим возможные варианты
 
Цитата
bedvit написал:
(имеется ввиду не общий набор свойств и методов родителя, а именно нужный объект)
вот, bedvit, а кто тогда родитель?.. :) -- думала, что IDispatch - родитель: Практическое использование IDispatch
я просто сейчас немного далека от COM...
но, может быть, вы и правы, возможно я всё ещё путаю класс и объекты им создаваемые... просто, наверно, не помню кто там 1 раз прогружается в память, чтобы быть доступным всем процессам?.. - наверно, сама надстройка COM, которая и порождает разных диспетчеров для разных объектов... т.е. надстройка, как класс, видимо, по сути... возможно её IUnknown ? , от которого и наследует IDispatch
Цитата
IDispatch был разработан как способ управления объектом
- да, судя по всему 1 диспетчер на 1 объект...
p.s.
sorry, что внесла немного путаницу...
p.p.s.
Цитата
bedvit написал:
Сейчас смотрю, сам Excel - как раз калейдоскоп
вот это, действительно, настораживает... тут, вероятно, очень тонкую ювелирную работу придётся провести по внедрению в контекстное меню для каждой ячейки... вобщем моё мнение однозначное - всё к единообразию - чтобы не переключать фокус внимания...
успехов вам и спасибо за пояснения
Изменено: JeyCi - 26.02.2021 07:35:33
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
GUI в XLL, Рассмотрим возможные варианты
 
понятно, что QueryInterface даёт разные объекты... но вот IDispatch почему так размножился - мне не совсем понятно...
Цитата
bedvit написал:
Одна и та же кнопка (это объект со своим идентификатором/интерфейсом  IDispatch) в разных окнах - разные объекты. см. прилож. рис.
Легко можно посмотреть в разных окнах для одной и той же кнопки свойство InstanceIdPtr (VBA).
InstanceIdPtr и так может быть разный даже если с одного IDispatch...
вобщем не буду спорить (не имела ещё таких ситуаций в своей практике), но для себя оставлю на потом для уточнения тему множественного использования интерфейса COM разными клиентами... хотя в вашем случае даже, наверно, и об одном клиенте можно говорить (приложение Office Excel)...
P.S.
кстати если IDispatch у вас будет 1 на все кнопки - то вопрос, надо ли дифференцировать локаль для разных окон отпадёт... имхо...
а вообще, когда рябит в глазах - не очень удобно - поэтому на ваш вопрос о режиме для всех книг сессии дала бы такой же ответ, как уже дала выше, -- единообазно с локалью/режимом для всего excel (т.е. всех открытых книг сессии) и все книги сессии вообще-то тоже единообразны по режиму по природе своей есть... думаю, дёргать режимы здесь - только калейдоскоп или фейерверк устраивать, - это для шоу, не для работы... имхо
Изменено: JeyCi - 25.02.2021 08:36:40
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
GUI в XLL, Рассмотрим возможные варианты
 
Цитата
bedvit написал:
Для каждого нового окна это разные кнопки/команды (в терминах СОМ - разный IDispatch(интерфейс)). Т.е. при создании новой книги, Excel копирует/создает новые кнопки с тем же названием, но с разным IDispatch (по простому - с разным указателем).
т.е. каждый IDispatch прогружается в память сам по себе и AddRef по сути для каждого всегда остаётся 1 ?.. вообще как-то не по предназначению COM... - я-то думала, что загружается в память 1 раз, а потом AddRef может добавлять обращение к интерфейсу IDispatch (в частности через него к QueryInterface) от любого процесса?..
стесняюсь спросить, может не совсем правильно сделано (как по задумке разработчиков COM-технологии)?.. или я не совсем правильно понимаю суть COM?
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
GUI в XLL, Рассмотрим возможные варианты
 
Цитата
bedvit написал:
правда не попало в видеозахват контекстное меню (прилагаю скриншот)
спасибо... вот это кстати удобнее, чем на ленту лазить... а поддерживается ли данный функционал растягиванием выделения на диапазон (крестиком от ячейки) и форматом по образцу (метёлкой)?.. т.е. будет ли его поведение, как поведение формул и форматов Excel там, где это возможно?
Изменено: JeyCi - 06.02.2021 06:40:25
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Access, в сравнении с Excel, Excel , бурно развивается, становится дружелюбнее пользователю. А что Access? Какие либо подвижки есть?
 
Цитата
bedvit написал:
и аналитик уже не сможет сделать отчет о продажах
для аналитики Excel... или вести её в отдельной бд, периодически дообновляя текущие данные (хотя у меня она тоже много места не занимает - по нужным измерениям, и находится в основной бд)
Цитата
bedvit написал:
Несколько баз с однопрофильными данными
никогда не рассматривала такое... разумная декомпозиция - всегда во благо, без этого никак... -- даже в 1C
Цитата
bedvit написал:
поддержка справочников на отсутствие дубликатов, неправильных записей одновременно в нескольких базах это доп.работа
не писала такого - нет необходимости, когда справочники всегда при рабочей бд (кстати вопрос хлама актуален и здесь, историю в историю и в архив лишь для истории)... вы встаньте на место ип и поймёте, что у вас не так уж много рабочих контактов будет (сведения о которых имеют право попасть в бд - т.е. реал. поставщики и взаиморасчёты с ними) - явно не на 1 гб... намного больше др. рутинной работы
Цитата
bedvit написал:
Делать запросы к нескольким базам - доп.работа
изменить путь в text/list-box'e в UF - и снова прогнать запрос, чтобы до-append'ить в отчёт, если надо, - когда это надо совсем уж НЕ часто -- не занимает много времени...
p.s.
я всё-таки придерживаюсь логики соизмеримости бизнеса и бд... никто не говорит, что SQL Server не надо... он нужен только тогда, когда он, действительно, нужен, исходя из объёмов... но до объёмов на 1гб в реальном секторе экономики, а не виртуальном ещё дорасти надо - и сделать это надо в profit, а не в debt... в debt и космодром строить можно - но не рентабельно... предлагаю, не отрывать реальные потребности бизнеса от его IT-обеспечения и самим не отрываться от реалий бизнеса... чтобы хоть как-то порождать рентабельность, а не вечно растущий debt, не обслуживающий своим ростом даже спрос
p.p.s.
а то виртуально можно любой товар в любом количестве наштамповать в бд... а вот реально его реализовать, чтобы по нему зафиксировать движение в бд, - это совсем др. вопрос... и зависит от вида товара - не все группы товаров торгуются так же бойко, как продукты питания в гастрономах... ;)
и Access'а бывает предостаточно для малого бизнеса... особенно сферы услуг, не товаров...
и он очень удобен
Изменено: JeyCi - 05.02.2021 09:46:19
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Access, в сравнении с Excel, Excel , бурно развивается, становится дружелюбнее пользователю. А что Access? Какие либо подвижки есть?
 
Цитата
БМВ написал:
прошли изменения связанные с её развитием
это уже др. история... не юзерская, а developer'a ... да и как правило, :) текущие изменения историческим данным фиолетовы - в рабочем аспекте ... имхо... или вводятся, как update, а не как "всё сломать и сделать сначала"...
а выгрузку отчетных данных даже за несколько периодов всё равно можно append'ить...
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Access, в сравнении с Excel, Excel , бурно развивается, становится дружелюбнее пользователю. А что Access? Какие либо подвижки есть?
 
Цитата
БМВ написал:
сопровождение исторических систем если исполняемый модуль вынесен
не нуждалась... убираю годовую историю... справочники не трогаю... fact_table веду сначала... (не кадры и бухгалтерия - это привела в качестве примера ипшного - не разрабатывала такую бд)
не вижу проблем в UFах иметь путь до дб для выгрузки нужных отчётов, формируемых запросами
Изменено: JeyCi - 04.02.2021 19:14:13
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Access, в сравнении с Excel, Excel , бурно развивается, становится дружелюбнее пользователю. А что Access? Какие либо подвижки есть?
 
Цитата
БМВ написал:
Вы можете создать связи с таблицами из нескольких файлов баз данных, максимальный размер каждого из которых составляет 2 ГБ.  
ничто не мешает вести кадры, бухгалтерию и налоги в разных бд... да и смешивать всё в кучу - смысла нет...
Цитата
bedvit написал:
не может обработать запросом больше 1Гб данных
ну не нужны ИПшникам такие объёмы запросов (если не лить воду в эту бд), а только FactTable (нет у них больших оборотов) и несколько InfoTbls
p.s.
даже Аналитика им не нужна во всех разрезах, только текущие поставщики и много работы offline по поиску выгодной локации, продвижению брэнда и расчётов с поставщиками... НО 80% товара выставляется на полки только для заполняемости торговой площади,  мерчендайзерам работу дают, реальный спрос лишь 20% условно - вот и раздувают такие торговые точки = для рабочих мест и красивого оформления... обороты небольшие!.. а увеличение оборотов уж совсем не количеством предоставляемых товаров достигается, когда выставляют хлам в разных упаковках, а реальным спросом на заполнение реальных нужд и потребностей спроса - их не много... :) время однако - спрос не успевает хотеть многого и лишнего - когда сам даже производить не успевает (= просто не производит) нужное...
Изменено: JeyCi - 04.02.2021 10:56:08
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Access, в сравнении с Excel, Excel , бурно развивается, становится дружелюбнее пользователю. А что Access? Какие либо подвижки есть?
 
Цитата
Андрей VG написал:
Ну, да в 2010 наконец-то добавили триггеры,
- это уже хоть что-то
Цитата
Андрей VG написал:
SQLite на индексах в 3-4 раза быстрее работает - это при его размерах по сравнению с Access.
НО соглашусь с тем, что как раз среда разработки очень удобная - удобнее, чем SQLite... имхо
Цитата
bedvit написал:
Работать нормально в большой и средней компании нет.
ну ведь не для этого он создавался - да хотя бы потому, что ставится на простой HDD, а не серверный... всё-таки база данных и сервер - это понятия немного из разных плоскостей...
разве что проблема у Access со скоростью  сортировки были - но решили в соседней ветке - #118 и #143
Изменено: JeyCi - 04.02.2021 07:53:47
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Один срез для умной и сводной таблицы
 
Цитата
Marina55573 написал:
Есть умная таблица. На ее основе построена сводная.
нет ни умной, ни сводной... читайте правила форума
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
GUI в XLL, Рассмотрим возможные варианты
 
Цитата
bedvit написал:
Ribbon на XML - мощная GUI, с широкими возможностями создания любых своих пожеланий на ленте (пока не реализовал этот вариант в xll, в силу отсутствия знаний, как это сделать красиво)
Программное создание элементов управление, через СОМ-модель Excel сильно беднее по возможностям, выше описывал возможные команды/элементы.
bedvit спасибо за ваши труды!
как по мне, то чем более лаконичен GUI, тем быстрее находишь то, что всегда нужно под рукой, не распыляя глаза по всей ленте... фокус внимания должен отдыхать при поиске инструментов, потому что при использовании далее этих инструментов ему стоит сосредоточится на своей логике... всегда легко работать, когда не отвлекает ничего лишнего и все силы не приходится тратить на выглядывание ещё только инструмента... имхо... чем проще, тем лучше... (кстати поэтому я всегда любила office2003  и до сих пор скептически отношусь к office2007 и выше, хоть и приходится ими пользоваться)
Цитата
bedvit написал:
по вопросу локализации.
по этому вопросу, думаю, что ответ #3 тоже валиден... - про общий стиль...
или, если ориентироваться по моим вкусам, - в "стиле минимализма", чтобы не напрягать фокус внимания постоянно всплывающими переводами... а общий стиль по принципу или-или (или ru локаль, или en локаль) синхронизированно с локалью самого office... - если я правильно поняла ваш вопрос...
p.s.
а ещё лучше под свой брэнд разрабатывать свой дизайн - т.е. одной кнопкой с ленты всё-таки выбросить своё окошко (можно даже со своим логотипом)... но если цель максимально интегрироваться в продукт Microsoft, чтобы стать его частью - то можно  и всё на его ribbon... вобщем это сугубо вопрос самопозиционирования на рынке услуг и маркетинга для своего продукта :) ... о чём кстати тоже не стоит забывать при разработке... имхо
Успехов вам и спасибо за развитие темы.
Изменено: JeyCi - 04.02.2021 07:26:01
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Копирование данных из таблицы на разные листы согласно номера пробы, Макрос
 
Цитата
Сергей Калашник написал:
по каждой пробе с уникальным номером
на VBA -- CreateObject("scripting.dictionary") вам в помощь
собираете в словарь все d1.Item(ваш_unique_num_проба) c нужной инфо по пробе и выгружаете на лист - и так для каждого листа - вам так будет проще...
вариант сложнее - берёте всё в словарь, а на листы выгружаете частичную, только нужную инфо из одного и того же словаря...
ПРИМЕР - VBA Копирование данных между таблицами (в соответствии с критериями),
p.s.
вы бы пример прикладывали с одним листом и на 20 строк - чтобы суть понять, остальное по аналогии... а то смахивает на  задание в раздел Работа, а не на ваш вопрос по excel
Изменено: JeyCi - 11.12.2020 19:45:56
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Возможности разработки взаимодействия с БД (выбор инструментов), Javascript ИЛИ VBScript
 
Цитата
JeyCi написал:
касательно подгрузки из i'net модуль aiohttp НЕ на всех сайтах ОК (хоть и ~5sec): НО при большом количестве запросов (~400) к сайту - Access Denied на многие линки (хоть и не все) ...
- проблема вскрыта - нужен лимит на количество одновременно подгружаемых линков... иначе вылазит Access Denied...
но природа py aiohttp в принципе понятна - вряд ли распараллеливание по fibers, скорее просто асинхронность через один сокет...
Изменено: JeyCi - 26.09.2020 15:12:43
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Возможности разработки взаимодействия с БД (выбор инструментов), Javascript ИЛИ VBScript
 
Выбор языка - Py vs C++ vs Java (для Клиента)
Изменено: JeyCi - 14.04.2020 06:23:57
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Excel и Access могут облегчить друг другу жизнь?, как можно совмещать их способности
 
Цитата
Мартын написал:
Большинство "прослушавших" курсы "программистов" только горазды сыпать красивыми "умными" менеджерскими словечками типа "бизнес аналитика", "бизнес модель", "альфа/бетта/лямбда аналитика", которые особо ничего никому не говорят. Вот и получается, что компьютеры сейчас на порядки мощнее, чем 15-20 лет назад, но из-за слабеньких программистов с менеджерской подготовкой эти монстры тормозят сильнее, чем старенький комп с WIN97 на борту.
вот это и был типичный пример
Цитата
Лалыч написал:
каждый бизнес элемент (блок) важный для раздельной аналитики и обработки выделяешь в отдельную сущность. Это значительно ускоряет работу запросов и упрощает восприятие архитектуры СУБД для последователей.
- когда даже не разработчик, а юзер вещает, что есть хорошо... - ДЛЯ ЮЗЕРА...
задача разработчика - суметь прочитать свою (или не свою) модель ДБ, если надо отрефакторить, а если проект будет развиваться - масштабировать... схема ДБ из #248 - это не схема ДБ, и уж тем более не Business Inteligence логика, хоть автор поста и пытается пропогандировать использование слов "бизнес элементы"...
===
типичный BI: ETL (e.g. PQ) -> DB (star or snowflake schema) -> PP (for Reports, Analysing, with further Forecasting)...
так вот автор часть Analysing оставил, разодранную на клочья, и вещает о том, что ему так удобнее... а попробует сопровождать эту ДБ (или передать кому др. сопровождать этот ад  :D - там и поймёт, на какие ему курсы по программированию дальше идти......................)
... даже администратором ДБ - ему пока не быть... и если разрабатывал сам, то Разработал себе одну из тех болячек, по которой его БД предложит ему обратиться к её специалистам-врачам  
8) - очень тематический пример у его разработчика (#248)... как говориться - кому куда надо...
===
он видимо сам ещё в эту ДБ данные не вносил - в свои т.н. Справочники (своей т.н. ненормализованной дб)...
p.s.
а создал бы одну FactTable - с остальным и в PowerPivot разобрался бы...
- что не нравится мне в ней - хочет железа чем мощнее, тем лучше... при этом не отвечает скоростью и удобством... если уж что-то и менять - то писать своего клиента (вместо и PQ, и PP)... - чисто для скорости на скромном железе (особенно, если проворачиваемые объёмы инфо и не требуют наращивать железо)...
===
хочется ускориться - просто сменить Access на дб с быстрым движком...
Изменено: JeyCi - 30.03.2020 15:36:32
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Алгоритмы
 
Цитата
JeyCi написал: параллельность - это отдельная история
Используем параллельные алгоритмы C++17 для улучшения производительности
Цитата
Прежде всего, параллелизм — это оптимизация.
Если в ходе тестов параллельный алгоритм не даёт преимуществ для разумных значений N, то мы его не распараллеливаем.
- поэтому разработчики библиотек нам нужнее, чем если мы сами начинаем параллелить, разрабатывая велосипед...
с появлением C++v.17 (17-го стандарта) - спасибо тем, кто его разрабатывает :) - они же и тестят свои разработки перед вводом в Стандарт
Цитата
C++17 updated std::search algorithm in two ways:
•you can now use execution policy to run the default version of the algorithm but in a parallel way.
•you can provide a Searcher object that handles the search.
p.s.
в общем и целом линк я уже в принципе где-то оставляла - 10 лучших алгоритмов и структур данных для конкурентного программирования... [но это для threads - потоков, полагаю]
для них можно и свой велосипед изобретать [когда в библах ещё ничего нет или нужен какой свой Wrapper, aka Adapter - паттерн проектированя] ...
Распараллеливание задач через функцию «Подождать до завершения подзадач» - в принципе во многих языках async await-реализация уже присутствует... [это для async - полагаю]
p.p.s.
не забывая, что распаралеливание бывает на уровне ядра (для CPU-bound задач) и на уровне данных (для IO-bound задач)... имхо... не путать потоки и асинхронность между собой
Изменено: JeyCi - 25.03.2020 08:52:57
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Алгоритмы
 
строки в DLL (Unicode <-> ANSI) - линк здесь
Изменено: JeyCi - 25.03.2020 07:08:50
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Алгоритмы
 
справедливости ради, всё-таки отмечу...
насколько помню, многие библиотеки С++ изначально появлялись из VB-библиотек вроде... и в VB-библиотеках можно найти что-то интересное... проблема не в VBA, а именно в способах взаимодействия VBA с объектной моделью Excel - НЕ быстро... по сравнению с С/C++, который взаимодействует с объектной моделью Excel на порядок быстрее... - т.е. работа с самими ячейками и т,д, Excel'я...
хотя, конечно, на нынешнем этапе возможности стандарта C/C++ достаточно разрослись и не все они, полагаю, внедрены в vb/vba... имхо
Изменено: JeyCi - 25.03.2020 06:24:22
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Алгоритмы
 
С++: (из работы bedvit по сортировке)
Цитата
concurrency::parallel_buffered_sort    //указателей !!
нашлась статья в тему - Vector of Objects vs Vector of Pointers And Memory Access Patterns - т.е. если использовать параллельную сортировку, да ещё и указателей, а не самих данных... [даже какие-то графики производительности по использованию указателей]
N.B. параллельность - это отдельная история - но приятно, что на C++ её уже и писать не надо, она часто реализована в самом стандарте C++ (его библиотеках)... раньше многие из них можно было найти в boost-библиотеках (доп. к стандарту)
===
параллельность + указатели = скорость алгоритма... сами алгоритмы - многие - уже реализованы в std::algorithms - даже изобретать велосипед не надо
Изменено: JeyCi - 25.03.2020 06:26:12
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Возможности разработки взаимодействия с БД (выбор инструментов), Javascript ИЛИ VBScript
 
Цитата
JeyCi написал:
... А если правильно выбрана Архитектура??... и правильно выбраны инструменты для реализации...
продолжение на С++... (сугубо по собственным задачам проекта - Архитектура в первом приближении)...
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Алгоритмы
 
нельзя не вспоминать разработки на С/С++ от bedvit:
ArraySortV (Variant) , (1-й код) ,  
ArraySortS (String) ,
Transpose ,
Vlookup ,
FilterUnicodeChar ,
Replace,
InStr ,
Bignum arithmetic ,
Многопоточность в VBA .....
это всё на основе Программирование с использованием API C в Excel
Изменено: JeyCi - 08.03.2020 08:22:14
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Возможности разработки взаимодействия с БД (выбор инструментов), Javascript ИЛИ VBScript
 
... и суровая правда жизни программистов  :evil:
(которую непрерывно отказываются понимать заказчики  8-0 ):
Цитата
совершенно очевидно, что для любого ТЗ можно легко придумать такую правку, из-за которой придется радикально переписывать программу.
P.S.
... А если правильна выбрана Архитектура??... и правильно выбраны инструменты для реализации... -- время покажет
Изменено: JeyCi - 08.03.2020 10:40:08
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Возможности разработки взаимодействия с БД (выбор инструментов), Javascript ИЛИ VBScript
 
Цитата
JeyCi написал: -- значит над #158, вероятно, надо ещё поколдовать - чтобы скачивать и скидывать данные каждые в свой файл... хоть в таком ТЗ вроде и нет задач для ЦП, но куда-то они (данные) утекают не доходя до файла??...
SORRY  :oops:
был у меня такой код (доработанный из примера #158) - долго не использовала - вспомнила, откуда там появлялись пустые файлы - там проверка получаемой строки с url'a на ответ "Access Denied" (т.к. запросы в сеть на сторонний сайт, и не через ASP MVC, а просто кодом Python) ==> это была не проблема асинхронности, а вопрос защиты стороннего сайта.....
и не Race Condion это был  8)
p.s.
ну хоть в вопросы асинхронности заглянули ещё раз  :)
значит, асинхронность - это хорошо, но только когда обращаешься к своему серверу/сайту
Изменено: JeyCi - 20.02.2020 15:32:10
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Возможности разработки взаимодействия с БД (выбор инструментов), Javascript ИЛИ VBScript
 
Цитата
JeyCi написал:  :(  вот так путаница и возникает - как следствие: пока не проверишь, не знаешь, с чем имеешь дело...
но в принципе Microsoft расставляет всё по своим местам в своей документации по C# - Асинхронное программирование
Цитата
Перед написанием любого кода нужно ответить на два вопроса.
1.Будет ли код "ожидать" чего-либо, например данных из базы данных?
Если ответ утвердительный, то ваша задача ограничена производительностью ввода-вывода. (IO-bound)
2.Будет ли код выполнять очень сложные вычисления?
Если ответ утвердительный, то задача ограничена ресурсами процессора. (CPU-bound)
!!!
Если ваша задача ограничена производительностью ввода-вывода (IO-bound), используйте async и await без Task.Run. Библиотеку параллельных задач использовать не следует. Причина этого указана в статье Подробный обзор асинхронного программирования.
Подробный обзор асинхронного программирования
Цитата
Код async, связанный с использованием ЦП, немного отличается от кода async, связанного с операциями ввода-вывода. Поскольку работа выполняется на ЦП, невозможно избежать выделения потока для вычислений. Использование async и await предоставляет чистый способ взаимодействия с фоновым потоком и позволяет объекту, вызвавшему асинхронный метод, по-прежнему реагировать на новые запросы. Обратите внимание, что это не обеспечивает защиту общих данных. Если вы используете общие данные, все равно потребуется применять соответствующую стратегию синхронизации.
Цитата
CalculateResult() выполняется в потоке, в котором он вызывался. Когда он вызывает Task.Run, он помещает дорогостоящую операцию, связанную с ЦП, DoExpensiveCalculation(), в очередь пула потоков и получает дескриптор Task<int>. DoExpensiveCalculation() в конечном счете выполняется параллельно в следующем доступном потоке
-- значит над #158, вероятно, надо ещё поколдовать - чтобы скачивать и скидывать данные каждые в свой файл... хоть в таком ТЗ вроде и нет задач для ЦП, но куда-то они (данные) утекают не доходя до файла??... какую-то защиту, вероятно, надо бы создать... ИЛИ (как в цитате)
Цитата
Если вы используете общие данные, все равно потребуется применять соответствующую стратегию синхронизации.
Изменено: JeyCi - 20.02.2020 15:28:40
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Возможности разработки взаимодействия с БД (выбор инструментов), Javascript ИЛИ VBScript
 
доп к #193 -
Итак, чтобы добраться до истины -
то, что кто-то где-то называл асинхронностью может оказаться многопоточностью по сути
, надо вспомнить пост от bedvit
Цитата
Race Condition относится к Многопоточности
и мой пост
Цитата
в более ранних статьях и разработках на Python - какие-то проблемы с лексикой - когда смешивают в кучу асинхронность и многопоточность
Терминология - Многопоточное vs асинхронное программирование
вводя условное слово Task  в примерах по асинхронности на Python - разработчики Python в скором времени получают иную интерпретацию и смысл слова Task от Microsoft в их TASK PARALLEL LIBRARY (TPL) - NET 4.0
Цитата
нет возможности использовать оптимальное количество потоков в зависимости от имеющегося оборудования, если явно об этом не позаботиться.
Иными словами, вместо решения прикладной задачи разработчик вынужден кучу сил тратить на борьбу с недружественным окружением.
Решение этих проблем в TPL начинается с того, что вместо привычных потоков вводится другая базовая абстракция – Task (задача).
--- но тем не менее это параллелизм...  :excl: (по крайней мере в контексте TPL от Microsoft - создаётся ощущение из той статьи - ссылка ниже)... хотя Асинхронное программирование в C# 5  :( вот так путаница и возникает - как следствие: пока не проверишь, не знаешь, с чем имеешь дело...
***
по Параллелизму - описание цитаты и др. нюансов в статье на RSDN.org - Эпоха параллельности ... там же про LINQ и про PLINQ
Цитата
Существует довольно большой класс задач работы с данными, который отлично распараллеливается и естественным образом разбивается на оптимально гранулированные подзадачи, о которых говорилось ранее – это различного рода объединения, фильтрация, группировка и прочие операции с наборами данных. В .Net 3.5 для такого рода задач была представлена библиотека декларативных запросов – LINQ, и это отличный кандидат на автоматическое распараллеливание. Собственно, о привлекательности декларативности в этом аспекте уже говорилось ранее. Когда код декларативен, очень многие решения можно отдать на откуп компилятору/оптимизатору/библиотеке, которые лучше знают о конкретном окружении, числе ядер и прочих особенностях... PLINQ ровно это и демонстрирует
[хотя для считывания JSON и LINQ to Json (цель - запросы) не нужен в c#, достаточно просто библы Newtonsoft, aka JSON.NET]... но для Join'ов разных json'ов (если надо) - только LINQ
P.S.
в той статье на RSDN и проблема Out of Memory объяснена
Цитата
если бы каждая итерация была потяжелее (или алгоритм вообще реализовывался через рекурсию), то все эти потоки висели бы в памяти, что в перспективе привело бы к OutOfMemory
о чём впрочем bedvit и писал
Цитата
потоки будут стоять в очереди на ядро
---
вобщем всё дело терминологии языка - это дело абстракций и их сути, которые насоздавали в разные времена в разных языках без оглядки на конкурентов (очередное доказательство тго, что сотрудничество всегда лучше конкуренции)... отсюда и возникает путаница и затраты времени на поиск объяснений "что это значит" при попытке выбрать более соотв. язык, чем VBA для тех или иных задач - (например для ускорения с помощью добавления асинхронности)
хотя возможно и библиотеки NET с их асинхр. возможностями можно как-то подключить в VBA... но пока тупо через Tools/Reference не вижу возможностей... только создание надстроек на C#... хотя тоже вопрос спорный ввиду IL природы c#'а - т.к. Comparing LINQ with Stored Procedure - Stored procedures Сервера по скорости более выгодны, чем LINQ  :excl:  (тестировать не хочу, поверю статье по линку)
Изменено: JeyCi - 20.02.2020 10:20:00
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Возможности разработки взаимодействия с БД (выбор инструментов), Javascript ИЛИ VBScript
 
Цитата
JeyCi написал: Касательно Архитектуры
всё не так сложно - хорошие ответы на форуме кибера - даже без книжек  :)
Как придумать классы по описанию проекта
ООП, понимание абстрактных классов/методов и т.п
Какую архитектуру программы лучше выбрать?
... и иные из той же ветки и там же...
Изменено: JeyCi - 16.02.2020 11:31:30
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Возможности разработки взаимодействия с БД (выбор инструментов), Javascript ИЛИ VBScript
 
Цитата
JeyCi написал: дополнение к объяснению по python о целесообразности использования async/await именно совместно с асинхр. методами, а не какими другими...
добавила ремарку к коду #158, который набросала ещё тогда
Цитата
пример aiofiles -- PROBLEM: Race Condition !!
- т.е. асинхр библа python'a всё равно не защитила от Race Condition !
то ли дело в библе, то ли в коде -- просто оставляю пост для инфо... - не все json-структуры сохраняются в файлы...
библиотеки С# ещё не пробовала
Изменено: JeyCi - 20.02.2020 10:05:17
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Создание алгоритма распределения плана продаж на территории
 
Цитата
Python777 написал: Создание алгоритма распределения плана продаж на территории
распределения - тоже статистический термин!... видится мне, вы не совсем представляете его суть... алгоритма у него нет... но есть алгоритм поиска его (вида распределения)... и его создавать не надо - надо открывать учебники по стат. обработке и прогнозированию... или может быть в эконометрике
p.s.
но вид распределения определяется из совокупности наблюдений... у вас же одно наблюдение за один месяц (если бы было за несколько месяцев, то тоже по одному - на одной территории)... вобщем достоверность прогноза в любом случае будет с потолка (+ не учитываете уровень дохода покупателей, активность конкурентов и иные внешние факторы) -- поэтому и тема не особо интересна -- т.к. делать по уму - можно и диплом писать... а наляпать формул - можно и в сети найти... имхо
Изменено: JeyCi - 16.02.2020 07:48:18
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 112 След.
Наверх