AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.01.2017, 08:41   #1  
Polar is offline
Polar
Участник
Аватар для Polar
 
281 / 74 (3) ++++
Регистрация: 28.07.2003
Адрес: Ростов-на-Дону
А по факту заходишь в АОТ раздел таблицы, а там всего лишь один единственный класс с названием Таблица. И какое название ему в конструктор передашь - такой класс он тебе и создаст.
А еще вторым параметром ему передаешь коннект из какого сервера и какой базы тебе эта таблица нужна (т.е. совсем на другой сервер и на другую базу). И уже импорт/экспорт не нужен, а всегда актуальные данные. Можно одни таблицы держать на одном сервере БД, а другие на другом. А еще можно будет сделать, что одни таблицы в MySQL, другие в MSSQL, третьи на Oracle, а код пишешь как-будто все в одном.
В результате меньше кода, меньше ошибок, скорость больше, нагрузка меньше, больше эффекта за то же время.
__________________
Удачи!

Последний раз редактировалось Polar; 13.01.2017 в 09:27.
Старый 13.01.2017, 10:39   #2  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,347 / 996 (38) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от Polar Посмотреть сообщение
из какого сервера и какой базы тебе эта таблица нужна (т.е. совсем на другой сервер и на другую базу). И уже импорт/экспорт не нужен, а всегда актуальные данные..
Программистов что, совсем не учат теории надежности? Microsoft тоже эту подлянку себе регулярно устраивает.
Тут вот какое дело. С ростом количества вазаимозависимых компонентов, вероятность сбоя системы растет экспоненциально. Именно поэтому на многих производтсвах такое истеричное онтошение к качеству. Всякие Six Sigma вводят и прочее. Это происходит из-за того что иногда систему не получается упростить и приходится наращивать надежность каждого из компонент.
Но намеренно вводить в систему дополнительные зависимости, это значит гробить ее надежность прямо на старте. У вас одна из баз сбойнет и все остальное встанет. Или соединение с одной из баз сбойнет.
__________________
Isn't it nice when things just work?
Старый 13.01.2017, 14:08   #3  
Polar is offline
Polar
Участник
Аватар для Polar
 
281 / 74 (3) ++++
Регистрация: 28.07.2003
Адрес: Ростов-на-Дону
Цитата:
Сообщение от macklakov Посмотреть сообщение
Программистов что, совсем не учат теории надежности? Microsoft тоже эту подлянку себе регулярно устраивает.
Тут вот какое дело. С ростом количества вазаимозависимых компонентов, вероятность сбоя системы растет экспоненциально. Именно поэтому на многих производтсвах такое истеричное онтошение к качеству. Всякие Six Sigma вводят и прочее. Это происходит из-за того что иногда систему не получается упростить и приходится наращивать надежность каждого из компонент.
Но намеренно вводить в систему дополнительные зависимости, это значит гробить ее надежность прямо на старте. У вас одна из баз сбойнет и все остальное встанет. Или соединение с одной из баз сбойнет.
Майкрософт тебе совсем мозг деформировала.
Есть два подхода в создании систем.
1. Если в процессе что-то пошло не так, то программа падает и запускается снова.
2. Если что-то пошло не так, то боремся до последнего за живучесть системы и только потом падаем.

Ты думаешь все системы написаны в стиле майкрософта? Всегда чуть что и синий экран?
Прикинь так бы атомные станции строили? Дверью в подсобке не так хлопнул, и БАДАБУМ! Потом ждем период распада и строим новую станцию. )))
__________________
Удачи!
Старый 13.01.2017, 14:39   #4  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,347 / 996 (38) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от Polar Посмотреть сообщение
1. Если в процессе что-то пошло не так, то программа падает и запускается снова.
....
Прикинь так бы атомные станции строили?
Во времена когда я еще был электронщиком, мы так примерно и проектировали. Чуть что, реактор гасится. Там задача обратная стояла и логика обратная. Сбой любой из подсистем роняет стержни чтобы остановить реакцию.
__________________
Isn't it nice when things just work?
Старый 13.01.2017, 16:18   #5  
Polar is offline
Polar
Участник
Аватар для Polar
 
281 / 74 (3) ++++
Регистрация: 28.07.2003
Адрес: Ростов-на-Дону
Цитата:
Сообщение от macklakov Посмотреть сообщение
Во времена когда я еще был электронщиком, мы так примерно и проектировали. Чуть что, реактор гасится. Там задача обратная стояла и логика обратная. Сбой любой из подсистем роняет стержни чтобы остановить реакцию.
Ну правильно. А мне ужасы расписываешь.
" У вас одна из баз сбойнет и все остальное встанет. Или соединение с одной из баз сбойнет."

Это с фига ли у меня все остальное встанет? Я же не использую майкрософт, и компоненты сам пишу с нуля.
__________________
Удачи!
Старый 13.01.2017, 11:34   #6  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Polar Посмотреть сообщение
один единственный класс с названием Таблица. И какое название ему в конструктор передашь - такой класс он тебе и создаст. А еще вторым параметром ему передаешь коннект из какого сервера и какой базы тебе эта таблица нужна (т.е. совсем на другой сервер и на другую базу). И уже импорт/экспорт не нужен, а всегда актуальные данные. Можно одни таблицы держать на одном сервере БД, а другие на другом. А еще можно будет сделать, что одни таблицы в MySQL, другие в MSSQL, третьи на Oracle, а код пишешь как-будто все в одном.
Закон Дырявых Абстракций приведет к тому, что надежность такой системы будет асимптотически стремиться к нулю, а жизнь людей в поддержке превратится в ад
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте"
Старый 13.01.2017, 14:11   #7  
Polar is offline
Polar
Участник
Аватар для Polar
 
281 / 74 (3) ++++
Регистрация: 28.07.2003
Адрес: Ростов-на-Дону
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Закон Дырявых Абстракций приведет к тому, что надежность такой системы будет асимптотически стремиться к нулю, а жизнь людей в поддержке превратится в ад
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте"
Это называется некрофилия. На дворе 2017 год, а ты выкопал статью от 2000 года. Причем там обосран и TCP и SQL. Ты ими не пользуешься? Фельдегерями пакеты шлешь, а данные в тетрадочке собираешь?
__________________
Удачи!
Старый 15.01.2017, 12:06   #8  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Polar Посмотреть сообщение
На дворе 2017 год, а ты выкопал статью от 2000 года.
Выходит, старые статьи плохи, и за 16 лет сложные абстракции перестали быть дырявыми?
Цитата:
Сообщение от Polar Посмотреть сообщение
Причем там обосран и TCP и SQL. Ты ими не пользуешься?
Тот же TCP там приведен в качестве примера сложной дырявой абстракции. Если отойти от статьи, то из моего скромного опыта поддержки и развития распределенных систем, любая связка со "сторонними" базами данных - это потенциальная проблема с производительностью/доступностью/надежностью/масштабируемостью. Можно долго и упорно настраивать индексы в "своей" базе, переписывать запросы и алгоритмы для снижения длительности блокировок, но потом какой-нить "умник" в сторонней базе забудет выставить уровень изоляции в READ_COMMITTED_SNAPSHOT, и твой код повиснет намертво при банальном чтении данных внутри транзации, а вместе с этим в твоей системе вырастет развесистое дерево блокировок и всё встанет колом.

PS. Хотя, конечно, в "песочнице" можно вообще, как 1С в свое время, использовать файловую БД и не париться - и так сойдет...

Последний раз редактировалось gl00mie; 15.01.2017 в 12:10.
Старый 13.01.2017, 16:38   #9  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от Polar Посмотреть сообщение
Майкрософт тебе совсем мозг деформировала.
Есть два подхода в создании систем.
1. Если в процессе что-то пошло не так, то программа падает и запускается снова.
...
Скорее всего имеется в виду модель работы PHP и того же Apache когда каждый запрос (GET/POST из браузера) изолирован и его падение не затрагивает сервер и другие запросы. Это особенность устойчивости PHP и соотносится с stateless природой web-протоколов.

А если речь о desktop приложениях и OS то мы лезем в дебри и вообще непонятно о чем говорим.

Цитата:
Сообщение от Polar Посмотреть сообщение
3-х звенную архитектуру знаешь? Что такое сервер приложений знаешь? Вот приложение это код на этом сервере.

Короче в терминах аксапты. Открываете АОТ в разделе таблицы, там структура таблиц описана. Закрываете. Перенастраиваете коннект на другую базу с совершенно другими таблицами. Открываете АОТ заходите в раздел таблицы, а там совершенно другие таблицы с другими полями и все уже описано за вас и ничего менять не надо.
Цитата:
Сообщение от Polar Посмотреть сообщение
А по факту заходишь в АОТ раздел таблицы, а там всего лишь один единственный класс с названием Таблица. И какое название ему в конструктор передашь - такой класс он тебе и создаст.
А еще вторым параметром ему передаешь коннект из какого сервера и какой базы тебе эта таблица нужна (т.е. совсем на другой сервер и на другую базу). И уже импорт/экспорт не нужен, а всегда актуальные данные. Можно одни таблицы держать на одном сервере БД, а другие на другом. А еще можно будет сделать, что одни таблицы в MySQL, другие в MSSQL, третьи на Oracle, а код пишешь как-будто все в одном.
В результате меньше кода, меньше ошибок, скорость больше, нагрузка меньше, больше эффекта за то же время.
Такие как бы динамичные Data Entity? Академически интересно, но практически:
- какие проблемы это решает?
- реальны ли эти проблемы?
- можно ли решить эти проблемы по другому?
- как данное усложнение помогает тебе реализовать твой бизнес-план?

Граальность PHP в стартаповости но с использованием популярных велосипедов.
Из Грааля надо пить, а не писать в него
Старый 13.01.2017, 21:51   #10  
Polar is offline
Polar
Участник
Аватар для Polar
 
281 / 74 (3) ++++
Регистрация: 28.07.2003
Адрес: Ростов-на-Дону
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Скорее всего имеется в виду модель работы PHP и того же Apache когда каждый запрос (GET/POST из браузера) изолирован и его падение не затрагивает сервер и другие запросы. Это особенность устойчивости PHP и соотносится с stateless природой web-протоколов.

А если речь о desktop приложениях и OS то мы лезем в дебри и вообще непонятно о чем говорим.
Вот именно! Похоже Маклаков вообще не в теме построения вебприложений.

Цитата:
Сообщение от ax_mct Посмотреть сообщение


Такие как бы динамичные Data Entity? Академически интересно, но практически:
- какие проблемы это решает?
- реальны ли эти проблемы?
- можно ли решить эти проблемы по другому?
- как данное усложнение помогает тебе реализовать твой бизнес-план?
Представляешь не надо мне теперь описывать структуру каждой таблицы в коде и изменения можно теперь делать только в базе данных а не поддерживать в актуальном состоянии все эти Data Entity. Какое же это усложнение? Я с себя кучу тупой работы скинул.
__________________
Удачи!
Старый 13.01.2017, 23:19   #11  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от Polar Посмотреть сообщение
Вот именно! Похоже Маклаков вообще не в теме построения вебприложений.

Представляешь не надо мне теперь описывать структуру каждой таблицы в коде и изменения можно теперь делать только в базе данных а не поддерживать в актуальном состоянии все эти Data Entity. Какое же это усложнение? Я с себя кучу тупой работы скинул.
Не совсем понял как именно работает твое ORM (Object Relational Mapper),
но их много разных для PHP, неужели нет ни одного подходящего?

Я тупо не верю в разумность писать свой собственный ORM, если только не в учебных целях. Исхожу из того что если подобного в PHP не существует то этого и не нужно. Грааль он священен - из него надо пить то что в нем есть.

http://rohithegde.github.io/php-orm-comparison/
Doctrine (DataMapper pattern)
Propel (ActiveRecord pattern)
Redbean (DataMapper pattern)
Idiorm (ActiveRecord pattern but oriented towards Query Language)
Paris (ActiveRecord pattern & dependent on Idiorm)
Spot ORM (DataMapper pattern built on top of Doctrine DBAL)
Outlet (DataMapper pattern)
Xyster (DataMapper pattern)
Leap (Kohana FW)
Eloquent (Laravel FW)
MicroMVC
Gacela
NotORM
Старый 14.01.2017, 02:04   #12  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от Polar Посмотреть сообщение
Представляешь не надо мне теперь описывать структуру каждой таблицы в коде и изменения можно теперь делать только в базе данных а не поддерживать в актуальном состоянии все эти Data Entity. Какое же это усложнение? Я с себя кучу тупой работы скинул.
То есть речь об автогенерации конкретного класса представляющего конкретную таблицу? Так достаточно других лентяев и соответственно созданных инструментов.
К примеру
Doctrine comes with a bunch of tools to help generate model classes from your existing database. http://symfony.com/doc/current/doctr...gineering.html

//-----
На предыдущие вопросы такие ответы?

- какие проблемы это решает?
Ответ: ускорение создания классов описывающих таблицы. Так?

- реальны ли эти проблемы?
Ответ: для некоторых программистов - да, для всех клиентов твоего бизнес-продукта - нет. Так?

- можно ли решить эти проблемы по другому?
Ответ: да. Проблема не уникальна, решения есть. Так?

- как данное усложнение помогает тебе реализовать твой бизнес-план?
Ответ: никак. Неоправданная трата времени на техническую реализацию ненужного.
Так?

А вообще правильное дело делаешь. Активная глупость бьет ленивый ум. Глупый умнеет, умный деградирует.

По архитектуре вот это забавно если с английским хорошо.
https://www.hakkalabs.co/articles/ro...ure-lost-years

Удачи!

Последний раз редактировалось ax_mct; 14.01.2017 в 02:10.
За это сообщение автора поблагодарили: gl00mie (2).
Теги
php, граабль, хлеб своими руками

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Портрет участника 2014: Ваше отношение к Dynamics (Axapta или CRM или Navision) mazzy Информация для участников 4 25.10.2014 21:08
Портрет участника 2014: Как часто читаете axForum mazzy Информация для участников 1 13.10.2014 12:57
Лучшие темы? Рекомендации 2010. mazzy Обсуждение форума 7 12.01.2010 08:56
Почти про 1С, а вообще про ПК, Пользователей и ИТ-шников. Lemming Курилка 0 26.02.2005 14:57
Правила форума Администрация сайта Информация для участников 0 26.05.2003 01:55
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:57.