思维
文章平均质量分 70
亲爱的非洲野猪
现在主要负责一款OCR/表格识别的AI产品,欢迎咨询合作: https://ai.maogoujiaoliuqi.com/picToExcel
展开
-
google开源技术(部分)
机器学习框架Tensorflowhttps://github.com/tensorflow/tensorflow自动生成音乐:https://github.com/tensorflow/magentajava代码生成器:Java 生成器源代码集合 AutoAuto 是 Java 生成器源代码集合,Java 有许多机械、重复、未经测试的代码,而且有时会出现一些微妙的 Bug 。Auto 项目是自动执行这些类型的任务的代码生成器的集合,他们可以无 Bug 创建你要编写的代码。(详情:ht转载 2021-12-04 19:55:04 · 307 阅读 · 0 评论 -
MYSQL事务的实现---隔离性实现原理
背景介绍事务的特点是ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性).隔离性的意思就是两个事务各执行各的。谈到隔离性必须提数据库的四个问题和解决对应问题的隔离级别,场景/问题: 解决方案/隔离级别 ...原创 2021-08-14 16:27:03 · 347 阅读 · 0 评论 -
常见的代码坏味道--可变的数据,变量声明和赋值分离
1. 可变的数据1.1 过多的settersetter 的本质是把对象内部的细节交给其他类管理,破坏了封装,所以可能导致行为不可控。好的解决方案是用一个行为的函数代替setter方法。下面是例子比如设置状态值,可以是一种行为另外如果是初始化的过程中进行设值,完全可以用带参的构造函数代替。有一种重构手法,Remove Setting Method 移除设值函数,做法就是把setter方法完全移除。另外,Lombok 框架很多公司都不允许使用了。虽然lombok用注解就自动.原创 2021-08-08 23:21:10 · 201 阅读 · 0 评论 -
常见的代码坏味道--多层嵌套,缺乏封装
1. 多层嵌套多层嵌套的两个原因1.1if else最简单的重构手法,提前 return ,也叫 Replace Nested Conditional with Guard Clauses 卫语句。有一些比较激进的看法认为 else 本身就是一种坏味道。可以使用 idea 的插件 Checkstyle 检查一下代码的 圈复杂度。当圈复杂度大于某个值的时候,就会报错。圈复杂度的这部分代码中线性无关路径的数量。如果一段源码中不包含控制流语句(条件或决策点),那么这段代码的圈复杂度.原创 2021-08-08 00:25:35 · 665 阅读 · 0 评论 -
常见的代码坏味道--重复代码,大类,长参数列表
1. 重复代码重复代码很容易产生,主要是因为开发的本质就是复制粘贴,找一段类似的逻辑做一个简单的额修改就上线了。这样做在开发的时候可能没啥问题,但是一旦重复代码变多,面对一个简单的修改修改就要在整个项目中不断地找,一个个修改,这样速度和效率不能保证,而且很容易出错。另外,如果在看到if语句出现,并且if和else的代码块比较像,就很有可能是坏味道。重复代码的解决关键在于开发功能时就要时刻注意,在典型场景要合理使用设计模式。2. 大类我觉得类的最大的行数200行左右就够了。如果类太原创 2021-08-07 00:21:30 · 741 阅读 · 0 评论 -
【译】开源有助于创新和提升组织敏捷性 Open Source Benefits to Innovation and Organizational Agility
By Shaaron A Alvares原文链接Capital One 于2018年12月在 弗吉尼亚 举办了第三届敏捷开发会议。会议嘉宾,Wipro 网站全球开源趋势领导人Andrew Aitken, 陈述了开源活动的现状,以及开源如何成为推动创新和留住顶尖人才的全行业组织重点战略。Open Source Generations 开源的发展历史想要理解当下组织如何进行开源,Andrew Aitken把开源从创建到目前的分为4个时代进行陈述。第一代,开始于在70世纪早期,以Richa..翻译 2021-07-13 23:30:22 · 153 阅读 · 0 评论 -
装饰者模式--最佳实践
一开始非要学习装饰者模式,我是拒绝的。因为我觉得多少有点花拳绣腿,花花架子之类的。好吧,然后还是硬着头皮先看看吧。因为设计模式和有一些理论还不一样,设计模式不是某一个具体的技术,他不是源于高人的突发奇想,不是创造性的,是总结性的。很多经验人士在经过大量复杂业务代码的编写后总结的一些开发规律,跟着这个规律去设计代码,进行开发会让后续的维护拓展变得简单。所以先掌握了设计模式,在写复杂业务代码的时候硬着头皮套设计模式,多几次也就掌握了。好滴,下面先说一下我对装饰者模式的理解。首先是一个大的对象有一部分功能原创 2021-07-12 23:47:41 · 145 阅读 · 0 评论 -
观察者模式-最佳实践
观察者模式其实很好理解,可以理解为数据的同步。在对象之间定义一种多对一的依赖关系,一个对象的状态发生改变,依赖他的对个观察者会受到通知并进行改变。被观察者被称为 Observable ,他拥有数据,并且有一个集合,用于储存注册的观察者集合。简单来说Observable 的数据被更新后,会依次通知 每个注册了的观察者。通知和数据同步有两种实现方式,推模式或者拉的模式。有两个实践,第一个是简单的java原生实现,另外一个是微服务的数据同步的实现。1. 简单的java 原生实现被观察者:i.原创 2021-07-11 23:49:26 · 180 阅读 · 0 评论 -
【译】有产品思维的开发工程师The Product-Minded Software Engineer
原文地址:https://blog.pragmaticengineer.com/the-product-minded-engineer/?utm_source=wanqu.co&utm_campaign=Wanqu+Daily&utm_medium=websitebyGergely Orosz产品思维的工程师是指对产品本身非常感兴趣的开发人员。他们对如何做决定,用户如何使用产品感兴趣,并且他们喜欢参与产品决策。他们如果放弃开发的话,可以成为优秀的产品经理。我曾和许多优秀的产品思维..翻译 2021-07-09 22:46:18 · 570 阅读 · 0 评论