共創(chuàng)】Python編程快速入門指南">【云駐共創(chuàng)】Python編程快速入門指南
533
2025-04-01
一、什么是社區(qū)?
貢獻(xiàn)開源,加入社區(qū)。Community社區(qū)是什么?我們認(rèn)為開源社區(qū)不是狹義上的論壇或者平臺,并不是說注冊一個賬號,提交一個申請就可以加入社區(qū)。社區(qū)不是一個固定的論壇或者平臺,社區(qū)應(yīng)該是由一群志同道合的朋友匯聚一起,共同完成一項(xiàng)事業(yè)或者項(xiàng)目,朝著同一個方向前進(jìn)。加入社區(qū),并不是說我們要做出多么大的貢獻(xiàn),提交多少行代碼。當(dāng)我們從社區(qū)下載一個開源項(xiàng)目,使用它,研究它,并為之給出相應(yīng)的合理的建議或者意見,那么我們可以說,我們已經(jīng)是社區(qū)中的一員,我們就是社區(qū)的貢獻(xiàn)者之一。
二、為什么要貢獻(xiàn)開源項(xiàng)目?
我們必須承認(rèn),學(xué)校里教授的計(jì)算機(jī)知識和市場上實(shí)際項(xiàng)目是天差地別。學(xué)校里還在使用“上古”教材,市場在使用前沿的技術(shù),我們需要接觸和了解技術(shù)前沿,而不只是書本知識。貢獻(xiàn)開源項(xiàng)目可以幫助我們學(xué)習(xí)和驗(yàn)證專業(yè)知識技能,了解技術(shù)的最前沿,學(xué)習(xí)他人是怎樣編寫程序,怎樣完成一個完整的項(xiàng)目。
即使我們?nèi)ス緦?shí)習(xí),考慮到公司的相關(guān)顧慮和個人能力,公司一般不會讓一個實(shí)習(xí)生接觸項(xiàng)目底層。一是不信任實(shí)習(xí)生的能力,二是實(shí)習(xí)生可能實(shí)習(xí)完就離開公司,公司的各種努力都是徒勞。然而,我們正是需要去接觸整個項(xiàng)目,觸達(dá)項(xiàng)目底層,開源項(xiàng)目很好的提供了這樣的一個學(xué)習(xí)途徑。尤其是以公司為主導(dǎo)的一些開源項(xiàng)目,保證了開源項(xiàng)目代碼質(zhì)量,以及公司都是實(shí)際在使用這些開源項(xiàng)目,更加體現(xiàn)了項(xiàng)目的實(shí)際性和真實(shí)性,從其中我們可以了解公司內(nèi)部對于代碼要求以及項(xiàng)目整體構(gòu)建思路。
閱讀開源項(xiàng)目的源碼,我們不僅可以學(xué)習(xí)項(xiàng)目的設(shè)計(jì)思路,還可以學(xué)習(xí)和了解開發(fā)者的編程思路、代碼規(guī)范等,通過他人來提升自己。同時,我們也可以提交PR、注釋,而社區(qū)里的其他參與者會給出直接反饋和回應(yīng),這比我們自己摸索要成長得更快。
另一方面,從就業(yè)來說,如果我們在開源項(xiàng)目上留下印記,無論是貢獻(xiàn)代碼、技術(shù)文檔、應(yīng)用案例等等,這些開源貢獻(xiàn),無關(guān)于學(xué)歷或者專業(yè),是實(shí)實(shí)在在的技術(shù)能力的體現(xiàn),都是加強(qiáng)就業(yè)競爭力的一個方式。如果我們非常的優(yōu)秀,可能面試官了解我們,認(rèn)識我們,甚至于直接從Github等開源社區(qū)上聯(lián)系我們。并且可能社區(qū)中的其他人會向公司推薦我們?nèi)肼殹o論是參與工作還是尋找工作,參與開源社區(qū)是一個很好的能力提升和體現(xiàn)。
貢獻(xiàn)開源項(xiàng)目是從業(yè)入門的最佳路徑。
三、什么樣的開源項(xiàng)目更適合我們?
當(dāng)前人工智能盛行,大部分人都選擇與人工智能相關(guān)的內(nèi)容,一方面是人工智能的論文較為容易發(fā)表,另一方面在企業(yè)工資高。但是這不意味著就業(yè)形勢最好,競爭的就業(yè)者太多,內(nèi)卷嚴(yán)重。可能進(jìn)入企業(yè)以后做的不是人工智能工程師,而是調(diào)參工程師,工作內(nèi)容并且我們本愿,工作起來相當(dāng)痛苦。
基礎(chǔ)性的工作,如數(shù)據(jù)庫、操作系統(tǒng)、內(nèi)核等,選擇的從業(yè)者較少,實(shí)際上需求量非常大,經(jīng)常招聘不到從業(yè)者,企業(yè)排隊(duì)也搶不上。了解就業(yè)趨勢,選擇自己的熱愛,找到可以貢獻(xiàn)的合適的開源項(xiàng)目。這是一個探索和學(xué)習(xí)的過程,利用開源項(xiàng)目尋找適合于自己的方向進(jìn)行深入。
早日參與開源項(xiàng)目,早日知道自己合適的方向。我們想做的方向,我們合適做的方向,我們最終做的方向。這三個方向能否匹配,如果完全匹配,將來我們的工作可能是非常幸福的,如果完成不能匹配,我們可能是非常痛苦。
選擇一個合適你的開源項(xiàng)目讓過程不再痛苦,不要根據(jù)市場情況去選擇從事的細(xì)分領(lǐng)域。
四、貢獻(xiàn)開源項(xiàng)目需要什么樣的基本技能?
參與開源項(xiàng)目貢獻(xiàn)會編寫代碼是遠(yuǎn)遠(yuǎn)不夠的,還需要學(xué)習(xí)能力和溝通技巧。
4.1學(xué)習(xí)能力
善用搜索引擎。社區(qū)人員可能比較忙,不會回答我們。也可能我們的問題很簡單,在網(wǎng)上就有答案,一定要善用搜索引擎,從互聯(lián)網(wǎng)獲取答案。不過需要注意的是,答案有對有錯,需要我們自己去甄別。
仔細(xì)觀察和深入思考,獲得了答案,我們需要去思考它為什么這么做?為什么可以解決?原理是什么?問題又是如何產(chǎn)生的?而不僅僅只是解決問題本身,更多的從問題出發(fā),總結(jié)經(jīng)驗(yàn)和知識。
窮舉法。有時候思考的結(jié)果不一定對,我們需要不斷地嘗試所有的方法和結(jié)果,找到正確的適合我們的。
在社區(qū)寫blog文章,或者以vlog形式呈現(xiàn)自己的理解,我們能寫出來,邏輯是清晰的,別人能看懂。有沒有人看不是關(guān)鍵,關(guān)鍵是我們在寫文章時復(fù)盤整個項(xiàng)目,嘗試?yán)砬屙?xiàng)目結(jié)構(gòu),深入對問題的理解,這些對于我們的提升是有益的。
參與社區(qū)活動。有很多社區(qū)活動是在各地不定時舉行,當(dāng)我們站在臺上講半個小時,可能需要我們在臺下準(zhǔn)備好幾天,這也是一種學(xué)習(xí)過程。包括在活動中與其他工程師的交流、提問和解答。
4.2溝通技巧
認(rèn)真理解別人的話,當(dāng)別人回答了一個問題,思考是如何解決的。表述要帶上下文,不要一句話提問,最好可以描述上下文、運(yùn)行環(huán)境、運(yùn)行狀態(tài)、復(fù)現(xiàn)操作等內(nèi)容。交流時盡量謙虛的表達(dá),時刻注意自己的言論表達(dá)方式。站在對方的立場思考問題以及沒有人有義務(wù)幫助我們。
五、如何貢獻(xiàn)?
部分社區(qū)或者論壇,會給出貢獻(xiàn)攻略,告訴參與者如何貢獻(xiàn)、提交、提問等等內(nèi)容。我們應(yīng)當(dāng)參照這個文檔進(jìn)行貢獻(xiàn)。
仔細(xì)閱讀CLA和項(xiàng)目的許可協(xié)議。參與開源項(xiàng)目需要了解開源文化和開源精神,遵循相關(guān)法律法規(guī)和協(xié)議。CLA和License是學(xué)習(xí)開源文化和精神的最佳實(shí)踐。
深度使用開源項(xiàng)目,在使用過程中對遇到的問題和想法都進(jìn)行記錄和深入研究,尋找可以對項(xiàng)目進(jìn)行改進(jìn)或者擴(kuò)展的方向。
從小做起,開始提交少數(shù)幾行代碼,讓其他成員了解和熟悉你的代碼風(fēng)格和質(zhì)量,如果他們認(rèn)同,再可以進(jìn)一步的提交多行代碼,寫一個函數(shù),實(shí)現(xiàn)一個功能。
對項(xiàng)目文檔進(jìn)行補(bǔ)充,沒有任何一個開源項(xiàng)目的文檔是完整的,總有一些內(nèi)容可以進(jìn)行改進(jìn)
翻譯永遠(yuǎn)是被需要的,沒有一個開源項(xiàng)目會拒絕多語言的貢獻(xiàn),每個項(xiàng)目的開發(fā)者都希望被更多人熟知和使用。翻譯也是對整個項(xiàng)目和文檔深入理解,并不只是單純的翻譯成中文,翻譯過程也是一個學(xué)習(xí)過程。
參與社區(qū)活動也是貢獻(xiàn)的方式,協(xié)助社區(qū)組織線上、線下的活動也是極大的貢獻(xiàn)。
六、一起成長!
選擇一個適合自己的開源社區(qū)環(huán)境,隨著社區(qū)一起成長!
歡迎加入openEuler,與openEuler一起成長。openEuler是國內(nèi)非常有機(jī)會可以做起來的開源社區(qū),華為在背后大力投入,真正的在做一個Linux發(fā)行版,與 CentOS 沒有直接的關(guān)系,二者都是從最上游 Linux Kernel 衍生而來。openEuler社區(qū)經(jīng)常舉辦各種比賽,我們希望大家可以廣泛參與到其中,不僅僅是為了比賽獎勵,也是提升自己的技術(shù)能力以及為以后的求職提供基礎(chǔ)。
附:本文整理自華為云-如何在開源社區(qū)提交第一行代碼,點(diǎn)此回看
查看活動:【華為云社區(qū)內(nèi)容共創(chuàng)者火熱招募中】第五彈
openEuler 云社區(qū) 開源
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。