JavaRush /Java Blog /Random-TL /Nangungunang 10 Java Libraries para Makatipid ng Oras

Nangungunang 10 Java Libraries para Makatipid ng Oras

Nai-publish sa grupo
Para kanino ang artikulong ito: may ilang bagay na magiging interesante sa mga nagsisimula na nag-aaral ng Java Syntax quest, ngunit karaniwang ang materyal na ipinakita ay mas angkop sa mga nakalampas na sa ekwador ng kurso (nakakaunawa sa Java Collections at Java Multithreading quests) at nagsisimula nang maging interesado sa mga teknolohiyang lampas sa balangkas ng Java Core. Sa paglipas ng panahon ng pagkakaroon nito, nakakuha ang Java ng isang patas na dami ng mga aklatan. Ngunit paano mo malalaman kung alin ang nararapat gamitin at alin ang hindi? Ang paghihiwalay ng trigo mula sa ipa ay napakahirap para sa isang palaging abalang developer. Sa artikulong ito , si Martin Patsov, Full Stack Developer sa Dreamix, ay nag-uusap tungkol sa kanyang pagmamahal sa mga open source na aklatan at nagmumungkahi ng mga partikular na kapaki-pakinabang sa kanya. Nangungunang 10 Java Libraries para Makatipid ng Oras - 1Upang maging o hindi, iyon ang tanong: Ito ba ay magiging kaligtasan o kabiguan Iyon ding Java library... Maging matapang! Naroon na ang “SigniOrs” at ipapasa ko sa iyo ang kanilang karanasan. Huwag kang linlangin ng aking patula na paglihis. Talagang napakaraming mga aklatan sa Java, at ang pag-unawa sa mga ito ay napakahirap. Gayunpaman, mahal na mahal ko sila. Maaari pa nga akong tawaging isang "ebanghelista sa aklatan" ( sa pamamagitan ng "evangelist" sa larangan ng IT ang ibig naming sabihin ay hindi ang tagabuo ng canonical gospel, ngunit isang taong propesyonal na nagtataguyod nito o ng teknolohiyang iyon. Huwag ipagkamali ito sa mga ordinaryong taong PR: kadalasan , ang isang IT evangelist ay may masusing pag-unawa sa teknolohiyang isinusulong niya ang teknolohiya - tala ng editor ). Ang mga aklatan ay isang napakahalagang bahagi ng open source ecosystem. Lumalaki ang malalaking komunidad sa kanilang paligid, na umuunlad at sumusuporta sa kanila. At ang galing. Ang pangunahing bentahe ng mga aklatan ay pinahihintulutan nila kaming maiwasan ang muling pag-imbento ng gulong sa tuwing magsusulat kami ng code. Gumamit ng mga aklatan—nasulat na ang code para sa mga partikular na gawain—nang madalas hangga't maaari! Makakatipid ka ng oras. Seryoso, mas mabuting mag-hang out kasama ang pamilya at mga kaibigan.

Nangungunang 10

Sa talang ito, binanggit ko ang mga Java library na mas gusto kong gamitin sa aking trabaho. Lahat sila ay open source software. Pinili ko ito batay sa pagiging kapaki-pakinabang, mahusay na dokumentasyon at suporta, pati na rin ang mga regular na pag-update. Gusto kong muling bigyang-diin na ito ang aking personal na pagpipilian, at maaaring malaki ang pagkakaiba nito sa iyo.

1. Java Standard Libraries

Oo, oo, hindi mo naisip! Maraming tao ang minamaliit, bukod dito, hindi nila alam ang dami ng mga kakayahan ng Java Standard Libraries, at hindi alam kung paano i-unlock ang kanilang potensyal sa programming... o kahit na hindi nila ginagamit ang mga ito. Narito ang isang maikling paglalarawan ng ilan sa kanila:
  • java.lang . Ang library na ito ay palaging ini-import sa anumang Java application, dahil naglalaman ito ng lahat ng bagay kung wala ka na karaniwang hindi maaaring mag-program ( String , Double , Enum , Math , at iba pa).

  • Sa java.util mahahanap mo ang lahat ng mga koleksyon at istruktura ng data na magagamit sa Java.

  • Susunod, mayroon kaming java.io para sa pagbabasa ng mga file, pagpapatakbo ng mga stream, Pipe class object, at iba pa.

  • Malamang na narinig mo na ang tungkol sa unang tatlo. Ngunit hindi alam ng lahat ang tungkol sa java.nio , isang alternatibo sa java.io. Ang library na ito ay may pananagutan para sa hindi pagharang sa I/O, na nagbibigay-daan para sa, tulad ng maaari mong hulaan, I/O intensive na paggamit.

  • Ang java.net ay ginagamit para sa pagtatrabaho sa mga socket, paglikha ng mga koneksyon o maikling networking application.

  • Sa Java mayroon din kaming mga aklatan para sa pagtatrabaho sa GUI: javax.swing (isang medyo lumang extension ng mas lumang java.awt ).

  • Maaari pa nga kaming magpatugtog ng musika at gumawa ng mga MIDI file gamit ang java.sound .

2. JHipster

Ang JHipster ay isang platform para sa mabilis na pag-deploy, pagbuo at paglikha ng mga scalable web server na may mataas na load at paggamit ng pinakamoderno at sunod sa moda na mga teknolohiya tulad ng Spring, Spring-MicroServices, Netflix, Docker, Kubernetes, AngularJs, Liquibase, MongoDB, Cassandra, ElasticSearch.
Nangungunang 10 Java Libraries para Makatipid ng Oras - 2
Sa totoo lang, ang "Java hipster" na ito ay talagang nagligtas ng mga buwan ng aking buhay. Talagang masasabi ko na ang JHipster ang aking personal na paborito sa listahan at mayroong isang espesyal na lugar sa aking puso. Ang tool na ito ay halos kailangang-kailangan para sa pagbuo ng sketch ng isang distributed web server project. Maaari itong bumuo ng isang pom file na may mga dependencies, i-configure ang Elastic Search at Connection, ang kailangan mo lang gawin ay idagdag ang business logic ng architecture. Ang mga pangunahing at pinakamahalagang aklatan na kasama sa nabuong proyekto ay: Makakahanap ka ng higit pang impormasyon tungkol sa JHipster dito .

3. Maven

Ang Maven ay isa sa tatlong pinakasikat na tool para sa pagbuo ng mga proyekto ng Java. Siya ang may pananagutan sa pag-compile, paglikha ng mga jar file (Java archive), paglikha ng pamamahagi ng programa, at pagbuo ng dokumentasyon.
Nangungunang 10 Java Libraries para Makatipid ng Oras - 3
Ang bawat modernong proyekto ay binubuo ng iba't ibang mga file, module, teknolohiya. Upang ilagay ito nang napakasimple, ang pagbuo ng isang proyekto ay inihahanda ang "gumagana" na bersyon nito, iyon ay, isang programa na maaaring ilunsad para sa pagpapatupad. Maaari itong gawin nang manu-mano, sa command line, o maaari kang magsulat ng mga espesyal na script. Gayunpaman, mas madaling gawin ito gamit ang mga espesyal na application. Ang mga ito ay tinatawag na "awtomatikong mga sistema ng pagpupulong". Si Maven ay isa sa tatlong naturang programa, ang dalawa pa ay Gradle at Ant. Ang ganitong mga sistema ay tumatanggap ng source code ng proyekto bilang input, at ang output ay isang programa na maaaring patakbuhin.
Ang istraktura ng proyekto (mga dependency, configuration, dokumentasyon) ay inilarawan sa pom.xml file (POM - Project Object Model), na dapat ay matatagpuan sa root folder ng proyekto. Sa totoo lang, ang Maven ay isang magandang bagay, kahit na ito ay hindi masyadong malinaw sa simula. Kung hindi mo pa nagamit ang Maven dati, nawawala ka. Sa totoo lang, hindi ko rin maintindihan kung paano ginawa ang mga application ng Enterprise bago ang Maven. Maaari mong basahin ang tungkol sa Maven sa Russian dito .

4. Apache Commons

Ang Apache Commons ay talagang isang buong proyekto na nakatuon sa paglikha ng mga aklatan ng Java. O “isang malaking hanay ng maliliit na Java utilities” para sa iba't ibang layunin. Sa pamamagitan ng paraan, ang mga utility ng Apache Commons ay ang batayan ng ilang mga kilalang proyekto, halimbawa, Tomcat, Hibernate at iba pa. Narito ang isang maikling listahan ng ilan sa mga pinakakaraniwang ginagamit na mga aklatan ng Apache Commons:
Nangungunang 10 Java Libraries para Makatipid ng Oras - 4
  • Commons Math . Apache Commons Math Library, ang pangalan ay nagsasabi ng lahat ng ito: naglalaman ito ng mga bahagi para sa mga kumplikadong mathematical at istatistikal na operasyon at kalkulasyon.

  • Commons CLI . Nagbibigay ng API para sa pag-parse ng mga argumento ng command line. Halos hindi sulit ang pag-iisip tungkol sa paglikha ng isang application nang walang kakayahang magpasa ng mga parameter at kontrolin ang pag-uugali nito!

  • Commons CSV . Anuman ang iyong binuo, sa isang punto ay kailangan mong harapin ang pangangailangang gumamit ng mga csv file. Ibig sabihin, kailangan nilang buksan, basahin, i-edit, i-save at likhain. Iminumungkahi ko ang paggamit ng RFC 4180 na format mula sa klase ng CSVFormat at pag-encode ng UTF-8 kapag nagse-save/gumawa ng mga file.

  • Commons I.O. Ginagamit upang gawing simple ang mga operasyon ng I/O. Tingnan mo man lang ang ReversedLinesFileReader, sulit ito!
Maaari mong basahin ang tungkol sa Apache Commons (sa Ingles) dito .

5. Bayabas

Ang Guava ay isang hanay ng mga pangunahing aklatan ng Google para sa Java. Naglalaman ba ang mga ito ng mga bagong uri ng koleksyon (hal. multimap at multiset), mga hindi nababagong koleksyon, graph library, mga functional na uri? mga utility para sa concurrency, I/O, hashing, pagproseso ng string at marami pang iba. Ang lahat ng mga tool na ito ay ginagamit ng mga espesyalista ng Google sa kanilang trabaho, at isa na itong magandang rekomendasyon.
Nangungunang 10 Java Libraries para Makatipid ng Oras - 5
Sa ilang lawak, ang Guava ay isang alternatibo sa Apache Commons. Sa katunayan, maaari nating pag-usapan ang tungkol sa Guava sa mahabang panahon (siguraduhing bigyang-pansin ito!), ngunit dito ay babanggitin ko lamang ang isang kapaki-pakinabang na bagay mula sa aklatang ito. Marahil ay nakatagpo ka na ng hamon ng pag-aayos ng iyong mga koleksyon o paghahambing ng mga nilalaman sa loob ng mga ito? Paano naman ang advanced na pag-uuri at paghahambing sa maraming column na may maraming kundisyon? Ang ComparisonChain component ay ginagamit upang ipatupad ang advanced at kumplikadong pag-uuri para sa mga koleksyon. Maaari mong basahin ang tungkol sa Guava (sa Ingles) dito .

6. google-gson

Ang google-gson library ay kapaki-pakinabang para sa pag-convert ng mga object ng Java sa JSON at vice versa. Ito ay lalong kapaki-pakinabang kapag nagde-develop ng mga mobile application at gumagawa/gumagamit ng REST API, o anumang oras na kailangan mong mag-convert ng Java object sa JSON representation nito at vice versa.
Nangungunang 10 Java Libraries para Makatipid ng Oras - 6
Malalaman mo ang tungkol sa JSON (JavaScript Object Notation), Guava, Apache Commons at iba pang mga kawili-wiling bagay mula sa Java Collections quest .
Maaari mong basahin ang tungkol sa google-gson (sa Ingles) dito .

7. Hibernate-ORM

Ang hibernate ay isang library na idinisenyo upang malutas ang mga problema sa object-relational mapping (ORM). Ang Hibernate ORM ay ginagamit upang mag-imbak ng data sa mga relational database. Nagbibigay ito ng mas simple at mas abstract na paraan para gawin ito ng mga developer. Ginagamit nito ang JDBC sa pagpapatupad nito. Ang hibernate ay isa ring pagpapatupad ng detalye ng JPA.
Nangungunang 10 Java Libraries para Makatipid ng Oras - 7
Maaari mong basahin ang tungkol sa Hibernate ORM (sa Ingles) dito .

8. Mockito

Huwag mong hayaang lokohin ka ng pangalang Mockito. Hindi ito tungkol sa cocktail, ngunit tungkol sa library para sa mga kunwaring bagay. Ang mga mock object ay mga bagay na ginagaya ang pag-uugali ng isang tunay na bagay ayon sa ilang ibinigay na pamamaraan. Halimbawa, para sa pagsubok ng unit, maaaring gayahin ng mga "pekeng" na bagay ang gawi ng mga bagay sa negosyo. Well, pinapataas ng Mockito mock library ang kaginhawahan ng paggawa at paggamit ng mga mock object.
Nangungunang 10 Java Libraries para Makatipid ng Oras - 8
Makakahanap ka ng impormasyon tungkol sa Mockito dito .

9. JUnit

Ang JUnit ay isang libreng Java framework para sa paglikha ng mga unit test (aka unit tests). Ang library na ito ay isa sa pinakasikat, halos lahat ay gumagamit nito. Inirerekomenda namin na makuha mo ito nang mabilis hangga't maaari, dahil madalas ang mga bagong Java developer at Java Trainees ay napipilitang "takpan ang code gamit ang mga pagsubok." At, dapat kong sabihin, ito ay malayo sa pinakamasamang simula sa isang karera.
Nangungunang 10 Java Libraries para Makatipid ng Oras - 9
Higit pang impormasyon tungkol kay Junit dito .

10.Log4j at Slf4j

Ang dalawang framework na ito ay idinisenyo upang itago ang pagpapatupad ng mga nakagawiang operasyon para sa pag-log ng ilang partikular na kaganapan na nangyayari habang tumatakbo ang mga Java application. Ang Slf4j ay isang abstraction para sa iba pang mga balangkas ng pag-log (kaparehong Log4j).
Nangungunang 10 Java Libraries para Makatipid ng Oras - 10
Higit pang impormasyon tungkol sa Log4j at Slf4j .
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION