欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

游戲編程之從零開始pdf,初學者如何迅速學習Python

老白2年前29瀏覽0評論
游戲編程之從零開始pdf,初學者如何迅速學習Python游戲編程之從零開始pdf,在游戲開發(fā)中,你可能會遇到初學者如何迅速學習Python類似的問題,可以參考如下:

游戲編程之從零開始pdf,初學者如何迅速學習Python?

一句話,大量的實操,大量的練。乍一我的這個答案似乎有點敷衍,但是這確實是我接觸python以來,總結(jié)出的最有價值的經(jīng)驗。

其實我也是一個半路出家的python工程師,為什么是半路出家,因為我大學的專業(yè)是UI設計,UI跟編程也有一定的聯(lián)系,所以多多少少也接觸了一些編程的東西,因為興趣,在大三的時候就開始系統(tǒng)學習一些python課程。目前我在武漢做python工程師,雖然工資剛過5位數(shù),但是剛剛畢業(yè)兩年的我還是很滿意的。

python相比于其他的編程語言來說確實容易很多,但也只是相比較而言。作為一門編程語言,它還是需要系統(tǒng)的學習的,所謂的三天入門僅僅是針對有編程經(jīng)驗的人而言,素人如你我,可能性為0,必經(jīng)學習的過程一定是枯燥的。新手還是需要一個編程大神帶帶,沒人有帶的我推薦大家加入這個Python學習交流群,和同伴一起打卡學習,彼此的溝通問題。

以我的親身經(jīng)歷來說,學習始終靠自己,當你掌握了一個好的學習方法,系統(tǒng)的學習方式,你會發(fā)現(xiàn)其實學習Python并沒有那么難,有問題一定要在群里提出來,大家一起解答,效率也會高很多,另外在工作不忙的時候我也會幫大家解答問題。小白最好是多聽一些系統(tǒng)的基礎(chǔ)公開課,確認自己是否真的沉下心學下去,群里也有免費聽的基礎(chǔ)公開課,找群管理開通權(quán)限就能聽課了。

針對題主想要的快速上手,我以自己的學習經(jīng)驗寫了幾個總結(jié),希望能夠給大家?guī)韼椭N冶M量把小標題總結(jié)得精準一點,方便大家看。【目錄】

1. 精確自己的需求,你學python是為了什么?(規(guī)劃學習路徑)

2. 跟著一本書、一個課程系統(tǒng)的學(好書推薦)

3. 一切以項目實操為指導原則(程序跑起來才是硬道理)

4. 不在一開始就糾結(jié)細枝末節(jié)的內(nèi)容(避免從入門到放棄)

5、文末福利

1. 學python的目的

雖然python是一門編程語言,但并不是所有的人都是以成為一個程序員為目的去學習的。所以我們在學習之初一定要明確自己的學習目的,再以學習目的為基礎(chǔ)規(guī)劃自己的python學習路徑。例如有人是為了實現(xiàn)辦公自動化,提升工作效率,那么他學習的東西就不需要太多,他的學習路徑可以簡單規(guī)劃為:Python基礎(chǔ)知識——>辦公自動化(主要是pandas包)只需要學習到一些關(guān)于文檔自動分類、表格處理、PDF處理等問題的實操就好了,根本不需要深入了解python的一些底層邏輯,這樣能夠讓我們的學習效率最大化,而且辦公自動化處理上手快,學起來我會有壓力。還有人是為了學習大數(shù)據(jù)處理,那這里可以把你的學習路徑規(guī)劃為:Python基礎(chǔ)知識——>爬蟲知識——>數(shù)據(jù)處理。針對不同的平臺環(huán)境,爬蟲的技術(shù)也是有區(qū)別的,沒有必要大而全的去學習,針對自己的目標平臺去學習就好了(網(wǎng)頁、app等)。因為python有著各種各樣強大的包(也就是庫),能夠讓大家解決了你評價很多底層邏輯語言上的問題,讓代碼工具化,即使你不懂底層思維,只要知道怎么用你就能夠完成自己的目標。這個例子,就像你不知道勾股定理是什么意思,但是你知道怎么用,只要知道直角三角形的兩邊長度就能夠算出第三邊是同一個道理。所以明確自己的學習目標,把自己的學習路徑規(guī)劃好,能夠讓自己的學習效率提升很多,自然就解決了無法快速上手的問題。

1. 系統(tǒng)的學習

不管是什么科目,基礎(chǔ)知識都必須系統(tǒng)的學習,這一點毋庸置疑,python也是一樣。在學習之前一定要把基礎(chǔ)打牢,這里的話,除了以上我推薦大家學習的那個免費課程,我也推薦信幾本比較經(jīng)典的書給大家。《Python學習手冊(第4版)》 作者: Mark Lutz(美國)

為什么我會推薦這本書給大家,是因為這本書在我最開始學習的時候也給了我很大的幫助。他對新人小白是非常友好的,尤其是零基礎(chǔ)的朋友。

他的每一個章節(jié)都是獨立的,這就是的一些沒有基礎(chǔ)或者基礎(chǔ)薄弱的朋友,不需要去聯(lián)系大量的知識點來完成這本書的閱讀和學習。尤其是一些職場中需要python來輔助自己工作的朋友,可以單獨的去學習一些模塊,而不是大量且寬泛的去學習,這是提升效率的一個好方法。而且這本書還有一個優(yōu)點,是他到每一個章節(jié)都有對應的練習和測試,而學習一門編程語言最好的方法就是大量的上手操作來鞏固自己學習到的知識。大家在學完一個模塊之后一定要馬上去做他的練習,我們看書是學習步驟,而只有自己key鍵盤才能保證我們真的學會了。《Python編程:從入門到實踐》作者:Eric Matthes(美國)

這本書也是一本入門的好書,但是他的邏輯跟上一本完全不一樣。這本書是可以各個章節(jié)獨立學習的,而這本書我建議大家從第一章開始一步一步地學習。因為這本書的目的就是為了給大家梳理清楚學習python的邏輯。

只要大家愿意從頭開始看,會發(fā)現(xiàn)它是由淺入深的帶領(lǐng)大家學習,不僅涵蓋了python的所有基礎(chǔ)知識,還能夠一步一步的帶領(lǐng)大家完成從零開始動手寫項目。他的項目一共有三個,分別是Python 2D 游戲開發(fā)、利用數(shù)據(jù)生成交互式的信息圖、創(chuàng)建和定制簡單的 Web 應用,對應了市面上的各種主流應用。

這本書別的感覺就是作者恨不得從書里出來,手把手的教你敲代碼,如果你想成為python工程師,這本書用來入門很有用。

1. 一切以項目實操為指導原則

我們學習python一定要有一種解決問題的工程性思維。能夠調(diào)用包里面的工具就沒有必要自己去寫底層代碼。Python的存在就是為了我們能夠更加簡單的理解編程語言。就像我們使用爬蟲去爬取京東頁面的商品一樣,知道代碼是這樣的就行了url="http://item.jd.com/2967929.html"try:r=requests.get(url)r.raise_for_status()r.encoding=r.apparent_encoding至于更深一層的代碼原理、參數(shù)、函數(shù)等問題,以及調(diào)用的每一個函數(shù)的實際操作,有余力的時候再去研究。就像你開車送女朋友去機場一樣,會開車就行了,不需要一開始就去糾結(jié)車子是怎么造的、路是怎么修的,不是一定要什么都知道才能到機場的。總結(jié)一句話就是,首先要搞清楚操作問題,懂得多當然是好事,但是學習是有步驟的,優(yōu)先滿足我們在實際操作中需要解決的問題。4、不在一開始就糾結(jié)細枝末節(jié)的內(nèi)容學習的時候遇到不懂的問題是一定的,但是我們想要快速上手,就要學會抓大放小,而且編程他是一門語言,語言之間內(nèi)部有語法糾葛和邏輯互通的。也許今天你不懂的知識,在你學了一個月之后,就會恍然大悟。(這樣的事情我經(jīng)歷過好幾次,所以絕對不是為了寬大家的心)

就像我們在接觸函數(shù)的時候,函數(shù)是我們必須要知道的知識,但是我們知道怎么定義函數(shù)、調(diào)用函數(shù)就可以了。至于更深一層的傳遞規(guī)則、以及函數(shù)參數(shù)到底是值傳遞還是參數(shù)傳遞就沒有必要在一開始就去深究。入門講究寬且淺,這樣我們才能夠有學習的動力和興趣,不然你只能是“從入門到放棄”。

5、福利以上就是我關(guān)于如何快速上手python的一些個人經(jīng)驗了,總結(jié)一下就是python確實不難,但是我們還是需要系統(tǒng)的去學習,尤其是一些基礎(chǔ)的東西,跟著教材大量的去練習,練得多就學得快,重點還是要讓自己的程序跑起來。

上述的這些學習資料書籍,還有學習路徑導圖,我都要整理打包好需要的可以私信我“01”免費獲取,畢竟這些我花了真金白銀的學習資料,是需要對內(nèi)容和效果負責的(花了錢自己也會更上心)。

如何快速學習編程?

1. 我應該選擇什么編程語言

可能困擾編程新手最多的一個問題是【我應該學什么編程語言】或者【我需要學習哪些課程才能做出一個web、一個app】,很多人一直糾結(jié)這個問題,陷入了東學一點、西看一點的死循環(huán),到頭來啥也沒學好,這會很浪費時間。

剛上大一的時候,我也很想知道應該選擇什么編程語言。我問了很多人,網(wǎng)上各種查資料,但所能得到的答案都很片面,多數(shù)對這個問題答非所問,總是回答說“某某編程語言難”,“某某編程語言性能好”。其實作為初學者,我們對計算機體系都不了解,就不要過多地去糾結(jié)性能,或者難易等因素,原因我等下再說。

如果你有明確的方向,那么很好選擇。如果你想做算法、機器學習方向,那么python是最好的選擇。如果你想做web開發(fā),java、php等都可以。如果想做一些更底層的工作,那么就可以選c。當然這是建立在你有明確方向的基礎(chǔ)上。可是,很多人都沒怎么接觸過計算機行業(yè),特別是和我一樣剛?cè)雽W就被調(diào)劑到計算機專業(yè)的人。對這些同學來說,各個編程語言就只是個名字,除了叫法不一樣,你根本不知道它們有什么差別。所以索性不要糾結(jié)了,我替你選一個吧。

如果你是在校大學生,那么你有大把連續(xù)的時間,就先學習c,然后再學c++。我個人是學c入門的,也許很多人不理解我為什么推薦學c,因為c和c++都很難、很復雜,看起來并不適合入門。然而正是它們的難和復雜才能讓你更好地理解計算機系統(tǒng)【計算機系統(tǒng)不是指操作系統(tǒng)】。學習編程不是學習編程語言,而是學習一個計算機生態(tài),即一個龐大的知識體系。只會編程語言而不理解整個計算機的體系,就像只會寫字而寫不出好文章。了解c/c++和了解計算機系統(tǒng)是極為貼合的,向下可以幫助你更容易地理解操作系統(tǒng)、編譯原理、計算機網(wǎng)絡、計算機組成原理,為什么呢?因為較為底層的東西很多都是用c實現(xiàn)的,和系統(tǒng)的貼合度極高,很多教材源碼甚至教程,在講述這些知識的時候都是用c或c++作為媒介。而向上,c++面向?qū)ο蟮臋C制,也可以做出一些應用,譬如五子棋游戲等,也不會顯得那么枯燥。花個小半年時間了解c和c++,之后你就會覺得看書、看資料可以輕松很多。

如果你是一個上班族,但是剛剛學習編程,可能學c和c++對你來說有些復雜和困難,因為學習它們確實是很需要時間。你們不像在校生那樣有大把的連續(xù)時間,而零碎的時間去學習一個比較復雜的東西效果不見得有那么好,所以可以先學一些【更容易見效】的編程語言,從python入手吧,至少能快速做出一些小應用,不至于丟失了興趣,但是真的要入門編程又還得看看與計算機系統(tǒng)相關(guān)的書籍,這樣才能更深層次地去編程,譬如【深入理解計算機系統(tǒng)】這一本書可以讀很多遍,這本書把整個計算機系統(tǒng)給串起來了。

2.學習編程,我需要學習哪些課程?

我要學哪些課程?我為什么要學習如高數(shù)、離散數(shù)學、線性代數(shù)、概率論等課程?

這個問題也是之前困擾了我很久的問題。不過我現(xiàn)在想通了,對于【高數(shù)、離散、線性代數(shù)、概率論】等課程,很好解釋,做算法的同學肯定知道為啥要學習這些課程。機器學習中會大量用到上述提到的課程,所以會比較好理解。對在校生而言,學校開設的很多課程我們不知道為什么要學,我們很疑惑,不知道學它有什么用,這個時候我們就會很糾結(jié),還會產(chǎn)生抵觸情緒。這很正常,因為我們學習得不夠深入,自然不能理解它們的用處。

在我看來,大學本科課程更多的是面向“面”的教學,即什么課程都教給你一些,但是又講得不那么深入;而工作或者讀研,更多的則是面向“點”的學習,用到的知識更專。本科時,學校也不知道你以后是去搞算法、還是搞架構(gòu)、還是搞服務器開發(fā),甚至去搞硬件,所以學校需要你學很多課程,至少有個了解。對學生來說,一方面可以從中選擇自己感興趣的點;一方面也可以對未來的就業(yè)方向有些啟發(fā)。所以即使像數(shù)電、模電等課程,雖然之后可能用不著,但是你也要學,并且會花費大量的時間。雖然你最后不一定去搞硬件,但是這些課程也會讓你更容易去理解一些知識,比如cpu中的邏輯器件。

如果你在大一的時候就有一個明確的定位,知道自己今后想從事哪方面的工作,課程與課程之間是可以調(diào)一下優(yōu)先級的。不過像大學物理,這種課程確實是對編程沒有幫助,但是像我前面所說的,大學教育更注重廣度,大物等課程可能就是為了給你普及生活常識吧。

其實,大學教育的問題是普遍存在的,我認為我們學習一項技能的時候,應該采取的是項目驅(qū)動式學習,即需要用到什么東西時不會了再去學,而不是先填鴨式的都填進腦子,并且在學習的過程中我們還不知道它這是干嘛用的,等之后用到了,甚至不記得自己學過,反而查資料才會想起:哦,原來我之前學的xx科目是這個用處啊,可是我當時并沒有好好學。很多時候?qū)W生時間的浪費可能還是要怪老師、怪學校,他們一開始沒給我們做好充分的課程介紹。所以,在經(jīng)過比較多的編程和項目實踐后,我認為一個比較好的學習方式是,改良版的項目驅(qū)動學習法。即:

學習一段時間,做個小項目,將做項目遇到的問題記下來,針對性地學習相關(guān)知識,然后再實踐,再學一段時間理論,讓知識成網(wǎng)狀發(fā)射狀地變大。當然,項目驅(qū)動式學習有一個弊端,就是每次學習的知識都是項目所需要的,很零碎、不成體系,所以需要改良,即在采取項目驅(qū)動學習法的時候每天抽一段時間去完整地讀一本書,或者一個相關(guān)問題的完整介紹,這樣就很容易把一些知識成體系地串起來。這樣一段時間下來,慢慢的,你就知道我們?yōu)槭裁匆獙W那么多科目,學這些科目能干什么。

為了表達地更加形象,我就舉一個小例子,是我最近遇到的。我本身的工作是做Linux C++的,但不僅限于此。我個人對python、數(shù)據(jù)分析,以及機器學習等內(nèi)容比較感興趣,大家可以看到我最近也在我的專欄發(fā)布了很多文章。就從數(shù)據(jù)獲取開始,我講講我這兩個月做了什么東西。

談到數(shù)據(jù)獲取,可能最容易想到的是爬蟲,爬蟲是一個被說爛了的話題,所以我不想多說它是什么。很多時候有人覺得爬蟲簡單,為什么呢,因為有現(xiàn)成的框架,所以獲取少量的數(shù)據(jù)就比較容易。但是當你需要爬取的數(shù)據(jù)很大的時候(比如我之前抓取了某網(wǎng)站500萬用戶的數(shù)據(jù),在下班的時間、用自己家里普通的pc,計算機性能并不是那么好,比不上服務器,又要在不被封IP的情況下抓到這么大量的數(shù)據(jù),然后對數(shù)據(jù)進行清洗,最后還要可視化展示),使用現(xiàn)成的爬蟲框架就并不是那么容易實現(xiàn)了。況且,我需要抓很多數(shù)據(jù)源,并不是一錘子買賣。所以我選擇去開發(fā)一個系統(tǒng),即在現(xiàn)有的框架下進行二次開發(fā),搭建一個屬于自己的爬蟲系統(tǒng),并植入一些算法。我在系統(tǒng)中添加了很多中間件,直到現(xiàn)在,它還可以在10分鐘內(nèi)就部署一個能抓取大量數(shù)據(jù)的爬蟲應用。當然,這個過程也遇到了不少麻煩,我就簡單講講,怎么去攻克一個個問題。

下面先給出一個樹形圖,從上往下每一個圈都代表了學習過程中遇到的難點,如果你現(xiàn)在看不懂,沒關(guān)系,我想告訴你的是一種梳理知識的方法:

如上圖所示,就是一個項目驅(qū)動式學習的例子,我們的目的是為了獲取數(shù)據(jù),所以選擇了爬蟲:

爬蟲可以理解為一個簡單的過程:發(fā)送request,獲取response,然后提取數(shù)據(jù)。這個過程會涉及到網(wǎng)絡,是發(fā)送http還是https請求;目標網(wǎng)站是否需要登錄,是post請求還是get請求,從這條線,衍生出了一條對網(wǎng)絡進行學習的路徑。獲取到網(wǎng)頁之后,如果不是結(jié)構(gòu)化的數(shù)據(jù),可能返回的是一個html源代碼,那么可能就需要了解dom,或者html頁面解析的知識,甚至需要了解一下前端開發(fā)。在抓取的過程中,經(jīng)常會遇到數(shù)據(jù)中途不能被爬取的情況,一般是IP被封禁了,那么可能又要用上代理,代理是什么呢?http,https代理能不能混用呢?如何構(gòu)建一個代理池呢?這里又有很多要學習的東西。還有可能遇到的情況是,抓下來的數(shù)據(jù)是加密的,需要通過js解密,這時候就要了解一下js,如何用爬蟲模擬瀏覽器進行抓取。除此之外,如果抓取的頻率不對,很多數(shù)據(jù)源會給你假數(shù)據(jù),這就是一些經(jīng)驗問題了,本文不是技術(shù)文,所以就不多討論。當解決了上述問題后,我們好像可以拿到一些數(shù)據(jù)了,但是當數(shù)據(jù)大起來,問題又復雜了,你可能需要使用分布式抓取了,這時候你可能需要了解一下redis,當request產(chǎn)生的速度大于其消費的速度之后,你的任務隊列可能爆炸,所以這里又涉及到算法和數(shù)據(jù)結(jié)構(gòu)的應用了。數(shù)據(jù)量上去之后,把數(shù)據(jù)寫在文件里面是不靠譜的,這時候又涉及到存儲了,到底是使用關(guān)系型數(shù)據(jù)庫還是非關(guān)系型數(shù)據(jù)庫呢,有什么區(qū)別呢?存進去的數(shù)據(jù)怎么去重呢?為什么insert操作越來越卡了呢?電腦怎么越來越熱了呢?索引是什么,什么時候該建立索引呢?這里又牽扯到數(shù)據(jù)庫原理相關(guān)的知識。遇到一些比較難處理的網(wǎng)站,比如有驗證碼識別該怎么辦呢?其實對于很多純數(shù)字和字母的驗證碼都很好解決,自己用深度學習訓練即可。在TensorFlow的Demo中就要生成驗證碼自己訓練的教程,然后制定個中間件放在爬蟲系統(tǒng)中,這個問題就解決了。可是什么是深度學習呢?這里又引出一條對深度學習進行探索的例子,而我自己也是之前在學校的時候自學了小半年機器學習,有了一定的基礎(chǔ)后,才能比較容易地上手TensorFlow框架。再往下就比較深了。上述六點簡單講了講項目驅(qū)動式學習的介紹,其實,你看到的每一個小圓圈,深挖下去都大有文章。我們現(xiàn)在看到的只是冰山一角,任何一條學習路徑學習下去都深無止境,我們不可能完全學會,可是項目驅(qū)動式學習最大的好處是讓你知道你應該去學習什么,而不是先學一大堆知識,再去做一個項目。嚴格來說,項目驅(qū)動式學習的可視化路徑是一張網(wǎng),而不是一棵樹,這里畫成樹狀只是為了便于大家理解。

除了獲得數(shù)據(jù),還有清洗數(shù)據(jù)、分析數(shù)據(jù),甚至挖掘數(shù)據(jù),最后可視化數(shù)據(jù)并且展示數(shù)據(jù),這里我就不一一介紹了。

3.學習編程是否需要制定計劃?

學習編程是否需要制定計劃,該制定什么樣的計劃呢?

我認為不只是編程需要制定計劃,其他任何的學習和工作都需要制定計劃。我從13年上大學就開始定期給自己制定計劃,這個習慣也一直堅持到了現(xiàn)在,受益匪淺。當然也不只是制定學習計劃,還可以列一些自己需要做的其他的事情。我最近在整理筆記的時候也發(fā)現(xiàn)了一些之前記錄的計劃和清單,可以給大家看看。比如下圖就是我14年寫的筆記,筆記上都留下了最后一次打開的時間。列舉了一些自己需要看的文章,因為當時不太懂得規(guī)劃,所以比較亂。

到了16年的時候,我做計劃做得更加有條理了。下圖是16年10月30日的計劃,那時候我已經(jīng)大四了,并且已經(jīng)找到了工作、簽了滿意的offer,并且沒有什么課,按理說可以放松放松了,不過我還是制定了一些學習計劃,并且選擇在11月去百度實習。從內(nèi)容上看,主要是學習英語和計算機專業(yè)課,因為大一大二的時候我確實不明白為什么要學習專業(yè)課,到了大三下想清楚原因以后,我也就一直在重新學習,因為計算機專業(yè)課真的很重要!學好了這些課,能讓你在日后的學習工作中輕松不少:

除了大四制定的計劃外,大二的時候我也制定過較為詳細的學習計劃(如下圖),把需要學習的內(nèi)容進行了編號,存入表格,這樣才能讓你過得有條不紊。當然,很難完全按照計劃去執(zhí)行,不過制定相應的計劃能讓你清楚地知道自己應該干什么。

所以,如果你是在校生,那么好好制定一個計劃吧,因為你有大把的時間。當然,如果你已經(jīng)畢業(yè)了,沒關(guān)系,我現(xiàn)在也在上班,同樣也列舉了自己最近要學習的內(nèi)容,如下圖(2月27日更新過),包括了短期和長期需要學習的內(nèi)容:

4.編程是否需要做筆記和寫博客?

我覺得,寫不寫博客無所謂,因為博客是要寫出來給大家看的,可能要保證格式美觀、語法也要盡量準確,最好比較有文采,我覺得太麻煩也就一直沒寫。而筆記是必須要做的,并且記筆記是一個長期的過程。在學習的過程中,我們一直都在追求一種最高效的學習方法,比如,同一個班的同學,他用他的學習方法考上了清華,而你用同樣的方法就不行,為什么?因為他的方法對他自己而言是定制化的,可能且大概率不適合你,比如他的筆記你不一定能看懂,因為他可能設計了一套屬于自己的符號。而就編程而言,很多同學說善用搜索引擎,是對的,可是搜索引擎搜出來的是別人的答案。你照搬過來,也許可以用,但是你沒有記住,這些知識并不屬于你,之后你可能還會遇到同樣的問題,又要再搜索一遍,可能很難找到之前的那個答案了。但是記筆記就不一樣,記筆記是定制化的,對你自己定制,你可以用自己最爽的表達方式來描述一個問題,是自己寫給自己看的東西,看了幾遍之后就能非常迅速和容易地理解。之后遇到相同的問題可以快速地通過找筆記解決。

舉個例子,下圖是我記錄的一些關(guān)于gdb【linux下調(diào)試c++的工具】的使用的一些筆記。我只記錄了我自己最常用的一些內(nèi)容,也許你看著很亂,但是我就能很容易看懂,這就是我的定制化。

記筆記的習慣一定要堅持,等過個一年或者兩年,這就是你巨大的財富,因為那是只有你才能看懂的東西。我已經(jīng)記錄了4年多、1G多的內(nèi)容,現(xiàn)在的筆記基本已經(jīng)形成了體系,可以給大家展示其中的一部分。

專業(yè)知識相關(guān)筆記:

開發(fā)相關(guān)的筆記:

一些類目:

5.有什么比較好的編程方法?

除了上述分享的一些方法,我認為在同一時間段不要學習太多類別的課程,比如你可以同時學習python和html/css,但是你不要同時學python、操作系統(tǒng)、編譯原理、計算機組成、數(shù)據(jù)結(jié)構(gòu)、網(wǎng)絡,我曾經(jīng)試過,一門課沒學一會兒就學下一門,其實上一門根本學不到什么實際的知識。因為記憶知識是符合艾賓浩斯記憶曲線的。對于一門課,特別是很難的專業(yè)課,譬如操作系統(tǒng),你每天看半小時,效果是比較差的,可能你熱身就得半小時。所以寧可每天學兩門,然后每一門學長一點的時間,比如兩小時。【畢竟學校上課,一次課也得兩小時】,要避免貪多,一口吃不成個胖子。

6.我需要刷oj么?

我認為剛開始編程的時候還是應該刷的,但是一定要注意,不要被你周圍的“X神”給誤導了。因為我上大學的時候,身邊總是有很多搞計算機競賽的人,他們之間都互相稱對方為“X神”,某某神又使用一個牛逼的算法,將程序時間從1秒降低到了0.999秒。我要勸大家的是,刷題不是為了達到這個目的,不是說非要在競賽中拿獎,除非你是特別喜歡,否則,沒必要去背代碼。我們刷題的目的是適應寫代碼的感覺,在這個過程中你會遇到編譯錯誤,你會慢慢去記住一些語法、關(guān)鍵字,并理解一些概念,還可以自己去使用它,比如實現(xiàn)數(shù)據(jù)結(jié)構(gòu)。慢慢的你就會變得有經(jīng)驗,知道一些錯誤產(chǎn)生的原因。我也是慢慢這樣過來的,我現(xiàn)在在工作和下班以后寫代碼時,基本都不用IDE了,比如寫c++,要么vim,要么就是sublime,而調(diào)試用的是我前面提到的工具gdb。即,有一個文本編輯器就能寫代碼,脫離了IDE的束縛。在寫oj之后一段時間,在比較熟練了之后,就可以不去刷題了,可以去譬如github這樣的網(wǎng)站上找點項目來看,然后自己跟著寫一下,編程能力慢慢就提升了。就計算機專業(yè)來說,很多同學在大一上完編程課之后,就很少寫代碼了,這樣是很不好的。刷題除了可以鍛煉編程能力,對于找工作前突擊也很有作用。比如,我之前投遞過華為公司的研發(fā)崗位,校招的時候有筆試題。我就在16年國慶的時候刷了一下華為的oj,我記得筆試是600分的總分,過100就給面試機會,而我很輕松的就拿了500分,而當時也就刷了20多道華為的題。

7.看書還是看視頻?

網(wǎng)上有不少人鄙視看視頻學習的同學,我不知道為什么,因為我認為看視頻是一個很好的學習方式。不過我們得明白看書和看視頻分別有什么優(yōu)缺點。

其實我是很建議看視頻入門的,因為目前網(wǎng)上的應用型【非學術(shù)型:比如清華大學的操作系統(tǒng),非常難】的視頻都是很簡單的,很多是面向初學者的,視頻能用較短的時間告訴你你現(xiàn)在所學的技術(shù)可以干什么,可能需要先修哪些知識,可以幫助我們搭建一個項目驅(qū)動式學習的網(wǎng)絡。可是視頻也有個缺點:就是知識非常的雜,很不系統(tǒng)。雖然現(xiàn)在很多教學網(wǎng)站都提供了學習路徑,但是這些路徑中的視頻很多時候都不是同一個老師錄制的,只是按照知識的依賴關(guān)系排的順序,所以,如果想通過視頻去系統(tǒng)地學習一門知識,是比較困難的。【當然,一些學術(shù)型的視頻還是很推薦的,比如斯坦福的機器學習,清華的操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)等課程,能堅持看完,絕對受益匪淺】。而應用型的,比如web開發(fā)等知識,還是得看書。書籍等特點就是系統(tǒng)化,由淺入深,你可以定制化地看自己薄弱的章節(jié)。所以一個比較好的學習方式是:

看視頻入門,看書進階。

8.多久能學會編程?

其實這個問題是沒有答案的,如果只是想做出一個小應用,2個月足矣,而就我個人而言,我認為學習編程不是學習一種編程語言,而是學習一個生態(tài),一個計算機系統(tǒng),所以無止境。

9.我應該選擇什么資料,看什么書?

其實這個問題也是很多編程新手容易困惑的問題。網(wǎng)絡上擁有我們一輩子都看不完的教程和資料,所以現(xiàn)在應該不會存在找不著視頻教程、找不著書看的問題。而問題就是我們不知道看什么視頻、看什么書。從開始學編程到現(xiàn)在,我也買了上百本書,而真正適合自己的好書并不多。而視頻教程的問題就更嚴重了,東看一點、西看一點,知識很難組織成網(wǎng)絡。所以學習編程的過程中,我們遇到的最大的問題是:當我們遇到問題的時候,在大量資料面前,我們不知道選擇什么資料去學習。即使我們使用項目驅(qū)動式學習的方法找到了我們的方向,但是同一個路徑下,也有很多資料。前文列舉的項目驅(qū)動式學習的圖中,我們是自上而下的去發(fā)現(xiàn)問題,然后再解決問題。如果能有人幫我們組織好學習路徑,然后自下而上地去學習,那么效率可能會提高很多。

不過不用擔心,我已經(jīng)盡我所能,將我看過或者我認為好的課程和書本資料給串了串,整理好上傳了,所有學習資料均免費,無任何收費課程。

資料百度云地址: https://pan.baidu.com/s/11Pk-TAKuiyKaY9Llxpdj2Q 提取碼: w4mk

另外,很多新手反饋不會搭環(huán)境,那我給大家推薦一款可以在線運行代碼的網(wǎng)站,那個背單詞app百詞斬推出的學習編程的網(wǎng)站,在線編輯,在線運行,避免了你搭環(huán)境的痛苦,直接運行即可,這個環(huán)境使用是免費的,點擊FreeCode,選擇“代碼練習”新建文件就可以了:

這個網(wǎng)站對初學者比較友好,不過目前只有Python環(huán)境,其他的環(huán)境得再等等。

百詞斬一直走的都是黑科技路線,并且出的課程也是采用的及時反饋的模式,也正是在他們家自己搭建的環(huán)境上,進行的一個練習,對電腦的配置也沒有什么要求,甚至平板和手機等終端上都可以使用,也是按背單詞那套來設計的,感興趣的同學也可以去看看,也可以去公眾號回復「免費教程」能白嫖免費的課程,感覺也還挺扎實的,實在不感興趣的,也可以免費薅一下他家的編程環(huán)境,對電腦配置真的沒有什么要求。

新手如何寫書?

大家好,我是黃加一,一名個人管理實踐者,計劃在年底出版一本時間管理書籍,出版社已經(jīng)敲定為人民郵電出版社。我還是一名三級拆書家,目前是拆書幫重慶山城分舵舵主。我的本職工作是電力調(diào)度的高級工程師。

出書的第一個流程“書寫樣稿”

未銘圖書的編輯磊哥邀請我出書之后,其實我并不清楚出書的具體流程如何,我需要做些什么事情。磊哥隨后就給我布置了第一個任務“書寫書籍的樣稿”。什么東西?什么樣稿?磊哥給我發(fā)來了樣稿的模板,讓我按照格式來書寫,有任何疑問都可以咨詢他。

這個時候我才知道出書并不是一件簡單的事情。流程很多,每個環(huán)節(jié)都有非常標準的要求和格式。這也讓我明白寫書是一件急不得的事情。需要對每個環(huán)節(jié)、每項任務認真完成,認真對待。當時并不知道“書寫樣稿”這件事情有多么重要,也不知道這個樣稿是出版社決定能否與作者簽訂出書合同的最重要參考資料。

我于是沒心沒肺的花費了兩個小時完成了樣稿的書寫。樣稿內(nèi)容一共包括七個部分,有些內(nèi)容很簡單就可以搞定,有些內(nèi)容需要花費一些功夫才能完成。

樣稿內(nèi)容包括七個部分

1.書名

書名是樣稿的一個內(nèi)容。如何取一個好名字是一件特別有技術(shù)含量的事情。當時我并不知道書名的重要性。就隨便去了一個名字叫做《個人管理體系構(gòu)建的使用手冊》。如果我現(xiàn)在看到這個名字,應該是沒有什么欲望想要購買這本書。

不過在樣稿中的書名并非最終的書名。只是在樣稿中交代清楚自己書籍的主題是什么。讓出版社編輯能夠知道這本書在市場上在哪個分類中。有什么特色。它能夠體現(xiàn)一個大致的方向,以便出版社進行篩選和抉擇。

2.賣點分析

賣點分析是闡明這本書跟市面上同類型書籍相比較有哪些優(yōu)勢所在。為什么這本書有別于其他同類型書籍,并在市場上有銷售潛力。可以從以下三點來分析書籍的賣點。

1)這本書是否為100%原創(chuàng);原創(chuàng)的書籍當然比編著的書籍要好很多。

2)這本書是否具有很好的可讀性;如果是以故事的形式來呈現(xiàn),會更有觀眾緣。

3)這本書是否有足夠多的方法和干貨。成人學習需要醫(yī)生式的書籍,內(nèi)容如果有落地的方法會更好。

3.作者介紹

作者介紹主要是對出版社編輯闡述作者的來歷。如果以前出版過書籍當然是最好,但是現(xiàn)如今很多普通人也能夠出書。在這個部分需要將作者的來歷描述清楚,以便說明作者是一個可靠的人。可以分別從以下三點來介紹作者。

1)作者的學歷,畢業(yè)的大學,以及學習的專業(yè)。

2)作者的工作經(jīng)歷,在哪里就職,擔任何種職務。

3)作者的成就,最好能夠描述在書籍主題領(lǐng)域下有哪些成就。

4.宣傳優(yōu)勢

如果你不是大牌作家,一般出版社是不會主動對書籍進行宣傳的。所以宣傳的任務很多都需要作者自己來承擔。如果作者在宣傳方面有優(yōu)勢,也能夠在一定程度上打動出版社編輯。宣傳優(yōu)勢主要從以下三點來描述。

1)作者在哪些平臺上有足夠多的人脈和人氣。比如簡書、微博、公眾號、頭條等平臺。

2)作者在哪些社群或者組織有足夠多的人脈和人氣。比如頭馬、拆書幫、橙子學院等社群。

3)作者在哪些專業(yè)推廣平臺上有資源。比如磊哥是未銘圖書的編輯,未銘圖書可以幫忙進行推廣。

5.內(nèi)容介紹

書籍的內(nèi)容介紹是用文字的形式來描述這本書講述的大致內(nèi)容。可以按照以下三點來書寫。

1)書籍可以給讀者帶來什么收益和幫助。

2)書籍主要內(nèi)容講述的是什么。

3)書籍的每一章教會了讀者什么方法和技巧。

6.書籍目錄

書籍目錄與書籍內(nèi)容介紹是強關(guān)聯(lián)的。只是書籍的內(nèi)容介紹是通過文字的方式來描述。書籍目錄是通過結(jié)構(gòu)化的方式來描述整本書。書籍目錄包可以按照大小等級來劃分。。

1)書籍的一級目錄。

2)書籍的二級目錄。

3)書籍的三級目錄。(可選)

一般來說寫到書籍的二級目錄就可以了。三級目錄太細,在書寫樣稿的時候,有可能想不到這么細節(jié)。

7.圖書樣章

圖書的樣章應該是書寫樣稿中最花費時間,也是最重要的一個板塊內(nèi)容。你可以選擇圖書中某一個章節(jié)的內(nèi)容進行書寫。但是這個樣章必須與之前交代的圖書賣點相一致。

1)樣章必須體現(xiàn)原創(chuàng)性。

2)樣章必須體現(xiàn)可讀性。

3)樣章必須體現(xiàn)實操性。

樣章是這本書整體風格的基調(diào),也是出版社編輯最終決定的關(guān)鍵性內(nèi)容。

樣稿的作用是打動編輯

以上七點是樣稿的主要內(nèi)容和要求,但是很多人會有疑問。這本書還沒有正式書寫呢,很多的思路和點子可能都會在書寫的過程中逐漸完善和豐滿起來。這樣最終寫出來的書稿與此時書寫的樣稿一定有或大或小的區(qū)別。這么辦呢?

首先我們需要知道每件事的作用。書籍的樣稿是用來打動出版社編輯的心,讓他們同意在合同上簽字。因此樣稿的所有內(nèi)容都在講述這本書很厲害,寫出來一定會大賣。如果以此為基礎(chǔ)來書寫樣稿,一定會提升編輯同意簽訂合同的成功率。至于樣稿是否與最終的成稿一致,已經(jīng)不是問題了。最終的成稿一定會在樣稿的基礎(chǔ)上更加的完善。

我寫好了第一版的樣稿后就發(fā)給了磊哥,當時自己并沒有特別重視這個樣稿的書寫。結(jié)果可想而知,被北京大學出版社和中國鐵道出版社給拒了。又經(jīng)過了第二輪的修改后,最終與人民郵電出版社達成了簽訂合同。

樣稿一定要重視,尤其是要站在打動出版社編輯的角度來思考如何寫好自己的樣稿。

以上就是關(guān)于游戲編程之從零開始pdf和初學者如何迅速學習Python的相關(guān)問題解答,希望對你有所幫助。