摘要:我開始去完成這個模糊的任務,畢竟很多人都能寫出一個漂亮的。但是我在夢中卻一直請求不成功,從來沒有看到一次。我可以和你說得再明白一點,所有人的請求結(jié)果都是一樣的,但是每個人的實現(xiàn)業(yè)務都是不一樣的,甚至你選擇了。
本博客 貓叔的博客,轉(zhuǎn)載請申明出處
我是一個普通的比你還普通的代碼撰寫人員,甚至不敢號稱是程序員,我每天起床都接到這樣一個任務,我需要去完成一個API,一個普通的API,我可以不用寫文檔、不用寫注釋、不用準備思維導圖......
我不知道是誰給我下的命令,不知道是這個API是要給誰調(diào)用,不知道要服務于什么,這一切都需要我去設想。
我的腦袋經(jīng)常把這件事情給遺忘,生活與工作的各種事情,即使是刷刷手機訊息都可能會排在這件事情的前面,但是每日醒來我還是會意識到這樣的一個任務。
我開始去完成這個模糊的API任務,畢竟很多人都能寫出一個漂亮的API。
在我這邊完成的過程中,我遇到了第一個難題:我要選擇什么語言?
上了www.tiobe.com,查看了世界排行,發(fā)現(xiàn)我所比較熟悉的Java暫時還是第一,不過看到各種自己完全不熟悉的語言,還是感覺壓力山大。
問了幾個比較厲害的朋友,他們也各有說辭,都推薦他們所認可的語言,我像是一灘水,他們就像各種器皿,希望我能進入他們的空間一般。
好吧,為了這個API我選擇進入Java這個器皿中。
如果可以的話,或許是我不自量力,我更希望進入一個我真心喜歡的器皿中,GC也好、指針也罷,我需要的就存在,我不需要的請給我隱藏,我看到過一個厲害的人,他就自己創(chuàng)造了一門語言。
接下來,我發(fā)現(xiàn)我還需要選擇數(shù)據(jù)存儲相關(guān)的,厲害的人都叫他們數(shù)據(jù)庫,那些人可以輕易的說出什么是關(guān)系型數(shù)據(jù)庫、什么是非關(guān)系型數(shù)據(jù)庫,業(yè)務邏輯強的時候可以選擇MySQL,搜索量大的時候你就加索引,如果有興趣搭建搜索引擎,你甚至可以使用ElasticSearch;而Mongo DB則適合分布式文件存儲,對,還有HBase面向列的存儲,他們其中還有一些是開源的,如果你能去貢獻一點代碼,我想這也足夠你吹捧一段時間。
我是一個老實人,我踏踏實實的選擇了MySQL,畢竟我的這個API究竟要用在什么業(yè)務,我也不清楚。
聽說有多數(shù)據(jù)源,可以根據(jù)業(yè)務來動態(tài)切換數(shù)據(jù)源,我想這種好東西,還是有人能幫我寫好就行了。
我沒有什么項目經(jīng)驗,不知道接下來的步驟對不對,希望大家可以不要鄙視我,畢竟現(xiàn)在什么職場都有鄙視鏈了,我是一個靦腆且自尊心強的人,你說一句我可能會想很久。
我覺得需要去選擇一個框架,但是漸漸的,我發(fā)現(xiàn)這是一個套路,一個越來越深的套路,我選擇了Java、MySQL,那么我需要選擇的框架就需要是Java寫的快速搭建Web的框架,而且我需要數(shù)據(jù)映射框架也是對應能接通Java和MySQL的。
我開始有種被綁手綁腳的感覺,Spring、SpringMVC、SpringBoot、SpringCloud、Spring Data JPA、MyBatis、Hibernate等等。
我不情愿的選擇了可以讓我快速完成這個任務的大眾系列:SpringBoot+JPA。
原來jpa其實底層也是Hibernate,難怪有些東西,用起來比較熟悉,我希望接下來沒有選擇了,可是我還是太大意了。
我不知道我需要繼續(xù)完成什么了。
我很傳統(tǒng)的構(gòu)建了dao、service、controller等包,并針對這個API構(gòu)建了對應的類,可是構(gòu)建這些東西,其實IDEA都幫我做好了,我不知道我要寫什么...
我陷入了沉思...一天、兩天、一個月、一年...十年...
在經(jīng)過生活與職場沖刷后,我在某個夜里有夢到了有這樣的一件事情沒有做完,我立馬起身,將桌上的煙灰缸清理了一下,放到一側(cè),然后重新點了一支雙喜,打開IDEA,將十年前放在GitHub上的項目clone下來。
深吸一口煙,“呼········”
我想我想清楚這個API的完整路徑了。
https://life/meaning?who=myself **GET**
很抱歉,說到這里,本文終了。
我不能和你說我的業(yè)務實現(xiàn)寫了什么,而那段代碼我也沒有push到GitHub上,因為我覺得任何一個讀者寫出來的都將比我珍貴。
再和你說一點秘密,在我完成API請求路徑后,我在往后的十年、二十年都在不斷的修改業(yè)務實現(xiàn)的代碼,我甚至加入了MQ、Netty等等。
但是我在夢中卻一直請求不成功,從來沒有看到一次200。
我可以和你說得再明白一點,所有人的請求結(jié)果都是一樣的,但是每個人的實現(xiàn)業(yè)務都是不一樣的,甚至你選擇了C、C#、PHP、Python。
但是,結(jié)果都是一樣的,即使你認為是最完美的代碼了。
結(jié)果都是...
Just Do it!
這是我臨終時最后一次運行代碼看到的結(jié)果,并成為了我的墓志銘,我是一個普通的代碼撰寫者,你不需要知道我是誰,我只是作者筆下的虛無幻想,但是請你認清,你是誰???
公眾號:Java貓說學習交流群:728698035
現(xiàn)架構(gòu)設計(碼農(nóng))兼創(chuàng)業(yè)技術(shù)顧問,不羈平庸,熱愛開源,雜談程序人生與不定期干貨。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73774.html
摘要:狀態(tài)碼的正確使用。解析請求獲取隨機數(shù)范圍并將生產(chǎn)的結(jié)果以格式返回。在代碼的最后,我們會在合法的參數(shù)返回內(nèi)生成隨機數(shù)并將結(jié)果返回給客戶端。雖然示例很簡單,但是它已經(jīng)包含了使用構(gòu)建的基本流程解析請求,設置狀態(tài)碼,返回響應數(shù)據(jù)。 showImg(https://segmentfault.com/img/remote/1460000010820713); 在介紹了那么多 Express 核心概...
摘要:本文分享自華為云社區(qū)測試金字塔,你在哪一層,作者敏捷的小智。測試金字塔中間層接口測試隨著微服務架構(gòu)的廣泛普及,也成為大勢所趨。相對比單元測試,服務接口測試的覆蓋范圍要大一些。 摘要:軟件質(zhì)量是衡量一個軟件是否成功的重要標準,在軟件的生命周期中,自動化測試金字塔給大家提供了一種測試策略,根據(jù)...
摘要:狀態(tài)碼狀態(tài)碼范圍信息,請求收到,繼續(xù)處理。范圍的狀態(tài)碼是保留給服務器端錯誤用的。當收到響應時,客戶端不可能知道服務器的狀態(tài),所以這類狀態(tài)碼是要盡可能的避免。服務器向用戶返回的狀態(tài)碼和提示信息,常見的有以下一些方括號中是該狀態(tài)碼對應的動詞。 這篇 文章主要是借鑒他人,但是自己很想總結(jié)出一套規(guī)范,以供向我這樣的新手使用,用來規(guī)范代碼,如果有什么好的提議,請不吝賜教,本篇文章長期更新! 一、...
摘要:緊跟在后面的是請求頭,每行用冒號分隔名稱和值按下兩次回車,收到服務端回復響應部分第一行被稱作,它也分為三個部分,協(xié)議和版本狀態(tài)碼和狀態(tài)文本。對前端來說系列的狀態(tài)碼是非常陌生的,原因是的狀態(tài)被瀏覽器庫直接處理掉了,不會讓上層應用知曉。 筆記說明 重學前端是程劭非(winter)【前手機淘寶前端負責人】在極客時間開的一個專欄,每天10分鐘,重構(gòu)你的前端知識體系,筆者主要整理學習過程的一些要...
閱讀 1794·2021-10-12 10:12
閱讀 2549·2021-09-29 09:42
閱讀 2728·2021-09-03 10:28
閱讀 2262·2019-08-30 15:54
閱讀 1168·2019-08-30 15:53
閱讀 1399·2019-08-30 11:26
閱讀 3365·2019-08-30 11:02
閱讀 2149·2019-08-30 11:02