Здравствуйте, Anonim12, Вы писали:
A>Здравствуйте, gandjustas, Вы писали:
G>>А сами то на FastCGI писали че-нить? A>Это не язык вообще-то.
Я знаю.
Как FastCGI помогает запустить "любой бинарник"?
A>А вы что, разве никогда консольных приложений не писали? Дотнет не позволяет так "низко" опуститься?
писал, FastCGI тут причем?
F>>инкапсуляция данных и средств работы с бд.. F>>на всякий случай: F>>
F>>Инкапсуля́ция — свойство языка программирования, позволяющее объединить данные и код в объект и скрыть реализацию объекта от пользователя. При этом пользователю предоставляется только спецификация (интерфейс) объекта. Пользователь может взаимодействовать с объектом только через этот интерфейс.
КБ>Вы предлагаете работать с БД через интерфейс объекта? O_o А как же SRP, LSP и другие прекрасные абревиатуры?
Никто не предлагает работать с БД через интерфейс объекта. Почитайте про Repository патерн и про UnitOfWork патерн.
КБ>Неправда. Ваш вариант — написать руками объекты и из них сгенерить CREATE TABLE. Мой — сразу написать CREATE TABLE. И там и там приходится писать руками.
Перед тем, как что-то писать руками надо подумать головой. Преимущество Domain Driven Design в том, что оно позволяет сконцентрироваться непосредственно на решении бизнес задачи и домен это есть домен самой бизнес задачи. База с данными это всего-лишь бэкенд.
Здравствуйте, criosray, Вы писали:
C>Здравствуйте, gandjustas, Вы писали:
S>>>>>Кстати говоря, ORM для C# тоже самописные (не Microsoft). VR>>>>Linq2SQL VR>>>>LinqToEntitites C>>>Это не ОРМ. VR>>>>ADO.NET Entity Framework C>>>Это ОРМ с натяжкой, т.к. data-centric подход. G>>ОРМом нынче считается только hibernate и похожие на него поделки? C>Не нынче, а всегда. ОРМ изобретался именно для domain-centric подхода, а МС зачем-то исказила идею и переиначила на более data-centric.
Кто сказал что ОРМ именно для этого предназначен?
Сам акроним ORM обозначает Object-Relational Mapper, что означает маппинг реляционных данных на объекты, это вообще говоря не обязывет иметь эти самые объекты в памяти и уж тем более наделять их каким-либо "поведением"
C>>>Вообще говоря, сравнивать питон/руби с дотнет это равносильно сравнению с 1С — ускоспециализированное с общего назначения. Про производительность и масштабируемость вообще и речи нет. Особенно, если смотреть на руби. G>>Непонятно как сравнивать язык и платформу, для который также есть реализация языка. G>>В отличие от 1С питон и руби являются языками общего назначения. C>Не являются.
Доказательства?
Здравствуйте, criosray, Вы писали:
C>Здравствуйте, Константин Б., Вы писали:
КБ>>>>>>А зачем в питоне преобразовывать recordset в объекты? Чем плохи наборы данных в кортежах? C>>>>>Потому данные сами по себе в отрыве от доменной модели ценности не несут. КБ>>>>Что есть по вашему "доменная модель" и почему для нее обязательно нужны объекты?
C>>>Google в тооооом направлении --> C>>>Объяснять элементарное и базовое не в моих принципах.
КБ>>Я там уже был. Что из этого вы имеет ввиду.
C>http://en.wikipedia.org/wiki/Domain-driven_design
Здорово. Только вот нигде там не увидел, что доменная модель — должна быть объектной моделью. Да и сама DDD — весьма спорная методология.
C>>>>>O/RM это ведь не просто мэппинг. Это еще UnitOfWork, кеширование, cascading и т.д. КБ>>>>... и другие костыли, C>>>Костыли? КБ>>Разве нет? В чем же профит от этих штук? C>Ну разберитесь для начала что это за штуки, тогда сами поймете в чем же профит.
Может вы тогда мне вообще не будете отвечать, чтобы не засорять форум? Я уверен обязательно найдется кто-то еще не настолько высокомерный, чтобы отвечать на мои вопросы.
Здравствуйте, Константин Б., Вы писали:
КБ>Вы предлагаете работать с БД через интерфейс объекта? O_o А как же SRP, LSP и другие прекрасные абревиатуры?
они лежат на другом уровне..
F>>нет, мы приходим к вопросу "делать всё руками или автоматизировать?" F>>ясен пень, можно всё сделать самому.. но зачем, если можно проще?. КБ>Неправда. Ваш вариант — написать руками объекты и из них сгенерить CREATE TABLE. Мой — сразу написать CREATE TABLE. И там и там приходится писать руками.
в Вашем варианте точно так же надо будет писать руками структуры для хранения полученных данных..
если, конечно же, задача не сводится к "просто получить что то из базы"
Здравствуйте, gandjustas, Вы писали:
C>>Не нынче, а всегда. ОРМ изобретался именно для domain-centric подхода, а МС зачем-то исказила идею и переиначила на более data-centric. G>Кто сказал что ОРМ именно для этого предназначен?
Martin Fowler G>Сам акроним ORM обозначает Object-Relational Mapper, что означает маппинг реляционных данных на объекты, это вообще говоря не обязывет иметь эти самые объекты в памяти и уж тем более наделять их каким-либо "поведением"
При чем тут это?
C>>>>Вообще говоря, сравнивать питон/руби с дотнет это равносильно сравнению с 1С — ускоспециализированное с общего назначения. Про производительность и масштабируемость вообще и речи нет. Особенно, если смотреть на руби. G>>>Непонятно как сравнивать язык и платформу, для который также есть реализация языка. G>>>В отличие от 1С питон и руби являются языками общего назначения. C>>Не являются. G>Доказательства?
Много Вы видели десктоп приложений на пайтоне или руби? Я вот видел только одно на пайтоне и то, только частично было написано на пайтон.
Здравствуйте, criosray, Вы писали:
C>Здравствуйте, gandjustas, Вы писали:
G>>Бред в основном эксперты пишут. Я постоянно работаю с разными браузерами, так вот именно с помощью файерфокс большенство XSRF-атак можно выполнять, кроме того FF медленнее всех работает с DOM, очень часто падает на экзотических джаваскриптах. C>Про DOM это давно не так.
3 дня назад было так.
Простая анимация застваляла FF (и вторая и третья версия) хавать 30% cpu, остальные бразуеры не хавали больше 3 процентов. C>Про javascript — noscript рулит.
может и рулит, но FCKEditor (визивиг редактор) в каждом втором релизе валит одну из версий FF, а без него — никуда.
G>>К IE только две претензии: медленный и не очень соотвествует стандартам (до 8 версии) C>А что 8ка наконец соответствует стандартам? 6ка и 7ка это СУЩИЙ ужас для javascript разработчика. Посмотрите код ExtJs — СПЛОШНЫЕ костыли в js и css для IE...
Восьмерка в плане js вполне соотвествует.
G>>Восьмая версия эксплорера вообще в какашки рвет все браузеры по юзабилити, C>Не заметил.
А поставить себе восьмерку не пробовали?
Здравствуйте, criosray, Вы писали:
КБ>>Вы предлагаете работать с БД через интерфейс объекта? O_o А как же SRP, LSP и другие прекрасные абревиатуры? C>Никто не предлагает работать с БД через интерфейс объекта. Почитайте про Repository патерн и про UnitOfWork патерн.
Почитал. Оба паттерна просто великолепно могут работать с кортежами.
КБ>>Неправда. Ваш вариант — написать руками объекты и из них сгенерить CREATE TABLE. Мой — сразу написать CREATE TABLE. И там и там приходится писать руками.
C>Перед тем, как что-то писать руками надо подумать головой. Преимущество Domain Driven Design в том, что оно позволяет сконцентрироваться непосредственно на решении бизнес задачи и домен это есть домен самой бизнес задачи. База с данными это всего-лишь бэкенд.
Нет не позволяет. Она предлагает выдумывать какие-то суррогатные сковзные сущности, вместо того чтобы обратить внимание на реальную модель данных и на реальные потоки данных.
КБ>>>Я там уже был. Что из этого вы имеет ввиду.
C>>http://en.wikipedia.org/wiki/Domain-driven_design
КБ>Здорово. Только вот нигде там не увидел, что доменная модель — должна быть объектной моделью.
Доменная модель по определению объектная модель.
C>>>>>>O/RM это ведь не просто мэппинг. Это еще UnitOfWork, кеширование, cascading и т.д. КБ>>>>>... и другие костыли, C>>>>Костыли? КБ>>>Разве нет? В чем же профит от этих штук? C>>Ну разберитесь для начала что это за штуки, тогда сами поймете в чем же профит.
КБ>Может вы тогда мне вообще не будете отвечать, чтобы не засорять форум? Я уверен обязательно найдется кто-то еще не настолько высокомерный, чтобы отвечать на мои вопросы.
Мне здесь не платят за чтение курса лекций. А Вы явно не понимаете о чем вообще речь. Разберетесь — обсудим, а пока не вижу смысла тратить время.
Здравствуйте, criosray, Вы писали:
C>Много Вы видели десктоп приложений на пайтоне или руби? Я вот видел только одно на пайтоне и то, только частично было написано на пайтон.
я пользую штуки 3..
у остальных как то не спрашивал на чём они сделаны..
Здравствуйте, criosray, Вы писали:
C>Здравствуйте, gandjustas, Вы писали:
C>>>>>Единственное, что не позволяет дотнет — писать драйверы. G>>>>Неправда, см Singularity. G>>>>Это утверждение стоит написать как ".NET не позволяет писать драйверы для существующих ОС". C>>>Я в курсе про сингулярити. Но сингулярити это проект на бумаге, так что не вижу смысла его упоминать... G>>У кого-то на бумаге, а у меня на виртуалке очень даже запускается. C>Запускается — чудесно... Ну а дальше-то что?
И драйверы там работают, на управляемом коде, аналоге .NEY, совсем не на бумаге
Здравствуйте, neFormal, Вы писали:
КБ>>Вы предлагаете работать с БД через интерфейс объекта? O_o А как же SRP, LSP и другие прекрасные абревиатуры? F>они лежат на другом уровне..
А вон criosray предлагает паттерны Repository и UnitOfWork. Чем они хуже чем то что вы предлагаете? А ведь они такой инкапсуляции не требуют.
. КБ>>Неправда. Ваш вариант — написать руками объекты и из них сгенерить CREATE TABLE. Мой — сразу написать CREATE TABLE. И там и там приходится писать руками.
F>в Вашем варианте точно так же надо будет писать руками структуры для хранения полученных данных.. F>если, конечно же, задача не сводится к "просто получить что то из базы"
Ну вот из-за того что в питоне есть кортежи, никаких структур писать не надо )
Здравствуйте, gandjustas, Вы писали:
G>>>Бред в основном эксперты пишут. Я постоянно работаю с разными браузерами, так вот именно с помощью файерфокс большенство XSRF-атак можно выполнять, кроме того FF медленнее всех работает с DOM, очень часто падает на экзотических джаваскриптах. C>>Про DOM это давно не так. G>3 дня назад было так. G>Простая анимация застваляла FF (и вторая и третья версия) хавать 30% cpu, остальные бразуеры не хавали больше 3 процентов. C>>Про javascript — noscript рулит. G>может и рулит, но FCKEditor (визивиг редактор) в каждом втором релизе валит одну из версий FF, а без него — никуда.
Сколько пользуюсь FF — ни разу не видел.
G>>>К IE только две претензии: медленный и не очень соотвествует стандартам (до 8 версии) C>>А что 8ка наконец соответствует стандартам? 6ка и 7ка это СУЩИЙ ужас для javascript разработчика. Посмотрите код ExtJs — СПЛОШНЫЕ костыли в js и css для IE... G>Восьмерка в плане js вполне соотвествует.
Ок, будет время поковыряюсь...
G>>>Восьмая версия эксплорера вообще в какашки рвет все браузеры по юзабилити, C>>Не заметил. G>А поставить себе восьмерку не пробовали?
Да стоит RC1 — до FF ей как до неба.
Здравствуйте, neFormal, Вы писали:
F>http://unity3d.com/unity/features/scripting F>Красивая, интересная технология, но довольно спорная имхо.. Шарп там один из возможных средств разработки..
Съезжать не надо. unity3d на щарпе написана.
Здравствуйте, gandjustas, Вы писали:
C>>>>>>Единственное, что не позволяет дотнет — писать драйверы. G>>>>>Неправда, см Singularity. G>>>>>Это утверждение стоит написать как ".NET не позволяет писать драйверы для существующих ОС". C>>>>Я в курсе про сингулярити. Но сингулярити это проект на бумаге, так что не вижу смысла его упоминать... G>>>У кого-то на бумаге, а у меня на виртуалке очень даже запускается. C>>Запускается — чудесно... Ну а дальше-то что? G>И драйверы там работают, на управляемом коде, аналоге .NEY, совсем не на бумаге
Да конечно же на бумаге, т.к. практического применения ей ровно ноль.
Здравствуйте, neFormal, Вы писали:
C>>Много Вы видели десктоп приложений на пайтоне или руби? Я вот видел только одно на пайтоне и то, только частично было написано на пайтон.
F>я пользую штуки 3.. F>у остальных как то не спрашивал на чём они сделаны..
Названия?
Здравствуйте, neFormal, Вы писали:
F>Здравствуйте, gandjustas, Вы писали:
F>>>>>это невозможно в принципе, т.к. оно заточено под одну платформу.. G>>>>И чем это мешает? F>>>тем, что невозможно это применить во многих случаях.. с достаточной эффективностью.. G>>В каких случаях F>в случаях, выходящих за эту единственную платформу
Ну и какие это случаи?
G>>и что такое достаточная эффективность? F>эффективность = rand()%вероятность_что_заработает * (проблемы/время)
Бредоваяы формула, проблемы в числителе, чем больше проблем -> тем больше эффективность.
Здравствуйте, criosray, Вы писали:
КБ>>>>Я там уже был. Что из этого вы имеет ввиду. C>>>http://en.wikipedia.org/wiki/Domain-driven_design КБ>>Здорово. Только вот нигде там не увидел, что доменная модель — должна быть объектной моделью. C>Доменная модель по определению объектная модель.
Ну я же просил привести ваше определение. А вы мне в место этого дали ссылку где написано прямо противоположное.
C>Мне здесь не платят за чтение курса лекций. А Вы явно не понимаете о чем вообще речь. Разберетесь — обсудим, а пока не вижу смысла тратить время.
Дык не тратьте. Считайте что я задаю вопросы в воздух. А вовсе не конкретно вам.
Здравствуйте, Константин Б., Вы писали:
КБ>>>Вы предлагаете работать с БД через интерфейс объекта? O_o А как же SRP, LSP и другие прекрасные абревиатуры? F>>они лежат на другом уровне.. КБ>А вон criosray предлагает паттерны Repository и UnitOfWork. Чем они хуже чем то что вы предлагаете? А ведь они такой инкапсуляции не требуют.
его право.. каждый сам выбирает средства.. сравнивать не могу..
F>>в Вашем варианте точно так же надо будет писать руками структуры для хранения полученных данных.. F>>если, конечно же, задача не сводится к "просто получить что то из базы" КБ>Ну вот из-за того что в питоне есть кортежи, никаких структур писать не надо )
т.е. кортежи будут путешествовать по всему проекту и из них всё будет выниматься по индексу или распаковкой?.
ну, мб в этом есть какой то смысл, но он не по мне
Здравствуйте, Константин Б., Вы писали:
КБ>Ну вот из-за того что в питоне есть кортежи, никаких структур писать не надо )
1. Надо.
2. В дотнет тоже есть кортежи, ага. Только применения им очень мало. Так как не удобно. Так как поля должны быть именованы.