本文转载自公众号“读芯术”(ID:AI_Discovery)。
在做真正喜欢的事情时,没有什么比不断挑战自己更有趣了。业余项目是很多程序员都会选择的进阶之策,大多数时候,进行业余项目时遇到的最大问题往往不是项目复杂,而是找到一种可以从事同时又很酷的业余项目。
做自己真正喜欢的业余项目是提升自我的最好方法之一。使用新技术可以增加自己的技能,还可以尝试从未使用过的编程语言。本文为你推荐了5种业余项目,不如就从这里开始吧!
1. 强化学习
图源:pinterest
强化学习是指对机器学习模型进行训练,以做出一系列决策。如果你喜欢机器学习,这个项目简直就是为你量身打造的!如果你之前从未接触过机器学习,可以试着挑战一下自己。
创建自己的逃脱游戏可以让你更了解强化学习。目标很简单:试着想出一种游戏通关模式。你将学到:
- 实现一个有奖惩机制的模型
- 掌握强化学习和机器学习
2. 恶搞图片制作
我们的生活里已经离不开表情包了,但你有没有遇到过脑海里已经有了图像却怎么也找不到合适的表情包的情况?来构建自己的表情包生成器吧!这是本列表中较小的项目之一,非常适合缺乏经验的开发人员。
上传一张图片,输入文字,然后用户就可以下载表情包了。你还可以通过添加一些用户可选的默认表情包图片来扩展这个项目。这样用户就更方便,不用上传标准规格的表情包图片了。如果你想尝试常见JavaScript库(React、Vue或Angular),这个项目非常合适。
你将学到:
- 处理文件上传
- 生成即时图像
- 提供用户表情包下载
3. 温度计APP
你可以试着创建一个可根据你的位置显示温度的APP,或者也可以为用户添加一种查找任一城市或国家温度的途径。
为实现该项目,你应该使用API来检索特定位置的温度。如果你刚开始接触APP制作,这个项目很适合你,因为它相对较小,也不复杂。如果你想有更进一步的挑战,可以尝试创建一个更炫酷的用户界面。
你将学到:
- 应用程序开发
- 从API读取数据
4. 相片马赛克
图源:picturemosaics
这个想法非常直截了当:上传一张图片,然后用该图片创建一个相片马赛克。可以使用图像API来获取马赛克拼贴图像。该项目可以制作精美作品,非常适合没有经验的开发人员。
你必须想出一个放置拼贴的解决方案。如果你觉得挑战不够,还可以允许用户指定马赛克拼贴的尺寸。如果想更进一步,你可以设置图像缓存,就不用向API发送不必要请求了。
你将学到:
- 编写可放置所有马赛克拼贴的算法
- 从API读取数据
5. 3D投骰
还有什么比探索3D更酷炫?如果你从未使用过3D来编程,我强烈推荐这个项目,它太有意思了,而且你不必从头开始。
看看D3或巴比伦,它们都是WebGL项目。Babylon有一个用于修补API的游乐场,便于劳逸结合。由于集成开发环境(IDE)处于在线状态,你无须执行任何操作,它会像CodePen一样自动运行。3D可以构建很多炫酷的东西,掷骰子模拟器就是其中之一。
图源:unsplash
你将学到:
- 了解3D工作原理。
- 了解矢量,相机和场景。
这个列表里有你感兴趣和愿意挑战的项目吗?有的话就太棒了,是时候开始行动了!当你做真正喜欢的事情时,你真的会飞速进步。尝试运用不同的编程语言或框架,可以最大限度地增加学习经验。所以,你决定好了吗?