Инсталляция из исходников с Github.com
Модератор: immortal
-
- Сообщения: 265
- Зарегистрирован: Пт дек 26, 2014 1:58 pm
- Благодарил (а): 33 раза
- Поблагодарили: 24 раза
Re: Инсталляция из исходников с Github.com
Позволю себе небольшую ремарку в данной теме, хотя и не являюсь профессиональным программистом, а лишь ее пользователем. Но коль скоро речь зашла о глобальном пересмотре кода программы не могу не отметить проблему напрямую касающуюся надежности системы. Дело в том, что у меня все еще система развернута в тестовом режиме, и работает сервер без бесперебойника. За это время несколько раз были отключения и система реагировала на них по разному, но всегда с теми или иными ошибками. Однако в последний такой случай произошел очень неприятный момент, который я обнаружил лишь несколько дней спустя по несколько необычному поведению моих устройств. Оказалось, что при очередном отключении питания у одного из классов устройств исчез метод, не "попортился", а просто бесследно исчез. А система при этом нормально грузилась, все циклы выполнялись, все статусы были "зелеными"... К чему я это рассказываю? Похоже в системе нету никакого контроля целостности базы данных...Существуют же какие-то тригеры, транзакции...или всего этого нету в mysql? Хотя бы системные таблицы нужно как-то контролировать?
-
- Сообщения: 41
- Зарегистрирован: Чт май 14, 2015 12:46 pm
- Благодарил (а): 3 раза
- Поблагодарили: 10 раз
Re: Инсталляция из исходников с Github.com
Все это есть не только в mysql/mariadb, но даже sqlite3.Victor_S писал(а):Оказалось, что при очередном отключении питания у одного из классов устройств исчез метод, не "попортился", а просто бесследно исчез. А система при этом нормально грузилась, все циклы выполнялись, все статусы были "зелеными"... К чему я это рассказываю? Похоже в системе нету никакого контроля целостности базы данных...Существуют же какие-то тригеры, транзакции...или всего этого нету в mysql? Хотя бы системные таблицы нужно как-то контролировать?
Однако ничего из этого не применяется в majordomo (на данный момент). Операции с бд реализованы на совершенно простеньком уровне, без слоя абстракции, без внешних ключей и без транзакций, к тому же "голый" sql-код разбросан про всему программному коду.
Так же стоит отметить многочисленные переконнекты к бд, когда их можно свести к минимуму.
Ведение новой функциональности в бд - дело второго этапа изменения внутренностей majordomo. Пока об этом говорить рано, однако отмечено в недостатках.
-
- Сообщения: 521
- Зарегистрирован: Вс апр 07, 2013 9:30 pm
- Откуда: Moscow
- Благодарил (а): 2 раза
- Поблагодарили: 58 раз
- Контактная информация:
Re: Инсталляция из исходников с Github.com
В MySQL это конечно есть, правда зависит от движка базы данных. В нашей системе в качестве движка используется MyISAM который:Victor_S писал(а):Похоже в системе нету никакого контроля целостности базы данных...Существуют же какие-то тригеры, транзакции...или всего этого нету в mysql?
- не поддерживает транзакции
- не поддерживает внешние ключи
- блокировка на уровне таблицы(т.е. при вставке записи в таблицу, блокируется вся таблица)


ORM данном случае не принципиальна, так как это просто прослойка и если не предполагается работа с разными базами данных, то можно обойтись без неё. По производительности даже быстрее получится.
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
-
- Сообщения: 41
- Зарегистрирован: Чт май 14, 2015 12:46 pm
- Благодарил (а): 3 раза
- Поблагодарили: 10 раз
Re: Инсталляция из исходников с Github.com
Вы видите хоть одну причину использования конкретно только MyISAM?LutsenkoDenis писал(а):В MySQL это конечно есть, правда зависит от движка базы данных. В нашей системе в качестве движка используется MyISAM который:
- не поддерживает транзакции
- не поддерживает внешние ключи
- блокировка на уровне таблицы(т.е. при вставке записи в таблицу, блокируется вся таблица)
Кроме "привычки".
Ответ - причин нет.
-
- Сообщения: 521
- Зарегистрирован: Вс апр 07, 2013 9:30 pm
- Откуда: Moscow
- Благодарил (а): 2 раза
- Поблагодарили: 58 раз
- Контактная информация:
Re: Инсталляция из исходников с Github.com
Уважаемый igk1972, не нужно отвечать за меня.
Лично я, не вижу никакого смысла использовать MyISAM, так же не вижу смысла использовать ORM и много чего ещё.
Тут дело не в привычке, а в том, что на начальном этапе разработки проекта был выбран(скорее всего неосознанно) MyISAM(напомню, что это был движок по умолчанию при создании новой базы). Еще, не забываем что проект развивается достаточно быстро, но очень ограниченным количеством людей у которых есть основная работа, семья, личная жизнь и т.д. Времени делать какой-то код-ревью или модифицировать что-то просто нет.
Лично я, не вижу никакого смысла использовать MyISAM, так же не вижу смысла использовать ORM и много чего ещё.
Тут дело не в привычке, а в том, что на начальном этапе разработки проекта был выбран(скорее всего неосознанно) MyISAM(напомню, что это был движок по умолчанию при создании новой базы). Еще, не забываем что проект развивается достаточно быстро, но очень ограниченным количеством людей у которых есть основная работа, семья, личная жизнь и т.д. Времени делать какой-то код-ревью или модифицировать что-то просто нет.
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
- Amarok
- Сообщения: 1427
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Инсталляция из исходников с Github.com
igk1972, LutsenkoDenis: вот вы спорите, а где-то в мире плачет котёнок который хочет посмотреть новую Алису 

Моя Алиска живёт на Proxmox в Debian 12
-
- Сообщения: 41
- Зарегистрирован: Чт май 14, 2015 12:46 pm
- Благодарил (а): 3 раза
- Поблагодарили: 10 раз
Re: Инсталляция из исходников с Github.com
Уважаемый Денис, нисколько не хотел ни отвечать за Вас, ни спорить с Вами. Тем более что есть общее понимание.LutsenkoDenis писал(а):Уважаемый igk1972, не нужно отвечать за меня.
Однако в силу моего программисткого перфекционизма, считаю что если уж делать, то делать максимально качественно и вдумчиво.
ORM (про которое я не высказывался) не только уровень абстракции, а еще метод который дает независимость изменений реализации бд, и отделение кода. Грубо говоря, не надо ползать по коду и править sql. Прочем, думаю что Вы это знаете давно.
Пока Вы зачем-то упоминаете котят, реально идет работа над кодом, очистка и упорядование еще не окончены (к бы этого не хотелось)Amarok писал(а):igk1972, LutsenkoDenis: вот вы спорите, а где-то в мире плачет котёнок который хочет посмотреть новую Алису
-
- Сообщения: 521
- Зарегистрирован: Вс апр 07, 2013 9:30 pm
- Откуда: Moscow
- Благодарил (а): 2 раза
- Поблагодарили: 58 раз
- Контактная информация:
Re: Инсталляция из исходников с Github.com
Но при этом привели цитату на моё высказывание, задали мне вопрос и на него ответили.
Я это так понял из текста предложения.
Про ORM первым написали именно Вы.
И да, про ORM знаю давно, но считаю что в данном проекте и на данном этапе его использовать не нужно. Для того, чтобы не ползать по коду и не править sql, достаточно перестать его использовать в каждом встречном файле.
А так, да, общее понимание есть.
С нетерпением жду какого-нибудь результата Ваших трудов на посмотреть.
С еще большим нетерпением жду появления документа, о котором говорилось выше и главное следования ему.

Про ORM первым написали именно Вы.

А так, да, общее понимание есть.
С нетерпением жду какого-нибудь результата Ваших трудов на посмотреть.

________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
-
- Сообщения: 521
- Зарегистрирован: Вс апр 07, 2013 9:30 pm
- Откуда: Moscow
- Благодарил (а): 2 раза
- Поблагодарили: 58 раз
- Контактная информация:
Re: Инсталляция из исходников с Github.com
igk1972 Некоторые пользователи не могут быть добавлены, так как они отключили получение личных сообщений. :
Собственно сообщение в личку я получил, только ответить не могу 
Поэтому кратко отвечу тут.
В целом, с содержимым письма(в лс) и кода в нем же согласен, но:
1. В Вашем коде на 13 строке синтаксическая ошибка. Лишняя круглая скобка.
2. В конце всегда будет выведено OK, даже если файл не будет найден в цикле.
3. Я бы еще на всякий случай проверил наличие экзешника впоследнем кейсе.


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