未來180天構建180個網站
“在未來180天,每天開發一個新功能的網站,並且一天不落。……”這是一位藝術專業人士為自己定下的程式設計學習計劃。今天是他實施該計劃的115天。憑藉其堅強的毅力與正確的學習方法,他已完成了114個獨立網站,每個網站的功能均圍繞日程生活中遇到的困難出發。
他是如何實施看似“嚴苛”的計劃的?具體的學習方法是怎樣的?背後有著怎樣的精彩故事?故事的主人公@jenniferdewalt在一篇博文《I’m learning to code by building 180 websites in 180 days. Today is day 115》中道出了自己學習程式設計背後的精彩故事及獨特的學習方法。下面為博文的編譯內容。
4個月之前,我決定開始學習程式設計。
拋開我之前沒有任何程式設計經驗,及在大學時期沒上過任何“技術”相關課程的事實,我決定在未來180天內構建180個網站,且一天不落。
今天是115天。
背景
我畢業於藝術專業。當初選擇藝術專業,是為了探索人們是如何向世界展示自己的,比如我們穿什麼樣的衣服,有怎樣的言談舉止及彼此之間如何進行交流。過去,我試圖通過繪畫、雕塑來捕捉這些社會畫面。
但到了2013年,我們不再受限於地域,我們有了網際網路。它打破了很多限制人們交流的障礙,同時我們也迫切希望獲得虛擬身份,方便與彼此更好的溝通交流。
本週的一個藝術網站
但我不甘心成為交流中的一員,我希望創造一個溝通的渠道,使這種交流成為可能。
學習程式設計,最好的方法是什麼?我不斷地思索這個問題,最後我決定JFDI(Just Do IT)。為此,我為自己制定了簡單而又嚴格的計劃:
1.在未來連續的180天內,每天要構建出一個不同的網站;
2.每個網站都要配有一篇博文;
3.我所開發的每個網站都要開源至 GitHub,供所有人觀看。
在學習程式設計的過程中,肯定會犯大量各種各樣的錯誤。不要因為你的程式碼看起來有些“笨拙”,就放棄程式設計。程式設計不要求你具備某種特定性格,不需要你是數學天才,不需要任何必要條件,因為編譯器不會關心那些,你只需要動起手來,敲字即可。
第四周,Simon網站截圖
沒有訓練營,沒有圖書
當我決定學習程式設計時,我所做的第一步是思考我該如何開始。有很多路可供選擇——有大量的課程可供學習,你也可以參加某種訓練營。但這些對我沒有任何吸引力。我認為學習程式設計和學習滑旱冰有很多相似之處。你可能需要某人給你一臂之力,好讓你的腿聽你使喚。但要獲得真正的技巧,還需要自己的努力。
我認為學習程式設計的最好辦法就是解決你在現實中遇到的問題。這也是我不參加任何培訓課程,不看教課書的主要原因。遵照我自己的路線,我能以最合理的邏輯順序去理解和處理新的概念與問題。當遇到問題時,我就上Stack Overflow去尋求幫助。如果我需要大的“跳躍”,比如使用一種新語言、新平臺,我將藉助於教課書,直到我順利“拿下它”。
第六週,學習物件的概念
日復一日
在家辦公並不是一個好主意,我大部分時間是在SoMa的共同工作室裡進行程式設計。我有一個13英寸的Macbook Pro,同時與兩個顯示器相連。
每週我都會把上週印象深刻的事寫成博文。每天我都會把我的程式碼釋出到Github中,併發布當天的網站,同時將此寫成博文。此外,在釋出當天的網站之前,我會反覆修改其中的Bug與排版問題。到現在為止,我已經這樣做了114次。
第八週,利用物理學構建Paratroopers遊戲
從CSS到JavaScript,再到Rails
最初,我的網站十分簡單:包含一些HTML、少量CSS及一兩行JavaScript。到後來,我的網站越變越複雜。我開發過遊戲、計算器、時鐘、可愛的小貓。現在,我能熟練使用CSS及JavaScript。最近,我開始使用Rails構建動態網站,允許使用者與彼此進行交流並新增個人資料。用Rails進行程式設計感覺十分棒,它讓我從開發遊戲、玩具轉變為開發實際的工具。我不能確定下次我會嘗試哪種技術、哪種平臺,在該專案中我會一直用這個工具,因為它太棒了。
從第十四周開始構建Rails網站
不要讓自己有空子可鑽
每當我告訴人們我正在做的事情時,他們就立刻開始幫我找“空子”。我已經聽到很多這樣的問題,“你為什麼不休息一天,明天同時開發兩個網站呢?”雖然我知道他們都是好意,但我所做的規則十分嚴格,不允許自己有任何空子可鑽。
第十六週,一些有趣的東西
這個過程很艱難
每天都去創造一個新的網站,十分困難。不斷的學習新概念,是十分辛累的,將頭腦風暴轉換成實際產品也不是一蹴而就的。但這並不是最艱難的,最難的是每天在某種意義上的失敗。可以對外公佈的網站沒有完成。我是一個完美主義者,希望重做、擴充套件每個網站的慾望很強。而事實上,真正的向前並不是對某事進行反覆修補與調整,讓它達到完美,而是不斷吸收新概念,並實踐它。
下面列出了我之前的114天所開發的網站連結:
第114天: Image Palette
第113天: Window Master
第112天: Check Sketch
第111天: Down the Weight
第110天: Effects
第109天: ColorWorks
第108天: Algae Tank
第107天: Serious Question
第106天: Wish
第105天: Infinite Descent
第104天: Emergency Off
第103天: Word Clock
第102天: Drying Paint
第101天: Globulator
第100天: Song Machine
第99天: TOS
第98天: No One Is Watching
第97天: Text to Braille
第96天: PostBored
第95天: Sparklers
第94天: Mastermind
第93天: Swivel
第92天: Typing Test
第91天: Pinwheel
第90天: Skinny Drinks
第89天: Hourglass
第88天: Quick Words
第87天: Countdown Clock
第86天: Snare
第85天: Fishy Friend
第84天: Liquor Likes
第83天: Hollywood
第82天: Text Scroller
第81天: Capture
第80天: Tiny Notes
第79天: Present Value Calculator
第78天: Hangman
第77天: YourSpace
第76天: PixShow
第75天: King of the Comments!
第74天: Page View Graph
第73天: Keep It Up
第72天: Make A Dude
第71天: One Page
第70天: Click Counter
第69天: Leave A Note
第68天: Metronome
第67天: World Time
第66天: Alien Attack
第65天: Fade
第64天: Screen Flood
第63天: Memory Orbs
第62天: Confused Robot
第61天: Fix It
第60天: Fizz Buzz
第59天: Bubble Wrap
第58天: Fireworks
第57天: Bug Blaster
第56天: Hooray
第55天: Paratroopers
第54天: Calculator
第53天: Circle Invaders
第52天: Etch A Sketch
第51天: Memory
第50天: Color War
第49天: Weather Now
第48天: Static
第47天: PONG
第46天: Snake
第45天: Color Perception Test
第44天: Analog Clock
第43天: Seeing Spots
第42天: Magnetic Poetry
第41天: Light Bulb
第40天: Popping Bubbles
第39天: Pixel Painter
第38天: Type Attack
第37天: Bouncy Balls
第36天: Little Dude
第35天: Buttons!
第34天: Maneki-neko
第33天: Random Word Generator
第32天: Particle Waves
第31天: Endless Throbbers
第30天: Silly Kitty
第29天: Magic 8 Ball
第28天: The Click Challenge
第27天: Rain Maker
第26天: Simon
第25天: SCRAMBLED!
第24天: What is Your Email’s Impact?
第23天: Stopwatch
第22天: Keep It Straight
第21天: Teleprompter
第20天: Smushing Fireflies
第19天: How Much of an SF Hipster are You?
第18天: Building Blocks
第17天: Party Time?
第16天: Caterpillar
第15天: Dropping Boxes
第14天: Tough Love
第13天: Rock Paper Scissors
第12天: Dice Roller
第11天: Color Clock
第10天: Sushi Jiggler
第9天: Bouncing Ball
第8天: More Drop Shadow!
第7天: Technicolor Boxes
第6天: 第Tracker
第5天: Secret Message
第4天: Paint a Mondrian
第3天: Get a Random Color Background
第2天: Make a Deal!
第1天: Homepage
英文來源: blog.jenniferdewalt.com
相關文章
- 構建一個閱讀網站網站
- 構建未來20年的光纖網路
- 在邊緣構建智慧網路的未來
- [譯] 利用 Android 構建 TV 的未來Android
- Nginx網站服務與LNMP構建Nginx網站LNMP
- 構建未來區塊鏈應用:一站式 Blockchain 整合 API 實踐指南區塊鏈BlockchainAPI
- 網站建設完成後怎樣讓網站流量越來越多?網站
- [譯] 構建未來的設計生態系統
- 匯出 VuePress構建的網站為 PDFVue網站
- 開源Jekyll助您構建你的網站網站
- 5個細節提高網站建設網站
- 網站建設中最佳化五個建議網站
- 使用多種 Redis 資料型別構建一個文章投票網站Redis資料型別網站
- 網站SEO如何構建良好的樹狀結構呢?網站
- 如何簡單方便的建個人網站網站
- +智慧 華為助力金融行業構建未來科技體系行業
- 對話Svelte未來,Rust 編譯器?構建大型應用?Rust編譯
- [譯] 構建世界上最快的會議網站網站
- 你的網站或許不需要前端構建網站前端
- 教育培訓機構網站建設製作流程?網站
- constructor 未指向建構函式Struct函式
- 如何建設一個高效能的網站網站
- 構建“未來級”企業,如何做對這道必答題
- 日照網站建設|日照做網站公司網站
- 網站建設通常用哪些網站程式?網站
- 網站建設中如何提升網站特色網站
- 練手建個站
- 程式碼來構建一個簡單的compilerCompile
- Docker構建服務之部署和備份Jekyll網站Docker網站
- 介紹Cloudflare頁面:構建JAMstack網站的最佳方法Cloud網站
- 隨著數字化深入,全景數字化網站才是未來網站
- 網站建設中最常見的三個錯誤網站
- 網站建設應追求網站本身的質量網站
- 網站建設中如何測試完成的網站?網站
- 大型網站技術架構——2. 網站架構模式網站架構模式
- 免費建站專案歷史3個月,其中包括網站建設,手機網站建設,微信公眾平臺建設三個主要模組網站
- 企業網站建設預算控制的三個技巧網站
- 從哪些方面分析一個網站的建設技巧?網站
- 利用angular4和nodejs-express構建一個簡單的網站(十)—好友模組AngularNodeJSExpress網站