
【基本介紹】
灣區(qū)日?qǐng)?bào)ios版是一款資訊類軟件,每天推送最新的互聯(lián)網(wǎng)和創(chuàng)業(yè)方面的新聞來給你閱讀。灣區(qū)是指美國舊金山灣區(qū),是科技創(chuàng)業(yè)人士的聚集地。故而業(yè)界常用灣區(qū)來代指科技和創(chuàng)業(yè)相關(guān)的內(nèi)容。【軟件特點(diǎn)】
灣區(qū)日?qǐng)?bào)是什么我在舊金山上班,做工程師。每天都會(huì)看了一些關(guān)于科技、創(chuàng)業(yè)類的文章。然后挑選出5篇文章,與讀者們分享。
選文章的標(biāo)準(zhǔn)是什么?
只有一個(gè)標(biāo)準(zhǔn):我自己主觀覺得有收獲的英文文章。為什么不是中文文章?
因?yàn)槲液茈y找到高質(zhì)量的中文文章。
比較“主流”的中文科技媒體很多都是翻譯英文的文章,我還不如直接看英文的。
如何分享給讀者?
每天選5篇文章后,針對(duì)每篇文章,我會(huì)擬一個(gè)中文標(biāo)題、寫一小段中文簡評(píng),然后連同原鏈接發(fā)出去。
發(fā)到哪里去?
灣區(qū)日?qǐng)?bào)有一個(gè)網(wǎng)站wanqu.co,文章發(fā)到這個(gè)網(wǎng)站上。同時(shí),還會(huì)通過多個(gè)渠道推送給讀者。
這些渠道包括:微博、微信公共賬號(hào)、郵件訂閱、RSS、Twitter、Facebook頁面、iOSApp推送。
灣區(qū)日?qǐng)?bào)每期是怎么發(fā)布的
每天看文章、寫簡評(píng)、發(fā)到上面提到的各個(gè)渠道,這一系列操作還是比較花時(shí)間的(每天2~3小時(shí))。
灣區(qū)日?qǐng)?bào)只有我一個(gè)人經(jīng)營,我得盡量想辦法“偷懶”?—?盡量自動(dòng)化各種操作。
選文章和寫簡評(píng)是純體力勞動(dòng),我還沒找到如何自動(dòng)化起來。
但有兩大部分還是可以自動(dòng)化的,1)錄入文章數(shù)據(jù);2)分享到各個(gè)社交渠道。
如何錄入文章數(shù)據(jù)?
我在Slack上跟機(jī)器人wanqu-ops說話,發(fā)給它一個(gè)鏈接。
然后它就自動(dòng)提取標(biāo)題、提取圖片、構(gòu)建slug、關(guān)聯(lián)某一期(issue),最后創(chuàng)建新文章。
讀者們有的已經(jīng)認(rèn)出了機(jī)器人的圖標(biāo)。
沒錯(cuò),我這里用的是Hubot。這個(gè)機(jī)器人除了幫我分擔(dān)發(fā)文章的部分工作外,還承擔(dān)了重大的運(yùn)維職責(zé)。
比如部署新代碼、taillog、查看關(guān)鍵指標(biāo)(新增微博粉絲數(shù)、網(wǎng)站訪問量等)、重啟服務(wù)器等。
剛才說了,寫簡評(píng)得手動(dòng)操作的。
我有時(shí)候通過wanqu-0ps機(jī)器人寫簡評(píng)(跟它對(duì)話),有時(shí)候通過網(wǎng)站后臺(tái)寫。
有讀者可能也認(rèn)出來了,上面是Django的admin界面。
灣區(qū)日?qǐng)?bào)的網(wǎng)站是Python/Django寫的,數(shù)據(jù)庫用的是Postgres。
如何分發(fā)到各個(gè)社交渠道?
除了微信的公共賬號(hào)外,其他的社交賬號(hào)都能通過他們提供的API自動(dòng)發(fā)帖。
所以,不管是通過slack上的機(jī)器人、還是網(wǎng)站的后臺(tái),只要文章狀態(tài)是Published,就會(huì)自動(dòng)發(fā)帖。
以微博為例,只要是“來自灣區(qū)日?qǐng)?bào)BayArea”的,都是通過微博API發(fā)出來的。
郵件訂閱的郵件則是通過MailChimp分發(fā)的。MailChimp每天太平洋時(shí)間晚上9點(diǎn)會(huì)讀取wanqu.co/feed,然后群發(fā)郵件。
Facebook頁面的更新理論上也能用API,但我懶。所以就用IFTTT同步Twitter賬號(hào)上的內(nèi)容。
微信公共賬號(hào)沒有API可用,得手動(dòng)發(fā)送了。
【使用方法】
很多讀者已經(jīng)發(fā)現(xiàn)了,灣區(qū)日?qǐng)?bào)的微博賬號(hào)常常會(huì)重復(fù)發(fā)以前發(fā)過的文章。這主要出于幾點(diǎn)考慮:有的讀者剛剛關(guān)注到灣區(qū)日?qǐng)?bào),沒看過以前的文章。
所以“以前的文章”對(duì)他們來講其實(shí)是“新的文章”。
就好比我們的父母開始用上互聯(lián)網(wǎng)了,經(jīng)常在微信朋友圈里轉(zhuǎn)載一些我們10年前就已經(jīng)見過的段子、網(wǎng)文。
對(duì)我們來講,那些段子是舊的,但對(duì)他們來講,是新的。
有的好文章確實(shí)經(jīng)得起多次閱讀。每次讀,都有新的體會(huì)。我自己很多文章其實(shí)都讀好幾遍的。
出于運(yùn)營賬號(hào)的考慮,賬號(hào)的內(nèi)容得不斷更新,這樣比較活躍,漲粉比較快。
這不是什么新鮮伎倆,各大媒體類的賬號(hào)或多或少都炒冷飯。
就好比暑假到了,白娘子傳奇、西游記、鹿鼎記、還珠格格等一遍一遍地重播。
隨著灣區(qū)日?qǐng)?bào)文章數(shù)量的增加,大家見到重復(fù)文章的周期也會(huì)變長很多的(現(xiàn)在是一個(gè)多月重復(fù)一次)。
如何自動(dòng)炒冷飯?
我后臺(tái)定時(shí)炒冷飯用的是Celerybeat,每小時(shí)有一定概率自動(dòng)發(fā)微博與Twitter。
發(fā)帖太頻繁了,大家也會(huì)煩的。所以,每個(gè)小時(shí)都有一定概率發(fā)帖;
不同時(shí)段,發(fā)帖的概率不同;大部分時(shí)候這個(gè)概率是80%。
每個(gè)社交賬號(hào)的API調(diào)用都是一個(gè)Celerytask。Messagebroker用的是RabbitMQ。
最早的灣區(qū)日?qǐng)?bào)是靜態(tài)網(wǎng)站,后來換成了Wordpress。所有的發(fā)微博、發(fā)Twitter什么的都是我手動(dòng)操作,很花時(shí)間。
而且重復(fù)的機(jī)械勞動(dòng)容易厭倦。之前一直沒確定到底要不要長久把灣區(qū)日?qǐng)?bào)做下去。
畢竟白天有一份startup的全職工作,事情也比較多;在公司里跟同事也有sideproject在做。
回家后也要花時(shí)間在家庭上;自己也有其他sideproject。
直到3月中旬的某個(gè)周末。我也不記得什么原因了,就是突然自己把wanqu.co重寫了一遍。
然后一不做二不休,陸續(xù)花了些時(shí)間自動(dòng)化了一些流程。于是每天的手動(dòng)操作變少了,比較不會(huì)厭倦了。
而且說實(shí)在的,每天5篇文章,我自己也學(xué)到很多東西,也在進(jìn)步。
順便提一下,我一直堅(jiān)信要快速迭代,更新小段代碼。所以也通過slack機(jī)器人,輸入wqdeploy,發(fā)布新代碼。
如果你還沒用上Hubot,我推薦你看一下,小團(tuán)隊(duì)里的DevOps利器?—?對(duì)我來講,是一個(gè)人的團(tuán)隊(duì)的利器:)




































