未来180天构建180个网站
他是如何实施看似“严苛”的计划的?具体的学习方法是怎样的?背后有着怎样的精彩故事?故事的主人公@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