使用开源软件不能像看美丽的姑娘,只看优点,一定要能Hold住

一、多年的代码搬运工

这么多年程序员,包括自己和大部分同学,都是搞定各种业务,没认真读过什么开源产品,创作开源产品了。就是那句经典的广告词,“我们不生产代码,我们只是代码的搬运工”

不重复造轮子,方便很多,节省人财物。飞速的业务用着开源轮子跑得飞快的,正在爽歪歪的时候,轮胎漏气怎么办。。。。

好比相亲找对象。相亲对象一定是打扮的漂漂亮亮,表现的温柔,贤惠。基本上把所有的缺点都藏起来了。这时候你就一定得了解清楚,她有哪些缺点而且能接受了再进行下一步。

使用软件也同样,看官网介绍都是功能丰富,不能看了优点很不错,就上。找不到埋坑的方法绝对能熬掉一大把头发。

二、入坑分享

使用开源软件不能像看美丽的姑娘,只看优点,一定要能Hold住

1、无敌难搞的编辑器

使用开源软件不能像看美丽的姑娘,只看优点,一定要能Hold住

10多年前搞asp,自己在一家建站的小公司。大部分项目都是套用一个后台搭建的。编辑器就是采用的别的后台扒下来的,能用,但谈不上好用。结果有个客户非要在编辑器加个锚点(类似于目录)的功能。那是真不会呀。相关的js书很少,更别提介绍文本编辑器的部分,自己又菜,命苦。只能硬着头皮去找图书馆找相关资料。后来知道了在js里面有Range 对象这么个玩意。算是经过一个月的时间搞定了。

后来的新的公司又搞编辑器,采用了fckeditor现在叫(ckeditor)。文档全是很全,全英文。还好很规范,看下源码和文档可以开发插件。经过前面的坑和学习。若干年后公司要开发富文本评论。虽然不好写。但还是拿下了。 ( ps:几年前专业的js工程师很少的,都是后端兼着写。还有tm的一堆不兼容的浏览器。现在很想写前端,就是为了弥补多年来写的alert。浪费了多少青春年华。跑题了)

2、lumen和php的event的扩展不兼容

使用开源软件不能像看美丽的姑娘,只看优点,一定要能Hold住

第二个分享下2019年使用的workman的入坑过程,因为要做收银Pos机的长连接,

从swoole和workman中选择了后者。官网介绍做长连接杠杠的。小弟也说没毛病。

小弟开始开发,开发完成后上线。(开发人员在本地开发,未完全按文档优化)

等业务Pos超过2000个的时候,感觉需要优化,官网介绍如果超过1000个必须要安装event的扩展。官方文档介绍一句话如下:

如果业务并发连接数超过1000同时在线,请务必优化linux内核,并安装event扩展或者libevent扩展。

那就安装呗,安装完成,重启php-fpm后大量的报错信息。

坑点出现:安装的event扩展和使用的Lumen框架冲突。

 [ErrorException]  Cannot declare class Event, because the name is already in use

国内的某度搜索了一大圈,也没有解决方法。只能先把一台单独的业务机来跑workman。

虽然平稳的跑了4个月。但只是一台服务器会造成单点,如果再部署一台会造成资源浪费。本身一台服务器的负载也不高。

趁着疫情期间又重新开始寻找解决方案。经过一天的搜索,还是在laravel的官方代码的Issues找到了解决方法,(又废掉一大把头发)

  • 怪自己笨, 只查某度
  • 也怪自己对Laravel底层不熟悉
  • 没坚信自己遇到的98%的技术问题别人都已经遇到过了
  • Lumen Version: 5.5.2https://github.com/laravel/lumen-framework/issues/671 的最底部$app->withFacades(true, [ 'IlluminateSupportFacadesEvent' => 'LumenEvent',]);

    亲测好使,苍天呀,大地呀。解决了一块心病。

    后来看这个issues是2017年的,原来国内很多程序员找问题解决方法都不去官网看,不好的习惯。

    三、入坑前友情提示

    1、适用版本限制性

    比如有的php框架很好,但只支持php7某个版本以上。这时候如果要使用可能就得统一升级版本,这部分工作量也一定要预留出来时间。把利益平衡向领导汇报清楚。

    2、哪些功能不支持

    任何新项目都不是万能的,提前搞清楚领导和需求方对新项目的预期。不至于新的软件上线后达不到预期也会被大家狂喷。

    3、使用的是否是长期支持版本

    比如:Laravel 有两个版本类型:

    1)长期支持版本 – LTS 版本,英文 Long Term Support 的缩写,此类版本是 Laravel 能提供的最长时间维护版本。

    2)一般发行版 – 只提供 6 个月的 Bug 修复支持,一年的安全修复支持。

    一般来说,长期支持版本至少会被维护两年。

    4、出现问题,自己或者团队多人是否能Hold住

    项目在不同的环境下出现不同的问题很正常,如果自己不能hold住,又得傻眼。

    原来用过ttserver,但团队一个人张三在研究,结果一天他正好不在,又停止服务了。一个小时打不通电话,傻眼了。比如重启都不知道怎么搞,那还是要慎重呀。(形成文档很重要)

    5、版权问题也不容忽视

    作为小弟不能随便搞个看着功能强大的框架就开整,有很多软件只对个人免费,等你的二次开发

    搞完,刚作为商业项目上线就被人家起诉。老板估计想抽你一大嘴巴子。

    每个软件都有深藏不漏的bug,和坑。你在使用开源软件的过程中熬掉了多少头发呢^-^?

    来源:程序员涛哥

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2020年2月2日
    下一篇 2020年2月2日

    相关推荐