继推出2017年机器学习开源项目Top30榜单后,MybridgeAI又推出了一个Python开源项目Top30榜单,包括开源Python库、工具等。该榜单基于项目质量、用户参与度以及其他几个方面进行了评估,从大约15000个开源项目中挑选了Top30,差不多都是在2017年1-12月发布。这些项目在Github上的平均star为3707。No1:Home-assistant(v0.6+)基于Python3的开源家庭自动化平台[Github11357stars,由PaulusSchoutsen提供]htt...
继续阅读 >
分类目录归档:编程语言
2018
01-16
01-16
每日一博 | 记一次 JVM 堆外内存泄露 Bug 的查找
解Bug之路-记一次JVM堆外内存泄露Bug的查找前言JVM的堆外内存泄露的定位一直是个比较棘手的问题。此次的Bug查找从堆内内存的泄露反推出堆外内存,同时对物理内存的使用做了定量的分析,从而实锤了Bug的源头。笔者将此Bug分析的过程写成博客,以飨读者。由于物理内存定量分析部分用到了linuxkernel虚拟内存管理的知识,读者如果有兴趣了解请看ulk3(《深入理解linux内核第三版》)内存泄露Bug现场一个线上稳...
继续阅读 >
2018
01-16
01-16
新思路设计可视化大型微服务监控系统
背景随着微服务在生产实践中被大量使用,后台系统中的服务系统数量暴增,挑战也随之产生。当系统出现问题时,如何在上百个相关的、依赖错综复杂的服务系统之中快速定位到出错的系统?达达-京东到家的Overwatch系统已经在线上运行了一年有余,采用了创新性的可视化监控设计,并成功帮助达达-京东到家的系统渡过了“双十一”的挑战,设计思想值得分享。“双十一”期间,系统承载了京东商城每天几百万单的压力,...
继续阅读 >
2018
01-16
01-16
Android 内存暴减的秘密?!
WeTest导读在我这样减少了26.5MJava内存!一文中内存优化一期已经告一段落,主要做的事情是,造了几个分析内存问题的轮子,定位进程各种类型内存占用情况,分析了线程创建OOM的原因。当然最重要的是,优化了一波进程静息态的内存占用(减少26M+)。而二期则是在一期的基础之上,推进已发现问题的SDK解决问题,最终要的是要优化进程的动态Java内存占用!通常来说不管是做什么性能优化,逃不出性能优化3步曲:...
继续阅读 >
2018
01-16
01-16
由FTWRL导致的MySQL从库死锁分析及参数深究
最近线上执行备份的从库时出现复制卡死现象,分析以后发现是两个死锁,showfullprocesslist的状态如图1所示,其中,数据库版本是官方5.7.18版本,我们内部做了些许修改,但与此次死锁无关。图一先说一下结论,图一中:162线程是执行innobackup执行的flushtableswithreadlock;144是SQL线程,并行复制中的Coordinator线程;145/146是并行复制的worker线程,145/146worker线程队列中的事务可...
继续阅读 >
2018
01-16
01-16
关于真正理解Node.js事件循环你需要了解的一切
Node.js是一个基于事件的平台。这意味着Node中发生的任何事情都是对于事件的响应。传入Node的数据处理要经历一层层嵌套的回调。这一流程相对于开发者被抽象出来,由一个叫做libuv的库处理,就是libuv为我们提供了事件循环机制。事件循环也许是Node中最容易被误解的概念。我为Dynatrace工作,这是一家性能监控服务商。在我们解决事件循环监控这一问题时,我们付出了很多努力去正确理解我们正在监测的部分。这篇文章...
继续阅读 >
2018
01-11
01-11
全面Docker化之后,京东弹性数据库的最新实践与突破!
京东弹性数据库不是一个单一的产品,而是京东在对数据库的使用、运维和开发过程中遇到的一系列问题的解决方案,和运维经验的总结升华进而形成的一套产品系列,主要包括三大功能模块:核心功能模块:JED,提供数据查询和写入的自动路由、自动弹性伸缩、自动FailOver、自动负载调度和数据库服务智能自治的功能。实时数据发布与订阅模块:BinLake,完全自助、无状态、自动负载、完全自治、可横向扩展的集群化Binlog...
继续阅读 >
2018
01-10
01-10
Erlang/Elixir语法速成
Erlang/Elixir语法速成本文是针对Erlang开发人员的Elixir语法简介,同时也适用于试图了解Erlang的Elixir开发者。本文简要介绍了Elixir/Erlang语法,互操作能力,在线文档和示例代码等最基础的知识。1运行代码1.1Erlang最快速运行代码的方法是启动Erlangshell-erl。本文中大部分代码可以直接粘贴到shell中,Erlang中的命名函数必须包含在模块中,而且必须要在模块编译后才能使用。下面是一个模块...
继续阅读 >
2018
01-10
01-10
100行Python代码自动抢火车票!
今年你不妨自己写一段代码来抢回家的火车票,是不是很Cool。先准备好:12306网站用户名和密码chrome浏览器及下载chromedriver下载Python代码,来自网络整理[点击下载]代码用的Python+Splinter开发,Splinter是一个使用Python开发的开源Web应用测试工具,它可以帮你实现自动浏览站点和与其进行交互。Splinter官网http://splinter.readthedocs.io/en/latest/。Splinter执行的时候会...
继续阅读 >
2018
01-10
01-10
机器学习算法 Python 实现
机器学习算法Python实现目录机器学习算法Python实现逻辑回归_手写数字识别_OneVsAll六、PCA主成分分析(降维)3、主成分分析PCA与线性回归的区别6、主成分个数的选择(即要降的维度)9、使用scikit-learn库中的PCA实现降维七、异常检测AnomalyDetection1、高斯分布(正态分布)3、评价的好坏,以及的选取...
继续阅读 >
2018
01-03
01-03
Android跨进程IPC通信AIDL
简介AIDL:AndroidInterfaceDefinitionLanguage,即Android接口定义语言,用于生成Android不同进程间进行进程通信(IPC)的代码,一般情况下一个进程是无法访问另一个进程的内存的。如果某些情况下仍然需要跨进程访问内存数据,这时候Android系统就要将其对象分解成能够识别的原数据,编写这一组操作的代码是一项繁琐的工作,但是AIDL对底层进行了抽象的封装,简化了跨进程操作。在Android中跨进程操作的方式不止一种,...
继续阅读 >
2018
01-03
01-03
Python玩“跳一跳” iOS+Win 硬件实现
感谢来自 wangshub 的跳跃距离算法原项目地址:wangshub/wechat_jump_game知乎专栏:教你用Python来玩微信跳一跳本项目知乎专栏:python玩“跳一跳”iOS+Win版目前已有的iOS跳一跳辅助需要macOS环境下的WebDriverAgentRunner。而现在介绍的方法在Windows环境下通过物理方法实现,不需要macOS也不需要越狱。运行环境&工具Python3.6inWindowsPythonPillow库局域网环境...
继续阅读 >
2018
01-02
01-02
OAuth 2.0 理解
OAuth是一个用于定于授权的开放标准,目前已经发展到了2.0的版本。它可以让用户允许第三方应用程序访问该用户存储在某一个网站或者系统上面的资源(比如照片,联系人)而不用提供密码给该第三方应用程序,并且还可以限制权限和有效期。OAuth做到了一下这两点:不需要将用户名和密码提供给第三方应用而是通过令牌让第三方应用访问资源每一个令牌授权一个特定的应用在特定的时段内访问特定的资源应用...
继续阅读 >
2018
01-02
01-02
分布式事务的总结与思考
思来想去,个人觉得要理解「分布式事务」,必须先知道什么是“事务(Transaction)”。当然,这里提到的“事务”是在事务型数据库(TransactionalDatabase)知识领域内的。一个事务包含了若干个数据库操作,这些操作通常都会对数据库产生变化。值得一提的是,多个事务之间是互不影响,独立运行的,事务里的各个操作最终都得以持久化。事务一个很重要的特性是:"all-or-nothing"。通俗来讲,事务是对数据的...
继续阅读 >
2017
12-28
12-28
记一次公司的Android分享会
前言我刚来这个公司的时候,每个周三都会有分享会,主题自定,分享对象尽量是面向大众,一开始觉得不错,但是到后面发现分享的内容不是那么有营养,而且积极性不是很高,都是当做任务进行分享。程序员因为较为腼腆,分享的人较少,大部分都是客户部、分析部或者推广部的分享,久而久之,氛围就比较消极。为了提高咱们程序员发言的积极性,增添技术部的沟通氛围,决定之前的分享形式不变,但是改为月末一次,技术部的分...
继续阅读 >
2017
12-25
12-25
新一代数据库技术在双11中的黑科技
摘要:12月13-14日,由云栖社区与阿里巴巴技术协会共同主办的《2017阿里巴巴双11技术十二讲》顺利结束,集中为大家分享了2017双11背后的黑科技。本文是《新一代数据库技术在双11中的应用》演讲整理,本文主要从数据库上云和弹性调度开始谈起,重点分享了新一代数据库以及其在双11中的应用,包括X-DB、X-KV和ESDB等。12月13-14日,由云栖社区与阿里巴巴技术协会共同主办的《2017阿里巴巴双11技术十二讲》顺利结束,集中为大...
继续阅读 >
2017
12-25
12-25
如何做到单机毫秒完成上亿规模大数据常规统计
虽然现在最火的是AI,但是大数据和计算能力仍然是机器学习/AI算法的重要支撑,我们的业务场景大部分是通过手机终端、服务器日志不断产生日志数据,通过消息通道发送到大数据平台进行存储、加工和统计,然后在统计数据之上提供算法挖掘用户偏好行为和画像,为此,我们的关键任务是需要从海量数据里统计分析每项产品的去重用户、新增用户、pv、uv、dau(日活)、mau(月活)等指标,这个过程存储占用越少,计算时间越快越好。Fourinon...
继续阅读 >
2017
12-25
12-25
39条常见的Linux系统简单面试题
1、如何看当前Linux系统有几颗物理CPU和每颗CPU的核数?答:[root@centos6~10:55#35]#cat/proc/cpuinfo|grep-c'physicalid'4[root@centos6~10:56#36]#cat/proc/cpuinfo|grep-c'processor'42、查看系统负载有两个常用的命令,是哪两个?这三个数值表示什么含义呢?答:[root@centos6~10:56#37]#w10:57:38up14min, 1user, loadaverage:0.00,0.00,0.00...
继续阅读 >
2017
12-20
12-20
我与 Go 语言的这十年
2007年9月20日,关于设计一门全新语言的讨论正式开始,这门全新的语言,就是后来的Go。时至今日,Go语言已经发布到1.9版本,走过了整整十年的历程。在这十年间,Go语言两夺TIOBE年度语言大奖(2009/2016),许多初创公司在早期使用Go进行开发,包括现在的云计算巨头Docker,也由此催生出了Kubernetes这样的项目。在大洋彼岸的中国,GoogleTrends显示Go的异常火爆更让Go语言之父感到震惊。而这一切,跟一...
继续阅读 >
2017
12-20
12-20
GraphQL技术栈概览:如何将所有的功能组合起来
Facebook将GraphQL作为开源项目发布已经有两年的时间了。从那时算起,社区就以指数级的速度在增长,现在成千上万的公司在生产环境中使用GraphQL。在2017年10月举行的GraphQL峰会上,我非常荣幸地受邀在第二天演讲。读者可以在YouTube上观看完整的视频,也可以通过阅读本文对演讲有一个大致的了解(演讲的演示文稿可以在SlideShare站点下载——译者注)。首先,我会简要介绍一下GraphQL的现状,然后阐述它未来一段时间...
继续阅读 >
2017
12-15
12-15
管理 Node.js 进程从未如此优雅
说到Node.js的进程模型,脑子里第一个闪现的可能是Cluster模块,亦或是Master/Worker进程模型,在长期的使用过程中,我们逐渐发现,这样在应用的开发早晚会有局限性,除了不够优雅之外,每次增减进程或者自定义进程都会产生不可预知的问题。在一些特定的场景下,我们甚至在Master下面加入了一个Agent进程用来运行一些中间件SDK。在这些修修补补的过程中,传统的进程间通信,数据交换都变的困难,甚至Wor...
继续阅读 >
2017
12-13
12-13
Python实现数据结构常见算法
本文主要介绍了数据结构中的八大排序算法,利用Python分别将他们进行实现。前言八大排序,三大查找是《数据结构》当中非常基础的知识点,在这里为了复习顺带总结了一下常见的八种排序算法。常见的八大排序算法,他们之间关系如下:排序算法他们的性能比较:性能比较下面,利用Python分别将他们进行实现。直接插入排序算法思想:直接插入排序直接插入排序的核心思想就...
继续阅读 >
2017
12-11
12-11
函数式编程中的 “函数们”
函数式编程中函数有三种不同的解读方式,分别为纯函数、高阶函数和一等函数。本文分别对这三者的概念、应用和联系进行详解。纯函数定义:1.相同的输入必定产生相同的输出2.在计算的过程中,不会产生副作用满足上述两个条件,我们就说该函数是纯函数。纯函数也即数学意义上的函数,表达的是数据之间的转换(映射)关系,而非计算步骤的详述。数学函数的定义:函数通常由定义域X、值域Y,以及...
继续阅读 >
2017
12-11
12-11
你所不知道的Java之HashCode
之所以写HashCode,是因为平时我们总听到它。但你真的了解hashcode吗?它会在哪里使用?它应该怎样写?相信阅读完本文,能让你看到不一样的hashcode。使用hashcode的目的在于:使用一个对象查找另一个对象。对于使用散列的数据结构,如 HashSet、HashMap、LinkedHashSet、LinkedHashMap ,如果没有很好的覆写键的hashcode()和equals()方法,那么将无法正确的处理键。 请对以下代码中 Person&nb...
继续阅读 >