自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(28)
  • 收藏
  • 关注

转载 缓存这匹“野马”,你驾驭得了吗?

俗话说得好,工欲善其事,必先利其器,有了好的工具肯定得知道如何用好这些工具,本篇将介绍如何利用好缓存。1. 确认是否需要缓存 在使用缓存之前,需要确认你的项目是否真的需要缓存。使用缓存会引入的一定的技术复杂度,后文也将会一一介绍这些复杂度。一般来说从两个方面来个是否需要使用缓存: CPU占用:如果你有某些应用需要消耗大量的cpu去计算,比如正则表达式,如果你使用正则表达式比较频繁,而...

2018-09-24 23:38:08 595

原创 常用机器学习算法优缺点对比

算法 模型 监督学习 线性 多分类 求解算法 计算复杂度 解释性 缺失值影响 决策树 判别 有 非 支持 贪心算法,穷举搜索 低 容易 不敏感 随机森林 判别 有 非 支持 贪心算法,穷举搜索 低 容易 不敏感 KNN 判别 有 ...

2018-09-19 12:52:16 2659

原创 MySQL事务-隔离级别

事务的并发问题脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据 不可重复读:事务 A 多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果不一致。 幻读:事务A首先根据条件索引得到N条数据,然后事务B改变了这N条数据之外的M条或者增添了M条符合事务A搜索条件的数据,导致事务A再次搜索发现有N+M条数据了...

2018-09-16 20:59:12 221

原创 MySQL常用存储引擎对比

存储引擎概述存储引擎其实就是如何实现存储数据,如何为存储的数据建立索引以及如何更新,查询数据等技术实现的方法。MySQL中的数据用各种不同的技术存储在文件(或内存)中,这些技术中的每一种技术都使用不同的存储机制,索引技巧,锁定水平并且最终提供广泛的不同功能和能力。在MySQL中将这些不同的技术及配套的相关功能称为存储引擎。 存储引擎对比特点 MyISAM InnoD...

2018-09-10 09:35:17 211

原创 MySQL索引-设计原则

概述所有的MySql列类型(字段类型)都可以被索引,对相关列使用索引是提高SELECT操作性能的最佳途径。每种存储引擎对每个表至少支持16个索引,总索引长度至少为256字节。MyISAM和InnoDB存储引擎的表默认创建的都是BTREE索引。MySQL支持前缀索引的长度跟储存引擎相关,对于MyISAM存储引擎的表,索引的前缀长度可以达到1000字节长,而对于InnoDB存储引擎的表,索引的...

2018-09-08 11:07:37 207

转载 Kafka的架构原理,你真的理解吗?

Apache Kafka 最早是由 LinkedIn 开源出来的分布式消息系统,现在是 Apache 旗下的一个子项目,并且已经成为开源领域应用最广泛的消息系统之一。Kafka 社区非常活跃,从 0.9 版本开始,Kafka 的标语已经从“一个高吞吐量,分布式的消息系统”改为"一个分布式流平台"。Kafka 和传统的消息系统不同在于: Kafka是一个分布式系统,易于向外扩展。...

2018-08-21 16:13:50 1342

转载 NoSQL还是SQL?这一篇讲清楚

随着大数据时代的到来,越来越多的网站、应用系统需要支撑海量数据存储,高并发、高可用、高可扩展性等特性要求。传统的关系型数据库在应付这些已经显得力不从心,并暴露了许多难以克服的问题。由此,各种各样的 NoSQL(Not Only SQL)数据库作为传统关系型数据的一个有力补充得到迅猛发展。本文将分析传统数据库存在的一些问题,以及几大类 NoSQL 如何解决这些问题,希望给大家提供...

2018-08-19 16:27:25 1474

转载 五分钟让你彻底了解TDD、ATDD、BDD&RBE

在目前比较流行的敏捷开发模式(如极限编程、Scrum方法等)中,推崇“测试驱动开发(Test Driven Development,TDD)”——测试在先、编码在后的开发实践。TDD有别于以往的“先编码、后测试”的开发过程,而是在编程之前,先写测试脚本或设计测试用例。TDD在敏捷开发模式中被称之为“测试优先的编程(test-first programming)”,而在IBM Rational统一过...

2018-08-12 09:49:32 42678

转载 10幅图解释机器学习中的基本概念

以下的几幅图是我认为在解释机器学习基本概念时最有启发性的条目列表。1. Test and training error: 为什么低训练误差并不总是一件好的事情呢:以模型复杂度为变量的测试及训练错误函数。2. Under and overfitting: 低度拟合或者过度拟合的例子。多项式曲线有各种各样的命令M,以红色曲线表示,由绿色曲线适应数据集后生成。3. Occam’s...

2018-08-11 18:54:35 288

原创 正则表达式匹配模式、正负向预查及递归规则

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。1、匹配边界 ^ 匹配一个输入或一行的开头 $ 匹配一个输入或一行的结尾  2、匹配出现次数 * ...

2018-08-09 22:31:10 1297

转载 一文揭秘!自底向上构建知识图谱全过程

“The world is not made of strings , but is made of things.”——辛格博士,from Google.知识图谱,是结构化的语义知识库,用于迅速描述物理世界中的概念及其相互关系,通过将数据粒度从document级别降到data级别,聚合大量知识,从而实现知识的快速响应和推理。当下知识图谱已在工业领域得到了广泛应用,如搜索领域的Goo...

2018-08-09 09:12:39 1549

转载 你必须了解的微服务架构设计的10个要点!

微服务架构设计时有哪些要点呢?先看下图是 Spring Cloud 的整个生态。下图是完美实现微服务的十二原则:接下来,细说微服务架构设计中不得不知的十大要点。负载均衡 + API 网关在实施微服务的过程中,不免要面临服务的聚合与拆分。当后端服务的拆分相对比较频繁的时候,作为手机 App 来讲,往往需要一个统一的入口,将不同的请求路由到不同的服务,无论后面如何拆分与...

2018-08-04 09:02:55 5058

翻译 一个快速上手机器学习-决策树的项目

机器学习(英文缩写ML)是一计算机科学技术,目的是让程序能自动从数据样本中进行学习并在该过程中得到提升而不依赖于硬编码来提供规则的能力。通过机器学习,计算机可以识别到更深入的含义,并根据所提供的样本数据做出精准的判断,而且实现这些也只需很少的人为干涉。例如,拥有超过五年机器学习经验的 AndreyBu 创建了一个可以预测股市数据的模型。你可以在这里了解和学习他的项目。在本文中,我们...

2018-08-03 19:15:24 383

翻译 使用Python的NLTK快速创建文章简介

如果你对数据分析感兴趣,你会发现学习有关自然语言的处理会非常有用。要是想找一个适合的项目开始学习自然语言处理(NLP),可以尝试编写一个算法在保持文本原意的同时精简其中的内容,或者给原文生成一段深入的理解。自然语言处理(NLP)有很多的库。在这个项目中,我们将使用NLTK - 一个自然语言工具包。让我们来开始记录创建该项目的相关步骤。共有4个步骤来生成文章摘要清除停用词(下文进行说...

2018-07-31 23:10:17 801

转载 更深入理解 Python 中的迭代

Python 的 for 循环不会像其他语言中的 for 循环那样工作。在这篇文章中,我们将深入探讨 Python 的 for 循环来看看它们在底层如何工作,以及为什么它们会按照它们的方式工作。循环的问题我们将通过看一些“陷阱”开始我们的旅程,在我们了解循环如何在 Python 中工作之后,我们将再次看看这些问题并解释发生了什么。问题 1:循环两次假设我们有一个数字列表和一个生成器...

2018-07-30 19:18:02 534

原创 Linux Kafka 2.11-1.1.1 安装搭建

Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于...

2018-07-30 11:34:03 3452

翻译 使用TF-IDF计算文档查询中的相关性得分

正如该词所示,TF-IDF代表词频-逆文档频率,用于计算在文档语料库使用查询中哪些词可能更受偏好。TF-IDF计算每个单词的权值出现在文档中的百分比。具有TF-IDF得分更高的单词,意味着与它们出现的文档有很紧密的关系,也表示如果该词出现在此查询中,该文档可能对相应的人引起更多的兴趣。从用户定义的查询中检索数据的任务在最近几年变得如此普遍和平常,有些人可能不会再做过多思考。不过,越来越多检索查...

2018-07-29 18:04:05 3975 1

原创 PHP设计模式-单例模式

概述单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式是一种常见的设计模式,在计算机系统中,线程池、缓存、日志对象、对话框、打印机、数据库操作、显卡的驱动程序常被设计成单例。特点单例模式有以下3个特点:只能有一个实例; 必须自行创建这个实例; 必须给其他对象提供这一实例。应用场景需要频繁实例化然后销毁的对象; 创建对象时耗时过多或者耗资源过...

2018-07-29 09:11:09 128

原创 MySQL锁-乐观锁与悲观锁

锁( Locking )锁在我们学习多线程的时候曾经接触过,其实这里的锁和多线程里面处理并发的锁是一个道理,都是暴力的把资源归为自己所有。这里我们用到锁的目的就是通过一些机制来保证一些数据在某个操作过程中不会被外界修改,这样的机制,在这里也就是所谓的“锁”,即给我们选定的目标数据上锁,使其无法被其他程序修改。乐观锁与悲观锁是两种常见的资源并发锁设计思路,也是并发编程中一个非常基础的概念。 ...

2018-07-28 18:58:52 188

转载 Vertical-Align,你应该知道的一切

好,我们聊聊vertical-align。这个属性主要目的用于将相邻的文本与元素对齐。而实际上,verticle-algin可以在不同上下文中灵活地对齐元素,以及进行细粒度的控制,不必知道元素的大小。元素仍然在文档流中,因而其他元素可以根据它们大小的变化进行相应的调整。一个有用的例子就是居中图标与旁边的文本。Vertical-Align是个怪物可是,vertical-align有时候也很难...

2018-07-26 23:15:08 178

转载 JS 中原型和原型链深入理解

首先要搞明白几个概念:函数(function) 函数对象(function object) 本地对象(native object) 内置对象(build-in object) 宿主对象(host object)函数function foo(){ }var foo = function(){ }前者为函数声明,后者为函数表达式。typeof foo...

2018-07-26 21:49:36 1082

转载 也许,这样理解HTTPS更容易

摘要:本文尝试一步步还原HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样。但是这并不代表HTTPS的真实设计过程。在阅读本文时,你可以尝试放下已有的对HTTPS的理解,这样更利于“还原”过程。我们先不了聊HTTP,HTTPS,我们先从一个聊天软件说起,我们要实现A能发一个hello消息给B:如果我们要实现这个聊天软件,本文只考虑安全性问题,要实现A发给B的hello消...

2018-07-25 22:51:08 104

转载 为啥 Python 运行速度这么慢 ?

作者:Anthony Shaw 是 Python 软件基金会成员和 Apache 基金会成员。 近来Python可谓人气骤升。这门编程语言用于开发运维(DevOps)、数据科学、网站开发和安全。然而,它没有因速度而赢得任何奖牌。 Java在速度方面与C、C++、C#或Python相比如何?答案很大程度上取决于你运行的应用程序的类型。没有哪个基准测试程序尽善尽美,不过The Co...

2018-07-25 22:31:21 25598 1

原创 Linux Zookeeper 3.4.10 安装搭建

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。安装流程1、系统环境Zookeeper要求Java运行环境,并且需要jdk版本1.6以上,相关安装可参考:https://blog...

2018-07-25 19:57:27 419

原创 Linux HBase 1.2.6 安装搭建

HBase是建立在Hadoop文件系统之上的分布式面向列的数据库。它是一个开源项目,是横向扩展的。HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数据。它利用了Hadoop的文件系统(HDFS)提供的容错能力。它是Hadoop的生态系统,提供对数据的随机实时读/写访问,是Hadoop文件系统的一部分。人们可以直接或通过HBase的存储HDFS数据。使用HBas...

2018-07-24 19:46:39 998

原创 Linux Hadoop 2.7.3 安装搭建

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访...

2018-07-24 14:35:55 1421

转载 JavaScript 的 this 原理

一、问题的由来学懂 JavaScript 语言,一个标志就是理解下面两种写法,可能有不一样的结果。var obj = { foo: function () {}};var foo = obj.foo;// 写法一obj.foo()// 写法二foo()上面代码中,虽然obj.foo和foo指向同一个函数,但是执行结果可能不一样。请看下面的例子。var o...

2018-07-23 22:59:27 123

转载 CodeReview 常见代码问题

路线图 常见的潜在代码问题是当前直接会导致BUG、故障或者产品功能不能正常工作的类别。 空值空值恐怕是最容易出现的地方之一。 常见错误有: a. 值为NULL导致空指针异常; b. 参数字符串含有前导或后缀空格没有Trim导致查询为空。 导致以上结果的原因主要有: 无此记录、有此记录但由于SQL访问异常而没查到、网络调用失败、记录中有脏数据、参数没传。原则上,对于任何异常, ...

2018-07-22 16:11:31 628

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除