Страница 6 из 7
Re: Инсталляция из исходников с Github.com
Добавлено: Ср май 20, 2015 1:15 pm
Victor_S
Позволю себе небольшую ремарку в данной теме, хотя и не являюсь профессиональным программистом, а лишь ее пользователем. Но коль скоро речь зашла о глобальном пересмотре кода программы не могу не отметить проблему напрямую касающуюся надежности системы. Дело в том, что у меня все еще система развернута в тестовом режиме, и работает сервер без бесперебойника. За это время несколько раз были отключения и система реагировала на них по разному, но всегда с теми или иными ошибками. Однако в последний такой случай произошел очень неприятный момент, который я обнаружил лишь несколько дней спустя по несколько необычному поведению моих устройств. Оказалось, что при очередном отключении питания у одного из классов устройств исчез метод, не "попортился", а просто бесследно исчез. А система при этом нормально грузилась, все циклы выполнялись, все статусы были "зелеными"... К чему я это рассказываю? Похоже в системе нету никакого контроля целостности базы данных...Существуют же какие-то тригеры, транзакции...или всего этого нету в mysql? Хотя бы системные таблицы нужно как-то контролировать?
Re: Инсталляция из исходников с Github.com
Добавлено: Ср май 20, 2015 1:52 pm
igk1972
Victor_S писал(а):Оказалось, что при очередном отключении питания у одного из классов устройств исчез метод, не "попортился", а просто бесследно исчез. А система при этом нормально грузилась, все циклы выполнялись, все статусы были "зелеными"... К чему я это рассказываю? Похоже в системе нету никакого контроля целостности базы данных...Существуют же какие-то тригеры, транзакции...или всего этого нету в mysql? Хотя бы системные таблицы нужно как-то контролировать?
Все это есть не только в mysql/mariadb, но даже sqlite3.
Однако ничего из этого не применяется в majordomo (на данный момент). Операции с бд реализованы на совершенно простеньком уровне, без слоя абстракции, без внешних ключей и без транзакций, к тому же "голый" sql-код разбросан про всему программному коду.
Так же стоит отметить многочисленные переконнекты к бд, когда их можно свести к минимуму.
Ведение новой функциональности в бд - дело второго этапа изменения внутренностей majordomo. Пока об этом говорить рано, однако отмечено в недостатках.
Re: Инсталляция из исходников с Github.com
Добавлено: Ср май 20, 2015 2:11 pm
LutsenkoDenis
Victor_S писал(а):Похоже в системе нету никакого контроля целостности базы данных...Существуют же какие-то тригеры, транзакции...или всего этого нету в mysql?
В MySQL это конечно есть, правда зависит от движка базы данных. В нашей системе в качестве движка используется MyISAM который:
- не поддерживает транзакции
- не поддерживает внешние ключи
- блокировка на уровне таблицы(т.е. при вставке записи в таблицу, блокируется вся таблица)
В остальном соглашусь с igk1972, так как он раньше ответил на ваше сообщение.

В системе всё на самом простом уровне. Обычно, если проверки на уровне базы нет, то должна быть проверка на программном уровне. А её в системе тоже нет.
ORM данном случае не принципиальна, так как это просто прослойка и если не предполагается работа с разными базами данных, то можно обойтись без неё. По производительности даже быстрее получится.
Re: Инсталляция из исходников с Github.com
Добавлено: Ср май 20, 2015 2:36 pm
igk1972
LutsenkoDenis писал(а):В MySQL это конечно есть, правда зависит от движка базы данных. В нашей системе в качестве движка используется MyISAM который:
- не поддерживает транзакции
- не поддерживает внешние ключи
- блокировка на уровне таблицы(т.е. при вставке записи в таблицу, блокируется вся таблица)
Вы видите хоть одну причину использования конкретно только MyISAM?
Кроме "привычки".
Ответ - причин нет.
Re: Инсталляция из исходников с Github.com
Добавлено: Ср май 20, 2015 3:08 pm
LutsenkoDenis
Уважаемый igk1972, не нужно отвечать за меня.
Лично я, не вижу никакого смысла использовать MyISAM, так же не вижу смысла использовать ORM и много чего ещё.
Тут дело не в привычке, а в том, что на начальном этапе разработки проекта был выбран(скорее всего неосознанно) MyISAM(напомню, что это был движок по умолчанию при создании новой базы). Еще, не забываем что проект развивается достаточно быстро, но очень ограниченным количеством людей у которых есть основная работа, семья, личная жизнь и т.д. Времени делать какой-то код-ревью или модифицировать что-то просто нет.
Re: Инсталляция из исходников с Github.com
Добавлено: Ср май 20, 2015 3:12 pm
Amarok
igk1972,
LutsenkoDenis: вот вы спорите, а где-то в мире плачет котёнок который хочет посмотреть новую Алису

Re: Инсталляция из исходников с Github.com
Добавлено: Ср май 20, 2015 3:26 pm
igk1972
LutsenkoDenis писал(а):Уважаемый igk1972, не нужно отвечать за меня.
Уважаемый Денис, нисколько не хотел ни отвечать за Вас, ни спорить с Вами. Тем более что есть общее понимание.
Однако в силу моего программисткого перфекционизма, считаю что если уж делать, то делать максимально качественно и вдумчиво.
ORM (про которое я не высказывался) не только уровень абстракции, а еще метод который дает независимость изменений реализации бд, и отделение кода. Грубо говоря, не надо ползать по коду и править sql. Прочем, думаю что Вы это знаете давно.
Amarok писал(а):igk1972,
LutsenkoDenis: вот вы спорите, а где-то в мире плачет котёнок который хочет посмотреть новую Алису

Пока Вы зачем-то упоминаете котят, реально идет работа над кодом, очистка и упорядование еще не окончены (к бы этого не хотелось)
Re: Инсталляция из исходников с Github.com
Добавлено: Ср май 20, 2015 3:47 pm
LutsenkoDenis
Но при этом привели цитату на моё высказывание, задали мне вопрос и на него ответили.

Я это так понял из текста предложения.
Про ORM первым написали именно Вы.

И да, про ORM знаю давно, но считаю что в данном проекте и на данном этапе его использовать не нужно. Для того, чтобы не ползать по коду и не править sql, достаточно перестать его использовать в каждом встречном файле.
А так, да, общее понимание есть.
С нетерпением жду какого-нибудь результата Ваших трудов на посмотреть.

С еще большим нетерпением жду появления документа, о котором говорилось выше и главное следования ему.
Re: Инсталляция из исходников с Github.com
Добавлено: Ср май 20, 2015 6:16 pm
LutsenkoDenis
igk1972 Некоторые пользователи не могут быть добавлены, так как они отключили получение личных сообщений. :

Собственно сообщение в личку я получил, только ответить не могу
Поэтому кратко отвечу тут.
В целом, с содержимым письма(в лс) и кода в нем же согласен, но:
1. В Вашем коде на 13 строке синтаксическая ошибка. Лишняя круглая скобка.
2. В конце всегда будет выведено OK, даже если файл не будет найден в цикле.
3. Я бы еще на всякий случай проверил наличие экзешника впоследнем кейсе.
Re: Инсталляция из исходников с Github.com
Добавлено: Ср май 20, 2015 6:48 pm
igk1972
LutsenkoDenis писал(а):igk1972 Некоторые пользователи не могут быть добавлены, так как они отключили получение личных сообщений. :

Собственно сообщение в личку я получил, только ответить не могу
Поэтому кратко отвечу тут.
В целом, с содержимым письма(в лс) и кода в нем же согласен, но:
1. В Вашем коде на 13 строке синтаксическая ошибка. Лишняя круглая скобка.
2. В конце всегда будет выведено OK, даже если файл не будет найден в цикле.
3. Я бы еще на всякий случай проверил наличие экзешника впоследнем кейсе.
Спасибо, показанный код был как раз еще в процессе. Копировал прямо сырым, и уже в сообщении еще вносил правки. Хотел лишь продемонстрировать различия.