-
如何写一个清晰明了的Bug
所属栏目:[优化] 日期:2019-08-02 热度:165
Bug是不可避免。但如何让自己的Bug写得清新脱俗,结构清楚则是需要我们不断努力的。 在开始今天的话题之前,先抛出一个问题,代码结构好是好事吗? 代码结构好事好事吗? 该图是我的票圈里一位兄弟转发的。代码结构好了,别人接手容易,反倒是写得烂了,却可[详细]
-
吐血整理!绝不能错过的24个Python库
所属栏目:[优化] 日期:2019-08-02 热度:59
Python有以下三个特点: 易用性和灵活性 全行业高接受度:Python无疑是业界最流行的数据科学语言 用于数据科学的Python库的数量优势 事实上,由于Python库种类很多,要跟上其发展速度非常困难。因此,本文介绍了24种涵盖端到端数据科学生命周期的Python库[详细]
-
六种常用的微服务架构设计模式
所属栏目:[优化] 日期:2019-08-02 热度:71
简单地说,API主导的连接方法可以被看作是API设计的一种分层方法(至少在本文中是这样)。其中,系统API公开系统的资产数据信息;中间的是流程API,与系统API一起进行编排和组合;顶端的体验API公开来自后端数据源的数据,提供最终用户体验。这种API分层方法与[详细]
-
Python学习教程:如何用Python统计代码行数
所属栏目:[优化] 日期:2019-08-02 热度:119
Python学习教程:如何用python统计代码行数 改良后的代码可以对python和C系列的代码实行行数计算,包括代码、空行和注释行,用re抓取注释,传入一个目录自动对其下的文件进行读取计算。 流程 首先判断传入参数是否为文件夹,不是则打印出提示,否则继续(无[详细]
-
学机器学习要选择 Python 的13个原因
所属栏目:[优化] 日期:2019-08-02 热度:110
Python程序语言与机器学习实践可以称得上是珠联璧合。 1. Python是解释语言,程序写起来非常方便 写程序方便对做机器学习的人很重要。 因为经常需要对模型进行各种各样的修改,这在编译语言里很可能是牵一发而动全身的事情,Python 里通常可以用很少的时间[详细]
-
Python对接六大主流数据库,只需三步
所属栏目:[优化] 日期:2019-07-31 热度:160
作为近两年来最火的编程语言的python,受到广大程序员的追捧必然是有其原因的,如果要挑出几点来讲的话,第一条那就python语法简洁,易上手,第二条呢? 便是python有着极其丰富的第三方的库。 所以不管你使用的关系型数据库是oracle,mysql, sqlserver,还是[详细]
-
信号量限流,高并发场景不得不说的秘密
所属栏目:[优化] 日期:2019-07-31 热度:174
限流可以认为是一种降级,一般是根据后台的负载提前预估的一个阈值(也可以动态调整)。超过了这个值,就要进行一些旁路处理。根据业务形态,会有直接拒绝、延迟处理、保持等待、部分穿透、默认返回等响应方式。 concurrent包中的信号量,由于使用简单,易于[详细]
-
一个书呆子为黑学校电脑,搞出全球级操作系统,成就谷歌,让微软头疼不已
所属栏目:[优化] 日期:2019-07-31 热度:174
本文来自微信公众号魔铁的世界(ID:jiangpeiyu0916),作者魔铁,首发于腾讯科技,未经授权,不得转载。 划重点: 1、让谷歌和IBM两家大公司爱恨难舍的Linux系统,最早只是芬兰一个叫林纳斯.托瓦兹的黑客玩出来的结果; 2、上中学时,林纳斯数学超级好却不解[详细]
-
架构师教你如何设计一个高并发系统?大多程序员都收藏了...
所属栏目:[优化] 日期:2019-07-31 热度:180
面试剖析 其实所谓的高并发,如果你要理解这个问题呢,其实就得从高并发的根源出发,为啥会有高并发?为啥高并发就很牛逼? 我说的浅显一点,很简单,就是因为刚开始系统都是连接数据库的,但是要知道数据库支撑到每秒并发两三千的时候,基本就快完了。所[详细]
-
最常见的 Git 错误都有哪些,如何解决它们?
所属栏目:[优化] 日期:2019-07-31 热度:108
如果您曾经与许多开发者一起开发一个大项目,那么使用 Git 作为版本控制是一个最好的选择。 不过 Git 很复杂,使用过程中经常会犯各种错误。 在本文中,我将讨论程序员在使用Git时所犯的一些常见错误以及如何解决它们。 拼写错误的最后提交消息 经过几个小[详细]
-
华人学者解开计算机领域30年难题:布尔函数敏感度猜想
所属栏目:[优化] 日期:2019-07-30 热度:125
近日,美国艾默里大学计算机与数学科学系教授黄皓(Hao Huang)用一篇短短 6 页的论文「轻松」证明了困扰理论计算机领域数十年的布尔函数敏感度猜想,引发了计算机和数学领域社区的广泛关注。布尔函数敏感度猜想是理论计算机科学中近三十年来最重要,最令[详细]
-
Python与C语言、Java、Nodejs、Golang进行性能测试比较
所属栏目:[优化] 日期:2019-07-30 热度:190
背景说明 在最近的项目开发中,遇到一个Python处理性能问题: 由于实时数据量较大(每秒有2100条日志,且每条日志平均大小在1kB左右),且受制于硬件资源限制,使用Python做实时数据处理,无法完成当前规模的数据集处理能力,数据越积越多,数据入库延时越[详细]
-
年薪200万,43岁被裁员!面对2019年全球裁员:3件事越早明白越好
所属栏目:[优化] 日期:2019-07-30 热度:82
最近在网上看到一则炒的特别火的新闻,43岁的Michael Wu,北大数学系本科,美国芝加哥大学计算机系硕士,是高科技芯片巨头公司C中国区负责大客户芯片销售的Director,在该公司工作了5年,年薪200万,今年3月被裁掉了。 和他一起被裁掉的,还有平行部门的另[详细]
-
灵魂拷问:Java对象的内存分配过程是如何保证线程安全的?
所属栏目:[优化] 日期:2019-07-30 热度:84
JVM内存结构,是很重要的知识,相信每一个静心准备过面试的程序员都可以清楚的把堆、栈、方法区等介绍的比较清楚。 上图,是一张在作者根据《Java虚拟机规范(Java SE 8)》中描述的JVM运行时内存区域结构画的。 很多人都知道Java对象是在堆内存中分配空间的[详细]
-
这5种可立即使用的Python框架,用户可根据实际需求使用任意框架
所属栏目:[优化] 日期:2019-07-30 热度:123
由于简单的学习曲线、越来越快的应用程序以及机器学习辅助功能等附加优势,Python已经成了IT行业的流行词。 到目前为止,几乎每个IT工程师和开发人员都必须了解Python的强度和功能。Python本身是一种编程语言,也许你已经掌握了这种令人惊叹的编程语言的一[详细]
-
只需一行代码完成多语言切换
所属栏目:[优化] 日期:2019-07-30 热度:186
背景 之前总是有开发者反馈我应用切换了语言,可是工具类获取的 string 却没有发生改变。其实这个问题很简单,你切换语言的 Context 只作用在了你的 Activity 上,并没有对你的 Application 做同样的操作,知道了这点,那么解决问题就很简单了,为了省事,[详细]
-
吐血推荐 | 那些提升开发人员工作效率的在线工具
所属栏目:[优化] 日期:2019-07-27 热度:140
作为一个Java开发人员,经常要和各种各样的工具打交道,除了我们常用的IDE工具以外,其实还有很多工具是我们在日常开发及学习过程中要经常使用到的。 Hollis偏爱使用在线工具,因为个人觉得这样比较方便。本文就总结了一下我常用的在线工具。欢迎纠正及补[详细]
-
资深程序员多年总结:解密Kafka吞吐量高的原因
所属栏目:[优化] 日期:2019-07-27 热度:176
众所周知kafka的吞吐量比一般的消息队列要高,号称the fastest,那他是如何做到的,让我们从以下几个方面分析一下原因。 生产者(写入数据) 生产者(producer)是负责向Kafka提交数据的,我们先分析这一部分。 Kafka会把收到的消息都写入到硬盘中,它绝对[详细]
-
如何进行高效的源码阅读:以Spring Cache扩展为例带你搞清楚
所属栏目:[优化] 日期:2019-07-27 热度:200
摘要 日常开发中,需要用到各种各样的框架来实现API、系统的构建。作为程序员,除了会使用框架还必须要了解框架工作的原理。这样可以便于我们排查问题,和自定义的扩展。那么如何去学习框架呢。通常我们通过阅读文档、查看源码,然后又很快忘记。始终不能[详细]
-
MIT 推出编程语言 ,从方程式和手写代码上解放工程师
所属栏目:[优化] 日期:2019-07-26 热度:200
本文转自雷锋网,如需转载请至雷锋网官网申请授权。 麻省理工学院的研究人员最近推出了一种新的概率编程语言 Gen,这种语言让研究人员在不需要处理方程式和手动编写高性能代码的情况下,编写应用人工智能技术的多个领域的模型和算法。软件科学家 Jesus Rod[详细]
-
一个系统,搞定闲鱼服务端复杂问题告警-定位-快速处理
所属栏目:[优化] 日期:2019-07-26 热度:113
引言 服务端问题排查(服务稳定性/基础设施异常/业务数据不符合预期等)对于开发而言是家常便饭,问题并不可怕,但是每天都要花大量时间去处理问题会很可怕;另一方面故障的快速解决至关重要。那么目前问题排查最大的障碍是什么呢?我们认为有几个原因导致:[详细]
-
Javascript之遍历数组方法
所属栏目:[优化] 日期:2019-07-26 热度:110
作为一个程序对于数组遍历大家都不是很陌生,再开发中我们也经常要处理数组。这里我们讨论下常用的数组遍历方法和区别。 1.第一种for循环 vararr=[1,2,3,4,5]; for(vari=0,iarr.length;i++){ console.log(for循环:+arr[i]);//打印出1,2,3,4,5 } 2.for ..i[详细]
-
浅谈Java Web经典三层架构和MVC框架模式
所属栏目:[优化] 日期:2019-07-26 热度:117
一、MVC设计模式 1.MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),即为MVC。它是一种软件设计的典范,最早为Trygve R[详细]
-
阿里平头哥开放最强RISC-V处理器:对ARM影响几何?
所属栏目:[优化] 日期:2019-07-26 热度:66
7月25日,阿里巴巴在上海举办了2019 阿里云峰会。在本次会议上,阿里巴巴详细介绍了阿里的All in Cloud战略,同时阿里旗下的平头哥半导体还发布了号称业界最强的高性能RISC-V处理器玄铁910,并宣布开放玄铁910 IP,降低高性能芯片的门槛,并加速应用。 最[详细]
-
Java类加载及对象创建过程详解
所属栏目:[优化] 日期:2019-07-25 热度:174
类加载过程 类加载的五个过程:加载、验证、准备、解析、初始化。 加载 在加载阶段,虚拟机主要完成三件事: 通过一个类的全限定名来获取定义此类的二进制字节流。 将这个字节流所代表的静态存储结构转化为方法区域的运行时数据结构。 在Java堆中生成一个[详细]