写点什么

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

评论

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

摊位货摊自动识别与监控系统识别系统开箱即用教程 (YOLOv8)| 完整源码与部署教程

申公豹

人工智能

大数据-72 Kafka 事务Coordinator、日志、2PC 与幂等性的协同机制 端到端Exactly-Once处理详解

武子康

Java 大数据 kafka 分布式 消息队列

区块链 DApp的开发费用

北京木奇移动技术有限公司

dapp开发 区块链开发 软件外包公司

YashanDB的性能监控工具:如何实时评估数据库状态?

数据库砖家

YashanDB多节点集群部署及管理技巧

数据库砖家

相比于直接消费 MCP 服务,您的企业可能更需要一个专属的 MCP 服务中心

阿里巴巴云原生

阿里云 AI 云原生 MCP

基于TinyMce富文本编辑器的客服自研知识库的技术探索和实践|得物技术

得物技术

大前端 客服 富文本 知识库

YashanDB多活架构设计与实现实操分享

数据库砖家

哈尔滨等保测评技术应用:科技赋能,提升效能

等保测评

区块链DAPP的开发流程

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

微服务不是银弹!这4个设计原则让你少踩90%的坑

左诗右码

AI智能体的开发成本

北京木奇移动技术有限公司

AI智能体 AI技术开发 软件外包公司

怎么制作论文开题报告?用这3个AIPPT工具轻松搞定!

职场工具箱

人工智能 效率工具 PPT 论文 AI生成PPT

基于YOLO的中医舌苔自动识别系统 | 五类舌象精准检测【含完整数据+训练源码】

申公豹

人工智能

打破状态机:Web竞态条件的真正潜力

qife122

网络安全 漏洞挖掘 竞态条件

YashanDB多场景应用教程:助力企业实现高效数据管理

数据库砖家

9月20-21日CSM认证课程 · Jim老师引导团队Agility与企业Agility话题

ShineScrum

敏捷 项目经理 Scrum Master 每日站会 敏捷开发培训

YashanDB多活架构实现企业业务持续运营

数据库砖家

java: 无法访问org.springframework.ldap.core.LdapTemplate

刘大猫

人工智能 算法 智慧城市 智慧交通 LdapTemplate

在AI技术快速实现创意的时代,挖掘新需求成为关键——某知名AI图像生成框架需求分析

qife122

强化学习 AI图像生成

30条新Semgrep规则发布:涵盖Ansible、Java、Kotlin和Shell脚本等场景

qife122

静态分析 代码审计 Semgrep

哈尔滨等保测评流程:环环相扣,保障安全

等保测评

YashanDB对企业数据治理的影响及实施策略

数据库砖家

Ceph 可观测性最佳实践

观测云

Ceph

RAG-MCP 性能剖析:在 Amazon Bedrock 中多维度测试提示词优化的效果

亚马逊云科技 (Amazon Web Services)

定制球形LED屏需要多久?

Dylan

科技 LED LED display LED显示屏 LED屏幕

智能设备操作系统闭源化浪潮下的小程序生态重构与技术创新

xuyinyin

YashanDB多版本并发控制机制详解

数据库砖家

基于YOLOv8的智能鼠类目标检测系统 | 室内外老鼠自动识别与追踪【含完整训练源码+部署教程】

申公豹

人工智能

【HarmonyOS】应用设置全屏和安全区域详解

GeorgeGcs

命令行神器 The Fuck,敲错命令的后悔药

Immerse

Linux cli command

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