簡單介紹
我是一個遠程工做者(遠程3年),從業六年一直在作python web後端相關的開發,最近閒來無事想看下Java是怎麼寫API的,知乎的一句話介紹貼在這裏,大概介紹下筆者的經歷。前端
不自由工做者 | 原子鐘 SOHO | 知乎填坑一年 | 學堂在線造輪子兩年
場景選擇
以前帶新人的時候通常是讓新同窗經過修bug熟悉項目熟悉語言,完成一個明確目標的任務是最快學習一種技術的手段,單純的看語言或者框架的start文檔效率較低,帶着問題寫代碼是最高效的。java
toy項目最蛋疼的就是產生基礎數據,也就是物料,本身api建立假數據並很差看也不實用,數據自動產生的話最簡單的方法就是寫個爬蟲抓別人頁面。學習的角度來看不用起定時任務,主動實時抓取便可。python
那麼作什麼事兒呢?mysql
有時候會有這樣一種場景,當你想作一個xx號的時候,新帳號沒有創做資源、沒有流量,有時候爲了混臉熟會作一個搬運別人資源的事情,也就是抄。抄襲歷來都是不可取的,可是有時候確實是須要作這些事情。git
假定如今要作一個垂直的我的微信雞湯號(非公衆號),天天最少發五篇文章,領域選定後若是本身寫不出來,天天也要搬運同行內容,而且搬運過來的文章上面能夠加上跟本身業務內容相關的一些引流手段,例如文章頭部底部添加本身的淘寶店、手機號等等。github
那麼任務拆解
- 抓取微信公衆號文章到本身服務器,替換微信圖片作第一步的清洗。這是由於你直接把微信文章仍在本身服務器讓別人打開的時候,微信圖片發現若是域名不對會顯示本圖片來自微信云云,因此須要洗一遍。
- 寫個編輯器,將清洗的文章本身在洗一遍(可選)。例如文章內自己就帶了原做者的一些推廣圖片、文章想要刪掉。
- 寫個簡單的CMS,能夠管理抓取的文章上下架,單篇文章編輯,分享的時候能夠選擇分享的頭圖,分享的一句話。
- CMS簡單的用戶系統和權限系統。
肯定技術選型
- 文章抓取、一次清洗入庫用 python + django 提供一個實時接口的服務,一是由於python最適合幹這件事,二是自己我想關注的是java寫API,java語法的大概的熟練程度停留在六年前上學圖書館水平,基本已經全還給圖書館了,這個模塊用java寫太過於浪費時間。
- 數據庫 mysql,沒什麼聊的。
- cdn 七牛,隨便選一家有免費空間相對較長免費流量的cdn作開發。
- java框架 dropwizard, 選擇這個很簡單,當你想學一個技術的時候,github搜索awesome-xxx。awesome-java 的restful api framework第一個就是他。
- jdk 8.0,隨便選的。
- gradle java構建工具,大概看了下awesome java,maven還須要寫xml,gradle不用並且包管理能夠用maven。
代碼
- Pirate - 經過接口實時爬取微信文章的python服務 pirate
- Parrot - Java RestFul API parrot
- Potato - 前端項目。待定,並非本次學習重點。
接下來
- todo: 一個六年經驗的python後端是怎麼學習用java寫API的(2)Extracter,微信文章抓取清洗入庫
- todo: 一個六年經驗的python後端是怎麼學習用java寫API的(3) RestAPI,dropwizard 的第一組API