Мы продолжаем знакомство с шаблоном проектирования: "Active Record". На этом уроке мы реализуем несколько поисков по нашей базе из 10_000 записей случайных пользователей.
Дата отправки отчёта:
24 марта 2017 г.
Задание выполнено: за
20 мин.
Чему научился:
Богатые богатеют - бедные беднеют, а средний класс всё оплачивает
Что было сложным:
Ничего
Комментарии:
Когда выполняешь домашнее задание, становится скучно смотреть начало (первые две минуты) урока, так как именно на это оно и тратится
Научился: Реализовал методы : Program().getMinSalaryUsers(), Program().getMaxSalaryUsers(), Program().getMaxYearUsers(), Program().dropPoorUsers().
Ну буду пробовать использовать в этот метод на экзамене если получиться :)
Научился: Повторил пройденное Для каждого метода получения необходимой информации добавил вспомогательный метод отображения это самой информации в красивой таблице.
Вместо возвращения самого молодого и т.д. пользователя использовал ArrayList() так как если по зарплате рандом не попал из-за малого количества сгенерированных пользователей, то по году рождения их было более 1, а выводить только одного не верное решение (см. скриншот).
Предварительно удалили все записи и запустил все методы с нуля, и уместились на экране все фазы.
Добавил отображение информации во время индексации и удаления пользователей для наглядности.
Я думаю подобные методы обработки базы пользователей, можно спокойно перенести в класс User(), по аналогии с методом selectAll().
Мини курс по Активным записят отличный, но он аналогия того, что я реализовал сам и использую при реализации некоторых сайтов.
Но при реализации данного метода на игровых серверах не хватает системы кэширования часто используемых пользователей, дабы уменьшить нагрузки на БД и увеличить скорость работы серверов в целом.
з.ы.
Хотел добавить систему кэширования, чтобы ускорить работы с файлами пользователей и обновлять их только в том случае, если они были изменены в кэше (ОЗУ), но так подумал, что это может быть реализовано как VIP урок или что-то типо, да и времени и так не мало потратил на этот урок, так как было сложно остановиться оптимизировать его и наводить марафет =)