十分简历是咱们的第一个做品,这是一个微信小程序,用于生成漂亮的简历模板。前端
同时,考虑到用户的隐私问题,增长了私密简历功能。面试
那么,到底什么是私密简历呢?数据库
在传统的简历投递中,一般HR会将咱们的简历打印下来,面试完成后,会留下面试者的简历。这在必定程度上可能形成用户的私密信息泄露。私密简历但愿能够解决这个问题!编程
相对传统的纸质简历,私密简历会生成一个专属于你的我的简历连接。经过这个私密简历连接,HR能够实时查看你的简历。你能够在小程序中设置一个简历过时时间,到达过时时间后简历会自动回收。为了进一步防止其余人查看你的简历,你还能够设置专属于当前私密简历的阅读密码。小程序
与此同时,你还能够经过小程序随时开启或关闭当前私密简历。关闭后,将再也不容许任何人查看当前私密简历,直到再次打开。后端
事实上,我最感兴趣的部分,刚好就是私密简历的开发。由于,确实存在一些公司的面试官会将用户的纸质简历随地丢弃,这就形成大几率简历内容泄密问题。微信小程序
不过,确定有人会说,如今的HR一般都会要求打印纸质简历,又有什么办法呢?全部的进步固然不是一时间能够改进的,也许将来这样的状况会随着这类产品的普及开始变得不同。我坚信,传统的纸质简历终究被遗弃。安全
十分简历的点子来自于以前团队的一个小伙伴,当时,公司刚刚成立,我但愿用一个小而精的产品宣告公司的诞生,同时展现团队强大的开发实力。微信
所以,公司成立后的第一件事情,就是号召你们天马行空,思考第一个链接公司与世界的产品。最后发现,这个简历产品的思路有点意思,并且也不至于太过于复杂。因而,这个产品就成为了咱们链接世界的第一个做品。架构
确立了产品原型以后,真正的挑战开始了!
后端开发是咱们面临的第一个挑战。事实上,个人第一份工做就是后端开发,而且进行了将近一年的时间,确实有必定的积累,但这并不能给我带来很大的帮助。由于,时间已通过去了差很少5年。此后的4年时间里,我一直从事移动平台软件开发。关于后端的知识点,大抵忘记了,如今捡起来,难度很多!
并且,时间过去了这么久,以前的技术也慢慢地被淘汰了。为此,我决定从新开始!
第一步:肯定技术选型
这一步我选择了相对麻烦、但已经实践成熟的解决方案:
第二步:解决路由网关难题
在路由网关的技术选型上,最终确立了使用Zuul1做为路由网关框架。实际上,还有一个更好的选择是Spring Cloud Gateway。但使用Spring网关须要结合更多的新知识去作,并且还须要本身去处理数据库的事务问题,的确会带来很多的麻烦。加上在当时考察的文章中,发现Spring的网关性能并不能带来本质上的提高。所以,最终确立了以Zuul做为后端的路由网关框架。
在肯定了技术框架以后,第一个须要的解决的问题就是,如何经过一个字段标识路由到不一样的服务层逻辑。例如:经过版本号路由到不一样的逻辑服务层,避免版本之间相互干扰等等。遗憾的是,Zuul的路由处理是静态配置的,这就须要对Zuul进行扩展,创建一个能够进行动态路由配置的网关框架。
在这一部分问题的处理上,从最开始的设计到最终整个后端框架定型,差很少花掉了半个月左右的时间。一方面要考虑动态配置,另外一方面须要考虑到网关的性能问题。经过不断地尝试,查资料,总算解决了这个问题。这个问题的难度,在此次整个产品开发过程当中排名第一。
第三步:整合安全框架
这里的安全架构不只仅指的是数据加密。固然,由于将来会涉及到付费交易,毫无疑问,咱们的数据是进行过加密处理的。但这里,我要说的是,Java安全框架的接入问题。
考虑到将来开发的便利性,我但愿用一个安全框架帮助接管用户权限控制、分配等问题。为此,首选的固然是Spring Security。但实际试用下来,发现Spring Security设计的过于复杂,可用性不高。而且,灵活性也受到了限制,不得不另辟蹊径。最终肯定了使用Apache Shiro做为平台的安全框架。
Apache Shiro从必定程度上规避了Spring Security的很多问题,从一开始阅读文档就能感觉到其简洁的设计。Apache Shiro的接入相对Spring Security就简单了许多,并且可定制性也提高了很多。最终,安全框架接入顺利完成。
第四步:搞定逻辑层编码
实际上,我在早年从事Java后端开发的时候,咱们还使用的是SSH(Spring, Struts2, Hibernate)的组合。而如今Struts已经慢慢地被淘汰了,取而代之的是Spring MVC + MyBatis + Spring。同时,为了进一步下降Java Web开发的难度,Spring官方推出了Spring Boot。相对传统的Java Web开发,Spring Boot几乎能够脱离配置文件,使用注解完成全部配置,亲和力提高很多。 所以,我最终选择了使用Spring Boot来构建咱们的Web应用。但全部的这些对于我而言都是全新的知识点,不得不从从新学习,好在以前的基础还算比较扎实,上手很快。
搞定了后端开发的难题,第二个挑战接踵而至:小程序开发。
团队成员中几乎都没有小程序开发的工做经验。实际上,团队成员中有一位同窗有必定的小程序开发经验。但事实证实,这位同窗的开发经验依然很是浅,并不足以支撑整个小程序的开发。为此,我决定亲自学习小程序,帮助你们完成小程序端的架构。制定小程序开发规范。
小程序的开发难度相对较低,但也踩了很多坑,关于这一部分的经历,我会用另一篇文章记录下来。
小程序开发过程当中,最大的问题来自团队成员,其中一个小伙伴是兼职参与开发。因为学习知识较慢, 同时对本身自信心不够。加上生活的一些杂事,即便分配了足够简单的任务也未能顺利完成,这就致使了整个研发过程被拉长。
最后,在Release的版本库中,我惊奇地发现,我最终参与了70%以上的小程序代码开发。看到这种场景,心中五味杂陈,这显然不是一个良性循环。
这也让下定决心,从明年开始,租写字楼,正式招人办公。兼职员工将由全职员工带队进行工做安排,处理。并适当给予兼职员工必定的资金鼓励。
Web前端开发在此次开发的难度排行榜中能够排名第二。团队成员中,几乎没有一我的拥有前端开发工做经验。其中一个同窗作过极少一段时间的前端开发,所以,我让他牵头开发了第一个模板。
但在第一个模板的开发过程当中,也是不断地磕磕绊绊,走了很多弯路。那一段时间,是整个开发阶段最艰苦的时段,我跟这位同窗天天从早上忙到晚上12点。持续了连续10天左右,没有周末,没有午休。好在终于顺利完成了第一个模板的开发。
模板开发完成后,整个产品的基础形态第一次呈如今了你们的面前。前期因为时间过于紧张,在咱们的产品原型中,并无一个充分的流程能够展现完整。以致于兼职参与开发的同窗们在理解产品的设计上出现了很多问题。这种理解上的问题后来也让我头疼不已,这也是此次开发过程当中得到的宝贵教训之一。
关于Web前端的技术选型,也走了一些弯路。最开始,我考虑使用Vue + TS的组合做为前端开发。最终架构完成后却发现,这个组合对于前端开发的难度提高了很多。这在很大程度上会拖延项目的开发进度。所以,立刻放弃了这个组合。转而使用你们比较容易掌握的jQuery。事实上,模板页做为咱们的单页应用,使用jQuery已经彻底足够了。
肯定了技术选型以后,依然出现了一些问题。因为第一位同窗开发的比较匆忙,没有造成必定的规范。致使第二位同窗接力的时候出现了一头雾水的状况。所以,第二位同窗不得不从新去学习Webpack,从新去设计本身的代码架构,这在必定程度上也拖慢了整个开发进度。
事实上,在整个开发进程中,Web前端的开发比重确实占据了很多。这个挑战的难度在本次开发过程当中应该能够排名第二。
在整个十分简历的开发过程,就像在作一次冒险,全部的知识对于咱们来讲,都是陌生的。咱们须要从0开始学习,刚好是这种从0开始学习的勇气让我更加自信我能够搞定任何事情,不会再害怕第一次。同时,我也坚信,这一次难忘的开发经历,会让团队中坚持到最后的同窗都有了勇往直前、无所畏惧的勇气。
这是一次十分难忘的开发经历,也是咱们第一次勇敢地探索未知的世界,最终克服了重重困难,将十分简历带到了你们的面前。
这不是结束,这刚好是咱们故事的开头!
最后,感谢全部参与十分简历开发的同窗们,为本身鼓个掌吧!大家所经历的,不只仅是开发了一个产品,而是克服了心里对于未知事物的恐惧,勇于踏出第一步。这种收获,必将让大家终身受益!
在十分简历的开发过程当中,有两位同窗中途离开了开发团队。第一位同窗是由于同时在开发另一个产品,时间有限,不能同时兼顾两个产品开发,最终选择了另一个产品的开发。这是彻底能够理解的,这是我的选择问题,也是眼界问题。这样的同窗,在后续团队扩展中,将不会再次接收。由于,有了第一次这样的选择,就会有下一次。这样的同窗不能稳定产出,稳定投入,会由于种种问题摇摆不定。
另一位同窗,由于受不了个人严厉性格,在中途选择了离开。这固然更加容易理解,这样的的离开于我而言,几乎是彻底无感的。相反,若是一位同窗在开发中投入了不少,对团队的奉献很大。忽然选择了离开,对个人打击反而会比较大。而相似这位同窗这样的一个缘由,选择离开。对于我,反而会感受到欣慰,由于即便这样的同窗留下来,也并不能跟我走到最后。他的抗压能力,以及他的意志力决定他不能走的很远。创业的路就像攀登珠峰同样,随时都有掉下去摔死的风险。你也许感受不到你要摔死,我不得不用最严厉的语气骂醒你,你在“登山”,你不该该睡觉!但相似这样的同窗,在后续开发中,做为员工能够再次接收,由于他至少符合稳定产出的条件,只是意志力会薄弱一些,这个能够慢慢改善。
全部两位同窗的离开,都是很是恰当的时机,在团队初期选择离开也是对于团队小伙伴最大的尊重。请离开的同窗放心,我对你们不会有任何的责备,我很是开心你们能够在初期就选择离开了团队,这很重要。就像进行一场计划好的旅行,在旅行前10天就有人中途离场,这其实很好。咱们还能够从新组织同窗加入到这场旅行中来,这是一件好事,我要感谢你们。同时,你们的离开也有利于筛选更优秀的员工。固然,也但愿离开的两位同窗工做顺利,一切顺风顺水。