自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(160)
  • 收藏
  • 关注

原创 Python 代码风格

1 原则在开始讨论Python社区所采用的具体标准或是由其他人推荐的建议之前,考虑一些总体原则非常重要。请记住可读性标准的目标是提升可读性。这些规则存在的目的就是为了帮助人读写代码,而不是相反。本小节讨论你所需记住的一些原则。1.1 假定你的代码需要维护人们很容易倾向相信某时所完成的工作在未来不需要添加一部分或对其维护。这是由于很难预料到未来的需求,以及低估

2017-07-05 10:42:37 413

转载 OVER子句

Over子句在SQLServer 2005中回归,并且在2012中得到了扩展。这个功能主要结合窗口函数来使用;也可以在序列函数“NEXT VALUE FOR”使用。OVER子句确定哪些来自查询的列被应用到函数中,在函数中这些列被如何排序,并且何时重启函数计算。由于篇幅限制,本篇仅仅就OVER子句讨论,不再深入各种函数了(提供几个2014中新增的函数)。语法: OVER (

2017-07-05 10:38:40 356

转载 常见的相似或相异程度计算方法

如何衡量数据点之间的相似或相异程度是聚类算法的基础问题,会直接影响聚类分析的效果,最直观的方法是使用距离函数或者相似性函数。常见的相似或相异程度计算方法。1.计算公式1.Minkowski distance很多距离计算方法都可以归结为基于向量p范数的距离,即Minkowski distance。dij=(sumsh=1|xih−xjh|p)1/pdij=(s

2017-05-19 09:58:43 641

转载 Spark中决策树源码分析

1.Example使用Spark MLlib中决策树分类器API,训练出一个决策树模型,使用Python开发。"""Decision Tree Classification Example."""from __future__ import print_functionfrom pyspark import SparkContextfrom pyspark.mllib.tr

2017-05-19 09:58:01 800

转载 SVM算法

1 基本介绍支持向量机算法是一个有效的分类算法,可用于分类、回归等任务,在传统的机器学习任务中,通过人工构造、选择特征,然后使用支持向量机作为训练器,可以得到一个效果很好的base-line训练器。支持向量机具有如下的优缺点,优点:高维空间有效;维度大于样本数量的情况下,依然有效;预测时使用训练样本的子集(也即支持向量),节省内存;可以使用不同的核函数用于决策;

2017-05-19 09:56:28 538

原创 Python标准模块--itertools

1 模块简介Python提供了itertools模块,可以创建属于自己的迭代器。itertools提供的工具快速并且节约内存。开发者可以使用这些工具创建属于自己特定的迭代器,这些特定的迭代器可以用于有效的遍历。2 模块使用2.1 无限迭代器itertools中有个三个迭代器是无限迭代的,这就意味着当你在使用它们时,你需要了解你要么从这些迭代器中终止,要么就是无限循环

2017-05-19 09:55:07 431

原创 Python标准模块--threading

1 模块简介threading模块在Python1.5.2中首次引入,是低级thread模块的一个增强版。threading模块让线程使用起来更加容易,允许程序同一时间运行多个操作。不过请注意,Python中的线程最好是与IO操作一起工作,比如从网络上下载资源或者从你的电脑中读取文件和目录。如果你需要处理一些CPU密集的任务,你最好是看看Python的multiprocessing

2017-05-19 09:53:52 251

转载 Python标准模块--asyncio

1 模块简介asyncio模块作为一个临时的库,在Python 3.4版本中加入。这意味着,asyncio模块可能做不到向后兼容甚至在后续的Python版本中被删除。根据Python官方文档,asyncio通过coroutines、sockets和其它资源上的多路复用IO访问、运行网络客户端和服务端以及其它相关的原始服务等提供了一种单线程并发应用的架构。本文并不能覆盖所有关于asyncio模块

2017-05-19 09:52:13 995

转载 Python标准模块--Iterators和Generators

1 模块简介当你开始使用Python编程时,你或许已经使用了iterators(迭代器)和generators(生成器),你当时可能并没有意识到。在本篇博文中,我们将会学习迭代器和生成器是什么。当然,我们也会了解如何创建它们,在我们需要的时候,就可以创建属于我们自己的迭代器和生成器。2 模块使用2.1 迭代器迭代器是一个允许你在一个容器上进行迭代的对象。Python的迭代器主要通过

2017-05-19 09:51:18 289

转载 Python标准库--Scope

1 模块简介你一定在很多计算机科学课程上听说过作用域。它很重要,如果你不理解它的工作原理,那么就会出现一些令人困惑的错误。作用域最基本的功能就是告诉编译器一个变量什么时候是可见的。也就是说,作用域定义了你使用变量的时间和范围。当你尝试使用一些不在当前作用域的变量时,你就会得到NameError。Python有三类作用域:局部作用域;全局作用域;非局部作用域(Python 3 中新增

2017-05-19 09:50:21 256

转载 依赖注入和单元测试

1. 一辆简单的car首先我们考虑一个简单的例子,这里我们使用engine 类和car 类。为了更加清楚的描述问题,我们将类和接口都置空。每辆car会有一个engine,我们想给car装备上著名的MooseEngine。Engine类如下: 1 public interface Engine { 2 3 } 4 5 public class Slow

2017-05-19 09:48:43 1064

原创 ConcurrentHashMap原理分析

HashTable是一个线程安全的类,它使用synchronized来锁住整张Hash表来实现线程安全,即每次锁住整张表让线程独占。ConcurrentHashMap允许多个修改操作并发进行,其关键在于使用了锁分离技术。它使用了多个锁来控制对hash表的不同部分进行的修改。ConcurrentHashMap内部使用段(Segment)来表示这些不同的部分,每个段其实就是一个小的Hashtable,

2017-05-19 09:47:32 204

转载 数据库面试知识

1. 数据库的范式    范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,即:第一

2017-05-19 09:46:19 163

原创 SQL优化总结

SQL是每个Java程序员必回的一项技能,  对于项目中的各种复杂业务, 你是否能写出高效率, 简洁的SQL对于项目的运行效率和稳定性是有非常大的作用的. 通过个人的理解和网上的资料总结了一下常见的SQL优化知识: (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础

2017-05-19 09:45:21 196

原创 在Javascript中 声明时用"var"与不用"var"的区别,== 和 ===的区别

1. 在Javascript中 声明时用"var"与不用"var"的区别Javascript声明变量时var a = 111;和a = 111;两种方式一样吗?var a = 11;function test4(){ var a = 22;}test4();console.log(a);结果是什么呢?

2017-05-19 09:44:24 382

原创 Servlet 生命周期、工作原理

servlet 加载--->实例化--->服务--->销毁。init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init()。service():它是Servlet的核心

2017-05-19 09:43:26 242

转载 常用设计模式的小结和实际中的应用

1.单例模式(Singleton): 保证一个类仅有一个实例,并提供一个访问它的全局控制点. 比如在加载配置文件时, 可使用该模式. 2.工厂模式(Factory): 定义一个用以创建对象的接口, 让子类决定实例化哪个类. 当遇到需要根据某个前提条件创建不同的类实现时, 会实用工厂模式.  3.抽象工厂模式(Abstract Factory): 提供一个创建

2017-05-19 09:42:35 263

原创 数据库事务的四大特性以及事务的隔离级别

一. 数据库中事务的四大特性(ACID)⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致性(Consistency)  一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状

2017-05-19 09:41:47 171

转载 分布式服务框架 Zookeeper — 管理分布式环境中的数据

第一阶段:1.理解ZooKeeper的应用ZooKeeper是什么ZooKeeper能干什么ZooKeeper 怎么使用第二阶段:2.理解ZooKeeper原理准备了解paxos理解 zab原理理解选举/同步流程第三阶段:3.深入ZooKeeper原理分析源码尝试开发分布式应用由于内容较多,而且

2017-05-19 09:39:43 333

转载 Redis 为什么使用单进程单线程方式也这么快

Redis 采用的是基于内存的采用的是单进程单线程模型的 KV 数据库,由 C 语言编写。官方提供的数据是可以达到100000+的 qps。这个数据不比采用单进程多线程的同样基于内存的 KV 数据库 Memcached 差。Redis 快的主要原因有:完全基于内存;数据结构简单,对数据操作也简单;使用多路 I/O 复用模型;第一、二点不细讲,主要围绕第三点采

2017-05-19 09:38:45 335

转载 对ThreadLocal的源码解读

早在JDK 1.2的版本中就提供Java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 功能:当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。Th

2017-05-19 09:37:40 258

转载 HTTP 和 HTTPS

一、HTTP协议最近看了一些网络通信方面的书籍,研究了一下 HTTP 和 TCP/IP,有了一些新的收获和理解,在这里做个归纳和总结。(1)什么是HTTP协议HTTP (HyperText Transfer Protocol,超文本传输协议) 是一种通信协议,是指计算机网络中两台计算机之间进行通信所必须共同遵守的规定或规则,它允许将超文本标记语言(HTML)文档从Web服务

2017-05-19 09:36:16 1139

原创 mysql show 语句

help show;显示show语句语法show databases;显示可用数据库 show tables;显示可用数据表 show columns from tb_name;显示表的列 describe tb_name;显示表的列 show status;显示广泛的服务器状态信息 show create database;显示创建特定数据库的语句 show cr

2017-05-18 11:44:50 160

原创 CentOS 7 yum安装配置mysql

首先去官网下载要用的yum源 传送门:http://dev.mysql.com/downloads/repo/yum/ yum源文件:/home/mysql57-community-release-el7-8.noarch.rpm 是一个rpm包,如果是Gnome,可以选择centos7的软件包安装程序安装即可。也可以用命令的方式安装:rpm -ivh /home/mysql5

2017-05-18 09:57:09 216

转载 Github开源编辑器Atom

Atom是Github社区开发的一款开源编辑器,很有sublime text特色,相当于开源的sublime text。sublime text用了很长时间了,为什么会重新学习使用另外一款编辑器呢?原因很简单,Atom是开源的,免费的。虽然说网上有很多sublime text的注册码,但是,盗版终归是盗版。自己用着不舒服,有人肯定会说“博主这逼装的给满分“。满分就满分吧,不过如果有

2017-05-18 09:56:22 231

转载 MySQL的数据控制语言DCL

我们使用DDL的"CREATE USER"语句创建用户,新的SQL用户不允许访问属于其他SQL用户的表,也不能立即创建自己的表,它必须被授权。可以授予的权限包括以下几组:1.列权限:和表中的一个具体列相关2.表权限:和一个具体数据表中所有数据相关3.数据库权限:和一个具体数据库中所有数据表相关4.用户权限:和MySQL所有的数据库相关可以使用SHOW GRANTS命令查看当

2017-05-18 09:55:32 125

转载 MySQL字符编码设置

通过show variables like 'character_set%%';查看编码修改mysql的编码方式可以有以下几个:1.通过配置文件修改my.ini(windows下)或/etc/my.cnf(linux下)分别添加如下内容[mysqld]character_server_set=utf8[mysql]default-character-se

2017-05-18 09:54:44 161

转载 Java中点击事件的四种写法

点击事件的必备条件:实现OnClickListener接口,重写onclick(View v)方法以拨号简单案例为例,如下图效果:逻辑流程:获取点击对象,获取数据给对象设置监听类实现OnClickListener接口,重写onClick(View v)方法onClick(View v)逻辑:获取输入内容:使用EditText对

2017-05-18 09:54:05 1842

原创 原生ajax瀑布流demo

最近听朋友们说起瀑布流挺多的,自己就去研究下了,一个简单的原生demo,分享给大家...  简单分为三个文档,有详细的注释:img;ajax.php;demo.php    其中img文件夹中放入图片 1.jpg;2.jpg;3.jpg....  ajax.php页面    //模拟从数据库读取数据    $arr = array();    $op = opendir

2017-05-18 09:53:01 184

转载 由typedef和函数指针引起的危机

发现里面用到了函数指针,也用到的typedef。本来我自以为对这两个概念有一定的认识,但是突然发现这两个东西居然用到了一起!!!!(在一起了也不说一声,一点心理准备都没有):typedef int (* fp)(void *para, void *end);瞬间就蒙了,这是个啥东西???于是我开始看书,上网查资料,想弄明白。在这个过程中,我发现自己不仅仅是对这两个概念理解不够!!!

2017-05-18 09:52:04 155

原创 yii2 resetful 授权验证

什么是restful风格的api呢?我们之前有写过大篇的文章来介绍其概念以及基本操作。既然写过了,那今天是要说点什么吗?这篇文章主要针对实际场景中api的部署来写。我们今天就来大大的侃侃那些年api遇到的授权验证问题!独家干活,如果看完有所受益,记得不要忘记给我点赞哦。业务分析我们先来了解一下整个逻辑用户在客户端填写登录表单用户提交表单,客户端请求登

2017-05-18 09:50:58 311

转载 Memcache服务搭建

Memcache  Memcache的作用网上资料都讲的很好,说简单点就是减轻读取数据库的压力,原理也很简单:  被请求的数据会先到memcache里去取,如果没有就去数据库里取,顺便给memcache带一份。  每次更新数据也先更新memcache里的数据,如果没有则更新数据库,同时更新memcache。  因此需要注意的是这个数据是易失去性存储的。 

2017-05-18 09:49:50 303

转载 jquery之效果操作

html代码div>div>p>123p>input type="button" id="btn" value="显示">input type="button" id="btn1" value="隐藏">input type="button" id="btn2" value="切换">css代码div{ width: 100px; height: 100

2017-05-18 09:48:54 171

原创 js控制图片自动缩放,实现铺满盒子,不变形,完全局中

此js一般用于控制图片铺满盒子,但是比例不变,并且绝对局中原理:判断图片的高宽与盒子高宽的大小的关系,然后通过比例来控制图片的缩放及定位DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">html xmlns="

2017-05-18 09:47:56 2010

原创 正则验证,match()与test()函数的区别?

test是RegExp的方法,参数是字符串,返回值是boolean类型。match是String的方法,参数是正则表达式,返回值是数组。 案例: 1 //判断日期类型是否为YYYY-MM-DD格式的类型 2 function IsDate(){ 3 var str = document.getElementById('str').val

2017-05-18 09:46:40 635

原创 eval基础,基础用法及解析json

8 body>10 11 eval 的使用:eval(string)12 计算某个字符串,并执行其中的js代码13 14 字符串上运用 eval()15 eval("x = 10;y = 2;document.write(x*y)");16 17 -->18 scrip

2017-05-18 09:45:50 217

转载 css3特效样式库

直接调用样式类即可: 1 /* animation */ 2 .a-bounce,.a-flip,.a-flash,.a-shake,.a-swing,.a-wobble,.a-ring{-webkit-animation:1s ease;-moz-animation:1s ease;-ms-animation:1s ease;animation:1s ease;} 3 .a

2017-05-18 09:44:58 182

转载 touch事件应用

js的touch事件,一般用于移动端的触屏滑动:$(function(){  document.addEventListener("touchmove", _touch, false);}) function _touch(event){alert(1);}touchstart:当手指触摸屏幕时触发;即使已经有一个手指放在了屏幕上也会触发。touchmove:当手指在屏幕上

2017-05-18 09:43:30 147

转载 js中的call()方法与apply()方法

一、call方法的定义关于call的定义都很拗口。在我的理解,a.call(b,arg1,arg2..)就是a对象的方法应用到b对象上。例如如下例子:function add(a,b){alert(a+b);}function reduce(a,b){alert(a-b);}add.call(reduce,1,3) //将add方法运用到reduce,结果为4

2017-05-18 09:42:26 185

转载 prototype为对象添加属性和方法

可以通过prototype来为已经定义好的的"类"添加属性和方法。这里来了解一下prototype的基础知识。prototype是"构造函数"的属性,不是实例的属性.示例:function HiClass() { this.sayHi = function(){ alert("hi"); } } var obj = ne

2017-05-18 09:41:25 856

空空如也

空空如也

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

TA关注的人

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