Skip to content

This repository collects the learning outcomes from the T-Bank Backend Academy course πŸŽ“

Notifications You must be signed in to change notification settings

m-fedosov/backend-academy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 

Repository files navigation

АкадСмия БэкСнда

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽ тСбя, странник!

Π’ этом Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ собраны Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ обучСния Π½Π° курсС Π’-Π±Π°Π½ΠΊ "АкадСмия БэкСнда"

НС оставляй этот Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π±Π΅Π· Π·Π²Ρ‘Π·Π΄ΠΎΡ‡ΠΊΠΈ, Ссли ΠΎΠ½ Π±Ρ‹Π» Ρ‚Π΅Π±Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ 🌟

АкадСмия БэкСнда 2024 (осСнь, 1 сСмСстр)

ΠœΠΎΠ΄ΡƒΠ»ΡŒ 5. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅

ΠžΠ±Π·ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, инструмСнтария ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сцСнариях ΠΈ окруТСниях

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… модуля:

Reflection Benchmark Gist Card

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

  • CравнСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² Java с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JMH (Java Microbenchmarking Harness).
  • Java 22 β˜•οΈ
  • Lombok 🌢️
  • Maven

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹:

Benchmark Score Units
ReflectionBenchmark.directAccess 0.633 ns/op
ReflectionBenchmark.lambdaMetafactoryAccess 0.811 ns/op
ReflectionBenchmark.methodHandlesAccess 3.221 ns/op
ReflectionBenchmark.reflectionAccess 5.888 ns/op

ΠœΠΎΠ΄ΡƒΠ»ΡŒ 4. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΡΡ‚ΡŒ

Π Π°Π·Π±ΠΎΡ€ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ асинхронного ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ПО, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… модуля:

Fractal Flame Gist Card

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

  • ΠžΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
  • Π Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с осью симмСтрии
  • Π’ΠΈΠΏΡ‹ прСобразования ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ: (дисковоС, сСрдцСвинноС, Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅, полярноС, ΡΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½ΠΎΠ΅, сфСричСскоС)
  • Нормализация изобраТСния
  • Java 22 β˜•οΈ
  • JCommander
  • Lombok 🌢️
  • JUnit 5
  • Maven

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹:

ΠžΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³
ГСнСрация изобраТСния 1920 Π½Π° 1080: 30894.8 ms 7091.2 ms


ΠœΠΎΠ΄ΡƒΠ»ΡŒ 3. ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ ΠΈ тСстированиС ПО

ΠŸΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ обСспСчСния качСства ПО, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΡŽΠ½ΠΈΡ‚-тСстированиС, ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС ΠΈ систСмы Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… модуля:

Log Analyzer Gist Card

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

  • ΠŸΠ°Ρ€ΡΠΈΠ½Π³ NGINX Π»ΠΎΠ³ΠΎΠ²
  • Π²Ρ‹Π²ΠΎΠ΄: 95 ΠΏΠ΅Ρ€Ρ†Π΅Π½Ρ‚ΠΈΠ»ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΡ‚Π²Π΅Ρ‚Π°, Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… рСсурсов, Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠ΄Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΈ Π΄Ρ€.
  • StreamAPI - для ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π»ΠΎΠ³ΠΎΠ²
  • Java 22 β˜•οΈ
  • JCommander
  • Lombok 🌢️
  • JUnit 5
  • Maven

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹:


ΠœΠΎΠ΄ΡƒΠ»ΡŒ 2. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ проСктирования

ΠžΠ±Π·ΠΎΡ€ основных ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² проСктирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ популярных шаблонов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… модуля:

Amazed Gist Card

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

  • Алгоритмы Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚ΠΎΠ² - Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠŸΡ€ΠΈΠΌΠ° ΠΈ ΠšΡ€Π°ΡΠΊΠ°Π»Π°.
  • Алгоритмы поиска ΠΏΡƒΡ‚ΠΈ - поиск Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ (BFS) ΠΈ А* (A-star).
  • Java 22 β˜•οΈ
  • Lombok 🌢️
  • JUnit 5
  • Maven

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹:


ΠœΠΎΠ΄ΡƒΠ»ΡŒ 1. ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ программирования

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… стилСй ΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ программирования, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ΅, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… модуля:

Hangman Game Gist Card

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

  • РСализация Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ состояниС
  • Java 22 β˜•οΈ
  • Lombok 🌢️
  • JUnit 5
  • Maven

About

This repository collects the learning outcomes from the T-Bank Backend Academy course πŸŽ“

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published