个人项目开发规划
综述
在工作之余,会开发自己的一些小项目,用于技术学习。这些项目都是自己设计,自己开发实现,旨在锻炼自己的技术水平,同时基于这些项目会产出一些技术文档。如果项目和文档能为大家带来学习上的帮助,或者能帮助大家解决一些实际问题,那我就十分欣慰了。
目前我正在开发的项目有:
序号 | 名称 | 简介 | 详细介绍 | 演示地址 |
---|---|---|---|---|
1 | WebPhotoshop | 基于HTML5的实时协同图形图像处理系统 | 更多 | WebPhotoshop |
2 | ishou | 基于微服务架构的网站收集系统 | 更多 | 无 |
3 | eblog | 轻量级个人博客系统 | 更多 | 无 |
技术文档会写在:
详细计划
关于这些项目,这里做一个简单的介绍,同时说明下后续的计划。
WebPhotoshop
这是我十年前开发的,目前公布的是一个纯前端的版本,能实现图形绘制、图像处理、图像操作,在github pages中发布后能够直接使用,地址见综述。还有一个完整版的,能实现多人协作操作图像、实时交流,就是多人能同时操作一张图片。因后端需要服务器部署,所以暂时没有公布。
项目主要使用HTML5开发,大部分是前端代码,因自己主要从事后端开发工作,前端开发工作做得比较少,因此这个项目一直搁置了。可以看到这个项目界面还是很老旧,使用的是十年前流行的EasyUI,使用jQuery框架。中间只增加了docker等少数的更新。
这个项目的创意非常好,使用过PhotoShop的人都知道,PhotoShop安装包很大,启动后电脑就会变得很卡。有没有一款在线的图片处理工具呢?输入一个地址,在浏览器上直接使用,不需要安装。另外,处理一张复杂的图片工作量很大,能不能多人一起处理一张图呢?做一个在线的多人协作处理图片软件的想法就诞生了,取名为WebPhotoshop。
这么好的创意,不再继续下去确实有些可惜了。如今也出现了很多新技术,也可以实践下。也产生了新的想法,也可以在项目中实现。因此决定再次启动WebPhotoshop的开发。当然现在的在线图片处理软件太多了,功能和界面远比我开发的强大和美观,继续WebPhotoshop的开发也是对十年前梦想的执着,技术的热爱,以及一种情怀。
项目重点是突出创新,技术和创意上的创新。
计划
- 前端功能完善
- 前端代码拆分
- 后端基于netty实现
- docker一键部署
- AIGC的引入
- 文档输出
ishou
这是疫情开始时,因封闭在家,除工作外时间比较充裕,而启动的一个项目,业务很简单,主要用于收集有用的网站,主要是旨在全面学习和实践微服务和前端技术。在工作中,开发的项目都是别人搭建好的框架,个人只负责开发其中的几个服务,不能深刻理解整个架构的设计思想,不清楚整个架构的搭建过程。前端也只是开发几个页面。没有真正的搭建和开发完整的微服务项目,很难站在一个高度理解微服务的精髓,很难全面掌握开发的各种技术。因此,决定从零开始,搭建和开发一个前后端分离、基于微服务的项目。
项目有以下特点:
- 基于Spring Cloud实现的微服务
- 数据库使用了mariadb、redis
- 前端使用vue
- nginx作为代理
- 使用docker一键部署
- 服务器Linux,云服务器
- 集成github登录
- 自实现权限框架
- 多用户
微服务依然是大趋势,该项目作为架构学习和实践重要项目,会一直继续下去。会引入更多的组件,更多的技术,全面实践大型项目中的各种技术。
项目有很多个服务,对机器性能有要求,个人电脑跑起来可能会很慢,最好另外准备一台机器作为测试环境使用。
项目重点是突出技术全面性。
计划
- 新技术引入,AI等
- 各种组件的引入,例如kafka、mongodb、ElasticSearch等
- 各种实战场景等引入,例如高可用、链路追踪、日志分析等
- 完成详细全面的文档,包括概要设计、详细设计、核心技术实现总结等
eblog
用过很多的博客平台,这些博客平台无论样式还是功能都不能定制,因此决定搭建自己的博客,实现完全自定义样式和功能。考虑购买服务器、域名,再从界面设计,到后端实现。应购买的服务器性能一般,因此eblog尽量做到节省资源,做一个小巧实用的博客平台。
后续,项目将继续作为性能优化的实践平台。
大家如果想搭建博客,可以完全使用本项目。
项目有以下特点:
- 前后端分离
- 数据库使用了mariadb
- 前端使用vue
- nginx作为代理
- 使用docker一键部署
- 轻巧实用
项目重点是突出实用性。
计划
- 进一步优化性能
- 进一步节省资源
- 做到实用
结束
未来,仍然继续开发上述三个项目,并写各种文档,旨在提高技术水平、实现个人想法、作为工作参考。
希望上述项目能给大家带来帮助。
计划