这半年来我都学了什么?这是一个揪心的问题。毕业那年我开始接触了Vue Or React ,去年一年估计都是在摸索Vue 和 React 在项目中遇到的各类坑,在去年的尝试中,我发现React是符合咱们团队技术核心。php
同时在去年的时间里我几乎试了 Thinkphp5,Laravel,Yii2 作差很少的项目,在今年中询,最后仍是选择了Laravel,由于laravel的升级和扩展都作的比较好,thinkphp不是很差,就是在某些设计模式上作的没有laravel好,Yii3明年也准备出了,而已底层框架也要重写这个也将会参考laravel的来作。在这么久的尝试中,我最后仍是选择了laravel,不管在框架和生态都是咱们这里小团队须要的。小团队没这么多时间造轮子。html
这也是在去年一年里面总结出来的。前端
在过往的一年里咱们一直使用的虚拟机共享文件到本地里开发的,缘由在于使用linux开发并不实际,若是你是纯后端人员使用linux彻底没有问题,我这里指的是deepin。若是你要一个前端使用linux那就有问题了。在使用虚拟机开发后,我发现前端在使用npm i 或者 yarn install 的时候有时候会出现莫名的错误,谷歌了好久后发现是虚拟机共享文件的io问题。须要使用ssh连接到虚拟机里面进行操做。在去年已经了解过docker,不过那时候github的代码并无这么多,几乎仍是停留在dockerFile那个年代,那时候docker的使用操做不太适合咱们的团队。vue
直到今年,发现环境统一的问题,每次都要配置nginx,和hosts这些复杂的操做后,我以为从新拥抱docker,刚刚今年的docker几乎都已是docker-compose 的用法了,我大概下载了4个开源的php环境,而后看着docker-compose.yml 后大概已经明白了用法。接下了的就是为团队编写一个方便的docker服务器环境。java
就有了如下的东西了node
随着业务的基础后,之前知道swoole这个东西,那时候的swoole还停留在2的这个阶段,那时候的据说作socket还有性能都不错,可我并无打算用swoole来从新公司的服务底层架构,因为php-fpm的io读写机制,致使laravel在后面的性能上会不理想,在这个时候你们通常会提出负载均衡和分布式的方案,php-fpm作微服务是不可能的啦,但是以上的方案对于咱们小团队来讲成本并不划算,知道swoole能够用来承当服务器。因此搜索了一下后发现有laravel-swoole这个包,而且支持swoole4。jquery
大概配置了一下后,使用wrk 测试后,发现性能比原来的php-fpm快了40倍左右吧,在这样的性能下,对于咱们来讲是零成本提高性能,算是比较满意啦。linux
因为本人一直使用的是ORM来作数据库的操做,因此SQL的能力并非很厉害,mysql的性能和优化一窍不通,一台服务器彻底作不了读写分离这个概念,若是用docker是能够,但是意义不大,既然用了Swoole,Swoole既然能够掺注内存中,那么.net 和 java 这里说的数据库链接池在swoole也能实现,固然node也有这样一个概念,但是node的回调用法老让我距的怪怪的。webpack
SMProxy 是一款基于swoole作的数据库链接池工具,目前来讲是开源,我并不知道之后会怎样,哈哈哈。
使用起来也比较简单。在一番配置完毕后,发现的mysql的性能提高了3倍左右。SQL所有走ORM。
以上是后端和环境的配置环境处理。
在个人团队中,目前来讲就我一人是前端,工做了是比较麻烦的,由于如今已经进入了多端年代了,目前尚未打算搞App端,这让我感到轻了一口气,目前有手机端,PC端,还有小程序端,这三端都是由我一人维护。手机端使用的vue,pc端使用React + Jquery的,小程序目前只有微信,直接用原生
如今pc要作SEO操做,之前用React写的程序效果是不错,但是SEO并不支持,之前在开源中国看过Next.js这个东西,而后在一番入坑后总结出如下文章内容
React 单页程序 转 SEO 渲染踩到各类深坑。
Next.js 算是成本比较低的一种作法,但是坑也比较多。不过先用这吧,总之比你用node 重写要好,固然如今已经使用了swoole那么php 的渲染性能也不成问题。
因此我在默默的作一件事情,参考了一个广州好朋友之前公司的一个政府项目,而后多页面的项目管理工具就变成如下的一篇文章了。
webpack + gulp 传统 多页面搭建
这样作能够用http-server来作前端服务器,也能够直接打包成多页html代码改后端套页面,比较如今的后端一大部分都会jquery 和基础html。
Mock.js这个东西是用来模拟数据的,但是用在传统代码中,就显得不太优雅,我如今计划是要用laravel belad 模板引擎的语法 + Mock.js来打包出一个给到后端直接套用的东西,目前阶段只是完成了打包成 html 这个阶段。不过不要紧,有问题就去解决。
PC端暂时先由我这样来维护吧,同时也要完善以上内容。
手机端,使用的是有赞的ui框架,不过vue写出来的ui框架都有个同步,就是扩展太差了,不像React那样继承就能重写。
Vue能踩的都是那些坑而已,不懂就谷歌罗。
只是在目前滴滴公司出的多端框架还行,就是目前的ui组件太少了,还不完善。还要等等在作,打算用滴滴的框架管理手机端和小程序端。
接下来讲说socket问题,socket能够说是比较重要的一个知识点,固然由于小程序的缘由,你只能选择websocket了,作websocket里面你有不少,作的比较好又简单可能就Socket.io了,由于他是一套东西,加上Swoole也支持这个东西,固然Swoole也有他的客户端,既然这样的话就能够用客户端去通知Socket.io的服务端,固然你也能够用Swoole来作服务端,但是我想说的是json是javaScript的利器,因此服务端我最后仍是选择了Socket来作团队的服务端,缺点嘛,就是仍是要我来维护。
Socket.io我也总结出的如下内容
Socket.io 快速搭建 和 注意事项
最后说说
API网关还有数据库备份这个问题
api网关吧,这东西就像你调用微信接口同样,有次数,有目的,有防护。
因为本人不太懂JAVA 因此也只是简单配置一下 Kong 这个东西
效果仍是比较好的,至少不过别人一直刷你的程序。
由于好一点的同窗能够来了这里看看
如今使用了docker来作服务框架,有时候直接打包mysql-data 就行了 ,有时候就是打包镜像,但是发现一个问题就是空间愈来愈大,去年简单学习了一下Hadoop这个东西,知道facebook出了一个叫Hive能够用了数据库仓库,基于hadopp的存储原理,数据的丢失量不会太大,正在考虑这么处理。后面使用MQ来把数据写入到Hive里面。
以上是上半年对项目的业务和技术调整
我就是一枚 94年的代码搬运工,我叫傻梦兽。 苦逼….