项目经验小结

简介: 项目经验小结

01 前言

不知不觉来新公司工作也有一年多的时间了(2020.7.7日入职),这个时候也该整理一下项目的经验,看看这段时间积累的一些技能。

02 主要参与的项目

主要参与了如下几个项目:

  • 教育卡项目:基础组件的开发、多个微服务应用以及消息中心运维平台等)
  • 大数据同步:与企微和政数局部门对接数据,从0开始自己搭建框架,巧妙的应用各种设计模式,各种可配置化等技术。
  • 腾讯合作项目:与腾讯教育号业务部门合作的一些系统开发(服务大厅、同安区项目、腾讯教育开放平台等)
  • 其它:某大学的功能开发、运维的支持等细枝末节项目的支持。

整理的脑图如下:

03 项目回顾

接下来,主要回顾的是参与项目的一些内容,主要偏技术栈方面。

3.1 教育卡项目

教育卡项目一开始是主要参与基础组件的开发:

  • 消息中心基础组件:使用到了策略设计模式(自我感觉设计的不好,有待完善,应该弄成一个SDK开发包最好)
  • 分布式锁组件:其实就是基于Redission去进一步封装

然后就开始做一系列的微服务应用开发了,主要是对SpringCloud微服务应用的进一步使用:

  • 学生档案
  • 健康上报
  • 会议预约
  • 等等。。

这里,最主要的要说下消息运维中心平台(偏设计)。

3.1.1 消息运维平台

消息运维平台从头到尾都有自己亲自设计,在这个过程中,我学会了:

  • Axure并发出了相关的教程
  • SpringSecurity的进一步理解
  • 服务保护的一些应用设计(限流、降级、熔断、黑白名单等)

下面贴下我自己设计的架构图:

原型设计部分截图:

因为领导的职位调动,走到这一步项目就不了了之了,实属遗憾!!!

3.1.2 技术栈

教育卡用到的技术栈还是相当的主流的,如下:

  • SpringCloudzuul-gateway(网关)、FeignRPC远程调用)、Sentinel(服务保护)
  • 中间件RabbitMQ(数据同步)、nacos(服务发现与注册、分布式配置中心)、Redis(缓存)、APM监控(Kibana可视化界面)
  • 部署Maven生命周期、Docker Swarm 自动化部署、GitLabJenkins
  • 腾讯云:短信、云服务器、COSMongoDB(费用太高了,没使用)、MYSQL

以上的技术栈相信已经是互联网的主流技术栈了,还有其它的,大家可以评论留言😬。

3.2 大数据同步

大数据同步这个项目是真正发挥我自己能力的一个项目,主要经历了:

收集需求 -> 原型设计 -> 项目架构 -> 项目编码 -> 测试 -> 上线 -> 运维 -> 客户沟通 -> 操作文档这些一系列的传统开发流程。

这个项目基本都是一个人在完成,下面来详细的整理自己做了哪些工作。

3.2.1 开发前

在开发前,调研了项目的可行性研究,并针对性选择相关的技术来设计目前的框架。主要用到了一下工具:

  • 腾讯会议
  • 在线文档showdoc
  • 排期(在线wps
3.2.2 项目架构

使用maven的生命周期特性来进行合理的架构分包,别的项目依赖即可调用,十分方便。里面用到了大量的设计模式,例如观察者、策略者、责任链等等,简单架构图如下:

可配置化主要在数据库里配置,程序核心的配置直接读数据库,在程序不重新启动的情况下,直接配置数据库即可对整个项目进行控制。

备注:本来我是打算自己使用vue来弄一个前端的,奈何没有资源方面的支持,所以只能通过数据库来配置了。

3.2.3 上线部署

项目开始,是直接部署到云上的windows服务器的,跑起的服务总是占用CPU90%以上,而且还会被其它人关闭,因此后来改变了策略。使用:jenkins + centos的模式上线部署了,每一步的搭建都是由自己一步一步完成,整个过程真的很不容易(主要是要耗费大量的时间)。

这里jenkins部署的流程就不讲了,有需要的可以看我的博客,有相关的文章记录。

3.2.4 技术栈

当然这里使用的技术栈就很多了,除了大量的设计模式来遵循六大原则,还使用了多线程,并对多线程有进一步的了解,也初步掌握了基本的线程调优,这些也是需要自己平时大量的去积累编码才能熟透用透的。

3.3 腾讯合作项目

与第三方腾讯合作也是我平时的工作之一,主要也做了一些对接的工作,顺便了解了他们的架构。

3.3.1 教育号SaaS平台

也许是直属领导的安排,这一部分的工作较为核心,我没有过多的参与。但是我也有参与,并了解了其基本的工作(其实学不了什么东西,就是腾讯接口的API调用及CURD的操作)。这些都不重要,一般人弄个一两天就回了,所以我没有过多的关注,我更加看重的是腾讯云的架构。

现在的互联网,更多的都在讲 “云计算”,下面我贴一张腾讯云的架构图(转载联请联系博主!),主要知道“SaaS”、“PaaS”、“IaaS”这些概念:

3.3.2 云图平台

除了云计算,现在主流讲的是“低代码”,低代码也就是**“0代码”**的意思,无需编码即可实现界面的设计。参与的内容就是一个大屏项目,主要通过拖拽控件,然后关联控件,通过关联数据库的数据来实现配置。在这里不想多说了,都是别人的产品,详情可以参考:https://cloud.tencent.com/document/product/665

3.3.3 腾讯教育开放平台

不得不说,腾讯真的是想做大自己的产品的,它们自己做了一个产品,叫“腾讯教育开放平台”,这个平台主要是为 “教育号”而生的,就是“教育号”SaaS平台的一个API管家,SaaS平台里面的每个应用可以在“开放平台”开放自己的API接口给其它SaaS平台应用去调用。也在里面配置过相关的接口,其实如果要实现起来也是不难的,较为复杂的只是 “权限校验+接口映射”,也没其它的了。

3.3.4 一些SaaS应用

在 “腾讯教育号” 的大平台下,也做过不少的应用,例如:

  • 成都服务大厅(网站群)
  • 成都人事系统
  • 厦门同安区项目
  • 等等。。。

上述没用到什么技术,不过能让自己提升的可能就是一些自动化脚本的编码(例如:前端打包脚本,因为项目是单体的,没有做分布式)。

3.4 其它

剩下的,就是一些细枝末节项目的支持了,主要做了某大学的“后勤管理系统”及“宿舍管系统”的业务开发。

还有一些运维的工作,下面是自己整理的一张“腾讯云”运维的思维方向图,如下:

运维这一部分的工作,由于运维负责的相关方(只有一个人)消极工作,频繁的请假与推式沟通,也没从他身上学到什么。主要是太多重要的信息都给他掌握了(比如账号密码这些),实属郁闷,也无人协调,也许这就是弱矩阵的组织结构吧。

可能在本公司也没机会去接触的了,到时自己再系统的过一遍吧,当做增加自己的技能。

04 文末

在这一年多的时间,可以看到自己在 “教育卡” 以及 “大数据同步”这两个项目学的东西是最多的,进步也是最大的,后来跟腾讯对接(也许是更换了领导)明显感觉到学的东西没啥营养了(频繁的CURD)。

希望自己在接下来职业生涯里能学到更多的知识,掌握更加全面的技能,当然这里的 “知识” 不仅仅是技术方面的,而是在自己的行业里,从0开始到整个项目的后期运营(这里涉及到了PMP了,哈哈),并为自己将来的目标做好铺路。

目录
相关文章
|
7月前
|
安全 前端开发 开发者
干货!6个方面,32条总结教你提升职场经验
本文提出了职场成长的建议,包括不要依赖“新人”身份,撰写技术博客促进成长,阅读《金字塔原理》和《高效能人士的七个习惯》等书籍,积极解决问题,不沉迷于忙碌,长远看待得失,拓宽知识领域,保持好奇和热爱。日常工作要注重质量,主动规划,良好沟通,避免传播负面情绪,理解和尊重上级,学会被管理。培养定义问题的能力,以价值、结果和问题为导向思考,控制情绪,以及成为他人的追随者而非仅仅管理者。
|
SQL 算法 前端开发
面试IT技术岗的技巧
面试IT技术岗的技巧
|
7月前
|
SQL 存储 JavaScript
蓝队面试经验详细总结
这篇文稿概述了多种网络安全漏洞和攻击方式,包括SQL注入、XSS、XXE、文件上传、文件包含、命令执行、CSRF、SSRF、信息泄露和中间件漏洞。
71 0
|
7月前
|
数据库
项目经验总结
做项目的一点小心得
122 1
|
SQL 安全 fastjson
Hvv,面试经验
Hvv,面试经验
380 0
|
程序员 测试技术 开发者
项目经验!
技术人生
75 0
项目经验!
|
存储 移动开发 前端开发
关于项目经验的
关于项目经验的
|
机器学习/深度学习 存储 Cloud Native
如何在工作中快速成长?致工程师的 10 个简单技巧
精英人数的增长速度持续加快后,很多人开始焦虑,我也焦虑,深知要走出焦虑不容易,我想把走出焦虑快速成长的认知和方法写成文章分享给更多人,做成【技术人成长系列】文章给更多人面对面分享,该系列总共三篇,分别是《完成自己的认知升级》、《自我成长的方法》、《学会自我培养或培养他人》。本文是快速成长第一篇:“完成自己的认知升级”,内容偏长但值得仔细阅读。
如何在工作中快速成长?致工程师的 10 个简单技巧
|
SQL 监控 前端开发
面试时如何介绍自己的项目经验?
面试时如何介绍自己的项目经验?
363 0
|
缓存 程序员 测试技术
从校园到职场 - 面试官是怎么看简历里的项目经验
  知识星球里有人吐槽,说一些名校毕业生的项目经验,明显都是刷出来的,前一年一水的电子商城,今年一水的秒杀系统。   我相信每个应届生都会面临这个问题,简历里希望填充一些可以让用人单位高看一眼的项目经验,校方或某些第三方机构可能会给一些实习项目,帮助学生攒这样的项目经验,甚至可能已经是一条龙服务,学生只要跟着项目按部就班的做一点基础工作,就可以堂而皇之的把经验写入简历,并希望作为就业的敲门砖。   那么,今天,说一下,作为面试官,是怎么看待这些项目经验的。   当然,面试官有很多种,我只以我为例,我认为自己应该具有一定的代表性,但不要苛求普适性。
131 0