你知道的越多,你不知道的越多html
點贊再看,養成習慣前端
GitHub上已經開源 github.com/JavaFamily 有一線大廠面試點腦圖、我的聯繫方式和人才交流羣,歡迎Star和指教vue
這期是被人才羣交流裏,還有不少以前網友評論強行頂出來的一期,就是讓我介紹本身經常使用的一些工具給他們安利一下,我一聽很高興呀,帥丙我這麼樂於奉獻的人是吧。python
主要是能水一篇文章就很開心,不過寫下來發現花的時間徹底不比寫技術少,點贊!!!git
千萬不要白嫖,真香警告⚠️。程序員
可是我在構思這篇文章的時候發現我貼個標題,而後發下軟件信息會不會太乏味了,因而創做鬼才我呀,準備用一個產品的研發流程,是的就是用這樣的一個思路去寫這個工具集的介紹文章。github
由於讀者不少仍是學生,還有不少應屆生,對一個需求的研發流程都不是很熟悉,還有可能對於之後本身須要使用到的工具都不是很熟悉,那我就一一羅列一下,帥丙我做爲一個還算有點小經驗的程序員都使用哪些工具呢?web
那下面就跟隨暖男的腳步,走進頂級程序員的百寶箱吧(我全部的標題都是噱頭就爲了誇大其詞,我是低級程序員,你們看了也不能吊打面試官,笑笑就行了)。面試
注意:下面的軟件我都是簡單的介紹下是幹啥的,由於太多了,真正的功能須要你們深挖的,能力容許的朋友下載正版,破解方法去Github github.com/JavaFamily 加我回復【軟件】就行了。數據庫
既然都說了帥丙是要用一個產品的研發流程角度去介紹軟件,那咱們先看看一個產品有哪些研發流程,帥丙就用本身接觸的阿里系的研發流程舉例了,這也基本上是互聯網大廠的研發流程了,可能細節有出入,可是絕對大同小異。
Tip:我從開發的視角去介紹的話我就會跳過一些軟件,好比提出需求這個其實通常都是文檔類的,wiki呀這樣的形式。
我就不介紹那種流程工具了,公司不少自研的,你們工做了再去熟悉也很快的。
概要設計,這個是大廠程序員需求下來以後基本上都會作的一步,不過看需求大小,可能不少小需求直接就詳細設計了。
不少不了解的同窗可能會問,須要設計什麼呢?爲何要設計呢?
問得好,常常看我文章的都知道,技術是把雙刃劍,你用了技術以後你是否是須要列出他的優勢缺點,出問題以後的解決方案,還有可能出現的問題,注意點等等。
這麼是爲了讓你能有把控力,好比你用了個Es(Elasticsearch)你什麼都無論你就是要接入它,你把他開發好了上線了,可是有啥坑你知道麼?上線崩了怎麼辦?
帥丙我作Es設計的時候設計被老大打回N次,不過成長真心大,對Es的瞭解也飛速進步。
其實遠遠不止這些問題,這就是咱們作設計的主要緣由,也是你們工做裏面能成長的途徑之一,你覺得大佬們的經驗是怎麼來的?
我這裏列舉了兩個工具,他們兩個均可以作概要設計的腦圖,我給你們看看我設計過的一些腦圖,都是出自這兩個軟件。
你們在學習,看書等等的時候作個腦圖,我告訴你後面你複習仍是幹啥都思路賊清晰,並且效率瞬間高不少。
小夥伴又要問了啥是詳細設計呀帥丙?
誒呀簡單,見名知意嘛,概要設計是大概的設計,詳細設計是詳細的設計。
咱們研發的時候整個流程每每很複雜,若是你理解不對直接就寫代碼,最後容易形成返工,延期,加班,被罵,心情差,回家吵架,離家出走。。。
看到不作詳細設計的後果了吧,其實你們花點時間作詳細設計頗有必要,你思路徹底清晰了,寫代碼那就是分分鐘的事情,不是嘛?
那再看看帥丙的一個小設計吧,以前文章中大量的流程圖,時序圖都來自它,主要是這玩意仍是在線的,都不用下載很方便啊。
詳細設計的工具我用的就是在線做圖神器:ProcessOn
總之一句話很香,流程圖、思惟導圖、原型圖、UML、網絡拓撲圖、組織結構圖、BPMN等等包羅萬象
這個關鍵了:工欲善其事,必先利其器
想必你們都知道這個諺語吧,我就說一下我寫代碼要用到的軟件吧。
這個我想都不用我介紹了吧,Java的同窗都耳熟能詳了,有同窗問爲啥不用eclipse呀,我不做回答,可是我只能告訴你IDEA確定是效率還有不少方面都要香的。
不過看我的習慣的哈,新同窗仍是推薦IDEA!!!
有知道同窗要問了,帥丙這不是前端的開發工具麼,爲啥你要用,帥丙我呀全才來的呀,前端偶爾也寫點的嘛,主要是js,vue,jq,還有丟丟React,不過最近幫三歪改前端竟然是jsx有沒有大佬救救我啊。
這個是python以前那次還記得我寫代碼大賽那期嘛,最開始就是用這個寫的,平時學的時候也用用。
這個呀是數據庫的可視化工具很香很好用,不過咱們線上的表都是網頁操做的,這個只能用來看看本地的開發表了,不過也是頗有必要的,你SQL怎麼都得本地跑一下沒問題,才向DBA申請的嘛。
這個是接口調試的神器,單測比較繁瑣的你能夠試試這個嘛,不過不少接口仍是隻能寫寫單測,反正很香。
不過這個名字一看就是男生用的,那咱們女生用啥呢?往下看
PostMan一聽就是男生用的,咋妹子們確定要用最近開源的Postwoman啊,它是一款開源的 Postman 替代品
開源沒多久優勢以下:
- 輕盈,可直接在線訪問;
- 簡約,採用簡約的 UI 設計精心打造;
- 支持 GET, HEAD, POST, PUT, DELETE, OPTIONS, PATCH 方法;
- 支持驗證;
- 實時,發送請求便可獲取響應。
代碼文檔管理工具,版本控制工具,你們以後的代碼基本上都是使用git作版本管理
目前帥丙用到Maven的主要功能是:項目構建、項目構建、項目依賴管理、軟件項目持續集成、版本管理、項目的站點描述信息管理
Gradle是一個基於Apache Ant和Apache Maven概念的項目自動化構建開源工具。
它使用一種基於Groovy的特定領域語言(DSL)來聲明項目設置,目前也增長了基於Kotlin語言的kotlin-based DSL,拋棄了基於XML的各類繁瑣配置。
這個跟Maven功能是同樣的,可是二者語法不同,並且我以爲版本控制的時候沒Maven好使,有小坑,勝在語法簡潔。
這玩意是個HTTP代理服務器,我用它的主要用法就是抓包!
都知道我是作電商的嘛,不少線上接口線上問題怎麼排查呢,抓包看看數據唄。
Apache JMeter是Apache組織開發的基於Java的壓力測試工具
是的就是用來壓測的,你怎麼模擬不少請求呀,就用它就對了。
Dash for mac是使用與Mac OS平臺的軟件編程文檔管理工具,能夠瀏覽API文檔,以及管理代碼片斷工具。Dash自帶了豐富的API文檔,涉及各類主流的編程語言和框架。
DataGrip是JetBrains公司推出的管理數據庫的產品,對於JetBrains公司,開發者確定都不陌生,IDEA和ReSharper都是這個公司的產品,用戶體驗很是不錯。
最開始我用它就單純看同事在用很酷的界面,後面發現功能也香,高亮文本啥的,不少功能你們能夠去挖。
VisualVM 是Netbeans的profile子項目,已在JDK6.0 update 7 中自帶,可以監控線程,內存狀況,查看方法的CPU時間和內存中的對 象,已被GC的對象,反向查看分配的堆棧(如100個String對象分別由哪幾個對象分配出來的)。
VisualVM能夠根據須要安裝不一樣的插件,每一個插件的關注點都不一樣,有的主要監控GC,有的主要監控內存,有的監控線程等。
這個是我作日誌排查的客戶端工具,也是支持不少配置,直接ssh上跳板機查看線上機器的狀態等等,線上問題排查仍是頗有必要的。
有朋友要疑問了帥丙這是什麼狀況,鬼畜亂入麼?
不是的,咱們研發的時候不少單詞不認識,或者命名的時候這個詞彙的英文不知道仍是頗有必要查一下的,規範的命名是你成爲頂級大牛的第一步,你命名都是A,B,C你代碼review的時候,你的Leader會叫hr讓你提交前回家過年的,立刻過年了你們不要輕易嘗試。
這是個文本記錄的工具,也能夠用於寫代碼,可是咱們有IDE了那就用來當平常雜事記錄的工具,臨時文檔處理的工具也是能夠的,反正仍是很好用的。
安排!
這個能夠說是陪伴我大學到如今的一個工具了吧,我數了下,上千文件了,個人生活雜事的記錄,還有學編程以後的不少東西,我都是收錄在裏面的。
這個東西我就不和別的筆記比較了,由於我最開始就用的這個一直沒換過,好很差用我說了不算的,你們下一個看看就知道了。
Typora是我一直寫Markdown的工具,好用到不行,還能夠切換模式你敢信?打字機模式,專一模式,源碼模式總有一個你的菜.
圖牀我是配合Typora一塊兒使用的你們Markdown是否是複製圖片進來都是本地的地址,發到網上就會失效的,可是跟Typora搞基的這個工具他能夠在你複製進來的時候直接傳到網上了,你再去任何平臺發表均可以爲所欲爲了。
你們好奇個人markdown怎麼這麼好看呀,其實我寫了markdown以後還轉成了html的,用的也就是上面這個工具。
我寫完也是在這裏面進行排版而後發出去的,排版要花很久,忍不住給帥丙點贊。
Ps嘛你們都知道的,正常的圖片處理啊用這個香,沒事幫美女P下圖,搞很差能找個女友(我又開始YY了)
這個多是你們使用得最多的視頻處理軟件了吧,很好用!!!
功能全到沒法使人呼吸,缺點就是學習成本有點大,入門很快,想成爲大神須要大量時間積累。
不知道你們視頻看得多麼,不少視頻的特效開場都是這個作的,下面也有一個個人demo。
有時候你們文章不想用靜態的圖畫去表達,想錄制寫代碼的Gif動圖,那這個軟件是真的好使。
其實帥丙我心中有個播放神器的,快播。
惋惜了還沒用多久,播播就夭折了,我會使用下面這個播放軟件去播放我本身的視頻。
由於不少格式電腦自帶的可能不支持,我又喜歡剪輯視頻,因此一直用它了。
你們是否是發現我以前的文章不少表情包,其實都是在線製做的。
帥丙以前的文章裏面不少代碼的圖片都是這個網站生成的,不少樣式能夠選擇,就很好看。
這個網站有意思了,寫代碼不知道單詞怎麼命名就去這裏查,他是GItHub的一個爬蟲工具吧,看看大神的命名老是會有思路的吧。
注意:上面的軟件我都是簡單的介紹下是幹啥的,由於太多了,真正的功能須要你們深挖的,能力容許的朋友下載正版,破解方法去Github github.com/JavaFamily 加我回復【軟件】就行了。
其實比較香的工具還有太多了,我這裏就不一一介紹了,其實有個很簡單的辦法,就是問,學習,借鑑。
我就是這樣的,我看Leader用的什麼工具我就問他這是啥,好用不?怎麼用?
包括我寫博客吧,其實才寫了20多天,第一天準備寫的時候我就直接問三歪(Java3y),你用的什麼開發工具呀,怎麼用的呀,包括他主要發佈的哪些平臺呀,發佈的時間段呀,我都直接問。
他坐我對面,迫於個人淫威不得不和盤托出,主要是最近有個需求須要我幫他寫代碼哈哈。
別人都這麼多的經驗下來了,軟件能差嘛?並且使用過程當中不會的還能夠問一下對方,不香嘛。
先看人才交流羣的某我的才提的問題:
Tip: GItHub github.com/JavaFamily 上有進羣方式和我的聯繫方式,說實話在這個羣,哪怕您不說話,光看聊天記錄,都能學到東西(美團王炸,三歪(Java3y),並夕夕等的大佬都在)。
不知道你們是否還記得我以前寫的冪等這樣的狀況?
就是下圖這樣的狀況,我下單增減GMV先去看看這個流水有麼,有就證實加過了,就直接返回,沒有才繼續下面的流程。
他其實提的問題很好,由於咱們平常開發都是主從同步,讀寫分離的,就是說咱們可能加GMV加了可是咱們操做的是主庫,他須要將數據同步到從庫,可是這個過程當中他發生了延遲。
那這個時候若是別的系統這個訂單號消息重試了,你是否是又進來了,你去查詢流水你發現沒流水你覺得沒加,你執行加錢的操做,結果那條延遲的也好了,是否是就加了兩次。
正常開發中確實會有,可是主從延遲這個應該讓DBA(數據庫管理員 Database Administrator)去考慮的,可是呢我說過不能寫有邏輯漏洞的代碼嘛,其實很簡單,把他放Redis嘛,設置一個30分鐘左右的時間,這期間的重複消費均可以免,要是延遲超過30分鐘了那其實問題已經很大了,DBA會知道的。
這篇是吐血整理,你們好好食用,記得點個贊!👍
好了各位,以上就是這篇文章的所有內容了,能看到這裏的人呀,都是人才。
我後面會每週都更新幾篇《吊打面試官》系列和互聯網經常使用技術棧相關的文章,很是感謝人才們能看到這裏,若是這個文章寫得還不錯,以爲「敖丙」我有點東西的話 求點贊👍 求關注❤️ 求分享👥 對暖男我來講真的 很是有用!!!
創做不易,各位的支持和承認,就是我創做的最大動力,咱們下篇文章見!
敖丙 | 文 【原創】【轉載請聯繫本人】 若是本篇博客有任何錯誤,請批評指教,不勝感激 !
《吊打面試官》系列每週持續更新,能夠關注個人公衆號「 JavaFamily 」第一時間閱讀和催更(公衆號比博客早一到兩篇喲),本文GitHub上已經收錄github.com/JavaFamily,有一線大廠面試點思惟導圖,歡迎Star和完善,裏面也有我我的聯繫方式有什麼問題也能夠直接找我,也有人才交流羣,咱們一塊兒有點東西。