成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

看我姐和我妹子如何學編程

開發 開發工具
就像我在上一篇博文中提到的,Eva和Fong(譯者注:根據博主的上一篇博文,Eva是博主的姐姐,Fong是博主的妹子)來到舊金山跟我學編程。在這篇博文中,我將記錄下我教她們的方式,我構建這種學習過程的理由,以及這種學習方式奏效的原因。

[[94305]]

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

請在編程過程中始終牢記這些基本原則。

1)交流溝通

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

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

健康交流的最大好處就是,它使你對你的項目負責, 由此也引出我的下個要點。

2)完成

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

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

3)思考

如果你卡住了,不要緊盯住你的代碼。出去散個步,呼吸點新鮮空氣,再考慮一下。你卡住了是因為你的邏輯中有錯誤,而修正它最好的方法就是在腦海中或是在紙上一步一步地徹底想通它。程序員靠思考賺錢,問題在你的思考中被解決,編程是個蛋疼的工作。偉大的項目經理通常都有廣博的編程背景,并且在思考和問題解決方面接受過出色的訓練。

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

4)再思考

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

5)谷歌

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

現在,有了這五點牢記于心,以下是Eva和Fong學到的東西,以時間順序排列。

第1-3天:通過Ruby語言學習編程基礎

我選擇Ruby語言,因為它用來上手是最的。在Ruby語言中,有很少語法限制(space鍵與tab鍵,類型聲明,等等),所以Eva和Fong能夠關注編程的思考過程而不是解決語法問題。她們學習了if型語句、循環體、數據結構,解決了一些編程題目,比如說FizzBuzz(編程初級問題,即滿足a條件時輸出Fizz,滿足b條件時輸出Buzz,同時滿足a、b條件時輸出FizzBuzz),替換字符串中的字符,轉換一個數組,找出最大值。關于類別和對象的學習也是重要的。

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

第4天:HTML

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

第5天:CSS

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

第6-7天:通過jQuery來學習javascript

jQuery需要花點時間來適應,而且因為涉及到編程,學習jQuery框架需要占用點時間。她們花了幾天時間將HTML頁面做成交互式頁面。

第8-15天:第一個項目- 井字棋

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

第16-20天:Sinatra框架

在那個看起來永遠都不能結束的井字棋項目之后,Fong和Eva迫不及待地想學點新東西。學點服務終端代碼對她們已經在做的事來說是個激動人心的全新體驗。我選擇Sinatra,是因為它是我使用過最整潔、最簡單的網絡框架,而且這種簡潔性讓解釋網絡的工作原理變成小菜一碟。

第20-22天:Photoshop

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

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

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

第28-30天:RSpec

這時,Fong和Eva已經能相當自如地構造網絡應用了。也正是這時,她們意識到,代碼是多么地脆弱,一個細微的改動,就能導致滿盤皆輸。現在,測試驅動開發就顯得有重要意義。我們花了幾天時間重溫了rspec,Eva和Fong則寫出測試案例作為每天早晨的編程練習。我之前提過她們每天早晨都要解決一個技術問題嗎?從第28天開始,她們就必須為這些技術問題寫出rspec,在她們開始編程之前也不例外。

第30-35天:BackboneJS(譯者注:一個開發網絡應用的框架,提供了強大的對模型、視圖和交互的抽象)

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

第一步:學習模型。僅為一個數據庫數據庫條目創建一個模型。學會如何去修改和保存。

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

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

我們沒有學過常規課程,到現在為止,我也不認為這有什么要緊。

第35-40天:Android

假如你現在還沒怎么注意,我們已經在短時間內涵蓋了大量的材料了。偉大的程序員適應變化,因此我們最后一個計劃就是學習Android系統。在編程中你不能忽視移動設備,這塊實在是太重要了。我教她們Android編程,這不是特別難,Android編程與web編程非常類似。在視圖上你有XML(譯者注:extensive makeup language,用于標記電子文件使其具有結構性的標記語言),同時也有足以和web控制器相媲美的Java代碼。模型-視圖-控制!通過用Ruby語言和Java語言工作,Fong和Eva開始尋找編程語言之前的共同點,成為了編程語言不可知論者。對她們來說,編程語言僅僅在語法上有所不同,但工作起來卻是一個道理(其實不是這樣,稍后我會對其進行辨析,厘清混淆)。

結論:

  1. 女孩們在編程上天賦異稟。
  2. 沒有獲得計算機科學的學位不是個不學編程的借口。
  3. 在快樂中編程,人人都能學。

繼續探索,然后征服編程吧!

原文鏈接:http://hp.dewen.org/?p=1560

責任編輯:林師授 來源: 黑客與畫家
相關推薦

2012-08-02 09:14:13

編程戒律

2013-03-29 09:21:08

編程CSS

2022-02-16 08:26:18

Go并發信號量

2014-01-02 13:09:41

創造力編程

2017-01-05 19:34:06

漏洞nodejs代碼

2018-04-04 14:52:04

2013-07-18 09:30:27

2020-10-22 10:15:33

優化Windows電腦

2018-05-13 21:34:00

Python妹子網頁

2023-10-09 18:39:13

Python代碼

2020-02-19 14:37:11

hashtagRediskey

2019-02-27 15:11:52

Tomcat服務器部署

2022-11-03 10:28:43

Docker

2020-05-06 15:48:24

Python數據二手房價

2025-03-03 00:00:15

2013-08-09 10:41:58

2013-07-17 17:15:44

學習編程移動開發移動互聯網

2015-10-27 09:55:59

2015-04-02 09:09:12

VPN無線組網路由

2015-04-09 13:32:16

編程編程前途
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文成人无字幕乱码精品 | 欧美一级片中文字幕 | 日本三级电影在线看 | 人人干人人干人人干 | 欧美成人h版在线观看 | av网站免费 | 天堂一区二区三区四区 | 国产熟熟| 欧美激情国产精品 | 午夜精品久久久 | 国产一区二区影院 | 91久久精品一区二区三区 | 狠狠色综合久久丁香婷婷 | 男女免费视频网站 | 狠狠干狠狠插 | 午夜精品一区二区三区免费视频 | 欧美日韩亚洲在线 | 成人免费看电影 | 99精品国产一区二区青青牛奶 | 伊人网影院 | 欧美激情a∨在线视频播放 成人免费共享视频 | 欧美成人在线影院 | 九九热免费看 | 日韩播放| 狠狠色狠狠色综合系列 | www.久久久久久久久 | 五月婷婷激情 | 一区二区三区在线播放视频 | 日韩欧美在 | 成人免费大片黄在线播放 | av毛片 | 国产精品一区二区福利视频 | 国产激情在线观看视频 | 91麻豆精品国产91久久久久久久久 | 欧美日韩高清在线观看 | 日韩在线不卡 | 精品麻豆剧传媒av国产九九九 | 日本小电影在线 | 手机看片在线播放 | 狠狠操网站 | 久久久久久91 |