-
Spring Boot中如何干掉过多的if else!
所属栏目:[优化] 日期:2019-04-27 热度:150
需求 这里虚拟一个业务需求,让大家容易理解。假设有一个订单系统,里面的一个功能是根据订单的不同类型作出不同的处理。 订单实体: service接口: 传统实现 根据订单类型写一堆的if else: 策略模式实现 利用策略模式,只需要两行即可实现业务逻辑: 可[详细]
-
调查显示:机器学习/数据科学推动Python超越Java
所属栏目:[优化] 日期:2019-04-27 热度:129
一项新的大型开发人员调查显示,由于Python在机器学习和数据科学项目中的大量使用,它最终在编程语言的普及战中超过了Java。 最新一期的《Developer Economics State of the Developer Nation 16th Edition》报告称。Python已经拥有820万活跃的开发人员,[详细]
-
Java 8中Stream API的这些奇技淫巧!你都Get到了吗?
所属栏目:[优化] 日期:2019-04-27 热度:73
Stream简介 1、Java 8引入了全新的Stream API。这里的Stream和I/O流不同,它更像具有Iterable的集合类,但行为和集合类又有所不同。 2、stream是对集合对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作,或者大批量数据操作。 3、只要[详细]
-
如何提高使用Java反射的效率?
所属栏目:[优化] 日期:2019-04-27 热度:103
前言 在我们平时的工作或者面试中,都会经常遇到反射这个知识点,通过反射我们可以动态的获取到对象的信息以及灵活的调用对象方法等,但是在使用的同时又伴随着另一种声音的出现,那就是反射很慢,要少用。难道反射真的很慢?那跟我们平时正常创建对象调用[详细]
-
Istio究竟是干嘛的?
所属栏目:[优化] 日期:2019-04-27 热度:192
上一篇介绍了《ServiceMesh究竟解决什么问题?》,当微服务架构体系越来越复杂的时候,需要将业务服务和基础设施解耦,将一个微服务进程一分为二: 一个进程实现业务逻辑,biz,即上图白色方块 一个进程实现底层技术体系,proxy,即上图蓝色方块,负载均衡[详细]
-
一篇超实用的服务异常处理指南
所属栏目:[优化] 日期:2019-04-27 热度:54
1. 服务异常的处理流程 2. 负载 2.1 查看机器 cpu 的负载 top -b -n 1 |grep java|awk '{print VIRT:$5,RES:$6,cpu:$9%,mem:$10%}' 2.2 查找 cpu 占用率高的线程 top-p25603-H printf0x%x25842 jstack25603|grep0x64f2 cat/proc/interrupts (1)CPU (2)[详细]
-
开发者为什么不愿意参与开源贡献?不仅是钱的原因
所属栏目:[优化] 日期:2019-04-27 热度:78
对企业和开发人员来说,开源贡献具有重要意义。它能帮助企业建立自己的开源标准,同时能够吸引多样化人才,可以帮助开发人员丰富开发经验,提升个人能力。但事实上,如此明显的优势并没有吸引更多的开发人员从事这个行业。 开源软件可能会成为主导未来驱动[详细]
-
ServiceMesh究竟解决什么问题?
所属栏目:[优化] 日期:2019-04-27 热度:100
服务网格(ServiceMesh)这两年异常之火,号称是下一代微服务架构,接下来两个月,准备系统性的写写这个东西,希望能够让大家对最新的架构技术,有个初步的了解。 画外音:我的行文的风格了,为什么往往比怎么样更重要。 互联网公司,经常使用的是微服务分层[详细]
-
使用Go 语言开发必备的5大开源工具
所属栏目:[优化] 日期:2019-04-27 热度:170
前不久,jaxenter发布了2018年最热门的十大技能技术 其中,Go语言跻身前十,成2018年最受欢迎的技能之一。近日,jaxenter又从GitHub上精选了一些最好Golang工具,希望可以为喜欢用Go编程的开发者提供帮助,一起来看一下都有哪些工具上榜吧 1、Go Revive re[详细]
-
JavaScript已经从浏览器中脱颖而出,成为一种通用的编程语言
所属栏目:[优化] 日期:2019-04-26 热度:172
传统上,JavaScript都是关于Web开发的,但一项新的调查显示,它正在打破这种束缚,成为移动应用程序开发中的一股主力军。 不久前的移动开发主要局限于使用Java和Objective-C等语言,而React Native、NativeScript、PhoneGap/Cordova、ionon等方法已经将Jav[详细]
-
可能这些是你想要的H5软键盘兼容方案
所属栏目:[优化] 日期:2019-04-26 热度:87
前言 最近一段时间在做 H5 聊天项目,踩过其中一大坑:输入框获取焦点,软键盘弹起,要求输入框吸附(或顶)在输入法框上。需求很明确,看似很简单,其实不然。从实验过一些机型上看,发现主要存在以下问题: 在 Android 和 IOS 上,获知软键盘弹起和收起状[详细]
-
QEMU 4.0.0 发布,几乎可以模拟任何硬件设备的模拟器
所属栏目:[优化] 日期:2019-04-26 热度:136
QEMU 4.0.0 发布了,此版本更新亮点包括: ARM:实现了一批 ARMv8.X 的扩展,包括 SB、PredInv、HPD、LOR、FHM、AA32HPD、PAuth、JSConv、CondM、FRINT 与BTI ARM:virt:支持 255 GB 的 RAM 和 u-bootnoload镜像类型 ARM:改进 ARM PMU 模拟 HPPA:支持 T[详细]
-
详解日志采集工具--Logstash、Filebeat、Fluentd、Logagent对比
所属栏目:[优化] 日期:2019-04-26 热度:197
概述 常见的日志采集工具有Logstash、Filebeat、Fluentd、Logagent、rsyslog等等,那么他们之间有什么区别呢?什么情况下我们应该用哪一种工具? Logstash Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一[详细]
-
只有从业十年以上的程序“老猿”,才懂这十五条IT定律
所属栏目:[优化] 日期:2019-04-25 热度:133
1.软件开发这个行业里,人们总是在做重复的事, 假装自己在发明新的东西。 若你觉得有个东西很酷炫新奇, 那它肯定是从Smalltalk, HAKMEM, Ivan Sutherland, Douglas Engelbart, 早期的IBM, 或者Bell 实验室其中之一抄来的. 2.别相信编译器, 别相信工具, 别[详细]
-
如何在JavaScript中使用对象的方法
所属栏目:[优化] 日期:2019-04-25 热度:159
介绍 JavaScript 中,对象是 键/值 对的集合。值可以包含属性和方法,并且可以包含所有其他 JavaScript 数据类型,例如字符串,数字和布尔值。 JavaScript中的所有对象都来自父 Object 的构造函数。Object 为我们提供了很多实用的内置方法,并且可以在单个[详细]
-
程序员必备开发工具(IDE)推荐
所属栏目:[优化] 日期:2019-04-25 热度:142
作为一名程序开发人员,不管你使用哪门语言开发都有很多可以选择的集成开发环境IDE(Integrated Development Environment),IDE是提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、[详细]
-
人民日报:少儿编程热,需要冷思考
所属栏目:[优化] 日期:2019-04-25 热度:130
在不少城市,少儿编程课外培训日渐火爆。很多人认为,作为数字世界的通用语言,学习编程能有效锻炼孩子的思维能力。但也有人提出问题:受理解力所限,幼儿园阶段就送孩子学编程是否符合教育规律?出于莫输在起跑线上的心态,家长是否可以漠视孩子的兴趣?[详细]
-
吃透了这些Redis知识点,面试官一定觉得你很NB
所属栏目:[优化] 日期:2019-04-25 热度:143
是数据结构而非类型 很多文章都会说,redis支持5种常用的数据类型,这其实是存在很大的歧义。redis里存的都是二进制数据,其实就是字节数组(byte[]),这些字节数据是没有数据类型的,只有把它们按照合理的格式解码后,可以变成一个字符串,整数或对象,此[详细]
-
深入理解React的Virtual DOM
所属栏目:[优化] 日期:2019-04-25 热度:159
React在前端界一直很流行,而且学起来也不是很难,只需要学会JSX、理解State和Props,然后就可以愉快的玩耍了,但想要成为React的专家你还需要对React有一些更深入的理解,希望本文对你有用。 这是Choerodon的一个前端页面 在复杂的前端项目中一个页面可能[详细]
-
从 JDK 中,我们能学到哪些设计模式?
所属栏目:[优化] 日期:2019-04-25 热度:129
结构性模式: 适配器模式: 常用于将一个新接口适配旧接口 肥朝小声逼逼:在我们业务代码中经常有新旧接口适配需求,可以采用该模式。 桥接模式: 将抽象和抽象的具体实现进行解耦,这样可以使得抽象和抽象的具体实现可以独立进行变化。 肥朝小声逼逼:这[详细]
-
DeBug Python代码全靠print函数?换用这个一天2K+Star的工具吧
所属栏目:[优化] 日期:2019-04-25 热度:196
print 函数已老,DeBug 该靠 PySnooper 了~ 小伙伴们,你们都怎样 DeBug Python 代码?是不是常用 print 大法?在本文介绍的这个项目中,deBug Python 代码再也不需要 print 了。只要给有疑问的代码加上装饰器,各种信息一目了然,找出错误也就非常简单了[详细]
-
Go语言的奇特语法,你怎么看?
所属栏目:[优化] 日期:2019-04-25 热度:115
刚开始接触Go语言的同学觉得Go语言的语法很特别,尤其是使用C/C++或者Java等语言的同学。比如在C等语言中定义变量的时候类型是在名称前面,而Go语言偏偏要将类型放在变量名称后面,觉得很奇怪等等。下面是原文,对这些奇怪的语法给出了相对官方和靠谱的解[详细]
-
微软百名员工签名力挺 996.ICU
所属栏目:[优化] 日期:2019-04-25 热度:69
中国程序员上传到 GitHub 的 996.ICU repo 火速在互联网广泛传播时,996 工作制引起了全球的广泛关注,Python 之父直指这是不人道的行为,事情经过不断发酵,中国官方媒体也接连发声表态要警惕「996 工作制」。 就在今日,微软员工在一封内部邮件中呼吁公[详细]
-
Java开发人员容易犯的9个错误
所属栏目:[优化] 日期:2019-04-25 热度:137
摘要 这是我觉得java中比较常见的问题。如果您不同意任一部分,请留下您的评论。如果您能提出其它一些常见的错误,我将会非常感激。 1、Array转ArrayList 当需要把Array转成ArrayList的时候,开发人员经常这样做: Arrays.asList会返回一个ArrayList,但是[详细]
-
你应该学习哪种编程语言?
所属栏目:[优化] 日期:2019-04-25 热度:82
学习一门新的编程语言是在你的职业生涯中继续前进的好方法,但是应该学习哪一门呢? 如果你想要开始你的编程生涯或继续前进,那么学习一门新语言是一个聪明的主意。但是,大量活跃使用的语言引发了一个问题:哪种编程语言是最好的?要回答这个问题,让我们[详细]