Commit Graph

17 Commits

Author SHA1 Message Date
kilyabin
ce8aa2e707 Update README.md 2025-11-23 02:43:37 +04:00
kilyabin
b1f892ca7d perf: оптимизация памяти - кэширование только текущей недели и условный парсинг Критические оптимизации для снижения потребления памяти с 1.2 ГБ: - Кэширование только текущей недели: * Кэш хранит только текущие недели (без параметра wk) * Запросы с конкретной неделей (wk указан) не кэшируются * Ключ кэша изменен с ${group}_${wk} на group * Уменьшен maxCacheSize с 100 до 50 записей - Условный парсинг навигации по неделям: * Парсинг навигации выполняется только если weekNavigationEnabled === true * Если навигация выключена, parseWeekNavigation не вызывается * Экономит память и CPU при выключенной навигации * Параметр shouldParseWeekNavigation передается через getSchedule -> parsePage - Результат: * Значительное снижение потребления памяти * Кэш содержит только актуальные данные (текущие недели) * Парсинг навигации выполняется только при необходимости Измененные файлы: - src/pages/[group].tsx - логика кэширования только текущей недели - src/app/agregator/schedule.ts - параметр для условного парсинга - src/app/parser/schedule.ts - условный вызов parseWeekNavigation
Критические оптимизации для снижения потребления памяти

- Кэширование только текущей недели:
  * Кэш хранит только текущие недели (без параметра wk)
  * Запросы с конкретной неделей (wk указан) не кэшируются
  * Ключ кэша изменен с `${group}_${wk}` на `group`
  * Уменьшен maxCacheSize с 100 до 50 записей

- Условный парсинг навигации по неделям:
  * Парсинг навигации выполняется только если weekNavigationEnabled === true
  * Если навигация выключена, parseWeekNavigation не вызывается
  * Экономит память и CPU при выключенной навигации
  * Параметр shouldParseWeekNavigation передается через getSchedule -> parsePage

- Результат:
  * Значительное снижение потребления памяти
  * Кэш содержит только актуальные данные (текущие недели)
  * Парсинг навигации выполняется только при необходимости

Измененные файлы:
- src/pages/[group].tsx - логика кэширования только текущей недели
- src/app/agregator/schedule.ts - параметр для условного парсинга
- src/app/parser/schedule.ts - условный вызов parseWeekNavigation
2025-11-23 02:38:09 +04:00
kilyabin
b5f902a13f fixed .env use 2025-11-18 04:16:52 +04:00
kilyabin
0bb41c897c goodize scripts 2025-11-18 04:03:24 +04:00
kilyabin
b82d4e5085 add scripts to auto-install 2025-11-18 03:57:22 +04:00
kilyabin
82c22c54d3 modernize project with Docker support and dependency updates
- Pin all dependencies to stable versions (remove 'latest')
- Update lucide-react to 0.554.0 for React 19 compatibility
- Add Docker support with Dockerfile and docker-compose.yml
- Update TypeScript target to ES2022
- Add .nvmrc and netlify.toml for deployment configuration
- Update README with Docker deployment instructions
2025-11-18 03:33:08 +04:00
kilyabin
642649e240 Update README.md 2024-05-22 22:54:47 +04:00
kilyabin
e3769783f9 Update README.md 2024-04-22 15:22:12 +04:00
VityaSchel
ea39ea9da1 Remove redunant console.logs and netlify status badge 2023-10-03 18:07:10 +04:00
VityaSchel
d8ccc560ee Fixed tech stack in README 2023-10-02 22:31:51 +04:00
Viktor Shchelochkov
ce82be9530 Update README.md 2023-10-02 20:29:48 +04:00
Viktor Shchelochkov
55325bfb48 Fixed themed images in README 2023-10-02 20:28:11 +04:00
VityaSchel
f0c1347bbd Add Github button to navbar 2023-10-02 19:07:04 +04:00
VityaSchel
755654cf9d Added last update, cache strategy, telegram fail notifications, teachers photos 2023-10-02 18:54:26 +04:00
VityaSchel
f6daee6201 Add dates, discipline fallbacks 2023-10-02 01:04:55 +04:00
VityaSchel
b6ea0217c3 Added parser function 2023-10-01 20:18:37 +04:00
VityaSchel
0bb5f022e9 Initial commit 2023-10-01 18:53:04 +04:00