- 博客(45)
- 资源 (38)
- 收藏
- 关注
转载 一个框架解决kaggle问题
一个框架解决几乎所有机器学习问题 但是没有具体的例子和代码,今天看到一个不错的 kaggle 上的 codeExploratory Tutorial - Titanic 来解析一下,源码可以直接点这个链接。在这篇文章中可以学到一个完整的运用机器学习解决分析问题的过程,它包括了解决问题的一般流程,描述性统计的常用方法,数据清洗的常用方法,如何由给定的普通变量启发式思考其他影响因素,skl
2017-11-29 20:03:42 493
转载 微信paxos库PhxPaxos实现原理与解析
微信paxos类库PhxPaxos实现原理与解析 微信最近开源了其paxos类库PhxPaxos,具体参考资料: 1. phxpaxos github的地址:点击打开链接 2. 微信自研生产级paxos类库PhxPaxos实现原理介绍 : 点击打开链接 ===========
2017-11-29 19:49:33 1920
原创 Dubbo SPI机制简介
SPI (service Provider Interface,是一种面向接口的编程方式。一个接口经常有多个实现类,通过SPI机制发现接口的实现服务。当服务的提供者,需要在META-INF/services下创建接口对应的文件,之后通过java提供的serviceLoader加载对应的实现,并装载实例化。SPI demo:package org.dubbo.demo.spi
2017-11-29 15:46:47 818
转载 百度NLP架构与应用
深度| 百度副总裁王海峰:百度在NLP领域都做了什么?雷锋网 02-09 17:05雷锋网按:2017年美国加州当地时间2月5日,人工智能顶级会议AAAI大会召开,AAAI今年首次设置了AI in Practice (应用人工智能)环节,百度副总裁王海峰应邀做了名为“百度的自然语言处理”(Natural Language Processing at Baidu)的主题演讲。雷锋
2017-11-24 16:11:22 2172
转载 阿里NLP架构与应用
NLP技术的应用及思考背景介绍阿里巴巴的生态系统下面有很多的计算平台,上面有各种各样的业务层,最中间是买家和卖家之间包括销售、支付等等之间的关系,外面建了一圈从娱乐到广告到金融到购物到物流等等各方面这样一个生态,中间有非常多的数据能够关联起来,所以对于阿里巴巴而言,这个图可以非常简练的概括我们在做什么,中间是最重要的数据,下面数据包含了最核心的也是阿里巴巴最早起家的来自于电商的
2017-11-24 15:42:01 38508 1
转载 kafka对比RocketMQ
淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linkin开源了Kafka这个优秀的消息中间件,淘宝中间件团队在对Kafka做过充分Review之后,Kafka无限消息堆积,高效的持久化速度吸引了我们,但是同时发现这个消息系统主要定位于日志传输,对于使用在淘宝交易、订单
2017-11-23 16:18:13 8689
原创 一个轻量级的分布式RPC框架
在互联网中,随着访问需求的不断扩大,单一的MVC架构已经不能满足用户的访问需求,这个时候就需要RPC分布式架构。常见的RPC分布式框架:RPC server(生产者)提供RPC服务,通过向Zookeeper中注入服务。zookeeper管理分布式服务,负责服务节点选取、Master节点选择、分布式一致性、注册功能。RPC client 作为消费者订阅RPC server服务
2017-11-23 09:38:24 4255
原创 RPC基本原理
背景:在互联网中,随着访问需求的不断扩大,单一的MVC架构已经不能满足用户的访问需求,这个时候就需要RPC分布式或者微服务架构。所以在大型互联网公司中,公司的系统由大量的服务组成,怎样调用服务和怎样为别人提供服务?RPC请求服务过程:标注要发布的服务,即服务器提供的服务。import java.lang.annotation.ElementType;import java
2017-11-22 15:59:58 508
原创 Paxos理论介绍(三): Master选举
分布式系统中通过paxos(必须为强一致性算法)选举时,在同一时刻选举一个节点作为Master , 读、写数据都通过Master节点进行,所以Master的数据时最新的。Master选举与Paxos解耦合,Master 选举使用Paxos的API。Master选举租赁算法:
2017-11-21 15:07:02 405
原创 Paxos理论介绍(二):Multi-Paxos
朴素Paxos通过多轮proposer、acceptor选举的方式选举一个提议,这个过程为一个Instance。Multi-Paxos通过算法来确定很多Instance的值,这些Instance的值在多个节点的顺序保持一致,在朴素Paxos中,通过计算找到编号为i的Instance,之后再计算编号为i+1的Instance,这样形成顺序的Instance,这样形成的latency(延迟)很高。而M
2017-11-20 17:02:18 5518 2
原创 朴素Paxos理论介绍(一致性算法)
Paxos算法主要通过定义约束保证一致性,即只要算法满足一定的约束,就能保证一致性。约束一:提案编号唯一。约束二:多数派提案才成功。约束三:当需要提案B时,如果提案多数派中有人已经提议了B*(提案编号B* 约束四: 保证提案编号的顺序,即如果提案B,并且之前已经有B* > B , 则抛弃编号为B的提案。位了保证编号的顺序性,所以需要强化约束,当不再接受编号小于当
2017-11-20 11:33:44 491
转载 分布式服务框架(dubbo)
分布式服务框架原理(dubbo)设计和实现1.分布式服务框架设计分布式服务框架一般可以分为以下几个部分,(1)RPC基础层:包括底层通信框架,如NIO框架、通信协议,序列化和反序列化协议,以及在这几部分上的封装,屏蔽底层通信细节和序列化方式差异(2)服务发布/消费:服务提供者根据消费者请求消息中的接口名,方法名,参数列表等信息,通过Java反射,调用本地的接口实现类
2017-11-19 17:36:57 322
转载 秒杀系统设计
秒杀系统架构分析与实战目录1 秒杀业务分析2 秒杀技术挑战3 秒杀架构原则4 秒杀架构设计5 大并发带来的挑战6 作弊的手段:进攻与防守7 高并发下的数据安全8 总结转载: 秒杀系统架构分析与实战1 秒杀业务分析正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6
2017-11-19 17:31:54 251
转载 消息队列的使用场景
一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,
2017-11-19 17:27:54 253
原创 Netty实战读书笔记(第十一章(下))
Netty提供异步通信的机制,所以当有大数据需要传输时,即使数据还没有传输完成,也会返回通知ChannelFuture,所以这时会有内存溢出的危险。这个时候需要一个NIO实现零拷贝的方式,直接操作网络栈中的数据,实现一个FileRegion,支持零拷贝的Channle的文件传输协议。import java.io.File;import java.io.FileInputStream;imp
2017-11-19 15:47:34 296
原创 Netty实战读书笔记(第十一章(上))
Netty提供的预制的Handler和编解码器。Netty通过预制的SslHandler保证数据在pipeline中加密和解密,SslHandler在其他Handler的逻辑处理后才能进行加密。import javax.net.ssl.SSLEngine;import io.netty.channel.Channel;import io.netty.channel.Chann
2017-11-17 19:45:15 247
原创 Netty实战读书笔记(第十章)
Netty编码解码器:在网络应用程序中,需要将字节流转换为应用程序对应需要的数据格式。编码器是将应用程序需要的数据格式转换为字节流,解码器是将字节流转换为应用程序需要的数据格式。解码器主要有两种:ByteToMessageDecode、MessageToMessageDecode。webSocket实现了browser和server的全双工通信。import java.util.Lis
2017-11-17 17:15:39 233
原创 Netty实战读书笔记(第八章)
当server相应client的请求时,有时候需要server作为client向其他server请求资源,这个时候一般通过再创建新的bootstrap,添加新的EventLoopgroup,,这种做法创建新的线程,会有线程创建和切换的开销,并且会有client 线程和server线程的数据交换,所有可以通过将server的EventLoop Group到client的bootstrap中,这样实现
2017-11-17 11:46:15 224
原创 Netty实战读书笔记(第七章)
EventLoop和线程模型,在java concurrent线程池的基础上的封装。java提供了executor,通过创建的线程缓存和重用Thread减少new thread 的资源消耗,减少线程上下文切换的消耗。网络框架的基本功能:运行任务执行生命周期内的事件,Netty通过事件循环来处理这样的事件,netty concurrent的类结构:在netty中,
2017-11-16 16:45:50 230
原创 从paxos到zookeeper读书笔记(第六章)
zookeeper的典型应用场景:zookeeper应用场景主要包括:发布/订阅、负载均衡、命名服务、分布式协调/通知(注册功能)、集群管理、master选举、分布式锁、分布式消息队列。zk实现数据发布/订阅服务:发布/订阅通常有两种模式:push/poll的方式为客户端提供服务。主要应用于分布式中,配置文件的全局通知、更新。配置获取-》配置更新。在机器启动过程中,zookeepe
2017-11-16 15:29:37 334
原创 从paxos到zookeeper读书笔记(第四章)
netty集群简单的集群方案:zk用来实现服务发现的功能,通过高性能的netty网络框架作为服务器,注册到zk中,client请求到zk中选取可用的netty服务器,选取策略有:轮询、哈希、IP分组、加权分组(均衡负载和服务发现的功能),netty服务器关闭时主动到zk注销。ZAB算法:zookeeper官方文档说明,zab算法提供崩溃可恢复的原子消息广播算法,paxos是一种通用
2017-11-16 11:06:24 330
原创 从paxos到zookeeper读书笔记(第四章)
zookeeper提供分布式协调服务,提供诸如统一命名服务、配置管理和分布式锁、分布式消息等分布式的基础服务。zookeeper的zab(zookeeper atomic broadCast),是paxos的一种改进。zookeeper是一个典型的分布式数据一致性的解决方案,分布式应用可以基于zookeeper实现发布\订阅、负载均衡、命名服务、分布式协调\通知、集群管理/master选举、分布式
2017-11-15 21:27:07 290
原创 Paxos到zookeeper读书笔记(第一章、第二章)
ACID->CAP->BASE。ACID主要应用于保证在对数据库进行分布式请求下,数据的ACID特性。CAP:在进行分布式应用设计时,经常需要考虑CAP特性,consistent、Available、partition tolerance,理论已经证明同时保证这三个特性的强的特性是不可能的,因为为分布式应用,所以应用在不同的进程或者子网络中,partition tolera
2017-11-15 20:25:08 174
原创 Netty实战读书笔记(第七章)
Netty实战读书笔记第七章讲解了Eventloop和线程模型,主要通过一个Eventgrouploop分配Eventloop,每个Eventloop处理多个channel,在channel的整个生命周期,都由一个Thread执行,一个EventLoop 将由一个永远都不会改变的 Thread 驱动。
2017-11-14 20:05:25 187
原创 Netty实战读书笔记(第六章)
Netty channelHandler和channelPipeline。channelPipeline将channelHandler链接起来做逻辑处理。channelHandler有四个状态,在handler处理时可更具状态激活不同的方法,比如channelActive对应于channelActive(ChannelHandlerContext ctx , Object msg
2017-11-14 15:53:44 250
原创 Netty实战读书笔记(第五章(二))
Netty通过ByteBuf类对数据进行操作,ByteBuf提供了对于字节操作的方法。对于Netty中ByteBuf对象的字节操作:ByteBuf的顺序访问:// 顺序访问ByteBuf中的字节。 public static void getByteFromBuff(){ ByteBuf buff = buf; for(int i = 0; i < buff.capa
2017-11-13 21:13:12 224
原创 Netty实战读书笔记(第五章(一))
Netty实战第五章主要讲Netty封装的数据容器:ByteBuf(java中ByteBuffer的替代品,在网络中传输主要通过字节进行传输)。Netty中主要通过abstract class ByteBuf、interface ByteBufHolder进行操作。Netty中ByteBuf的主要优点:读写使用不同的索引(readIndex、writeIndex)、容量支持
2017-11-13 20:12:07 259
原创 Netty实战读书笔记(第四章)
Netty实战第四章:传输比较java自带的OIO、NIO、Netty提供的OIO、Netty提供的NIO。OIO:import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.S
2017-11-13 15:37:30 395
原创 Netty实战读书笔记(第三章)
Netty组件和设计:Netty实战的第一章梳理了Netty的概念、使用场景、技术基础。第二章通过一个EchoClient和EchoServer小的应用程序简介了使用Netty框架的处理流程。第三章将重Netty库的使用和框架的设计来探讨Netty。通过在Netty高性能框架上,使用Netty类库构建高性能服务器。Netty在技术上,通过异步和实践驱动的方式,做到高负载下应用技术的可扩展性和可伸缩
2017-11-12 21:20:40 404
转载 数据库书籍推荐
软件开发者编写代码,最终都是要处理数据,因此数据库是必备技能。悲剧的是,学校里与此最相关的数据库原理课,对初学者的体验却非常不好。相信很多同学都有这样的痛苦经历:一上来就一通数据库历史,罗列一大堆从来没见过以后也不会见到的各种古老数据库;然后是数学公式密集的关系模型、关系代数,一连串不知道什么用却很难懂的范式……全学完了,数据库咋用、咋编程都不知道,连SQL都只是一知半解。
2017-11-12 21:17:38 9212 1
转载 Ubuntu 16.04
Ubuntu 16.04发布了,带来了很多新特性,同样也依然带着很多不习惯的东西,所以装完系统后还要进行一系列的优化。1.删除libreofficelibreoffice虽然是开源的,但是Java写出来的office执行效率实在不敢恭维,装完系统后果断删掉[html] view plain copyprint?sudo apt-get
2017-11-12 21:16:19 279
原创 Netty实战读书笔记(第二章)
Netty实战第二章主要通过讲解EchoClient、EchoServer构建了一个基于Netty的应用。在client端,1 , EventLoopGroup实例化一个对象。2 ,实例化一个bootstrap对象,作为netty高性能服务器的启动器。3 , 将EventLoopGroup实例group进bootStrap实例 4 , 申明连接的I/O类别为NioChannelSocket。5
2017-11-12 19:36:01 330
原创 Netty实战读书笔记(第一章概念梳理)
Netty是一个由事件驱动的java异步I/O高性能网络通信框架,在java中,提供网络通信的JDK主要有I/O、NIO、AIO。I/O主要是同步阻塞的网络通信协议,NIO(No-blocking I/O)提供非阻塞的读写操作,又因为非阻塞,所以可提供异步操作,NIO一般可当做异步I/O。AIO是jdk1.7中引入的异步I/O操作,客户端的请求都是通过OS完成了I/O操作之后,再交由服务器处理启动
2017-11-10 17:19:38 323
转载 Timer与TimerTask的真正原理&使用介绍
其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个类,而具体的TimerTask需要由你自己来实现,例如这样:[java] view plain copyprint?Timer timer = new Timer(); timer.schedule(new TimerTask() { publ
2017-11-07 15:17:12 252
转载 Java中线程池ThreadPoolExecutor原理探究
一、 前言线程池主要解决两个问题:一方面当执行大量异步任务时候线程池能够提供较好的性能,这是因为使用线程池可以使每个任务的调用开销减少(因为线程池线程是可复用的)。另一方面线程池提供了一种资源限制和管理的手段,比如当执行一系列任务时候对线程的管理,每个ThreadPoolExecutor也保留了一些基本的统计数据,比如当前线程池完成的任务数目。另外,线程池提供许多可调参数和可扩
2017-11-07 09:36:28 191
原创 DelayQueue应用举例
import java.util.Iterator;import java.util.Random;import java.util.concurrent.CountDownLatch;import java.util.concurrent.DelayQueue;import java.util.concurrent.Delayed;import java.util.concu
2017-11-05 17:19:49 396
转载 java AIO示例
AIO是异步IO的缩写,虽然NIO在网络操作中,提供了非阻塞的方法,但是NIO的IO行为还是同步的。对于NIO来说,我们的业务线程是在IO操作准备好时,得到通知,接着就由这个线程自行进行IO操作,IO操作本身是同步的。但是对AIO来说,则更加进了一步,它不是在IO准备好时再通知线程,而是在IO操作已经完成后,再给线程发出通知。因此AIO是不会阻塞的,此时我们的业务逻辑将变成一个回调函数,等待I
2017-11-04 20:07:49 426
转载 A simple but tough-to-beat baseline for sentence embedding
论文原文:A simple but tough-to-beat baseline for sentence embedding引言在神经网络泛滥的时候,这篇文章像一股清流,提出了一个无监督的句子建模方法,并且给出了该方法的一些理论解释。通过该方法得到的句子向量,在STS数据集上取得了不输给神经网络的效果。句子建模算法作者将该算法称之为WR。 W表示Weighted,意为使用预估
2017-11-04 15:00:54 766
转载 java concurrent的学习
一次聊天,谈到了死锁的解决、可重入锁等等,突然发现这些离自己很远,只有一些读书时的概念涌入脑海,但各自的应用场景怎么都无法想出。痛定思痛,决定看看concurrent包里涉及并发的类及各自的应用场景。第一类:原子操作类的atomic包,里面包含了1)布尔类型的AtomicBoolean2)整型AtomicInteger、AtomicIntegerArray、AtomicIntegerF
2017-11-03 11:38:10 219
原创 reentrantLock源码分析
import java.util.concurrent.locks.ReentrantLock;import java.util.ArrayList;import java.util.List;import java.util.concurrent.locks.LockSupport;/** * reentrantLock 内部类,Sync extends abstra
2017-11-03 11:00:17 138
Mastering Machine Learning With scikit learn pdf
2017-11-13
scikit-learn Cookbook pdf sklearn
2017-11-13
Python for Data Analysis 2nd Edition pdf
2017-11-13
Spark for Data Science pdf 完整 积分最少
2017-11-11
Machine Learning with Spark pdf
2017-11-11
High Performance Spark pdf 完整版 免费
2017-11-11
Advanced Analytics with Spark, 2nd Edition.pdf
2017-11-11
机器学习系统设计 免费
2017-11-10
Technical Analysis of Stock Trends
2017-11-10
PYTHON机器学习及实践+从零开始通往KAGGLE竞赛之路 免费
2017-11-10
Python Machine Learning Blueprints
2017-11-10
构建一个机器学习系统(第二版)
2017-11-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人