JavaRush /Java Blog /Random-TL /Coffee break #42. Ano ang gagawin kung hindi mo alam ang ...

Coffee break #42. Ano ang gagawin kung hindi mo alam ang isang bagay. 5 Pinakamahusay na Java Libraries para sa Pinakamataas na Produktibo

Nai-publish sa grupo

Ano ang gagawin kung hindi mo alam ang isang bagay

Pinagmulan: Dev.to Kung ikaw ay isang developer, sa malao't madali ay maaaring lumitaw ang isang sitwasyon kapag hindi mo alam kung paano lutasin ang isang problema. Ito ay isang hindi kasiya-siyang sandali sa anumang yugto ng iyong karera. Pagkatapos ng lahat, kailangan mo pa ring kumpletuhin ang gawain, sa kabila ng katotohanan na hindi mo alam ang isang bagay. Sa artikulong ito ibabahagi ko ang aking personal na karanasan at sasabihin sa iyo kung ano ang makakatulong sa paghahanap ng solusyon sa naturang problema.Coffee break #42.  Ano ang gagawin kung hindi mo alam ang isang bagay.  5 Pinakamahusay na Java Libraries para sa Pinakamataas na Pagganap - 1

Magtanong

Noong baguhan ako, natatakot akong magtanong, hanggang sa huling minuto sinubukan kong lutasin ang lahat sa aking sarili. Gumugugol ako ng napakalaking oras sa paglutas ng isang problema at mananatiling tahimik hanggang sa kalaunan ay kinailangan kong makipag-usap sa aking amo o mga kliyente. Naiintindihan ko kung bakit ko ginawa ang ginawa ko. Iniwasan kong magtanong dahil ayokong magmukhang tanga sa harap ng iba. Tila sa akin na ang lahat, maliban sa akin, ay mabilis na nahawakan ang kakanyahan at naunawaan kung ano ito. Salamat lamang sa aking mga kasamahan na sa wakas ay sinimulan kong isantabi ang aking pagmamataas at magtanong tungkol sa kung ano ang hindi ko naiintindihan.

Ang Google at YouTube ay ang iyong matalik na kaibigan

Minsan ay napanood ko ang isang video kung paano sinagot ng Google ang mga walang katotohanan o nakakatawang tanong. Kahit na nakakatawa din ang mga sagot, napagtanto ko na tiyak na makakatulong ang Google kung may mga tanong na lumabas. Samakatuwid, kung ikaw ay nasa isang dead end, huwag kalimutang hanapin ang sagot sa pamamagitan ng search engine na ito. Malaki rin ang naitutulong sa akin ng YouTube sa paglutas ng mga problema. Lalo na sa mga kaso kung saan kailangan ng mas malalim na pag-unawa sa paksa. Tapos lagi akong naghahanap ng mga topical na video.

Ang dagdag na pares ng mata ay hindi makakasakit

Huwag hayaang kainin ka ng galit at pagkabigo kung hindi mo kayang lutasin ang isang problema. Ang isang malinaw na halimbawa ng sitwasyong ito ay ang mga kaso kung saan kailangan mong mapanatili ang isang lumang code base, kung saan dahil sa kakulangan ng dokumentasyon kailangan mong gawin ang reverse engineering. Siyempre, ito ay nangangailangan ng maraming pagsisikap. Kailangan mong bungkalin ang base ng code, maunawaan ang istilo ng mga nakaraang developer. Sa ganitong mga kaso, lubos na ipinapayong magkaroon ng ibang tao maliban sa iyong sarili na suriin ang code. Maaaring ituro ng ibang tao ang mga bagay na napalampas mo o hindi mo naintindihan. Sa ganitong paraan mapapabilis mo ang solusyon sa problema.

Huwag magpatalo sa sarili mo kung naipit ka sa isang bagay.

Gusto kong maglabas ng espesyal na atensyon dito. Wag kang magalit sa sarili mo kung napadpad ka sa kung saan. Oo, kapag hindi mo malutas ang isang problema, ito ay hindi masyadong kaaya-aya. Maaaring lumala ang imposter syndrome, maaari kang makaramdam ng kawalan ng silbi at mawalan ng tiwala na ikaw ay isang mahusay na developer. Sigurado ako na kung ang isang tao ay hindi kailanman natigil sa isang bagay sa kanyang trabaho, ito ay dahil lamang siya ay kumikilos sa kanyang komportableng lugar, nang hindi lumalampas sa kanyang karaniwang mga aksyon. Upang maging handa sa mga hindi inaasahang sitwasyon, makipag-usap sa mga taong maaaring magtulak sa iyo na itaas ang iyong mga propesyonal na pamantayan. Huwag kang magalit kung nakatagpo ka ng isang bagay na hindi mo pinaghandaan. Ang ganitong mga kaso ay nakakatulong upang matukoy ang mga puwang sa kaalaman at, nang naaayon, punan ang mga ito.

Magpahinga

Maaaring hindi ito masyadong produktibo, ngunit kapag gumagawa ka ng isang bagay na malaki at kumplikado, ang pagkuha ng mga maikling pahinga ay isang malaking tulong sa pag-alis ng stress. Maglakad ng 15 minuto, makipag-usap sa isang tao, mag-ehersisyo, o kahit na umidlip. Ang pahinga ay nakakatulong na i-refresh ang isip, at bukod pa, sa lahat ng oras na ito ang utak ay gumagana pa rin, at sa isang lugar sa isang hindi malay na antas ay nalulutas nito ang gawain sa kamay. Bilang resulta, maaaring magkaroon ka ng eureka moment habang umiinom lang ng iyong kape.

Konklusyon

Ang unang bagay na dapat gawin kapag nilulutas ang isang problema ay gumawa ng isang listahan ng kung ano ang alam mo at kung ano ang hindi mo alam. Pagkatapos nito, dapat kang magtanong ng mga paglilinaw sa taong nagtalaga sa iyo ng gawaing ito. Marahil sa yugtong ito ay may magiging mas malinaw, at magagawa mong alisin ang ilan sa mga tanong mula sa kategoryang "Hindi ko alam". Dapat kang maghanap ng mga sagot sa iba pang mga tanong sa iyong sarili sa Google o YouTube. Bigyan ang iyong sarili ng ilang oras upang maghanap. Kung hindi mo nalutas ang problema sa iyong sarili, huwag mag-atubiling humingi ng tulong sa iyong mga kasamahan.

5 Pinakamahusay na Java Libraries para sa Pinakamataas na Produktibo

Pinagmulan: Katamtaman Malamang na nagsulat ka na ng code sa Java at naisip na, "Dapat may mas mahusay na paraan...". Makakatulong ang mga library ng Java na malutas ang mga ganitong problema. Dinadala ko sa iyong pansin ang lima sa mga pinakamahusay, sa palagay ko, mga aklatan, ang paggamit nito ay magpapataas ng iyong pagiging produktibo at kahusayan sa trabaho.Coffee break #42.  Ano ang gagawin kung hindi mo alam ang isang bagay.  5 Pinakamahusay na Java Libraries para sa Pinakamataas na Pagganap - 2

1. Lombok

Ang Project Lombok ay isang Java library na gumagamit ng mga anotasyon upang bawasan ang boilerplate code. Maaari kang gumamit ng mga anotasyon tulad ng @Getter upang awtomatikong bumuo ng getField() na mga pamamaraan . Narito ang ilang sinusuportahang anotasyon:
  • @Getter at @Setter, na bumubuo ng mga getter at setter;
  • Awtomatikong bumubuo ang @EqualsAndHashCode ng mga pamamaraan ng Equals at HashCode na umaayon sa mga kontrata ng Equals at HashCode ;
  • Ang @ToString ay bumubuo ng toString() na paraan na sumusunod sa format na ClassName(fieldName = value, fieldName2 = value...) ;
  • Awtomatikong ipinapatupad ng @Builder ang pattern ng tagabuo upang gawing mas madali ang paggawa ng iyong POJO;
  • Ang @Data ay shorthand para sa @Getter, @Setter, @EqualsAndHashCode, @ToString at @RequiredArgsConstructor!
Marami pang sinusuportahan at madaling nako-customize na mga anotasyon. Ang pakikipagtulungan sa kanila ay magliligtas sa iyo mula sa pagsulat ng boilerplate code.

2. Bayabas

Ang Guava ay isang Java library na ginawa at pinapanatili ng Google. Naglalaman ito ng maraming mga utility na malawakang ginagamit sa pagtatrabaho sa code. Narito ang ilan lamang sa mga tampok ng Guava:
  • Mga extension ng koleksyon, gaya ng Multimap<k, v="">, kung saan sinusuportahan ng Map ang maraming value para sa isang ibinigay na key, na katumbas ng Map <k, collection="" <v="">> na may mas malinis na API ;</k, ></k,>
  • ang Graphs package, na kinabibilangan ng ilang mga utility para sa pagmomodelo ng graphical na data;
  • concurrency utility gaya ng MoreExecutors, Atomics at ListenableFuture.
Maraming makikita sa library ng Guava. Pinasikat ito ng suporta ng Google, kaya makatitiyak ka na ang kanilang mga API ay lubusang nasubok at sinusuportahan. Kung kailangan mong lutasin ang anumang karaniwang problema sa Java, tiyak na makakahanap ka ng solusyon sa Guava!

3. Hibernate

Ang hibernate ay isang object-relational mapping library na nagbibigay-daan sa iyong makipag-ugnayan sa isang database nang hindi kinakailangang mag-alala tungkol sa pagsasalin sa pagitan ng mga SQL table at POJO. Ang website ng Hibernate ay nagbibigay ng sumusunod na impormasyon tungkol sa library: “Sa Hibernate, maaari kang lumikha ng mga pangmatagalang klase ayon sa natural na object-oriented na mga prinsipyo, kabilang ang inheritance, polymorphism, association, composition, at Java Collections. Ang hibernate ay hindi nangangailangan ng mga interface o baseng klase para sa mga pangmatagalang klase at pinapayagan ang anumang klase o istruktura ng data na maging matiyaga." Gamitin ang Hibernate upang mapabuti ang patuloy na pag-iimbak ng data at alisin ang libu-libong linya ng database code.

4. Magkunwari

Ang OpenFeign ay isang library mula sa Netflix na nagpapadali sa paggawa ng mga RESTful HTTP client sa Java. Para gumawa ng Feign client, ilarawan mo lang ang interface na may mga detalye ng kahilingan at tugon. Ito ay pinakamahusay na inilarawan sa isang halimbawa:
@FeignClient(url = "https://github.com")
interface GitHubClient {
    @RequestLine("GET /users/{username}/repos?sort=full_name")
    List<repository> repos(@Param("username") String owner);

    @RequestLine("GET /repos/{owner}/{repo}/contributors")
    List<contributor> contributors(@Param("owner") String owner, @Param("repo") String repo);

    @RequestLine("POST /repos/{owner}/{repo}/issues")
    void createIssue(Issue issue, @Param("owner") String owner, @Param("repo") String repo);
}
</contributor></repository>
Ang interface ng GitHubClient na binanggit sa itaas ay gagawa ng mga kahilingan sa GET at POST na inilarawan sa mga pamamaraan. Magde-default ang client na ito sa paggamit ng JSON format para sa lahat ng kahilingan. Mayroong maraming mga setting para sa Feign client:
  • mga encoder at decoder upang piliin kung paano isi-serialize at deserialized ang mga POJO sa network;
  • Mga retryer upang tukuyin ang mga panuntunan at lohika sa muling pagsubok;
  • RequestInterceptors para sa iba pang mga pre-request na gawain tulad ng pagtanggap ng cookies o awtorisasyon.
Gamit ang Feign, maaari mong alisin ang pangangailangang manu-manong magsulat ng mga kliyente ng HTTP! Tandaan: Kung gumagamit ka ng Spring, dapat mong gamitin ang Spring Cloud OpenFeign , na ang pagsasama sa Spring ay mas mahusay kaysa sa OpenFeign sa sarili nitong.

5. Spring Boot

Panghuli ngunit hindi bababa sa, ang aklatan ay Spring Boot . Pinapasimple ng Spring Boot ang proseso ng paggawa ng mga application na Java na handa sa produksyon. Pinapayagan nito:
  • lumikha ng mga standalone na application ng Spring;
  • direktang i-embed ang Tomcat, Jetty o Undertow (nang hindi kailangang mag-deploy ng WAR files);
  • magbigay ng "starter" dependencies upang pasimplehin ang build configuration;
  • awtomatikong i-configure ang Spring at third-party na mga aklatan;
  • Nagbibigay ng mga out-of-the-box na feature gaya ng mga sukatan, pagsusuri sa kalusugan, at panlabas na configuration.
Mayroong isang makabuluhang curve sa pag-aaral sa paggamit ng Spring Boot, ngunit tinitiyak ko sa iyo na sulit ito. Binawasan ng Spring Boot ang oras ng pagbuo ng lahat ng aking mga proyekto at patuloy na nagbibigay ng mga benepisyo dahil sa katatagan, pagpapalawak, at pagiging madaling mabasa nito.

Konklusyon

Sa kabila ng katotohanan na ang Java ay itinuturing ng marami bilang isang "lumang" wika na kulang sa ilang mga tampok ng mga mas bagong wika, mayroon itong natatanging suporta sa anyo ng isang malaking bilang ng mga aklatan at isang malaking komunidad ng mga developer. Samakatuwid, makakaranas ka ng mas kaunting mga problema sa iyong trabaho. Gamit ang mga library ng Java, maaari mong pataasin ang iyong pagiging produktibo. Huwag muling likhain ang gulong - tumuon sa pangunahing kakayahan!
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION