- 博客(43)
- 资源 (1)
- 收藏
- 关注
原创 直播、视频会议、屏幕共享—RTC实时音视频各大平台如何选择
最近在做一个聊天项目,除了简单的图文交互,逐渐接触到了直播,音视频通话,音视频会议等功能。开源的直播和音视频会议有好多解决方案,但是了解得越多,发现音视频服务涉及到的技术越来越深,自己和团队有些hold不住,像什么服务端混流,转码,编解码,美颜,去噪,加速等。小团队就几苗人,即时开源方案搞起来,用户体验也不太好,后续遇到问题也不好解决。于是考虑商业解决方案,目前有实力做音视频服务的也都是一些传统互联网平台企业,比如腾讯云,阿里云,华为云等。最近被马斯克捧起的Clubhouse据说由一家国内企业背后做
2021-03-01 13:25:24
2491
原创 WIFI路由之神器openwrt
openwrt路由器上的开源操作系统,我们可以对其进行定制,然后刷到路由器上。路由器性能可以,作为小型服务器no pro。扩展功能丰富,代理,防火墙,网盘,内网穿透,wifi路由等等。在此不做openwrt的编译叙述,有现成的固件可以下载。1、安装好vmware openwrt之后,2、添加两张网卡,一张nat(内网),一张bridge(外网)3、启动虚拟...
2020-08-20 10:17:27
4445
原创 IT公司技术线晋升,答辩PPT如何准备?Don‘t be shy!
震精了!好消息是今年单位职级晋升有机会申报了。坏消息是,今年晋升还得进行答辩。作为本分干活的码农,往年有机会申报都得领导首肯了,才敢报。今年其实早就看到公司发的通知邮件了,我都没有在意。也许是基础工作做久了有种离不开“土地”的情结,我想大部分码农都会有类似的想法。人家领导都没说啥,你自己就申报,申报了给你打回来,说不定再骂你一通,自讨苦吃呢!但是如果你勤勤恳恳干了不少工作,有机会不争取,对得起自己对得起家人吗!所以,如果你觉得自己对得起你的这份工作,那就必须争取一番,被驳回也在所不惜。面子重要还.
2020-08-17 22:14:35
4928
1
原创 springboot+springcloud从1.x+Dalston升级到最新2.x+Hoxton
有了springboot从1.x升级到2.x的经验,以为springcloud也就是换个版本号的事,实际上还是经历了一些波折。spring官方不会保证SpringBoot和SpringCloud不同版本的兼容性。要升级,先看springboot与springcloud兼容版本,要不然各种幺蛾子。SpringCloud版本 SpringBoot版本 Hoxton 2.2.x 2.2.x Greenwich 2.1.x 2.1.x Finchley 2.0.x .
2020-07-23 17:23:55
459
原创 springboot1.x升级2.x,很丝滑
初识springboot时,她还年轻:1.5.2.RELEASE,后来项目一直基于该版本做迭代,现在已经过去2~3年了,趁她还没有太丰满,还能闹动,做一次架构升级吧。很庆幸spring社区一直很活跃,版本更新很快,而且对老版本支持也不错。项目使用的开源组件不少,最近fastjson等爆出不少漏洞,乘机也都升了。经过一番了解,选了一个不是太新的稳定版本:2.2.8.RELEASE。org.springframework.boot 1.5.2.RELEASE ..
2020-07-23 16:41:11
729
原创 从乌东德水电站深入程序日志的世界
超级技术二:降温神器 预埋温度计+喷雾机+冷却水管超级技术三:大坝“天眼”防止坝基山体渗水的1万多个灌浆孔超级技术四:护坡神器主动网 蜘蛛人的奉献超级水电站!世界最大绿色能源工程基地要来了!注意:超级电站设计人员在工程设计时,就考虑到了系统在未来会遇到的风险,然后主动设计预防措施,而这些预防措施都离不开传感器:温度计,湿度计,水位/震动感知等等。作为码农,我们在做系统设计时也会考虑到未来的风险,而我们的“传感器”来自日志监控系统。这也是一个健壮的系统离不开日志系统的原因。日志的作.
2020-07-11 20:02:10
313
原创 CAS认证与USER认证并存,和谐集成
我们一般系统只用一种用户认证方式,但是随着系统越来越多,尤其是内部系统需要一种互信机制,so cas袭来。所谓认证,就是过滤器filter+凭证realm。cas客户端认证流程图,看起来简单,实操起来没那么简单,还是用文字分步骤拆分出来更加清晰。常见问题:cas客户端登陆,循环重定向,导致浏览器挂掉realm 登陆凭证,可以有多个authFilter 认证过滤器,与url相关,可以配置某个url走不一样的认证过滤器关联某个realm,并设置了登陆页地址其中casFilter还配置了c.
2020-06-25 00:52:24
559
原创 POI读取/生成Excel大文件,有高人吗?
最近在搞一个通用文件处理服务器,需要处理excel文件,但是有的excel文件大小超过3M,读取文件时直接导致jvm异常:gc overhead limit exceeded。原来poi读取excel时有两种模式,我们常用的是第一种,通俗点就是空间换时间/时间换空间:1种直接将整个excel读入内存后再解析userModel1种边读取边解析,比较省内存event-userModel首先加大jvm内存参数针对excel大文件读取,采用第二种模式来处理可以有效避免常见内存异常,但是得加上文件.
2020-05-30 21:33:06
584
原创 pattern匹配和不匹配执行效率天差地别,JAVA的正则表达式慎用
需求:给定文件命名格式,给定目录,列出其下所有满足格式的文件。格式:YYYYMMDD_单号_USER_XXXX.xlsx为了做到通用性,计划用正则表达式去匹配。^2[0-9]{7}_(.*){1,}_USER_[0-9]{4}.(xls|xlsx)$目录下都满足条件还好,很快匹配上了。20200512_0011_USER_0001.xls20200512_0011_USER_0002.xls20200512_0011_USER_0003.xls但是运行一段...
2020-05-30 20:50:29
1683
原创 码农为啥选择离开?戳中软件公司要害
“法海”你不懂爱,码农眼泪掉下来!如今大多数企业的信息中心部门的职能还停留在业务支持的程度,是为企业的业务部门提供IT系统支持的组织。这也造成了这些企业的信息中心部门的员工,更多的是承担甲方项目经理的职能,很多事情本质上都是偏事务性的工作,也就是这样的工作并不会随着工作时间的长短而让人的能力得到持续性提升。这种以项目为导向的方式,使得信息中心的员工往往一个项目上线后,就会投入到下一个项目的工作中,对员工在业务或专业能力上很难得到持续的积累和沉淀,结果就是员工的积极性和创造力在逐渐被消磨,整个信息中心部
2020-05-30 19:24:41
278
原创 为啥“运营”越来越火?“后台”必须硬
易经:穷则变,变则通,通则久。中台建设这两年比较火,所谓中台,共享中心更易理解,的建设必然要求技术团队组织架构的变革。传统的项目制大兵团作战,逐渐转变为以小团队特种部队探路,引导后端强大火力持续输出攻击。阿里在构建了共享服务体系后,对于各技术团队组织架构也做了调整。每一个微服务中心的建设,会有不同角色的人(架构师,开发人员,ued工程师等)组成的一个新组织,每个这样的组织都针对某一个服务中心提供持续的服务能力开发和运维,更准确的说是基于这一服务中心的业务能力进行“运营”。每个小团队围绕服务能力持续运营
2020-05-29 01:13:38
424
原创 简直了!10年难得一见的Tuxedo服务异常
`tuxedo服务在电信金融系统中广泛存在,但在马爸爸互联网飓风的席娟之下,曾经的辉煌已然不在。但作为重量级遗留资产,仍然在困扰着运维的同志们。莫名的异常,经常被搞得彻夜难眠!异常背景最近5G需求上线,版本更新了个cpp,就加了一行代码,收到告警:生产环境某个tuxedo service挂死。当然此cpp在测试环境运行良好。版本回退服务恢复正常。ulog报错日志:ERROR: Service TSVC not available in group GRP2原因核查起初摸不着头脑,后来找到异常请求在测试环境
2020-05-24 01:47:27
615
原创 「镜头回放」简直了!spring中清除redis缓存导致应用挂死
异常场景springWeb应用一直运行正常,同事最近反应,每次版本更新完毕,刷新缓存,就会导致应用挂死。只有重启redis应用才恢复正常。项目概况springWeb项目,常用配置表做了redis缓存,配置表中只有少量数据,多也就是1~2K条记录。用redission做分布式锁,与缓存用的同一个reids服务。分析过程由于系统之前一直稳定运行,只是最近才有问题,先从异常日志查起吧。通过查看tomcat日志,发现大量redis time out异常。起初怀疑是不是网络原因?但是
2020-05-23 22:37:16
276
原创 ORACLE中Clob字段在不同数据库间自由地飞翔,SQL+JSON字段解析
在不同的oracle数据库间复制一张包含clob字段的表,你会收到如下礼物:select cloba from tab_test@link_test;肿么办?1、to_charselect to_char(cloba) from tab_test@link_test;对于clob内容比较小的字段,to_char已经满足需求了。但是如果字段值较大,你又会收到另一种礼物:肿么办?2、empty_clob()----先插入一张中间表,用empty_clob()占位,.
2020-05-22 15:53:58
877
原创 梦里docker惊起
一直很好奇,docker集群里的服务之间是如何通讯的?如何对外提供服务的?容器重启后IP变化了如何感知?原来有一个服务发现机制通过ingress网络做到服务对外只需暴露端口即可,而不必关心容器重启之后ip地址的变化当然,对外访问时,负载均衡指向的是docker宿主机的ip和端口,而不是docker服务的IP和端口,这点的理解很重要!...
2020-05-12 19:55:09
157
原创 docker入坑步骤
docker入坑步骤:第一步:准备好姿势,安装docker第二部:玩转单机版,用docker cli管理容器与镜像第三步:docker私有仓搭建,包括secure和insecure模式第四步:docker-compose集中管理容器第五步:docker swarm集群管理第六步:k8s进阶...
2020-05-09 14:15:33
170
原创 程序猿共勉:小富即安真要不得
不忘初心,牢记使命。只争朝夕,不负韶华。上回说道我入职新公司就被外派半年,还是希望回到山西现场的。人说山西人恋家,也与抠,闭塞等词联系起来。我只是爱家乡的人,家乡的山水。回到项目现场还是老样子,与走之前没什么两样。我有条不紊的工作着,做完领导安排的开发维护工作就好。做好?没必要。工作完还能和同事一起打乒乓球,羽毛球,游泳。这是多么惬意的生活啊!但是周围却发生了好多大事,全省的煤矿要整合,开...
2020-05-07 23:42:21
360
原创 平时调试程序BUG,今夜调试望远镜观星
听天气预报说,今年五一天气不错。果然!回老家更是!空气好,晴空万里,晚上皓月当空,繁星点点。如此美好风光怎能浪费,也可以给娃普及普及科学知识,激起他的科学兴趣。借用她爷爷的天文望远镜,今夜开始观星。天文望远镜大致分为两部分,支架和镜筒。支架起旋转,支撑,稳定作用,镜筒包含粗调望远镜和微调望远镜。筒身底部有一面反射镜。民用级天文望远镜先把架好支架,镜筒大致对准月亮。接...
2020-05-01 23:34:24
260
原创 坚守2.5线城市的80后程序员——职场换道
2019年初一位老人说:“不忘初心,牢记使命。只争朝夕,不负韶华”听来令人震撼,一位老人竟然有如此斗志,而我呢。彼时我30有2。古人说三十而立。不免让我困惑,我都立下了什么?回首往事,我当初为啥就入了程序员这行?我还有使命?只争朝夕那是大学以前的事了。韶华有的是,我还年轻。你还年轻吗?2009年刚工作那会儿,学府街以南还是一片荒地,南中环两旁还有闲田几分。实习...
2020-04-30 00:06:19
275
原创 坚守2.5线城市的80后程序员——初入职场
2019年初一位老人说:“不忘初心,牢记使命。只争朝夕,不负韶华”听来令人震撼,一位老人竟然有如此斗志,而我呢。彼时我30有2。古人说三十而立。不免让我困惑,我都立下了什么?回首往事,我当初为啥就入了程序员这行?我还有使命?只争朝夕那是大学以前的事了。韶华有的是,我还年轻。你还年轻吗?80后的网吧充满了魔幻现实主义的色彩2008年北京奥运会这年我大学毕...
2020-04-29 00:13:29
699
原创 向SAAS迈进:我的springboot基础架构
每一项都值得深入了解。考虑要点:轻松向springcloud集成。面向CI/CD。协同开发。集成常用后台通用功能。项目做成模板化就更加方便了当然,各种工具必须上,包括jekins,gitlab,最需要的是docker。对于小型团队来说,k8s可以慢慢来,先熟悉了docker,玩起来。上了docker或者微服务,肯定会在存储管理,安全管理,日志管理,服务管理,网络管理等方面带来很多...
2020-04-25 20:40:53
559
原创 oracle新建用户脚本
选择空闲表空间SELECT upper(f.tablespace_name) 表空间名, d.Tot_grootte_Mb "表空间大小(M)", d.Tot_grootte_Mb - f.total_bytes "已使用空间(M)", round((d....
2020-04-24 18:30:29
269
原创 ORACLE解析SOAPXML报文,xmltype extractvalue extract LPX-00210 中文乱码
ORACLE解析SOAP报文异常:ORA-31011: XML parsing failedORA-19202: Error occurred in XML processingLPX-00210: expected '<' instead of '?'报文样例:<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmls...
2020-04-22 12:34:07
1151
原创 用熟悉的SQL来操作ElasticSearch,拥有你自己的搜索引擎
ElasticSearch是一款分布式、RestApi风格、开源的全文本搜索引擎。我们可以基于它做数据存储、数据分析、数据查询。为啥要用它,为啥它会流行呢?开源,我们可以拥有自己的搜索引擎 支持各种部署方式,从单机,集群,linux,windows,docker,k8s等,满足了各种场景应用需求,向后兼容,与时俱进 提供了restapi供用户使用 已经有spring-elastics...
2020-04-19 17:16:32
778
原创 客户安全意识越来越高,主动要求tomcat7升8,踩坑了
去年国庆70周年,国家安全等级升高,我们这些号称做软件的面临了一次小考。各个行业,针对软件系统安全、网络安全来了一波又一波的扫描。也考验着我们系统设计之初对于安全这个问题的重视程度。这之后,是我们的用户安全意识的整体提高。这不,客户主动要求我们升级Tomcat了。我们一般做系统,基本上能保证3~7年能用,好用。但是随着时代的发展,技术的进步,客户也在进步,对于历史遗留系统升级,有些是设计考虑不...
2020-04-16 11:25:46
541
原创 识别图片验证码必备--Linux内网环境安装Tesseract
上期有关爬虫的文章中,验证码识别用到了Tesseract,笔者生产环境使用系统是GNU/Linux,网络不能连公网。这样在安装tesseract时就带来一些麻烦。验证码识别的过程,其实是调用系统命令去解析图片内容,如果把它做成服务,那任何人都可以使用了。**Tesseract安装步骤如下:**操作用户使用root 检查包依赖需要逐个检查这些包是否已经在linux中...
2020-04-13 10:22:27
486
原创 程序员的而立之年疾病袭来
两年以来,越发觉得自己易感冒了。五年以来,和同事的聊天内容,从小孩逐渐扩展到了疾病。十年以来,越发觉得年轻开始远离自己了,你还年轻吗?两年前的盛夏,突然的感冒,后来竟然发展成了鼻炎。此前,从不知道鼻炎为何物!现在,它常伴我左右,尤其是春天与秋天。本以为就是个小感冒,没想到后来发展成咳嗽,整夜整夜的咳嗽。尝试各种药物,从中药到西药,从喷剂到海盐洗剂,无一管用。一度以为自己不是得了绝症吧?你知道...
2020-04-13 09:20:30
283
原创 网络爬虫,解放你被电脑禁锢的双手
提起网络爬虫,首先会想到的是搜索引擎每天自动在互联网世界中到处游弋,抓取最新的网络资源,供网民们消费。这种复杂的系统可能理解起来有点费劲。 随着信息化深入生产生活的方方面面,给人们带来效率便捷的同时,也有种被机器左右的感觉。但这不是机器的原因,而是系统的设计者太依赖于机器,过犹不及了。也有另外一种解释,机器还不够智能。因此,就有一些原来手工的工作被搬到了电脑上,每天或者隔断时间需要...
2020-04-11 00:21:43
286
原创 服务器CPU超100%,Tomcat不响应,前台页面打不开----记一次生产故障综合诊断
这段时间,又有个应用隔几天就挂死,昨天直接一天死两次,我也是无语了。转过头来想,也说明使用系统的人越来越多了。为了客户,下定决心,必须解决这个顽疾。拿出我之前备好的利器,开始收拾它。提取故障日志tomcat运行日志已经好几天没清理,一瞅好几个G。服务器上vi,半天打不开。不怕不怕,上日志查找神器。这样就从大文件中提取到我们关心的内容了,我是提取了故障前后一段时间的日志。d...
2020-04-10 13:29:40
259
原创 程序员你真的做好了吗?
代码是否逻辑清晰?是否很健壮?运行是否稳定?是否方便运维?API是否能开放给其他人?API是否服务化,标准化?服务是否方便易用?服务是否形成了通用的业务能力?业务能力是否良好管控?是否引入外围参与者?是否形成了某个行业的生态?是否结合了国家的需要?是否引领了时代潮流?是否推动了时代进步?...
2020-03-31 21:53:59
108
原创 限流不只是分布式应用的专属,了解下传统应用限流技术的正确打开方式
限流的作用相当于电路上的保险丝,当过载的时候掐掉一些流量, 让系统有能力集中资源以较快的速度处理我们的应用处理能力范围内的业务请求。比如仅让1000万用户中的100万用户进人后端的处理流程中,将其余900万用户的请求通过队列排队或直接阻挡在平台处理单元之外的方式,保障平台能在处理能力范围内对100万的用户请求进行处理。平台要具备限流的能力,首先要对应用的能力有一个准确的评估, 知道服务实例...
2020-03-30 15:01:37
266
原创 你真的理解微服务吗?7个典型特征界定
对于微服务每个人都有自己不同的理解,敏捷开发发起人之一Martin Fowler对于微服务架构的典型特征描述如下:分布式服务组成的系统 按照业务而不是技术来划分组织 做有生命的产品而不是项目 智能化服务端点与傻瓜式服务编排 自动化运维 系统容错 服务快速演化...
2020-03-30 14:58:34
427
原创 奇文共赏之--企业IT架构转型之道/中台战略/数据中台
现如今互联网+深入各行各业,这几年对我们传统行业的冲击越来越大,大家的危机感越来越强,我想大家都有同感。阿里巴巴作为互联网领域的先行者,从1999年到现在做了十分有启发意义的实践与探索。此书中,作者以通俗的语言,阐述了阿里巴巴技术架构的转型,以及如何从一个传统企业转型为一个强大的互联网企业。其中不乏对于业务,技术,人员管理以及创新的深度思考。通过阅读此书,有很大一部分传统行业...
2020-03-30 14:56:47
281
原创 运维|tomcat/nginx日志切割工具logrotate
应用上线后,tomcat系统日志都打到catalina.out,遇到应用异常,想定位一下问题,一看好几个G!我的天呐!vi一下半天打不开,如果应用内存紧张,很可能就把应用挤死了。变通一下,大事化小,先根据关键字或者时间,找到我们关心的一段时间的日志,grep+sed:1、grepgrep -ano "查找关键字" ./*显示出文件,以及所在行号2、然后再用sedsed -n 100,...
2020-03-27 10:56:01
154
原创 本地代码增量更新工具分享
如果开发项目有版本控制,那么版本控制工具可以列出本地变更的源文件,但是要获取.class文件则有点困难,得自己手工一个一个拷贝;如果没有版本控制,那更是抓虾,修改一个需求,一顿操作猛如虎,一遇更新便懵逼。为此,开发了一个小工具–网页版的项目源文件获取工具,有几个优点。JS编写,修改方便支持配置,扩展方便只要有IE即可运行,操作方便支持class内部类导出支持任意文件类型核心逻辑:利...
2020-03-27 10:54:17
257
原创 支付宝B2C转账流程
帮助文档写的很清晰,但是如下几点要注意,避免入坑:1、需要生成应用密钥;2、商户给个人转账需要开通商户号,并开通转账接口功能;3、需要绑定手机号;4、需要下载或者maven依赖支付宝SDK服务端;5、开发调用时,可以使用沙箱环境;6、沙箱有单独的账号,需要自己给沙箱商户账号充值;7、需要调用沙箱地址和沙箱的支付宝公钥;8、调用转账接口时,使用的是应用私钥和支付宝公钥,而不是应用公...
2020-03-27 10:52:42
2128
原创 Thumbnails把图片压缩到200K以内,防止app崩溃
使用Thumbnails工具类能帮助我们对图片进行很好的处理,Thumbnails对图片的操作进行了很好的封装,往往很复杂的步骤用一行代码就完成了。//一般针对文件处理,把一个源文件处理后输出到另一个文件Thumbnails.of("aaa.jpg") .size(400, 800) .outputFormat("png") .t...
2020-03-27 10:51:35
1273
原创 监控/定位/诊断必杀技——JAVA应用生产问题
系统稳定运行还好,就怕出问题。但事情往往是越拍啥越来啥,所以我们要做好预案,并且手头得有几件趁手的兵器。列一列常见的问题和针对的处理步骤。通过系统日志可以直观的处理一部分问题,比如业务处理异常;遇到应用没有debug或者生产日志是关闭的情况,就得为了加个debug更新应用;跨系统接口调用,互相扯皮,我说你有问题,你说你没调我;某个接口调用总是说慢,慢在哪里,我加点debug日志看看吧;...
2020-03-27 10:47:26
206
原创 托起各种云的Docker容器技术
标题Docker概念:镜像 类容器 实例、对象仓库 放各种镜像的地方Dockerfile 一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明标题Docker定位:托起各种云的Docker技术了解一下docker是操作系统之上的虚拟化技术,又比虚拟机轻量容器技术兴起后,容器管理的平台有这么几种竞争比较激烈,目前都趋向于K8s。Docker Swarm<...
2020-03-27 10:40:11
168
原创 生产环境Tomcat启动太慢Creation of SecureRandom instance
22-Feb-2020 12:29:59.169 WARNING [localhost-startStop-1]org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] ...
2020-03-27 10:35:37
166
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人