Skip to content

Space27/JavaBackendAutumn

Repository files navigation

Build Status

Домашние задания курса https://fintech.tinkoff.ru/academy/java (нынешний аналог)

Студент: Локосов Даниил Дмитриевич

Проекты

Требуется написать консольную версию игры Виселица.
Слово загадывается случайным образом из заранее заданного словаря.

Стек

  • Java Core

Требуется реализовать:

  • 1 или более алгоритмов генерации лабиринта (реализован алгоритм Прима и клеточный автомат)
  • 1 или более алгоритмов решения лабиринта (реализован поиск в глубину и ширину)
  • красивую печать в консоль (pretty print) лабиринта и маршрута из точки А в Б

Стек

  • JCF
  • Stream API

На вход программе через аргументы командной строки задаётся:

  • путь к одному или нескольким NGINX лог-файлам в виде локального шаблона или URL
  • опциональные временные параметры from и to в формате ISO8601
  • необязательный аргумент формата вывода результата:markdown или adoc

Программа должна выполнять следующие задачи:

  • Подсчитывать общее количество запросов
  • Определять наиболее часто запрашиваемые ресурсы
  • Определять наиболее часто встречающиеся коды ответа
  • Рассчитывать средний размер ответа сервера

Стек

  • Picocli
  • HttpClient
  • RegEx
  • JCF

Задача реализовать алгоритм и сделать его многопоточным.
Функция отрисовки должна принимать все конфигурируемые параметры как аргументы, например, размер изображения или коэффициенты трансформаций.

Примеры работы

1st example 2nd example 3rd example

Стек

  • Concurrency
  • ImageIO

В этом задании потребуется реализовать и сравнить производительность 4 способов обращения к методу Student#name()(или любого другого класса/интерфейса):

  • Прямой доступ
  • java.lang.reflect.Method
  • java.lang.invoke.MethodHandles
  • java.lang.invoke.LambdaMetafactory

Задание состоит в том, чтобы написать набор JMH-тестов для каждого сценария и сравнить, насколько медленнее работает каждый из способов по сравнению с прямым доступом.

Результат

Вид доступа Счёт Единицы измерения Во сколько раз хуже
Прямой 0,517 ns/op 1
LambdaMetafactory 0,772 ns/op 1,493230174
MethodHandles 3,42 ns/op 6,615087041
Method 6,175 ns/op 11,94390716

Стек

  • JMH
  • Reflection API

About

Проекты на Java Core

Topics

Resources

Stars

Watchers

Forks

Languages