Инсталляция из исходников с Github.com

Проблемы/вопросы, связанные с запуском под различными платформами и конфигурациями.

Модератор: immortal

Victor_S
Сообщения: 265
Зарегистрирован: Пт дек 26, 2014 1:58 pm
Благодарил (а): 33 раза
Поблагодарили: 24 раза

Re: Инсталляция из исходников с Github.com

Сообщение Victor_S » Ср май 20, 2015 1:15 pm

Позволю себе небольшую ремарку в данной теме, хотя и не являюсь профессиональным программистом, а лишь ее пользователем. Но коль скоро речь зашла о глобальном пересмотре кода программы не могу не отметить проблему напрямую касающуюся надежности системы. Дело в том, что у меня все еще система развернута в тестовом режиме, и работает сервер без бесперебойника. За это время несколько раз были отключения и система реагировала на них по разному, но всегда с теми или иными ошибками. Однако в последний такой случай произошел очень неприятный момент, который я обнаружил лишь несколько дней спустя по несколько необычному поведению моих устройств. Оказалось, что при очередном отключении питания у одного из классов устройств исчез метод, не "попортился", а просто бесследно исчез. А система при этом нормально грузилась, все циклы выполнялись, все статусы были "зелеными"... К чему я это рассказываю? Похоже в системе нету никакого контроля целостности базы данных...Существуют же какие-то тригеры, транзакции...или всего этого нету в mysql? Хотя бы системные таблицы нужно как-то контролировать?
igk1972
Сообщения: 41
Зарегистрирован: Чт май 14, 2015 12:46 pm
Благодарил (а): 3 раза
Поблагодарили: 10 раз

Re: Инсталляция из исходников с Github.com

Сообщение igk1972 » Ср май 20, 2015 1:52 pm

Victor_S писал(а):Оказалось, что при очередном отключении питания у одного из классов устройств исчез метод, не "попортился", а просто бесследно исчез. А система при этом нормально грузилась, все циклы выполнялись, все статусы были "зелеными"... К чему я это рассказываю? Похоже в системе нету никакого контроля целостности базы данных...Существуют же какие-то тригеры, транзакции...или всего этого нету в mysql? Хотя бы системные таблицы нужно как-то контролировать?
Все это есть не только в mysql/mariadb, но даже sqlite3.
Однако ничего из этого не применяется в majordomo (на данный момент). Операции с бд реализованы на совершенно простеньком уровне, без слоя абстракции, без внешних ключей и без транзакций, к тому же "голый" sql-код разбросан про всему программному коду.
Так же стоит отметить многочисленные переконнекты к бд, когда их можно свести к минимуму.

Ведение новой функциональности в бд - дело второго этапа изменения внутренностей majordomo. Пока об этом говорить рано, однако отмечено в недостатках.
LutsenkoDenis
Сообщения: 521
Зарегистрирован: Вс апр 07, 2013 9:30 pm
Откуда: Moscow
Благодарил (а): 2 раза
Поблагодарили: 58 раз
Контактная информация:

Re: Инсталляция из исходников с Github.com

Сообщение LutsenkoDenis » Ср май 20, 2015 2:11 pm

Victor_S писал(а):Похоже в системе нету никакого контроля целостности базы данных...Существуют же какие-то тригеры, транзакции...или всего этого нету в mysql?
В MySQL это конечно есть, правда зависит от движка базы данных. В нашей системе в качестве движка используется MyISAM который:
  • не поддерживает транзакции
  • не поддерживает внешние ключи
  • блокировка на уровне таблицы(т.е. при вставке записи в таблицу, блокируется вся таблица)
В остальном соглашусь с igk1972, так как он раньше ответил на ваше сообщение. :) В системе всё на самом простом уровне. Обычно, если проверки на уровне базы нет, то должна быть проверка на программном уровне. А её в системе тоже нет. :(

ORM данном случае не принципиальна, так как это просто прослойка и если не предполагается работа с разными базами данных, то можно обойтись без неё. По производительности даже быстрее получится.
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
igk1972
Сообщения: 41
Зарегистрирован: Чт май 14, 2015 12:46 pm
Благодарил (а): 3 раза
Поблагодарили: 10 раз

Re: Инсталляция из исходников с Github.com

Сообщение igk1972 » Ср май 20, 2015 2:36 pm

LutsenkoDenis писал(а):В MySQL это конечно есть, правда зависит от движка базы данных. В нашей системе в качестве движка используется MyISAM который:
  • не поддерживает транзакции
  • не поддерживает внешние ключи
  • блокировка на уровне таблицы(т.е. при вставке записи в таблицу, блокируется вся таблица)
Вы видите хоть одну причину использования конкретно только MyISAM?
Кроме "привычки".

Ответ - причин нет.
LutsenkoDenis
Сообщения: 521
Зарегистрирован: Вс апр 07, 2013 9:30 pm
Откуда: Moscow
Благодарил (а): 2 раза
Поблагодарили: 58 раз
Контактная информация:

Re: Инсталляция из исходников с Github.com

Сообщение LutsenkoDenis » Ср май 20, 2015 3:08 pm

Уважаемый igk1972, не нужно отвечать за меня.

Лично я, не вижу никакого смысла использовать MyISAM, так же не вижу смысла использовать ORM и много чего ещё.

Тут дело не в привычке, а в том, что на начальном этапе разработки проекта был выбран(скорее всего неосознанно) MyISAM(напомню, что это был движок по умолчанию при создании новой базы). Еще, не забываем что проект развивается достаточно быстро, но очень ограниченным количеством людей у которых есть основная работа, семья, личная жизнь и т.д. Времени делать какой-то код-ревью или модифицировать что-то просто нет.
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Аватара пользователя
Amarok
Сообщения: 1427
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Инсталляция из исходников с Github.com

Сообщение Amarok » Ср май 20, 2015 3:12 pm

igk1972, LutsenkoDenis: вот вы спорите, а где-то в мире плачет котёнок который хочет посмотреть новую Алису :roll:
Моя Алиска живёт на Proxmox в Debian 12
igk1972
Сообщения: 41
Зарегистрирован: Чт май 14, 2015 12:46 pm
Благодарил (а): 3 раза
Поблагодарили: 10 раз

Re: Инсталляция из исходников с Github.com

Сообщение igk1972 » Ср май 20, 2015 3:26 pm

LutsenkoDenis писал(а):Уважаемый igk1972, не нужно отвечать за меня.
Уважаемый Денис, нисколько не хотел ни отвечать за Вас, ни спорить с Вами. Тем более что есть общее понимание.

Однако в силу моего программисткого перфекционизма, считаю что если уж делать, то делать максимально качественно и вдумчиво.

ORM (про которое я не высказывался) не только уровень абстракции, а еще метод который дает независимость изменений реализации бд, и отделение кода. Грубо говоря, не надо ползать по коду и править sql. Прочем, думаю что Вы это знаете давно.
Amarok писал(а):igk1972, LutsenkoDenis: вот вы спорите, а где-то в мире плачет котёнок который хочет посмотреть новую Алису :roll:
Пока Вы зачем-то упоминаете котят, реально идет работа над кодом, очистка и упорядование еще не окончены (к бы этого не хотелось)
LutsenkoDenis
Сообщения: 521
Зарегистрирован: Вс апр 07, 2013 9:30 pm
Откуда: Moscow
Благодарил (а): 2 раза
Поблагодарили: 58 раз
Контактная информация:

Re: Инсталляция из исходников с Github.com

Сообщение LutsenkoDenis » Ср май 20, 2015 3:47 pm

Но при этом привели цитату на моё высказывание, задали мне вопрос и на него ответили. :) Я это так понял из текста предложения.

Про ORM первым написали именно Вы. :) И да, про ORM знаю давно, но считаю что в данном проекте и на данном этапе его использовать не нужно. Для того, чтобы не ползать по коду и не править sql, достаточно перестать его использовать в каждом встречном файле.

А так, да, общее понимание есть.
С нетерпением жду какого-нибудь результата Ваших трудов на посмотреть. :) С еще большим нетерпением жду появления документа, о котором говорилось выше и главное следования ему.
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
LutsenkoDenis
Сообщения: 521
Зарегистрирован: Вс апр 07, 2013 9:30 pm
Откуда: Moscow
Благодарил (а): 2 раза
Поблагодарили: 58 раз
Контактная информация:

Re: Инсталляция из исходников с Github.com

Сообщение LutsenkoDenis » Ср май 20, 2015 6:16 pm

igk1972 Некоторые пользователи не могут быть добавлены, так как они отключили получение личных сообщений. : :o Собственно сообщение в личку я получил, только ответить не могу :)

Поэтому кратко отвечу тут.
В целом, с содержимым письма(в лс) и кода в нем же согласен, но:
1. В Вашем коде на 13 строке синтаксическая ошибка. Лишняя круглая скобка.
2. В конце всегда будет выведено OK, даже если файл не будет найден в цикле.
3. Я бы еще на всякий случай проверил наличие экзешника впоследнем кейсе.
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
igk1972
Сообщения: 41
Зарегистрирован: Чт май 14, 2015 12:46 pm
Благодарил (а): 3 раза
Поблагодарили: 10 раз

Re: Инсталляция из исходников с Github.com

Сообщение igk1972 » Ср май 20, 2015 6:48 pm

LutsenkoDenis писал(а):igk1972 Некоторые пользователи не могут быть добавлены, так как они отключили получение личных сообщений. : :o Собственно сообщение в личку я получил, только ответить не могу :)

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