写点什么

编程没想法?这 5 种程序可开拓你的编程思路

  • 2019-10-21
  • 本文字数:1254 字

    阅读完需:约 4 分钟

编程没想法?这5种程序可开拓你的编程思路

像是生活中的任何事情一样,只有通过汗水和时间,才能精通于编程。编程技巧与其他技巧没有什么不同,投入 10000 小时之后,你也可以成为程序界的大佬。



或许你经常会面临手痒难耐想要编程却想不到要写什么的境况。下面是一些作者认为非常赞的应用程序,每一个熟练的开发者都应该至少构建一种。

1.Squoosh

Squoosh是一款图像压缩的网页端应用,用户可以深入研究各种图像压缩器所提供的高级选项。



Squoosh 示例


通过构建 Squoosh 程序,可以学到:


  • 如何更改图片大小

  • 基本的拖拽 API 介绍

  • 事件监听器(Event listener)以及其 API 的工作原理

  • 文件上传与导出


注:这款图像压缩应用是本地操作,不会上传数据到服务器。用户可以选择在客户端或者服务端进行压缩图片操作。

2.计算器

讲真,计算器?是的,你没听错,一个计算器。理解数运算及其原理在任何稍微有点复杂的程序中都是至关重要的。数字相关的程序开发是迟早要做的,那么为何不提前适应呢?



计算器


通过计算器应用的编写,可以学到


  • 如何与数字和数学运算打交道

  • 事件监听器的 API

  • 程序外观 UI 的设计

3.Layer

在 Layer(图层)的社区中,人们可以在一块共享的画板上一人画一个像素块。这个想法最初是来自 Reddit 的一个板块,r/Layer,这是一个向所有人开放,任何人都可以创建或者增砖添瓦的创意探索画布。



Layer 画布


通过创建 Layer,可以学到


  • JavaScript 画布的原理,在一些应用程序中,知道如何操作画布是至关重要的

  • 如何协调用户权限。未登录的用户每 15 分钟可以绘制一个像素块,用户功能是可选项

  • Cookie session 的管理



Reddit Layer 板块


4.网页爬虫(搜索引擎)

在人人在用网页爬虫的时代,为什么不自己写上一个呢?网页爬虫在搜索信息的时候非常的实用,在依赖搜索引擎的今天,爬虫的实用度只会随着信息需求的增长而增加。



谷歌(搜索引擎)的网页爬虫


通过编写网页爬虫可以学到:


  • 爬虫的工作原理

  • 网页索引以及如何按照口碑和排名展示搜索结果

  • 存储带索引的网页至数据库,以及数据库的操作

5.音乐播放器(Spotify,苹果音乐)

人人都爱音乐,音乐是我们生活中的一部分。为何不构建一个音乐播放器来更好的理解当代音乐流媒体平台的基本工作机制呢?



Spotify 音乐网页版示例


通过编写音乐流媒体平台,可以学到:


  • 如何使用Spotify或者苹果音乐的 API

  • 如何播放、暂停或者播放上一首歌、下一首歌

  • 如何处理播放音量

  • 如何管理用户指引或者浏览历史 API

结论

感谢阅读,希望诸位都能找到编写应用程序的灵感。


如果你对 JavaScript 还不熟悉或者是想要学习的话,作者建议可以通过以练带学,推荐书目是A Smarter Way to Learn JavaScript,以及有趣的程序灵感这篇文章。


原文链接:


Here Are 5 Thought-Provoking Apps to Code


2019-10-21 15:017576

评论

发布
暂无评论
发现更多内容

软件架构设计原则之依赖倒置原则

Tom弹架构

Java 架构 设计模式 设计原则

weblogic 报 java.lang.OutOfMemoryError:PermGen space

看山

Java 10月月更

官方线索|Bilibili1024程序员节

搬砖人

1024我在现场

在 Vue3中使用Fabric.js实现渐变(Gradient)效果,包括径向渐变radial

德育处主任

JavaScript 大前端 vite Vue3 FabricJS

软件架构设计原则之里氏替换原则

Tom弹架构

Java 架构 设计模式 设计原则

不是吧?阿里“百万级”性能优化小册居然能让系统运行得这么快

Java 编程 程序员 性能优化

Spring 5系统架构

Tom弹架构

Java spring 架构

Spring版本命名规则

Tom弹架构

Java spring 架构

k8s replicaset controller源码分析(3)-expectations机制分析

良凯尔

Kubernetes 源码分析 Kubernetes源码 #Kubernetes#

又真香了!到底是怎样的JAVA面试文档,拿到这么多offer

Java 编程 程序员 面试

架构实战训练营模块一

人生就是梦

架构实战营

拆分电商系统微服务

毛先生

软件架构设计原则之迪米特法则

Tom弹架构

Java 架构 设计模式 设计原则

这样学BAT必面之软件设计原则,还不会就是我的问题

Tom弹架构

Java 架构 面试 设计模式 设计原则

架构实战营模块6课后作业 拆分电商系统为微服务

apple

架构实战训练营|课后作业|模块 6

Frode

「架构实战营」

ARouter 拦截器之多 module 独立运行

逆锋起笔

android 组件化 arouter

面试官:如何回答消息队列的丢失、重复与积压问题

Java 程序员 架构 面试

软件架构设计原则之开闭原则

Tom弹架构

Java 架构 设计模式 设计原则

软件架构设计原则之合成复用原则

Tom弹架构

Java 架构 设计模式 设计原则

架构实战营 - 模块六作业

en

#架构实战营

架构实战营模块一作业

spark99

架构实战营

软件架构设计原则之单一职责原则

Tom弹架构

Java 架构 设计模式 设计原则

k8s replicaset controller源码分析(2)-核心处理逻辑分析

良凯尔

Kubernetes 源码分析 Kubernetes源码 #Kubernetes#

普通本科毕业一年,刷完这1000道JAVA面试题,成功逆袭上岸

Java 编程 程序员 面试 大厂面试

京东架构师珍藏版:redis深度笔记(全彩版)全篇精华,细节满满

Java 程序员 架构 面试 rediis

分布式事务开山之作——《深入理解分布式事务:原理与实战》草图曝光!!

冰河

数据库 分布式 分布式事务 微服务 数据一致性

软件架构设计原则之接口隔离原则

Tom弹架构

Java 架构 设计模式 设计原则

Generic Type Variance in Dart

Think

flutter dart 泛型

设计原则学习笔记

风翱

设计原则 10月月更

前端应用部署k8s的平滑发布问题

小江

k8s 大前端 发布流程

编程没想法?这5种程序可开拓你的编程思路_文化 & 方法_Indrek Lasn_InfoQ精选文章