写点什么

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

评论

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

Bundle-less 的思考和实践分享

字节跳动终端技术

bundle 字节跳动 前端 构建工具 拆包

3D可视化在智慧园区的应用

3DCAT实时渲染

轻量化服务,大道至简,触手可及

鼎道智联

微服务 云服务 PWA 轻应用 原子化服务

Java:在Word文档中添加或删除页眉页脚

Geek_249eec

Java word 页眉页脚

身价百亿的Zendesk:创业,从一个小目标开始

ToB行业头条

万物皆可集成系列:低代码释放用友深度价值(1)—系统对接集成

葡萄城技术团队

定制开发APP——怎样吸引更多用户?

开源直播系统源码

软件开发 直播系统源码 定制开发 app定制开发

金融和科创深化合作,常熟农商银行与博云签署战略合作协议

BoCloud博云

云计算 容器 云原生

OceanBase 4.0发布:首次实现单机分布式一体化架构、全面上云

OceanBase 数据库

专访通过 OBCP V3 首位考生:V3 让知识更加结构化、体系化

OceanBase 数据库

基于 Impala 的高性能数仓建设实践之虚拟数仓

网易数帆

大数据 impala 数仓架构

在Rust和C之间传递字符串,有 7 种方法!

非凸科技

c rust

开源一夏 | Node.js实战之Node多进程与JXcore 打包深入运用

恒山其若陋兮

开源 8月月更

2022 全球 AI 模型周报

Zilliz

深度学习 计算机视觉 Transformer 多模态

高僧斗法(博弈-Nim博弈)

Five

算法竞赛 算法题 8月月更

观测云产品更新|观测云计费更新;新增场景仪表板/笔记/查看器的查看权限;优化监控器和事件等

观测云

OceanBase CEO杨冰:小就是大,构建企业核心竞争力

OceanBase 数据库

蓝桥杯历届试题 蚂蚁感冒(模拟版+非模拟版)

Five

算法 算法竞赛 8月月更

缓存穿透、缓存击穿、缓存雪崩及解决方案

Steven

开源一夏 | Java 覆盖jar包内的方法

六月的雨在InfoQ

开源 钉钉 Java core 8月月更

AIRIOT答疑第9期|AIRIOT平台服务于哪些客户?

AIRIOT

低代码 物联网 低代码,项目开发

创建知识库使您的客户能够体验自助服务

Geek_da0866

VPN是什么?VPN与堡垒机有啥区别?

源字节1号

软件开发 小程序开发

7大特征交互模型,最好的深度学习推荐算法总结

博文视点Broadview

软件测试100天上岸3-测试有哪些最高原则

和牛

测试 8月月更

华为云安全云脑,让企业云化运营更放心

IT资讯搬运工

华为云主机安全助力企业种出“金葫芦”

IT资讯搬运工

演进式架构从不缺设计方法,最大的阻力在于「人」

万事ONES

leetcode 225. Implement Stack using Queues 用队列实现栈(简单)

okokabcd

LeetCode 数据结构与算法

​五大不良 coding 习惯,你占了几样?

SEAL安全

Code 代码规范 CODING

如何用紧凑型语音表征打造高性能语音合成系统

小红书技术REDtech

深度学习 语音合成 自编码器 表征学习 语音表征

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