嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 ? 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。...首先把一系列业务按职责划分成不同的对象,接着把这一系列对象构成一个链,然后在这一系列对象中传递请求对象,直到被处理为止。...代码demo package main //--------------- //我的代码没有`else`系列 //责任链模式 //@auhtor TIGERB<https://github.com/...我的代码没有`else`,只是一个在代码合理设计的情况下自然而然无限接近或者达到的结果,并不是一个硬性的目标,务必较真。 2....---- 我的代码没有else系列 更多文章 代码模板 | 我的代码没有else 点击https://github.com/TIGERB/easy-tips/tree/master/go/src/patterns
最近,我打算对我们项目的代码进行清理,准备把一些没有被使用到的公用方法清理掉,但是我在网络找了一遍,像PMD,Findbugs等静态工具,都只能找到没有被使用的私有方法。... return 0; } else if (isIncludeStr(fullPath, codeName)) { //调用了方法,且没有找到类,则无法确定...递归执行 checkUsed(fullPath, className, codeName); } } } return result; } /** * 获取没有被使用的代码...= 0; i < classList.size(); i++) { //获取一个数据 classObject = classList.get(i); //得到一个类中没有使用的属性列表...unUsedAttrList.isEmpty())) { //增加数据 result.addAll(unUsedAttrList); } //得到一个类中没有使用的属性列表
嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 ? 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。...关于怎么用,完全可以生搬硬套我总结的使用设计模式的四个步骤: 业务梳理 业务流程图 代码建模 代码demo 业务梳理 我通过历史上接触过的各种抽奖场景(红包雨、糖果雨、打地鼠、大转盘(九宫格)、考眼力、...------------ //我的代码没有`else`系列 //模板模式 //@auhtor TIGERB //------------------...//------------------------------------------------------------ //我的代码没有`else`系列 //模板模式 //@auhtor TIGERB...我的代码没有`else`,只是一个在代码合理设计的情况下自然而然无限接近或者达到的结果,并不是一个硬性的目标,务必较真。 2.
嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 ? 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。...关于怎么用,完全可以生搬硬套我总结的使用设计模式的四个步骤: 业务梳理 业务流程图 代码建模 代码demo 业务梳理 按照如上某东的订单结算页面的示例,我们得到了如下的订单结算页面模块组成图: ?...----------------------- //我的代码没有`else`系列 //组合模式 //@auhtor TIGERB //-------...我的代码没有`else`,只是一个在代码合理设计的情况下自然而然无限接近或者达到的结果,并不是一个硬性的目标,务必较真。 2....---- 我的代码没有else系列 更多文章 代码模板 | 我的代码没有else 链式调用 | 我的代码没有else 点击https://github.com/TIGERB/easy-tips/tree
今天领导提个需求,要求在金额上强制保留两位小数,本想着后台直接返回数据时,带着两位的小数,前端只是做个显示作用,后台说保留了小数但在传输过程中去掉了,可能他们做了格式转化。...没办法了只能又是我们前端操作了,牵扯价钱的太多了,很多时候又有for 循环,怎么办呢? 思路:{{}}里面的是一个表达式,可不可以是个函数呢?...经测试是可以的,具体实现方法如下: 写一个公共的强制保留两位小数的js方法 function toDecimal2 (x) { var f = parseFloat(x) if (isNaN(f...while (s.length <= rs + 2) { s += '0' } return s } export default { toDecimal2 } 在main.js中引用
前言 很早之前,就打算写这一篇文章了(其实有很多源码分析的文章打算写,但是自己太拖延了导致很多文章搁浅了)。我为什么要写这一文章呢?...事情的缘由是同事在SpringBoot项目中有一个A类继承HibernateDaoSupport,但是程序运行总是抛出没有成功注入SessionFactory的错误,后来我debug Spring源码解决了这个问题...这个错误的原因是A类的RootBeanDefinition中的autowireMode的值为0,在AbstractAutowireCapableBeanFactory类中的populateBean方法中没有执行到...beanFactory)方法中不要使用beanFactory.getBean()会造成类性早熟,最终的后果就是类中的一些属性没有成功注入。...因为这时候的AutowiredAnnotationBeanPostProcessor都没有被注册。 ---- 尾言 我们要知其然知其所以然。
为了让大家有个明确的学习方向,请大家分享给有需要的人,谢谢!...一、被调用函数需要具备的条件 (1)首先被调用的函数必须是已经定义的函数(是库函数或者用户自己定义的函数) (2)如果使用库函数,应该在本文件开头用#include指令将调用有关库函数时所需用到的信...息“包含”到本文件中来 (3)如果使用用户自己定义的函数,而该函数的位置在调用它的函数的后面,应该在主调函 数中对被调函数作声明 二、函数声明 一般形式 (1)函数类型 函数名(参数类型...1 参数名1,参数类型2 参数名2,...参数类型n 参数名n) (2)函数类型 函数名(参数类型1,参数类型2,...参数类型n) 注意:如果已在文件的开头(在所有函数之前),已经对本文件中所调用的函数进行了声...明,则在个函数中不必对其所调用的函数再作声明 原创不易,未经本公众号允许禁止转载,否则追究法律责任
嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 ? 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。...代码demo package main //------------------------------------------------------------ //我的代码没有`else`系列...我的代码没有`else`,只是一个在代码合理设计的情况下自然而然无限接近或者达到的结果,并不是一个硬性的目标,务必较真。 2....---- 我的代码没有else系列 更多文章 代码模板 | 我的代码没有else 链式调用 | 我的代码没有else 代码组件 | 我的代码没有else 订阅通知 | 我的代码没有else 客户决策...| 我的代码没有else
嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 ? 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。...其次,已支付取消订单的子操作应该是所有订单取消类型最全的,其他类型的复用代码即可,除了分装成函数片段,还有什么更好的封装方式吗?答案:「观察者模式」。...代码demo package main //------------------------------------------------------------ //我的代码没有`else`系列...我的代码没有`else`,只是一个在代码合理设计的情况下自然而然无限接近或者达到的结果,并不是一个硬性的目标,务必较真。 2....---- 我的代码没有else系列 更多文章 代码模板 | 我的代码没有else 链式调用 | 我的代码没有else 代码组件 | 我的代码没有else 点击https://github.com/
那为什么不在第二次执行该程序时,在调用mmap分配虚拟内存时就直接报错,返回无法分配内存呢?...这也就解释了为什么上面第二次运行该程序时,mmap是没有报错的。...该函数调用了__oom_kill_process: ?...在该函数中,会遍历系统中的所有进程,然后使用oom_evaluate_task这个函数,对各个进程进行评估: ?...oom_evaluate_task函数中,会使用oom_badness,计算某进程badness的点数,点数越高,越容易被kill掉。
嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 ? 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。...------------ //我的代码没有`else`系列 //策略模式 //@auhtor TIGERB //------------------...f := runtime.FuncForPC(pc[0]) return f.Name() } func main() { // 相对于被调用的支付策略 这里就是支付策略的客户端 // 业务上下文...我的代码没有`else`,只是一个在代码合理设计的情况下自然而然无限接近或者达到的结果,并不是一个硬性的目标,务必较真。 2....---- 我的代码没有else系列 更多文章 代码模板 | 我的代码没有else 链式调用 | 我的代码没有else 代码组件 | 我的代码没有else 订阅通知 | 我的代码没有else
<select id="getSpellFull" parameterType="java.lang.String" resultType="java.lang...
1 /*曾经有段时间一直被构造函数中的虚函数所困扰,现在通过自己重新学习了一遍,标注一下容易忘记的知识*/ 2 #include 3 using namespace std;...Construct base2"<<endl; 33 } 34 int var; 35 }; 36 class Derived : public Base2,public Base1 //构造函数的执行顺序与这儿有关
在重构Python代码的时候,需要统计有哪些函数和变量没有用到,搜索后发现一个简单的工具vulture,可以完成这个功能。...操作也很简单, pip 安装包: pip install vulture 检测代码: vulture tester.py 输出大概是这样: tester.py:19: unused import 'time...confidence) tester.py:403: unused method 'render_results' (60% confidence) 可以看到,每一行是一个检测结果,包含文件名称,行数,检测结果以及检测的置信度...,可以根据这个输出来重构代码。
问: 我有一个调用自己的函数: def get_input(): my_var = input('Enter "a" or "b": ') if my_var !...Type "a" or "b": a got input: None 我不明白为什么 get_input() 函数返回的是 None,因为它本应只返回 my_var。这个 None 是从哪里来的?...我该如何修复我的函数呢? 答: 它返回 None 是因为当你递归调用它时: if my_var != "a" and my_var !...没有返回那个值。 因此,尽管递归确实发生了,但返回值却被丢弃了,然后你会从函数末尾退出。...Python3 documentation 因此,除了在 if 语句中调用 get_input() 之外,还需要返回递归调用返回的内容。
每天早上七点三十分,准时推送干货 大家好,我是鸭血粉丝,想起来之前生产发生的事故,阿粉我的内心到现在都还很忐忑不安,今天我们来学习一个 Kong 以及跟你们聊聊做好网关限流控制的重要性。...然后紧急分析问题,一开始以为是客户端的 APP 升级出现了问题,导致死循环了,但是问了下终端负责人,并没有发布新的 APK。然后事情都这里想必大家都猜到原因了,没错,那就是我们被 DDoS 了。...我这边已经创建 kong 数据库了,所以显示错误,正常是可以创建成功的。...如果能看到用户和数据库都有的话,那就说明创建成功了,如果没有说明没有设置成功,按照上面的操作再仔细来一遍。...写在最后 其实这个世界上天才真的很少,大部分人都还没有到拼智商的地步;作为普通人我们拼的是努力,拼的是圈子,拼的是对这个世界的认知,接触更多更厉害的人,你迟早也会厉害起来。
你好,我是田哥。 昨天,一位朋友和我反馈说自己需要模拟面试和建立深度优化,可是我记忆中他上个月才入职,怎么又开始找工作?和他聊了一会,才知道被开除了,写的代码跟一坨shi一样。...业务同学抱怨业务开发没有技术含量,用不到设计模式、Java 高级特性、OOP,平时写代码都在堆 CRUD,个人成长无从谈起。 其实,我认为不是这样的。...在我看来,可维护性是大型项目成熟度的一个重要指标,而提升可维护性非常重要的一个手段就是减少代码重复。那为什么这样说呢?...今天,我就从业务代码中最常见的三个需求展开,聊聊如何使用 Java 中的一些高级特性、设计模式,以及一些工具消除重复代码,才能既优雅又高端。通过今天的学习,也希望改变你对业务代码没有技术含量的看法。...这段代码并不是我随手写出来的,而是一个真实案例。有位同学就像代码中那样把经纬度赋值反了,因为落库的字段实在太多了。
已经过去4年了,q群里已经有1年没人在里面聊天了,他还在,大家总会想起他,看过第一篇“我不曾忘记的初心的-10年”文章的朋友, 应该记得2011年我进入了通行行业的公司,在那里认识了一位鹏飞兄弟,当时我是负责带一个...2014年5月份因为迪迪换了公司,准备搬到离新公司比较近的地方,恰好鹏飞公司就在附近就找他帮忙,搬家的过程中两个人聊着,鹏飞意思最近也挺忙的,自己也懒,喜欢吃烤鸭的基本每周都是买一只烤鸭吃一个礼拜,也没咋休息好晚上回去还想玩会游戏现在感觉头有点晕晕的...离开病房的那一刻迪迪和胖孩抱在一起哭了,没有想到一起来北京成为北漂的他们,战友变成了这样。...我们在平凡中挣扎,又因为看了太多的不平凡而焦躁,日复一日承受不甘平庸的矛盾。而忘了一个事实,世界上大部分人都是平凡且普通的。...其实我在写这篇文章的时候征求了迪迪的意见,他建议不加这句话,会影响你的阅读和转发,很多人的朋友圈里面都有自己的领导和老板,但是我对迪迪说,难道员工身体好不是公司的财富吗,码农的定位并不是要让自己当码农,
文章目录 一、通过修改 GOT 全局偏移表拦截函数 二、通过在实际被调用的函数中添加跳转代码实现函数拦截 一、通过修改 GOT 全局偏移表拦截函数 ---- 使用 GOT 全局偏移表 拦截函数 , 只需要将...: ① 调用被拦截函数 : 真实调用实际 被拦截的函数 , 只是 对参数 或 返回值 进行一系列处理 , 然后返回 返回值 ; ② 不调用被拦截函数 : 也可以不调用 被拦截函数 , 自己实现一个新的逻辑..., 根据该函数地址 , 可以直接调用函数 , 这样就完美的避开了 GOT 全局偏移表 , 而执行函数 ; 因此 , 使用 GOT 表拦截函数并不能保证 100% 成功 ; 二、通过在实际被调用的函数中添加跳转代码实现函数拦截...---- 在 实际的被调用的函数 中 , 添加 跳转代码 , 跳转到 拦截函数 中 , 然后 拦截函数 调用 处理函数 , 处理函数调用真正的实际函数 , 返回一个返回值 ; 该跳转代码添加的方式是..., 处理函数 调用 被拦截的 实际函数时 , 这个实际函数中 开始的代码 是我们插入的 跳转代码 , 真实调用时 , 一定要将 跳转代码 恢复成原来的状态 然后才能继续调用 ; 该方法 100% 可以执行成功
领取专属 10元无门槛券
手把手带您无忧上云