Раз у вас клиент установлен в /opt, то скорее всего владелец у него root:root и менять для всего клиента ничего не надо. Добавьте разрешения на чтения для тнс-ки
Therapyx: на момент, когда я работал в этой сфере (это 2008-2013 года) за софт по составлению расписания просили порядка 90К-150К. Но самостоятельно этот софт не работал, так как был жестко завязан на других подсистемах ("деканат", для ведения списков групп, студентов в них, и привязкой групп к кафедрам, "учебный план" для разбивки предметов по типам занятий и отведенным на изучение часам и т.д.) В итоге "комплекс" имел ценник 300К+. Вроде как цена для ВУЗа не большая... если бы это просто работало... Но вот именно с "завести" все в единое целое начинались проблемы, так как большинство софта писалось под конкретный ВУЗ для внутренних целей, а потом были попытки "универсализации" и продажи. В конечном счете это все выливалось в несколько месяцев на освоение принципов работы и "подгонку" софта под требование текущего ВУЗа (одни отчетные формы чего стоили (отдельный привет разрабам из Ростова))...
Так что 1 средне-квалифицированный программист справится врятли, ну либо это займет у него нереально много времени, слишком уж много ньюансов. Вот у нас к примеру, тоже расписание было плавающим и составлялось для каждой недели отдельно, а не на семестр сразу.., было совмещений практических/лекционных занятий для подгрупп, была необходимость в возможности проведения одного и того же занятия для одной и той же группы 2 преподавателями в разных аудиториях... И все это должно в точности совпасть с учебным планом (ибо на утвержденный МинОбр-ом документ "орган" нельзя положить), должна быть правильно высчитана нагрузка по часам на кафедры и на преподавателя в частности, не должно быть казусов в виде "проведение лабораторной работы в лекционной аудитории, потому что все остальные классы заняты".... Короче, дохрена там всего...
Если вы ставить "cat $1", то рассматривается одно слово; вместо того, чтобы пройтись по каждой строке в файле, цикл выполнится только один раз, при этом fl примет значение <пробел>cat $FILE<пробел>
Вадим Сысоев: Ну как минимум отключить неиспользуемые плагины. PS: я хз, как при ssd и i3 шторм может стартовать столько и при этом еще и тормозить. У меня на рабочем компе (c2d e7400 + 4G ddr2 + hdd) загрузка вместе с немальким проектом занимает порядка 30 секунд. А по сути - если новичок, который только начинает обучение - забудьте про IDE. Да, там классные плюшки, типа автодополнения, автоматом прописываются подключаемые классы, удобнее рефакторить и т.д... НО Вам надо самому писать те же имена вызываемых функций, блоки и конструкции, чтобы ЭТО запоминалось и руки привыкали к коду. IDE имеет смысл не на этапе обучения, где проект редко переваливает за 1-2К строк кода, а когда проект разрастается до размеров, когда держать в голове все зависимости, цепочки вызовов просто нереально. Да, после того, как вы освоитесь в том же шторме, к саблайму (или что вы там используете), кроме как внести мелкую правку возвращаться вртли захочется. Но пока - просто пишите код, набивайте руку.
Vladimir Lipodat: Нет, не запомнится! Не стройте иллюзий... Запомнится лишь то, к чему Вы сами смогли прийти, найти, реализовать. Если спрашивать готовые решения - толку от обучение чуть больше, чем нихрена...
Eduard: а разницы нет. как только указываю параметр charset в DSN, вне зависимости от его значения (при условии, что оно валидно) - валится на ошибке, описанной выше. При указании в charset откровенной ереси проверка все же срабатывает и пишет в ошибке, что неверная кодировка.