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