Mackenzie Child 是一名设计师、工程师、也是一名 Youtuber 兼 Blogger,白天在 Precision Nutrition 担任前端工程师,晚上则一边自修程式设计、一边荧幕录影(Screencast),把学到的东西用 Youtube 分享给你们。前端
同时 Mackenzie 也会在他的博客 mackenziechild.me 上纪录一些想法、设计做品、工做点滴。Mackenzie 在 Medium、Instagram、Twitter、Dribbble、Github 等平台上都十分活跃。git
身为一名前端工程师,Mackenzie 认为世界上须要更多的「独角兽(Unicorn)」,Mackenzie 口中所谓的「独角兽」,是程式开发界传说中的生物,不但精通 UI / UX 设计,还能同时进行前端和后端开发的厉害角色。「独角兽」稀有的缘由不难明白,毕竟要能成为同时精通前端设计和后端开发的工程师并不简单,就像找一名文科理科都爆强的学生不容易同样。github
想成为独角兽,左脑右脑都要能够灵活使用,要拥有敏锐的设计天份,还要有厉害的逻辑思惟。Mackenzie 相信,若是进行后台开发的工程师能有一点设计美感,进行前端设计的设计师能会一点程式开发,若是世界上有更多这样的「独角兽」,那生活将会更美好!web
I believe the world could be a better place if more designers learned how to code and more developers learned how to design. –– Mackenzie Child后端
於是去年末,Mackenzie Child 在博客上分享了一个特别的经歷,专精前端设计的他,决定开始学习后端开发的 Ruby on Rails,而且完成一项艰鉅的挑战:连续 12 个星期,每一个星期用 Rails 作出一个不一样的网页应用程式。Mackenzie 将这项挑战称做「12 in 12 Challenge」。前端工程师
在这裡将 Mackenzie Child 完成「12 in 12 Challenge」所记录下的文章 「How I finally learned to build stuff with Rails」 分享给你们,本文并不是逐字翻译,有兴趣请阅读原文。架构
几个月前我决定开始学 Rails,在这以前我也曾经「玩过」 Rails ,只是老是遇到瓶颈就半途而废,或是找到更「有趣」的事情而无疾而终。app
你知道,我是一名图像设计师兼前端开发人员,16 岁时开始进行图像设计(Graphic Design),到了 20 岁时主要致力於网页前端设计,在这段时间裡,我一直有绵绵不断的点子想完成,却没有多餘的钱聘请专业的网页开发者(Web Developer),也没有本身学著开发制做。ide
一直以来我都很想将一个点子,从头至尾、从前端到后端,全都本身开发完成,成为开发界的「独角兽」–– 一个精通 UI / UX 设计,还能同时进行前端和后端开发的厉害角色。学习
因此啦,我决定开始好好学习 Rails!
以前我学 Rails 都是跟著线上的教学,但一牵扯到教学裡没提到的部分就完蛋了,固然更多时候,光是线上教学的内容我就搞不定了。看教学当然重要,可是要真正的瞭解 Rails,最重要的是「动手打造」!於是我决定挑战我自已:
挑战本身用 Rails 连续 12 个星期,每一个星期制做一个大相径庭的网页应用程式,我将这项挑战称做:「12 in 12 Challenge」。
不仅如此,我读了一篇文章在讲「教别人会让本身学得更好(You learn better by teaching)」的道理,相信你们都曾听过这个说法,由于在教别人以前,必须将所学的东西吸取、消化,再整理出来,要解释得让别人听得懂,那又是另外一个境界的理解!因此除了动手作 Web 应用程式之外,我还将制做的过程录成了教学影片,也在博客裡将步骤一步步记录下来。
我得很是诚实的告诉大家,这项挑战...... 还真他x的难啊!
对我而言这么困难的主要缘由,也是由于在进行这项挑战的过程当中,我还得同时兼顾白天的全职工做。这 12 个星期裡,好几回我都想放弃、想辞职,也气本身傻!为何不选个「4 in 4」就好,恰恰选个「12 in 12」。
每一个星期我都在挣扎中度过:动手写程式、赶上困难、出了找不到缘由的 Bug,接著花上好几个小时 Google 如何解决问题(要可以打出对的关键字去 Google 出答案,这又是另外一门很是高深的学问了...),一般我能在 Stack overflow 上找到我要的答案而顺利解决,有时候则无心间在某某不知名开发者的博客裡抓到一点头绪,只知其一;不知其二、硬著头皮继续写下去。
但就在我死撑、硬撑过每一个星期的同时,奇妙的事情发生了。
这些挑战变得一个星期比一个星期简单!大概在第五个星期时,我对我打造的 应用程式基础架构已经颇有自信,开始接著理解 MVC 模型(Model/View/Controller)概念!写程式时 Debug 速度变得愈来愈快,对於未知错误的恐惧也慢慢消失了。
在完成这项挑战后,我能够很自信地告诉大家,每一个迸到我脑中的点子我都有把握能写出 MVC!更重要的是,任何没写过的应用程式,我如今都有自信,我绝对能把它们搞懂,想办法把它们生出来。
不过别误会个人意思,我不是所以变成了「高高手」,在开发 Rails 这个领域裡,这项挑战只是一个很棒的「开始」,我还有太多须要学习、太多不一样的主题须要尝试,这些都是我将来须要作足功课、计划周详的。
废话很少说,就来看看我 12 个星期裡完成的 12 个应用程式吧!如下是我在「12 in 12 Challenge」裡完成的做品跟教学影片,全部的程式码都放在 Github 上免费提供给大家。
学习任何程式语言都是一个障碍重重的挑战,我但愿我制做的这些教学步骤、影片,可以在 Rails 新手们学习的过程当中提供一点帮助。
转自 我是這樣學會 Ruby on Rails:12 個星期打造 12 個網頁 APP 收藏一下,慢慢学,感受学完会很厉害的样子!