游戲編程學(xué)校,有沒有接近完美黑蘋果的筆記本?
當(dāng)然是華為matebook pro。屏幕比例3:2,這一個(gè)條件注定適合辦公,全球競爭者就只剩下macboook pro,surfacebook和matebook pro了。再加上全球最窄邊框,13寸的體積和重量,13.9的屏幕,就是windows筆記本里最接近macbook pro體驗(yàn)的筆記本沒有之一。osx系統(tǒng)安裝靠vmware全搞定。有人說dell xps?你們買筆記本都靠廣告量嗎? 這是一個(gè)macbook pro用戶的親身實(shí)踐。
孩子多大年齡適合學(xué)習(xí)編程機(jī)器人?
機(jī)器人編程也分為零基礎(chǔ)和進(jìn)階,以童程童美少兒編程機(jī)器人編程課程為例來說明。
舉例① 完成一個(gè)星際戰(zhàn)機(jī)主題的機(jī)器人搭建及編程:開始程序后,電機(jī)開始轉(zhuǎn)動(dòng),傳送帶(紙帶)開始向搖桿方向轉(zhuǎn)動(dòng)。通過控制搖桿在滑軌上左右滑動(dòng)躲避傳送帶上的障礙物;通過運(yùn)動(dòng)傳感器對于傳送帶上黑色和白色反饋的數(shù)值的不同判斷是否碰到障礙物。
編程中會用到電機(jī)模塊,等待模塊,運(yùn)動(dòng)傳感器等。
② 完成一個(gè)擺動(dòng)投籃機(jī)主題的機(jī)器人搭建及編程:開始程序后,電機(jī)開始轉(zhuǎn)動(dòng),投籃機(jī)開始左右擺動(dòng)。
編程中會用到等待模塊,聲音模塊,電機(jī)模塊,隨機(jī)模塊等。
舉例① 完成一個(gè)賽跑游戲主題的機(jī)器人搭建及編程:模擬運(yùn)動(dòng)員初始在起點(diǎn)位置,開始程序后,每次碰撞觸動(dòng)傳感器,電機(jī)帶動(dòng)履帶轉(zhuǎn)動(dòng)一定角度,模擬運(yùn)動(dòng)員向前走一步。當(dāng)模擬運(yùn)動(dòng)員到達(dá)終點(diǎn)時(shí),游戲獲得勝利。
編程中會用到切換模塊,等待模塊,循環(huán)模塊等。
學(xué)習(xí)機(jī)器人編程有啥好處?
1.提高解決問題能力
學(xué)習(xí)機(jī)器人編程機(jī)器人的好處是,它并沒有一個(gè)標(biāo)準(zhǔn)答案,所有的解決方案都得靠孩子們通過不斷實(shí)驗(yàn)去探索。機(jī)器人玩的好的孩子,你會發(fā)現(xiàn)他們的思維特別活絡(luò)跳脫,非常善于發(fā)現(xiàn)和總結(jié)問題,遇到難題時(shí)不會呆愣著等別人幫忙,而是會想盡一切方法去解決難題。
2.動(dòng)手能力得到增強(qiáng)
機(jī)器人編程,首先拼的就是動(dòng)手能力,雖說機(jī)器人的核心是程序控制,但其實(shí)機(jī)器人最主要的模塊就兩個(gè),一個(gè)是輸入,另外一個(gè)就是輸出。輸入模塊的話,有開關(guān),有距離傳感器,有移動(dòng)傳感器等等;而輸出模塊的話,有LED燈,有馬達(dá)的轉(zhuǎn)動(dòng),有聲音等等。而這么多的部件,是需要電線連接的,一根線連錯(cuò)了,機(jī)器人就不會工作。因此玩機(jī)器人需要孩子得有極強(qiáng)的動(dòng)手能力。
3.跨學(xué)科知識的融合,提升孩子綜合能力
機(jī)器人其實(shí)融合了包括數(shù)學(xué)、物理在內(nèi)的很多學(xué)科,學(xué)習(xí)機(jī)器人最大的好處是,其它學(xué)科學(xué)到的知識能得到一個(gè)現(xiàn)實(shí)中應(yīng)用的地方,這樣理論聯(lián)系實(shí)踐也能幫助孩子加深知識點(diǎn)的理解和記憶。
小學(xué)員小時(shí)候很喜歡小汽車,家里擺滿了各式各樣的汽車玩具,但后來玩著玩著就覺得沒什么意思,然后就思考能不能自己做一個(gè)出來。
起初,他會用樂高積木塊構(gòu)建一個(gè)小車模型滾來滾去,但速度怎么都跑不快,但在接觸了機(jī)器人編程后,開始學(xué)習(xí)用馬達(dá)、齒輪傳動(dòng)的機(jī)械原理來改裝小汽車,用編程的技術(shù)控制小車。
這個(gè)改裝升級的過程并不是那么一帆風(fēng)順,屢次測試時(shí)都會出各種各樣的問題,方向失控、小汽車跑偏、換個(gè)場地,速度就跑不起來了……各種問題都會遇到。
在這個(gè)不斷的“出現(xiàn)問題——解決問題”的過程中,一步步完善改進(jìn)作品,最后做出來更加堅(jiān)固、穩(wěn)定、速度還極快的小車,對這位小學(xué)員發(fā)現(xiàn)問題、解決問題的能力得到了極大的鍛煉。
了解課程更多詳情,可以戳鏈接:
http://xa.java.tedu.cn/mit61/?weixin
你認(rèn)為少兒編程教育未來前景如何?
謝邀。
如果不是因?yàn)榭春眠@樣的未來,我們也不會傾瀉全力與愛心去投入和持續(xù)了。
任何一類教育事業(yè)的發(fā)展都與國家的政治經(jīng)濟(jì)發(fā)展、教育政策密切相關(guān)。
首先,從政策的大環(huán)境來講。在國外,少兒編程教育發(fā)展程度非常高。全球已有 24 個(gè)國家在基礎(chǔ)教育中設(shè)立了編程課程大綱:
· 在美國,編程已進(jìn)入幼兒園和中小學(xué)課堂,是備受歡迎的課程之一
· 在英國,編程被列入國家教學(xué)大綱,成為6~15歲孩子的必修課
· 在日本,“編程”成為日本家長最想讓成為孩子學(xué)習(xí)的技能之一
而我國,從2017年開始,關(guān)于人工智能的教育信息幾乎月月更新:
2017年7月,在國務(wù)院發(fā)布的《新一代人工智能發(fā)展規(guī)劃》中,明確提出編程課走進(jìn)中小學(xué)2018年1月,教育部宣布,人工智能、機(jī)器人等要進(jìn)入全國高中新課標(biāo)2018年4月,南京教育局將編程列入南京中考特招生的范疇2018年8月,浙江省將信息技術(shù)(含編程)正式列入高考科目2018年11月,全國首套涵蓋了從小學(xué)到高中的人工智能教材在滬亮相,年后開始使用很清晰地看到,所有信息都在強(qiáng)調(diào)一個(gè)事實(shí):不會編程將嚴(yán)重影響孩子升學(xué)。
其次,從經(jīng)濟(jì)與技術(shù)的時(shí)代背景來看。飛速發(fā)展的時(shí)代下,未來的孩子們面臨著越來越大的挑戰(zhàn)。面對人工智能時(shí)代,了解編程,學(xué)習(xí)編程是孩子們必備的技能。
· 馬斯克說:“在未來20年,全球12%至15%的勞動(dòng)力將因?yàn)槿斯ぶ悄芏I(yè)。”· 李開復(fù)更狠地說:“10-15年之后,50%人類的工作將會部分或全部被人工智能取代。”
少兒編程的火熱,與人工智能的發(fā)展密切相關(guān)。這就意味著,未來如果孩子不懂編程,他就沒辦法適應(yīng)社會的需要。在人工智能時(shí)代,編程不只是一個(gè)工具,更是一種思維的創(chuàng)新與體現(xiàn),它已經(jīng)成為每一個(gè)孩子必備的基本能力。
最后,從現(xiàn)實(shí)和課業(yè)的角度來說。編程是一個(gè)強(qiáng)調(diào)“邏輯思維”的學(xué)科:當(dāng)我們面對復(fù)雜繁瑣的步驟頭疼不已時(shí),編程鍛煉出來的思維能夠高效地將問題化繁為簡。這就是編程不僅被廣泛應(yīng)用到各行各業(yè),還進(jìn)入了中小學(xué)課堂的原因。
事實(shí)上,編程的學(xué)習(xí)天然融合多學(xué)科知識,能夠潛移默化促進(jìn)孩子數(shù)學(xué)和英語的學(xué)習(xí)。在編程學(xué)習(xí)中,孩子通過項(xiàng)目建立起時(shí)間、順序、空間、因果等重要的數(shù)學(xué)概念,同時(shí)學(xué)會在英文界面中發(fā)出命令,顯著提高對英語的學(xué)習(xí)及應(yīng)用能力。這是其他課程單獨(dú)教育,死記硬背完全無法比擬的。
掌握編程的技能,也更容易幫助孩子獲得名校錄取、申請國外留學(xué)的機(jī)會。
清華前校長陳吉寧也對少兒編程Scratch之父雷斯尼克說過:
中國未來社會需要的,是那種邏輯思維縝密,能夠應(yīng)對變化,提出獨(dú)特想法的創(chuàng)造性人才。
我們在做的這件少兒編程事情,想法非常簡單,“釋放每一個(gè)孩子的創(chuàng)造力”。
20 年前,學(xué)英語不是為了成為翻譯員;10 年前,學(xué)習(xí)電腦不是為了成為打字員;今天學(xué)習(xí)編程,不是為了讓孩子們都成為程序員,而是為他們打開一扇門,走進(jìn)更廣闊的未來世界。
最后,說一點(diǎn)點(diǎn)題外話。
我們知道,世界上,存在著嚴(yán)重的數(shù)字鴻溝。就像這則報(bào)道紀(jì)實(shí):
對廣東乳源縣山區(qū)11歲的浩東來說,電腦是個(gè)復(fù)雜而神奇的東西。他只在老師的辦公室里摸到過,他認(rèn)得鍵盤和屏幕,知道如何開關(guān),剩下的幾乎一無所知。他不知道IPAD,沒玩過微信,不明白上網(wǎng)意味著什么。在他就讀的這所農(nóng)村小學(xué)里,外界捐獻(xiàn)的6臺電腦只夠作為老師的備課工具……(報(bào)道來源:《中國青年報(bào)》宣金學(xué) )
數(shù)字鴻溝,所表達(dá)和傳遞的意思是:在不同的國家、地區(qū)、行業(yè)之間,由于對網(wǎng)絡(luò)技術(shù)的擁有程度和應(yīng)用程度,對信息的獲取度和理解度都存在落差,繼而導(dǎo)致貧富差距和認(rèn)知差距進(jìn)一步兩極分化。
馬云曾經(jīng)說過,「 衡量一個(gè)國家的水平多好,不是在于你這個(gè)國家有多少牛X的大學(xué),牛X的中學(xué),而在于最差的學(xué)校到底有多差。最差的學(xué)校改變了,這個(gè)國家才會有機(jī)會改變起來。」
真實(shí)案例,曾經(jīng)有來自大山里的老師用戶說,我們的課程真的好,他買了以后“偷偷”帶去學(xué)校里教給學(xué)生,大家都非常受用。山里的孩子如獲至寶。
當(dāng)然,從商業(yè)的角度來講,這樣的事情當(dāng)然是不允許的。但我們答應(yīng)了這位老師。
商業(yè)利益固然是非常重要的,沒有這些我們的公司、事業(yè)和員工也無法生存下去。但我們依然期望,能夠盡自己的綿薄之力,為那條數(shù)字鴻溝鋪墊上一些些磚石。
這也是西瓜創(chuàng)客的課程價(jià)格非常親民的原因,近乎公益性質(zhì)的價(jià)格,對于三四線城市乃至大山里的家庭,都是可以接受的開支。
未來,是每一步思維的提升與迭代,是每一步成長的累積,也是每一個(gè)孩子成長的集合。
我們真的期望,能夠和這個(gè)世界的父母牽手,用心做好“少兒編程”這件事情,改變世界。
謝謝大家。
計(jì)算機(jī)培訓(xùn)有哪些專業(yè)?
1 軟件開發(fā)(主要專業(yè):計(jì)算機(jī)科學(xué)與技術(shù),軟件工程等),就是編寫代碼,開發(fā)程序。有多種開發(fā)語言C/C++,JAVA,C#等。 注:系統(tǒng)開發(fā),網(wǎng)絡(luò)編程和大型游戲還是需要學(xué)好C/C++(個(gè)人認(rèn)為較難點(diǎn)),手機(jī)游戲需要學(xué)會JAVA。工程項(xiàng)目的系統(tǒng)軟件開發(fā),常用的是JAVA/JavaEE和C#/.NET,還有些中小型開發(fā)常用的技術(shù)Delphi,PB,PHP,ASP等等。 很多人都是從C語言開始接觸編程的,它是經(jīng)典,也很強(qiáng)大,具有承上啟下的地位,可以為今后打下良好的基礎(chǔ)。
2 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)(主要專業(yè):通信,網(wǎng)絡(luò)安全與管理等),界定很寬泛,網(wǎng)絡(luò)領(lǐng)域和計(jì)算機(jī)一樣,發(fā)展方向細(xì)化的很詳細(xì)了,完全可以獨(dú)立劃出計(jì)算機(jī)專業(yè)行列,主要涉及領(lǐng)域有通信協(xié)議,網(wǎng)路信息安全等等。
3 電子專業(yè) 傾向于硬件,單片機(jī),嵌入式等 硬件方面,感覺比軟件難學(xué)的多,難就難在學(xué)習(xí)實(shí)踐的環(huán)境比較難找,比如嵌入式,大型機(jī),絕不像軟件學(xué)習(xí),有個(gè)電腦連個(gè)網(wǎng)就齊活了,呵呵。也正因此它的含金量絕不低于軟件,更主要它還比軟件技術(shù)相對來說發(fā)展“穩(wěn)定”,也就是俗話說的“越老越吃香”的現(xiàn)象更明顯,更多的是個(gè)積累。
4 計(jì)算機(jī)應(yīng)用技術(shù),傾向于“應(yīng)用”,本科這個(gè)專業(yè)很少見,多見于專科。研究生好像也有這個(gè)專業(yè)吧,但“此應(yīng)用非彼應(yīng)用”了!計(jì)算機(jī)應(yīng)用就是大雜燴,什么都學(xué),軟件、硬件、網(wǎng)絡(luò)、數(shù)據(jù)庫,但都是皮毛,目標(biāo)是結(jié)合其他行業(yè)領(lǐng)域的特點(diǎn)使用計(jì)算機(jī)。比如:工業(yè)設(shè)計(jì)/制圖,動(dòng)漫/flash,多媒體處理等等。
如何快速學(xué)習(xí)編程?
1. 我應(yīng)該選擇什么編程語言
可能困擾編程新手最多的一個(gè)問題是【我應(yīng)該學(xué)什么編程語言】或者【我需要學(xué)習(xí)哪些課程才能做出一個(gè)web、一個(gè)app】,很多人一直糾結(jié)這個(gè)問題,陷入了東學(xué)一點(diǎn)、西看一點(diǎn)的死循環(huán),到頭來啥也沒學(xué)好,這會很浪費(fèi)時(shí)間。剛上大一的時(shí)候,我也很想知道應(yīng)該選擇什么編程語言。我問了很多人,網(wǎng)上各種查資料,但所能得到的答案都很片面,多數(shù)對這個(gè)問題答非所問,總是回答說“某某編程語言難”,“某某編程語言性能好”。其實(shí)作為初學(xué)者,我們對計(jì)算機(jī)體系都不了解,就不要過多地去糾結(jié)性能,或者難易等因素,原因我等下再說。如果你有明確的方向,那么很好選擇。如果你想做算法、機(jī)器學(xué)習(xí)方向,那么python是最好的選擇。如果你想做web開發(fā),java、php等都可以。如果想做一些更底層的工作,那么就可以選c。當(dāng)然這是建立在你有明確方向的基礎(chǔ)上。可是,很多人都沒怎么接觸過計(jì)算機(jī)行業(yè),特別是和我一樣剛?cè)雽W(xué)就被調(diào)劑到計(jì)算機(jī)專業(yè)的人。對這些同學(xué)來說,各個(gè)編程語言就只是個(gè)名字,除了叫法不一樣,你根本不知道它們有什么差別。所以索性不要糾結(jié)了,我替你選一個(gè)吧。如果你是在校大學(xué)生,那么你有大把連續(xù)的時(shí)間,就先學(xué)習(xí)c,然后再學(xué)c++。我個(gè)人是學(xué)c入門的,也許很多人不理解我為什么推薦學(xué)c,因?yàn)閏和c++都很難、很復(fù)雜,看起來并不適合入門。然而正是它們的難和復(fù)雜才能讓你更好地理解計(jì)算機(jī)系統(tǒng)【計(jì)算機(jī)系統(tǒng)不是指操作系統(tǒng)】。學(xué)習(xí)編程不是學(xué)習(xí)編程語言,而是學(xué)習(xí)一個(gè)計(jì)算機(jī)生態(tài),即一個(gè)龐大的知識體系。只會編程語言而不理解整個(gè)計(jì)算機(jī)的體系,就像只會寫字而寫不出好文章。了解c/c++和了解計(jì)算機(jī)系統(tǒng)是極為貼合的,向下可以幫助你更容易地理解操作系統(tǒng)、編譯原理、計(jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)組成原理,為什么呢?因?yàn)檩^為底層的東西很多都是用c實(shí)現(xiàn)的,和系統(tǒng)的貼合度極高,很多教材源碼甚至教程,在講述這些知識的時(shí)候都是用c或c++作為媒介。而向上,c++面向?qū)ο蟮臋C(jī)制,也可以做出一些應(yīng)用,譬如五子棋游戲等,也不會顯得那么枯燥。花個(gè)小半年時(shí)間了解c和c++,之后你就會覺得看書、看資料可以輕松很多。如果你是一個(gè)上班族,但是剛剛學(xué)習(xí)編程,可能學(xué)c和c++對你來說有些復(fù)雜和困難,因?yàn)閷W(xué)習(xí)它們確實(shí)是很需要時(shí)間。你們不像在校生那樣有大把的連續(xù)時(shí)間,而零碎的時(shí)間去學(xué)習(xí)一個(gè)比較復(fù)雜的東西效果不見得有那么好,所以可以先學(xué)一些【更容易見效】的編程語言,從python入手吧,至少能快速做出一些小應(yīng)用,不至于丟失了興趣,但是真的要入門編程又還得看看與計(jì)算機(jī)系統(tǒng)相關(guān)的書籍,這樣才能更深層次地去編程,譬如【深入理解計(jì)算機(jī)系統(tǒng)】這一本書可以讀很多遍,這本書把整個(gè)計(jì)算機(jī)系統(tǒng)給串起來了。2.學(xué)習(xí)編程,我需要學(xué)習(xí)哪些課程?我要學(xué)哪些課程?我為什么要學(xué)習(xí)如高數(shù)、離散數(shù)學(xué)、線性代數(shù)、概率論等課程?這個(gè)問題也是之前困擾了我很久的問題。不過我現(xiàn)在想通了,對于【高數(shù)、離散、線性代數(shù)、概率論】等課程,很好解釋,做算法的同學(xué)肯定知道為啥要學(xué)習(xí)這些課程。機(jī)器學(xué)習(xí)中會大量用到上述提到的課程,所以會比較好理解。對在校生而言,學(xué)校開設(shè)的很多課程我們不知道為什么要學(xué),我們很疑惑,不知道學(xué)它有什么用,這個(gè)時(shí)候我們就會很糾結(jié),還會產(chǎn)生抵觸情緒。這很正常,因?yàn)槲覀儗W(xué)習(xí)得不夠深入,自然不能理解它們的用處。在我看來,大學(xué)本科課程更多的是面向“面”的教學(xué),即什么課程都教給你一些,但是又講得不那么深入;而工作或者讀研,更多的則是面向“點(diǎn)”的學(xué)習(xí),用到的知識更專。本科時(shí),學(xué)校也不知道你以后是去搞算法、還是搞架構(gòu)、還是搞服務(wù)器開發(fā),甚至去搞硬件,所以學(xué)校需要你學(xué)很多課程,至少有個(gè)了解。對學(xué)生來說,一方面可以從中選擇自己感興趣的點(diǎn);一方面也可以對未來的就業(yè)方向有些啟發(fā)。所以即使像數(shù)電、模電等課程,雖然之后可能用不著,但是你也要學(xué),并且會花費(fèi)大量的時(shí)間。雖然你最后不一定去搞硬件,但是這些課程也會讓你更容易去理解一些知識,比如cpu中的邏輯器件。如果你在大一的時(shí)候就有一個(gè)明確的定位,知道自己今后想從事哪方面的工作,課程與課程之間是可以調(diào)一下優(yōu)先級的。不過像大學(xué)物理,這種課程確實(shí)是對編程沒有幫助,但是像我前面所說的,大學(xué)教育更注重廣度,大物等課程可能就是為了給你普及生活常識吧。其實(shí),大學(xué)教育的問題是普遍存在的,我認(rèn)為我們學(xué)習(xí)一項(xiàng)技能的時(shí)候,應(yīng)該采取的是項(xiàng)目驅(qū)動(dòng)式學(xué)習(xí),即需要用到什么東西時(shí)不會了再去學(xué),而不是先填鴨式的都填進(jìn)腦子,并且在學(xué)習(xí)的過程中我們還不知道它這是干嘛用的,等之后用到了,甚至不記得自己學(xué)過,反而查資料才會想起:哦,原來我之前學(xué)的xx科目是這個(gè)用處啊,可是我當(dāng)時(shí)并沒有好好學(xué)。很多時(shí)候?qū)W生時(shí)間的浪費(fèi)可能還是要怪老師、怪學(xué)校,他們一開始沒給我們做好充分的課程介紹。所以,在經(jīng)過比較多的編程和項(xiàng)目實(shí)踐后,我認(rèn)為一個(gè)比較好的學(xué)習(xí)方式是,改良版的項(xiàng)目驅(qū)動(dòng)學(xué)習(xí)法。即:學(xué)習(xí)一段時(shí)間,做個(gè)小項(xiàng)目,將做項(xiàng)目遇到的問題記下來,針對性地學(xué)習(xí)相關(guān)知識,然后再實(shí)踐,再學(xué)一段時(shí)間理論,讓知識成網(wǎng)狀發(fā)射狀地變大。當(dāng)然,項(xiàng)目驅(qū)動(dòng)式學(xué)習(xí)有一個(gè)弊端,就是每次學(xué)習(xí)的知識都是項(xiàng)目所需要的,很零碎、不成體系,所以需要改良,即在采取項(xiàng)目驅(qū)動(dòng)學(xué)習(xí)法的時(shí)候每天抽一段時(shí)間去完整地讀一本書,或者一個(gè)相關(guān)問題的完整介紹,這樣就很容易把一些知識成體系地串起來。這樣一段時(shí)間下來,慢慢的,你就知道我們?yōu)槭裁匆獙W(xué)那么多科目,學(xué)這些科目能干什么。為了表達(dá)地更加形象,我就舉一個(gè)小例子,是我最近遇到的。我本身的工作是做Linux C++的,但不僅限于此。我個(gè)人對python、數(shù)據(jù)分析,以及機(jī)器學(xué)習(xí)等內(nèi)容比較感興趣,大家可以看到我最近也在我的專欄發(fā)布了很多文章。就從數(shù)據(jù)獲取開始,我講講我這兩個(gè)月做了什么東西。談到數(shù)據(jù)獲取,可能最容易想到的是爬蟲,爬蟲是一個(gè)被說爛了的話題,所以我不想多說它是什么。很多時(shí)候有人覺得爬蟲簡單,為什么呢,因?yàn)橛鞋F(xiàn)成的框架,所以獲取少量的數(shù)據(jù)就比較容易。但是當(dāng)你需要爬取的數(shù)據(jù)很大的時(shí)候(比如我之前抓取了某網(wǎng)站500萬用戶的數(shù)據(jù),在下班的時(shí)間、用自己家里普通的pc,計(jì)算機(jī)性能并不是那么好,比不上服務(wù)器,又要在不被封IP的情況下抓到這么大量的數(shù)據(jù),然后對數(shù)據(jù)進(jìn)行清洗,最后還要可視化展示),使用現(xiàn)成的爬蟲框架就并不是那么容易實(shí)現(xiàn)了。況且,我需要抓很多數(shù)據(jù)源,并不是一錘子買賣。所以我選擇去開發(fā)一個(gè)系統(tǒng),即在現(xiàn)有的框架下進(jìn)行二次開發(fā),搭建一個(gè)屬于自己的爬蟲系統(tǒng),并植入一些算法。我在系統(tǒng)中添加了很多中間件,直到現(xiàn)在,它還可以在10分鐘內(nèi)就部署一個(gè)能抓取大量數(shù)據(jù)的爬蟲應(yīng)用。當(dāng)然,這個(gè)過程也遇到了不少麻煩,我就簡單講講,怎么去攻克一個(gè)個(gè)問題。下面先給出一個(gè)樹形圖,從上往下每一個(gè)圈都代表了學(xué)習(xí)過程中遇到的難點(diǎn),如果你現(xiàn)在看不懂,沒關(guān)系,我想告訴你的是一種梳理知識的方法:如上圖所示,就是一個(gè)項(xiàng)目驅(qū)動(dòng)式學(xué)習(xí)的例子,我們的目的是為了獲取數(shù)據(jù),所以選擇了爬蟲:爬蟲可以理解為一個(gè)簡單的過程:發(fā)送request,獲取response,然后提取數(shù)據(jù)。這個(gè)過程會涉及到網(wǎng)絡(luò),是發(fā)送http還是https請求;目標(biāo)網(wǎng)站是否需要登錄,是post請求還是get請求,從這條線,衍生出了一條對網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)的路徑。獲取到網(wǎng)頁之后,如果不是結(jié)構(gòu)化的數(shù)據(jù),可能返回的是一個(gè)html源代碼,那么可能就需要了解dom,或者h(yuǎn)tml頁面解析的知識,甚至需要了解一下前端開發(fā)。在抓取的過程中,經(jīng)常會遇到數(shù)據(jù)中途不能被爬取的情況,一般是IP被封禁了,那么可能又要用上代理,代理是什么呢?http,https代理能不能混用呢?如何構(gòu)建一個(gè)代理池呢?這里又有很多要學(xué)習(xí)的東西。還有可能遇到的情況是,抓下來的數(shù)據(jù)是加密的,需要通過js解密,這時(shí)候就要了解一下js,如何用爬蟲模擬瀏覽器進(jìn)行抓取。除此之外,如果抓取的頻率不對,很多數(shù)據(jù)源會給你假數(shù)據(jù),這就是一些經(jīng)驗(yàn)問題了,本文不是技術(shù)文,所以就不多討論。當(dāng)解決了上述問題后,我們好像可以拿到一些數(shù)據(jù)了,但是當(dāng)數(shù)據(jù)大起來,問題又復(fù)雜了,你可能需要使用分布式抓取了,這時(shí)候你可能需要了解一下redis,當(dāng)request產(chǎn)生的速度大于其消費(fèi)的速度之后,你的任務(wù)隊(duì)列可能爆炸,所以這里又涉及到算法和數(shù)據(jù)結(jié)構(gòu)的應(yīng)用了。數(shù)據(jù)量上去之后,把數(shù)據(jù)寫在文件里面是不靠譜的,這時(shí)候又涉及到存儲了,到底是使用關(guān)系型數(shù)據(jù)庫還是非關(guān)系型數(shù)據(jù)庫呢,有什么區(qū)別呢?存進(jìn)去的數(shù)據(jù)怎么去重呢?為什么insert操作越來越卡了呢?電腦怎么越來越熱了呢?索引是什么,什么時(shí)候該建立索引呢?這里又牽扯到數(shù)據(jù)庫原理相關(guān)的知識。遇到一些比較難處理的網(wǎng)站,比如有驗(yàn)證碼識別該怎么辦呢?其實(shí)對于很多純數(shù)字和字母的驗(yàn)證碼都很好解決,自己用深度學(xué)習(xí)訓(xùn)練即可。在TensorFlow的Demo中就要生成驗(yàn)證碼自己訓(xùn)練的教程,然后制定個(gè)中間件放在爬蟲系統(tǒng)中,這個(gè)問題就解決了。可是什么是深度學(xué)習(xí)呢?這里又引出一條對深度學(xué)習(xí)進(jìn)行探索的例子,而我自己也是之前在學(xué)校的時(shí)候自學(xué)了小半年機(jī)器學(xué)習(xí),有了一定的基礎(chǔ)后,才能比較容易地上手TensorFlow框架。再往下就比較深了。上述六點(diǎn)簡單講了講項(xiàng)目驅(qū)動(dòng)式學(xué)習(xí)的介紹,其實(shí),你看到的每一個(gè)小圓圈,深挖下去都大有文章。我們現(xiàn)在看到的只是冰山一角,任何一條學(xué)習(xí)路徑學(xué)習(xí)下去都深無止境,我們不可能完全學(xué)會,可是項(xiàng)目驅(qū)動(dòng)式學(xué)習(xí)最大的好處是讓你知道你應(yīng)該去學(xué)習(xí)什么,而不是先學(xué)一大堆知識,再去做一個(gè)項(xiàng)目。嚴(yán)格來說,項(xiàng)目驅(qū)動(dòng)式學(xué)習(xí)的可視化路徑是一張網(wǎng),而不是一棵樹,這里畫成樹狀只是為了便于大家理解。除了獲得數(shù)據(jù),還有清洗數(shù)據(jù)、分析數(shù)據(jù),甚至挖掘數(shù)據(jù),最后可視化數(shù)據(jù)并且展示數(shù)據(jù),這里我就不一一介紹了。3.學(xué)習(xí)編程是否需要制定計(jì)劃?學(xué)習(xí)編程是否需要制定計(jì)劃,該制定什么樣的計(jì)劃呢?我認(rèn)為不只是編程需要制定計(jì)劃,其他任何的學(xué)習(xí)和工作都需要制定計(jì)劃。我從13年上大學(xué)就開始定期給自己制定計(jì)劃,這個(gè)習(xí)慣也一直堅(jiān)持到了現(xiàn)在,受益匪淺。當(dāng)然也不只是制定學(xué)習(xí)計(jì)劃,還可以列一些自己需要做的其他的事情。我最近在整理筆記的時(shí)候也發(fā)現(xiàn)了一些之前記錄的計(jì)劃和清單,可以給大家看看。比如下圖就是我14年寫的筆記,筆記上都留下了最后一次打開的時(shí)間。列舉了一些自己需要看的文章,因?yàn)楫?dāng)時(shí)不太懂得規(guī)劃,所以比較亂。到了16年的時(shí)候,我做計(jì)劃做得更加有條理了。下圖是16年10月30日的計(jì)劃,那時(shí)候我已經(jīng)大四了,并且已經(jīng)找到了工作、簽了滿意的offer,并且沒有什么課,按理說可以放松放松了,不過我還是制定了一些學(xué)習(xí)計(jì)劃,并且選擇在11月去百度實(shí)習(xí)。從內(nèi)容上看,主要是學(xué)習(xí)英語和計(jì)算機(jī)專業(yè)課,因?yàn)榇笠淮蠖臅r(shí)候我確實(shí)不明白為什么要學(xué)習(xí)專業(yè)課,到了大三下想清楚原因以后,我也就一直在重新學(xué)習(xí),因?yàn)橛?jì)算機(jī)專業(yè)課真的很重要!學(xué)好了這些課,能讓你在日后的學(xué)習(xí)工作中輕松不少:除了大四制定的計(jì)劃外,大二的時(shí)候我也制定過較為詳細(xì)的學(xué)習(xí)計(jì)劃(如下圖),把需要學(xué)習(xí)的內(nèi)容進(jìn)行了編號,存入表格,這樣才能讓你過得有條不紊。當(dāng)然,很難完全按照計(jì)劃去執(zhí)行,不過制定相應(yīng)的計(jì)劃能讓你清楚地知道自己應(yīng)該干什么。所以,如果你是在校生,那么好好制定一個(gè)計(jì)劃吧,因?yàn)槟阌写蟀训臅r(shí)間。當(dāng)然,如果你已經(jīng)畢業(yè)了,沒關(guān)系,我現(xiàn)在也在上班,同樣也列舉了自己最近要學(xué)習(xí)的內(nèi)容,如下圖(2月27日更新過),包括了短期和長期需要學(xué)習(xí)的內(nèi)容:4.編程是否需要做筆記和寫博客?我覺得,寫不寫博客無所謂,因?yàn)椴┛褪且獙懗鰜斫o大家看的,可能要保證格式美觀、語法也要盡量準(zhǔn)確,最好比較有文采,我覺得太麻煩也就一直沒寫。而筆記是必須要做的,并且記筆記是一個(gè)長期的過程。在學(xué)習(xí)的過程中,我們一直都在追求一種最高效的學(xué)習(xí)方法,比如,同一個(gè)班的同學(xué),他用他的學(xué)習(xí)方法考上了清華,而你用同樣的方法就不行,為什么?因?yàn)樗姆椒▽λ约憾允嵌ㄖ苹模赡芮掖蟾怕什贿m合你,比如他的筆記你不一定能看懂,因?yàn)樗赡茉O(shè)計(jì)了一套屬于自己的符號。而就編程而言,很多同學(xué)說善用搜索引擎,是對的,可是搜索引擎搜出來的是別人的答案。你照搬過來,也許可以用,但是你沒有記住,這些知識并不屬于你,之后你可能還會遇到同樣的問題,又要再搜索一遍,可能很難找到之前的那個(gè)答案了。但是記筆記就不一樣,記筆記是定制化的,對你自己定制,你可以用自己最爽的表達(dá)方式來描述一個(gè)問題,是自己寫給自己看的東西,看了幾遍之后就能非常迅速和容易地理解。之后遇到相同的問題可以快速地通過找筆記解決。舉個(gè)例子,下圖是我記錄的一些關(guān)于gdb【linux下調(diào)試c++的工具】的使用的一些筆記。我只記錄了我自己最常用的一些內(nèi)容,也許你看著很亂,但是我就能很容易看懂,這就是我的定制化。記筆記的習(xí)慣一定要堅(jiān)持,等過個(gè)一年或者兩年,這就是你巨大的財(cái)富,因?yàn)槟鞘侵挥心悴拍芸炊臇|西。我已經(jīng)記錄了4年多、1G多的內(nèi)容,現(xiàn)在的筆記基本已經(jīng)形成了體系,可以給大家展示其中的一部分。專業(yè)知識相關(guān)筆記:開發(fā)相關(guān)的筆記:一些類目:5.有什么比較好的編程方法?除了上述分享的一些方法,我認(rèn)為在同一時(shí)間段不要學(xué)習(xí)太多類別的課程,比如你可以同時(shí)學(xué)習(xí)python和html/css,但是你不要同時(shí)學(xué)python、操作系統(tǒng)、編譯原理、計(jì)算機(jī)組成、數(shù)據(jù)結(jié)構(gòu)、網(wǎng)絡(luò),我曾經(jīng)試過,一門課沒學(xué)一會兒就學(xué)下一門,其實(shí)上一門根本學(xué)不到什么實(shí)際的知識。因?yàn)橛洃浿R是符合艾賓浩斯記憶曲線的。對于一門課,特別是很難的專業(yè)課,譬如操作系統(tǒng),你每天看半小時(shí),效果是比較差的,可能你熱身就得半小時(shí)。所以寧可每天學(xué)兩門,然后每一門學(xué)長一點(diǎn)的時(shí)間,比如兩小時(shí)。【畢竟學(xué)校上課,一次課也得兩小時(shí)】,要避免貪多,一口吃不成個(gè)胖子。6.我需要刷oj么?我認(rèn)為剛開始編程的時(shí)候還是應(yīng)該刷的,但是一定要注意,不要被你周圍的“X神”給誤導(dǎo)了。因?yàn)槲疑洗髮W(xué)的時(shí)候,身邊總是有很多搞計(jì)算機(jī)競賽的人,他們之間都互相稱對方為“X神”,某某神又使用一個(gè)牛逼的算法,將程序時(shí)間從1秒降低到了0.999秒。我要?jiǎng)翊蠹业氖牵㈩}不是為了達(dá)到這個(gè)目的,不是說非要在競賽中拿獎(jiǎng),除非你是特別喜歡,否則,沒必要去背代碼。我們刷題的目的是適應(yīng)寫代碼的感覺,在這個(gè)過程中你會遇到編譯錯(cuò)誤,你會慢慢去記住一些語法、關(guān)鍵字,并理解一些概念,還可以自己去使用它,比如實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)。慢慢的你就會變得有經(jīng)驗(yàn),知道一些錯(cuò)誤產(chǎn)生的原因。我也是慢慢這樣過來的,我現(xiàn)在在工作和下班以后寫代碼時(shí),基本都不用IDE了,比如寫c++,要么vim,要么就是sublime,而調(diào)試用的是我前面提到的工具gdb。即,有一個(gè)文本編輯器就能寫代碼,脫離了IDE的束縛。在寫oj之后一段時(shí)間,在比較熟練了之后,就可以不去刷題了,可以去譬如github這樣的網(wǎng)站上找點(diǎn)項(xiàng)目來看,然后自己跟著寫一下,編程能力慢慢就提升了。就計(jì)算機(jī)專業(yè)來說,很多同學(xué)在大一上完編程課之后,就很少寫代碼了,這樣是很不好的。刷題除了可以鍛煉編程能力,對于找工作前突擊也很有作用。比如,我之前投遞過華為公司的研發(fā)崗位,校招的時(shí)候有筆試題。我就在16年國慶的時(shí)候刷了一下華為的oj,我記得筆試是600分的總分,過100就給面試機(jī)會,而我很輕松的就拿了500分,而當(dāng)時(shí)也就刷了20多道華為的題。7.看書還是看視頻?網(wǎng)上有不少人鄙視看視頻學(xué)習(xí)的同學(xué),我不知道為什么,因?yàn)槲艺J(rèn)為看視頻是一個(gè)很好的學(xué)習(xí)方式。不過我們得明白看書和看視頻分別有什么優(yōu)缺點(diǎn)。其實(shí)我是很建議看視頻入門的,因?yàn)槟壳熬W(wǎng)上的應(yīng)用型【非學(xué)術(shù)型:比如清華大學(xué)的操作系統(tǒng),非常難】的視頻都是很簡單的,很多是面向初學(xué)者的,視頻能用較短的時(shí)間告訴你你現(xiàn)在所學(xué)的技術(shù)可以干什么,可能需要先修哪些知識,可以幫助我們搭建一個(gè)項(xiàng)目驅(qū)動(dòng)式學(xué)習(xí)的網(wǎng)絡(luò)。可是視頻也有個(gè)缺點(diǎn):就是知識非常的雜,很不系統(tǒng)。雖然現(xiàn)在很多教學(xué)網(wǎng)站都提供了學(xué)習(xí)路徑,但是這些路徑中的視頻很多時(shí)候都不是同一個(gè)老師錄制的,只是按照知識的依賴關(guān)系排的順序,所以,如果想通過視頻去系統(tǒng)地學(xué)習(xí)一門知識,是比較困難的。【當(dāng)然,一些學(xué)術(shù)型的視頻還是很推薦的,比如斯坦福的機(jī)器學(xué)習(xí),清華的操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)等課程,能堅(jiān)持看完,絕對受益匪淺】。而應(yīng)用型的,比如web開發(fā)等知識,還是得看書。書籍等特點(diǎn)就是系統(tǒng)化,由淺入深,你可以定制化地看自己薄弱的章節(jié)。所以一個(gè)比較好的學(xué)習(xí)方式是:看視頻入門,看書進(jìn)階。8.多久能學(xué)會編程?其實(shí)這個(gè)問題是沒有答案的,如果只是想做出一個(gè)小應(yīng)用,2個(gè)月足矣,而就我個(gè)人而言,我認(rèn)為學(xué)習(xí)編程不是學(xué)習(xí)一種編程語言,而是學(xué)習(xí)一個(gè)生態(tài),一個(gè)計(jì)算機(jī)系統(tǒng),所以無止境。9.我應(yīng)該選擇什么資料,看什么書?其實(shí)這個(gè)問題也是很多編程新手容易困惑的問題。網(wǎng)絡(luò)上擁有我們一輩子都看不完的教程和資料,所以現(xiàn)在應(yīng)該不會存在找不著視頻教程、找不著書看的問題。而問題就是我們不知道看什么視頻、看什么書。從開始學(xué)編程到現(xiàn)在,我也買了上百本書,而真正適合自己的好書并不多。而視頻教程的問題就更嚴(yán)重了,東看一點(diǎn)、西看一點(diǎn),知識很難組織成網(wǎng)絡(luò)。所以學(xué)習(xí)編程的過程中,我們遇到的最大的問題是:當(dāng)我們遇到問題的時(shí)候,在大量資料面前,我們不知道選擇什么資料去學(xué)習(xí)。即使我們使用項(xiàng)目驅(qū)動(dòng)式學(xué)習(xí)的方法找到了我們的方向,但是同一個(gè)路徑下,也有很多資料。前文列舉的項(xiàng)目驅(qū)動(dòng)式學(xué)習(xí)的圖中,我們是自上而下的去發(fā)現(xiàn)問題,然后再解決問題。如果能有人幫我們組織好學(xué)習(xí)路徑,然后自下而上地去學(xué)習(xí),那么效率可能會提高很多。不過不用擔(dān)心,我已經(jīng)盡我所能,將我看過或者我認(rèn)為好的課程和書本資料給串了串,整理好上傳了,所有學(xué)習(xí)資料均免費(fèi),無任何收費(fèi)課程。資料百度云地址: https://pan.baidu.com/s/11Pk-TAKuiyKaY9Llxpdj2Q 提取碼: w4mk另外,很多新手反饋不會搭環(huán)境,那我給大家推薦一款可以在線運(yùn)行代碼的網(wǎng)站,那個(gè)背單詞app百詞斬推出的學(xué)習(xí)編程的網(wǎng)站,在線編輯,在線運(yùn)行,避免了你搭環(huán)境的痛苦,直接運(yùn)行即可,這個(gè)環(huán)境使用是免費(fèi)的,點(diǎn)擊FreeCode,選擇“代碼練習(xí)”新建文件就可以了:這個(gè)網(wǎng)站對初學(xué)者比較友好,不過目前只有Python環(huán)境,其他的環(huán)境得再等等。百詞斬一直走的都是黑科技路線,并且出的課程也是采用的及時(shí)反饋的模式,也正是在他們家自己搭建的環(huán)境上,進(jìn)行的一個(gè)練習(xí),對電腦的配置也沒有什么要求,甚至平板和手機(jī)等終端上都可以使用,也是按背單詞那套來設(shè)計(jì)的,感興趣的同學(xué)也可以去看看,也可以去公眾號回復(fù)「免費(fèi)教程」能白嫖免費(fèi)的課程,感覺也還挺扎實(shí)的,實(shí)在不感興趣的,也可以免費(fèi)薅一下他家的編程環(huán)境,對電腦配置真的沒有什么要求。以上就是關(guān)于游戲編程學(xué)校和有沒有接近完美黑蘋果的筆記本的相關(guān)問題解答,希望對你有所幫助。