session_start() если сессия уже открыта - ждёт очереди и только потом открывает её для себя, при этом блокируя. Сталкивался с этим, за счёт того что сессии открывались и жили до конца исполнения скрипта весь сайт тупил, с помощью session_write_close() в нужных местах удалось ускорить раза в два. Но ошибок это не влечёт, просто нужно знать, особенно если файлы работающие с сессией отрабатывают в течении секунды и более.
Artem: Взгляните на это с другой стороны: сложный запрос работает в два и более раз дольше, при этом часть запроса(инсерт) будет происходить не каждый раз, а только если условие выполнено(кстати, не уверен что вообще такой запрос возможен). Если же вы в цикле сделаете сначала проверку - то инсерт будет производиться не каждый раз, следовательно нагрузка будет ниже. Более того - можно сначала в цикле пройтись по данным, а запросы на инсерт не выполнять, а складывать в отдельную переменную, и выполнить все инсерты одним запросом ПОСЛЕ завершения цикла.
Вообще любую логику лучше реализовывать в php, мускул всё же база данных, и несмотря на имеющиеся возможности, использовать его для логики неправильно. Да и работают функции в мускуле медленнее.
golovim: Если вы используете сингл пэйдж апп - то для ускорения загрузки стоит вынести подключение скриптов после тэга боди - это может сказаться на скорости заметно для пользователя. В отношении стилей разница, на мой взгляд, будет минимальна, подключать их одним файлом или вставлять в тело страницы.
Разница есть, вы не правы. Любое обращение к внешнему файлу немного замедляет загрузку, это становится заметно если подключается несколько десятков скриптов и стилей, то же самое актуально для картинок. Именно поэтому рекомендуют использовать спрайтмапы для мелких картинок типа кнопок, ярлыков, меток и прочего, поэтому же рекомендуют все скрипты и стили перед выкладыванием на прод ужимать и компилировать в один файл(один для скриптов + один для стилей). Это особенно актуально, если на ваш сайт заходит не 10 человек в сутки, а 10 тысяч - даже если они не заметят особой разницы, у вас расходы трафика будет отличаться существенно. Но подключение внешним файлом всё же выгоднее чем встраивание в тэг, даже если на лету - потому что 10 страниц обращающиеся к одному файлу скрипта\стиля, реально загрузят его один раз и сохранят в кэше браузера.
в инноДБ НЕ конвертить! Это только замедлит выгрузку данных, майисам быстрее работает с селектами, а преимущество инноДБ - в поддержке транзакций, что делает более надёжной работу с добавлением и изменением записей.
Arris: Ну, если всё было настолько плохо - то действительно нужно бежать) Пока программисты соглашаются работать на старом железе и старом софте - в гос конторах будет старое железо и старый софт)
Сергей: Имеет смысл объяснить заказчику, что на хостинге стоит древняя версия софта, которой уже много лет. Узнать причину, по которой заказчик требует этот хостинг, найти другой, которые бы его удовлетворил.
Для тех, кому важны рекомендации и индексы гугла и яндекса - адаптивный лучше. Поисковики ругаются, говорят в статистике что главная страница не заточена под мобайл, и роботу пофиг что идёт редирект на поддомен. Поэтому, если важна оценка в яндекс вебмастер или гугл вебмастере - желательна адаптивка. Если на них пофиг - можно и редирект на поддомен.
Если базовый отрабатывает нормально - смотрите настройки роутинга - возможно туда нужно прописать новый контроллер. Если роутинг универсальный и должен подхватывать любые контроллеры - надо найти где в кодигнитере в конфиге включается дебаг режим, чтобы выводились все ошибки.
Первый пункт - не зависит от фриланса... Я работаю в офисе, официальное начало рабочего дня - с 9-ти до 12-ти, по факту все приходят кто когда хочет.
Второй пункт - не зависит от фриланса... Мне до работы 40 минут на маршрутке или 50 на веле) Спорт + удовольствие. Конечно, в плохую погоду приходится на транспорте...
Третий пункт - не зависит от фриланса... Главная задача - выполнять работу. Если ты сидишь в контактике, пошёл прогуляться, пьёшь кофе на диванчике - никто не докопается, начальство понимает что это такая работа в которой ты можешь росидеть несколько часов за компом протупить в код, и не найти решения, а после перерыва\обеда\прогулки\сна решить задачу за пару минут, потому что посмотришь на неё свежим взглядом.
Четвёртый пункт - см. пункт 2. после обеда два часа потупить - да как нефиг. У меня реально эффективного времени работы в офисе - несколько часов. Хочешь - приходи вечером, работай до утра, если так уж критично.
Пятый пункт - сложно что-то сказать, тут вы возможно правы, хотя никто не мешает если так уж задолбало - перейти в другую фирму.
Шестой пункт - реиндексация ЗП минимум раз в год, в условиях кризиса реиндексировалась дополнительно. А во фрилансе жадность заказчика не особо меняется с ростом вашего профессионализма. Разве что вы такой уникальный, что больше никто не может сделать такую работу - тогда вы диктуете свой оклад. Но в таких условиях вы и в конторе будете сами диктовать свой оклад)
Итого... Да, я работаю в хорошей конторе, но она не единственная, я уверен. Так что все или почти все преимущества фриланса можно получить работая в фирме, и при этом не страдать от многих недостатков фриланса.
Ну, всё зависит от того, как подключение происходит. В любом случае, где-либо должны хранится настройки подключения к базе данных, где-то происходит инициализация... Если вы инициализируете подключение тогда, когда вам нужны данные - нужно настроить возможность выбора конфигурации. Можно создать два разных класса, каждый из которых отвечает за свою БД.
Я работал над проектом, где была адресная база, и координаты по широте и долготе хранились отдельно, как и такие данные как номер дома, название улицы, город и т.д. В сумме это были три таблицы - города, улицы\объекты, дома. казалось бы, зачем хранить координаты в разных полях - это же абсолютно связанные величины? Но когда я реализовывал поиск ближайших объектов - мне это понадобилось) При проектировании таблицы всегда лучше предусмотреть дальнейшее развитие...