HelloWorld官方 HelloWorld官方
4年前
接手了严重过时的软件,到底是该逐步重构还是摧毁重写呢?
有一个应用程序充斥着技术债,严重的过时了,或者只是对用户服务不足,因此,我们需要了解我们的最佳选择是什么——是继续艰难地探索并逐步进行重构更有意义,还是把它全部摧毁并从头开始重写更有意义呢?这就是我们将在本文中探讨的基本难题。所以让我们开始吧……但是没有那么快!在我们进一步研究之前,需要解决一个大家“避而不谈”的问题,即:对于任何需要改进的遗留应用程序,
Wesley13 Wesley13
3年前
SQL 如何计算每个分组的中位数
中位数是指一组数据排序以后,位于中间位置的数据值。如果数据个数是奇数,中位数就是最中间位置那个值;如果是偶数,则是中间位置那两个数的平均值。怎么查询出数据分组以后每个组的中位数呢?用SQL来解决这个问题是很有难度的!SQL的集合是无序的,没有数据位置的概念,需要人为地造出行号,但是要对各分组独立编行号也困难。后来在SQL2003标准中加入了窗口函
Stella981 Stella981
3年前
Spring cloud 超时及重试配置【ribbon及其它http client】
开启重试在某些情况下是有问题的,比如当压力过大,一个实例停止响应时,路由将流量转到另一个实例,很有可能导致最终所有的实例全被压垮。说到底,断路器的其中一个作用就是防止故障或者压力扩散。用了retry,断路器就只有在该服务的所有实例都无法运作的情况下才能起作用。这种时候,断路器的形式更像是提供一种友好的错误信息,或者假装服务正常运行的假象给使用者。不
Stella981 Stella981
3年前
CSS从大图中抠取小图完整教程(background
相信很多喜欢研究网页界面的童鞋都遇到过一个奇妙的现象:网页中很多图片素材被合成在一张图片上。起初小菜模仿网站的时候,经常遇到这个现象,那时候也不知道这时什么技术,人家的整张图片素材不会利用,只能用ps切图,切成单个的再用。。。其实,这是一个非常简单的技术,就是因为想象的太难了,才一直找不到问题的关键。要想实现CSS抠图,只需要用到一个属性:bac
Wesley13 Wesley13
3年前
ARM内核矩阵计算教程(STM32)
我们在嵌入式上跑矩阵运算时候,会遇到这样一个问题。假设将矩阵设置成N\N维的二维数组后,我们想求两个矩阵相乘,那就需要按照矩阵计算规则编写矩阵相乘函数,这样的话4\4矩阵得编一个,5\5矩阵又得编一个,要求逆还得编一个,求行列式还得编。自己写的函数代码效率容易低,将导致本来要跑在单片机上的算法,难达到想象计算速度。这篇教程将教会你如何使用a
Stella981 Stella981
3年前
Modelsim和Quartus II联合使用
写在前面的话在这里梦翼师兄想特地强调一下Modelsim这个软件,那么这个软件到底是做什么的呢?在这里,我问大家一个问题,假设我们有一块硬件电路板设计完成以后,不知道功能是否正常,那么我们需要怎么做呢?答案很简单的啦,就是我们所谓的“测试”,给电路板上电以后,输入一定的测试激励,观察电路板有什么样的结果输出,如果输出结果和输入激励的对应关系是
Stella981 Stella981
3年前
Charles抓包工具测试app
昨天一个网络问题排查不清楚,想到了Charles(青花瓷)抓包工具。在刚工作的时候就使用过一次,当时好像还没有收费。逛草稿的时候有一片是17年的关于抓包的,只写了开头。今天从下载到查看完全数据整理一下,我把我本地也删了,伴随着这篇文章重新配置一下。我没有在官网下载,因为要激活。贴一下我的下载地址(找了老久,好多资源)http://www.pc6.com
Stella981 Stella981
3年前
Django会话,用户和注册之cookie
HTTP状态和TCP不一样,HTTP是无状态的,也就是这一次请求和下一次请求之间没有任何状态保持,我们无法根据请求例如IP来识别是否在同一人的连续性请求。就像我们在访问网站的时候,输入了用户名和密码,但是如果跳转到另一个页面,又必须让我们再输入一次用户名和密码,这肯定是无法接受的。这一章就是要介绍如何保持状态的问题。首先来看下cookies:Cook
Stella981 Stella981
3年前
Devops的衍生
软件开发的流程通常都是需求分析开发测试运维,每个环节都是独立存在的,各个部门关起门做好自己的事情,然后移交给下一个部门,进行下一个环节,但是在测试和运维阶段会出现问题,需要开发针对程序错误进行更新,但是各部门之间的协作和协调是需要很大的工作量的,甚至会出现互相推诿的现象出现,毕竟人与人之间的协作本身就是需要时间的磨合,何况是各部门之间,那么,为了让各环
@ControllerAdvice注解使用及原理探究 | 京东物流技术团队
最近在新项目的开发过程中,遇到了个问题,需要将一些异常的业务流程返回给前端,需要提供给前端不同的响应码,前端再在次基础上做提示语言的国际化适配。这些异常流程涉及业务层和控制层的各个地方,如果每个地方都写一些重复代码显得很冗余。然后查询解决方案时发现了@ControllerAdvice这个注解,可以对业务异常进行统一处理。经过仔细了解后,发现这个注解还有更多的用处,都很实用。