精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

每個Java開發者應該知道的八個工具

開發 后端
使用正確的工具不僅僅幫助你節省時間提高效率,還能提高你作品的質量并享受日常工作。我們要時刻留心,發現并學習新的工具。一開始可能需要一些努力,但你總會意識到付出的時間是值得的。

在Stormpath(一款用戶管理和認證服務),我們認真對待質量和效率。任何一個優秀的工匠,僅僅擁有天賦是不夠的,你在工作中還需要正確的工具。工程學不僅僅是科學,更是藝術。所以,在Stormpath,盡管我們擁有天賦,我們仍不斷尋找所需的有用的工具。我們的工程師一直渴望向團隊其他人分享新工具。現在,讓我們向所有充滿天賦的Java開發者推薦工具。

在這篇文章中,我將分享我們Java團隊日常工作使用的工具,并介紹如何使用它們,分享一些實用的小技巧。

[[179739]]

1.Groovy

我們使用Groovy來寫Java測試。為什么?因為它提供了下面這些能力:

寬松的Java語法:這是Java語法,但有些其他規則,比如分號,變量類型,訪問修飾符都是可選的。后者對于測試意義重大,由于訪問修飾符不是嚴格的,你的測試可以讀取并斷言類內部的狀態。舉個例子,我們假設下面一個類:

  1. public class Foo { 
  2.     private String bar = null
  3.  
  4.     public void setBar(String bar) { 
  5.         this.bar = bar; 
  6.     } 

如果你想測試setBar(String)方法正常(即能正確修改bar的值),你可以用Groovy方便的讀取變量值。Java中不允許這樣的操作(在不涉及Java反射機制前提下)。

 

  1. @Test public void test() { 
  2.     def foo = new Foo() 
  3.     foo.setBar("hello"
  4.     Assert.isTrue(foo.bar.equals("hello")) 
  5.     //groovy 允許我們訪問私有變量 bar 

強大的斷言:Groovy提供強大多樣的assert,被稱作power assertion statement。Groovy的強大斷言能夠清晰的展示驗證失敗時的結果。另外,它比Java更有可讀性。

  1. Assert.isTrue(foo.bar.equals("hello")); 

可以用Groovy這樣寫:

  1. assert foo.bar == "hello" 

當斷言失敗時它會顯示一個非常清晰的描述:

 

  1. assert foo.bar == "goodbye" 
  2.        |   |   | 
  3.        |   |   false 
  4.        |   hello 
  5.        Foo@12f41634 

Mocking:使用Java時,動態模擬框架(如:EasyMock,PowerMock和Mockito)非常流行,這些框架可以在Groovy下方便的使用。耶!

2.支持REST風格

我們的后端提供REST API服務來創建和管理賬戶,眾多SDK中,我們的Java SDK提供特定語言客戶端模型做簡單交互。其中一些SDK也提供網頁來和后端交互,從而不用編寫代碼。

為了保證網絡框架的互操作性,它們必須表現的一樣。因此我們需要創建一系列基于HTTP的測試。這是我們的兼容性測試工具。這個項目由我們的SDK工程師維護,他們精通不止一種語言。因此我們需要跨語言測試工具,謝天謝地Rest-assured來了。

Rest-assured是Java領域特定語言(DSL domain-specific language)用來測試REST服務,它簡單易用易上手,甚至對于沒有用過Java的開發者也是難以置信的強大。它提供先進的特性,比如細節配置、過濾器、定制分析、跨站請求偽造(CSRF)和OAuth 2.0。它提供非常簡單的語法:given-when-then。

舉個例子:讓我們來看它如何校驗“向/login路徑發送post認證信息請求返回302狀態碼”:

given() .accept(ContentType.HTML) .formParam("login", account.username) .formParam("password", account.password) .when() .post(LoginRoute) .then() .statusCode(302)

你可以在我們的TCK repo中看到更多Rest-assured測試

3.Cargo Plugin

為了讓我們的Java SDK按照TCK校驗,我們需要開啟我們其中一個Web服務,以便測試在上面執行。講道理的話,我們需要每次構建時自動測試,Gargo Plugin就是為此而生。

Cargo用標準的方式簡單封裝各種應用容器。我們使用Cargo可以毫不費力的在不同的Servlet容器(比如Jetty和Tomcat)中運行我們的代碼。我們只需要在我們的pom文件中配置Cargo Maven2 Plugin來啟動一個Servlet容器(Tomcat7),在測試階段編譯最近的War包,你可以在我們的Servlet插件例子中看到配置。

4.Git

我們能討論哪些關于Git你不了解的事情呢?想要深入了解Git,你可以看他們的About頁。

我們的Java SDK團隊遍布全球,而且彼此之間幾乎從未坐在一起。Git保障了我們寫的每一行代碼,這里有一些非常棒的命令,節省了我們大量的時間:

  • git mv –force foo.java Foo.java:在大小寫敏感的文件系統中改變文件名是非常麻煩的,這個命令能讓git意識到foo.java重命名為Foo.java

  • git diff-tree –no-commit-id –name-only -r <commit_ID>:查看所有在<commit_ID>這次提交中更改的文件。

  • git diff –name-only SHA1 SHA2:列舉出在SHA1和SHA2兩次提交之間所有更改的文件。

  • 在一個文件的歷史提交記錄中查詢某個字符串:創建search.sh文件,粘貼下面代碼:

  1. git rev-list --all $2 | ( 
  2.     while read revision; do 
  3.         git grep -F $1 $revision $2 
  4.     done 

命令可以通過這種方式執行:sh ./search.sh string_to_search file_where_to_search

5.GitHub

GitHub不僅僅為我們的Git項目提供托管服務,它為代碼開源并讓全世界都看到做出了巨大貢獻。這鼓舞了人們去嘗試、去交流、去練習,很大程度提高了每個人的項目質量和大家的技術水平。

GitHub允許我們跟進我們的issue.游客可以提交新需求和報告bug。他們也可以收到我們項目進展的通知。

6.Maven

Maven已經足夠出名了。所以我不會用長篇幅解釋為什么我們使用Maven做構建管理。然而我可以分享幾個技巧,讓你的Maven更得心應手:

管理依賴:在一個多模塊的項目中,你需要在根pom.xml的<dependencyManagement>標簽中定義每一個依賴。一旦你這樣做,所有下層模塊都可以不需要指定版本。這種管理依賴的方式(比如版本升級)可以集中處理,所有下層模塊都會自動識別。比如在根pom.xml:

  1. <dependencyManagement> 
  2.   <dependencies> 
  3.     <dependency> 
  4.         <groupId>io.jsonwebtoken</groupId> 
  5.         <artifactId>jjwt</artifactId> 
  6.         <version>${jjwt.version}</version> 
  7.      </dependency> 
  8.      ... 
  9.   <dependencies> 
  10. <dependencyManagement> 

下層模塊的pom.xml:

  1. <dependencies> 
  2.   <dependency> 
  3.       <groupId>io.jsonwebtoken</groupId> 
  4.       <artifactId>jjwt</artifactId>  <!-- 注意這里沒有指定版本 --> 
  5.   </dependency> 
  6.   ... 
  7. <dependencies> 

阻止下層模塊編譯:在發布的時候我們需要所有下層模塊一起發布,但是我們如何避免某個模塊(比如example)發布呢?很簡單,只需要把下面的pom文件加入到你不想發布的模塊:

  1. <plugin> 
  2.     <groupId>org.apache.maven.plugins</groupId> 
  3.     <artifactId>maven-deploy-plugin</artifactId> 
  4.     <version>2.7</version> 
  5.     <configuration> 
  6.         <skip>true</skip>  <!-- (敲黑板)這是重點 --> 
  7.     </configuration> 
  8. </plugin> 

跳過集成測試:我們有很多集成測試需要很長時間編譯。這些測試確保了后端整體運行正常.在頻繁的本地部署期間,我們多次因為新功能或修復bug而更改代碼。并不需要每次在本地構建的時候執行這些測試,這會拖慢開發進度。因此我們要確保我們的Java SDK只在我們的CI服務器上運行的時候執行集成測試。可以通過下面方法:

根pom.xml文件:

  1. <properties> 
  2.     <skipITs>true</skipITs> 
  3. </properties> 
  4. ... 
  5. <build> 
  6.     <plugins> 
  7.         <plugin> 
  8.             <groupId>org.apache.maven.plugins</groupId> 
  9.             <artifactId>maven-failsafe-plugin</artifactId> 
  10.             <version>2.19.1</version> 
  11.             <configuration> 
  12.                 <skipITs>${skipITs}</skipITs> 
  13.                 <includes> 
  14.                     <include>**/*IT.*</include> 
  15.                 </includes> 
  16.             </configuration> 
  17.             <executions> 
  18.                <execution> 
  19.                    <goals> 
  20.                        <goal>integration-test</goal> 
  21.                        <goal>verify</goal> 
  22.                    </goals> 
  23.                </execution> 
  24.             </executions> 
  25.         </plugin> 
  26.   </plugins> 
  27. <build> 

所以你可以想象到,所有集成測試文件以IT結尾,來保證配置正常運作,比如:ApplicationIT.groovy 或 I18nIT.groovy

然后,如果我們想讓集成測試運行,我們執行以下構建:mvn clean install -DskipITs=false

7.JWT Inspector

我們的Java SDK使用JWT(JSON Web Token)通過安全可靠的方式傳輸數據。當我們測試排查時,我們需要分析從瀏覽器接收到的JWT內容。token信息可能在URL,cookie或本地儲存中。JWT Inspector是一款瀏覽器插件,讓我們可以從控制臺或內置的界面解碼JSON Web Token。你不需要在你的app中跟蹤token信息。你只需要按一下插件的按鈕,JWT Inspector會自動展示你所需要的所有信息,然后你可以復制其中任何token信息。

8.Postman

我們重度依賴REST API請求,編寫REST請求并不方便,具體語法取決于我們所用的工具,比如curl或HTTPie。兩者都易讀,但語法難記。通常,我們需要排查問題時,我們需要測試一些請求。當出問題時,我們無法判斷原因是請求還是后端。我們浪費了大量時間來懷疑我們寫的請求是否正確。

Postman讓書寫REST API請求變得簡單。它也提供很多功能,比如保存、復用請求、生成代碼(java,python,curl等等),還可以批量按序執行請求。Postman通過友好的界面幫助你構建復雜的命令,你所需要做的就是填寫一個表單,簡直不能再棒了。

總結

使用正確的工具不僅僅幫助你節省時間提高效率,還能提高你作品的質量并享受日常工作。我們要時刻留心,發現并學習新的工具。一開始可能需要一些努力,但你總會意識到付出的時間是值得的。

譯文鏈接:http://www.codeceo.com/article/8-tools-every-java-developer-love.html
英文原文:Eight Tools Every Java Developer Should Know (and Love)

 

責任編輯:張燕妮 來源: 碼農網
相關推薦

2025-03-05 09:21:08

2017-04-12 09:42:29

Java開發工具

2019-11-20 12:09:01

JavaScriptGitHub工具

2016-03-04 10:18:24

xcode技巧開發

2023-11-17 14:18:48

開發編程

2016-03-04 10:25:50

Xcode技巧開發

2023-11-27 15:49:55

軟件開發系統設計

2022-04-27 09:48:56

JS前端開發

2024-01-26 06:25:09

PyCharm插件代碼

2025-08-29 07:00:00

Go并發開發

2022-05-26 07:31:42

索引SQL后端

2023-12-01 15:38:22

IT領導者數字化轉型

2012-11-13 10:34:03

PythonWeb

2013-06-26 09:42:52

Web開發URL編碼URL

2019-11-23 23:38:51

開發者微服務安全

2018-10-16 11:03:19

API開發者AR

2023-08-11 18:11:49

2021-03-09 10:26:24

Python開發工具

2011-10-11 10:07:37

2024-01-09 18:03:30

開發者插件代碼
點贊
收藏

51CTO技術棧公眾號

香蕉视频免费在线播放| 国产做受高潮漫动| 亚洲一二三区视频| 欧美日韩国产一区在线| 亚洲成人一区二区三区| 成 人 免费 黄 色| 免费在线亚洲| 欧美乱大交xxxxx| 日本aaa视频| 国产精一区二区| 欧美日韩中文在线| 欧洲xxxxx| 日韩电影免费| 国产一区二区精品在线观看| 清纯唯美日韩制服另类| 麻豆视频在线免费看| 夜夜春成人影院| 日韩一区二区三区在线| 成年人网站大全| 激情在线视频播放| 国产精品欧美一区二区三区| 好看的日韩精品| hs视频在线观看| 日本vs亚洲vs韩国一区三区| 国内精品久久久久久久| 视频国产一区二区| 欧美禁忌电影| 亚洲精品短视频| 下面一进一出好爽视频| 欧美少妇激情| 色欧美片视频在线观看 | 亚洲国产精品欧美久久| 蜜乳av一区二区| 欧美孕妇与黑人孕交| 国产亚洲小视频| 欧美一区成人| 久久久精品国产亚洲| 韩国三级hd中文字幕| 欧美变态挠脚心| 精品国产一区二区三区四区四| 色免费在线视频| 欧美成人精品三级网站| 日韩欧亚中文在线| 丰满少妇被猛烈进入高清播放| 蜜桃传媒在线观看免费进入| 亚洲男人的天堂在线aⅴ视频| 亚洲 国产 日韩 综合一区| 日本福利午夜视频在线| 91污在线观看| 久久久久一区二区三区| 乱色精品无码一区二区国产盗| 国产精品99久久不卡二区| 成人激情视频在线播放| 国产精品高潮呻吟av| 久久精品国产99国产精品| 国产精品成人国产乱一区| 中文字幕69页| 蜜桃伊人久久| 国产成+人+综合+亚洲欧洲| 久久精品人妻一区二区三区| 欧美三级网页| 97人洗澡人人免费公开视频碰碰碰| 久久久久97国产| 激情欧美亚洲| 97婷婷涩涩精品一区| 97超碰人人干| 久久精品日韩欧美| 国产精品精品一区二区三区午夜版| 香蕉影院在线观看| 日韩中文字幕av电影| 国产精品777| 国产精品久久久久久久久久久久久久久久久久 | 国产免费久久久| 国产乱码精品一品二品| 国产精品一区二区欧美黑人喷潮水| 国产视频一二三四区| 国产不卡在线视频| 久久大片网站| eeuss影院在线播放| 中文字幕视频一区二区三区久| 超级碰在线观看| 91黄页在线观看| 色噜噜狠狠成人网p站| 国产91色在线观看| 欧洲精品99毛片免费高清观看 | 欧美主播一区二区三区美女| 天堂网在线免费观看| 亚洲精选av| 亚洲人精品午夜在线观看| 一区二区三区国产福利| 波多野结衣一区二区| 亚洲色图丝袜美腿| 黄网站欧美内射| 国产黄色精品| 精品粉嫩aⅴ一区二区三区四区| 给我看免费高清在线观看| 日韩欧美二区| 97久久精品在线| 91精品国产乱码久久久久| 成人性色生活片| 日韩精品第一页| 美女91在线| 欧美在线观看你懂的| 国产chinesehd精品露脸| 女人av一区| 欧美国产高跟鞋裸体秀xxxhd| 亚洲乱码国产乱码精品| 国产高清亚洲一区| 日韩欧美在线电影| ririsao久久精品一区| 欧亚洲嫩模精品一区三区| 日韩成人av影院| 色综合久久一区二区三区| 97香蕉久久夜色精品国产| 国产一区二区网站| 久久久久久一二三区| 嫩草影院中文字幕| 日韩av黄色| 亚洲人成电影在线| 国产大片中文字幕| 国产一区二区三区在线看麻豆| 欧美一区二区三区电影在线观看| 日本片在线观看| 欧美日韩不卡一区二区| 能免费看av的网站| 日韩图片一区| 国产精品久久久久久久久婷婷| 免费看a在线观看| 91成人看片片| 亚洲熟妇一区二区三区| 亚洲精品系列| 国产精品一区二区免费| 国产探花视频在线观看| 欧美一级艳片视频免费观看| 青青青视频在线播放| 久久综合图片| 免费影院在线观看一区| av第一福利在线导航| 日韩欧美国产电影| 久草资源在线视频| 国产老女人精品毛片久久| 特级黄色录像片| 在线不卡一区| 蜜臀久久99精品久久久无需会员| 91亚洲精品国偷拍自产在线观看| 国产精品美女久久福利网站| 色多多视频在线播放| 精品久久国产| 国产精品免费视频久久久| yes4444视频在线观看| 在线免费av一区| 精品人妻中文无码av在线| 久热re这里精品视频在线6| 欧美国产一区二区在线| 国产不卡网站| 夜夜躁日日躁狠狠久久88av | 午夜在线a亚洲v天堂网2018| 精品一区2区三区| 午夜欧美激情| 亚洲性日韩精品一区二区| 日本精品入口免费视频| 欧美国产欧美综合| 蜜桃福利午夜精品一区| 综合久久99| 国产一区二区高清视频| 亚洲精品永久免费视频| 国产亚洲欧美日韩精品| 夜夜嗨av禁果av粉嫩avhd| 中文字幕亚洲在| www.偷拍.com| 日韩视频久久| 色综合电影网| 99精品女人在线观看免费视频| 日韩午夜在线视频| 精品久久在线观看| 亚洲黄一区二区三区| 日本黄色一级网站| 国产亚洲亚洲| 在线观看欧美一区| 国产精伦一区二区三区| 国产国产精品人在线视| 麻豆系列在线观看| 亚洲成人精品久久久| 少妇高潮av久久久久久| 18成人在线视频| 好吊色视频一区二区三区| 丝袜亚洲另类欧美| 视色,视色影院,视色影库,视色网| 国产精品对白久久久久粗| 国产成人精品日本亚洲专区61 | 韩日欧美一区二区| 成人高清免费在线播放| 日韩欧美一卡二卡| 无码人妻精品一区二区三区9厂| 亚洲色图制服诱惑| 你懂得在线视频| 久久99精品国产91久久来源| 免费av手机在线观看| 日韩电影免费网址| 国产精品三区www17con| 日韩av黄色| 日本电影亚洲天堂| 色操视频在线| 中文字幕国产日韩| 天天操天天干天天操| 欧美日韩第一区日日骚| 国产无遮挡呻吟娇喘视频| 亚洲视频一区二区免费在线观看| 最新中文字幕视频| 国产 欧美在线| 国内国产精品天干天干| 亚洲欧美卡通另类91av| 久久男人资源站| 93在线视频精品免费观看| 久久综合九色综合网站| 亚洲综合色婷婷在线观看| 成人黄在线观看| 国产91欧美| 日本精品视频在线播放| 91av久久| 欧美日韩福利视频| 免费黄色在线看| 在线观看国产精品91| 天堂中文资源在线| 欧美精品一区二区三| 99精品视频免费看| 欧美精品在线一区二区三区| 人人妻人人爽人人澡人人精品 | 波多野结衣激情视频| 精品久久中文字幕| 欧美一级高潮片| 亚洲激情av在线| 精品99在线观看| 亚洲激情男女视频| 免费一级a毛片夜夜看| 亚洲男同性恋视频| 午夜免费激情视频| 亚洲精品免费一二三区| 看免费黄色录像| 亚洲日本成人在线观看| 黑人狂躁日本娇小| 国产精品不卡一区二区三区| www.日本高清视频| 国产精品系列在线| 少妇愉情理伦三级| 国产精品日产欧美久久久久| 日本精品久久久久中文| 国产精品国产三级国产aⅴ中文| 欧美三级视频网站| 国产精品美女久久久久av爽李琼| 国产又粗又猛又爽又黄的视频四季| 欧美国产日韩在线观看| 99久久精品久久亚洲精品| 亚洲欧洲色图综合| 久久久久久久久毛片| 一区二区不卡在线视频 午夜欧美不卡在| 四虎永久免费在线| 又紧又大又爽精品一区二区| 免费日韩在线视频| 香蕉乱码成人久久天堂爱免费| 日韩手机在线观看| 色综合欧美在线| 在线播放亚洲精品| 欧美一卡二卡在线| 日本人妻丰满熟妇久久久久久| 亚洲国产又黄又爽女人高潮的| 日韩电影网址| 色偷偷噜噜噜亚洲男人| 亚洲wwwww| 97精品欧美一区二区三区| 国产精品高清乱码在线观看| 国产综合视频在线观看| 日韩一区二区三区精品| 精品一区在线播放| 成人在线免费观看视频| 黄色特一级视频| 欧美亚洲视频| 午夜啪啪小视频| 本田岬高潮一区二区三区| 无码少妇精品一区二区免费动态| 中文字幕一区二区三区视频 | 欧美色综合网站| 国产成人麻豆精品午夜在线| 日韩av在线最新| 日本综合在线| 午夜精品久久久久久99热| 日韩视频网站在线观看| 5g影院天天爽成人免费下载| 少妇精品导航| 久久久久亚洲av无码专区喷水| 亚洲免费黄色| 免费精品99久久国产综合精品应用| 成人免费高清视频| 四虎影视1304t| 婷婷久久综合九色综合绿巨人 | 久久在线视频精品| 色中色一区二区| 亚洲a视频在线观看| 一区二区三区视频在线| 97超碰在线免费| 91欧美精品成人综合在线观看| 亚洲大片精品免费| 男女啪啪免费观看| 日韩和的一区二区| 亚洲成a人无码| 中文字幕一区二区三| 国产亚洲欧美在线精品| 亚洲第一级黄色片| caoporn免费在线视频| 国产精品h在线观看| 国产区精品视频在线观看豆花| 中文字幕一区二区三区四区五区| 久久成人精品| 精品视频站长推荐| 亚洲卡通欧美制服中文| 中文字幕 日韩有码| 日韩精品极品毛片系列视频| 日本在线视频www鲁啊鲁| 91在线看www| 欧美aaaa视频| 三年中国国语在线播放免费| 久久一区二区视频| 中日韩黄色大片| 亚洲电影在线观看| 牛牛在线精品视频| 亚洲一区二区久久久久久久| 欧美xxxxx视频| 日本熟妇人妻中出| 久久毛片高清国产| 欧美日韩综合在线观看| 亚洲护士老师的毛茸茸最新章节| 欧美寡妇性猛交xxx免费| 亚洲在线视频福利| 一区二区三区网站| 成人性生交视频免费观看| 亚洲欧洲另类国产综合| 国产精品久久久久久在线| 中文字幕少妇一区二区三区| 日韩成人亚洲| 亚洲一区二区三区欧美| 久久精品99国产精品| 特黄一区二区三区| 欧美精品久久久久久久久老牛影院| 在线国产91| 亚洲自拍小视频| 欧美福利在线| 91人人澡人人爽| 亚洲电影第三页| 天天综合天天色| 国产成人一区二区三区电影| 欧美极品在线观看| 黑森林精品导航| 亚洲欧洲色图综合| 亚洲av无码乱码国产精品| 欧美激情a在线| 欧美亚视频在线中文字幕免费| 成人毛片一区二区| 久久久综合网站| 中日韩在线观看视频| 久久精品国产欧美亚洲人人爽| 久久久精品区| 欧美亚洲日本一区二区三区| 久久久久久久久蜜桃| 国产精品露脸视频| 大胆欧美人体视频| 国产精品18hdxxxⅹ在线| 国产午夜福利视频在线观看| 国产婷婷色一区二区三区在线| 在线视频你懂得| 欧美精品在线免费| 欧美日韩一区二区三区不卡视频| 日韩中文字幕二区| 国产精品欧美一区二区三区| 午夜久久久久久久久久| 欧美在线视频一二三| 欧美肥老太太性生活| xfplay5566色资源网站| 色综合色综合色综合| 国产激情小视频在线| 国产欧美综合精品一区二区| 日韩av一区二区三区| 九九免费精品视频| 亚洲欧美日韩区| 麻豆精品久久| av动漫在线观看| 一区二区久久久久| 国产视频精品久久| 99视频国产精品免费观看| 日韩一区欧美二区| 九九视频免费在线观看| 亚洲男女性事视频| 欧美.com| 亚洲一二三区av| 亚洲444eee在线观看| 麻豆av免费在线观看| 久久久久久99| 国产精品自拍在线| 丰满人妻一区二区三区四区| 韩日精品中文字幕| 羞羞答答成人影院www|