powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Применение автономной работы с бд на практике
330 сообщений из 330, показаны все 14 страниц
Применение автономной работы с бд на практике
    #38848138
faustmangos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такой вопрос - для чего нужна автономная работа с бд? Какой от этого прок на практике? Зачем майкрософты влили в ado.net возможность локально создать множество таблиц наладить между ними связи, ограничения, создать представления и другие примитивы бд?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848144
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangosТакой вопрос - для чего нужна автономная работа с бд? Какой от этого прок на практике? Зачем майкрософты влили в ado.net возможность локально создать множество таблиц наладить между ними связи, ограничения, создать представления и другие примитивы бд?
это тот редкий случай когда мс сделал что то правильно, но как всегда потом забил на это, так как это сложно развивать
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848147
faustmangos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViPRos, поясни? почему правильно и как и в какой ситуации это можно применить
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848149
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangos,

а почему ты думаешь что бд должна быть доступна только не автономно?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848156
faustmangos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViPRos, ну например потому что база данных может быть удалена от клиента, получается ему придется скачать всю бд в свою бд? а клиентов может быть много и при изменении базы одним клиентом другой не увидит изменений в своей бд, и толку тогда вообще от этого?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848163
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangos,

каких клиентов? почему обязательно их должно быть много??
почему надо что то куда то качать?
доступ к БД может быть как многопользовательский, так и однопользовательский
если ты все это говоришь про DataSet, DbContext и т.д., то уточни, что тебе в них не нравится
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848168
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangosТакой вопрос - для чего нужна автономная работа с бд? Какой от этого прок на практике? Зачем майкрософты влили в ado.net возможность локально создать множество таблиц наладить между ними связи, ограничения, создать представления и другие примитивы бд?"отсоединённый режим" != "автономная работа".

Для автономной работы нужен не DataSet, для этого нужна локальная БД и её репликация с центральной БД.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848171
faustmangos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViPRos, Задачка - есть сеть магазинов в городе(1,2,3...) у них есть общий склад из которого они пополняют свои запасы и тд. Для учета запасов на складе есть база данных. Товары в магазах пополняются по заумному алгоритму - кто первый взял со склада того и запасы. У магазина "1" кончились памперсы, менеджер Вася видя что памперсы закончились, проверяет базу данных запасов на складе и видит что там осталось 10 памперсов и решает забрать их все. Затем у магазина "2" тоже кончаются памперсы и менеджер Витя видит что на складе тоже 10 памперсов и забирает их все. Через пол часа на складе разворачивается драка за памперсы. Вопрос к задаче - зачем нужны автономные бд.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848174
faustmangos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей К, ну значит зачм нужен отсоединенный режим?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848176
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangosАлексей К, ну значит зачм нужен отсоединенный режим?А как лучше? При запуске программы открыть одно соединение с БД, и пусть все потоки с ним работают?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848180
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangosViPRos, Задачка - есть сеть магазинов в городе(1,2,3...) у них есть общий склад из которого они пополняют свои запасы и тд. Для учета запасов на складе есть база данных. Товары в магазах пополняются по заумному алгоритму - кто первый взял со склада того и запасы. У магазина "1" кончились памперсы, менеджер Вася видя что памперсы закончились, проверяет базу данных запасов на складе и видит что там осталось 10 памперсов и решает забрать их все. Затем у магазина "2" тоже кончаются памперсы и менеджер Витя видит что на складе тоже 10 памперсов и забирает их все. Через пол часа на складе разворачивается драка за памперсы. Вопрос к задаче - зачем нужны автономные бд.
ну после того как Вася забрал, на складе уже нечего забирать Вите
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848183
faustmangos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей К, ок. тогда мы получаем данные из базы данных в датасет и с ним работаем, скорость выше, нагрузка на удаленную бд нулевая - это получается отсоединенный режим? Тогда витя не увидит изменения базы данных васей
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848184
faustmangos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViPRos, ага, только у вити отображается что в базе данных все присутсвует у них же отсоединенный режим, и у каждого на компе своя бд в датасете
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848186
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangosАлексей К, ок. тогда мы получаем данные из базы данных в датасет и с ним работаем, скорость выше, нагрузка на удаленную бд нулевая - это получается отсоединенный режим? Тогда витя не увидит изменения базы данных васейДанные в DataSet можно обновлять как угодно часто.

Отсоединённый режим - это некая программная модель, позволяющая автоматически регулировать нужное количество соединений к БД, в том числе в условиях многопоточности. Перед тем как критиковать, есть смысл ознакомиться с ней более подробно, узнать про connection pool и прочее.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848187
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangosViPRos, ага, только у вити отображается что в базе данных все присутсвует у них же отсоединенный режим, и у каждого на компе своя бд в датасете
значит плохо отсоединили
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848188
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangosViPRos, ага, только у вити отображается что в базе данных все присутсвует у них же отсоединенный режим, и у каждого на компе своя бд в датасетеВыше было отмечено, что DataSet != БД.

DataSet - это некая структура данных. Она обычно содержит данные, отображаемые в данный момент на экране.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848190
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КfaustmangosТакой вопрос - для чего нужна автономная работа с бд? Какой от этого прок на практике? Зачем майкрософты влили в ado.net возможность локально создать множество таблиц наладить между ними связи, ограничения, создать представления и другие примитивы бд?"отсоединённый режим" != "автономная работа".

Для автономной работы нужен не DataSet, для этого нужна локальная БД и её репликация с центральной БД.+1
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848191
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosfaustmangosТакой вопрос - для чего нужна автономная работа с бд? Какой от этого прок на практике? Зачем майкрософты влили в ado.net возможность локально создать множество таблиц наладить между ними связи, ограничения, создать представления и другие примитивы бд?
это тот редкий случай когда мс сделал что то правильноА в чём правильность-то?

ИМХО с объектами в памяти проще и оптимальнее работать, чем с DataSet-ами.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848192
faustmangos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей КОтсоединённый режим - это некая программная модель, позволяющая автоматически регулировать нужное количество соединений к БД, в том числе в условиях многопоточности. Перед тем как критиковать, есть смысл ознакомиться с ней более подробно, узнать про connection pool и прочее.

во уже что-то толковое
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848199
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAViPRosпропущено...

это тот редкий случай когда мс сделал что то правильноА в чём правильность-то?

ИМХО с объектами в памяти проще и оптимальнее работать, чем с DataSet-ами.
а при чем тут простота и непонятная "оптимальность" (что за критерии?)
объекты вшитые в код - это очень жестко - если состояние объекта не = код сам
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848202
faustmangos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как я понял то если именно в базе данных произошли изменения об этом никак не узнать и всеравно придется каждый раз загружать весь dataset
и плюс получается только в том, что при изменении данных в dataset он отправит только эти измененные данные
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848222
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANAпропущено...
А в чём правильность-то?

ИМХО с объектами в памяти проще и оптимальнее работать, чем с DataSet-ами.
а при чем тут простота и непонятная "оптимальность" (что за критерии?)Ты ключевое слово "память" пропустил.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848223
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangosкак я понял то если именно в базе данных произошли изменения об этом никак не узнать и всеравно придется каждый раз загружать весь dataset
и плюс получается только в том, что при изменении данных в dataset он отправит только эти измененные данныеПочему весь? DataSet умеет Merge.
И узнать всегда можно об изменениях. DataSet тут не при чём.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848224
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangosкак я понял то если именно в базе данных произошли изменения об этом никак не узнать и всеравно придется каждый раз загружать весь datasetДа. А что в этом странного? В других системах можно сделать как-то по другому? Тут главное не тянуть много данных на клиента БД, только то, что хотим показать пользователю.

В MSSQL можно подписаться на изменения в БД (см SqlDependency), но обычно этим не пользуются, особенно при большом количестве пользователей.

faustmangosи плюс получается только в том, что при изменении данных в dataset он отправит только эти измененные данныеДа, это одно из преимуществ DataSet - возможность отслеживания изменений.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848243
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВ MSSQL можно подписаться на изменения в БД (см SqlDependency), но обычно этим не пользуются, особенно при большом количестве пользователей."Необходимо и достаточно" в MSSQL использовать timestamp/rowversion при любом количестве подписчиков.
Аналогично в Oracle - ORA_ROWSCN.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848245
faustmangos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
значит я беру в бд источнике налаживаю первичные ключи, внешние ключи и тд пишу всякие триггеры, представления а потом беру датасет заливаю из бд таблички и все по новой расставляю? а что если у меня при изменении записи в источнике бд срабатывает триггер и он чето выполняет над бд? как мне сделать тоже самое в датасете раз уж я отсоединенно работаю? написать тот же триггер в виде функции ползающей по дататейблам?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848250
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangos,

лучше делать не там и не тут, в середине, а там и тут сгенерировать :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848253
faustmangos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViPRos, спасибо профэссор, ваши ответы всегда бьют в цель моего незнания
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848255
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangos,

ну че тут знать то? надо и Датасет и БД сгенерировать из концептуальной модели
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848258
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangosзначит я беру в бд источнике налаживаю первичные ключи, внешние ключи и тд пишу всякие триггеры, представления а потом беру датасет заливаю из бд таблички и все по новой расставляю? а что если у меня при изменении записи в источнике бд срабатывает триггер и он чето выполняет над бд? как мне сделать тоже самое в датасете раз уж я отсоединенно работаю? написать тот же триггер в виде функции ползающей по дататейблам?Нет. Сказали же, DataSet != БД. В DataSet нужно хранить результаты запросов.

А лучше с DataSet вообще не связываться, лучше сразу использовать Entity Framework.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848259
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mvАлексей КВ MSSQL можно подписаться на изменения в БД (см SqlDependency), но обычно этим не пользуются, особенно при большом количестве пользователей."Необходимо и достаточно" в MSSQL использовать timestamp/rowversion при любом количестве подписчиков.
Аналогично в Oracle - ORA_ROWSCN."тёплое" vs "мягкое"
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848266
faustmangos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей К, DataSet же не просто для хранения результатов запросов, а для последующей обработки этих результатов и запись измененных результатов в бд

значит выходит, что работать с DataSet можно так:
1) использовать точную копию бд, путем генерации концептуальной модели (с) Профэссор, и как я понимаю надо будет полностью скопировать логику базы данных в программу, а она может быть сложной, и тогда вопрос зачем вообще нужны все эти объекты типа процедур и триггеров в базе данных?
2) использовать часть бд, а если в бд сложная логика то надо будет постараться наладить связи между огрызком бд в проге с бд источником

и самый отстой - Вася залил бд в свой датасет удалил оттуда запись но из бд она еще не удалилась, т.к. он еще не обновлял ее данными из своего датасет, в это время Витя на другом проводе заливает бд с еще не удаленной записью в свой датасет и там ее видит, и тут Вася обновляю источник данными из датасета. Т.е. выходит у Вити запись осталась, а Васи меня удалилась? И тут Витя начинает работать с этой записью и изменяет эту запись в датасете, затем через какоето время он обновил источник своими данными. Что будет в базе данных в результате?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848267
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangos,

ну почитай про пессимизм, оптимизм при работе с данными
бд целиком в датасет обычно не надо, надо именно "огрызок", но целостный (подсхема называется), а не "результат запросов"
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848272
faustmangos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
короче DataSet нужен для решения проблемы большого количества соединений, но решает он ее "по-свойму", тупым закачиванием все себе на комп, созданием там утопии работы с базы данных - свои отношения свои ключики, быстрый доступ к данным в памяти блаблабла, но стоп, что он решал? большое кол-во соединений? значит у нас 100 клиентов и каждый качнул себе парочку огрызков бд поработал с ним и слил обратно в бд а там что теперь кеся меся или как? либо каждому клиенту обновлять этот датасет каждый раз? тогда возвращаемся к тем же постоянным соединениям

единственный плюс который я вижу в datasete так это работа с xml
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848281
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangos,

ну возьми вместо датасета любой ORM, тот же EF, представь работу с ним. Клиент запрашивает из БД данные, получает, например, несколько десятков объектов (что равноценно нескольким десяткам строк в datatable). Отображает эти объекты в UI. Человек, поработав с ними, обновляет БД. Но до этого другой клиент уже успел обновить эти же данные. Что получаем?

Меня всегда поражало, почему такие вопросы возникают в связи с dataset/datatable, но те же самые проблемы при работе с ORM или врукопашную (читаем через datareader, вручную маппим на объекты, потом пишем через datawriter) воспринимаются как само собой разумеющееся.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848287
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кsphinx_mvпропущено...
"Необходимо и достаточно" в MSSQL использовать timestamp/rowversion при любом количестве подписчиков.
Аналогично в Oracle - ORA_ROWSCN."тёплое" vs "мягкое"Не теплое и не мягкое, а способ выделения и получения изменений из базы данных без плясок с бубнами. И будет это работать даже с оффлайн клиентами при любом их количестве (в отличие от).
А вообще - RTFM :
SqlDependency(бла-бла-бла)
Примечание SqlDependency предназначен для использования в приложениях ASP.NET или службах промежуточного уровня , когда относительно небольшое количество серверов имеют активные зависимости от базы данных. Этот объект не предназначен для использования в клиентских приложениях , где сотни и тысячи клиентских компьютеров могут поддерживать объекты SqlDependency, связанные с одним сервером базы данных.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848289
faustmangos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
petalvik, да ты прав, но дело в том, что datareader работает намного быстрее dataset и датасет эффективен если использовать его для того, чтобы он синхронизировал сразу по несколько измененных строк, т.е. надо дождаться пока не наберется какоето количество изменений, но тогда и начинаются проблемы с множественным доступом, а с помощью dbcommand можно апдейтнуть только 1 запись, хоть и придется потратится на соединение зато шанс что ты работаешь впустую и ктото просто потом своим датасетом перепишет твои данные уменьшается
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848300
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangosшанс что ты работаешь впустую и ктото просто потом своим датасетом перепишет твои данные уменьшаетсяВо-первых, использовать нужно DataAdapter (как где-то здесь ) и, во-вторых, оптимистическую блокировку
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848317
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangospetalvik, да ты прав, но дело в том, что datareader работает намного быстрее dataset и датасет эффективен если использовать его для того, чтобы он синхронизировал сразу по несколько измененных строк, т.е. надо дождаться пока не наберется какоето количество изменений, но тогда и начинаются проблемы с множественным доступом, а с помощью dbcommand можно апдейтнуть только 1 запись, хоть и придется потратится на соединение зато шанс что ты работаешь впустую и ктото просто потом своим датасетом перепишет твои данные уменьшаетсяВы пишете свою первую программу? Может начать с реальных требований, а не фантазий?

Используйте DataAdapter, как уже предложили выше. Внутри него как раз таки datareader с dbcommand.

Что будет делать Ваш Вася, если у него интернет отвалится на пару часов? Магазин закроет на это время?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848322
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangosЗадачка - есть сеть магазинов в городе(1,2,3...) у них есть общий склад из которого они пополняют свои запасы и тд.
Один из вариантов решения задачи: общая БД, доступная online всем магазинам в городе (доступ через OData или Web API). Самый простой и надежный способ. Требуется хороший интернет канал, клиенты подключаются через Wi-Fi.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848430
faustmangos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAИспользуйте DataAdapter, как уже предложили выше. Внутри него как раз таки datareader с dbcommand.


кэп?

skyANAЧто будет делать Ваш Вася, если у него интернет отвалится на пару часов? Магазин закроет на это время?


мм, списывать памперсы которых нет уже на складе? Если инет отвалился значит со складом на это время работа закрыта, магазин то тут причем?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848438
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangosskyANAИспользуйте DataAdapter, как уже предложили выше. Внутри него как раз таки datareader с dbcommand.


кэп?

skyANAЧто будет делать Ваш Вася, если у него интернет отвалится на пару часов? Магазин закроет на это время?


мм, списывать памперсы которых нет уже на складе? Если инет отвалился значит со складом на это время работа закрыта, магазин то тут причем?То есть данные о продажам памперсов магазин заносит в другую базу?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848440
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangos, есть памперсы в магазине, есть памперсы на складе, но нет интернета.
Магазин в это время работает, с какими данными, откуда они читаются и куда пишутся?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848442
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

да какаша у него пока в башке, ему уже все рассказали
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848465
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAИМХО с объектами в памяти проще и оптимальнее работать, чем с DataSet-ами.
Не всегда, хорошо когда четко можно классы объектов в модели определить.
А бывает что из трех таблиц нужно формировать 20 различных наборов данных и не известно, какой набор данных юзеру завтра еще понадобится.
Двадцать классов лепить и еще какие динамические классы придумывать не комильфо. Датасеты с таблицами в таких сучаях удобнее, хотя и тормознутее.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848469
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAИМХО с объектами в памяти проще и оптимальнее работать, чем с DataSet-ами.
Не всегда, хорошо когда четко можно классы объектов в модели определить.
А бывает что из трех таблиц нужно формировать 20 различных наборов данных и не известно, какой набор данных юзеру завтра еще понадобится.
Двадцать классов лепить и еще какие динамические классы придумывать не комильфо. Датасеты с таблицами в таких сучаях удобнее, хотя и тормознутее.Шаблон спецификация, Query Object, CQRS, нет?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848474
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAШаблон спецификация, Query Object, CQRS, нет?
Ага, но гемора не меньше чем с датасетами, а прозрачность кода просто ппц.
Ваще топик баян :(
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848478
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAШаблон спецификация, Query Object, CQRS, нет?
Ага, но гемора не меньше чем с датасетами, а прозрачность кода просто ппц.
Ваще топик баян :(Прозрачность кода? В каком плане?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848483
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВ каком плане?
Хрен разгребешь.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848497
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAВ каком плане?
Хрен разгребешь.Да ладно, наоборот, см. картинку :)

Command and Query Responsibility Segregation (CQRS) на практике
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848499
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Абсолютно прозрачно откуда у тебя запрашивается набор данных.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848517
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAEDUARD SAPOTSKIпропущено...

Хрен разгребешь.Да ладно, наоборот, см. картинку :)

Command and Query Responsibility Segregation (CQRS) на практике


Хня какая-то. Ну дал юзер команду на полученние набора данных, команда прошла по синей цепочке. Получил юзер набор данных который сформировался из хрен знает скольких таблиц, прошло это по красной цепочке. А потом юзер меняет данные и изменения нужно сохранить в БД... И чо? Каким хреном синяя цепочка поймет что где менять в БД нужно?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848519
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAпропущено...
Да ладно, наоборот, см. картинку :)

Command and Query Responsibility Segregation (CQRS) на практике


Хня какая-то. Ну дал юзер команду на полученние набора данных, команда прошла по синей цепочке. Получил юзер набор данных который сформировался из хрен знает скольких таблиц, прошло это по красной цепочке. А потом юзер меняет данные и изменения нужно сохранить в БД... И чо? Каким хреном синяя цепочка поймет что где менять в БД нужно?Ты не понял даже базовой идеи :) Команды они не для получения данных.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848521
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

дык он и спрашивает, как формировать команду?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848537
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

дык в статье и картинки есть и эволюция кода расписана :) Может пусть конкретно спросит, что не понятно?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848542
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМожет пусть конкретно спросит, что не понятно?
Дык вроде всем понятно что спросил.
ViPRosкак формировать команду?
Есть у тебя в БД таблицы со столбцами:
A(A0, A1, A2)
B(B0, B1, B2)
C(C0, C1, C2)
Ты получил набор данных который отдал юзеру:
D(A1, C1, C2, B0)
Поменял юзер в наборе параметры C1 и B0 каким хреном создать команду что бы изменения сохранить?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848579
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAМожет пусть конкретно спросит, что не понятно?
Дык вроде всем понятно что спросил.
ViPRosкак формировать команду?
Есть у тебя в БД таблицы со столбцами:
A(A0, A1, A2)
B(B0, B1, B2)
C(C0, C1, C2)
Ты получил набор данных который отдал юзеру:
D(A1, C1, C2, B0)
Поменял юзер в наборе параметры C1 и B0 каким хреном создать команду что бы изменения сохранить?
С каких это пор "наборы" должны куда-то сохраняться? Сохраняются изменения в таблице, а не в каком-то абстрактном джойне.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848580
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ Сохраняются изменения в таблице , а не в каком-то абстрактном джойне.
Молодец. С наступившим. В том и вопрос, как skyANA это сделать предлагает в представленной архитектуре.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848582
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAМожет пусть конкретно спросит, что не понятно?
Дык вроде всем понятно что спросил.
ViPRosкак формировать команду?
Есть у тебя в БД таблицы со столбцами:
A(A0, A1, A2)
B(B0, B1, B2)
C(C0, C1, C2)
Ты получил набор данных который отдал юзеру:
D(A1, C1, C2, B0)
Поменял юзер в наборе параметры C1 и B0 каким хреном создать команду что бы изменения сохранить?Пользователь выполнил какое-то действие в каком-то контексте, этому действию и соответсвует команда.

В статье же даже простой пример есть:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public class DeleteUserCommand : ICommand<DeleteUserContext>
{
    private readonly ISession session;
 
    public DeleteUserCommand(ISession session)
    {
        this.session = session;
    }
 
    public void Execute(DeleteUserContext context)
    {
        session.Delete<User>(context.UserId);
    }
}


Ну вот как сформировать данную команду, когда мы получили список пользователей (набор, о котором ты говоришь) и решили удалить одного?
Очевидно, что создать экземпляр класса команды. Либо тупо, либо через фабрику.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848591
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

это скоко же надо таких команд пилить?
вот допустим юзвер удалил (имеет право) ед.изм м2
скоко команд надо вызвать что бы все это разрулить в БД где есть сотни ссылок на этот ед.изм?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848593
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, Бындю - ты?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848595
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos, одну.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848597
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosкстати, Бындю - ты?Интересный вопрос. А разве похож? У меня фотка на аватаре, у него в блоге фотка
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848599
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде не похожи совсем:

...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848603
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

я что фотки смотрю, не девки чай

да какую одну
покажи!!! как ты херишь одной командой БД
по идее, там чтение (запрос) не подразумевает заполнения контекста какого нить ОРМ
изменению будут подвергаться результаты запроса
а запись (команды) скорее всего через ОРМ (так как кишка тонка самому сделать)
и как контекст ОРМ синхронизируется с запросом?
и зачем вся ахинея эта?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848604
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

ну думал что в профиле реальная фотка :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848605
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не думал
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848606
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAViPRos, одну.
Уффф... Есть таблицы - клиенты, товары, покупки, единицы измерения...
Юзер получил некое представление, естественно через джоины:

Клиент Товар Ед. Изм. Кол-во Сумма
Иванов Стол шт 2 3000
Иванов Мобила шт 1 5000
Петров Телевизор шт 3 20000
Петров Айфон шт 1 10000
Петров Икра шт 1 12000

Юзер думает - Петров один телик вернул, надо количество изменить и сумму подправить, а икра в кг измеряется а не в штуках. Он это изменил! А каким хреном эти изменения теперь отобразить в БД, если по схеме блок команд ваще абстрагирован от блока запросов???
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848608
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosи как контекст ОРМ синхронизируется с запросом?
и зачем вся ахинея эта?
О! Об этом и речь.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848616
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANA,

я что фотки смотрю, не девки чай

да какую одну
покажи!!! как ты херишь одной командой БД
по идее, там чтение (запрос) не подразумевает заполнения контекста какого нить ОРМ
изменению будут подвергаться результаты запроса
а запись (команды) скорее всего через ОРМ (так как кишка тонка самому сделать)
и как контекст ОРМ синхронизируется с запросом?
и зачем вся ахинея эта?Что-то ты напридумывал. Проще надо быть.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848618
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAViPRos, одну.
Уффф... Есть таблицы - клиенты, товары, покупки, единицы измерения...
Юзер получил некое представление, естественно через джоины:

Клиент Товар Ед. Изм. Кол-во Сумма
Иванов Стол шт 2 3000
Иванов Мобила шт 1 5000
Петров Телевизор шт 3 20000
Петров Айфон шт 1 10000
Петров Икра шт 1 12000

Юзер думает - Петров один телик вернул, надо количество изменить и сумму подправить, а икра в кг измеряется а не в штуках. Он это изменил! А каким хреном эти изменения теперь отобразить в БД, если по схеме блок команд ваще абстрагирован от блока запросов???Это некий отчёт? Он собирается из чего, из заказов? Единицы измерения икры к чему относятся, к справочнику товаров?

То есть нужно изменить некий заказ, и некий товар. Два доменных объекта. Не думаю, что доменные объекты у тебя прям в отчётах правятся.

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

Я не знаю что за схемы вы у себя в голове рисуете, но попробуйте оставаться в рамках тех, что в статье
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848619
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosизменению будут подвергаться результаты запросаИзменению не подвергаются результаты запроса. Ну нарисовано же на картинке в статье.

Лень ссылку открыть, судя по тому, что фотку Бындю ты не увидел и мою не смог в новом окне браузера кликом мыши открыть.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848621
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы, парни, "Достоевского не читали но осуждаете"
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848626
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

да че нам читать то?
если операции чтения только запросы (их результаты не корректируются по условию), а записи только команды (ничего не возвращают по условию), то как же все таки изменить что нить?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848627
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мой браузер почему то фотку не открывает, я и так и этак на нее ткал :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848628
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну а Бынбю просто фамилия интересная, хотел спросить про происхождение
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848633
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНе думаю, что доменные объекты у тебя прям в отчётах правятся.
Да легко. Предлагаешь юзеру по десятку справочников прогуляться что бы несколько значений изменить? Открой ту же 1С и удивись. Но да ладно...
skyANAСледовательно пользователь из отчёта по ссылке переходит в заказ и правит заказ ( одна команда ). По другой ссылке переходит в справочник товаров и правит икру ( вторая команда ).
А теперь вопрос, чем это отличается от методов в обычном MVC контроллере или GRUD методов в WCF или хранимок и представлений на уровне БД? Тем что пытаемся разнести то что в принципе разнести не возможно?
skyANAВы, парни, "Достоевского не читали но осуждаете"
Не Достоевский это, а очередная говноархитектура, которую обсуждать смысла нет.
Воображения не хватает где эта хрень может быть эфективнее дедовских методов.
Не понятно чего ты на нее ваще повелся.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848651
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIМСУ Сохраняются изменения в таблице , а не в каком-то абстрактном джойне.
Молодец. С наступившим. В том и вопрос, как skyANA это сделать предлагает в представленной архитектуре.
Тоже тебя с годом! Так а чем не устраивает архитектура edm (ef, odata, ria, etc)? У тебя есть модель, ты её можешь со всех сторон иметь и накручивать изменения, а потом по единой команде говоришь SaveChanges(). И щастье.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848652
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

это нормально
жаль, что в эдм нет много чего
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848655
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУТак а чем не устраивает архитектура edm (ef, odata, ria, etc)? У тебя есть модель, ты её можешь со всех сторон иметь и накручивать изменения, а потом по единой команде говоришь SaveChanges(). И щастье. Не в моде нынче говорят.
Мне лично и L2SQL хватает.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848657
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAНе думаю, что доменные объекты у тебя прям в отчётах правятся.
Да легко. Предлагаешь юзеру по десятку справочников прогуляться что бы несколько значений изменить? Открой ту же 1С и удивись. Но да ладно...1С десктоп, где всё в памяти сидит? Или 1C веб? Открой Jira и Fiddler-ом посмотри.

Ну а если серъёзно. То что конкретно, какие объекты правит твой юзер через отчёты? Ты под каждую колонку свою хранимку пишешь?

EDUARD SAPOTSKIskyANAСледовательно пользователь из отчёта по ссылке переходит в заказ и правит заказ ( одна команда ). По другой ссылке переходит в справочник товаров и правит икру ( вторая команда ).
А теперь вопрос, чем это отличается от методов в обычном MVC контроллере или GRUD методов в WCF или хранимок и представлений на уровне БД? Тем что пытаемся разнести то что в принципе разнести не возможно?Вася, да прочитай ты статью и попытайся понять. Там же про эволюцию проекта от твоего уровня до реализации принципа CQRS (которому сто лет в обед) написано русским языком

EDUARD SAPOTSKIskyANAВы, парни, "Достоевского не читали но осуждаете"
Не Достоевский это, а очередная говноархитектура, которую обсуждать смысла нет.
Воображения не хватает где эта хрень может быть эфективнее дедовских методов.
Не понятно чего ты на нее ваще повелся.И тут у Эдуарда аргументы закончились. Всё, что не Сервелад и Хранимки, то говноархитектура

Вот только Эдуард получает гораздо меньше бабла, чем говноархитекторы вроде Бындю и Бертрана Мейера. Правдо оно и понятно, задачи-то другого уровня решает.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848664
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНу а если серъёзно. То что конкретно, какие объекты правит твой юзер через отчёты? Ты под каждую колонку свою хранимку пишешь?
Епта, да при чем здесь отчеты? Про ключики в БД ченить слышал и нормализации там всякие? Информация о практически любой бизнес-сущности может храниться в нескольких таблицах, юзеру мы ее отображаем через джоин(или у тебя своя метода? ). При чем здесь хранимка? Я могу сделать представление в БД(вьюшку) и вытянуть его в ОРМ или слепить это представление на уровне самой ОРМ(модели edmx) и спокойно обновлять данные. Можно и хранимку написать, ради бога.
Вопрос в том, как ты будешь в показанной архитектуре делать обычный CRUD??? (То что можно юзера удалить из списка это я понял, только не впечатляет).
skyANAИ тут у Эдуарда аргументы закончились. Всё, что не Сервелад и Хранимки, то говноархитектура
Вот только Эдуард получает гораздо меньше бабла, чем говноархитекторы вроде Бындю и Бертрана Мейера. Правдо оно и понятно, задачи-то другого уровня решает.
Аргументы закончились, надо баблом меряться? Любой сын арабского шейха с рождения баблом крутит о котором Бындю и Мейер не мечтали, показатель?
Ты бы коменты под этими г-топиками почитал, все задают те же вопросы что и я тебе и ни у Бындю ни у Мейера ответов нет! Что и требовалось доказать.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848679
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKI Не в моде нынче говорят.
Какой-то пионерский шум на ровном месте :)

EDUARD SAPOTSKIМне лично и L2SQL хватает.
Да ну ты чего, сравнил попу с газонокосилкой :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848681
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAНу а если серъёзно. То что конкретно, какие объекты правит твой юзер через отчёты? Ты под каждую колонку свою хранимку пишешь?
Епта, да при чем здесь отчеты? Про ключики в БД ченить слышал и нормализации там всякие? Информация о практически любой бизнес-сущности может храниться в нескольких таблицах, юзеру мы ее отображаем через джоин(или у тебя своя метода? ). При чем здесь хранимка? Я могу сделать представление в БД(вьюшку) и вытянуть его в ОРМ или слепить это представление на уровне самой ОРМ(модели edmx) и спокойно обновлять данные. Можно и хранимку написать, ради бога.
Вопрос в том, как ты будешь в показанной архитектуре делать обычный CRUD??? (То что можно юзера удалить из списка это я понял, только не впечатляет).Ты картинку видел?
Буковки MongoDB, Redis, Spinx о чём-нибудь говорят?
Какие джоины могут быть в реализации Command, или Query для тех данных, что хранятся в NoSQL хранилище, кэше, или базе поискового движка? :)
Но при этом клиенту абсолютно прозрачно, откуда тянутся данные. А в случае с DataSet-ом какая прозрачность, напомни-ка?

Но тебе ничего это не говорит ведь, да? У тебя всё вьюшки с ОРМ-ами.

А у кого-то система эволюционирует, становится распределённой. У кого-то так и остаётся на уровне хранимок и DataSet-ов.
И вот первые понимают Майера с Бындю, а вторые задают вопросы вроде твоих :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848682
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУEDUARD SAPOTSKI Не в моде нынче говорят.
Какой-то пионерский шум на ровном месте :)Шум из авангарда. В арьергарде не разобрать, о чём он, это я уже понял :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848686
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAБуковки MongoDB, Redis, Spinx о чём-нибудь говорят?
Какие джоины могут быть в реализации Command, или Query для тех данных, что хранятся в NoSQL хранилище, кэше, или базе поискового движка? :)
Но при этом клиенту абсолютно прозрачно, откуда тянутся данные. А в случае с DataSet-ом какая прозрачность, напомни-ка?

Но тебе ничего это не говорит ведь, да? У тебя всё вьюшки с ОРМ-ами.

А у кого-то система эволюционирует, становится распределённой. У кого-то так и остаётся на уровне хранимок и DataSet-ов.
И вот первые понимают Майера с Бындю, а вторые задают вопросы вроде твоих :)
Да хватит звездеть о мега-нагруженных системах, как там все сложно... для желторотиков эти сопли оставь.
Давай пример составной бизнес-сущности, которую отдаешь юзеру, и покажи как над ней провести CRUD, или ставим крест на этой г-архитектуре и расходимся!
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848691
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAШум из авангарда. В арьергарде не разобрать, о чём он, это я уже понял :)
Та ну их, этих болтоботов :) Смотрел минут 10, чуть не уснул. Потом полистал и понял, что там тоже ничего хорошего.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848693
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эдик, ты ж из риавцев, ну хорош зудеть. Сам же знаешь архитектуру, как вкусно можно запилить реальную модель. Ну ладно риа отвалились в одату, еще есть такой же ef. Всё решается так же, как и раньше. Красота ведь.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848694
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНо при этом клиенту абсолютно прозрачно, откуда тянутся данные. А в случае с DataSet-ом какая прозрачность, напомни-ка?Не вижу принципиальной разницы, модель представлена DataSet-ом или чем-то ещё. На прозрачности не сказывается. :-)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
class Repository
{
    public DataSet GetData()
    {
        //...
    }

    public void SaveData(DataSet data)
    {
        //...
    }
}


vs
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
class Repository
{
    public MyEntity[] GetData()
    {
        //...
    }

    public void SaveData(MyEntity[] data)
    {
        //...
    }
}
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848696
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К, тема баян, за датасеты бьём розгами по ягодицам с последующей пропагандой и перевоспитанием :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848698
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей К, тема баян, за датасеты бьём розгами по ягодицам с последующей пропагандой и перевоспитанием :) Да . Но я за справедливость. :-)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848700
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ, срач не из-за датасетов, а из-за этой хрени:
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848703
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAНо при этом клиенту абсолютно прозрачно, откуда тянутся данные. А в случае с DataSet-ом какая прозрачность, напомни-ка?Не вижу принципиальной разницы, модель представлена DataSet-ом или чем-то ещё. На прозрачности не сказывается. :-)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
class Repository
{
    public DataSet GetData()
    {
        //...
    }

    public void SaveData(DataSet data)
    {
        //...
    }
}


vs
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
class Repository
{
    public MyEntity[] GetData()
    {
        //...
    }

    public void SaveData(MyEntity[] data)
    {
        //...
    }
}

А теперь представь, что именно вот эта тваоя MyEntity переехала в MongoDB.

Данные взяли и смигрировали.
Потому как MyEntity ну гораздо удобнее хранить целым, собранным документом, а не раскиданным по 10 таблицам SQL Server-а.
Очень быстро доставать её разом из MongoDB (не тратя время на 10 джоинов) и очень быстро изменять.

Вариант с DataSet-ом после такой миграции придётся просто выкинуть. :) Так сказать, вымер в ходе эволюции.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848706
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIМСУ, срач не из-за датасетов, а из-за этой хрени:
Да, из картинки не понятно что такое Query и QueryModel, не изображены слои логики и доступа к данным: репозитарии и прочее...

Да и хрен с ней. В наше время картинкорисователей больше чем программистов, на каждую глупость обращать внимание - нервов не хватит. :-)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848707
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAБуковки MongoDB, Redis, Spinx о чём-нибудь говорят?
Какие джоины могут быть в реализации Command, или Query для тех данных, что хранятся в NoSQL хранилище, кэше, или базе поискового движка? :)
Но при этом клиенту абсолютно прозрачно, откуда тянутся данные. А в случае с DataSet-ом какая прозрачность, напомни-ка?

Но тебе ничего это не говорит ведь, да? У тебя всё вьюшки с ОРМ-ами.

А у кого-то система эволюционирует, становится распределённой. У кого-то так и остаётся на уровне хранимок и DataSet-ов.
И вот первые понимают Майера с Бындю, а вторые задают вопросы вроде твоих :)
Да хватит звездеть о мега-нагруженных системах, как там все сложно... для желторотиков эти сопли оставь.
Давай пример составной бизнес-сущности, которую отдаешь юзеру, и покажи как над ней провести CRUD, или ставим крест на этой г-архитектуре и расходимся!Дак вот именно там всё просто. Потому как архитектура продумана.

Это у тебя же возникают вопросы типа: "Я нафигачил 20 отчётиков, как же они в рамках CQRS смогут работать?" :)

А твоя бизнес-сущность - это что? Часть DomainModel, или QueryModel? Давай сначала определимся. Пример про заказ и икру, разве не про бизнес-сущности заказ и товар? :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848709
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Не вижу принципиальной разницы, модель представлена DataSet-ом или чем-то ещё. На прозрачности не сказывается. :-)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
class Repository
{
    public DataSet GetData()
    {
        //...
    }

    public void SaveData(DataSet data)
    {
        //...
    }
}


vs
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
class Repository
{
    public MyEntity[] GetData()
    {
        //...
    }

    public void SaveData(MyEntity[] data)
    {
        //...
    }
}

А теперь представь, что именно вот эта тваоя MyEntity переехала в MongoDB.

Данные взяли и смигрировали.
Потому как MyEntity ну гораздо удобнее хранить целым, собранным документом, а не раскиданным по 10 таблицам SQL Server-а.
Очень быстро доставать её разом из MongoDB (не тратя время на 10 джоинов) и очень быстро изменять.

Вариант с DataSet-ом после такой миграции придётся просто выкинуть. :) Так сказать, вымер в ходе эволюции.DataSet нельзя заполнить в репозитарии данными из MongoDB? Вроде как миграция приведёт к необходимости переписывания только репозитария.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848710
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КEDUARD SAPOTSKIМСУ, срач не из-за датасетов, а из-за этой хрени:
Да, из картинки не понятно что такое Query и QueryModel, не изображены слои логики и доступа к данным: репозитарии и прочее...

Да и хрен с ней. В наше время картинкорисователей больше чем программистов, на каждую глупость обращать внимание - нервов не хватит. :-)Ещё один осуждатель из нечитавших :)
Про репозиторий помнится в таком же духе писал. А сейчас ничего, пользуется :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848711
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
А теперь представь, что именно вот эта тваоя MyEntity переехала в MongoDB.

Данные взяли и смигрировали.
Потому как MyEntity ну гораздо удобнее хранить целым, собранным документом, а не раскиданным по 10 таблицам SQL Server-а.
Очень быстро доставать её разом из MongoDB (не тратя время на 10 джоинов) и очень быстро изменять.

Вариант с DataSet-ом после такой миграции придётся просто выкинуть. :) Так сказать, вымер в ходе эволюции.DataSet нельзя заполнить в репозитарии данными из MongoDB? Вроде как миграция приведёт к необходимости переписывания только репозитария.Можно конечно, но это будет верх глуппости
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848713
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Да, из картинки не понятно что такое Query и QueryModel, не изображены слои логики и доступа к данным: репозитарии и прочее...

Да и хрен с ней. В наше время картинкорисователей больше чем программистов, на каждую глупость обращать внимание - нервов не хватит. :-)Ещё один осуждатель из нечитавших :)
Про репозиторий помнится в таком же духе писал. А сейчас ничего, пользуется :)До сих пор не понимаю, что в себя включает понятие "репозитарий". Раньше было лучше:
1. Data Access Layer (DAL).
2. Business Logic Layer (BLL).

Было всё понятно и очевидно, пока не пришли теоретики-инноваторы со своими репозитариями. Но спорить глупо, проще смириться с тем, что есть некий репозитарий, который может в себя включать DAL и/или BLL, по необходимости.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848715
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
DataSet нельзя заполнить в репозитарии данными из MongoDB? Вроде как миграция приведёт к необходимости переписывания только репозитария.Можно конечно, но это будет верх глуппости Согласен, глупость, но принципиальная возможность есть.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848717
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К Да . Но я за справедливость. :-)
Справедливости с датасетами не жди, Путин - наше всё

EDUARD SAPOTSKIМСУ, срач не из-за датасетов, а из-за этой хрени
Обвязка в репозиторий решает 100% задач. Всё остальное высосано из пальца.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848719
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

монгоДБ и есть глупость
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848721
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosАлексей К,

монгоДБ и есть глупостьНе знаю, не работал с ней.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848722
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosАлексей К, монгоДБ и есть глупость
Ну в общем-то, согласен. Выстреливает, разве что, в единичных сценариях типа профилей пользователей фейсбука.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848723
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
во блин, хоть и жаль времени (все ж работаю, хоть и выходные)
но предлагаю вот что
давайте блин каждый берет свою проверенную технологию и решаем одну задачку
на время, качество, сопровождаемость
ай?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848725
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА твоя бизнес-сущность - это что? Часть DomainModel, или QueryModel? Давай сначала определимся. Пример про заказ и икру, разве не про бизнес-сущности заказ и товар? :)
Короче слив защитан, эта херь признается непригодным гумном.
Бизнес-сущностью является например товар/продукция/сырье. Так же бизнес-сущностью является клиент/поставщик/контрагент... А есть составные бизнес-сущности(комплексные) например некие факты - поставка товара/отгрузка/реализация... У таких фактов присутствует инфа о нескольких других бизнес-сущностях - кто купил(клиент) у кого купил(продавец/поставщик) что купил(товар) когда купил и т.д...
Плять, такую хрень приходится объяснять, ужас
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848726
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKI,

а составные составных бывают? :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848727
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosEDUARD SAPOTSKI,

а составные составных бывают? :)
Бывают, кудаж они денутся :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848728
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosво блин, хоть и жаль времени (все ж работаю, хоть и выходные)
но предлагаю вот что
давайте блин каждый берет свою проверенную технологию и решаем одну задачку
на время, качество, сопровождаемость
ай?Если хочется потренироваться, можешь взять задачу и вариант моего решения у меня на сайте . Напиши аналог "планировщика", посмотрим, сравним.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848729
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKI... эта херь признается непригодным гумном.Как-то долго приходило признание, аж целую страницу исписали.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848732
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КViPRosво блин, хоть и жаль времени (все ж работаю, хоть и выходные)
но предлагаю вот что
давайте блин каждый берет свою проверенную технологию и решаем одну задачку
на время, качество, сопровождаемость
ай?Если хочется потренироваться, можешь взять задачу и вариант моего решения у меня на сайте . Напиши аналог "планировщика", посмотрим, сравним.
а ты не видел ВИП.Производство?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848733
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848734
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават опять со своим конструктором писями меряется, жулик
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848735
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848736
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848737
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosViPRos,
http://vipros.ru/index.php?option=com_content&view=article&id=5&Itemid=5 Мы говорим о показательном решении или о реальном проекте, стоимостью XXX млн руб?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848738
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУСахават опять со своим конструктором писями меряется, жулик
ну надо ж как то народ в чувство привести
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848739
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КViPRosViPRos,
http://vipros.ru/index.php?option=com_content&view=article&id=5&Itemid=5 Мы говорим о показательном решении или о реальном проекте, стоимостью XXX млн руб?
да какая разница
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848741
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAА твоя бизнес-сущность - это что? Часть DomainModel, или QueryModel? Давай сначала определимся. Пример про заказ и икру, разве не про бизнес-сущности заказ и товар? :)
Короче слив защитан, эта херь признается непригодным гумном.
Бизнес-сущностью является например товар/продукция/сырье. Так же бизнес-сущностью является клиент/поставщик/контрагент... А есть составные бизнес-сущности(комплексные) например некие факты - поставка товара/отгрузка/реализация... У таких фактов присутствует инфа о нескольких других бизнес-сущностях - кто купил(клиент) у кого купил(продавец/поставщик) что купил(товар) когда купил и т.д...
Плять, такую хрень приходится объяснять, ужас Я тебе задал парочку уточняющих вопросов. Мог бы ответить, что "часть DomainModel", тогда бы можно было конструктивно что-то обсудить.
Но ты решил потроллить. Эдуард такой Эдуард :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848742
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosViPRos,
http://vipros.ru/index.php?option=com_content&view=article&id=5&Itemid=5
А это по феншую, что скачал презентацию в пдф а она нихрена не открывается?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848743
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosАлексей Кпропущено...
Мы говорим о показательном решении или о реальном проекте, стоимостью XXX млн руб?
да какая разницаПредлагаешь нам написать это за пару вечеров, чисто для души?
авторФункциональная спецификация

1. Функции ведения нормативно-справочной информации

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

1.2. Ведение конструкторской и технологической документации, нормативов
Ввод, изменение, удаление узловых спецификаций выпускаемых изделий
Ввод, изменение, удаление технологических операций
Ввод, изменение, удаление трудовых нормативов выполнения технологических операций
Ввод, изменение, удаление нормативов расходования материалов, ПКИ, оснастки в технологических операциях

1.3. Ведение справочников ресурсов организации
Ввод, изменение, удаление единиц оборудования с ведением технической информации
Ввод, изменение, удаление работников предприятия с ведением персональной информации
Ввод, изменение, удаление в реестре материалов, покупных комплектующих, инструмента и оснастки
Ведение остатков материальных ресурсов (материалы, покупные комплектующие, инструмент и оснастка, детали и сборочные единицы) в разрезе номенклатуры, мест хранения (складов, кладовых, накопителей рабочих мест), партий и/или экземпляров (при уникальной нумерации составных частей)
Ведение справочника контрагентов

2. Функции ведения коммерческой информации

2.1. Ведение договоров с заказчиками
Ввод, изменение, удаление договора с заказчиком
Ведение структуры обязательств поставок и оплат, с установлением и поддержанием логических связей (например, «оплата через 3 месяца после поставки» и т.п.) между обязательствами
Визуализация структуры обязательств по договору диаграммой Ганта, с возможностью ввода/изменения договора изменением графических элементов диаграммы

2.2. Ведение договоров с поставщиками
Ввод, изменение, удаление договора с поставщиком
Ведение структуры обязательств оплаты и поставки в привязке к обязательствам основного договора с заказчиком, с установлением и поддержанием логических связей, визуализацией на диаграмме Ганта, возможностью графического изменения информации по договору
Отражение факта исполнения обязательств, сравнение договорных сроков, плановых сроков, фактических сроков исполнения
Автоматическая генерация плановых договорных обязательств по договорам с поставщиками товаров и услуг, исходя из планов снабжения и установленных внутренних политик и ограничений

2.3. Ведение производственных заказов
Открытие, изменение, закрытие заказов для исполнения договорных обязательств
Открытие внутренних заказов, с привязкой к договорным заказам (встраивание в логику связей договорных обязательств внутренних заказов, открытых в интересах договорного заказа)

3. Функции планирования и диспетчеризации производства

3.1. Планирование и диспетчеризация основного производства
Ведение сменности на рабочих местах
Ведение табеля рабочего времени (фактического присутствия работников)
Ведение табеля работы оборудования (фактической готовности оборудования)
Расчет производственного расписания с учетом договорных обязательств, загрузки ресурсов, внутренних правил и установленных приоритетов
Анализ производственного расписания для выявления узких мест (возможность детализации до уровня отдельной операции и рабочего места при возможности агрегирования до уровня цеха)
Автоматическое формирование и выдача распорядительных документов (нарядов различных форм, лимитно-заборных карт и т.п.) по согласованному перечню отчетов
Отражение факта исполнения операций
Ведение оперативного производственного учета
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848744
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIViPRosViPRos,
http://vipros.ru/index.php?option=com_content&view=article&id=5&Itemid=5]http://vipros.ru/index.php?option=com_content&view=article&id=5&Itemid=5] http://vipros.ru/index.php?option=com_content&view=article&id=5&Itemid=5
А это по феншую, что скачал презентацию в пдф а она нихрена не открывается?
EDUARD SAPOTSKIViPRosViPRos,
http://vipros.ru/index.php?option=com_content&view=article&id=5&Itemid=5]http://vipros.ru/index.php?option=com_content&view=article&id=5&Itemid=5] http://vipros.ru/index.php?option=com_content&view=article&id=5&Itemid=5
А это по феншую, что скачал презентацию в пдф а она нихрена не открывается?
А не, с пятого раза чето открылось... сча гляну...
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848745
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosАлексей К,

монгоДБ и есть глупостьНу да, весь мир же на самом деле работает с монолитными системами типа Випрос :)

Мобильную версию прикрутите когда-нибудь, или гордо почите в базе?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848746
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIViPRosViPRos,
http://vipros.ru/index.php?option=com_content&view=article&id=5&Itemid=5
А это по феншую, что скачал презентацию в пдф а она нихрена не открывается?
как это? все предприятия качали
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848747
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAViPRosАлексей К,

монгоДБ и есть глупостьНу да, весь мир же на самом деле работает с монолитными системами типа Випрос :)

Мобильную версию прикрутите когда-нибудь, или гордо почите в базе?
ну не нужно это в ВПК
там нет интернета даже :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848750
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
см как интеграция производится оффлайн
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848751
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848752
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пилять, началось...
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848755
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

зачем можно твою задачу, токо неинтересно, она уже решена оптимальным образом для кооперации
что нить попроще, что бы показать порог вхождения
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848756
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

а че пилять не все ж время биндю обсуждать
импортозамещение, все к моменту
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848757
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУОбвязка в репозиторий решает 100% задач. Всё остальное высосано из пальца.Дык в статье и про это написано. Репозиторий решает, но просто он разрастается настолько, что тупо mock-и уже хрен напишешь.
Да и принцип single responsibility начинает нарушаться с появлением требований возвращать такие-то и сякие-то наборы данных.
А когда эти данные надо ещё кэшировать, или нет, индексировать, или нет, то начинаются сложности плюс всё новые и новые зависимости.

Хорошо вам, у вас этого нет.
А мне в ходе эволюции бизнес-требований приходится сталкиваться с тем, что удаление поля из колонки приводит к тому, что надо рефакторить код в 10 местах, написанных 5-ю различными "неговноархитекторами" :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848758
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos, я чето не понял, а где расчет себестоимости единицы продукции/партии и распределение материалов... ентож самое интересное...
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848759
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosчто нить попроще, что бы показать порог вхожденияСлишком простых решений и без того хватает, из них ничего не понятно.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848760
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosМСУ, а че пилять не все ж время биндю обсуждать
импортозамещение, все к моменту
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848761
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

вот если бы кода не было, то и не надо было бы ничего рефакторить
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848762
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANAпропущено...
Ну да, весь мир же на самом деле работает с монолитными системами типа Випрос :)

Мобильную версию прикрутите когда-нибудь, или гордо почите в базе?
ну не нужно это в ВПК
там нет интернета даже :)Когда в следующий раз полетишь отдыхать в Испанию, то лети на Ан-12
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848764
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIViPRos, я чето не понял, а где расчет себестоимости единицы продукции/партии и распределение материалов... ентож самое интересное...
а ты почитай, там все написано и драйверы распределения и как распределения производится и нужно лти воще чего то распределять, там встроено много методов расчета себестоимости
хотя я считаю, что себестоимость - фуфло и многие со мной согласны, но думаю этот базар не для этого форума :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848766
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANA,

вот если бы кода не было, то и не надо было бы ничего рефакторитьрасскажешь, что будет, если Дмитрий Анатольевич захочет с ётафона через Випрос ВПК рулить
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848767
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAРепозиторий решает, но просто он разрастается настолько, что тупо mock-и уже хрен напишешь.
Всё это нытьё на пустом месте, декомпозиция репозиториев решает. EmployeesRepository, CompanyRepository, StateRepository и так далее.

skyANAДа и принцип single responsibility начинает нарушаться с появлением требований возвращать такие-то и сякие-то наборы данных.
А когда эти данные надо ещё кэшировать, или нет, индексировать, или нет, то начинаются сложности плюс всё новые и новые зависимости.
Кеширование и прочие грабли - не задача репозитория. Задача репозитория - выдать данные по параметрам. Всё.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848768
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

как ты это делаешь?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848769
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAViPRosskyANA,

вот если бы кода не было, то и не надо было бы ничего рефакторитьрасскажешь, что будет, если Дмитрий Анатольевич захочет с ётафона через Випрос ВПК рулить
а хто это?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848770
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУКеширование и прочие грабли - не задача репозитория. Задача репозитория - выдать данные по параметрам. Всё.А чья это задача?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848774
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAРепозиторий решает, но просто он разрастается настолько, что тупо mock-и уже хрен напишешь.
Всё это нытьё на пустом месте, декомпозиция репозиториев решает. EmployeesRepository, CompanyRepository, StateRepository и так далее.

skyANAДа и принцип single responsibility начинает нарушаться с появлением требований возвращать такие-то и сякие-то наборы данных.
А когда эти данные надо ещё кэшировать, или нет, индексировать, или нет, то начинаются сложности плюс всё новые и новые зависимости.
Кеширование и прочие грабли - не задача репозитория. Задача репозитория - выдать данные по параметрам. Всё.Всё верно.

Но наступит тот момент, что и Employees, и Company, и State будут использоваться в каком-то одном бизнес-процессе.
В каких-нибудь продажах.
И надо будет вернуть Employees, что участвуют в продажах. Companies, что участвуют в продажах. States, что участвуют в продажах.
А потом добавится ещё биллинг.
И надо будет вернуть Employees, что участвуют в биллинге. Companies, что участвуют в биллинге. States, что участвуют в биллинге.

И т.д., и т.п. :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848775
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМСУпропущено...

Всё это нытьё на пустом месте, декомпозиция репозиториев решает. EmployeesRepository, CompanyRepository, StateRepository и так далее.

пропущено...

Кеширование и прочие грабли - не задача репозитория. Задача репозитория - выдать данные по параметрам. Всё.Всё верно.

Но наступит тот момент, что и Employees, и Company, и State будут использоваться в каком-то одном бизнес-процессе.
В каких-нибудь продажах.
И надо будет вернуть Employees, что участвуют в продажах. Companies, что участвуют в продажах. States, что участвуют в продажах.
А потом добавится ещё биллинг.
И надо будет вернуть Employees, что участвуют в биллинге. Companies, что участвуют в биллинге. States, что участвуют в биллинге.

И т.д., и т.п. :)Обычная ситуация, проблем не вижу, всегда с этим жили. :-)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848776
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кэширование всё-таки задача репозитория. Вернее работа с кэшем.
Данные хранятся в распределённом кэше Redis-а. Если их там нет, то берутся из БД.

Репозиторий как раз таки и обеспечивает прозрачность доступа к данным :)

Но ты наверное о другом каком-то кэше.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848778
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА кэширование всё-таки задача репозитория. Вернее работа с кэшем.
Данные хранятся в распределённом кэше Redis-а. Если их там нет, то берутся из БД.

Репозиторий как раз таки и обеспечивает прозрачность доступа к данным :)

Но ты наверное о другом каком-то кэше.++

Кэширование можно организовывать на любом уровне, в т.ч. в репозитарии.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848779
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
Всё верно.

Но наступит тот момент, что и Employees, и Company, и State будут использоваться в каком-то одном бизнес-процессе.
В каких-нибудь продажах.
И надо будет вернуть Employees, что участвуют в продажах. Companies, что участвуют в продажах. States, что участвуют в продажах.
А потом добавится ещё биллинг.
И надо будет вернуть Employees, что участвуют в биллинге. Companies, что участвуют в биллинге. States, что участвуют в биллинге.

И т.д., и т.п. :)Обычная ситуация, проблем не вижу, всегда с этим жили. :-)Да проблем-то нет. Пока не слишком дорого вносить изменения и перепроверять после этого :)

Пока одно хранилище, тестами ни фига не покрыто, если что-то падает, то падает в большой лог, с которым когда-нибудь разберутся, то всё нормуль.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848780
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще CQRS и репозиторий со спецификациями и прочими квери обджектами прекрасно уживаются вместе.
Надеюсь вы не подумали, что я предлагаю переписать всё на CQRS? :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848781
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

ну падать допустим воще последнее дело
а тесты все равно нифига не решают ничего
вот тут типа тестер хотел пристроиться
я ему грю - докажи что это расписание не оптимально
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848782
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANA,

ну падать допустим воще последнее дело
а тесты все равно нифига не решают ничего
вот тут типа тестер хотел пристроиться
я ему грю - докажи что это расписание не оптимальноНу что они решают? Тупо сразу показывают, что твои изменения поломали.
Решаешь потом ты, как разработчик: сам дурак, или тесты кривые :)

Сильно экономят время.

Ну и скажи нашему ВПК, что тестовые пуски ракет ни фига не решают
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848783
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

тестовый пуск и методики тестирование проги - разные вещи
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848788
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANA,

тестовый пуск и методики тестирование проги - разные вещиГы.
То есть модифицировали ракету, произвели тестовый пуск, посмотрели изменение прошлых показателей.
А если модифицировали контур проги, то по новому тестируем? Старый функционал даже не проверяем? :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848791
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

тестовый пуск производится не только при изменениях
а прогу надо тестировать послойно
только вот как это делать, неясно
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848793
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
когда есть явная модель - тестировать просто
когда модель зашить в коде - пипец, невозможно такой код тестировать
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848795
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот я выше привел пример
как ты можешь тестировать прогу, которая генерирует расписание?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848796
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА кэширование всё-таки задача репозитория. Вернее работа с кэшем.
Данные хранятся в распределённом кэше Redis-а. Если их там нет, то берутся из БД.
Не совсем так. Вот тут идея http://ardalis.com/introducing-the-cachedrepository-pattern
Тянуть кеширование в боевой репозиторий - это идиотизм чистой воды. Оборачиваются virtual методы боевого репо в новый кеш репо, инжектится и используется. Классика. Ничего другого не нужно. Мир уже открыт до нас.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848808
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAА кэширование всё-таки задача репозитория. Вернее работа с кэшем.
Данные хранятся в распределённом кэше Redis-а. Если их там нет, то берутся из БД.
Не совсем так. Вот тут идея http://ardalis.com/introducing-the-cachedrepository-pattern
Тянуть кеширование в боевой репозиторий - это идиотизм чистой воды. Оборачиваются virtual методы боевого репо в новый кеш репо, инжектится и используется. Классика. Ничего другого не нужно. Мир уже открыт до нас.Открой для себя шаблон декоратор, классик
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848809
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANA,

тестовый пуск производится не только при изменениях
а прогу надо тестировать послойно
только вот как это делать, неясноСахават придумал новый вид тестов: Послойные :)

А модульные == послойные, или как? А интеграционные тесты значит не нужны? А нагрузочные?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848810
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosвот я выше привел пример
как ты можешь тестировать прогу, которая генерирует расписание?То есть Випрос не покрывается тестами, следовательно тесты ничего не решают, так?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848811
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosкогда есть явная модель - тестировать просто
когда модель зашить в коде - пипец, невозможно такой код тестироватьЧто есть модель? Где она есть? Почему другие тестируют себе не напрягаясь, а для тебя невозможно?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848813
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANA,

ну падать допустим воще последнее дело
а тесты все равно нифига не решают ничего
вот тут типа тестер хотел пристроиться
я ему грю - докажи что это расписание не оптимальноГы.

Есть некая функция, что генерирует расписание? И нужно протестировать то, что она делает это оптимально?

Ну дак это общая алгебра. Любую функцию на конечном множестве определения можно представить в табличном виде.
Unit-тест просто проверяет что если на входе подаётся определнный набор, то и на выходе вполне себе определённый набор оптимальных результатов.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848814
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Туд вообще TDD в руки. Пишешь сначала тест, а потом реализуешь алгоритм в коде. И пока тест не пройден, ты точно знаешь, что где-то ошибся.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848830
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТуд вообще TDD в руки. Пишешь сначала тест, а потом реализуешь алгоритм в коде. И пока тест не пройден, ты точно знаешь, что где-то ошибся.
угу, ты не думаешь, что тебе не хватить всей памяти всех компов и твоей жизни что бы составить такую таблицу
все то у тебя просто, разжевано биндюками :(
желаю тебе уволиться (на лучшие деньги и т.д. условия) и заняться реальными прогами
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848833
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

есть такая функция из 100000 строк кода, с сотнями управляющих параметров
да при чем тут расписание
вот в ВИПРОС несколько параметров управлющие состоянием кеша, сброса в БД и обновления, постраничный режим и отложенная загрузка и т.д.
это уже комбинаторика
и не одна падла пока не смогла все эти пути протестировать
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848834
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и это не алгебра, а комбинаторика
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848888
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAОткрой для себя шаблон декоратор, классик
Он тут не нужен. Вбивать грабли в репо удел неандертальцев, я выше писал об этом. Вынести кеширование в наследника, что может быть проще.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848903
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAОткрой для себя шаблон декоратор, классик
Он тут не нужен. Вбивать грабли в репо удел неандертальцев, я выше писал об этом. Вынести кеширование в наследника, что может быть проще.каким образом декоратор что-то куда-то вбивает? Не пиши глупости.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848908
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANAТуд вообще TDD в руки. Пишешь сначала тест, а потом реализуешь алгоритм в коде. И пока тест не пройден, ты точно знаешь, что где-то ошибся.
угу, ты не думаешь, что тебе не хватить всей памяти всех компов и твоей жизни что бы составить такую таблицу
все то у тебя просто, разжевано биндюками :(
желаю тебе уволиться (на лучшие деньги и т.д. условия) и заняться реальными прогамиты же сам понимаешь, что полная таблица не нужна
плюс ты многозначительно промолчал про область определения, в твоем стиле

Желаешь мне перейти в Яндекс? У них памяти для обучения своих нейронных сетей хватает.
Я подумаю :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848909
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAОткрой для себя шаблон декоратор, классик
Он тут не нужен. Вбивать грабли в репо удел неандертальцев, я выше писал об этом. Вынести кеширование в наследника, что может быть проще.Потомок репозитария не является репозитарием? Это что-то новое в современной трактовке ООП.

Но нуихнах эти виртуальные методы. Тогда уж лучше интерфейс + диконтейнер + аспекты.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848911
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Обычная ситуация, проблем не вижу, всегда с этим жили. :-)Да проблем-то нет. Пока не слишком дорого вносить изменения и перепроверять после этого :)Тут главное не переусердствовать с повторным использованием.

Мы при построении отчётов давно ушли от такого глубокого анализа предметной области. Делаем новый отчёт, тогда тупо: новая сущность + новый метод в репозитарии.

В недрах логики конечно же есть какие-то повторно используемые основы, но они не торчат наружу и относимся к ним очень настороженно.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848912
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosViPRos,

есть такая функция из 100000 строк кода, с сотнями управляющих параметров
да при чем тут расписание
вот в ВИПРОС несколько параметров управлющие состоянием кеша, сброса в БД и обновления, постраничный режим и отложенная загрузка и т.д.
это уже комбинаторика
и не одна падла пока не смогла все эти пути протестироватьнет уж подожди, расскажи почему TDD не применимо к твоему расписанию?
начни с того, что ты этим словом называешь? или мы тут все глубоко интересовались твоим Випросом, что с одного слова поняли всю сложность проблемы? :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848915
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosи это не алгебра, а комбинаторикакэп, то что функцию можно представить в табличном виде - это алгебра :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848919
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosесть такая функция из 100000 строк кода, с сотнями управляющих параметровЭта функция точно нужна нашей планете?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848945
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAкаким образом декоратор что-то куда-то вбивает? Не пиши глупости.
Прямым образом декоратор что-то куда-то вбивает. Изучи шаблон.

Алексей КПотомок репозитария не является репозитарием? Это что-то новое в современной трактовке ООП.
Речь об основном репозитории. Кеширующие, агрегирующие, танцующие во тьме и прочие репозитории - нужны конкретно для своей специфики. Об этом речь. Основной репозиторий при этом цел и невредим, может использоваться хоть на луне.

Алексей КНо нуихнах эти виртуальные методы. Тогда уж лучше интерфейс + диконтейнер + аспекты.
Не вижу проблем с виртуальными методами. Интерфейсы и DI никуда не денутся, они как были, так и есть. Аспекты лесом, задача решается проще и понятнее.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848947
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAкаким образом декоратор что-то куда-то вбивает? Не пиши глупости.
Прямым образом декоратор что-то куда-то вбивает. Изучи шаблон.Ничего он никуда не вбивает. Код показать? :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848953
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНичего он никуда не вбивает. Код показать? :)
Ну вот в таком виде да, съедобно :) http://codearticles.ru/articles/2548
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848954
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КПотомок репозитария не является репозитарием? Это что-то новое в современной трактовке ООП.
Речь об основном репозитории. Кеширующие, агрегирующие, танцующие во тьме и прочие репозитории - нужны конкретно для своей специфики. Об этом речь. Основной репозиторий при этом цел и невредим, может использоваться хоть на луне.Современная теория репозитариев не делит репозитарии на категории: основные, неосновные или какие-то ещё. Было сказано: "Кэшированию в репозитарии не место". Начались отмазки: "Это неосновной репозитарий и т. п.".

Это всё к вопросу о нормальной терминологии.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848955
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAНичего он никуда не вбивает. Код показать? :)
Ну вот в таком виде да, съедобно :) http://codearticles.ru/articles/2548 Ахаха. Открыл-таки для себя шаблон Декоратор и сразу же в рецепты занёс (Дата создания: 06.01.2015 11:03). Молодец!

А что тот самокат с виртуальными методами и наследованием не занёс?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848956
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КСовременная теория репозитариев не делит репозитарии на категории: основные, неосновные или какие-то ещё.
Кто определяет современную терминологию? :)

Алексей КБыло сказано: "Кэшированию в репозитарии не место". Начались отмазки: "Это неосновной репозитарий и т. п.".
Сразу ниже во втором посте в качестве уточнения было сказано про боевой репо 17088063 и о том, как сделать рабочий вариант. Но ты прицепился к первому посту и продолжаешь его насиловать. Твоё право

Алексей КЭто всё к вопросу о нормальной терминологии.
Да нормально тут всё с терминами. Есть репо для работы с данными. Есть другой репо, наследник, для работы с кешем. По сути тот же декоратор, если тебе так легче.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848957
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАхаха. Открыл-таки для себя шаблон Декоратор и сразу же в рецепты занёс (Дата создания: 06.01.2015 11:03). Молодец!
Этот шаблон был предложен вот тут 17088063

skyANAА что тот самокат с виртуальными методами и наследованием не занёс?
Он очевиден :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848959
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КБыло сказано: "Кэшированию в репозитарии не место". Начались отмазки: "Это неосновной репозитарий и т. п.".
Сразу ниже во втором посте в качестве уточнения было сказано про боевой репо 17088063 и о том, как сделать рабочий вариант.Там не рабочий вариант, там так, поделие.

Декораторы можно комбинировать и применять к разным репо, а с наследованием не получится :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848961
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитал Бындю . Пара фраз просто убила:
автор не умеет работать с ОРМУбираем ORM для лучшей оптимизации - сами ORM редко делают оптимальные запросы, а сложный запрос написать на языке понятном ORM (Linq, HQL и т.п.) практически невозможно.
автор заблуждаетсяУбираем весь код выборки в хранимые поцедуры - есть мнение, что таким образом SQL-код начинает работать быстрее.
автор ни болта не рубит в оптимизации запросовЧто больше всего тормозит SQL-запрос? Скорее всего оператор JOIN, когда приходится объединять много таблиц и записей. Как показала практика, если в JOIN участует по миллиону строк из каждой таблицы, такой запрос работать быстро не будет никогда, даже при самых глубоких оптимизациях.
автору не интересен один из наиболее эффективных приёмовЕсть еще способы с репликацией БД и чтением данных из реплик, но я не буду их рассматривать.
автор рисует неправильные картины мира

Вспомнилось: "Маленькая ложь рождает большое недоверие" (ц)

Автор не смог нормально организовать код в репозитариях. Автор решил выделить каждый метод в отдельный класс, мотивируя это каким-то мифическим нарушением SRP. Бог ему судья.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848962
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAАхаха. Открыл-таки для себя шаблон Декоратор и сразу же в рецепты занёс (Дата создания: 06.01.2015 11:03). Молодец!
Этот шаблон был предложен вот тут 17088063 Твои глупые кривляния на кого расчитаны? На тех кто не откроет ссылку, или не поймёт, что нет там никакого Декоратора?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848964
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К, знаешь почему NoSQL тупо быстрее SQL? Там нет JOIN-ов :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848965
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТам не рабочий вариант, там так, поделие.
Да та же редька, только в профиль. Задачу решает 100%.

skyANAДекораторы можно комбинировать и применять к разным репо, а с наследованием не получится :)
Зачем мне их комбинировать и применять к разным репо? Моя задача откешировать метод. Не выдумывай проблемы на ровном месте :)

skyANAТвои глупые кривляния на кого расчитаны? На тех кто не откроет ссылку, или не поймёт, что нет там никакого Декоратора?
Ты упёрся рогом в декоратор и не желаешь смотреть на суть вопроса. Кончай жить паттернами и начни думать своей головой, а не чужой. Ты озвучил сиутацию с кешированием, я тебе дал рецепт, как сделать её на родном контроллере. Потом ты начинаешь кривляться и выдумать какие-то новые проблемы с комбинированием и разными репо. Так скоро и до освоения космоса дойдет.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848966
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К, знаешь почему применяют Денормализацию для ускорения выборки? Потому как в денормализованные таблицы не нуждаются в JOIN-ах :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848967
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей К, знаешь почему NoSQL тупо быстрее SQL? Там нет JOIN-ов :)
Очень сомнительное высказывание. Что с чем измеряется?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848969
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAТам не рабочий вариант, там так, поделие.
Да та же редька, только в профиль. Задачу решает 100%.

skyANAДекораторы можно комбинировать и применять к разным репо, а с наследованием не получится :)
Зачем мне их комбинировать и применять к разным репо? Моя задача откешировать метод. Не выдумывай проблемы на ровном месте :)

skyANAТвои глупые кривляния на кого расчитаны? На тех кто не откроет ссылку, или не поймёт, что нет там никакого Декоратора?
Ты упёрся рогом в декоратор и не желаешь смотреть на суть вопроса. Кончай жить паттернами и начни думать своей головой, а не чужой. Ты озвучил сиутацию с кешированием, я тебе дал рецепт, как сделать её на родном контроллере. Потом ты начинаешь кривляться и выдумать какие-то новые проблемы с комбинированием и разными репо. Так скоро и до освоения космоса дойдет.Пустомеля ты. Я про то как реализовать кэширование в репозитории не вставляя в него никакие грабли, ещё в прошлом году рассказывал :)

Не надо теперь делать вид, что ты предложил мне то, что мне так было нужно, а я не знал как это реализовать.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848971
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAАлексей К, знаешь почему NoSQL тупо быстрее SQL? Там нет JOIN-ов :)
Очень сомнительное высказывание. Что с чем измеряется?Ну если мне не веришь, можно поискать более авторитетные источники.

Хотя бы на Хабре: " NoSQL базы данных: понимаем суть ".
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848974
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПустомеля ты. Я про то как реализовать кэширование в репозитории не вставляя в него никакие грабли, ещё в прошлом году рассказывал :)
У меня кеширование точно так же без грабель, вынесено в отдельный кеширующий слой, которой так же легко доставать через инверсию интерфейса репозитория. Всё работает безшовно.

skyANAНе надо теперь делать вид, что ты предложил мне то, что мне так было нужно, а я не знал как это реализовать.
Я не делаю никому виды, я ответил на твой начальный вопрос о том, как делается кеширование за один чих. А ты начал надувать щеки.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848978
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КАвтор не смог нормально организовать код в репозитариях. Автор решил выделить каждый метод в отдельный класс, мотивируя это каким-то мифическим нарушением SRP. Бог ему судья.Понимаешь. Когда у тебя модульная архитектура, о переходе к которой пишет автор.
То одному модулю нужны одни данные, второму другие, третьему... и т.д.

И если поступать так, как Вы с отчётами: фигачить 100500 методов в репозиторий с сущностями, что нужны только в одном из модулей, - то нарушение SRP становится ни фига не мифическим :)
И автор рассказывает как эволюционировал их код, после того, как они столкнулись с данной проблемой на практике.
Когда и вы на это напоретесь, если напоретесь, то можешь изобрести что-то своё. У тебя же изобретать хорошо получается, целый сайт этому посвящён.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848980
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМСУпропущено...

Очень сомнительное высказывание. Что с чем измеряется?Ну если мне не веришь, можно поискать более авторитетные источники.

Хотя бы на Хабре: " NoSQL базы данных: понимаем суть ".
Ты архитектуру строишь по хабрам? Молодец, чё.

P.S. У NoSQL есть свои плюсы, есть и свои минусы. Но современные реляционные СУБД могут удовлетворить даже самого требовательного знатока. Вон сколько лет мощнейшие биллинги крутятся на ораклах в билайнах, мтсах и мегафонах. И все рады. Просто нужно иметь прямые руки.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848983
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КЭто всё к вопросу о нормальной терминологии.
Да нормально тут всё с терминами. Есть репо для работы с данными. Есть другой репо, наследник, для работы с кешем. По сути тот же декоратор, если тебе так легче.Нормально, ага. Тынц
Ну вот скажи:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
class AppDbContext : DbContext
{ }

class DataService
{
    public AppDbContext Db;

    public A[] GetData()
    {
        return Db.A.Where(v => v.B > 19).ToArray();
    }
}

class CachingDataService
{
    public DataService Data;

    public A[] GetData()
    {
        return CacheEngine.GetOrAdd(() => Data.GetData());
    }
}


Все эти классы можно считать репозитариями, или только какой-то один?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848984
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей К, знаешь почему NoSQL тупо быстрее SQL? Там нет JOIN-ов :)Это я понял. :-)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848985
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAПустомеля ты. Я про то как реализовать кэширование в репозитории не вставляя в него никакие грабли, ещё в прошлом году рассказывал :)
У меня кеширование точно так же без грабель, вынесено в отдельный кеширующий слой, которой так же легко доставать через инверсию интерфейса репозитория. Всё работает безшовно.Понятно что работает. Но это не лучшее решение.

В реальной системе не одну сущность надо кэшировать, не только Album-ы как в твоём примере, а несколько.
И что ты будешь делать? Реализовывать N наследников от N репозиториев?

А декоратор для кэширования реализуется один и применяется к N репозиториям через инверсию.

МСУskyANAНе надо теперь делать вид, что ты предложил мне то, что мне так было нужно, а я не знал как это реализовать.
Я не делаю никому виды, я ответил на твой начальный вопрос о том, как делается кеширование за один чих. А ты начал надувать щеки.Я не надувал щёки, я вообще пиво пил. Просто намекнул, что ты запостил сюда ссылку на велосипед. :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848988
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAпропущено...
Ну если мне не веришь, можно поискать более авторитетные источники.

Хотя бы на Хабре: " NoSQL базы данных: понимаем суть ".
Ты архитектуру строишь по хабрам? Молодец, чё.

P.S. У NoSQL есть свои плюсы, есть и свои минусы. Но современные реляционные СУБД могут удовлетворить даже самого требовательного знатока. Вон сколько лет мощнейшие биллинги крутятся на ораклах в билайнах, мтсах и мегафонах. И все рады. Просто нужно иметь прямые руки.Дурак ты, чё.

Я не строю архитектру по хабрам, я использую его как источник информации о том, чтобы понять что "У NoSQL есть свои плюсы, есть и свои минусы" и какие.
Про архитектуру "на ораклах в билайнах, мтсах и мегафонах" мне ничего не известно, они не выступают на конференциях.
Зато IBM регулярно устраивает митапы. И всякие Evernote выступают на конференциях.

И я не исключаю того, что "в билайнах, мтсах и мегафонах" на ораклах крутится только основное хранилище, а биллинги уже давно построены на каких-нибудь очередях и NoSQL :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848990
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAИ если поступать так, как Вы с отчётами: фигачить 100500 методов в репозиторий с сущностями, что нужны только в одном из модулей, - то нарушение SRP становится ни фига не мифическим :)Нет никаких 100500 методов в классе, если нормально следовать правилам рефакторинга, например по тому же Фаулеру. А вот если фанатично каждый метод выносить в отдельный класс, то можно напороться на слишком маленькую ответственность класса, что тоже плохо - чем больше классов, тем выше затраты на их интеграцию. Нужно искать компромисс количества методов в классе.

skyANAИ автор рассказывает как эволюционировал их код, после того, как они столкнулись с данной проблемой на практике. Когда и вы на это напоретесь, если напоретесь, то можешь изобрести что-то своё.Мы тоже сталкивались с такими проблемами на практике. Все проблемы были успешно преодолены применением банального рефакторинга и разработкой принципов группирования методов в классы.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848991
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и плюс к прямым рукам, которые имеются (основное хранилище-то на MS SQL у нас, и ни фига не простаивает) нужны ещё не кислые бабки, чтобы построить распределённую систему "на ораклах" с их лицензиями.

Вот сколько у вас серверов в кластере?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848992
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНормально, ага. Тынц
Мир паттернами не измеряется, он гораздо шире. Ты хочешь инструкцию на все случаи жизни? Готов разочаровать, такой не существует. Да и где ты увидел нарушения при использовании обычного наследования?

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

skyANAПонятно что работает. Но это не лучшее решение.
Ну знаешь ли. Лучшее или не лучшее, это не тебе судить. Оно решает озвученную тобой задачу и легко ложится в концепцию репо.

skyANAВ реальной системе не одну сущность надо кэшировать, не только Album-ы как в твоём примере, а несколько.
И что ты будешь делать? Реализовывать N наследников от N репозиториев?
Да. Точно так же, как в случае с декоратором . И это правильно.

skyANAА декоратор для кэширования реализуется один и применяется к N репозиториям через инверсию.
Смотря как писать. Можно иметь один толстый кеширующий декоратор, можно его разносить по логической связи, как у меня в рецепте. Я бы лучше разносил, а не гадил в одну навозную кучу. Но в любом случае это не проблема.

skyANAЯ не надувал щёки, я вообще пиво пил. Просто намекнул, что ты запостил сюда ссылку на велосипед. :)
Ссылка на велосипед - те же яйца, только в профиль.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848995
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAДурак ты, чё.
Параноики начали ругаться от бессилия? Забавно.

skyANAЯ не строю архитектру по хабрам, я использую его как источник информации о том, чтобы понять что "У NoSQL есть свои плюсы, есть и свои минусы" и какие.
Про архитектуру "на ораклах в билайнах, мтсах и мегафонах" мне ничего не известно, они не выступают на конференциях.
Зато IBM регулярно устраивает митапы. И всякие Evernote выступают на конференциях.
Я тебе говорю о том, что любые задачи решаются (и хорошо решаются!) на обычных реляционных БД с внятными констреинтами и прочими фичами. Большинство неофитов вроде тебя за уши притягивают NoSQL, которая нафик не уперлась.

skyANAИ я не исключаю того, что "в билайнах, мтсах и мегафонах" на ораклах крутится только основное хранилище, а биллинги уже давно построены на каких-нибудь очередях и NoSQL :)
Там дураков нет :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38848997
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAИ если поступать так, как Вы с отчётами: фигачить 100500 методов в репозиторий с сущностями, что нужны только в одном из модулей, - то нарушение SRP становится ни фига не мифическим :)Нет никаких 100500 методов в классе, если нормально следовать правилам рефакторинга, например по тому же Фаулеру. А вот если фанатично каждый метод выносить в отдельный класс, то можно напороться на слишком маленькую ответственность класса, что тоже плохо - чем больше классов, тем выше затраты на их интеграцию. Нужно искать компромисс количества методов в классе.

skyANAИ автор рассказывает как эволюционировал их код, после того, как они столкнулись с данной проблемой на практике. Когда и вы на это напоретесь, если напоретесь, то можешь изобрести что-то своё.Мы тоже сталкивались с такими проблемами на практике. Все проблемы были успешно преодолены применением банального рефакторинга и разработкой принципов группирования методов в классы.Пример привести можешь?

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

Ну и весь скоп методов, что нужны были планировщику, был вынесен в ScheduleRepository, а не в BillingRepository.

Ты о таком решении?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849002
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КНормально, ага. Тынц
Мир паттернами не измеряется, он гораздо шире. Ты хочешь инструкцию на все случаи жизни? Готов разочаровать, такой не существует.Ну и накой тогда все эти паттерны?

МСУДа и где ты увидел нарушения при использовании обычного наследования?Да нет нарушений. Просто если базовый класс является репозитарием, то все его потомки, наверное, тоже репозитарии.

МСУАлексей КВсе эти классы можно считать репозитариями, или только какой-то один?
Какая-то бессвязная каша. На помойку.Неожиданно.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849005
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНу и весь скоп методов, что нужны были планировщику, был вынесен в ScheduleRepository, а не в BillingRepository.

Ты о таком решении?Ну такое решение тоже имеет право на жизнь. У всех свои предметные области со своими особенностями. Я не смогу привести пример.

Я согласен, в каких-то случаях наверняка есть смысл вынести запрос для отчёта в отдельный репозитарий, но не во всех.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849011
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей КАвтор не смог нормально организовать код в репозитариях. Автор решил выделить каждый метод в отдельный класс, мотивируя это каким-то мифическим нарушением SRP. Бог ему судья.Понимаешь. Когда у тебя модульная архитектура, о переходе к которой пишет автор.
То одному модулю нужны одни данные, второму другие, третьему... и т.д.И это... Автор пишет о том, что одна БД стала в их системе тонким местом, поэтому они решили сделать распределённую систему. По сути, речь идёт о банальной оптимизации по скорости выполнения запросов к БД.

Странно, что автор не упоминает возможность применения пэйджинга, как очень эффективного способа повысить производительность системы.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849012
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAПонятно что работает. Но это не лучшее решение.
Ну знаешь ли. Лучшее или не лучшее, это не тебе судить. Оно решает озвученную тобой задачу и легко ложится в концепцию репо.Не решает.

Я хочу не только в HttpRuntime.Cache кэшировать, но и в распределённый кэш Redis-а. Причём хочу комбинировать, то есть какие-то сущности складывать и туда, и туда. Какие-то только в HttpRuntime.Cache, какие-то только в Redis.

Пишу два декоратора:
Код: c#
1.
public class RepositoryHttpCacheDecorator : IRepository


и
Код: c#
1.
public class RepositoryRedisCacheDecorator : IRepository


И комбинирую их через инверсию.
А используя твой велосипед этого не сделать.

Также мне для тех сущностей, что хранятся в MongoDB нужен
Код: c#
1.
public class RepositoryLockSafeDecorator : IRepository


т.к. в монге нет транзакций и необходимых мне уровней блокировок.

И этот декоратор я успешно комбинирую с другими.

Тут ещё стоит отметить то, что в твоём примере CachedAlbumRepository наследуется от EfAlbumRepository.
Это получается мне для MongoAlbumRepository надо лепить своего наследника с абсолютно таким же функционалом.
Как-то не хочется мне этого совсем :)

МСУskyANAВ реальной системе не одну сущность надо кэшировать, не только Album-ы как в твоём примере, а несколько.
И что ты будешь делать? Реализовывать N наследников от N репозиториев?
Да. Точно так же, как в случае с декоратором . И это правильно.Хоть один-то в реальном проекте уже реализовал? Нет ведь. :)

МСУskyANAА декоратор для кэширования реализуется один и применяется к N репозиториям через инверсию.
Смотря как писать. Можно иметь один толстый кеширующий декоратор, можно его разносить по логической связи, как у меня в рецепте. Я бы лучше разносил, а не гадил в одну навозную кучу. Но в любом случае это не проблема.Ты так ничего и не понял. Ну будет толстого кэшируещего декоратора. Будет комбинация лёгких декораторов. :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849014
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAДурак ты, чё.
Параноики начали ругаться от бессилия? Забавно.Да нет, просто надо было что-то ответить на "Молодец, чё". Видишь, забавно получилось :)

МСУskyANAЯ не строю архитектру по хабрам, я использую его как источник информации о том, чтобы понять что "У NoSQL есть свои плюсы, есть и свои минусы" и какие.
Про архитектуру "на ораклах в билайнах, мтсах и мегафонах" мне ничего не известно, они не выступают на конференциях.
Зато IBM регулярно устраивает митапы. И всякие Evernote выступают на конференциях.
Я тебе говорю о том, что любые задачи решаются (и хорошо решаются!) на обычных реляционных БД с внятными констреинтами и прочими фичами. Большинство неофитов вроде тебя за уши притягивают NoSQL, которая нафик не уперлась.Давай не будем скатываться в пустую болтовню о неофитах и NoSQL. Почитай статью, потом расскажешь, что там Фаулер притянул за уши.

МСУskyANAИ я не исключаю того, что "в билайнах, мтсах и мегафонах" на ораклах крутится только основное хранилище, а биллинги уже давно построены на каких-нибудь очередях и NoSQL :)
Там дураков нет :)Вот и я о том же :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849017
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustmangos,
авторТакой вопрос - для чего нужна автономная работа с бд? Какой от этого прок на практике?
по большому счету для самого приложения ( визуализация данных, б.л.) это вообще прозрачно откуда берутся данные
оно пишется в классическом стиле техзвенки, его совершенно не должно это заботить, а вот промежуточный слой
и определяет откуда брать данные, доступность связи,авто - синхронизация локала и сервиса и т.д.), датасет прерогатива
промежуточного слоя, скажем так одна из возможности его построения ( хороша она или нет, все зависит от танцора)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849020
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAНу и весь скоп методов, что нужны были планировщику, был вынесен в ScheduleRepository, а не в BillingRepository.

Ты о таком решении?Ну такое решение тоже имеет право на жизнь. У всех свои предметные области со своими особенностями. Я не смогу привести пример.

Я согласен, в каких-то случаях наверняка есть смысл вынести запрос для отчёта в отдельный репозитарий, но не во всех.Погоди, ты же сам написал: "Мы тоже сталкивались с такими проблемами на практике. Все проблемы были успешно преодолены применением банального рефакторинга и разработкой принципов группирования методов в классы".

В какие это классы, если не в другие репозитории?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849024
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
Понимаешь. Когда у тебя модульная архитектура, о переходе к которой пишет автор.
То одному модулю нужны одни данные, второму другие, третьему... и т.д.И это... Автор пишет о том, что одна БД стала в их системе тонким местом, поэтому они решили сделать распределённую систему. По сути, речь идёт о банальной оптимизации по скорости выполнения запросов к БД.

Странно, что автор не упоминает возможность применения пэйджинга, как очень эффективного способа повысить производительность системы.Он же не пишет о том, в чём конкретно был затык.

Ты к примеру оптимизировал когда-нибудь EAV? Когда пользователи насоздают 100500 своих атрибутов для сущностей, а потом хотят по ним искать?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849026
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Ну такое решение тоже имеет право на жизнь. У всех свои предметные области со своими особенностями. Я не смогу привести пример.

Я согласен, в каких-то случаях наверняка есть смысл вынести запрос для отчёта в отдельный репозитарий, но не во всех.Погоди, ты же сам написал: "Мы тоже сталкивались с такими проблемами на практике. Все проблемы были успешно преодолены применением банального рефакторинга и разработкой принципов группирования методов в классы".

В какие это классы, если не в другие репозитории?Ну да, в другие репозитарии.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849030
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
Погоди, ты же сам написал: "Мы тоже сталкивались с такими проблемами на практике. Все проблемы были успешно преодолены применением банального рефакторинга и разработкой принципов группирования методов в классы".

В какие это классы, если не в другие репозитории?Ну да, в другие репозитарии.Ты уж тогда определись
Алексей КНу такое решение тоже имеет право на жизнь.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849032
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
И это... Автор пишет о том, что одна БД стала в их системе тонким местом, поэтому они решили сделать распределённую систему. По сути, речь идёт о банальной оптимизации по скорости выполнения запросов к БД.

Странно, что автор не упоминает возможность применения пэйджинга, как очень эффективного способа повысить производительность системы.Он же не пишет о том, в чём конкретно был затык.Таки пишет, в самом начале. И приводит это в качестве причины для изменения архитектуры. :-)
авторПроблемы с масштабированием
Подход описанный выше работает при решении типовых задач. Проблемы начинаются со временем, когда БД вырастает до сотен гигабайт, когда появляется много желающих считать и записать данные в БД.

БД перестает справляться с потоком транзакций от всех подсистем, начинаются блокировки и задержки с откликом. Какое самое простое решение проблемы? Вертикальное масштабирование, т.е. докупание железа. Давайте купим сервер помощнее!

У вертикального масштабирования, к сожалению, есть потолок роста. После покупки очередного сервера с 2 ТБ SSD-дисков вы начитаете задумываться, может что-то надо менять в архитектуре?Архитектурное желание разделить чтения и записи по разным БД имеет право на жизнь, но реализация мне не понравилась.

skyANAТы к примеру оптимизировал когда-нибудь EAV? Когда пользователи насоздают 100500 своих атрибутов для сущностей, а потом хотят по ним искать?Нет, Бог миловал. Пару лет назад мне хватило терпения убедить своих коллег не городить EAV в одном из наших проектов. :-)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849038
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Ну да, в другие репозитарии.Ты уж тогда определись
Алексей КНу такое решение тоже имеет право на жизнь.Мне кажется, что ты меня неправильно понял. Повторюсь, в каких-то случаях можно делать отдельный репозитарий под один, грубо говоря, отчёт, но не всегда. Фанатизм - это плохо.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849039
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вдогонку: банальное выделение класса по Фаулеру.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849042
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиfaustmangos,
авторТакой вопрос - для чего нужна автономная работа с бд? Какой от этого прок на практике?
по большому счету для самого приложения ( визуализация данных, б.л.) это вообще прозрачно откуда берутся данные
оно пишется в классическом стиле техзвенки, его совершенно не должно это заботить, а вот промежуточный слой
и определяет откуда брать данные, доступность связи,авто - синхронизация локала и сервиса и т.д.), датасет прерогатива
промежуточного слоя
, скажем так одна из возможности его построения ( хороша она или нет, все зависит от танцора)DataSet - это структура данных, используемая в качестве модели.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849049
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КГде-то в степиfaustmangos,
пропущено...

по большому счету для самого приложения ( визуализация данных, б.л.) это вообще прозрачно откуда берутся данные
оно пишется в классическом стиле техзвенки, его совершенно не должно это заботить, а вот промежуточный слой
и определяет откуда брать данные, доступность связи,авто - синхронизация локала и сервиса и т.д.), датасет прерогатива
промежуточного слоя
, скажем так одна из возможности его построения ( хороша она или нет, все зависит от танцора)DataSet - это структура данных, используемая в качестве модели.
ну и что? от этого ее место использования не меняется, или Вы ее хотите с маслом на грид намазывать? пожалуйста - в net все возможно..
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849050
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНу и накой тогда все эти паттерны?
Так отделяй зерна от плевел.

Алексей КДа нет нарушений. Просто если базовый класс является репозитарием, то все его потомки, наверное, тоже репозитарии.
Ну я ж поправился во втором посте :) Речь о том, чтобы был независимый репо. А все остальные обёртки - по требованию.

Алексей КНеожиданно.
? :)

skyANAНе решает.

Я хочу не только в HttpRuntime.Cache кэшировать, но и в распределённый кэш Redis-а. Причём хочу комбинировать, то есть какие-то сущности складывать и туда, и туда. Какие-то только в HttpRuntime.Cache, какие-то только в Redis.
Ну пиши свои реализации кеш-репо, не вижу проблем. Сколько надо вариаций кешей, пиши столько оберток. И всё будет работать с базовым репо, а дальше уже по внутренней логике.

skyANAЭто получается мне для MongoAlbumRepository надо лепить своего наследника с абсолютно таким же функционалом.
Как-то не хочется мне этого совсем :)
Ну и пусть будет с таким же функционалом, ты же его не реализуешь. Он сам приходит тебе бесплатно. Какие проблемы? Страхи? :)

skyANAХоть один-то в реальном проекте уже реализовал? Нет ведь. :)
Давно было, сейчас в кешировании нет надобности. Кеширование - это зло. Редко помогает избежать проблемы с производительностью, сейчас таких проблем нет.

skyANAТы так ничего и не понял. Ну будет толстого кэшируещего декоратора. Будет комбинация лёгких декораторов. :)
Ты так ничего и не понял. Не будет никаких декораторов, будет кеширующий репо :)

skyANAДа нет, просто надо было что-то ответить на "Молодец, чё". Видишь, забавно получилось :)
Ты бредишь? :)

skyANAДавай не будем скатываться в пустую болтовню о неофитах и NoSQL. Почитай статью, потом расскажешь, что там Фаулер притянул за уши.
Мне фиолетовы уши, меня 100% устраивают возможности нормальных СУБД, а не этого отмороженного распиаренного говна.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849053
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиАлексей Кпропущено...
DataSet - это структура данных, используемая в качестве модели.
ну и что? от этого ее место использования не меняется, или Вы ее хотите с маслом на грид намазывать? пожалуйста - в net все возможно..Ну просто дал более точную оценку происходящему. :-)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849059
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КНу и накой тогда все эти паттерны?
Так отделяй зерна от плевел.Это работа паттерностроителей. Я за разделение труда. :-)

МСУАлексей КДа нет нарушений. Просто если базовый класс является репозитарием, то все его потомки, наверное, тоже репозитарии.
Ну я ж поправился во втором посте :) Речь о том, чтобы был независимый репо. А все остальные обёртки - по требованию.Да я понял, я просто пользуясь случаем к словам придираюсь.

МСУАлексей КНеожиданно.
? :)Ну я привёл типовой пример. Хочу знать, какой из классов можно считать репозитарием, согласно современной теории репозитариев. Замени кэширование чем-то ещё, если не нравится, суть от этого не изменится.

Есть классы:
1. EF DbContext.
2. Слой классов с логикой на базе IQueryable.
3. Слой классов с логикой на базе IEnumerable.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849062
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAДавай не будем скатываться в пустую болтовню о неофитах и NoSQL. Почитай статью, потом расскажешь, что там Фаулер притянул за уши.
Мне фиолетовы уши, меня 100% устраивают возможности нормальных СУБД, а не этого отмороженного распиаренного говна.А ведь можно сериализовать объект в XML/JSON и запихать полученное в BLOB. Или это медленно?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849066
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
Ты уж тогда определись
пропущено...
Мне кажется, что ты меня неправильно понял. Повторюсь, в каких-то случаях можно делать отдельный репозитарий под один, грубо говоря, отчёт, но не всегда. Фанатизм - это плохо.То есть можно применять CQRS, но без фанатизма :) Кто бы спорил.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849069
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,
тут ведь должно быть все просто и цинично, вся программа должна быть расписана на независимые модули ( если что то уеббало, то у-о в одном месте), размазывать портфельный тип данных на основное приложение чистое безумие.
Ну заехал в команду Тепляков, переписал одно место, и программа прозрачно обновилась, или парень например вырос из датасетов
переписал кусок - все работает бывает хуже - отменили портфельные данные все офф, и кинулась команда переписывать все приложение ?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849072
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУпропущено...

Мне фиолетовы уши, меня 100% устраивают возможности нормальных СУБД, а не этого отмороженного распиаренного говна.А ведь можно сериализовать объект в XML/JSON и запихать полученное в BLOB. Или это медленно?Медленно.

Вангую, что как только МСУ попробует EF7 с Redis-ом, так сразу распиаренное говно станет православной конфеткой
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849073
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Мне кажется, что ты меня неправильно понял. Повторюсь, в каких-то случаях можно делать отдельный репозитарий под один, грубо говоря, отчёт, но не всегда. Фанатизм - это плохо.То есть можно применять CQRS, но без фанатизма :) Кто бы спорил.Да. :-)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849075
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
А ведь можно сериализовать объект в XML/JSON и запихать полученное в BLOB. Или это медленно?Медленно.

Вангую, что как только МСУ попробует EF7 с Redis-ом, так сразу распиаренное говно станет православной конфеткой Не исключено.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849076
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAViPRosViPRos,

есть такая функция из 100000 строк кода, с сотнями управляющих параметров
да при чем тут расписание
вот в ВИПРОС несколько параметров управлющие состоянием кеша, сброса в БД и обновления, постраничный режим и отложенная загрузка и т.д.
это уже комбинаторика
и не одна падла пока не смогла все эти пути протестироватьнет уж подожди, расскажи почему TDD не применимо к твоему расписанию?
начни с того, что ты этим словом называешь? или мы тут все глубоко интересовались твоим Випросом, что с одного слова поняли всю сложность проблемы? :)
Расписание в ВИП.Производство - это есть расписание работ (в одной работе может быть занят(возможно частично) несколько процессоров (заводов, людей, машин, инструмента,..) для выполнения производственных заказов с учетом кооперации, закупок, финансирования и т.д. Построение Расписания NP полная задача. Способа построения оптимального расписания математически доказанного больше 3 процессоров не существует (воще то только на 2).
Потому ты просто тупо не сможешь составить оптимальное расписание не вручную, не через твой сраный тестовый метод даже для маленького участка.
Такие алгоритмы не тестируют, а доказывают.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849078
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиесли что то уеббало, то у-о в одном местеУтопия.

Но в целом согласен.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849081
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЭто работа паттерностроителей. Я за разделение труда. :-)
Я не против, но голову терять тоже не надо, а то превратишься в бындюзомби :)

Алексей КДа я понял, я просто пользуясь случаем к словам придираюсь.
Вредина!

Алексей КНу я привёл типовой пример. Хочу знать, какой из классов можно считать репозитарием, согласно современной теории репозитариев. Замени кэширование чем-то ещё, если не нравится, суть от этого не изменится.
Троллишь?

Алексей КМСУпропущено...
Мне фиолетовы уши, меня 100% устраивают возможности нормальных СУБД, а не этого отмороженного распиаренного говна.А ведь можно сериализовать объект в XML/JSON и запихать полученное в BLOB. Или это медленно?
А ведь можно вообще не использовать БД, а всё запоминать в голове. Посчитаем скорость? При каждой активации нейрона его импульс достигает тысячи других нейронов и далее по цепочке. Получается следующий результат 100 миллиардов (количество нейронов) х 200 (секундная работоспособность) х 1000 (количество соединений) = скорость мозга равная 20 квадриллионам операций в секунду. Мало?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849086
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosСпособа построения оптимального расписания математически доказанного больше 3 процессоров не существует (воще то только на 2).Методом перебора можно построить любое расписание.
ViPRosТакие алгоритмы не тестируют, а доказывают.Результат можно оценить по агрегированным показателям. Например, сумма чего-нибудь по всему полученному расписанию должна быть минимальна.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849090
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КЭто работа паттерностроителей. Я за разделение труда. :-)
Я не против, но голову терять тоже не надо, а то превратишься в бындюзомби :)Маловероятно.

МСУАлексей КНу я привёл типовой пример. Хочу знать, какой из классов можно считать репозитарием, согласно современной теории репозитариев. Замени кэширование чем-то ещё, если не нравится, суть от этого не изменится.
Троллишь? Нет, я вполне серьёзно. Мне действительно не понятно из определения, какие из этих классов можно считать репозитариями.

МСУАлексей Кпропущено...
А ведь можно сериализовать объект в XML/JSON и запихать полученное в BLOB. Или это медленно?
А ведь можно вообще не использовать БД, а всё запоминать в голове. Посчитаем скорость? При каждой активации нейрона его импульс достигает тысячи других нейронов и далее по цепочке. Получается следующий результат 100 миллиардов (количество нейронов) х 200 (секундная работоспособность) х 1000 (количество соединений) = скорость мозга равная 20 квадриллионам операций в секунду. Мало?хз
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849098
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANAпропущено...
нет уж подожди, расскажи почему TDD не применимо к твоему расписанию?
начни с того, что ты этим словом называешь? или мы тут все глубоко интересовались твоим Випросом, что с одного слова поняли всю сложность проблемы? :)
Расписание в ВИП.Производство - это есть расписание работ (в одной работе может быть занят(возможно частично) несколько процессоров (заводов, людей, машин, инструмента,..) для выполнения производственных заказов с учетом кооперации, закупок, финансирования и т.д. Построение Расписания NP полная задача. Способа построения оптимального расписания математически доказанного больше 3 процессоров не существует (воще то только на 2).
Потому ты просто тупо не сможешь составить оптимальное расписание не вручную, не через твой сраный тестовый метод даже для маленького участка.
Такие алгоритмы не тестируют, а доказывают.Ты не знаешь, что такое TDD, а споришь и психуешь.

Тестовый метод не составляет расписание, а проверяет то, что на выходе твоей адской функции в 100000 строк, мы имеем то, что ожидали.

Хватит уже дальше своего Випроса ничего не видеть :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849104
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей К, знаешь почему применяют Денормализацию для ускорения выборки? Потому как в денормализованные таблицы не нуждаются в JOIN-ах :)
После таких перлов, понятно что ты никогда кишки ни одного ентерпрайза не видел и тем более в них сам не копался.
Денормализация для ускорения выборки это последняя хрень которая взбредет в голову вменяемому разработчику БД.
Полностью нормализованная база в принципе не жизнеспособна и отнють не по причине скорости выборки. Как и не жизнеспособна полностью денормализованная БД. Любая реальная база отчасти денормализована и это нормально.
Основной профит NoSQL в возможности четкого распределения БД по железу, за счет чего и наблюдается основной прирост перформанса на больших объемах данных, но фишка в том что и РСУБД сегодня на это способны. И никто не запрещает юзать РСУБД так сказать в стиле NoSQL. Пример те же виндовые облака, у них там "типа NoSQL хранилище" а что в основе? Да тот же SQL Server!
Если загонишь все данные в одну таблицу, получишь попу на операциях вставки, обновления, удаления и хрен че выйграешь в итоге, а если еще и транзакция прилетит - туши свет.
И результаты тех же джоинов сегодня РСУБД прекрасно кэшируют.
Короче все это хрень для любителей "ноу-хау" которым сто лет в обед.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849105
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КViPRosСпособа построения оптимального расписания математически доказанного больше 3 процессоров не существует (воще то только на 2).Методом перебора можно построить любое расписание.
ViPRosТакие алгоритмы не тестируют, а доказывают.Результат можно оценить по агрегированным показателям. Например, сумма чего-нибудь по всему полученному расписанию должна быть минимальна.
1. нельзя - жизни твоей не хватит
2. нельзя - нет пока методов без потерь важной информации агрегирующих (не все можно агрегировать - 2 человека и есть 2 отдельных человек, как их не назови)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849107
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAViPRosпропущено...

Расписание в ВИП.Производство - это есть расписание работ (в одной работе может быть занят(возможно частично) несколько процессоров (заводов, людей, машин, инструмента,..) для выполнения производственных заказов с учетом кооперации, закупок, финансирования и т.д. Построение Расписания NP полная задача. Способа построения оптимального расписания математически доказанного больше 3 процессоров не существует (воще то только на 2).
Потому ты просто тупо не сможешь составить оптимальное расписание не вручную, не через твой сраный тестовый метод даже для маленького участка.
Такие алгоритмы не тестируют, а доказывают.Ты не знаешь, что такое TDD, а споришь и психуешь.

Тестовый метод не составляет расписание, а проверяет то, что на выходе твоей адской функции в 100000 строк, мы имеем то, что ожидали.

Хватит уже дальше своего Випроса ничего не видеть :)
да ладно
я тебе и пытаюсь несколько раз вдолбить, что ты не можешь знать Выход и не с чем тебе сравнивать
твой сраный ТДД всю жисть назывался - сдать на контрольном примере
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849109
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAАлексей К, знаешь почему применяют Денормализацию для ускорения выборки? Потому как в денормализованные таблицы не нуждаются в JOIN-ах :)
После таких перлов, понятно что ты никогда кишки ни одного ентерпрайза не видел и тем более в них сам не копался.
Денормализация для ускорения выборки это последняя хрень которая взбредет в голову вменяемому разработчику БД.
Полностью нормализованная база в принципе не жизнеспособна и отнють не по причине скорости выборки. Как и не жизнеспособна полностью денормализованная БД. Любая реальная база отчасти денормализована и это нормально.
Основной профит NoSQL в возможности четкого распределения БД по железу, за счет чего и наблюдается основной прирост перформанса на больших объемах данных, но фишка в том что и РСУБД сегодня на это способны. И никто не запрещает юзать РСУБД так сказать в стиле NoSQL. Пример те же виндовые облака, у них там "типа NoSQL хранилище" а что в основе? Да тот же SQL Server!
Если загонишь все данные в одну таблицу, получишь попу на операциях вставки, обновления, удаления и хрен че выйграешь в итоге, а если еще и транзакция прилетит - туши свет.
И результаты тех же джоинов сегодня РСУБД прекрасно кэшируют.
Короче все это хрень для любителей "ноу-хау" которым сто лет в обед.Ахаха. Ынтерпрайза я не видел кишки. Я их писал, кишки АИС ТПС НК "Юкос".
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849111
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а тут не может быть контрольного примера, потому что если ты умеешь построить контрольный пример, то ты уже перевел NP в P
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849113
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУпропущено...
Я не против, но голову терять тоже не надо, а то превратишься в бындюзомби :)Маловероятно.
Тем не менее, вероятность зомбануться есть. Вон один уже схватил дозу. Ходит и редисами всех пугает

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

Код: c#
1.
2.
3.
4.
[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Int32 : IComparable, IFormattable, 
	IConvertible, IComparable<int>, IEquatable<int>





Алексей Кхз
инфа 132% :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849116
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANAпропущено...
Ты не знаешь, что такое TDD, а споришь и психуешь.

Тестовый метод не составляет расписание, а проверяет то, что на выходе твоей адской функции в 100000 строк, мы имеем то, что ожидали.

Хватит уже дальше своего Випроса ничего не видеть :)
да ладно
я тебе и пытаюсь несколько раз вдолбить, что ты не можешь знать Выход и не с чем тебе сравнивать
твой сраный ТДД всю жисть назывался - сдать на контрольном примереЕщё раз, выход можно оценивать по агрегированным показателям.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849117
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КViPRosпропущено...

да ладно
я тебе и пытаюсь несколько раз вдолбить, что ты не можешь знать Выход и не с чем тебе сравнивать
твой сраный ТДД всю жисть назывался - сдать на контрольном примереЕщё раз, выход можно оценивать по агрегированным показателям.
еще раз - нет таких агрегатов, которые бы аналитически были связаны с параметрами расписания
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849118
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

блин, если бы можно было такие агрегаты построить, то в таких агрегатах и работали
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849120
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosАлексей Кпропущено...
Методом перебора можно построить любое расписание.
пропущено...
Результат можно оценить по агрегированным показателям. Например, сумма чего-нибудь по всему полученному расписанию должна быть минимальна.
1. нельзя - жизни твоей не хватитПоэтому применяются всякие оптимизации и допущения, зависящие от предметной области.
ViPRos2. нельзя - нет пока методов без потерь важной информации агрегирующих (не все можно агрегировать - 2 человека и есть 2 отдельных человек, как их не назови)Расписание строится не для одного конкретного человека, а для, например, цеха. Критерии при построения расписания могут быть разными, например: равномерно распределить рабочее время по всем сотрудникам - это уж можно определить максимальным отклонением от среднего?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849122
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
Маловероятно.
Тем не менее, вероятность зомбануться есть. Вон один уже схватил дозу. Ходит и редисами всех пугает

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

Код: c#
1.
2.
3.
4.
[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Int32 : IComparable, IFormattable, 
	IConvertible, IComparable<int>, IEquatable<int>



Потому что сам не знаешь!

В итоге мой список непонятных определений на сегодня:
1. Repository
2. REST
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849124
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КViPRosпропущено...

1. нельзя - жизни твоей не хватитПоэтому применяются всякие оптимизации и допущения, зависящие от предметной области.
ViPRos2. нельзя - нет пока методов без потерь важной информации агрегирующих (не все можно агрегировать - 2 человека и есть 2 отдельных человек, как их не назови)Расписание строится не для одного конкретного человека, а для, например, цеха. Критерии при построения расписания могут быть разными, например: равномерно распределить рабочее время по всем сотрудникам - это уж можно определить максимальным отклонением от среднего?
это не критерий а фуфло
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849125
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Расписание строится для работ, цеха и т.д. исполнители (процессоры)
общепринятый критерий - мин времени, мин затрат
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849127
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при построении расписании цеха и т.д. иногда конструируются (реструктуризация мощностей), продается или ликвидируются :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849129
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не читай всякую фигню
зачем распределять работы равномерно для каких то сотрудников? что за совковая идея?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849130
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПотому что сам не знаешь!

В итоге мой список непонятных определений на сегодня:
1. Repository
2. REST
REST смело выкидывай, еще в прошлом году выяснили что это сферический конь, который был нужен только что бы защитить очередную сферическую диссертацию очередному горе-архитектору.
А по первому пункту наброшу... Вот у меня класс, наследуется от DataContext это репозиторий или нет?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849135
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIАлексей КПотому что сам не знаешь!

В итоге мой список непонятных определений на сегодня:
1. Repository
2. REST
REST смело выкидывай, еще в прошлом году выяснили что это сферический конь, который был нужен только что бы защитить очередную сферическую диссертацию очередному горе-архитектору.
А по первому пункту наброшу... Вот у меня класс, наследуется от DataContext это репозиторий или нет?
да блин какая разница как эту фигню кто то назвал как то?
тут нет никакой математики, нет теорем с доказательством что нужен репо ил нет и т.д.
само по себе "унаследование" полное фуфло и неопределенность во всех смыслах
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849136
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
брент 51.77 а бакс 61.04, а должно быть 75
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849137
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
64.04
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849138
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosEDUARD SAPOTSKIпропущено...

REST смело выкидывай, еще в прошлом году выяснили что это сферический конь, который был нужен только что бы защитить очередную сферическую диссертацию очередному горе-архитектору.
А по первому пункту наброшу... Вот у меня класс, наследуется от DataContext это репозиторий или нет?
да блин какая разница как эту фигню кто то назвал как то?
тут нет никакой математики, нет теорем с доказательством что нужен репо ил нет и т.д.
само по себе "унаследование" полное фуфло и неопределенность во всех смыслах
Тсссс! Хотчется услышать мнения спецов по репозиториям
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849141
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosАлексей Кпропущено...
Поэтому применяются всякие оптимизации и допущения, зависящие от предметной области.
пропущено...
Расписание строится не для одного конкретного человека, а для, например, цеха. Критерии при построения расписания могут быть разными, например: равномерно распределить рабочее время по всем сотрудникам - это уж можно определить максимальным отклонением от среднего?
это не критерий а фуфлоЭто ты будешь объяснять сотрудникам, которые получают сдельную зарплату, откуда у работников одного цеха такая разница в доходах.
ViPRosРасписание строится для работ, цеха и т.д. исполнители (процессоры)
общепринятый критерий - мин времени, мин затратНу вот, а говоришь что нет. А оказывается есть.
ViPRosпри построении расписании цеха и т.д. иногда конструируются (реструктуризация мощностей), продается или ликвидируются :)Не понял.
ViPRosне читай всякую фигню
зачем распределять работы равномерно для каких то сотрудников? что за совковая идея?Смотри выше, про сдельную зарплату. Пример из моей жизни: локомотивные бригады в РЖД.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849142
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIАлексей КПотому что сам не знаешь!

В итоге мой список непонятных определений на сегодня:
1. Repository
2. REST
REST смело выкидывай, еще в прошлом году выяснили что это сферический конь, который был нужен только что бы защитить очередную сферическую диссертацию очередному горе-архитектору.Нет! Я буду постоянно про него напоминать!
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849143
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIViPRosпропущено...

да блин какая разница как эту фигню кто то назвал как то?
тут нет никакой математики, нет теорем с доказательством что нужен репо ил нет и т.д.
само по себе "унаследование" полное фуфло и неопределенность во всех смыслах
Тсссс! Хотчется услышать мнения спецов по репозиториям Не услышишь! Спецы есть, мнений нет.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849146
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

неправильно у вас бригады сформированы
бригад вообще никогда не надо сформировывать
многолетний опыт показывает, что лучше использовать пул ресурсов, как можно больших размеров
сдельной оплаты не бывает, если ты уже наемник
ЗП, Амортизацию, Поддержку в рабочем состоянии ты все равно будешь платить - это постоянные расходы, как бы какой козел обратного не пытался доказать
так что не надо выводить 5 чек на работу для одного предназначенной, лучше оплатить простой
это все ВИП,Производство доказано :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849151
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

чего не понял то?
есть директива страны, к 17 году выпустить нннн количество так как и пиндосов больше
вот при построении расписания выявляется что мощностей не хватает и рекомендуется построить цех, завод, (а если есть процессы построения компоновки и т.д. то запускается расписание на построение цеха завода) или реструктурировать определенные заводы (перевести оборудование в другой завод, закупить оборудование и т.д.)
выработка рекомендаций по оснащению мощностями, реструктуризации (и не только) является важнейшим функционалом построителя расписания
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849154
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПотому что сам не знаешь!
В итоге мой список непонятных определений на сегодня:
1. Repository
2. REST
3. OData?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849158
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosАлексей К,

неправильно у вас бригады сформированы
бригад вообще никогда не надо сформировыватьПсихологи с тобой не согласны. Они рекомендуют иметь по возможности постоянные пары машинист/помощник машиниста.
ViPRosмноголетний опыт показывает, что лучше использовать пул ресурсов, как можно больших размеров
сдельной оплаты не бывает, если ты уже наемник
ЗП, Амортизацию, Поддержку в рабочем состоянии ты все равно будешь платить - это постоянные расходы, как бы какой козел обратного не пытался доказать
так что не надо выводить 5 чек на работу для одного предназначенной, лучше оплатить простой
это все ВИП,Производство доказано :)Я тебе рассказываю как есть. А как должно быть мне в данном случае не интересно. А за "оплатить простой" сверх допустимого тебя в РЖД так нагнут, мало не покажется.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849159
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КПотому что сам не знаешь!
В итоге мой список непонятных определений на сегодня:
1. Repository
2. REST
3. OData?

Нет, с OData всё понятно.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849163
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

это надо РЖД нагнут за психологические эксперименты (помощник - надежность и приобретение компетенций, а не пара гомиков)
вот как токо ВИП пойдет по отраслям РЖД и нагнем, а то придумал сцуко - динамическое ценообразование - башку бы отрубить за такую оптимизацию
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849165
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ладно, давайте обратно, а то вам такие вещи не интересны
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849168
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС наверное уже на пятой странице или ушел в запой или решил переквалифицироваться
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849170
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНет, с OData всё понятно.
Ну расскажи, коли всё понятно. Внимательно послушаю :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849171
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIТС наверное уже на пятой странице или ушел в запой или решил переквалифицироваться ТС походу решил потроллить общественнось, но не получилось.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849173
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КНет, с OData всё понятно.
Ну расскажи, коли всё понятно. Внимательно послушаю :)
По моему Алексей в свое время дал самое точное определение для OData:
Алексей КВышла новая версия Windows: "Мы вернули кнопку 'Пуск' - это огромный шаг для всего человечества".

15 лет назад: "Вот вам СУБД с сетевым доступом к ней и SQL. Теперь клиенты могут делать произвольные запросы к БД".

10 лет назад: "Двухзвенка УГ. Клиенты не должны напрямую ходить в БД, только через сервер приложений.".

Сегодня: "Сервер приложений нам мешает делать запросы к БД, но мы нашли способ всех наипать".
Надо в MSDN так и написать
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849175
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosАлексей К,

это надо РЖД нагнут за психологические эксперименты (помощник - надежность и приобретение компетенций, а не пара гомиков)Это называется психологическая совместимость. При крушениях в том числе проверяют правильность формирования локомотивной бригады, в том числе с учётом рекомендаций психологов. Тут всё серьёзно.
ViPRosвот как токо ВИП пойдет по отраслям РЖД и нагнем, а то придумал сцуко - динамическое ценообразование - башку бы отрубить за такую оптимизациюВИП конкурент SAP? Ну ну...
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849178
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

САП не конкурент ВИП, потому что нет никакого Сапа, а есть прога написанная внедренцами под брендом САП
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849179
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КНет, с OData всё понятно.
Ну расскажи, коли всё понятно. Внимательно послушаю :)Эдуард выше правильно процитировал, мне добавить нечего. :-)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849183
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosАлексей К,

САП не конкурент ВИП, потому что нет никакого Сапа, а есть прога написанная внедренцами под брендом САПНу приди с ЦКИ РЖД , и так прямо им скажи: "Нет никакого SAP, вас наипали. ВИП вас спасёт". Отпиши потом тут, куда тебя послали.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849185
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*приди в
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849190
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANAпропущено...
Ты не знаешь, что такое TDD, а споришь и психуешь.

Тестовый метод не составляет расписание, а проверяет то, что на выходе твоей адской функции в 100000 строк, мы имеем то, что ожидали.

Хватит уже дальше своего Випроса ничего не видеть :)
да ладно
я тебе и пытаюсь несколько раз вдолбить, что ты не можешь знать Выход и не с чем тебе сравнивать
твой сраный ТДД всю жисть назывался - сдать на контрольном примереБоюсь, что мой сраный ТДД, переживёт твой сраный Випрос, хотя бы потому, что он есть суть "сдать на контрольном примере" :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849197
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAViPRosпропущено...

да ладно
я тебе и пытаюсь несколько раз вдолбить, что ты не можешь знать Выход и не с чем тебе сравнивать
твой сраный ТДД всю жисть назывался - сдать на контрольном примереБоюсь, что мой сраный ТДД, переживёт твой сраный Випрос, хотя бы потому, что он есть суть "сдать на контрольном примере" :)
да блин не сможешь ты для этого случая сделать контрольный пример и таких случаев - все NP задачи
все то тебе кажется что бындю уже в паттерн загнал
в паттерн загнано только то что - непрерывно, монотонно, и т.д. нежизненно
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849199
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К*приди в
и туда придем, дай со своими разобраться
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849215
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANAпропущено...
Боюсь, что мой сраный ТДД, переживёт твой сраный Випрос, хотя бы потому, что он есть суть "сдать на контрольном примере" :)
да блин не сможешь ты для этого случая сделать контрольный пример и таких случаев - все NP задачи
все то тебе кажется что бындю уже в паттерн загнал
в паттерн загнано только то что - непрерывно, монотонно, и т.д. нежизненноЧто ты пытаешься доказать?

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

Я об этом рассуждал, ибо ты ни фиге же не рассказал, что такое это твоё расписание :)

Также чисто алгебраически любую функцию можно представить в виде композиции циклов.
Разбей свои 100000 строк на такую композицию, протестируй отдельные куски.

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

Что не так-то?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849218
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЧто не так-то?Всё не так! (ц) ViPRos
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849220
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosАлексей К*приди в
и туда придем, дай со своими разобратьсяГлавное, чтобы смогли оттуда выйти.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849223
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAЧто не так-то?Всё не так! (ц) ViPRos
прально
я заметил уже однажды что с ним что то не так
что то у него ментально от немца или робота сидит :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849226
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЧисто алгебраически любую функцию на конечном множестве определений можно представить в табличном виде и в тесте проверить, что если на вход подали определённое значение, то на выходе получился ожидаемый результат из указанной таблицы.

Я об этом рассуждал, ибо ты ни фиге же не рассказал, что такое это твоё расписание :)

Также чисто алгебраически любую функцию можно представить в виде композиции циклов.
Разбей свои 100000 строк на такую композицию, протестируй отдельные куски.

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

Что не так-то?
Ясен пень не так. Возьми любой стохастический процесс и все твои выкладки идут лесом. Самый простой пример - параметр функции является результатом вычисления той же функции. Приплыли?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849227
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosчто то у него ментально от немца или робота сидит :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849228
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosАлексей Кпропущено...
Всё не так! (ц) ViPRos
прально
я заметил уже однажды что с ним что то не так
что то у него ментально от немца или робота сидит :)Чепецкий Механический Завод у меня в родном городе. Мутировал я. На уровень выше вас стал, кусков мяса
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849230
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAЧисто алгебраически любую функцию на конечном множестве определений можно представить в табличном виде и в тесте проверить, что если на вход подали определённое значение, то на выходе получился ожидаемый результат из указанной таблицы.

Я об этом рассуждал, ибо ты ни фиге же не рассказал, что такое это твоё расписание :)

Также чисто алгебраически любую функцию можно представить в виде композиции циклов.
Разбей свои 100000 строк на такую композицию, протестируй отдельные куски.

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

Что не так-то?
Ясен пень не так. Возьми любой стохастический процесс и все твои выкладки идут лесом. Самый простой пример - параметр функции является результатом вычисления той же функции. Приплыли?И? Саму функцию почему при этом нельзя покрыть тестом? :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849233
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

да я не обидеть
просто почему то ты думаешь что на все вопросы есть ответы
нет - есть ответы только на очень махонький класс задач - я же говорил - непрерывность монотонность и т.д. оооочень сильные ограничения на этот класс
зачастую даже невозможно в аналитическом или даже табличном виде задать функцию, которую надо оптимизировать
ты просто почитай допустим про динамическое программирование (это самое простое) бельмана
ваще почитай матпрограммирование
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849234
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANA,

да я не обидеть
просто почему то ты думаешь что на все вопросы есть ответы
нет - есть ответы только на очень махонький класс задач - я же говорил - непрерывность монотонность и т.д. оооочень сильные ограничения на этот класс
зачастую даже невозможно в аналитическом или даже табличном виде задать функцию, которую надо оптимизировать
ты просто почитай допустим про динамическое программирование (это самое простое) бельмана
ваще почитай матпрограммированиеТы ошибаешься, я так не думаю.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849236
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAEDUARD SAPOTSKIпропущено...

Ясен пень не так. Возьми любой стохастический процесс и все твои выкладки идут лесом. Самый простой пример - параметр функции является результатом вычисления той же функции. Приплыли?И? Саму функцию почему при этом нельзя покрыть тестом? :)
я что это даст?
допустим все 10000 циклов правильные
но это не означает что прога выдает оптимальный результат, он может быть даже недопустимым
надо доказать алгоритм, что его работа приводит к оптимуму (за приемлемое время)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849238
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANAпропущено...
И? Саму функцию почему при этом нельзя покрыть тестом? :)
я что это даст?
допустим все 10000 циклов правильные
но это не означает что прога выдает оптимальный результат, он может быть даже недопустимым
надо доказать алгоритм, что его работа приводит к оптимуму (за приемлемое время)Хотя бы это даст ускорение в разработке. Потому как перепроверять 10000 циклов ручками будет ну гораздо дольше.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849239
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAViPRosпропущено...

я что это даст?
допустим все 10000 циклов правильные
но это не означает что прога выдает оптимальный результат, он может быть даже недопустимым
надо доказать алгоритм, что его работа приводит к оптимуму (за приемлемое время)Хотя бы это даст ускорение в разработке. Потому как перепроверять 10000 циклов ручками будет ну гораздо дольше.Ну и запустив 10000 на реальных данных, мы увидим, что и на них все они работают верно.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849242
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAСаму функцию почему при этом нельзя покрыть тестом? :)
Каким хреном? Если бы все так просто было, погоду на тысячи лет вперед могли бы предсказать с точностью до доли градуса, а реально можем предсказать с высокой точностью на 3 дня! И для этого надо не кластер из десятка серверов а пара датацентров. Не задумывался почему это так? Все функции синусами и гиперболами не ограничиваются. Любая нелинейная функция это уже косяк в тестировании, а бывают и "охерительно нелинейные" функции.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849247
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAСаму функцию почему при этом нельзя покрыть тестом? :)
Каким хреном? Если бы все так просто было, погоду на тысячи лет вперед могли бы предсказать с точностью до доли градуса, а реально можем предсказать с высокой точностью на 3 дня! И для этого надо не кластер из десятка серверов а пара датацентров. Не задумывался почему это так? Все функции синусами и гиперболами не ограничиваются. Любая нелинейная функция это уже косяк в тестировании, а бывают и "охерительно нелинейные" функции.Хорошо. Давай остановимся на взаимно-однозначных функциях.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849249
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще конечно забавно получается. Мы у себя не применяем TDD, потому как погоду нельзя предсказать.

Эдуард, ты на коленке хранимки проверяешь. О каких таких стохастических процессах речь? Куда тебя понесло? :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849250
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

ну чем спорить возьми 5 станков и 50 работ
попробуй построить контрольный пример
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849251
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANA,

ну чем спорить возьми 5 станков и 50 работ
попробуй построить контрольный примерС чего ты взял, что я тебе не верю?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849252
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANA,

ну чем спорить возьми 5 станков и 50 работ
попробуй построить контрольный примерАгрегированные показатели результата блеат! В третий раз уже...

Ну или как минимум, чтобы ошибку не выдавало, уже хорошо...
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849254
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

проверить можно то, что счетно (и то границы счетности может быть великим гемором) или есть более мощный алгоритм, чем тестируемый
но в таком случае нечего и тестировать, раз уже есть алгоритм
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849259
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КViPRosskyANA,

ну чем спорить возьми 5 станков и 50 работ
попробуй построить контрольный примерАгрегированные показатели результата блеат! В третий раз уже...

Ну или как минимум, чтобы ошибку не выдавало, уже хорошо...
Алексей невозможно агрегировать
Агрегация - в строгом смысле имеется ввиду алгоритм синтеза
Агрегация предполагает функцию однозначной декомпозиции
Если мы можем построить агрегат, значит м ы тем самым редуцируем задачу, сводим ее к другой задаче с меньшей размерностью
в дискретике это почти никогда невозможно
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849260
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANA,

проверить можно то, что счетно (и то границы счетности может быть великим гемором) или есть более мощный алгоритм, чем тестируемый
но в таком случае нечего и тестировать, раз уже есть алгоритмЧёрт, счётно множество бесконечно, а я тебе вообще про конечное
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849263
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЭдуард, ты на коленке хранимки проверяешь. О каких таких стохастических процессах речь? Куда тебя понесло? :)
Тебя в твою завышенную самооценку уже на раз тыкали, так очередной раз тыкнут, ты сразу начинаешь на личности перескакивать! Яркий признак говнистости, извини, но как есть так есть.
ЗЫ Свою первую рабочую систему прогнозирования написал на матлабе в 2004-м, тогда уже юзал кучу статистических методов и нейросети. В Зеленограде в те времена дельфи хоть освоили?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849264
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пойми простую вещ
в таких задачах ищется ОТВЕТ (допустим сколько лет надо что бы все станки раша производила сама)
и если ты каким то образом уже ЗНАЕШЬ что ТРИ ГОДА, то и не надо никакой задачи решать
т.е. в таких задачах, контрольный пример и есть РЕШЕНИЕ
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849268
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKI,

завышенная самооценка - хорошая черта, если работаешь над собой, а не только самооцениваешься
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849270
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAЭдуард, ты на коленке хранимки проверяешь. О каких таких стохастических процессах речь? Куда тебя понесло? :)
Тебя в твою завышенную самооценку уже на раз тыкали, так очередной раз тыкнут, ты сразу начинаешь на личности перескакивать! Яркий признак говнистости, извини, но как есть так есть.
ЗЫ Свою первую рабочую систему прогнозирования написал на матлабе в 2004-м, тогда уже юзал кучу статистических методов и нейросети. В Зеленограде в те времена дельфи хоть освоили? Я тебе указал на то, что тебя не в ту степь понесло.

Чётко же обозначил условия. А ты про стохастические процессы начал. Вышел за рамки условий. Очень конструктивно.
Особенно учитывая тот факт, что когда тебе что-то не нравится, то ты просишь показать некий реальный бизнес-процесс. :)

А в Зеленограде в 2004-м я уже второй год пилил кишки Ынтерпрайза для Юкоса на PL\SQL.
Дельфи к тому моменту был уже пройденный этап. Да и матлаб остался в институте.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849272
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosпойми простую вещ
в таких задачах ищется ОТВЕТ (допустим сколько лет надо что бы все станки раша производила сама)
и если ты каким то образом уже ЗНАЕШЬ что ТРИ ГОДА, то и не надо никакой задачи решать
т.е. в таких задачах, контрольный пример и есть РЕШЕНИЕДа ладно? :) Функция, представленная в табличном виде и есть функция, удивительно.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849273
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

конечно - это набор допустимых решений
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849276
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЯ тебе указал на то, что тебя не в ту степь понесло.
Как раз и ViPRos и я говорим про одну и ту же степь, перечитай еще раз, я врядли лучше придумаю как объяснить:
ViPRosв таких задачах ищется ОТВЕТ (допустим сколько лет надо что бы все станки раша производила сама)
и если ты каким то образом уже ЗНАЕШЬ что ТРИ ГОДА, то и не надо никакой задачи решать
т.е. в таких задачах, контрольный пример и есть РЕШЕНИЕ
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849281
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но речь то не об этом.

У тебя есть некий алгоритм, например распознования голоса.
И тебе его надо проверить. Ты набиваешь конктрольную таблицу.
В колонке величин из области определения у тебя звуковые дорожки вида: "маша мыла раму".
В колонке величин из области значений соответсвующий текст.

Запускаешь тест первый раз, он показывает что твой алгоритм работает правильно в 10% случаев.
Допиливаешь, запускаешь тест... 40%
Допиливаешь, запускаешь тест... 60%
Допиливаешь, запускаешь тест... 100%

В продакшн.

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

Потом хомячки начинают пользоваться, плеваться, уточнять результаты, ты собираешь статистику, складываешь на диск и за её счёт расширяешь таблицу значений.

И вот на очередной конференции Яндекс презентует свой распознаватель речи в реальном времени выложенный в общий доступ :)

Ты можешь хоть усраться, доказывая, что речь на 100% распознать нельзя. Доказывая, что таблицу значений не соберёшь, что памяти не хватит.
Яндексу плевать, он рубит бабло с хомячков.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849282
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANA,

конечно - это набор допустимых решенийТы не понял, это был стёб :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849283
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAЯ тебе указал на то, что тебя не в ту степь понесло.
Как раз и ViPRos и я говорим про одну и ту же степь, перечитай еще раз, я врядли лучше придумаю как объяснить:
ViPRosв таких задачах ищется ОТВЕТ (допустим сколько лет надо что бы все станки раша производила сама)
и если ты каким то образом уже ЗНАЕШЬ что ТРИ ГОДА, то и не надо никакой задачи решать
т.е. в таких задачах, контрольный пример и есть РЕШЕНИЕЯ это всё прекрасно понимаю.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849285
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

ну с народом это катит, я сильно зол на себя , что пропустил, недооценил момент появления рынка человечков
там можно срубить бабло, написав типа - хор пердежа новой гвинеи, или самые распространенные узоры на х
а тут надо блин трахаться с ржд и т.д. говноструктурами
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849293
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНо речь то не об этом.

У тебя есть некий алгоритм, например распознования голоса.
И тебе его надо проверить. Ты набиваешь конктрольную таблицу.
В колонке величин из области определения у тебя звуковые дорожки вида: "маша мыла раму".
В колонке величин из области значений соответсвующий текст.

Запускаешь тест первый раз, он показывает что твой алгоритм работает правильно в 10% случаев.
Допиливаешь, запускаешь тест... 40%
Допиливаешь, запускаешь тест... 60%
Допиливаешь, запускаешь тест... 100%

В продакшн.

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

Потом хомячки начинают пользоваться, плеваться, уточнять результаты, ты собираешь статистику, складываешь на диск и за её счёт расширяешь таблицу значений.

И вот на очередной конференции Яндекс презентует свой распознаватель речи в реальном времени выложенный в общий доступ :)

Ты можешь хоть усраться, доказывая, что речь на 100% распознать нельзя. Доказывая, что таблицу значений не соберёшь, что памяти не хватит.
Яндексу плевать, он рубит бабло с хомячков.
Уффф... как все запущено....
Ну вот смотри, зашел 2-го декабря на форум некто Eduard Sapotski и сказал:
EDUARD SAPOTSKIКуранты пробьют под 55, летом отдыхать поедите под 75
А сегодня смотрим и что видим? 56.24 на 01.01.2015 Не плохо функция отработала? Вопрос в другом, а нужен этот результат сегодня? И можно ли эту функцию использовать сегодня что бы сделать прогноз на завтра? И как в таких задачах поможет тестирование?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849325
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAНо речь то не об этом.

У тебя есть некий алгоритм, например распознования голоса.
И тебе его надо проверить. Ты набиваешь конктрольную таблицу.
В колонке величин из области определения у тебя звуковые дорожки вида: "маша мыла раму".
В колонке величин из области значений соответсвующий текст.

Запускаешь тест первый раз, он показывает что твой алгоритм работает правильно в 10% случаев.
Допиливаешь, запускаешь тест... 40%
Допиливаешь, запускаешь тест... 60%
Допиливаешь, запускаешь тест... 100%

В продакшн.

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

Потом хомячки начинают пользоваться, плеваться, уточнять результаты, ты собираешь статистику, складываешь на диск и за её счёт расширяешь таблицу значений.

И вот на очередной конференции Яндекс презентует свой распознаватель речи в реальном времени выложенный в общий доступ :)

Ты можешь хоть усраться, доказывая, что речь на 100% распознать нельзя. Доказывая, что таблицу значений не соберёшь, что памяти не хватит.
Яндексу плевать, он рубит бабло с хомячков.
Уффф... как все запущено....
Ну вот смотри, зашел 2-го декабря на форум некто Eduard Sapotski и сказал:
EDUARD SAPOTSKIКуранты пробьют под 55, летом отдыхать поедите под 75
А сегодня смотрим и что видим? 56.24 на 01.01.2015 Не плохо функция отработала? Вопрос в другом, а нужен этот результат сегодня? И можно ли эту функцию использовать сегодня что бы сделать прогноз на завтра? И как в таких задачах поможет тестирование?Давай всё-таки будем последовательными. И не перескакивать с одного на другое. А то действительно дискуссия уже запущена :)

В моём примере (случае) тестирование помогло, как считаешь? И почему так считаешь?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849329
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA, посмотри это на досуге для общего развития и подумай о тестировании:
YouTube Video
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849330
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKI, на мои вопросы ответь, потом к твоим перейдём.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849352
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAна мои вопросы ответь, потом к твоим перейдём.
На какие из них? То что ты описал тестирование при распозновании? Да, все так и работает, делают "функию", методами тестирования на выборках с известными результатами подгоняют результат к приемлемой погрешности, отдают в продакшн. Так же работают и самые примитивные системы прогнозирования. Но есть широчайший круг задач, где такие методы не приемлемы, например когда нельзя с помощью неких коррелляций, аппроксимаций и т.д. заведомо получить определенную погрешность. Посмотри видео, на мой взгляд отличный пример, сам алгоритм игры прост до безобразия, что там тестировать? Его любой школьник с мозгами реализует. А вот исход работы такого алгоритма неизвестен на большой плоскости и ни какие выборки и тестовые массивы не помогут доказать что вся игра прошла "правильно"! Здесь можно только сделать таблицу сопоставлений, но каких она будет размеров и какой тогда смысл в самой функции? Еще рядовой пример - асимметричное шифрование.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849359
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosАлексей Кпропущено...
Агрегированные показатели результата блеат! В третий раз уже...

Ну или как минимум, чтобы ошибку не выдавало, уже хорошо...
Алексей невозможно агрегировать
Агрегация - в строгом смысле имеется ввиду алгоритм синтеза
Агрегация предполагает функцию однозначной декомпозиции
Если мы можем построить агрегат, значит м ы тем самым редуцируем задачу, сводим ее к другой задаче с меньшей размерностью
в дискретике это почти никогда невозможноПро математическую статистику у вас там знают? Посмотри как в ней выборки анализируют.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849364
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANA, посмотри это на досуге для общего развития и подумай о тестировании:
YouTube Video
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849375
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КEDUARD SAPOTSKIskyANA, посмотри это на досуге для общего развития и подумай о тестировании:
YouTube Video
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849377
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВ реализации этой задачи есть методы, рассчитывающие рождение и умирание в зависимости от соседей. Это всяко можно протестировать.
Зачем? Ну будет там три строчки если рядом соседи такие-то то родиться нужно или помереть и ты это тестировать будешь?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849382
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНе пойму в чём подвох. :-)
Смотри, есть функция, на вход которой ты даешь матрицу, 10^6 x 10^6 в клеточках 0 или 1 и даешь кол-во ходов, например тоже 10^6, на выходе получаешь отработанную матрицу. Как такую функцию будешь тестировать?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849385
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про 10^6 погорячился, пусть хоть 10^4...
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849387
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIАлексей КВ реализации этой задачи есть методы, рассчитывающие рождение и умирание в зависимости от соседей. Это всяко можно протестировать.
Зачем? Ну будет там три строчки если рядом соседи такие-то то родиться нужно или помереть и ты это тестировать будешь? Некоторые и не такое тестируют.
EDUARD SAPOTSKIАлексей КНе пойму в чём подвох. :-)
Смотри, есть функция, на вход которой ты даешь матрицу, 10^6 x 10^6 в клеточках 0 или 1 и даешь кол-во ходов, например тоже 10^6, на выходе получаешь отработанную матрицу. Как такую функцию будешь тестировать?Я на вход подам матрицу 10x10, содержащую все типичные случаи. Тестирования на нескольких ходах, думаю, будет достаточно.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849388
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANA, посмотри это на досуге для общего развития и подумай о тестировании
Брат бындю?
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849391
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУEDUARD SAPOTSKIskyANA, посмотри это на досуге для общего развития и подумай о тестировании
Брат бындю?
Хз
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849394
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAна мои вопросы ответь, потом к твоим перейдём.
На какие из них? То что ты описал тестирование при распозновании? Да, все так и работает, делают "функию", методами тестирования на выборках с известными результатами подгоняют результат к приемлемой погрешности, отдают в продакшн. Так же работают и самые примитивные системы прогнозирования. Но есть широчайший круг задач, где такие методы не приемлемы, например когда нельзя с помощью неких коррелляций, аппроксимаций и т.д. заведомо получить определенную погрешность. Посмотри видео, на мой взгляд отличный пример, сам алгоритм игры прост до безобразия, что там тестировать? Его любой школьник с мозгами реализует. А вот исход работы такого алгоритма неизвестен на большой плоскости и ни какие выборки и тестовые массивы не помогут доказать что вся игра прошла "правильно"! Здесь можно только сделать таблицу сопоставлений, но каких она будет размеров и какой тогда смысл в самой функции? Еще рядовой пример - асимметричное шифрование.Я где-то говорил, что все задачи решаются подходом TDD? Что абсолютно всё можно покрыть тестами? Ты в чём меня пытаешься убедить? :)

В примере с распознованием мы имеем дело со взаимно-однозначной функцией. Фраза "маша мыла раму" взаимно-однозначно соответсвует тексту "маша мыла раму". И это, именно это прекрасно вписывается в рамки TDD.

Ты же пытаешься мне доказать, что я не прав, потому как есть в природе элемент случайности. Ну глупость же :)
Ты заказчику тоже так объясняешь ошибки расчётов своих программ при правильно введённых данных? "Ваш бизнес-процесс попахивает стохастичностью" :)
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849395
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЯ на вход подам матрицу 10x10, содержащую все типичные случаи.
Ага 10х10 это всего 2^100 комбинаций, на листике прикинешь?
Суть в том, что в этой задаче и тестировать по сути нечего, тот мизер который можем протестировать нам не интересен, а то что интересно то и является решением, засим тестирование бесполезно, о как
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849402
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЯ где-то говорил, что все задачи решаются подходом TDD? Что абсолютно всё можно покрыть тестами? Ты в чём меня пытаешься убедить? :)

В примере с распознованием мы имеем дело со взаимно-однозначной функцией. Фраза "маша мыла раму" взаимно-однозначно соответсвует тексту "маша мыла раму". И это, именно это прекрасно вписывается в рамки TDD.

Ты же пытаешься мне доказать, что я не прав, потому как есть в природе элемент случайности. Ну глупость же :)
Ты заказчику тоже так объясняешь ошибки расчётов своих программ при правильно введённых данных? "Ваш бизнес-процесс попахивает стохастичностью" :)
Ну начинается
skyANAЧисто алгебраически любую функцию на конечном множестве определений можно представить в табличном виде и в тесте проверить, что если на вход подали определённое значение, то на выходе получился ожидаемый результат из указанной таблицы.

Также чисто алгебраически любую функцию можно представить в виде композиции циклов.
Разбей свои 100000 строк на такую композицию, протестируй отдельные куски.
Данные утверждения справедливы далеко не для всех классов задач, вот о чем спич
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849405
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIДанные утверждения справедливы далеко не для всех классов задач, вот о чем спич Согласен. Но игра жизни плохой пример :)

Game of Life: TDD style in Java
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849408
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIАлексей КЯ на вход подам матрицу 10x10, содержащую все типичные случаи.
Ага 10х10 это всего 2^100 комбинаций, на листике прикинешь?Твоё видео я посмотрел. Теперь ты посмотри моё, для общего развития

C++ TDD Kata: Conway's Game of Life
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849412
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAЯ где-то говорил, что все задачи решаются подходом TDD? Что абсолютно всё можно покрыть тестами? Ты в чём меня пытаешься убедить? :)

В примере с распознованием мы имеем дело со взаимно-однозначной функцией. Фраза "маша мыла раму" взаимно-однозначно соответсвует тексту "маша мыла раму". И это, именно это прекрасно вписывается в рамки TDD.

Ты же пытаешься мне доказать, что я не прав, потому как есть в природе элемент случайности. Ну глупость же :)
Ты заказчику тоже так объясняешь ошибки расчётов своих программ при правильно введённых данных? "Ваш бизнес-процесс попахивает стохастичностью" :)
Ну начинается
skyANAЧисто алгебраически любую функцию на конечном множестве определений можно представить в табличном виде и в тесте проверить, что если на вход подали определённое значение, то на выходе получился ожидаемый результат из указанной таблицы.

Также чисто алгебраически любую функцию можно представить в виде композиции циклов.
Разбей свои 100000 строк на такую композицию, протестируй отдельные куски.
Данные утверждения справедливы далеко не для всех классов задач, вот о чем спич Чёрт, не прочитал, что последняя фраза относится к контексту не из первой цитаты. Не согласен!
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849414
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вернее так, если есть элемент случайности и сегодня функция от единицы возвращает пять, а завтра двадцать пять, то это выходит за рамки моего утверждения.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849436
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIАлексей КЯ на вход подам матрицу 10x10, содержащую все типичные случаи.
Ага 10х10 это всего 2^100 комбинаций, на листике прикинешь?
Суть в том, что в этой задаче и тестировать по сути нечего, тот мизер который можем протестировать нам не интересен, а то что интересно то и является решением, засим тестирование бесполезно, о как Не нужно путать тестирование с промышленной эксплуатацией! Задача тестирования - выявлять ошибки в программе. В нашем случае 10х10, вроде как, для этого достаточно.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849441
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIСуть в том, что в этой задаче и тестировать по сути нечего, тот мизер который можем протестировать нам не интересенИ это не так. Благодаря тесту мы может разрабатывать и отлаживать фрагмент программы без написания других её частей, например UI.
...
Рейтинг: 0 / 0
Применение автономной работы с бд на практике
    #38849483
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВернее так, если есть элемент случайности и сегодня функция от единицы возвращает пять, а завтра двадцать пять, то это выходит за рамки моего утверждения.
Ух, молодец!
Ладно, всех с Рождеством!
Главное понимать, что все что мы сегодня знаем, это по сути такая херня блин...
Здрав будите бояре! Ху...
...
Рейтинг: 0 / 0
330 сообщений из 330, показаны все 14 страниц
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Применение автономной работы с бд на практике
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]