E-Dobavki β€” Π²Π΅Π±-сСрвис поиска ΠΏΠΈΡ‰Π΅Π²Ρ‹Ρ… Π΄ΠΎΠ±Π°Π²ΠΎΠΊ Π½Π° Java ΠΈ Spring Boot, написанный ΠΌΠΎΠΈΠΌΠΈ студСнтами

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π’Π°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ послСдниС ΠΏΠΎΡ‡Ρ‚ΠΈ Π΄Π²Π° Π³ΠΎΠ΄Π° я ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°ΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· IT школ КиСва. Занялся я этим Just For Fun. Когда-Ρ‚ΠΎ я Π²Π΅Π» Π±Π»ΠΎΠ³ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, ΠΏΠΎΡ‚ΠΎΠΌ забросил. Но ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ заинтСрСсованным людям Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ дСлось.

Мой основной язык β€” Java. Π― писал Π½Π° Π½Π΅ΠΉ ΠΈΠ³Ρ€Ρ‹ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ…, софт для радиосвязи, ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Π΅Π±-сСрвисы. И ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°ΡŽ я ΠΈΠΌΠ΅Π½Π½ΠΎ Java.

Π—Π΄Π΅ΡΡŒ я Ρ…ΠΎΡ‡Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ обучСния послСднСй своСй Π³Ρ€ΡƒΠΏΠΏΡ‹. Как ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΡˆΠ»ΠΈ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ Π½Π°Ρ‡Π°Π» обучСния Π΄ΠΎ написания Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ Π²Π΅Π±-сСрвиса. ПолСзного Π²Π΅Π±-сСрвиса ΠΏΠΎ поиску ΠΏΠΈΡ‰Π΅Π²Ρ‹Ρ… Π΄ΠΎΠ±Π°Π²ΠΎΠΊ. БСсплатного, Π±Π΅Π· Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹, рСгистрации ΠΈ БМБ.

Π‘Π°ΠΌ сСрвис Π²ΠΎΡ‚ β€” E-Dobavki.com.

E-Dobavki — Π²Π΅Π±-сСрвис поиска ΠΏΠΈΡ‰Π΅Π²Ρ‹Ρ… Π΄ΠΎΠ±Π°Π²ΠΎΠΊ Π½Π° Java ΠΈ Spring Boot, написанный ΠΌΠΎΠΈΠΌΠΈ студСнтами

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ являСтся ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΌ, Π½Π΅ содСрТит ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹. Как я понял ΠΈΠ· этой ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°Π²Π°Ρ‚ΡŒ ссылки Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹.

ΠŸΠ΅Ρ€Π΅Π΄ описаниСм самого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ расскаТупро процСсс обучСния Π³Ρ€ΡƒΠΏΠΏΡ‹, Π±Π΅Π· этого ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠΉ.

9 мСсяцСв обучСния

Π’ школС, Π³Π΄Π΅ я ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°ΡŽ, курс Java Ρ€Π°Π·Π±ΠΈΡ‚ Π½Π° 2 части. Π‘ΡƒΠΌΠΌΠ°Ρ€Π½ΠΎ курс Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 9 мСсяцСв, со всСми ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²Π°ΠΌΠΈ (Π½ΠΎΠ²ΠΎΠ³ΠΎΠ΄Π½ΠΈΠ΅ ΠΊΠ°Π½ΠΈΠΊΡƒΠ»Ρ‹, врСмя Π½Π° написаниС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²).

ΠŸΠ΅Ρ€Π²Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ студСнтов с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ понятиями ЯП. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, основы ООП ΠΈ всС эти ΡˆΡ‚ΡƒΠΊΠΈ.

Вторая ΠΆΠ΅ Ρ‡Π°ΡΡ‚ΡŒ курса прСдусматриваСт, Ρ‡Ρ‚ΠΎ студСнт ΡƒΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Java, ΠΈ Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ «Π²Π·Ρ€ΠΎΡΠ»Ρ‹ΠΉ» стСк Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. НачинаСтся всС с SQL, дальшС JDBC, Hibernate. ΠŸΠΎΡ‚ΠΎΠΌ HTTP, сСрвлСты. Π”Π°Π»ΡŒΡˆΠ΅ Spring, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎ git ΠΈ maven. И студСнты ΠΏΠΈΡˆΡƒΡ‚ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹.

ВсС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π±ΠΈΡ‚ΠΎ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. Занятия я ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ» Π΄Π²Π° Ρ€Π°Π·Π° Π² нСдСлю. Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ занятия β€” Π΄Π²Π° часа.

Мой ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ

Π― выпустил 5 Π³Ρ€ΡƒΠΏΠΏ. Π’Ρ€ΠΎΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ для Π΄Π²ΡƒΡ… Π»Π΅Ρ‚, Π½ΠΎ я ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда Π²Π΅Π» 2 Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ.

Π― ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” это ΠΎΠ΄Π½Π° ΠΏΠ°Ρ€Π° выдСляСтся Π½Π° ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡŽ с Ρ‚Π΅ΠΎΡ€ΠΈΠ΅ΠΉ. Вторая ΠΆΠ΅ ΠΏΠ°Ρ€Π° β€” чистая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π», Π½ΠΎ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π±Ρ‹Π»Π° Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎ ΠΌΠ½Π΅.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ я ΠΏΡ€ΠΈΡˆΠ΅Π» ΠΈ ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ сСйчас β€” это Π½Π΅ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ Ρ†Π΅Π»ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ Π½Π° Ρ‚Π΅ΠΎΡ€ΠΈΡŽ. ВмСсто этого я ΠΌΠΈΠΊΡΡƒΡŽ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΈ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΏΠΎ 5-10 ΠΌΠΈΠ½ΡƒΡ‚, ΠΈ сразу Π·Π°ΠΊΡ€Π΅ΠΏΠ»ΡΡŽ ΠΈΡ… практичСскими ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅.

Если Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, я Π²Ρ‹Π·Ρ‹Π²Π°ΡŽ студСнтов Π½Π° ΠΌΠΎΠ΅ мСсто, ΡƒΡΠ°ΠΆΠΈΠ²Π°ΡŽ Π·Π° ΠΌΠΎΠΉ Π½ΠΎΡƒΡ‚, ΠΈ ΠΎΠ½ΠΈ сами Π΄Π΅Π»Π°ΡŽΡ‚ практичСскиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹. Π­Ρ‚ΠΎ ΠΊΡ€ΡƒΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ ΠΊ соТалСнию Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π”ΠΎ ΠΊΠΎΠ½Ρ†Π° доходят Π½Π΅ всС

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ для мСня стал Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π½Π΅ вся Π³Ρ€ΡƒΠΏΠΏΠ° Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° курса.

По ΠΌΠΎΠΈΠΌ наблюдСниям, лишь ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° студСнтов ΠΏΠΈΡˆΠ΅Ρ‚ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ отсСиваСтся Π΅Ρ‰Π΅ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ части курса. А Ρ‚Π΅, ΠΊΡ‚ΠΎ дошСл Π΄ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ части, ΡƒΠΆΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ ΠΎΡ‚Π²Π°Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ.

Уходят ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ β€” это ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. Π§Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, Π° Java β€” это Π½Π΅ самый простой язык. Для написания Π΄Π°ΠΆΠ΅ самой простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ класса, ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. А Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ public static void main(String[] arg) Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π΅Ρ‰Π΅ нСсколько ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ.

Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅ это с Π’ΡƒΡ€Π±ΠΎ ПаскалСм, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅, Π² Ρ‚ΠΎΠΌ числС ΠΈ я:

begin
    writeln("ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°");
end.

Π Π΅ΡˆΠ°Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, насколько я знаю, школа Π±ΡƒΠ΄Π΅Ρ‚ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ тСстирования. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π° Java ΠΏΠΎΠΉΡ‚ΠΈ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ смогут Π½Π΅ всС. Пока это Π½Π° стадии ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚Π°, Π½ΠΎ шаг явно ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ.

А вторая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° β€” это ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅:

E-Dobavki — Π²Π΅Π±-сСрвис поиска ΠΏΠΈΡ‰Π΅Π²Ρ‹Ρ… Π΄ΠΎΠ±Π°Π²ΠΎΠΊ Π½Π° Java ΠΈ Spring Boot, написанный ΠΌΠΎΠΈΠΌΠΈ студСнтами

Π›ΡŽΠ΄ΠΈ часто Π΄ΡƒΠΌΠ°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ тСкста, ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Π·Π° это ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π΅Π½Π΅Π³. Как ΠΊΠΎΠΏΠΈΡ€Π°ΠΉΡ‚Π΅Ρ€, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π΅Π½Π΅Π³ большС.

Π Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ другая. Много Ρ€ΡƒΡ‚ΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Π΅ Π±Π°Π³ΠΈ, постоянный процСсс обучСния. Π­Ρ‚ΠΎ интСрСсно, Π½ΠΎ Π½Π΅ всСм.

Вакая статистика. Π’Π½Π°Ρ‡Π°Π»Π΅ мСня это расстраивало, я Π΄ΡƒΠΌΠ°Π», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ я Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ дСлаю. БСйчас я понимаю, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ такая ΠΆΠ΅ статистика Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ курсов. БСйчас я Π½Π΅ ΠΏΠ°Ρ€ΡŽΡΡŒ Π½Π°Π΄ этим, Π° ΠΎΠ±ΡƒΡ‡Π°ΡŽ Ρ‚Π΅Ρ… людСй, ΠΊΠΎΠΌΡƒ это интСрСсно.

ИдСя сСрвиса

Когда студСнты ΠΏΡ€ΠΎΡˆΠ»ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΉ курс, ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя написания Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π‘Ρ‹Π»ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π»ΠΈ ToDo листы, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ управлСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π΅Ρ‰Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ.

Π― ΠΆΠ΅ Ρ…ΠΎΡ‚Π΅Π» ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ простоС, Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅. Мой ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ Π±Ρ‹Π» простой β€” смогу Π»ΠΈ я ΠΈ ΠΌΠΎΠΈ Π΄Ρ€ΡƒΠ·ΡŒΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этим. Под эти трСбования подошСл Π²Π΅Π±-сСрвис поиска ΠΏΠΈΡ‰Π΅Π²Ρ‹Ρ… Π΄ΠΎΠ±Π°Π²ΠΎΠΊ.

ИдСя проста. ΠŸΠΎΠΊΡƒΠΏΠ°Ρ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅, Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² составС ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ E-ΡˆΠ½ΡƒΡŽ Π΄ΠΎΠ±Π°Π²ΠΊΡƒ. По ΠΊΠΎΠ΄Ρƒ нСпонятно, насколько это опасно ΠΈΠ»ΠΈ Π½Π΅Ρ‚ (Π° Π΅ΡΡ‚ΡŒ ΠΈ опасныС Π΄ΠΎΠ±Π°Π²ΠΊΠΈ, Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π½Ρ‹Π΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… странах).

Π’Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ сайт, Π²Π±ΠΈΠ²Π°Π΅Ρ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ (Π½ΠΎΠΌΠ΅Ρ€, ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Π½Π°Π·Π²Π°Π½ΠΈΠΉ), ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ сводку ΠΏΠΎ Π΄ΠΎΠ±Π°Π²ΠΊΠ΅:

E-Dobavki — Π²Π΅Π±-сСрвис поиска ΠΏΠΈΡ‰Π΅Π²Ρ‹Ρ… Π΄ΠΎΠ±Π°Π²ΠΎΠΊ Π½Π° Java ΠΈ Spring Boot, написанный ΠΌΠΎΠΈΠΌΠΈ студСнтами

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π΅ΡΡ‚ΡŒ. МоТно Ρ‚Π°ΠΊΠΆΠ΅ просто Π²Π±ΠΈΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΊΡƒ Π² Π“ΡƒΠ³Π», хотя ΠΎΠ½ Π½Π΅ всСгда ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

Но ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ, трудности Π²Ρ‹ΡˆΠ΅ Π½Π΅ остановили нас πŸ™‚

РСализация

ВсС писали Π½Π° Java, исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Π“ΠΈΡ‚Ρ…Π°Π±Π΅.

Нас Π±Ρ‹Π»ΠΎ 7 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ мСня. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄Π΅Π»Π°Π» ΠΏΡƒΠ»Π» рСквСст, ΠΈ я, Π»ΠΈΠ±ΠΎ ΠΆΠ΅ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π» этот ΠΏΡƒΠ»Π» рСквСст.

РСализация ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° заняла ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ мСсяц β€” ΠΎΡ‚ ΠΎΠ·Π²ΡƒΡ‡ΠΊΠΈ ΠΈΠ΄Π΅ΠΈ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ состояния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ сСйчас.

ΠŸΠ°Ρ€ΡΠΈΠ½Π³ Π΄ΠΎΠ±Π°Π²ΠΎΠΊ

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ сдСлал ΠΎΠ΄ΠΈΠ½ ΠΈΠ· студСнтов, Π½Π΅ считая Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ создания обвязки Π²ΠΎΠΊΡ€ΡƒΠ³ Π‘Π” (сущности, Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ Ρ‚.Π΄.) β€” это парсинг Π΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ сайта.

Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ для тСстирования ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ². НС Π½ΡƒΠΆΠ΅Π½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ для наполнСния Π‘Π”. Быстро спарсив нСсколько Π΄ΠΎΠ±Π°Π²ΠΎΠΊ, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ дальшС Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ UI, сортировку, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ.

Spring Boot позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ нСсколько ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΉ. ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ β€” это Ρ„Π°ΠΉΠ» с настройками.

Для dev-окруТСния ΠΌΡ‹ использовали ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ с локальной Π‘Π£Π‘Π” H2 ΠΈ HTTP ΠΏΠΎΡ€Ρ‚ΠΎΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (8080). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС прилоТСния Π‘Π” ΠΎΡ‡ΠΈΡ‰Π°Π»Π°ΡΡŒ. ΠŸΠ°Ρ€ΡΠ΅Ρ€ Π² этом случаС Π±Ρ‹Π» Ρ‚ΠΎΠΉ Π²Π΅Ρ‰ΡŒΡŽ, которая спасала нас.

Поиск ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ

Π’Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ β€” это поиск ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ. Π§Π΅Π»ΠΎΠ²Π΅ΠΊ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ быстро Ρ‚Ρ‹ΠΊΠ½ΡƒΡ‚ΡŒ ΠΊΠΎΠ΄ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΠΉ, ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Π”ΠΎΠ±Π°Π²ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько ΠΏΠΎΠ»Π΅ΠΉ. Π­Ρ‚ΠΎ ΠΊΠΎΠ΄ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ, Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ названия, описаниС. Поиск ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎ Like ΠΏΠΎ всС полям ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. И Ссли Π²Ρ‹ Π²Π²Π΅Π΄Π΅Ρ‚Π΅ [123] Π»ΠΈΠ±ΠΎ [Π°ΠΌΠ°Ρ€Π°Π½Ρ‚], Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π”Π΅Π»Π°Π»ΠΈ всС это Π½Π° основС спСцификаций (Specification). Π­Ρ‚ΠΎ Ρ‡Π°ΡΡ‚ΡŒ Spring, которая позволяСт ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ условия поиска (like ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ полю, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€), Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эти условия (OR ΠΈΠ»ΠΈ AND).

Написав дСсяток спСцификаций, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ слоТныС запросы Π²ΠΈΠ΄Π° «Π²ΡΠ΅ опасныС Π΄ΠΎΠ±Π°Π²ΠΊΠΈ-краситСли, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² описании Π΅ΡΡ‚ΡŒ слово [красный]».

Π’ ΠΏΠ»Π°Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π‘Π” Spring ΠΌΠ½Π΅ каТСтся ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ. ОсобСнно это проявляСтся Π² случаС Ρ€Π°Π±ΠΎΡ‚Ρ‹ со слоТными запросами. Π― понимаю, Ρ‡Ρ‚ΠΎ это Π΄Π°Π΅Ρ‚ свой ΠΎΠ²Π΅Ρ€Ρ…Π΅Π΄, ΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ написанный ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ SQL запрос Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ быстрСС.

Но Ρ‚Π°ΠΊΠΆΠ΅ я ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния, Ρ‡Ρ‚ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ всС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΠ΅Ρ€Π²Π°Ρ вСрсия Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… частСй. А Ссли ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° β€” Π²ΠΎΡ‚ эти ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ части ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ.

Security

ВсС просто. Π•ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ с Ρ€ΠΎΠ»ΡŒΡŽ ADMIN β€” ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ, ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅.

И Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ (зарСгистрированныС Π»ΠΈΠ±ΠΎ Π½Π΅Ρ‚). Они ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ список Π΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΈ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅.

Для раздСлСния ΠΏΡ€Π°Π² использован Spring Security. Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ хранятся Π² Π‘Π”.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. БСйчас это Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π°Π΅Ρ‚. Если студСнты ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ сСрвис, ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ пСрсонализированныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎ рСгистрация пригодится.

ΠΠ΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ Bootstrap

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ β€” это Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ. Π’ случаС с нашим сСрвисом (ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ‹ это Π²ΠΈΠ΄Π΅Π»ΠΈ) Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ с ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°ΠΌΠΈ. И с ΠΌΠΎΠ±ΠΈΠ»ΠΊΠΈ Π½ΡƒΠΆΠ½ΠΎ быстро ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΊΡƒ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΌΡƒΡ‡Π°Ρ‚ΡŒΡΡ с CSS, взяли Bootstrap. Π”Π΅ΡˆΠ΅Π²ΠΎ, сСрдито, ΠΈ выглядит ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ.

НС ΠΌΠΎΠ³Ρƒ Π½Π°Π·Π²Π°Ρ‚ΡŒ интСрфСйс ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ. Главная страница Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π½Π΅Π΅, Π° страница Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ описания Π΄ΠΎΠ±Π°Π²ΠΊΠΈ узкая, Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΠΊΠ°Ρ… Π½ΡƒΠΆΠ½ΠΎ ΡˆΠΈΡ€Π΅ Π΅Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

ΠœΠΎΠ³Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ я старался ΠΏΠΎ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ Π²ΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π­Ρ‚ΠΎ всС ΠΆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ студСнтов. Ну ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ рСбята смогут ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΌ Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹.

ΠœΠΈΠ½ΡƒΡ‚ΠΊΠ° SEO ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ я ΡƒΠΆΠ΅ большС Π΄Π²ΡƒΡ… Π»Π΅Ρ‚ ΠΏΠ»ΠΎΡ‚Π½ΠΎ занимаюсь сайтами ΠΈ всСм, Ρ‡Ρ‚ΠΎ связано с SEO, я Π½Π΅ ΠΌΠΎΠ³ Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±Π΅Π· хотя Π±Ρ‹ Π±Π°Π·ΠΎΠ²ΠΎΠΉ SEO ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

По Ρ„Π°ΠΊΡ‚Ρƒ, я сдСлал ΡˆΠ°Π±Π»ΠΎΠ½Π½ΡƒΡŽ Π³Π΅Ρ€Π΅Π½Π°Ρ†ΠΈΡŽ Title ΠΈ Description для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ. URL ΠΏΠΎΡ‡Ρ‚ΠΈ ЧПУ, хотя ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ ΠΊΠΎΡ€ΠΎΡ‡Π΅.

Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» Ρ‚Π°ΠΊΠΆΠ΅ счСтчики посСщаСмости. Π”ΠΎΠ±Π°Π²ΠΈΠ» сайт Π² ЯндСкс ВСбмастСр ΠΈ Google Search Console, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ прСдупрСТдСния ΠΎΡ‚ поисковых систСм.

Π­Ρ‚ΠΎ ΠΌΠ°Π»ΠΎ. НуТно Π΅Ρ‰Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ robots.txt ΠΈ sitemap.xml для ΠΏΠΎΠ»Π½ΠΎΠΉ индСксации. Но ΠΎΠΏΡΡ‚ΡŒ-Ρ‚Π°ΠΊΠΈ, это ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ студСнтов. Π― ΠΈΠΌ скаТу, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΈ Ссли захотят β€” ΡΠ΄Π΅Π»Π°ΡŽΡ‚.

НуТно ΠΏΡ€ΠΈΡ†Π΅ΠΏΠΈΡ‚ΡŒ SSL сСртификат. ΠŸΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ ΠΈ бСсплатный Let’s Encrypt. Π― Π΄Π΅Π»Π°Π» это для Spring Boot. ДСлаСтся нСслоТно, Π° Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ ПБ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ΡΡ.

Π§Ρ‚ΠΎ дальшС с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ

Π”Π°Π»ΡŒΡˆΠ΅ ΠΏΠΎ Ρ„Π°ΠΊΡ‚Ρƒ Π²Ρ‹Π±ΠΎΡ€ Π·Π° рСбятами. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ идСя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅Ρ‰Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π»Π° Π² сСбя Π‘Π” ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² с привязками ΠΊ Π΄ΠΎΠ±Π°Π²ΠΊΠ°ΠΌ.

Π’Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ «ΡΠ½ΠΈΠΊΠ΅Ρ€Ρ» ΠΈ Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ Π² Π½Π΅ΠΌ Π΅ΡΡ‚ΡŒ ΠΏΠΈΡ‰Π΅Π²Ρ‹Π΅ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ.

Π•Ρ‰Π΅ Π½Π° стартС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° я Π·Π½Π°Π», Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Ρƒ нас Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ πŸ™‚ ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°Ρ‡Π°Π»ΠΈ ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π΄ΠΎΠ±Π°Π²ΠΎΠΊ.

БСйчас ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ Π΄ΠΎΠΏ. плюшки. Если это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±ΡˆΠΈΡ€Π½Π°Ρ Π‘Π”, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ найдутся.

Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ развСртывался Π½Π° VPS, Aruba Cloud. Π­Ρ‚ΠΎ самый Π΄Π΅ΡˆΠ΅Π²Ρ‹ΠΉ VPS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ смогли Π½Π°ΠΉΡ‚ΠΈ. Π― ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ этим ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠΌ ΡƒΠΆΠ΅ большС Π³ΠΎΠ΄Π° для своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΈ ΠΎΠ½ приятно мСня Ρ€Π°Π΄ΡƒΠ΅Ρ‚.

Π₯арактСристики VPS: 1 GB RAM, 1 CPU (Π·Π° частоту Π½Π΅ знаю), 20 GB SSD. Для нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° этого Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ с Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ собираСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ mvn clean package. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ fat jar β€” исполняСмый Ρ„Π°ΠΉΠ» со всСми зависимостями.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС это, я написал ΠΏΠ°Ρ€Ρƒ баш скриптов.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ скрипт удаляСт старый jar Ρ„Π°ΠΉΠ», ΠΈ собираСт Π½ΠΎΠ²Ρ‹ΠΉ.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ скрипт запускаСт собранный jar, пСрСдавая Π΅ΠΌΡƒ имя Π½ΡƒΠΆΠ½ΠΎ профиля. Π’ этом ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ содСрТатся свСдСния ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π‘Π”.

Π‘Π” β€” MySQL Π½Π° этом ΠΆΠ΅ VPS.

Π˜Ρ‚ΠΎΠ³ΠΎ пСрСзапуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя:

  • Π·Π°ΠΉΡ‚ΠΈ Π½Π° VPS ΠΏΠΎ SSH
  • ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ послСдниС ΠΏΡ€Π°Π²ΠΊΠΈ git
  • Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ local-jar.sh
  • ΡƒΠ±ΠΈΡ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
  • Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ launch-production.sh

Π—Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ эта ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Ρ‚Ρ€ΠΈ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹. МнС это каТСтся Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для Ρ‚Π°ΠΊΠΎΠ³ΠΎ нСбольшого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

БлоТности

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ слоТности ΠΏΡ€ΠΈ создании ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π»ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π°.

Π•ΡΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΠ° людСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ ΠΈ ΡƒΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π½ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ. Π§Ρ‚ΠΎ-Ρ‚ΠΎ Π·Π½Π°ΡŽΡ‚, Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΠΊΠΎΠΌ Π΅Ρ‰Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚. И Π²ΠΎΡ‚ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ сдСлали ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π·Π° мСсяц.

Π― Π²Ρ‹Π΄Π΅Π»ΠΈΠ» условного Ρ‚ΠΈΠΌΠ»ΠΈΠ΄Π° Π² этой Π³Ρ€ΡƒΠΏΠΏΠ΅. Он Π²Π΅Π» Π³ΡƒΠ³Π» Π΄ΠΎΠΊ со списком Π·Π°Π΄Π°Ρ‡, Ρ€Π°Π·Π΄Π°Π²Π°Π» Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π» ΠΈΡ… принятиС. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π» ΠΏΡƒΠ»Π» рСквСсты.

Π’Π°ΠΊΠΆΠ΅ я попросил студСнтов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π΅Ρ‡Π΅Ρ€ ΠΎΠ½ΠΈ писали ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΏΠΎ сдСланной Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ. НС сдСлали Π½ΠΈΡ‡Π΅Π³ΠΎ β€” ΠΎΠΊ, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΈΡˆΠΈΡ‚Π΅ «Π½Π΅ сдСлал Π½ΠΈΡ‡Π΅Π³ΠΎ». Π­Ρ‚ΠΎ отличная ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, которая заставляСт Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°ΠΏΡ€ΡΡ‡ΡŒΡΡ. НС всС этому ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ слСдовали, ΠΊ соТалСнию.

ЦСль всСй этой Π΄Π²ΠΈΠΆΡƒΡ…ΠΈ Π±Ρ‹Π»Π° простая. Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΏΡƒΡΡ‚ΡŒ ΠΈ Π½Π° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ врСмя, Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ вмСстС.

Π― Ρ…ΠΎΡ‚Π΅Π», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρƒ рСбят Π±Ρ‹Π»ΠΎ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΠ΅ ваТности ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠŸΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΈΡˆΡƒΡ‚ сфСричСский ΠΊΠΎΠ΄ Π² Π²Π°ΠΊΡƒΠΌΠ΅. А Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ вмСстС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎΡ‚ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ люди.

ΠŸΠ΅Ρ€Π²ΡƒΡŽ нСдСлю-Π΄Π²Π΅ Π±Ρ‹Π»Π° раскачка. Вяло дСлались сущности, нСбольшиС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹. ΠŸΠΎΠ½Π΅ΠΌΠ½ΠΎΠ³Ρƒ я всС ΠΆΠ΅ ΠΈΡ… Ρ€Π°ΡΡˆΠ΅Π²Π΅Π»ΠΈΠ», ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° пошла вСсСлСС. ΠžΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π² Ρ‡Π°Ρ‚Π΅ стало ΠΆΠΈΠ²Π΅ΠΉ, студСнты ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π»ΠΈ свои дополнСния.

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Ρ†Π΅Π»ΡŒ достигнута. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ сдСлан, нСбольшой ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ рСбята ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ. Π•ΡΡ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ ΠΎΡ‰ΡƒΡ‚ΠΈΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ·ΡŒΡΠΌ, ΠΌΠΎΠΆΠ½ΠΎ дальшС Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ β€” это интСрСсно.

ПослС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹ я ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ» ΡΠΌΠΎΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Π²Π·Π±ΡƒΠ΄ΠΎΡ€Π°ΠΆΠ΅Π½Π½Ρ‹ΠΌ. Π― ΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ, ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ максимум Π·Π½Π°Π½ΠΈΠΉ.

ΠŸΡ€ΠΈΡΡ‚Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π³Ρ€ΡƒΠΏΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я ΠΎΠ±ΡƒΡ‡Π°ΡŽ, Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ Ρ„ΠΈΠ½Π°Π»Π°. ОсобСнно ΠΊΡ€ΡƒΡ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° рСбята ΠΏΠΈΡˆΡƒΡ‚ «Ρ устроился Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ, всС Π½ΠΎΡ€ΠΌ, спасибо». ΠŸΡƒΡΡ‚ΡŒ это Π΄ΠΆΡƒΠ½ΠΈΠΎΡ€, ΠΏΡƒΡΡ‚ΡŒ Π½Π΅ самыС большиС дСньги сначала. Но самоС Π³Π»Π°Π²Π½ΠΎΠ΅ β€” ΠΎΠ½ΠΈ сдСлали шаг навстрСчу своим ТСланиям, ΠΈ Ρƒ Π½ΠΈΡ… это ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.

Π‘Ρ‚Π°Ρ‚ΡŒΡ Ρ…ΠΎΡ‚ΡŒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ довольно объСмной, Π½ΠΎ всС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях ваши вопросы.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com