100天完成100个项目!他是怎么做到的?

什么?100天完成100个项目?难道用的是复制粘贴大法?还是写了100个Hello, world项目?

都不是,且听我慢慢道来。

原来是开发社区有人发起了一个叫 #100Days100Projects 的挑战活动,就是在100天之内完成100个项目。具体规则如下:

  • 每天创建一个项目
  • 在社交媒体(Twitter,Facebook,LinkedIn,等)上分享进度
  • 项目可以是: app组件网站游戏 等等
  • 可以选择自己喜欢的编程语言和框架
  • 必须在当天晚上11:59 前完成

完成这个挑战的哥们叫Florin Pop,他在自己的网站上分享了完成挑战的过程和心得:HOW I BUILT 100 PROJECTS IN 100 DAYS,也回答了一些网友的疑问。

如果你也好奇他是怎么做到的,就跟我一起来看下吧。

这个挑战是关于什么的?

这个挑战的主要目标就是每天创建一个项目,持续100天。具体规则可以查看这里。其实还有个更容易的版本:#30Days30Projects,只要坚持30天,门槛低了不少。

Florin Pop 于 2019年9月17日开始挑战,2019年12月25日完成。

做了哪些项目

所有项目都是基于 web 的,大部分是前端(HTML,CSS,JavaScript),有些涉及到一点 Node.js。
有些用到了框架和库(React,p5.js等),但是大部分都是用原生 JS 和 CSS 写的。完整的项目列表可以上 CodePen 查看。

怎么会有这么多点子?

很多人也问过他,他的回答是:

因为我是天才啊!

当然,他是开玩笑的。

真相是,他过去几年为了写技术博客和制作视频,收集了大量相关资源,这些项目的大部分灵感都来源于此。

还有一些项目来源于他日常生活的一些需求(比如 Drink Water app, Random Picker Visualizer, Countdown, Password Generator等)。看了下,还挺有意思的。

他也分享了自己最常用的资源网站,大家有兴趣也可以上去找找灵感:

提前计划还是即兴创作?

很难想象,如果没有提前计划,如何完成这么多项目?但事实上,他自己说只有两三个项目是提前计划的,其他都是即兴创作,当天想到什么就做什么。

为什么要挑战这个

我喜欢挑战!”他说。

就这么简单。

“我喜欢挑战自己的极限,这个挑战看起来可以做到(它做到了!)另外,我注意到,如果我公开宣布我正在做某件事,我最终会真的去做——也许是因为我失败时的羞愧感。我不知道。还没有在挑战中失败过。”

“我做的第一个挑战是365天的跑步挑战。我在Facebook上公开宣布,我要做这件事。我每天跑步后都会发一张照片,这给了我完成挑战的动力(实际上我坚持了422天)。我不能辜负我的粉丝,对吧?”

“另一方面,我知道如果我每天坚持,我将会激励其他人。我想告诉人们,即使是像我们这样的普通人,只要我们下定决心,也能做成事情。我们有一个强大的头脑,只是我们没有充分利用它!”

“我是个普通人。所以如果我做到了,你也可以做到!”

不逼自己一把,你永远不知道自己的有多大潜力。另外,如果有人监督你,可能会更容易完成目标。这就是为什么微信上有很多打卡学习群,利用他人的监督给自己一点压力,完不成目标设置一些惩罚,这样效果也许更好。

Florin Pop 的做法是给自己设立了一个25美元的“罚金”,哪天没完成的话,在 Twitter 上前5位指出的人每人将得到5美元。这样一方面给自己压力和动力,另一方面还吸引了不少人每天刷他的推文,也算是不错的运营手段呢!

一个项目要花多少时间

这也是大家比较关心的,每天一个项目,难道不要996吗?哪来这么多时间!还别说,人家可能真不需要996……话说回来,他的项目有30分钟内完成的,也有花了6-8个小时甚至延期到第二天的。平均大概是1到1个半小时,包括想法+执行+发社交媒体。

时间长短取决于项目的复杂程度,也跟自己的开发经验有关。他自称从2013年开始写代码,所以这些小项目自然不在话下。

从挑战中学到了什么

这才是挑战的关键。如果没有任何收获,那就没什么意义了。
来看看 Florin Pop的学习心得吧:

  • 学会了设计项目结构
  • 学会了一些从未使用过的技术和 API
  • 学会了更多 CSS 属性
  • 学会了更多的 JS DOM API 用法

总之就是加强了原生 JS 和 CSS 技能。

你要不要也来挑战一下?

如果你也想挑战一下自己,想督促自己学点新东西,你可以试着挑战一下。100天可能太难了,或许可以试下30天或者两周。

Kayson Li wechat
看到这个颇有气质的 logo,不来关注下吗?
坚持原创技术分享,您的支持将鼓励我继续创作!