|
1 | 1 |  |
2 | 2 |
|
3 | | -Домашние задания курса https://fintech.tinkoff.ru/academy/java ([нынешний аналог](https://education.tbank.ru/academy/backend)) |
| 3 | +Домашние задания |
| 4 | +курса https://fintech.tinkoff.ru/academy/java ([нынешний аналог](https://education.tbank.ru/academy/backend)) |
4 | 5 |
|
5 | 6 | Студент: `Локосов Даниил Дмитриевич` |
6 | 7 |
|
7 | 8 | ## Проекты |
8 | 9 |
|
9 | 10 | ### 1. [Виселица](src/main/java/edu/project1/RunGame.java)_<sub>[Тесты](src/test/java/edu/project1)</sub> |
10 | 11 |
|
11 | | -Требуется написать консольную версию игры Виселица. |
| 12 | +Требуется написать консольную версию игры Виселица. |
12 | 13 | Слово загадывается случайным образом из заранее заданного словаря. |
13 | 14 |
|
14 | 15 | #### Стек |
|
18 | 19 | ### 2. [Лабиринты](src/main/java/edu/project2/MazePresenter.java)_<sub>[Тесты](src/test/java/edu/project2)</sub> |
19 | 20 |
|
20 | 21 | Требуется реализовать: |
| 22 | + |
21 | 23 | * 1 или более алгоритмов генерации лабиринта (реализован алгоритм Прима и клеточный автомат) |
22 | 24 | * 1 или более алгоритмов решения лабиринта (реализован поиск в глубину и ширину) |
23 | 25 | * красивую печать в консоль (pretty print) лабиринта и маршрута из точки А в Б |
|
30 | 32 | ### 3. [Анализатор логов](src/main/java/edu/project3/LogAnalyzer.java)_<sub>[Тесты](src/test/java/edu/project3)</sub> |
31 | 33 |
|
32 | 34 | На вход программе через аргументы командной строки задаётся: |
33 | | -* путь к одному или нескольким NGINX лог-файлам в виде локального шаблона или URL |
34 | | -* опциональные временные параметры from и to в формате ISO8601 |
35 | | -* необязательный аргумент формата вывода результата: markdown или adoc |
| 35 | + |
| 36 | +* путь к одному или нескольким NGINX лог-файлам в виде локального шаблона или URL |
| 37 | +* опциональные временные параметры from и to в формате ISO8601 |
| 38 | +* необязательный аргумент формата вывода результата:markdown или adoc |
36 | 39 |
|
37 | 40 | Программа должна выполнять следующие задачи: |
| 41 | + |
38 | 42 | * Подсчитывать общее количество запросов |
39 | 43 | * Определять наиболее часто запрашиваемые ресурсы |
40 | 44 | * Определять наиболее часто встречающиеся коды ответа |
|
50 | 54 | ### 4. [Фрактальное пламя](src/main/java/edu/project4/Run.java)_<sub>[Тесты](src/test/java/edu/project4)</sub> |
51 | 55 |
|
52 | 56 | Задача реализовать алгоритм и сделать его многопоточным. |
53 | | -Функция отрисовки должна принимать все конфигурируемые параметры как аргументы, например, размер изображения или коэффициенты трансформаций. |
| 57 | +Функция отрисовки должна принимать все конфигурируемые параметры как аргументы, например, размер изображения или |
| 58 | +коэффициенты трансформаций. |
54 | 59 |
|
55 | 60 | #### Примеры работы |
56 | 61 |
|
|
65 | 70 |
|
66 | 71 | ### 5. [Быстрая рефлексия](src/main/java/edu/project5/ReflectionBenchmark.java) |
67 | 72 |
|
68 | | -В этом задании потребуется реализовать и сравнить производительность 4 способов обращения к методу Student#name() (или любого другого класса/интерфейса): |
| 73 | +В этом задании потребуется реализовать и сравнить производительность 4 способов обращения к методу Student#name()(или |
| 74 | +любого другого класса/интерфейса): |
| 75 | + |
69 | 76 | * Прямой доступ |
70 | 77 | * java.lang.reflect.Method |
71 | 78 | * java.lang.invoke.MethodHandles |
72 | 79 | * java.lang.invoke.LambdaMetafactory |
73 | | - |
74 | | -Задание состоит в том, чтобы написать набор JMH-тестов для каждого сценария и сравнить, насколько медленнее работает каждый из способов по сравнению с прямым доступом. |
| 80 | + |
| 81 | +Задание состоит в том, чтобы написать набор JMH-тестов для каждого сценария и сравнить, насколько медленнее работает |
| 82 | +каждый из способов по сравнению с прямым доступом. |
75 | 83 |
|
76 | 84 | #### Результат |
77 | 85 |
|
|
0 commit comments