每乙個程式設計師都或多或少接觸過 github ,至少是聽說過吧。而 github 最大的好處是在於程式設計師可以不用付出任何費用,可以在上面參考、借鑑甚至是照搬其他人貢獻的專案,因為這一切都是開源的。github 作為世界上最大的開源專案管理中心,可以讓任何人有機會打造乙個上千 star 的 github 專案。
本場 chat 將介紹如下內容:
每乙個程式設計師都或多或少接觸過github,至少是聽說過吧。而github最大的好處是在於程式設計師可以不用付出任何費用,可以在上面參考、借鑑甚至是照搬其他人貢獻的專案,因為這一切都是開源的。另外,任何乙個github使用者也可以在上面對自己感興趣的專案做出貢獻。所謂貢獻,就是對已有的**進行更正、優化、開發等操作,讓專案發展得越來越棒。而且,github的star機制讓專案的受歡迎程度得到很好的展示。如果您去github上搜尋乙個vue的後台管理模板,您很可能會選擇幾萬star的vue-element-admin(就像您去挑選晚餐地點,一般會去大眾點評上選評價足夠高的餐廳)。千萬別小看star這樣類似點讚的機制,這些star的背後是大多數程式設計師的認可,github star數量可比朋友圈的點讚數量要有技術含量得多。我不是在吹捧那些點讚數多的專案,我只是在強調一種增加技術影響力的方式:打造乙個上千star的github專案。github作為世界上最大的開源專案管理中心,可以讓任何人有機會實現這個目標。
另外,作者只是乙個普通人,是一點一滴嘗試了很多辦法、做出了很多努力才收穫了上千star,並沒有很多大佬那樣更出色的專案。作者將從自己的角度給大家介紹自己積累的經驗教訓,從專案定位、產品開發、推廣渠道等方面來講。如果大佬們有更多更優秀的作品和經驗,歡迎隨時交流。
crawlab是作者近期在開發的github專案,是乙個專注於爬蟲的管理平台。這個專案從今年3月份上線以來,到現在總共收到了大約1.1k個github stars(如下圖)。
github:
任何乙個產品,都是為需要的人服務的。這個受眾可以是您自己,也可以是您的朋友,也可以是完全不認識的陌生人。此外,乙個優秀的產品必須解決使用者的問題,或者說是痛點。就像雪中送炭那樣,恰當的時間出現了恰當的解決辦法,別人才會毫不猶豫的使用這個東西。分布式爬蟲工具pyspider(13.5k stars)為什麼那麼受歡迎,就是因為它解決了那些需要抓取大量**的爬蟲開發工程師的管理困難的痛點。web框架flask(46k stars)因為其解決了web開發上手困難的問題(相比於django、tornado這樣的傳統框架),受到了web開發者的喜愛,在github上佔據一席之地。基於vue element的管理後台框架 vue-element-admin(39k stars)讓前端開發不用從零開始搭建管理後台,開箱即用,成為vue開發者的香餑餑。如何尋找到使用者的痛點是我們能打造乙個優秀產品或專案的首要問題。
您可能會納悶,我周圍沒有感覺到有痛點的使用者。如果您這麼覺得,您一定是沒有注意觀察。在工作中我們會處理成千上萬的問題,包括一些技術問題或非技術問題。而這些問題的產生,一定是有沒有滿足到的需求導致的,而這正是可能的出發點。
例如,作者的開源爬蟲管理平台crawlab就是在思考乙個工作問題時誕生的。作者所在的部門有上百個爬蟲,其中包括了selenium爬蟲和其他型別的爬蟲。我們當時的爬蟲管理方式和實現方式都有非常多的侷限性,導致了擴充套件性不高、排查異常困難等問題。我們有乙個web ui介面,但是僅僅侷限於業務,沒有專注於爬蟲本身。作者當時思考,是不是只有我們公司才遇到這個問題,還是這個問題是乙個普遍問題,幾乎每個需要爬蟲的公司都會遇到。為了驗證這個假設,作者花了半個月的時間做了乙個最小可行性產品(mvp),crawlab v0.1版本,只有最基本的執行爬蟲指令碼的功能。結果,第一版發布後陸陸續續收到正面反饋,也有不少改進建議。第一天的star數就達到了30,後面兩天漲到了100。這驗證了我的假設,爬蟲管理困難這個問題是普遍存在的,大家都覺得crawlab是個不錯的idea,願意來嘗試。這才開始讓作者更有動力不斷完善這個產品。所以,從身邊的問題出發是個很好的開始。
以自己舉例,在開發crawlab之前,我已經是掘金的重度閱讀者,而且還購買了韋世東寫的掘金小冊《python 實戰:用 scrapyd 打造個人化的爬蟲部署管理控制台》,在小冊中不僅了解了爬蟲部署管理平台的原理和基礎知識,還了解到了市場上已存在的爬蟲管理平台gerapy。這為後來我開發crawlab積累了大量的寶貴經驗。我又了解了市面上所有的爬蟲平台,無一例外是基於scrapyd的,因此我在想萬一有想要管理非scrapy爬蟲的呢,他們會使用什麼工具來管理。後面我又做了些研究,發現crawlab才是他們解決該問題的方法。因此,花一些錢購買知識是非常值得的,我在獲取知識的同時幫助了我尋找痛點。
您可能會認為本小節是在講如何開發產品,但不是。本小節將講如何在開發產品中花最少的時間幹最正確的事情。使用者滿意了,增加star數是自然而然的事情。
我們不可能在第一時間做到一步到位。因此,不斷完善產品來滿足使用者需求變得尤為重要。《精益創業》中的作者定義了最小可行性產品(minimal viable product,mvp),也就是以最低成本盡可能展現核心概念的產品策略。因為我們的時間很寶貴(對於經常需要加班的朋友來說,更是如此),花費大量時間在完善各種不必要的功能上會是極為浪費的行為。我們沒有必要花時間開發那些使用者認為不重要的功能。如何做到不浪費時間,只開發使用者喜愛的功能呢?
另外乙個有效的詢問使用者的方式是問卷調查。當crawlab的golang版本v0.3.0發布後,我在群裡發放了問卷調查,邀請使用者回答他們認為最重要的功能,答案如下圖。統計後發現,任務監控和可配置爬蟲是最為重要的兩個功能。因此,我會在接下來的開發過程中優先考慮開發這兩個功能。
從該報表可以看到,使用者主要在爬蟲頁面和任務頁面來回切換標籤,我可能還不知道它是哪些標籤,但我肯定會在這兩個頁面上下更多功夫,來優化crawlab。當然,這一切的使用者資料收集都是經過使用者同意的,使用者如果在首次載入選擇不同意的話,資料將不會上傳(有些框架都不會詢問使用者的意願,它們會直接上傳統計資料)。
如果沒有人了解您的產品,您的產品再優秀也只能被涼在一邊,無人問津,沾染灰塵。因此,推廣您的產品也是增加github star數的非常重要的途徑。下面我將介紹一些常用的產品推廣的方式,包括一些常用的有效渠道,以及如何檢視後台資料來監控渠道有效性。
當然,我們不僅僅有掘金這乙個渠道,我們還有很多其他選擇。下面列出了我能夠知道的推廣渠道。
渠道簡介
掘金偏前端的技術社群
v2ex
技術論壇
gitchat
技術知識分享平台
不用過多介紹了
segmentfault
技術問答、技術部落格**
知乎知識問答**
csdn
it技術社群
開源中國
開源技術交流社群
部落格**
其他可以看到,github內部、掘金以及v2ex是crawlab的三大流量**。上圖中8月14號的流量高峰是因為我在當天發了一篇文章《如何快速搭建實用的爬蟲管理平台》。
光是有流量還不行,您還需要對讓自己的readme顯得更加具有吸引力。下列是幾個增加吸引力的內容,建議您都該考慮加入到您的專案主頁中。
以上幾種方式都可以讓您的github首頁顯得更加專業。您需要清晰地闡述您的專案的安裝方式,以及中文介紹,這將有利於讓您的讀者更加容易上手您的產品。產品截圖是非常有效的展示您產品的方式,人都是視覺動物,他們會更傾向於有截圖的產品(airbnb就做的很不錯,他們在房屋截圖中用了大光圈**)。如果您能夠加上logo之類的就更棒了。
下圖是crawlab的首頁,雖然不完美,但對於增加吸引力來說很有效。
專案管理是乙個可選項,但對於推進和監控專案進度來說是非常有效的。可以用酷炫的專案管理工具,例如teambition、禪道或trello,也可以用簡單的excel。我在crawlab中就是用的excel。下圖是早期crawlab專案管理的電子**。
如何進行專案管理,這裡我就不詳細講了,因為我也不是專業專案管理經理,也沒有pmp證書。後期如果有需求的話我可以在另一篇文章中專門介紹專案管理。
閱讀全文:
今年上千商家發福卡 滬上阿姨 算我乙個!
編程式設計客棧程客棧 www.cppcns.com 1月19日 訊息 集五福開始第一天,滬上阿姨通過其官方微博宣布,聯合支付寶給大家送福。1月19日起,顧客在滬上阿姨的線下門店掃碼,或開啟支付寶搜尋 滬上阿姨程式設計客棧 進入小程式,就有機會抽福卡。此外,還有滿減好禮等著大家。此前,支付寶表示會有超...
團隊建設 如何打造乙個優秀的團隊
一 乙個有較強人格魅力的領導者。一頭獅子帶領一群綿羊,綿羊有可能變成獅子,乙隻綿羊帶領一群獅子,獅子有可能變成綿羊,由此可見,領導者在團隊中的重要性 首先,乙個領導者的做事風格會對團隊成員造成最直接也是最多的影響。其實,團隊成員骨子裡都是有一定的服從性的,如果乙個領導者做事嚴謹認真,處處以身作則,成...
如何打造乙個與眾不同的SEO部落格
隨著近幾年seo行業的興起,導致很多新朋友開始湧入到了這個行業。當然很多接觸到seo或正在從事lykttqigfcseo的朋友都喜歡做乙個屬於自己的seo部落格,用來記錄自己的seo生活與分享一些seo心得。前一段時間紅濤在逛seo論壇的時候,有很多朋友反應現在的seo文章都沒什麼價值啦!因為好多進...