Π Π°Π·Π½ΠΎΠ΅

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² java: java — ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ

13.05.2023

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Java

Начиная Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, я задумался ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ, вСроятнСС всСго, я ΠΌΠΎΠ³Ρƒ ΡƒΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Π°ΠΆΠ½Ρ‹Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Java ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ я просто Π½ΠΈΠΊΠΎΠ³Π΄Π° с Π½ΠΈΠΌΠΈ Π½Π΅ сталкивался. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΠΎΠΈ Π·Π½Π°ΠΊΠΎΠΌΡ‹Π΅ ΠΈΠ»ΠΈ Π·Π½Π°ΠΊΠΎΠΌΡ‹Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ смоТСт спасти мСня ΠΎΡ‚ написания своих вСлосипСдов ΠΈ костылСй.

НиТС прСдставлСн ΠΌΠΎΠΉ Π΄ΠΆΠ΅Π½Ρ‚Π΅Π»ΡŒΠΌΠ΅Π½ΡΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ€ Java-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ/Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² (ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ куски ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ² Π±Π°Π·ΠΎΠ²Ρ‹Ρ… тСхничСских объяснСний).

Π§Π΅ΠΌ отличаСтся Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΎΡ‚Β Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ JavaΒ β€” по сути, Π±Π»ΠΎΠΊΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ написанного ΠΊΠΎΠ΄Π°, Π²Β ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ программист ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ свой ΠΊΠΎΠ΄ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π­Ρ‚ΠΎ каркас ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ систСмы (ΠΈΠ»ΠΈ подсистСмы). ΠžΠ½Β ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ:

  • Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;
  • Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠΎΠ΄Π°;
  • язык сцСнариСв;
  • Π΄Ρ€ΡƒΠ³ΠΎΠ΅Β ΠŸΠž, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰Π΅Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ и объСдинСниС Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² большого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ объСдинСниС происходит Π·Π° счёт использования Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ API. Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Java ΡΠΎΠΊΡ€Π°Ρ‰Π°ΡŽΡ‚ ΠΎΠ±ΡŠΡ‘ΠΌ написания ΠΊΠΎΠ΄Π° с нуля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ программистам приходится Π΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ β€” это ΠΊΠΎΠ΄, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅ просто ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π±Π»ΠΈΠ·ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½Π΅ влияя Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈ Π½Π΅ накладывая Π½Π° Π½Π΅Ρ‘ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ. Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΆΠ΅ Π΄ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° построСния Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ прилоТСния, задавая Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ этапС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” каркас, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ согласно ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ трСбованиям.

ВсС эти опрСдСлСния Π½ΡƒΠΆΠ½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΎ Ρ‡Ρ‘ΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ дальшС.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ срСд Java, особСнно Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ большим количСством программистов, ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ. Π­Ρ‚ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой кластСры программистов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈ использовании ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π­Ρ‚ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ сообщСство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π³ΠΎΡ€Π°Π·Π΄ΠΎ быстрСС. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΡƒ ΠΎΠ½Π»Π°ΠΉΠ½-Ρ„ΠΎΡ€ΡƒΠΌΠΎΠ², Π° структура ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π³Ρ€ΡƒΠΏΠΏ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚Π°Π»Π°Ρ….

Π’Π°ΠΊΠΆΠ΅ Ρƒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΎΡ‡Π΅Π½ΡŒ Π½ΠΈΠ·ΠΊΠΈΠ΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° обслуТиваниС. Π’ частности, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Π΅Π½Π΅ΠΆΠ½ΠΎΠΉ экономиСй, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ эти Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π·Π° счёт сокращСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, расходы, связанныС с Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ Java, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

Мой Ρ‚ΠΎΠΏ-10 Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Java

1. Spring Framework

Spring Framework β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Java. Благодаря своСй ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ внСдрСния зависимостСй ΠΈ особСнностям аспСктно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования Spring ΠΏΠΎΠΊΠΎΡ€ΠΈΠ»Π° ΠΌΠΈΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π­Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Enterprise Java. Π‘Ρ€Π΅Π΄Π° Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для создания Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Spring Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ слабосвязанныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависимости ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ, Π° Π½Π΅ зависят ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π² ΠΊΠΎΠ΄Π΅.

Spring Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π•Π³ΠΎ примСняСт ряд тСхнологичСских Π³ΠΈΠ³Π°Π½Ρ‚ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Netflix ΠΈ Amazon. Π“Π»Π°Π²Π½ΠΎΠ΅ прСимущСство Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Π»Ρ‘Π³ΠΊΠΈΠΉ ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π° Π²Π΅Π±-сСрвСра. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния эффСктивности это ΠΎΠ΄Π½Π° ΠΈΠ· самых популярных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Java. Spring Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ прост ΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Π°ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌΠΈ. Он Ρ‚Π°ΠΊΠΆΠ΅ обСспСчиваСт ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ тСстирования.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Spring являСтся ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰ΠΈΠΌ ΠΈΒ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ и настройку ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΒ Π‘Π”, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это самый популярный Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, Π²Ρ‹Β ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ мноТСство Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈΒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ сообщСство.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ

Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ зависимостСй (DI) (инвСрсия управлСния) β€” Π² этом ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ вмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π±Ρ€Π°Ρ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π½Π΅ΡˆΠ½Π΅ΠΌΡƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСт ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ β€” это события. Когда происходит ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ событиС, ΠΏΠΎΡ‚ΠΎΠΊ прилоТСния продолТаСтся. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ΄Π°Ρ‘Ρ‚ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ. Π’ Spring IoC выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ DI, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Ρ€Ρ‘Ρ… Ρ‚ΠΈΠΏΠΎΠ² β€” Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ установщика, Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ конструктора.

Π’ Spring ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ bean-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ. БущСствуСт BeanFactory, которая управляСт ΠΈ настраиваСт эти bean-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ BeanFactory ΠΊΠ°ΠΊ ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаёт экзСмпляры.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ XML (beans.xml) для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ApplicationContext, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся надмноТСством BeanFactory, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π±ΠΎΠ»Π΅Π΅ слоТных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ трСбуСтся распространСниС событий, Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΈ интСграция с аспСктно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ функциями Spring.

2. Hibernate

Hibernate β€” это структура ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-рСляционного сопоставлСния. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ прСимущСством Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Hibernate являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ эффСктивСн, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΉΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Java β€” нСсоотвСтствия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ языками программирования ΠΈ систСмами управлСния рСляционными Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π­Ρ‚ΠΎ достигаСтся ΠΏΡƒΡ‚Ρ‘ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ постоянных классов ΠΈ прСдоставлСния программисту возмоТности эффСктивно Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ измСнСниями ΠΊΠΎΠ΄Π°.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Java являСтся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ². Но Hibernate ΠΎΡ‡Π΅Π½ΡŒ эффСктивно Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ рядом ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ IBM, Oracle ΠΈ Accenture ΠΈΠ·-Π·Π° Π΅Π³ΠΎ прСимущСств Π² пСрСносимости. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ бСсплатно, исходный ΠΊΠΎΠ΄ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚.

Π₯отя Hibernate нС являСтся Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ стСка, ΠΎΠ½Β ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» наш взгляд Π½Π°Β Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Как ΠΈΒ SQL, запросы Π²Β Hibernate Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ HQL (Hibernate Query Language).

Hibernate Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ сопоставляСт классы Java ΡΒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΒ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ в спящСм Ρ€Π΅ΠΆΠΈΠΌΠ΅ являСтся Ρ„Π°ΠΉΠ» hibernate.cfg.xml, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ о сопоставлСнии классов Java с конфигурациСй Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Hibernate Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π΄Π²Π΅ основныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с JDBC β€” JDBC Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΈ Ссли Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, старыС запросы ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ врСмя ΠΈ дСньги.

Hibernate прСдоставляСт ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ слабо связан с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ установлСниС соСдинСния с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ CRUD Π±Π΅Ρ€Ρ‘Ρ‚ Π½Π° сСбя Hibernate. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ это Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ нСзависимым ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Hibernate:

  • ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚;
  • ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· JDBC API;
  • ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ удобство обслуТивания;
  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ API-интСрфСйсы Persistence;
  • обСспСчиваСт связь ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ любой Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

3. Vaadin

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Vaadin ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ UX. Он позволяСт программисту ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ настраиваСмыС Π²Π΅Π±-прилоТСния, прСдоставляя Π΅ΠΌΡƒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Π² использовании ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Vaadin Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт доступ ΠΊ DOM нСпосрСдствСнно с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Java. Π’Π°ΠΆΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° являСтся Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ взаимодСйствиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ происходит ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ.

Π”Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ связаны с использованиСм ΠΊΠ°ΠΊ MVC, Ρ‚Π°ΠΊ ΠΈΒ MVP Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Vaadin. ΠžΠ½Β ΠΏΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ΡΡ со встроСнной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ инфраструктуры Spring, Π°Β Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ языки JVM, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Scala ΠΈΒ Kotlin. ΠžΠ½Β Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ WebSocket, которая обСспСчиваСт Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ связь ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром ΠΈΒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ. Как Java, Ρ‚Π°ΠΊ ΠΈΒ HTML ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для построСния прСдставлСний Π²ΠΎΒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ Vaadin. ΠžΠ½Β ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс с поддСрТкой взаимодСйствий пСрСтаскивания, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ вСсь процСсс Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для программистов любого уровня ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ.

VaadinΒ β€” это флагманский ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, Π°Β Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, Π½Π°Β ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Π΅Π±-интСрфСйса HTML5 с использованиСм Java. Π­Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° с открытым исходным ΠΊΠΎΠ΄ΠΎΠΌ, которая Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ в сСбя Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Java ΠΈΒ Π½Π°Π±ΠΎΡ€ Π²Π΅Π±-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π°Β Ρ‚Π°ΠΊΠΆΠ΅ срСдства запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ и инструмСнты. Π­Ρ‚ΠΈ Π²Π΅Π±-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ядро ​​Vaadin ΠΈΒ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ настроСны для получСния Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΒ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Vaadin Flow β€” это фактичСская Ρ‡Π°ΡΡ‚ΡŒ инфраструктуры Java-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Vaadin, которая заботится ΠΎ взаимодСйствии ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Vaadin Flow Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Java Π±Π΅Π· суСты JS ΠΈΠ»ΠΈ CSS. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса заботятся ΠΎ дСйствиях ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ связь с Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ ΠΈ сСрвСром. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Vaadin Π² Π»ΡŽΠ±ΡƒΡŽ IDE, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅, плюс это кроссплатформСнный Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, поэтому Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ пСрСносС ΠΊΠΎΠ΄Π° Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Π’Π°Π°Π΄ΠΈΠ½Π°:

  • Java API для всСх Π²Π΅Π±-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²;
  • бСзопасная Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Java;
  • Π΄Π²Π΅ встроСнныС Ρ‚Π΅ΠΌΡ‹: Lumo ΠΈ Material;
  • ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Ρ‘ΠΌΠ½Ρ‹ΠΌ ΠΈΠ»ΠΈ свСтлым Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ;
  • Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ стилСй ΠΈΠ· Java;
  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ «Назад» ΠΈ ссылок Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚;
  • навигация Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ всСй страницы;
  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° JVM;
  • ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Spring Framework;
  • ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ связь ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π΅Π±-сокСта;
  • Π΅ΡΡ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ с Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²;
  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ привязку Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· MVC ΠΈ MVP.

4. gRPC

gRPC β€” это абстрактная спСцификация. Она описываСт Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½ΡƒΡŽ RPC (remote procedure call), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, которая ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌΠΈ свойствами.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ свойство β€” ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², Ρ‚Π°ΠΊ ΠΈ стриминга. Π’ΠΎ Π΅ΡΡ‚ΡŒ всС сСрвисы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ эту спСку, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ±Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ β€” Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎΠ±Ρ‹ вмСстС с ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ β€” условно, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ. И Π΅Ρ‰Ρ‘ поддСрТиваСтся ΠΎΡ‚ΠΌΠ΅Π½Π° запроса ΠΈ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ΠΎΠ² ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ.

Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ описаниС сообщСний и самих сСрвисов осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΈΠΉ Interface Definition Language ΠΈΠ»ΠΈ IDL. Π’Π°ΠΊΠΆΠ΅ спСцификация описываСт wire-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΏΠΎΠ²Π΅Ρ€Ρ… HTTP/2, Ρ‚ΠΎΒ Π΅ΡΡ‚ΡŒ gRPC ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ²Π΅Ρ€Ρ… HTTP/2.

Π‘Ρ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ стоит Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ это ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ стандартному REST.

5. Play

Play β€” это срСда Java, прСдназначСнная для Π²Π΅Π±Π° ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ОсновноС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ β€” Π² прилоТСниях, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… большого ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ‚Π°ΠΊΠΆΠ΅ совмСстима с рядом языков ΠΏΠΎΠΌΠΈΠΌΠΎ Java, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Python ΠΈ Ruby. Play Π½Π΅ основан Π½Π° ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… стандартах Java. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° основС создания ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Scala.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Play Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ извСстСн Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΡƒΠ΄ΠΎΠ±Π΅Π½ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π΄Π°ΠΆΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Он позволяСт ΡΠΎΠ³Π»Π°ΡˆΠ°Ρ‚ΡŒΡΡ с ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π² самом Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Он особСнно эффСктивСн Π² Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… прилоТСниях благодаря ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°. Π­Ρ‚ΠΎ, бСзусловно, ΠΎΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ отказоустойчивых структур, которая Ρ‚Π°ΠΊΠΆΠ΅ дСмонстрируСт Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ.

Play β€” это Π½Π΅Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слСдуСт ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ соглашСния, Π° Π½Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Он основан Π½Π° шаблонС MVC ΠΈ прСдставляСт собой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ.

Play ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Django, Ruby on Rails ΠΈΠ»ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ASP.NET ΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ соотвСтствуСт Π²Π΅Π±-стандартам J2EE.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Play:

  • высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π° счёт асинхронной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ;
  • Π±Π΅Π· ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π±Π΅Π· состояний ΠΈ построСнный Π½Π° Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ…;
  • ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык, поэтому Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ошибок обнаруТиваСтся Π²ΠΎ врСмя компиляции, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ мноТСства ошибок Π½Π° Ρ€Π°Π½Π½ΠΈΡ… этапах ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ;
  • Scala исслСдуСт истинноС ООП вмСстС с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ концСпциями Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования. Π•Π³ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Java Π΄Π΅Π»Π°Π΅Ρ‚ систСму ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΈ ΠΌΠΎΡ‰Π½ΠΎΠΉ;
  • вмСстС с Play2 Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° новая мощная систСма сборки sbt, которая ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ Maven, Π° Ρ‚Π°ΠΊΠΆΠ΅ созданиС простых Ρ„Π°ΠΉΠ»ΠΎΠ² JAR;
  • встроСны ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ доступа ΠΊ рСляционным Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΎΠ±Ρ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Play написан с использованиСм языка программирования Scala. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Он слСдуСт Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ MVC. Play скомпилирован Π² Java bytecode, ΠΈ это Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых ΠΌΠΎΡ‰Π½Ρ‹Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ².

НСкоторыС прСимущСства использования Play Framework:

  • ΠΌΠΎΡ‰Π½Ρ‹Π΅ инструмСнты для консоли ΠΈ сборки;
  • встроСнныС инструмСнты тСстирования;
  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° IDE для Eclipse ΠΈ IntelliJ IDEA;
  • Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ ΠΎΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ;
  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°;
  • ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π² создании Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ;
  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ «горячСС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β» ΠΈ «соглашСниС ΠΏΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΒ»;
  • ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ….

6. MapStruct

БовсСм Π½Π΅Π΄Π°Π²Π½ΠΎ Π² ΠΏΠΎΠ»Π΅ ΠΌΠΎΠ΅Π³ΠΎ зрСния ΠΏΠΎΠΏΠ°Π»Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° MapStruct, которая ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π° ΠΌΠΎΠΉ ΠΌΠΈΡ€. Π― всСгда Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ любил ΠΏΠΈΡΠ°Ρ‚ΡŒ builder ΠΈΠ»ΠΈ свой ΠΌΠ΅Ρ‚ΠΎΠ΄ для пСрСкладывания Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· entity Π² Π”Π’Πž. Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ я, Π½Π΅ Π»ΡŽΠ±ΠΈΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ этот ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ MapStruct. Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΠΌΠ°ΠΏΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ класс Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π­Ρ‚ΠΎ нСвСроятно ускоряСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ тСстированиС ΠΊΠΎΠ΄Π°.

7. Lombok

Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°. Она способна Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ для достаточно популярных use-cases. Π‘Ρ‚ΠΎΠΈΡ‚ лишь ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ.

Достаточно спорная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. ΠšΡ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‘ Π»ΡŽΠ±ΠΈΡ‚, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π½Π΅Π½Π°Π²ΠΈΠ΄ΠΈΡ‚, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³ΠΎ ΠΎΠ½Π° Π½Π΅ оставляСт Ρ€Π°Π²Π½ΠΎΠ΄ΡƒΡˆΠ½Ρ‹ΠΌ.

8. Apache POI

На основС этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΈ Π³ΠΈΠ±ΠΊΠΎΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ². Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Word ΠΈ Excel.

9. Liquibase/ FlyWay

БрСдства для ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π― слабо ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽ соврСмСнный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ автоматичСскоС исполнСниС скриптов для Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. КаТдая ΠΈΠ· этих Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ достоинствами ΠΈ нСдостатками. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свой Π²Ρ‹Π±ΠΎΡ€ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ…, я ΠΊΡ€Π°ΠΉΠ½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ взвСшСнноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Но Π΄Π°ΠΆΠ΅ Ссли спустя врСмя Π²Ρ‹ ΠΏΠΎΠΉΠΌΡ‘Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΌ, эти Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ достаточно Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΡƒΡŽ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π°.

10. Testcontainers

ΠŸΡ€ΠΎΡΡ‚ΠΎ нСвСроятная ΠΏΠΎ своСй мощности Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, которая позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Π² Docker для тСстирования. Π£ мСня ΠΎΠ½Π° нашла ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… тСстах. Π•ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ Π½Π°ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… с использованиСм ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ FlyWay/Liquibase ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ„Π»ΠΎΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы. ВСст-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΡΡ‚ΠΎΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ свои.

ПодвСдСниС ΠΈΡ‚ΠΎΠ³ΠΎΠ²

Java-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‰Π°ΡŽΡ‚ врСмя программирования ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π°ΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π₯отя Ρƒ всСх инструмСнтов Π΅ΡΡ‚ΡŒ свои ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы, простоС использованиС самого Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ваш ΠΎΠΏΡ‹Ρ‚ программирования.

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Java-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ стСка ΠΈΠ»ΠΈ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, log4j для вСдСния ΠΆΡƒΡ€Π½Π°Π»Π°, Junit ΠΈ Selenium для тСстирования ΠΈ Ρ‚.Π΄. Об этом Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, хотя Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… Π½Π° Ρ…ΠΎΠ΄Ρƒ вмСстС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ спискС.

Π›ΡƒΡ‡ΡˆΠ°Ρ структура для вашСго прилоТСния Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ вашим бизнСс-трСбованиям, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ гибкости ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Ρ‚ΡŒ простой Π² обслуТивании ΠΈ ΠΏΠΎΠ³Π»ΠΎΡ‰Π΅Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

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

Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ свой Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ с ΡƒΠΌΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ функциями, прСдоставляСмыми Java.

Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ вопросы ΠΏΠΎ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅, ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΈΡ… Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², ΠΈ я Π±ΡƒΠ΄Ρƒ Ρ€Π°Π΄ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π½ΠΈΡ…!

Π“Ρ€Π°Ρ„ΠΈΠΊΠΈ: исслСдованиС, построСниС, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ OTUS

Если Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ Π½Π΅ΠΊΠΎΠΉ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ исслСдования этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ. И Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ, примСняя ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ построСниС Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΈ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, связанной с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ (Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² послСднСм случаС Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ графичСским ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ. ИмСнно поэтому Π½Π°Π΄ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ происходит исслСдованиС ΠΈ построСниС.

Вся Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ исслСдованию Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ выполняСтся поэтапно, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ сущСствуСт Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Если ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ этому Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ, Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибки Π±ΡƒΠ΄Π΅Ρ‚ свСдСна ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ.

Для исслСдования возьмСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ y = f(x). Пошаговая рСализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  1. НахоТдСниС области опрСдСлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ D(f). Π Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎΠ± ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… эта function сущСствуСт.
  2. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ чСтности ΠΈΠ»ΠΈ нСчСтности. Когда ΠΎΠ±Π»Π°ΡΡ‚ΡŒ опрСдСлСния симмСтрична ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нуля (для любого значСния xΒ ΠΈΠ· D(f) Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ -x Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ области опрСдСлСния), Π½Π°Π΄ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Ρ‡Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΊΠΎΠ³Π΄Π° f(-x) являСтся Ρ€Π°Π²Π½ΠΎΠΉ f(x), функция чСтная (классичСская функция Π²ΠΈΠ΄Π° y = x 2 являСтся Ρ‡Π΅Ρ‚Π½ΠΎΠΉ). Π’Π°ΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„Π°ΠΊΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊ Ρ‡Π΅Ρ‚Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ являСтся симмСтричным ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ оси OY. А Π²ΠΎΡ‚ Ссли f(-x) равняСтся -f(x), слСдуСт Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ нСчСтности (для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° нСчСтности ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ y = x3). Π’ этом случаС Π³Ρ€Π°Ρ„ΠΈΠΊ симмСтричСн ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. Когда Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Ρ‡Π΅Ρ‚Π½ΠΎΠΉ Π»ΠΈΠ±ΠΎ Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠΉ, Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ Π΅Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° для x β©ΎΒ 0,Β Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΡ‚Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΅Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.
  3. НахоТдСниС Ρ‚ΠΎΡ‡Π΅ΠΊ пСрСсСчСния с осями ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. Π Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… пСрСсСчСния Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ y = f(x) с OX β€” осью абсцисс. Π§Ρ‚ΠΎΠ±Ρ‹ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½Π°Π΄ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ f(x) = 0. ΠšΠΎΡ€Π½ΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ уравнСния Π±ΡƒΠ΄ΡƒΡ‚ абсциссами Ρ‚ΠΎΡ‡Π΅ΠΊ пСрСсСчСния Π³Ρ€Π°Ρ„ΠΈΠΊΠ° с осью ОΠ₯. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΠΎΡ‡ΠΊΡƒ пСрСсСчСния Π³Ρ€Π°Ρ„ΠΈΠΊΠ° с OY (осью ΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚) Π½Π°Π΄ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈ x = 0.
  4. НахоТдСниС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΎΠ² знакопостоянства. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Π°ΠΆΠ½Ρ‹ΠΉ шаг. Π—Π΄Π΅ΡΡŒ Π½Π°Π΄ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… наша Ρ„-я сохраняСт Π·Π½Π°ΠΊ. Π­Ρ‚ΠΎ потрСбуСтся Π² дальнСйшСм Π² цСлях контроля ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ построСния нашСго Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. Для обнаруТСния ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΎΠ² знакопостоянства Π½Π°Π΄ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ нСравСнства, ΠΊΠ°ΠΊ f(x) > 0 ΠΈ f(x) < 0.
  5. Поиск асимптот. Асимптота β€” прямая, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ приблиТаСтся Π³Ρ€Π°Ρ„ΠΈΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, дСлая это бСсконСчно Π±Π»ΠΈΠ·ΠΊΠΎ. Π‘Ρ‹Π²Π°ΡŽΡ‚ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ асимптоты, Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ асимптоты, Π½Π°ΠΊΠ»ΠΎΠ½Π½Ρ‹Π΅ асимптоты. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π½Π° эту Ρ‚Π΅ΠΌΡƒ Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ здСсь.
  6. НахоТдСниС ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ справСдливо для пСриодичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ). Π’Π°ΠΊΠΆΠ΅ стоит Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли Ρ„-я тригономСтричСская, Ρ‚ΠΎ Π½Π°Π΄ΠΎ сначала ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ ΠΎΠ½Π° пСриодичСской Π»ΠΈΠ±ΠΎ Π½Π΅Ρ‚.
  7. ИсслСдованиС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ. ИсслСдованиС Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² поискС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΎΠ² убывания ΠΈ возрастания ΠΈ поискС Ρ‚ΠΎΡ‡Π΅ΠΊ экстрСмума (Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ° ΠΈ максимума). Π­Ρ‚ΠΎ дСлаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π°) ΠΈΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ f(x);

Π±) Π²Ρ‚ΠΎΡ€ΠΎΠΉ этап β€” ΠΏΡ€ΠΈΡ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ ΠΊ Π½ΡƒΠ»ΡŽ с Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡ€Π½Π΅ΠΉ уравнСния f(x) = 0 β€” Π² Π΄Π°Π½Π½ΠΎΠΌ случаС это стационарныС Ρ‚ΠΎΡ‡ΠΊΠΈ;

Π²) Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ шаг β€” Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ знакопостоянства ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ.

ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ, Π³Π΄Π΅ производная являСтся ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, β€” это ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ возрастания, Π³Π΄Π΅ ΠΎΠ½Π° ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π° β€” убывания.

Π’ΠΎΡ‡ΠΊΠΈ, Π³Π΄Π΅ производная мСняСт Π·Π½Π°ΠΊ с Β«+Β» Π½Π° Β«-Β» β€” Ρ‚ΠΎΡ‡ΠΊΠΈ максимума, Ссли ΠΆΠ΅ с минуса Π½Π° плюс β€” это Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ°.

8. ПослСдний шаг Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° β€” поиск Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΠ΅Ρ€Π΅Π³ΠΈΠ±Π° ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΎΠ² вогнутости ΠΈ выпуклости. Π­Ρ‚Π° Ρ‚Π΅ΠΌΠ° Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ рассмотрСна Π²ΠΎΡ‚ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅.

НадССмся, Ρ‡Ρ‚ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π±Ρ‹Π» ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΈ Ρƒ вас Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с построСниСм Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ². И Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° Π² IT-сфСрС, особСнно Π² Data Science. Если ΠΆΠ΅ Π²Ρ‹ чувствуСтС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ свои знания ΠΏΠΎ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ курс Π² OTUS:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ:

  • https://ege-ok.ru/2013/11/12/issledovanie-funktsii-i-postroenie-grafika;
  • https://www.matburo.ru/ex_ma.php?p1=maissl;
  • http://matecos.ru/mat/matematika/issledovanie-funktsii-i-postroenie-grafika-funktsii. html.

ГрафичСский Π΄ΠΈΠ³ΠΈΡ‚Π°ΠΉΠ·Π΅Ρ€

Π Π΅Π²ΠΈΠ·ΠΈΠΈ
SourceForge ΠŸΡ€ΠΎΠ΅ΠΊΡ‚
Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
Π€ΠΎΡ€ΡƒΠΌΡ‹
Π”ΠΆΠΎ Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Java

ОписаниС

Plot Digitizer β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Java, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ отсканированных Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ². Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Часто Π΄Π°Π½Π½Ρ‹Π΅ прСдставлСны Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ… ΠΈ ​​справочниках Π² Π²ΠΈΠ΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ разброса Ρ‚ΠΈΠΏΠ° X-Y ΠΈΠ»ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. Для использования этих Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΊ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ отсканированноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊ (Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ GIF, JPEG ΠΈΠ»ΠΈ PNG) ΠΈ быстро ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ значСния Π²Π½Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° просто Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² ΠΌΡ‹ΡˆΡŒΡŽ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π—Π°Ρ‚Π΅ΠΌ числа ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ. Π² тСкстовый Ρ„Π°ΠΉΠ» ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΌ, Π³Π΄Π΅ ΠΎΠ½ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹. Plot Digitizer Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΊΠ°ΠΊ линСйная, Ρ‚Π°ΠΊ ΠΈ логарифмичСская ΡˆΠΊΠ°Π»Ρ‹ осСй. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Ρ‚ΠΎΡ‡Π΅ΠΊ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² отсканированных Π΄Π°Π½Π½Ρ‹Π΅ (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠΈ Π² ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅ ΠΈΠ»ΠΈ орфографичСскиС Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ).

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ, эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. НапримСр: Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ось Y Π±Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠΈ оси X (нСсколько Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ строятся с ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ осью X). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΡƒΠΆΠ΅ ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ Π²Ρ‹Π±Ρ€Π°Π² Β«Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒΒ» ΠΈΠ· Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌ ΠΈ Π²Ρ‹Π±Ρ€Π°Π² Β«Π£Π΄Π°Π»ΠΈΡ‚ΡŒΒ». Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΡ‡ΠΊΠΈ, щСлкая ΠΈ пСрСтаскивая ΠΈΡ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΊΡ€ΠΈΠ²ΡƒΡŽ, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒ изобраТСния. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠΈ для изобраТСния для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ использования, ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ полуавтоматичСская ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π»ΠΈΠ½ΠΈΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ просто ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π³Π΄Π΅ линия Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ с толстой ΠΊΠΈΡΡ‚ΡŒΡŽ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° пытаСтся автоматичСски ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· сСтки Π»ΠΈΠ½ΠΈΠΈ ΠΈ Ρ‚. Π΄. Π­Ρ‚Π° функция автоматичСской ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ зависит ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «autotrace». Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ функция автоматичСской ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ, Ρƒ вас Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π· автотрассировки с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ установлСна ​​программа Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ. К соТалСнию, автотрассировка Π΄Π΅Π»Π°Π΅Ρ‚ вмСсто Π² настоящСС врСмя, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Windows.

Π‘ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ функция автоматичСской ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ любой Π³Ρ€Π°Ρ„ΠΈΠΊ? ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΎΡ‚Π²Π΅Ρ‚: Π½Π΅Ρ‚. Π”Π»ΠΈΠ½Π½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚: функция автоматичСской ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ Π»ΡƒΡ‡ΡˆΠ΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Ρ‡Π΅Ρ€Π½Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ. ΠΈ Π±Π΅Π»Ρ‹Π΅ изобраТСния с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ 300 dpi Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ (Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ Π΄Π°ΡŽΡ‚ Π΅ΠΌΡƒ судороги), Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‚ΡΡ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ располоТСны Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ линиям сСтки ΠΈ Π½Π΅ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ ΠΈΠΌ, Π½Π΅ ΠΊΡ€Π°ΠΉΠ½Π΅ ΡˆΡƒΠΌΠ½Ρ‹ΠΉ ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ ΡΡŽΠΆΠ΅Ρ‚Π½Ρ‹Ρ… символов. ПослС использования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ ΡƒΠ·Π½Π°Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСская ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ°. Однако Π΄Π°ΠΆΠ΅ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½Π΅ выполняСт Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²ΠΊΡƒ всю строку, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π΅ Ρ‡Π°ΡΡ‚ΡŒ автоматичСски, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ кусок, Π° Π·Π°Ρ‚Π΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ кусок автоматичСски ΠΈ Ρ‚. Π΄. Π― нашСл эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π° ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² истории ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… испытаний, Π½ΠΎ ваш ΠΏΡ€ΠΎΠ±Π΅Π³ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ.


Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° являСтся бСсплатным ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм; Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΈ/ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ условия GNU General Public ЛицСнзия, опубликованная Free Software Foundation; Π»ΠΈΠ±ΠΎ вСрсия 2 ЛицСнзия, ΠΈΠ»ΠΈ (Π½Π° ваш Π²Ρ‹Π±ΠΎΡ€) любая Π±ΠΎΠ»Π΅Π΅ поздняя вСрсия.


Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для вашСго ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ ΠΈ/ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ ΠΎΡ‚Ρ‚ΡƒΠ΄Π°.

MacOS X:
Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ сТатого Ρ„Π°ΠΉΠ»Π° ΠΎΠ±Ρ€Π°Π·Π° диска (PlotDigitizer_#.#.#_MacOSX.dmg). Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ΠΎΠ±Ρ€Π°Π·Π° диска ΠΏΡ€ΠΈ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ (Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΏΠΎ Π½Π΅ΠΌΡƒ), Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΎΠΊ прилоТСния (Plot Digitizer. app, этот Ρ„Π°ΠΉΠ» readme (README.txt) ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ свСдСния, связанныС с Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ язык.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, просто ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡ΠΎΠΊ Plot Digitizer.app Π½Π° ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ располоТСниС Π½Π° ТСстком дискС. Π’ MacOS X это ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Β«ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΒ», Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΡƒΠ΄Π° ΡƒΠ³ΠΎΠ΄Π½ΠΎ.

Π€Π°ΠΉΠ» прилоТСния Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² MacOS X 10.6 ΠΈ 10.7. ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π½Π΅ трСбуСтся. Для MacOS X 10.8 ΠΈΠ»ΠΈ 10.9: Ρƒ вас Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ установлСна ​​Java 1.7 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ вСрсии. Если Ρƒ вас Π½Π΅Ρ‚ Java установлСн, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с: http://www.java.com.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ автоматичСской ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ приобрСсти ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° автотрассировки Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° автотрассировки Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π² БистСмС ΠΏΡƒΡ‚ΡŒ поиска. Π― Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Fink (http://www.finkproject. org/) ΠΈΠ»ΠΈ MacPorts. (http://www.macports.org/) ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ для установки автотрассировки. Plot Digitizer Π½Π°ΠΉΠ΄Π΅Ρ‚ автотрассировку автоматичСски, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, Ссли Π²Ρ‹ устанавливаСтС автотрассировку ΠΈΠ· исходного ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΈΠ· Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ дистрибутива, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, исполняСмый Ρ„Π°ΠΉΠ» находится Π² /usr/local/bin ΠΈΠ»ΠΈ /usr/bin.

Windows:
Π‘Π½Π°Ρ‡Π°Π»Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρƒ вас установлСна ​​Java 1.6 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ поздняя вСрсия. установлСн Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Если Π²Ρ‹ этого Π½Π΅ сдСлаСтС, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ·: http://www.java.com

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ ZIP-Π°Ρ€Ρ…ΠΈΠ²Π° (PlotDigitizer_#.#.#_Windows.zip). Π Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ этот Π°Ρ€Ρ…ΠΈΠ² (с Π’ΠΈΠ½Π·ΠΈΠΏ). Он содСрТит исполняСмый Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ PlotDigitizer.exe, Ρ„Π°ΠΉΠ» readme (README.txt) ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ язык, связанный с Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, просто ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡ΠΎΠΊ PlotDigitizer.exe Π½Π° ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ располоТСниС Π½Π° ТСстком дискС. Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ· Π² любом мСстС.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ автоматичСской ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ приобрСсти ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° автотрассировки Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° автотрассировки Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠΏΡƒΡ‚ΡŒ поиска. ПослС установки ΠΈΠ»ΠΈ сборки autotrace Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ Π² ΠΏΡƒΡ‚ΡŒ поиска. Для этого Π² мСню Β«ΠŸΡƒΡΠΊΒ» Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «Настройки» ΠΈ Π·Π°Ρ‚Π΅ΠΌ «ПанСль управлСния» ΠΈ Π² ΠΎΠΊΠ½Π΅ «ПанСль управлСния» Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ «Π‘истСма.» Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Β«Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΒ», Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π° Β«Π‘Ρ€Π΅Π΄Π°Β». Кнопка Β«ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅Β». Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅Β», Ссли пСрСмСнная PATH Π² спискС, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PATH ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΒ». Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ, содСрТащСму исполняСмый Ρ„Π°ΠΉΠ» автотрассировки (ΠΏΡƒΡ‚ΡŒ элСмСнты Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой («;»)). Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΒ» Π²Π²Π΅Π΄ΠΈΡ‚Π΅ «ПУВЬ» для ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, содСрТащий автотрассировку для значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Linux (ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ разновидности UNIX):
Π‘Π½Π°Ρ‡Π°Π»Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρƒ вас установлСна ​​Java 1.6 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ поздняя вСрсия. установлСн Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΈ Π½Π° вашСм ΠΏΡƒΡ‚ΠΈ поиска. Если Π²Ρ‹ этого Π½Π΅ сдСлаСтС, Π²Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с: http://www.java.com.

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ сТатого Π°Ρ€Ρ…ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (PlotDigitizer_#.#.#_Linux.tgz). ПослС распаковки этого Ρ„Π°ΠΉΠ»Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ «tar -xvzf PlotDigitizer_#.#.#_Linux.tgz», Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ PlotDigitizer.jar. Π­Ρ‚ΠΎ jar-Ρ„Π°ΠΉΠ» с Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ, ΠΈΠ»ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ запуститС Π΅Π³ΠΎ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ:

java -Xmx128m -jar PlotDigitizer.jar

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сцСнарий ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сдСлаСт это Π·Π° вас.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ автоматичСской ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ приобрСсти ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° автотрассировки Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° автотрассировки Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠΏΡƒΡ‚ΡŒ поиска.


БыстрыС инструкции: Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, сначала отсканируйтС участок с вашСй любимой систСмой сканирования, Π·Π°Ρ‚Π΅ΠΌ сохранитС Π³Ρ€Π°Ρ„ΠΈΠΊ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ GIF, PNG ΠΈΠ»ΠΈ JPEG. Ρ„Π°ΠΉΠ» Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. ЗапуститС Plot Digitizer, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» отсканированного изобраТСния ΠΈΠ· мСню Β«ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΒ». ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² мСню Β«Π€Π°ΠΉΠ»Β». Π—Π°Ρ‚Π΅ΠΌ слСдуйтС инструкциям Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части ΠΎΠΊΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΡƒΡŽ ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠΌ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈΠ· МСню Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π“ΠΎΡ‚ΠΎΠ²ΠΎΒ».

Подсказка : Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈΠ· ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… тСхничСскиС ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ доступны Π² элСктронном Π²ΠΈΠ΄Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PDF, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ пропуститС шаг Β«Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» ΠΈ ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ всС Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅. На Windows Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Acrobat Reader, Π° Π² MacOS X Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр для Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π° (ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ экрана, поэтому сначала ΡƒΠ²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅). Π—Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ сохранитС Π΅Π³ΠΎ Π² Ρ„Π°ΠΉΠ» GIF ΠΈΠ»ΠΈ PNG. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ» с Plot Π¦ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. Π’ Linux (ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… разновидностях UNIX, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ MacOS X) Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ PDF Toolkit для извлСчСния страницы, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ImageMagic для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² GIF ΠΈΠ»ΠΈ PNG Π² любом Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Plot Digitizer.

freehep — FreeHEP Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ страницу

ΠžΠ±Ρ‰ΠΈΠΉ
  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • Команда
  • ЛицСнзия
  • Бписки рассылки
  • ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π³ΠΎΠ²ΠΎΡ€Ρ‹
  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ
Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅
  • Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Maven
  • Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ
  • ИспользованиС с NetBeans
  • ИспользованиС с Π·Π°Ρ‚ΠΌΠ΅Π½ΠΈΠ΅ΠΌ
  • Π’Π΅Π±-сайт FreeHEP 1. x
  • ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹ Maven 1.x
  • Π€ΠΎΡ€ΡƒΠΌΡ‹
  • Ошибки ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹
Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²
  • Бтатус ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ
  • Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄
  • Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅, протСстируйтС ΠΈ установитС
  • Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ
  • НСпрСрывная интСграция
  • Π’Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ
  • БобствСнный ΠΊΠΎΠ΄
  • Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ кодирования
  • ИзмСнСния 1.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *