NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

评论

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

JVM的早期优化与晚期优化

Edison

JVM JVM虚拟机原理

Ray 分布式计算框架详解

lipi

分布式 数据湖 pandas Apache Arrow

雪花算法把玩

ElvinYang

oeasy教您玩转linux010109clear清屏

o

基于区块链的社会治理探索

CECBC

区块链 大数据 信息技术

【读书笔记一】《企业IT架构转型之道-阿里巴巴中台战略思想与架构实战》

Man

中台 阿里 中台战略

k8s-client-go源码剖析(二)

远鹏

Kubernetes 源码剖析 Go 语言

面经手册 · 第8篇《LinkedList插入速度比ArrayList快?你确定吗?》

小傅哥

Java 数据结构 面试 小傅哥 linkedlist

麦叔告诉你,Linux下安装nginx都踩了那些坑

麦洛

nginx Linux

pandas ~基础pandas

南辞

Python

巧用HashMap一行代码统计单词出现次数

程序那些事

jdk hashmap 统计字数

架构师第十二周学习总结

傻傻的帅

SpringBoot+Tess4j实现牛逼的OCR识别工具

小隐乐乐

架构师训练营第十二周作业

张明森

翻转链表算法、自动化测试框架robot-framework、两款iOS 在手机端debugging 工具Flex、啄木鸟、加密技术 高可用系统的度量 高可用系统的架构 高可用系统的运维 John 易筋 ARTS 打卡 Week 15

John(易筋)

ARTS 打卡计划 高可用系统的架构 翻转链表 自动化测试Robot 手机调试工具Flex

央行数字货币钱包上线后又秒关 兑换了的 DCEP 别担心

CECBC

数字货币 央行

ARTS打卡 第14周

引花眠

微服务 ARTS 打卡计划

LeetCode 5. Longest Palindromic Substring

liu_liu

算法 LeetCode

架构师训练营第十二周总结

张明森

高并发系统三大利器之降级

java金融

比特币挖矿到底挖的是什么?

CECBC

比特币 区块链 数字货币

ARTS Week14

时之虫

ARTS 打卡计划

Flink检查点、保存点及状态恢复-13

小知识点

scala 大数据 flink

图解Node(上)——直击灵魂的十条拷问

执鸢者

大前端 原理 Node

你真的懂 Java 的 main 方法吗

Rayjun

Java

oeasy教您玩转linux010108到底哪个which

o

30年技术积累,技术流RTC如何成为视频直播领域的黑马?

华为云开发者联盟

云计算 AI 5G RTC 华为云

【持续更新~】常遗忘却可以变更好的心态

01Running

个人成长

程序的机器级表示-控制

引花眠

计算机基础

小小的分页引发的加班血案

架构师修行之路

架构

软件产品的创新与宇宙奇点大爆炸

常平

方法论 产品思维 架构思维

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