180天做180個“網站”來學編程,今天是第115天

jopen 11年前發布 | 7K 次閱讀 編程

        我要在 180 天里通過建立 180 個“網站”來學習寫程序。今天是第 115 天。

        4 個多月前,我決定要學學編程。

        請無視我以前沒有編程經驗,在學校也從來沒有上過任何“技術”課程。我決定要在 180 天里建立 180 個“網站”,一天不落。

        今天是第 115 天。

        背景

        我是學藝術的。吸引我學習藝術的緣由是它可以探索人們如何向外界表達他們自己。我們穿什么衣服,我們的興趣愛好,還有溝通方式。過去的日子里我嘗試著用繪畫和雕刻來捕捉這種自我投影。

        然而如今是 2013 年,我們不再受制于物理媒介。我們有網絡!網絡很棒,因為它把過去阻礙我們溝通的屏障打破了。溝通的門檻如此低,以至于我們為了溝通和相互交流而被迫建立虛擬身份。

180天做180個“網站”來學編程,今天是第115天

        我覺得這種虛擬的交互太不可思議了,但我并不滿足于做旁觀者打打醬油。我想要建立起溝通的通道,使得這些交互成為可能。

        學習編程最好的途徑是什么?冥思苦想了很長時間,我決定就他*的開始做吧。但是不能只是漫無目的地開始,我下決心堅持一種簡單而又嚴格的結構:

        1. 每天建立一個網站,連續 180 天。

        2. 每個網站必須要發一貼

        3. 我寫的每句代碼必須在 GitHub(開源)上公開,這樣大家都能看到。

        把自己學習中的錯誤和誤區都公開是很讓人沒面子的。但事實上,如果你想學習編程,你就要準備犯很多錯誤。不要認為僅僅因為你的代碼可能看起來有 點二,就意味著應該停止編程。還有你不必成為某類人,你不必成為數學奇才,不必要任何預備知識,因為編譯器并不介意你蠢。你需要的只是敲下鍵盤。

180天做180個“網站”來學編程,今天是第115天

        不上速成營(bootcamp),不用參考書。當我決定了要編程,第一步就是解決如何著手的問題。有很多選項可供考慮。有無數課程可以學習,有無數速成營可以注冊,但是它們都不是我要的。我認為學習編程很像學習輪滑。你可能需要人幫你扶上溜冰鞋,但是獲得真正的技巧你得自己走兩步。

        我認為最好的學習方法就是解決實際碰到的問題。這就是我決定不去遵照課程和參考書的主要原因。通過遵循自己的路徑,我能夠以最符合邏輯的順序, 也就是我恰好遇到問題的時候,處理新鮮概念和問題。當我遇到難題時,我就去 Stack Overflow 上搜索。如果我要邁出一大步,像開始一門新的語言或者平臺,我只會找參考書做一下引導,到我能邁過去就可以了。

180天做180個“網站”來學編程,今天是第115天

        日復一日。在家工作的主意可不怎么高明,因此我絕大多數編程是在 SoMa 的一個相當不錯的合伙辦公室。這里提供我一個辦公桌,能夠給家里打電話,除此之外,我還有免費的可樂喝,還有果凍豆吃。硬件方面,我用 13 吋的 Macbook Pro,連接兩個顯示器,因為如果要說有什么是我鐘愛的,那一定是大顯示屏。我桌上還有一個小 Jambox 揚聲器,晚間舞會上會用。

        我每星期的開始會寫一篇博客,總結一下上個星期的自我感覺。我每天把代碼推送到 GitHub,部署當天的網站,然后發一個每日帖。做完之后,我通常會在讓網站上線前修正無數先前留下的 bug 和錯別字。目前這樣已經做了 114 次了。

180天做180個“網站”來學編程,今天是第115天

        從 CSS 到 Javascript 再到 Rails。起初我的網站十分簡陋,一點 html,一點 css 還有數行 javascript。隨著時間的推移,它們變得越來越復雜。我做過游戲計算器時鐘,還有傻喵星人。現在我十分愜意地使用 CSS,流利地用 javascript 做開發。最近,我開始用 Rails 來建立動態網站,這樣可以讓人相互溝通,還可以創建個人檔案。用 Rails 編程超有意思,因為它允許我從做游戲和玩具過渡到構建實際工具上。我不確定下一步接著嘗試什么技術,或者項目最后我要用什么平臺,反正非常酷就是了。

        這個項目還沒有一個清晰的路徑,讓我探尋那些能發揮我想象力的某種觀念。我要在下一步從事的工作似乎很大程度上受我當前正在從事的工作的影響。比我當初猜想的程度還要更甚。項目早期,我想制作一個很簡單的天氣 app, 我需要找到怎樣查詢天氣數據的辦法。出乎意料的是我對 API 開始產生興趣了。但是 ajax 不能工作在跨網域上,所以這讓我轉向 jsonp。老實說,我從來沒有想到我會對 JSONP 產生興趣。到后來,因為支持 JSONP 的 API 極度缺乏,我突發靈感,事不宜遲開始工作在 Rails 上。

        然而如果你只是。。。如何?當我告訴人們我正在做的,他們經常是立刻開始挑漏洞。我被問到過很多類似這樣的問題,“為什么你不休息一天,然后明天做兩個?”我知道大家是好意,但是沒有任何漏洞,因為我定下的規則,要保證一天不漏。

180天做180個“網站”來學編程,今天是第115天

        這個很難。每天做出新的東西很難。新概念的挖掘會枯竭,頭腦風暴模式到執行模式的切換不是無縫連接的。但是 這個項目里最難的部分,在某種意義上來說,是我每天都感到一敗涂地。走出去的每一個網站都是半成品。因為我是個完美主義者,重做或者擴展網站的誘惑力對我 來說相當強。前進的路不是一直縫縫補補和東敲西打來完美它。前進的路應該是移步到下一個概念并做出來。

        網站

        Day 114 Image Palette

        Day 113 Window Master

        Day 112 Check Sketch

        Day 111 Down the Weight

        Day 110 Effects

        Day 109 ColorWorks

        Day 108 Algae Tank

        Day 107 Serious Question

        Day 106 Wish

        Day 105 Infinite Descent

        Day 104 Emergency Off

        Day 103 Word Clock

        Day 102 Drying Paint

        Day 101 Globulator

        Day 100 Song Machine

        Day 99 TOS

        Day 98 No One Is Watching

        Day 97 Text to Braille

        Day 96 PostBored

        Day 95 Sparklers

        Day 94 Mastermind

        Day 93 Swivel

        Day 92 Typing Test

        Day 91 Pinwheel

        Day 90 Skinny Drinks

        Day 89 Hourglass

        Day 88 Quick Words

        Day 87 Countdown Clock

        Day 86 Snare

        Day 85 Fishy Friend

        Day 84 Liquor Likes

        Day 83 Hollywood

        Day 82 Text Scroller

        Day 81 Capture

        Day 80 Tiny Notes

        Day 79 Present Value Calculator

        Day 78 Hangman

        Day 77 YourSpace

        Day 76 PixShow

        Day 75 King of the Comments!

        Day 74 Page View Graph

        Day 73 Keep It Up

        Day 72 Make A Dude

        Day 71 One Page

        Day 70 Click Counter

        Day 69 Leave A Note

        Day 68 Metronome

        Day 67 World Time

        Day 66 Alien Attack

        Day 65 Fade

        Day 64 Screen Flood

        Day 63 Memory Orbs

        Day 62 Confused Robot

        Day 61 Fix It

        Day 60 Fizz Buzz

        Day 59 Bubble Wrap

        Day 58 Fireworks

        Day 57 Bug Blaster

        Day 56 Hooray

        Day 55 Paratroopers

        Day 54 Calculator

        Day 53 Circle Invaders

        Day 52 Etch A Sketch

        Day 51 Memory

        Day 50 Color War

        Day 49 Weather Now

        Day 48 Static

        Day 47 PONG

        Day 46 Snake

        Day 45 Color Perception Test

        Day 44 Analog Clock

        Day 43 Seeing Spots

        Day 42 Magnetic Poetry

        Day 41 Light Bulb

        Day 40 Popping Bubbles

        Day 39 Pixel Painter

        Day 38 Type Attack

        Day 37 Bouncy Balls

        Day 36 Little Dude

        Day 35 Buttons!

        Day 34 Maneki-neko

        Day 33 Random Word Generator

        Day 32 Particle Waves

        Day 31 Endless Throbbers

        Day 30 Silly Kitty

        Day 29 Magic 8 Ball

        Day 28 The Click Challenge

        Day 27 Rain Maker

        Day 26 Simon

        Day 25 SCRAMBLED!

        Day 24 What is Your Email’s Impact?

        Day 23 Stopwatch

        Day 22 Keep It Straight

        Day 21 Teleprompter

        Day 20 Smushing Fireflies

        Day 19 How Much of an SF Hipster are You?

        Day 18 Building Blocks

        Day 17 Party Time?

        Day 16 Caterpillar

        Day 15 Dropping Boxes

        Day 14 Tough Love

        Day 13 Rock Paper Scissors

        Day 12 Dice Roller

        Day 11 Color Clock

        Day 10 Sushi Jiggler

        Day 9 Bouncing Ball

        Day 8 More Drop Shadow!

        Day 7 Technicolor Boxes

        Day 6 Day Tracker

        Day 5 Secret Message

        Day 4 Paint a Mondrian

        Day 3 Get a Random Color Background

        Day 2 Make a Deal!

        Day 1 Homepage

        英文原文:I’m learning to code by building 180 websites in 180 days. Today is day 115.

        譯者:deepfish 譯文:鏈接

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!