熟悉掌握 Java,熟悉 OOP(⾯向对象编程)、IOC(控制反转)、DI(依赖注⼊)、AOP(切面编程)
熟练掌握多态、继承、装箱、泛型、注解、反射、自动资源释放、I0 流、常见集合等 Java 特性
深⼊了解 Java 中的多进程、多线程、线程间的同步机制、锁、内存模型、类加载机制、垃圾回收等概念和原理
熟悉掌握基于 Spring 的 Web 开发,熟悉 RESTful 架构和 MVC 的开发模式
熟悉掌握 MySQL、Redis 的使用,理解数据库的⼯作原理、事务和锁
熟悉掌握 Linux 发⾏版 Ubuntu 操作和开发环境的搭建
深⼊了解 TCP/IP 协议,熟悉 HTTP 协议、⽹络编程,实现过基于 Socket 的 Web 服务器
熟练掌握 Git 和 SVN 版本管理
深⼊理解 HTTP、证书体系、数字签名、中间人击、对称加密、非对称加密、SSH 登录的实现原理
深⼊理解 CSRF 攻击、XSS 攻击、SQL 注⼊的实现与防御
熟练掌握前端技术 HTML、CSS、JavaScript、AJAX、Express 后端开发
| 自制 MVC 框架和 HTTP 服务器
技术栈:Java + MySQL + HTTP + Socket
- Web 框架采用 MVC 架构 进行代码分离
- Model 模型层使用了基于 FileInputStream 的数据读取和基于FileOutputStream 的数据持久化。
- Controller 控制器层使用 HashMap 和 Method Reference 实现路由分发、自定义请求和自定义响应封装。
- View 视图层用 FreeMarker 封装单例染模板生成。
- HTTP 服务器
- 服务器实现了 HTTP 请求接收、解析、生成、返回。
- 底层直接通过 Socket 实现 TCP/IP 通信。
- 通过多线程实现并发访问。
- 根据 Session 原理自制 Session 存储用户会话信息。
- 基于该自制框架,实现了微博和论坛系统项目: 用户模块和权限验证,Cookie/Session,密码 Hash 加盐,帖子和评论的增删改查功能。
| MVC 多人用户论坛
- 技术栈: Java + SSM (Spring + Spring MVC + MyBatis) + MySQL + Linux/Ubuntu + Tomcat + Redis + Nginx + JavaScript + AJAX
- 主要功能:
- 用户模块、登陆注册、权限、密码找回、个人主页和个人信息管理。
- 话题的编辑、发布、删除、以及评论。
- 采用了业界主流的前后端分离模式,前端使用了主流的 Ajax 请求数据开发。
- 选用 Spring Boot 自动配置,Spring MVC 作为框架,Tomcat
- 作为 Servlet 容器。
- 数据存储使⽤ MySQL,ORM 使用 MyBatis 项⽬部署使用 Nginx 作为反向代理,处理静态资源缓存压缩,处理 HTTPS。
- 对变动频率较低的数据进行基于 Redis 的缓存优化,密码找回邮件发送实现异步非阻塞发送。
- 实现对 CSRF、XSS、SQL 注入攻击的防御。
|游戏引擎
- 基于原生 JavaScript、Canvas,实现了场景加载、动画演出、粒子特效、场景移动等功能;可以动态调整游戏数据
- 在游戏引擎上完成了打砖块、飞机大战、Flappybird、马里奥等游戏