Моя работа с дл.
Попробовал себя в качестве разрабодчика дл, но понял что это не мое. Оставляю сдесь инструкцию о том что я успел сделать.
Что от меня требовалось:
1. Исправить дату награждения(Первое воскресенье следующей поры года);
2. убрать методы алгоритмизации;
3. заменить теги "<br>" на перевод строки и добавить пустую строку между номинациями;
4. добавить первой номинацией "Программирование-профи-ком" (весна, лето, осень) и "Программирование-профи-лич" (зима);
5. добавить за активное участие;
6. добавить "кл" в первых строчках.
7. Разобраться с работой шаблонов.
Что я сделал:
1. Написал отделый код который с помощью библиотеки java.time находит первое воскресенье следующей поры года.
Вот сам код:
LocalDate date = LocalDate.now();
int day = date.getDayOfMonth(), month = date.getMonthValue(), year = date.getYear();
String season = "";
if (month == 12 || month == 1 || month == 2) { month = 3; year+=1; season = "Зимний кубок " + year;}
else if (month == 3 || month == 4 || month == 5) { month = 6; season = "Весенний кубок " + year;}
else if (month == 6 || month == 7 || month == 8) { month = 9; season = "Летний кубок " + year;}
else if (month == 9 || month == 10 || month == 11) { month = 12; season = "Осенний кубок " + year;}
LocalDate date_on_new_season = LocalDate.of(year, month, day);
LocalDate first_sunday = date_on_new_season.with(firstInMonth(DayOfWeek.SUNDAY));
2. С помошью шаблона Kybok_nagrada_FS.vm убрал методы алгоритмизации.
Немного про сами шаблоны.
В java шаблоны реализуются с помощью движка Velocity. Подробнее о нем можно узнать на оффициальном сайте https://velocity.apache.org.
в проекте шаблоны расположены по пути "dl2-web\dev\dl2-web\src\dl2\resources". они имеют расширение ".vm". Открываются любым текстовым редактором.
Ниже приведен код одного из шаблонов:
#if ($ifPers != 1)
<font size=3 color=darkgreen><b>$tftitle</b></font><br><br><br>
<a href=/tableband4.jsp?fday=1&fmonth=9&fyear=$PersYear&tday=31&tmonth=8&tyear=$PersYear2&cid=15&nid=1566&sort=2>
<a href=/tableband3.jsp?fday=1&fmonth=9&fyear=$PersYear&tday=31&tmonth=8&tyear=$PersYear2&cid=620&nid=403174&sort=2>
<b>"Базовое программирование (1-8кл)"</b></a>
$persona1
<a href=/tableband3.jsp?fday=1&fmonth=9&fyear=$PersYear&tday=31&tmonth=8&tyear=$PersYear2&cid=974&nid=1490311&sort=2&g=>
<b>"Информатика 2015 (1-4кл)"</b></a>
$persona2
<a href=/tableband3.jsp?fday=1&fmonth=9&fyear=$PersYear&tday=31&tmonth=8&tyear=$PersYear2&cid=857&nid=1080867&sort=2&taskType=all&attempts=1>
<b>"Математика (1-8 кл)"</b></a>
$persona3
#end
<font size=3 color=darkgreen><b>$title</b></font>
<a href=/tableband4.jsp?fday=1&fmonth=$fffMonth&fyear=$ffYear&tday=$fffDay&tmonth=$tttMonth&tyear=$ttYear&cid=15&nid=1566&sort=2>
<a href=/tableband3.jsp?fday=1&fmonth=$fffMonth&fyear=$ffYear&tday=$fffDay&tmonth=$tttMonth&tyear=$ttYear&cid=620&nid=403174&sort=2>
<b>"Базовое программирование (1-8кл)"</a></b>
<pre>
$students1
</pre>
<a href=/tableband3.jsp?fday=1&fmonth=$fffMonth&fyear=$ffYear&tday=$fffDay&tmonth=$tttMonth&tyear=$ttYear&cid=974&nid=1490311&sort=2&g=>
<b>"Информатика 2015 (1-4кл)"</a></b>
<pre>
$students2
</pre>
<a href=/tableband3.jsp?fday=1&fmonth=$fffMonth&fyear=$ffYear&tday=$fffDay&tmonth=$tttMonth&tyear=$ttYear&cid=857&nid=1080867&sort=2&taskType=all&attempts=1>
<b>"Математика (1-8 кл)"</a></b><br><br>
<pre>
$students3
</pre>
<pre>
$students4
</pre>
Как видно в шаблоне используются в основном теги html. Так же можно прописать процедуру или функцию используя символ "#".
Переменные в шаблонах создаются в java файлах и с помощью движка. Чтобы обратиться к переменной надо использовать символ "$".
Файлы которые отправил мне Михайл Семенович:
анонс - как сгенерировалось
Открыт <b>"Зимний кубок 2022/2023"</b>. Победителей ждут призы.
Учитываются только задачи, сданные в период зимы 2022/2023 года и <b>НЕ СДАННЫЕ РАНЕЕ !!!</b><br><br><font size=3 color=darkgreen><b>Зимний кубок 2022/2023</b></font>
<br><br>
<a href=/tableband4.jsp?fday=1&fmonth=12&fyear=2022&tday=28&tmonth=2&tyear=2023&cid=968&sort=2>
<b>"Подготовка к IOI 2023"</b></a>
<a href=http:<a href=/tableband4.jsp?fday=1&fmonth=12&fyear=2022&tday=28&tmonth=2&tyear=2023&cid=15&nid=1566&sort=2>
<b>"Методы алгоритмизации"</b></a> <br><br>
<a href=http:<a href=/tableband3.jsp?fday=1&fmonth=12&fyear=2022&tday=28&tmonth=2&tyear=2023&cid=620&nid=403174&sort=2>
<b>"Базовое программирование (1-8кл)"</b></a> <br><br>
<a href=/tableband3.jsp?fday=1&fmonth=12&fyear=2022&tday=28&tmonth=2&tyear=2023&cid=974&nid=1490311&sort=2&g=>
<b>"Информатика 2015 (1-4кл)"</b></a><br><br>
<a href=/tableband3.jsp?fday=1&fmonth=12&fyear=2022&tday=28&tmonth=2&tyear=2023&cid=857&nid=1080867&sort=2&taskType=all&attempts=1>
<b>"Математика (1-8 кл)"</b></a>
<br><br><br><br>
<font size=3 color=darkgreen><b>Персона 2022-2023 учебного года</b></font><br><br>
<a href=/tableband4.jsp?fday=1&fmonth=9&fyear=2022&tday=31&tmonth=8&tyear=2023&cid=968&sort=2>
<b>"Подготовка к IOI 2023"</b></a> <br><br>
<a href=/tableband4.jsp?fday=1&fmonth=9&fyear=2022&tday=31&tmonth=8&tyear=2023&cid=15&nid=1566&sort=2>
<b>"Методы алгоритмизации"</b></a> <br><br>
<a href=/tableband3.jsp?fday=1&fmonth=9&fyear=2022&tday=31&tmonth=8&tyear=2023&cid=620&nid=403174&sort=2>
<b>"Базовое программирование (1-8кл)"</b></a> <br>
<br><a href=/tableband3.jsp?fday=1&fmonth=9&fyear=2022&tday=31&tmonth=8&tyear=2023&cid=974&nid=1490311&sort=2&g=>
<b>"Информатика 2015 (1-4кл)"</b></a><br><br>
<a href=/tableband3.jsp?fday=1&fmonth=9&fyear=2022&tday=31&tmonth=8&tyear=2023&cid=857&nid=1080867&sort=2&taskType=all&attempts=1>
<b>"Математика (1-8 кл)"</b></a></td></tr>
анонс - как я сделал руками
Открыт <b>"Зимний кубок 2022/2023"</b>.<br><br>
Победителей ждут призы<br>
<a href=http:<b>фирмы OpenMyGame</b></a>
<br><br>
Призы из Санкт-Петербурга:<br>
<a href="http: >
<b>"Кубок прогресса"</b></a>
Учитываются только задачи, сданные в период зимы 2022/2023 года и <b>НЕ СДАННЫЕ РАНЕЕ !!!</b><br><br><font size=3 color=darkgreen><b>Зимний кубок 2022/2023</b></font>
<br><br>
<a href=/restable.jsp?hd=1&hid=174784840&obid=174784840&pi=6&pi=7&pi=4&pi=10&u.c=1272&lng=rus&u.a>
<b>"Программирование - профессионалы (лич. 2022-2023)"</b></a> <br><br>
<a href=/tableband3.jsp?fday=1&fmonth=12&fyear=2022&tday=28&tmonth=2&tyear=2023&cid=620&nid=403174&sort=2>
<b>"Базовое программирование (1-8кл)"</b></a> <br><br>
<a href=/tableband3.jsp?fday=1&fmonth=12&fyear=2022&tday=28&tmonth=2&tyear=2023&cid=974&nid=1490311&sort=2&g=>
<b>"Информатика 2015 (1-4кл)"</b></a><br><br>
<a href=/tableband3.jsp?fday=1&fmonth=12&fyear=2022&tday=28&tmonth=2&tyear=2023&cid=857&nid=1080867&sort=2&taskType=all&attempts=1>
<b>"Математика (1-8 кл)"</b></a>
<br><br><br><br>
<font size=3 color=darkgreen><b>Персона 2022-2023 учебного года</b></font><br><br>
<a href=/tableband3.jsp?fday=1&fmonth=9&fyear=2022&tday=31&tmonth=8&tyear=2023&cid=620&nid=403174&sort=2>
<b>"Базовое программирование (1-8кл)"</b></a> <br>
<br><a href=/tableband3.jsp?fday=1&fmonth=9&fyear=2022&tday=31&tmonth=8&tyear=2023&cid=974&nid=1490311&sort=2&g=>
<b>"Информатика 2015 (1-4кл)"</b></a><br><br>
<a href=/tableband3.jsp?fday=1&fmonth=9&fyear=2022&tday=31&tmonth=8&tyear=2023&cid=857&nid=1080867&sort=2&taskType=all&attempts=1>
<b>"Математика (1-8 кл)"</b></a></td></tr>
анонс - что нужно сделать
1. Для читабельности
- добавить пустую строку между номинациями
2. Удалить в Сезонном Кубке номинации
- Подготовка к IOI
- Методы алгоритмизации
- Программирование - профи (Р/О)
3. Удалить в Персоне года
- Подготовка к IOI
- Методы алгоритмизации
4. Добавить первой номинацией в Сезонный Кубок
- "Программирование-профи-лич" (зима)
- "Программирование-профи-ком" (весна, лето, осень)
<a href=/restable.jsp?hd=1&hid=174784840&obid=174784840&pi=6&pi=7&pi=4&pi=10&u.c=1272&lng=rus&u.a>
<b>"Программирование - профессионалы (лич. 2022-2023)"</b></a> <br><br>
5. Добавить про награждение OpenMyGame и Кубок Прогресса
<a href=http:<b>фирмы OpenMyGame</b></a>
<br><br>
Призы из Санкт-Петербурга:<br>
<a href="http: >
<b>"Кубок прогресса"</b></a>
награждание - как сгенерировалось
Награждение победителей конкурса <b> "Осенний кубок 2022"</b> состоится 34 ноября (воскресенье) в 14.15, в кабинете информатики СШ27 г. Гомеля. Награды ждут героев.
<font size=3 color=darkgreen><b>Осенний кубок 2022</b></font><br>
<br><a href=/tableband4.jsp?fday=1&fmonth=9&fyear=2022&tday=30&tmonth=11&tyear=2022&cid=15&nid=1566&sort=2>
<b>"Методы алгоритмизации"</a></b><br><br>
<pre>
1 Доменюк Саша Аг. Гожа др 51 задач<br>2 Хворик Матвей Гродно Гимназия др 42<br>3 Прoцкий Андрей Гомель Гимназия №10 9 34<br>
</pre>
<br><a href=/tableband3.jsp?fday=1&fmonth=9&fyear=2022&tday=30&tmonth=11&tyear=2022&cid=620&nid=403174&sort=2>
<b>"Базовое программирование (1-8кл)"</a></b><br><br>
<pre>
1 Матвеев Даниил Гомель СШ 31 6 894 задач<br>2 Рябой Виктор Гомель СШ 1 5 870<br>3 Максименко Георгий Гомель СШ 27 5 424<br>
</pre>
<br><a href=/tableband3.jsp?fday=1&fmonth=9&fyear=2022&tday=30&tmonth=11&tyear=2022&cid=974&nid=1490311&sort=2&g=>
<b>"Информатика 2015 (1-4кл)"</a></b><br><br>
<pre>
1 Зотов Илья Жуковский НОЧУ СОШ Феникс 2 1882 задач<br>2 Кашканов Илья Казань Гимназия №33 2 1664<br>3 Березин Дима Москва СШ 2097 4 1065<br>
</pre>
<br><a href=/tableband3.jsp?fday=1&fmonth=9&fyear=2022&tday=30&tmonth=11&tyear=2022&cid=857&nid=1080867&sort=2&taskType=all&attempts=1>
<b>"Математика (1-8 кл)"</a></b><br><br>
<pre>
1 Комендантов Марк Салават Гимназия №1 4 2150 задач<br>2 Никулин Арсений Калуга Лицей №9 7 1844<br>3 Василенко Юрий Ростов-на-Дону Гимназия №95 5 871<br>
</pre>
награждание - как я сделал руками
Награждение победителей конкурса <b> "Осенний кубок 2022"</b> состоится 4 декабря (воскресенье) в 14.15, в кабинете информатики СШ27 г. Гомеля. Награды ждут героев.
<font size=3 color=darkgreen><b>Осенний кубок 2022</b></font><br>
<br><a href=http:<b>"
Программирование - профессионалы (ком)"</a></b><br><br>
<pre>
Задач решено
1 Mi 93 Бобченок(11кл, гимн.10), Брель(8, СШ27), Горбатовский(10 кл, гимн.51)
2 Red 73 Кардаш(7, СШ8), Процкий(8, гимн.10), Сафонов(10 кл, Речица)
3 TheXord 62 Ермаков(9,гимн.51), Титов(10, гимн.51), Шмыгалёв(10, гимн.56)
</pre>
<br><a href=/tableband3.jsp?fday=1&fmonth=9&fyear=2022&tday=30&tmonth=11&tyear=2022&cid=620&nid=403174&sort=2>
<b>"Базовое программирование (1-8кл)"</a></b><br><br>
<pre>
1 Матвеев Даниил Гомель СШ 31 6 894 задач
2 Рябой Виктор Гомель СШ 1 5 870
3 Максименко Георгий Гомель СШ 27 5 424
</pre>
<br><a href=/tableband3.jsp?fday=1&fmonth=9&fyear=2022&tday=30&tmonth=11&tyear=2022&cid=974&nid=1490311&sort=2&g=>
<b>"Информатика 2015 (1-4кл)"</a></b><br><br>
<pre>
1 Зотов Илья Жуковский НОЧУ СОШ Феникс 2 1882 задач
2 Кашканов Илья Казань Гимназия №33 2 1664
3 Березин Дима Москва СШ 2097 4 1065
</pre>
<br><a href=/tableband3.jsp?fday=1&fmonth=9&fyear=2022&tday=30&tmonth=11&tyear=2022&cid=857&nid=1080867&sort=2&taskType=all&attempts=1>
<b>"Математика (1-8 кл)"</a></b><br><br>
<pre>
1 Комендантов Марк Салават Гимназия №1 4 2150 задач
2 Никулин Арсений Калуга Лицей №9 7 1844
3 Василенко Юрий Ростов-на-Дону Гимназия №95 5 871
</pre>
награждание - что нужно сделать
Новость о награждении
----------------------
1. Исправить дату награждения на правильную
- первое воскресенье следующей поры года
2. Разобраться с шаблонами - может их использование упростит
выполнение остальных пунктов или даже сделает возможным их выполнение мне, без программирования.
3. Для читабельности
- заменить <br> на перевод строки
- добавить пустую строку между номинациями
4. Убрать Методы алгоритмизации
5. Добавить первой номинацией
- "Программирование-профи-ком" (весна, лето, осень)
- "Программирование-профи-лич" (зима)