JavaRush /Java Blog /Random-TW /喝咖啡休息#42。如果您不知道某事該怎麼辦。實現最大生產力的 5 個最佳 Java 函式庫

喝咖啡休息#42。如果您不知道某事該怎麼辦。實現最大生產力的 5 個最佳 Java 函式庫

在 Random-TW 群組發布

如果您不知道某事該怎麼辦

來源:Dev.to 如果您是開發人員,遲早可能會出現您不知道如何解決問題的情況。在你職業生涯的任何階段,這都是一個非常不愉快的時刻。畢竟,儘管你什麼都不知道,你還是必須完成任務。在這篇文章中,我將分享我的個人經驗,並告訴您什麼將有助於找到此類問題的解決方案。喝咖啡休息#42。 如果您不知道某事該怎麼辦。 實現最佳效能的 5 個最佳 Java 庫 - 1

問問題

當我還是個初學者時,我害怕提問,直到最後一刻我試著自己解決所有問題。我會花費大量時間來解決問題並保持沉默,直到最終不得不與我的老闆或客戶交談。我明白我為什麼要做我所做的事情。我避免提問,因為我不想在別人面前顯得愚蠢。在我看來,除了我之外,其他人很快就抓住了本質,明白了它的意思。多虧了同事們的幫助,我終於開始放下自尊,有不懂的地方就問。

Google 和 YouTube 是您最好的朋友

我曾經看過一個視頻,展示谷歌如何回答荒謬或有趣的問題。儘管答案也很有趣,但我意識到如果出現任何問題,谷歌絕對可以提供幫助。因此,如果您陷入了困境,請不要忘記透過這個搜尋引擎尋找答案。YouTube 在解決問題上也幫了我很多忙。特別是在需要更深入了解主題的情況下。然後我一直在尋找熱門影片。

多一雙眼睛不會有什麼壞處

如果您無法解決問題,請不要讓憤怒和沮喪吞噬您。這種情況的一個明顯例子是您需要維護過時的程式碼庫,由於缺乏文檔,您必須進行逆向工程。當然,這需要付出很大的努力。您必須深入研究程式碼庫,了解以前開發人員的風格。在這種情況下,強烈建議您以外的人檢查代碼。對方可能會指出你錯過或不明白的事情。這樣就可以加快解決問題的速度。

如果你被某件事困住了,不要怪自己。

我想特別注意這一點。如果你被困在某個地方,不要對自己生氣。是的,當你無法解決問題時,那不是很愉快。冒名頂替症候群可能會惡化,您可能會覺得自己一無是處,並對自己是一名優秀的開發人員失去信心。我確信,如果一個人在工作中從來沒有被什麼事情卡住過,那隻是因為他在自己的舒適圈裡行動,沒有超越他慣常的行動。為了應對意外情況做好準備,請與能夠推動您提高專業水平的人進行溝通。如果您遇到沒有準備好的事情,請不要沮喪。這些案例有助於發現知識差距並相應地填補它們。

休息一下

這可能看起來效率不高,但當你正在做一些大而複雜的事情時,短暫的休息對於緩解壓力有很大幫助。步行 15 分鐘、與人交談、鍛鍊身體,甚至小憩一下。休息有助於提神,此外,大腦一直在工作,在潛意識層面的某個地方它解決了手頭的任務。因此,您可能會在喝咖啡的同時突然靈光一現。

結論

解決問題時要做的第一件事就是列出你知道的和不知道的清單。此後,您應該向分配您此任務的人提出澄清問題。也許在這個階段,事情會變得更加清晰,你將能夠從「我不知道」類別中刪除一些問題。您應該自己在 Google 或 YouTube 上搜尋其他問題的答案。給自己一些時間去找。如果您無法自行解決問題,請毫不猶豫地向同事尋求協助。

實現最大生產力的 5 個最佳 Java 函式庫

來源:Medium 您可能曾經用 Java 編寫過程式碼並想:「一定有更好的方法...」。Java 庫可以幫助解決此類問題。我提請您注意我認為最好的五個圖書館,使用它們將提高您的生產力和工作效率。喝咖啡休息#42。 如果您不知道某事該怎麼辦。 實現最佳效能的 5 個最佳 Java 庫 - 2

1. 龍目島

Project Lombok是一個使用註解來減少樣板程式碼的 Java 函式庫。可以使用@Getter等註解自動產生getField()方法。以下是一些支持的註解:
  • @Getter 和 @Setter,生成 getter 和 setter;
  • @EqualsAndHashCode 自動產生符合EqualsHashCode契約的EqualsHashCode方法;
  • @ToString 產生遵循格式ClassName(fieldName = value, fieldName2 = value...)的toString()方法;
  • @Builder 自動實現建構器模式,使創建 POJO 變得更容易;
  • @Data 是 @Getter、@Setter、@EqualsAndHashCode、@ToString 和 @RequiredArgsConstructor 的簡寫!
還有更多受支援且易於自訂的註釋。使用它們將使您免於編寫樣板程式碼。

2.番石榴

Guava是一個由 Google 創建和維護的 Java 程式庫。它包含許多廣泛用於處理程式碼的實用程式。以下是 Guava 的一些功能:
  • 集合擴展,例如 Multimap<k, v="">,其中 Map 支援給定鍵的多個值,相當於具有更乾淨 API 的 Map <k, collection="" <v="">> ;</ k,></k,>
  • Graphs 包,其中包括許多用於對圖形資料進行建模的實用程式;
  • 並發實用程序,例如 MoreExecutors、Atomics 和 ListenableFuture。
Guava 庫中有很多東西可以找到。Google 的支援使其非常受歡迎,因此您可以放心,他們的 API 都經過了徹底的測試和支援。如果您需要解決任何常見的 Java 問題,Guava 一定能找到解決方案!

3.休眠

Hibernate是一個物件關聯映射庫,可讓您與資料庫交互,而不必擔心 SQL 表和 POJO 之間的轉換。Hibernate 網站提供了有關該程式庫的以下資訊: 「使用​​ Hibernate,您可以根據自然的物件導向原則建立長期存在的類,包括繼承、多態性、關聯、組合和 Java 集合。Hibernate 不需要長壽命類的介面或基類,並允許任何類或資料結構持久化。” 使用 Hibernate 改進持久性資料儲存並消除數千行資料庫程式碼。

4. 佯裝

OpenFeign是 Netflix 的一個函式庫,可以輕鬆地用 Java 建立 RESTful HTTP 用戶端。要建立 Feign 用戶端,您只需用請求和回應詳細資訊描述介面即可。最好用一個例子來說明這一點:
@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>
上述的 GitHubClient 介面將執行方法中所述的 GET 和 POST 請求。該用戶端將預設對所有請求使用 JSON 格式。Feign客戶端有很多設定:
  • 編碼器和解碼器,用於選擇 POJO 如何透過網路進行序列化和反序列化;
  • Retryers 指定重試規則和邏輯;
  • RequestInterceptors 用於其他預先請求任務,例如接收 cookie 或授權。
使用 Feign,您可以無需手動編寫 HTTP 用戶端!注意:如果您使用 Spring,則應該使用Spring Cloud OpenFeign,它與 Spring 的整合比 OpenFeign 本身更好。

5. 春季啟動

最後但並非最不重要的一點是,該函式庫是Spring Boot。Spring Boot 簡化了建立生產就緒的 Java 應用程式的過程。它允許:
  • 創建獨立的 Spring 應用程式;
  • 直接嵌入Tomcat、Jetty或Undertow(無需部署WAR檔案);
  • 提供「入門」依賴項以簡化建置配置;
  • 自動配置Spring和第三方函式庫;
  • 提供開箱即用的功能,例如指標、運行狀況檢查和外部配置。
使用 Spring Boot 有一個重要的學習曲線,但我向您保證這是值得的。Spring Boot 減少了我所有專案的開發時間,並因其穩定性、可擴展性和可讀性而繼續帶來好處。

結論

儘管 Java 被許多人認為是一種「古老」語言,缺乏新語言的一些功能,但它以大量程式庫和龐大的開發人員社群的形式提供了獨特的支援。因此,您在工作中遇到的問題將會顯著減少。使用 Java 程式庫可以提高您的工作效率。不要重新發明輪子-專注於核心能力!
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION