一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

看我姐和我妹子如何學(xué)編程

  英文原文:How my sister n my girlfriend learned to code

  就像我在上一篇博文中提到的,Eva 和 Fong(譯者注:根據(jù)博主的上一篇博文,Eva 是博主的姐姐,F(xiàn)ong 是博主的妹子)來到舊金山跟我學(xué)編程。在這篇博文中,我將記錄下我教她們的方式,我構(gòu)建這種學(xué)習(xí)過程的理由,以及這種學(xué)習(xí)方式奏效的原因。雖然以時間順序列出她們在這段時間做的或?qū)W習(xí)的每一件事再容易不過,但是這毫無用處,而且讀者們也會遺漏重點(diǎn)。了解學(xué)習(xí)過程中的細(xì)節(jié)并且明白它起作用的原因至關(guān)重要。所以我會從基本原則開始講。本文較長,請做好準(zhǔn)備。

  請?jiān)诰幊踢^程中始終牢記這些基本原則。

  1)交流溝通

  在 Eva 和 Fong 開始學(xué)習(xí)之前,我為她們申請了博客,并請她們記錄下她們的編程之旅和學(xué)到的東西。萬事開頭難,你可以問問她們。我大概花了一周的時間跟她們嘮叨才讓她們寫了第一篇博客。但是現(xiàn)在,她們不在博客上寫點(diǎn)兒自己投入了大量時間的項(xiàng)目就覺得不對勁。

  如果你在項(xiàng)目中使用了 API(譯者注:Application Programming Interface,應(yīng)用程序編程接口),發(fā)推文或者是郵件給這家公司告訴他們你關(guān)于他們的 API 的想法。當(dāng)你在黑客馬拉松中贏得獎項(xiàng)時,發(fā)個不錯的推文@他們表示謝意,或?qū)懫嚓P(guān)的博文。每寫一篇博文都使它成為一直以來最好的,并懷著它會被放上黑客新聞版首頁的期望將它提交(盡管大部分時候這種期望都不能實(shí)現(xiàn))。

  健康交流的最大好處就是,它使你對你的項(xiàng)目負(fù)責(zé), 由此也引出我的下個要點(diǎn)。

  2)完成

  Fong 和 Eva 都知道,完成一個項(xiàng)目困難,卻重要。我聲明:除非她們寫了一篇關(guān)于手頭項(xiàng)目的博文,在推特上@了 API 公司,并且將它發(fā)布在黑客新聞網(wǎng)版上,我們是不會開始一個新項(xiàng)目的。盡管她們的第一個項(xiàng)目只是井字棋游戲,但這是她們做過的最好的井字棋游戲。從來就沒有人想寫一個蹩腳的項(xiàng)目,所以不管這個項(xiàng)目有多簡單或者不相關(guān),如果你要著手做個項(xiàng)目,那它必須是你能拿到的最好的那個。我已經(jīng)見過太多開發(fā)者為毫無前景的次要項(xiàng)目工作。如果你在學(xué)習(xí)編程,你必須從一開始就認(rèn)識到要珍惜你的時間和精力,完成你的項(xiàng)目證明它的價值。

  完成整個項(xiàng)目的最后 20% 需要花費(fèi)全部努力的 80%。開發(fā)者可以在1、2天之內(nèi)實(shí)現(xiàn)一個項(xiàng)目的概念。而測試每種情況并且解決每一種邊際情況從而成就一個“完美”的產(chǎn)品則需要兩倍的時間。在項(xiàng)目最后的 20% 花費(fèi)那 80% 的精力,將會在許多許多訪問中傳為佳話。

  3) 思考

  如果你卡住了,不要緊盯住你的代碼。出去散個步,呼吸點(diǎn)新鮮空氣,再考慮一下。你卡住了是因?yàn)槟愕倪壿嬛杏绣e誤,而修正它最好的方法就是在腦海中或是在紙上一步一步地徹底想通它。程序員靠思考賺錢,問題在你的思考中被解決,編程是個蛋疼的工作。偉大的項(xiàng)目經(jīng)理通常都有廣博的編程背景,并且在思考和問題解決方面接受過出色的訓(xùn)練。

  有一種說法:當(dāng)你被卡住 20 多分鐘時,并且你仍然茫然無緒,請教別人吧。如果在 20 分鐘內(nèi)沒有任何頭緒,那么在接下來的一個小時,你也不會有任何進(jìn)展的。相信 Eva。她有一天就浪費(fèi)了 5 個小時,因?yàn)橐粋€愚蠢的錯誤——血的教訓(xùn)啊。散個步,做個其他事。然后再回到項(xiàng)目上來。能將自己與問題切斷并轉(zhuǎn)移注意力,是個技術(shù)活。

  4)再思考

  也許你現(xiàn)在已經(jīng)明白了,思考,在一個程序員的生活中是至關(guān)重要的。不要去復(fù)制-粘貼代碼,尤其當(dāng)你在學(xué)習(xí)如何去編程的時候。如果你想學(xué)習(xí)怎么編程,復(fù)制,粘貼——“看,有用誒!”不會使你有任何成就。相反,無論何時你看到代碼,你必須在企圖去試運(yùn)行它之前想清楚它在干什么。當(dāng)你能輕易看懂別人的代碼了,將其簡化到你剛好需要的程度,然后寫出來。如果從一開始就定期這么做,你會在幾個月內(nèi)成長為一個非凡的開發(fā)者。

  5)谷歌

  學(xué)會獨(dú)立解決問題。除非至少被卡住 20 分鐘,不要問編程問題。程序員們必須是獨(dú)立的。他們是偉大的思想者和偉大的交流者。為了成為他們中的一員,你必須邏輯地思考,想出問題出現(xiàn)的原因。許多年輕開發(fā)者面對的問題是,寫出他們真正需要的代碼對他們來說很困難。我們中的許多人也是這樣,明知道問題是什么,但就是不知道要去找什么去解決它。這是個你必須從一開始就培養(yǎng)的技能,它漂亮地聯(lián)系了第一點(diǎn),“成為一個交流者”(譯者注:疑為博主手誤,communication 應(yīng)為 communicator)。

  現(xiàn)在,有了這五點(diǎn)牢記于心,以下是 Eva 和 Fong 學(xué)到的東西,以時間順序排列。

  第1-3天:通過 Ruby 語言學(xué)習(xí)編程基礎(chǔ)

  我選擇 Ruby 語言,因?yàn)樗脕砩鲜质亲詈线m的。在 Ruby 語言中,有很少語法限制(space 鍵與 tab 鍵,類型聲明,等等),所以 Eva 和 Fong 能夠關(guān)注編程的思考過程而不是解決語法問題。她們學(xué)習(xí)了 if 型語句、循環(huán)體、數(shù)據(jù)結(jié)構(gòu),解決了一些編程題目,比如說 FizzBuzz(編程初級問題,即滿足a條件時輸出 Fizz,滿足b條件時輸出 Buzz,同時滿足a、b條件時輸出 FizzBuzz),替換字符串中的字符,轉(zhuǎn)換一個數(shù)組,找出最大值。關(guān)于類和對象的學(xué)習(xí)也是重要的。

  *注:我沒有教她們特定的 Ruby 語法,而是讓她們對參數(shù)都使用括號,并且以返回空結(jié)束每個函數(shù)。 這樣的話,她們下次學(xué)一種新的語言時就能更快上手。

  第 4 天:HTML

  HTML 或 CSS 嚴(yán)格上來說不能算是編程語言,所以沒必要在這里花上太多時間。Eva 和 Fong 在 HTML 上花了一天時間,編了幾個標(biāo)簽玩兒,快速完成了表單、信息頁等內(nèi)容。這樣,對 CSS 的興奮感就建立起來了。在這里重點(diǎn)要學(xué)的是區(qū)分塊 HTML 與內(nèi)聯(lián) HTML、標(biāo)識與分類。

  第 5 天:CSS

  在擺弄過 HTML 后,“如何在那里表達(dá)這個,怎樣使這個丑陋的 HTML 頁面看起來更漂亮”的問題浮出了水面。CSS 就是那個完美的答案。花上一天的時間盡情設(shè)計(jì)網(wǎng)頁(所有 HTML 頁面都已經(jīng)在前一天建好)。這一塊的重點(diǎn)是,相對/絕對/固定定位,HTML 浮動元素,以及如何用絕對、固定定位來控制正常的浮動。

  第6-7天:通過 jQuery 來學(xué)習(xí) Javascript

  jQuery 需要花點(diǎn)時間來適應(yīng),而且因?yàn)樯婕暗骄幊蹋瑢W(xué)習(xí) jQuery 框架需要占用點(diǎn)時間。她們花了幾天時間將 HTML 頁面做成交互式頁面。

  第8-15天:第一個項(xiàng)目 - 井字棋

  這時,Eva 和 Fong 已經(jīng)了解了 HTML/CSS/Javascript,但不是特別習(xí)慣。這正是讓她們開始第一個項(xiàng)目(井字棋)的絕佳時機(jī)。雖然她們花了兩天的時間來完成這個項(xiàng)目,又用了幾天時間來對其進(jìn)行潤色修飾。項(xiàng)目的最后 20% 要花費(fèi)精力的 80% 是個金科玉律。作為一個初學(xué)者,學(xué)著去完成你的項(xiàng)目是很重要的。

  第 16-20天:Sinatra 框架

  在那個看起來永遠(yuǎn)都不能結(jié)束的井字棋項(xiàng)目之后,F(xiàn)ong 和 Eva 迫不及待地想學(xué)點(diǎn)新東西。學(xué)點(diǎn)服務(wù)端代碼對她們已經(jīng)在做的事來說是個激動人心的全新體驗(yàn)。我選擇 Sinatra,是因?yàn)樗俏沂褂眠^最整潔、最簡單的網(wǎng)絡(luò)框架,而且這種簡潔性讓解釋網(wǎng)絡(luò)的工作原理變成小菜一碟。

  第 20-22天:Photoshop

  Photoshop 對非凡的設(shè)計(jì)非常重要。對那些從沒用過它的人來說,它有點(diǎn)兒嚇人(至少對我來說是這樣),但是用 Photoshop 做出來的網(wǎng)站比典型的 bootstrap(譯者注:由 Twitter 推出的一款開源前端框架)站點(diǎn)要高端一個檔次。而你真正要知道的只是混合、協(xié)調(diào)功能就夠了。任何一個相當(dāng)成功的開發(fā)者都會需要 Photoshop,所以學(xué)會它并且在你所有的項(xiàng)目中使用它非常重要。

  第 20-27天:項(xiàng)目2-Dragpic(譯者注:通過拖動圖片實(shí)現(xiàn)從網(wǎng)頁上方便地保存圖片的軟件)

  項(xiàng)目 2 涉及到 Javascript 的大量使用。這個項(xiàng)目涉及到使用 ajax(譯者注:一種用于創(chuàng)建更好更快以及交互性更強(qiáng)的 Web 應(yīng)用程序的技術(shù))的需要,F(xiàn)acebook 的 API,以及 cookies。這是個將所有網(wǎng)絡(luò)編程基礎(chǔ)聯(lián)系起來的絕佳項(xiàng)目。這個項(xiàng)目所需要的技術(shù)范圍比第一個要更廣,我覺得這也向更多更復(fù)雜的項(xiàng)目邁進(jìn)了一步。在這段時間里,她們憑借 GIT(譯者注:分布式文件管理工具)通力合作。這可是一個開源項(xiàng)目啊!

  第 28-30天:RSpec

  這時,F(xiàn)ong 和 Eva 已經(jīng)能相當(dāng)自如地構(gòu)造網(wǎng)絡(luò)應(yīng)用了。也正是這時,她們意識到,代碼是多么地脆弱,一個細(xì)微的改動,就能導(dǎo)致滿盤皆輸。現(xiàn)在,測試驅(qū)動開發(fā)就顯得有重要意義。我們花了幾天時間重溫了 rspec,Eva 和 Fong 則寫出測試案例作為每天早晨的編程練習(xí)。我之前提過她們每天早晨都要解決一個技術(shù)問題嗎?從第 28 天開始,她們就必須為這些技術(shù)問題寫出 rspec,在她們開始編程之前也不例外。

  第 30-35天:BackboneJS(譯者注:一個開發(fā)網(wǎng)絡(luò)應(yīng)用的框架,提供了強(qiáng)大的對模型、視圖和交互的抽象)

  通過負(fù)責(zé)一個設(shè)計(jì)技術(shù)范圍廣泛的項(xiàng)目(比如 Dragpic),你能學(xué)到很多,遇到很多你希望能有更優(yōu)解的問題。只有這樣,你才能這正意識到那些幫助你的框架的價值。我還沒有找到任何一個優(yōu)秀的 backboneJS 教程,所有教程都一下子提供了太多信息。以下是我教授它的方法:

  第一步:學(xué)習(xí)模型。僅為一個數(shù)據(jù)庫數(shù)據(jù)庫條目創(chuàng)建一個模型。學(xué)會如何去修改和保存。

  第二步:學(xué)習(xí)視圖。為你已經(jīng)在做的模型創(chuàng)建一個視圖。添加事件接聽程式,體會視圖如何能夠隱蔽地與模型連接,以及這一切組裝為一體是如此地合適。

  第三步:集合的意義現(xiàn)在就明確了。 你不可能手動打印輸出每一個模型,尤其是當(dāng)你不知道模型具體數(shù)量的時候。

  我們沒有學(xué)過常規(guī)課程,到現(xiàn)在為止,我也不認(rèn)為這有什么要緊。

  第 35-40天:Android

  假如你現(xiàn)在還沒怎么注意,我們已經(jīng)在短時間內(nèi)涵蓋了大量的材料了。偉大的程序員適應(yīng)變化,因此我們最后一個計(jì)劃就是學(xué)習(xí) Android 系統(tǒng)。在編程中你不能忽視移動設(shè)備,這塊實(shí)在是太重要了。我教她們 Android 編程,這不是特別難,Android 編程與 Web 編程非常類似。在視圖上你有 XML,同時也有足以和 Web 控制器相媲美的 Java 代碼。模型-視圖-控制器!通過用 Ruby 語言和 Java 語言工作,F(xiàn)ong 和 Eva 開始尋找編程語言之前的共同點(diǎn),成為了編程語言不可知論者。對她們來說,編程語言僅僅在語法上有所不同,但工作起來卻是一個道理(其實(shí)不是這樣,稍后我會對其進(jìn)行辨析,厘清混淆)。

  結(jié)論:

  1)女孩們在編程上天賦異稟。

  2)沒有獲得計(jì)算機(jī)科學(xué)的學(xué)位不是個不學(xué)編程的借口。

  3)在快樂中編程,人人都能學(xué)。

  繼續(xù)探索,然后征服編程吧!

it知識庫看我姐和我妹子如何學(xué)編程,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 毛片黄片免费看 | 综合色区 | 91社区在线观看精品 | 极品美女国产精品免费一区 | 久久综合一 | 狠狠色伊人亚洲综合第8页 狠狠色伊人亚洲综合网站l | 国产精品video | 久久亚洲精品视频 | 亚洲激情中文字幕 | 激情六月天 | 在线观看视频网站www色 | 中文字幕日韩精品中文区 | 中文字幕亚洲无线码在线一区 | 99国产福利 | 亚洲国产人成在线观看 | 麻豆精品成人免费国产片 | 国产色综合一区二区三区 | 91最新网站免费 | 国产在视频| 特黄未满14周岁毛片 | 久青草国产手机在线视频 | 成人免费福利视频 | www在线小视频免费 xfplay影音先锋永久资源 | 99在线在线视频免费视频观看 | 国产一区二区三区手机在线观看 | 91精选在线观看 | 91精品久久久 | 国产免费一区2区3区4区 | 91精品久久久久久久久网影视 | 久久青草免费97线频观 | 久久黄色大片 | 国产精品亚洲片夜色在线 | 91精品国产麻豆91久久久久久 | 亚洲第一页国产 | 成人性色大片 | 日日噜噜噜噜人人爽亚洲精品 | 国产精品七七在线播放 | 中文字幕激情 | 婷婷激情视频 | 亚洲玖玖 | 国产人成精品午夜在线观看 |