想成为顶级开发者?你需要多练习!请收好这些资源

译者按: 其实我们国内也有很多经典案例,比如饿了么、豆瓣、知乎。同样是非常不错的锻炼项目。

为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。

每个人都很清楚要掌握一项技能需要充满激情积极地努力工作。如果你想在某一方面成为专家,那么你必须投入充分的精力。

没有任何好东西是可以轻易得到的。虽然很难,但是值得去尝试。我们都很喜欢写代码,但是往往没有好的想法,不知道写什么来锻炼自己的动手能力。在这里我给你们列出了一系列有挑战又有趣的项目。

1. Node.js配合GraphQL来写后端

GraphQL可以说是革命性的改变了我们发送和接收数据的方式。因此,绝对值得你花时间去琢磨一下。

具体操作

  • 用Node.js的Express框架创建一个服务器,并使用MongoDB和graphQL;
  • 对数据进行基本的创建、读取、更新和删除(CRUD)操作;
  • 从一个简单的前端获取数据。

我建议你可以看看这个Youtube视频教程:Introduction to GraphQL

2. 终端app

一个终端应用就是一个可以在终端(terminal)下运行的程序。

可以从一个很小的简单的应用开始。终端应用的机制很简单:给定输入,返回输出。

一些简单的思路

  • 请求用户输入名字,然后输出结果;
  • 显示一些数学公式,然后让用户给定输入,返回输出结果。

这里有一系列终端应用示例可以学习。

3. Electron桌面应用

Electron可以让你使用网页技术比如HTML、CSS和JavaScript来开发桌面应用。

一些非常出名的Electron应用: Visual studio code, Atom, Slack, 和Webtorrent.io

推荐一个Electron的YouTube介绍视频:What is Electron: The Hard Parts Made Easy

再强调一遍,从一个简单的小应用开始,然后逐步构建复杂的。比如,你可以先创建一个Electron应用,给定输入,然后输出到终端。如果你对Web开发熟悉,那么你将会认为Electron非常方便。

4. 克隆Instagram

Instagram是一个很复杂的应用,如果你能把它写出来,你会学到很多知识。如果你自己搭建一遍Instagram,你可以学到:

  • 复杂的Grid管理(请尝试用新的CSS grid技术);
  • 多点调用API/数据流管理(请尝试用GraphQL);
  • 可以搭建真实的大型应用。

你可以自由选择其他适合的技术。

非常棒的一点是:Instagram提供了API

5. 使用D3.js做数据可视化

D3是Data-Driven-Documents的缩写。D3是一个非常流行的库。当然,他不是唯一的选择,还有ChartJSplotly.JS

D3js的介绍视频:D3js Workshop(Intro Into Creative Visualizations with SVG and D3)

真的非常棒!你可以从这里获取足够多的数据来练习:Awesome GitHub repository consisting of free-to-use public datasets

以上提供的一些练习项目希望能够助你锻炼开发的能力,就像Fundebug能够助你Debug一样!

原文链接:https://medium.freecodecamp.org/the-secret-to-being-a-top-developer-is-building-things-d3d058e4e472

原文作者: Indrek Lasn

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏信安之路

入门 IOS 逆向从我的经历说起

在这里以讲故事的形式分享一下我踏入信息安全这条路的一些经历吧,希望能帮到一些人,正文开始:

56040
来自专栏Hadoop数据仓库

HAWQ取代传统数仓实践(十九)——OLAP

一、OLAP简介 1. 概念         OLAP是英文是On-Line Analytical Processing的缩写,意为联机分析处理。此概念最早由关...

62550
来自专栏ThoughtWorks

Serverless实战:打造个人阅读追踪系统

阅读习惯和个人知识管理体系 进入互联网时代,知识的获取成本变得前所未有的低廉,但是无论再好的知识,若是没有对个人产生价值的话,那也只不过是一种信息噪音而已。 我...

51760
来自专栏FreeBuf

用一首歌曲来谱写RTMP协议分析

最近在重温由W.Richard Stevens 的传世之作《TCP/IP详解》,看到第12章TCP ,基于传输层有TCP 、 UDP 、 TLS 、DCCP 、...

13320
来自专栏顶级程序员

你写过什么有趣的程序?最后一个笑出猪叫

源 / 程序员之家 苍冥说: 我们从高一到高三都强制采用图形计算器,可以画函数图像的那种。我们用的是德州仪器系列,Ti-Nspire,贵的要死要死的。然而我却买...

455110
来自专栏微信终端开发团队的专栏

关于Android N的那些事

今年3月,Google破天荒提前半年发布了Android N开发者预览版。当然,作为一个不合格的谷粉并没有第一时间体验安装,因为至今仍然能够回忆起来去年今日此门...

31560
来自专栏FreeBuf

使用HackRF解调TDD-LTE信号

软件无线电(Software Defined Radio)以前往往以高(zhuang)大(bi)上(fan)的面目示人,是大公司或学校实验室的高级玩具,一套系统...

763100
来自专栏数据派THU

手把手教你上手python库pydbgen(附代码、安装地址)

19660
来自专栏大数据和云计算技术

HBase多模的机遇与挑战

首先提前祝大家中秋快乐,今天我们分享的文章来自云栖大会嘉宾:阿里云专家 封神的分享

17530
来自专栏Android机动车

手把手教你写高质量Android技术博客,画图工具,录像工具,Markdown写法

作为程序员,写博客是一件很有意义的事情,可以加深自己对技术的理解,可以结交更多的朋友,记录自己的技术轨迹,而且分享可以让更多的人从中受益,独乐乐不如众乐乐嘛。

21010

扫码关注云+社区

领取腾讯云代金券