QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

编程没想法?这 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:017558

评论

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

达梦数据库主备安装部署

For

Vue实现日期选择器

游坦之

10月月更

鸿蒙开发实例 | 鸿蒙原子化服务卡片开发完美体验

TiAmo

华为 鸿蒙 10月月更

嵌入式 Linux 入门(八、Linux 下的软件安装)

矜辰所致

Linux 软件安装 apt 10月月更

【web 开发基础】PHP 中的goto语句的使用 -PHP 快速入门 (23)

迷彩

goto 10月月更 web开发基础 PHP基础

调度线程池ScheduledThreadPoolExecutor源码解析

JAVA旭阳

Java 线程池 10月月更

计算图中两个顶点的所有路径,你会吗

JAVA旭阳

Java 算法 10月月更

【漏洞介绍】驱动文件Microsoft32k.sys中的漏洞分析

网络安全学海

网络安全 安全 信息安全 渗透测试 漏洞挖掘

程序的地址分配

计算机基础

软件架构 & 研发效率

agnostic

研发效能

spense工作原理分析

夏天的味道123

React

整合Mybatis、Servlet、Mysql、Axios、Filter、Session写一个入门级项目:非常适合初接触JavaWeb的小白白来进阶

游坦之

10月月更

游族网络xStarRocks:高效助力数据查询,灵活应对多维分析

StarRocks

数据库

Vue复刻华为官网 (一)

游坦之

10月月更

正则表达式中的字符串

芯动大师

Python 正则表达式 10月月更

外包学生管理系统架构设计

乖乖IvyShine

在职京东架构师的亿级系统架构实践经历总结:架构修炼之“道”

小小怪下士

Java 系统架构 api 网关

Excel 公式、图表以及单元格的操作

芯动大师

Python Excel数据分析 10月月更

如何对查询结果进行排序

芯动大师

Python 排序 10月月更

CountDownLatch源码硬核解析

JAVA旭阳

Java 线程 10月月更

【web 开发基础】PHP 自定义函数之函数声明 -PHP 快速入门 (24)

迷彩

函数 10月月更 web开发基础 PHP基础 函数的定义

react的jsx语法是怎样解析的

夏天的味道123

React

“程”风破浪的开发者|Hi3861开发环境搭建

鸿蒙之旅

OpenHarmony 10月月更 “程”风破浪的开发者

【一Go到底】第二十九天---切片入门

指剑

Go golang 10月月更

中国开源年会报名 | StarRocks 极速湖仓分析的探索与实践

StarRocks

数据库·

C# Random类学习,让我们玩玩随机函数

IC00

C# 学习 上位机 10月月更

StarRocks极客营 | 90天,17名新晋贡献者,SQL Planner 实战回顾

StarRocks

数据库

Vue复刻华为官网 (二)

游坦之

10月月更

C# 使用秒表类Stopwatch对程序的运行速度测试

IC00

C# 学习 上位机 10月月更

jmeter 扩展自定义java 插件

kcnf

String源码分析(三)

知识浅谈

string 10月月更

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