Уф, вы наверно заметили что сначала мой домен был недоступен, а потом здесь крутилась заглушка-каталог? Это все потому что я забыл продлить свой домен и оплатить за хостинг. Из-за своей глупости я заплатил за восстановление в 2 раза больше!
Мой домен забрал регистратор и потребовал 1000р вместо стандартных 400р, пришлось переплачивать. Но мне кажется это стоило того
Из последних новостей могу озвучить следующие:
- Я разорвал все контакты с девушкой, которую любил. Этот шаг был очень сложным, но я понял что она не мой человек, и будет лучше если мы перестанем общаться.
- Я снял наконец-то квартиру. Как и планировал это произошло в начале ноября, план выполняется нормально
Я еще потом напишу пост как я искал квартиру. Теперь я живу один в двухкомнатной квартире за Филармонией. Толком еще не обустроился, надо много чего сделать по мелочам.
- Проект который я сейчас разрабатываю скоро увидит свет, мы уже на финишной прямой. Мои ребята-негритята пока не очень понимают всей серьезности этого запуска, когда как для меня этот проект — дитё
- Диджейская карьера пока не развивается, сыграл около 6-ти раз разную музыку. Азы освоены, надо тренироваться.
Есть еще пара моментов которые я хотел вам рассказать, но думаю это будет отдельный пост.
В пятницу днем узнал что моя реализация ORM дала сбой на большом кол-ве записей
Пришлось ставить заглушку и выяснять что там случилось. Оказалось все просто — когда я делал ORM, я «пропустил» момент оптимизации. И так получилось что сначало все работало как надо, а потом записей стало так много, что скрипт просто не выдержал и вылетал с max execution time, нашел место проблемы (дуралей поставил получение всех записей, а потом только пагинатор убирал не нужные) и до вечера переписывал код
Второй вариант я сделал часа за 3. Работало отлично, hasMany, hasOne все в одном запросе через JOIN (Вася, я увидел это у тебя и мне понравилась реализация
) Разбор полученных данных и разброс в массивы.
Все круто, думал я
А потом до меня дошло что когда мы используем hasMany, мы получаем 4 записи (к примеру) с одинаковыми данными текущей модели и с разными модели hasMany. Разбирается это все прекрасно, но вот пагинатор не сработал бы. Фактически мы после обработки получаем 1 запись. А LIMIT засчитал как за 4 записи.
Поэтмоу мне пришлось вернуть часть старого кода. Я оставил JOIN'ы, потому что с ними удобно было ставить запросы. Из-за запросов у меня были как раз проблемы в самом первом варианте. Там нельзя было фильтровать записи по полю из ассоциативной модели. Теперь можно, но пока пишу пост подумал что нада пару вещей проверить, на то как вложенности работают
Но должны...
В итоге я получил работающий 3ий вариант, работает быстро. Записи берет только реально нужные через LIMIT. Жду когда протестим на основном сервере.