2018年技术成长总结

2018年是我工作后的第一个完整年,总的来说,今年的技术成长是令我满意的。技术成长主要得益于两方面,一方面在公司里参与了十分优秀的项目,另一方面在业余时间阅读了很多技术书籍和专栏,学习了一些教学视频。

下面分别从业务领域、编程语言、编程框架和工具和其它等方面列举出今年的学习内容:

业务领域

  • 《渗透测试实践指南——必知必会的工具与方法》
  • 《Metasploit渗透测试指南》
  • DVWA及WebGoat漏洞应用攻击演练
  • 《Kali Linux安全测试》——安全牛课堂教学视频

编程语言

  • 《Java编程思想》
  • 《Effective Java 中文版 第2版》
  • 《Java 8实战》
  • 《Java并发编程实战》
  • 《深入Java虚拟机》
  • 《Java核心技术36讲》——极客时间专栏
  • 《像计算机科学家一样思考Python》
  • 《CSS设计指南》
  • 《JavaScript忍者秘籍》
  • 《正则表达式必知必会》
  • 《MySQL必知必会》

编程框架和工具

  • 《Java Web编程技术》
  • 《深入剖析Tomcat》
  • 《Spring实战》
  • 《Spring Boot实战》
  • 《Spring微服务实战》
  • 《微服务架构核心20讲》——极客时间视频课
  • 《Netty实战》
  • 《Maven实战》
  • 《Pro Git》前三章

其它

  • 《从0开始学架构》——极客时间专栏
  • 《图解设计模式》
  • 《鸟哥的Linux私房菜 基础篇》
  • 《大型分布式网站架构设计与实践》

在有了一点知识积累之后,头脑里总会冒出一些想法,比如做一个能够搭建较复杂网络拓扑的主机运维工具,于是开始了一个个人项目——Injector,这个项目目前正在开发中,还有很多功能尚未实现。

Injector项目主要包含Commander、Trojan和Payload三个子项目,其中,Commander项目提供Commander与Commander之间、Commander与Trojan之间的双向通讯和管理功能;Trojan项目利用JVM进程注入技术进驻到JVM进程中,接收,解析,编译并执行Commander发送的Payload,并在收到指令后尽可能完成对Payload的卸载(这里的卸载是指由Trojan加载的Payload中的字节码被JVM垃圾回收,通常来讲,这是比较困难的);Payload项目承载了Commander希望被Trojan“感染”的JVM执行的任务。

Commander交互式命令行界面.png

下面的几张图可能更有助于表达Injector项目的功能模型:

Trojan进驻JVM后,主动向Commander建立双向连接,连接通道可用于传输Payload或传送指令与消息(JVM的颜色为红色表示被Trojan“感染”).jpg
Trojan能够完成或尽可能完成对Payload的加载与卸载.jpg
使用Commander和Trojan能够搭建复杂的网络拓扑.jpg

2019年上半年技术目标

结合公司项目需要和个人兴趣,2019年上半年的技术方向应该集中在Web前端,包括掌握至少一种当前主流的Web前端框架,能够使用Web前端框架搭建一个简单的网络聊天室或者一个功能类似于WebGoat的产品的前端界面。

2019年上半年的技术关键词是实践

你可能感兴趣的:(2018年技术成长总结)