遗留代码处理技巧与案例演示
1什么是遗留代码本质是一种技术债务,产生原因一方面是业务原因:如业务本身场景繁多、流程复杂等;另一方面是技术原因:如代码不规范、设计不合理、祖传代码文档注释缺失等。它会影响我们的程序很多方面:如可读性、可修改性、可复用性、可维护性、可测试
GoCoding GoCoding
3年前
FRP 内网穿透、反向代理
是一个专注于内网穿透的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。本文将以暴露内网Web服务为例,实践frp的安装部署。更多应用场景,可见。安装frp主要由客户端(frpc)和服务端(frps)组成,服务端通常部署在具有公网IP
Stella981 Stella981
3年前
ARKit入门
ARKit介绍ARKit是iOS11引入的一个全新的框架,使用VisualInertialOdometry(VIO,视觉惯性里程计)来精确跟踪现实世界中的真实场景。相比其它设备平台,ARKit中的VIO可以将传感器数据和CoreMotion的数据融合在一起,从而提供更为精确的信息。ARKit可以让iOS设备精确感知它如何在房间内移动,而无需外
Stella981 Stella981
3年前
OAuth2.0认证和授权原理
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。本文对OAuth2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC6749。一、应用场景为了理解OAuth的适用场合,让我举一个假设的例子。有一个"云冲印"的网站,可以将用户储存在Google
Stella981 Stella981
3年前
Hadoop所支持的几种压缩格式
Gzip压缩优点:压缩率比较高,而且压缩/解压速度也比较快;hadoop本身支持,在应用中处理gzip格式的文件就和直接处理文本一样;有hadoop native库;大部分linux系统都自带gzip命令,使用方便。缺点:不支持split。应用场景:当每个文件压缩之后在130M以内的(1个块大小内),都可以考虑用gzip压缩格式。譬如说一
Stella981 Stella981
3年前
RabbitMq学习笔记——概念
1、RabbitMQ简介  MQ全称为MessageQueue(消息队列),是一种“应用程序”<—“应用程序”的通信方法。MQ是一个典型的“消费”<—“生产者”模型的代表,生成者往消息队列中写入消息,消费者从消息队列中读取消息。2、MQ的应用场景  对于一个大型的软件系统来说,它会有很多的组件或者说模块或者说子系统或者
Stella981 Stella981
3年前
Flutter 实现原理及在马蜂窝的跨平台开发实践
一直以来,跨平台开发都是困扰移动客户端开发的难题。在马蜂窝旅游App很多业务场景里,我们尝试过一些主流的跨平台开发解决方案, 比如WebView和ReactNative,来提升开发效率和用户体验。但这两种方式也带来了新的问题。比如使用WebView跨平台方式,优点确实非常明显。基于WebView的框架集成了当下Web开发的诸多
Wesley13 Wesley13
3年前
Java人太南了!又要搞Spring,又要精通JVM垃圾回收和调优…
对象已死?啊,难受……最近深陷排查各种内存溢出、内存泄漏的问题,不得不对垃圾回收器下手了,因为当垃圾收集成为系统达到更高并发量的瓶颈时,我们就必须对这些“自动化”的技术实施必要的监控和调节。不少Java技术方向的兄弟,感觉也挺难的,常聊到各种高并发业务场景下,JVM涉及的性能问题、内存管理、垃圾回收器怎么弄?
Stella981 Stella981
3年前
SpringBoot中使用JNnit4(一)之Mockito的使用
经过入门篇,可以编写出一个简单的测试用例。这篇讲的是BDDMockito的使用。BDDMockito用于测试时进行打桩处理;通过它可以指定某个类的某个方法在什么情况下返回什么样的值。在单元测试时,如果遇到复杂的业务场景,使用多个类时,就需要用到BDDMockito。需要打桩的对象,只能是@Mock注解的方式packagexx.x
Wesley13 Wesley13
3年前
AI赋能案例—阿里云身份证OCR识别助力实现“无接触”式政务服务!
 2020年初的这场疫情,是一场对突发性公共卫生事件应急处置的大考,也是对数字政务体系能力的检验。在保证不影响办事效率的情况,如何减少人员的接触是政务场景下的“防疫”关键!日前由一窗(北京)互联网科技研究院结合阿里云视觉智能开放平台(vision.aliyun.com)(https://www.oschina.net/action/GoToLink?ur