自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 精确率和召回率

精确率与召回率之间的差别 实际上非常简单,精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP),也就是P=TP/(TP + FP)而召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原

2017-08-25 21:00:39 686

转载 java面试宝典:100个常用问题

Q1 Java内部类和子类之间有什么区别?   Ans:内部类是指在一个外部类的内部再定义一个类,内部类对外部类有访问权限,可以访问类中定义的所有变量和方法。   子类是从父类(superclass)中继承的类,子类可以访问父类所有public和protected的字段和方法。   Q2 Java语言中有哪些常见的访问说明符,有什么意义?   Ans:Java中的访问说明符是放在类名之前,用

2017-05-25 22:00:18 641

原创 Node.js 项目的创建、组织与管理

项目文件的组织目的: 组织为MVC模式: M-model:模型用于组织数据和程序的功能。 V-view:视图用于处理和用户的交互。 C-control:用于将相应的视图请求转发给对应的模型。文件组织方法: 1、水平文件结构:按文件角色组织2、垂直组织结构:按文件功能组织 项目的初始化:两部分前端和后端 建立相应的配置文件:规范的package.json文件 前端:规范的bro

2017-05-16 15:31:57 584

原创 expressjs 与HTML

1、使用expressjs返回HTML内容 HTMLContent-Type :text/htmlfs.createReadStream(‘XXX.html’).pipe(res)res.render()不在js中写代码,在文本中写html然后通过读文件范式返回html模板复用HTML组件,简化开发流程比喻:模具渲染/生成用途:“生成”最终的HTML内容比喻:烤饼干模板引擎:e

2017-05-16 15:16:38 441

原创 expressjs 的配置与路由

expressjs基础主要通过API学习:APIexpressjs初始化配置middleware(有很多回调函数组成) 过滤方式: - app.use - app.get - app.postrequestreq.paramsreq.queryreq.bodyresponse:res.send()next()实例: practice.jsvar express = r

2017-04-19 16:15:14 594

原创 Node.js :语句、函数与变量

语句:条件循环分支break、continuelabelwith条件 if if…else if … else if循环语句 while do…while for循环 for(var key in 对象或数组){}分支语句 1、break 用于跳出 2、有多个满足只会执行第一个;终止于句break : 终止当前循环continue:跳过这次循环,跳到

2017-04-18 22:49:13 857

原创 Node.js javascript 操作符

目录:一元操作符位操作符布尔操作符四则元算操作符关系操作符条件操作符赋值操作符逗号操作符 一元操作符只能操作一个值递增和递减前置和后置n++ ++n 一元加减操作对于非数值的变量先使用Number函数进行转换位操作符进行二进制的操作布尔操作符逻辑非!逻辑与&&逻辑或||四则元算操作符乘:数值是由范围的 有非数值先用Number进行转化除求模加减关

2017-04-17 21:13:06 510

原创 javaScript数据类型

变量弱类型性质:保存值的占位符定义:使用var来定义变量,省略它会定义为全局变量(不推荐) 变量定义示例: 数据类型分类:简单数据类型: Undefined/NULL/String/Number/Boolean复杂数据类型:Object不能创建自定义的数据类型1、Undefined数据类型值定以后没有初始化值定以后,使用undefined来初始化,与不定义是不同的。值为:

2017-04-17 20:57:14 270

原创 Node.js编程

语法:标识符严格模式注释与语句关键字与保留字标识符 - 变量名 - 函数名 - 对象的成员名 - 函数的参数 标识符要求:大小写敏感:标识符和操作符使用下划线、字母、Unicode中的语言字符、美元符号开头,可以包含数字不能使用保留字和关键字命名:驼峰命名法严格模式:作用:消除ECMAScript老版本中的不合理、不严谨、不安全支出,提升效率,为ECMASc

2017-04-17 20:08:09 465

原创 Node.js 特点

特点包括以下几个方面:部署简单方便事件驱动异步编程高校与性能单线程与多线程Node.js缺点部署简单方便:环境配置简单,只需要安装Node.js即可注重约定项目所需要扩展、插件、资源相对独立,不易冲突事件驱动:根据当前出现的时间,调动资源进行相关的处理。异步编程:大多数是同步编程,即在一个单元之内代码是从上到下依次执行,上句没有执行完,下一句就不会执行。异步大不相同,当有I/O发

2017-04-17 16:31:04 636

原创 Node.js 路由

我们要为路由提供请求的URL和其他需要的GET及POST参数,随后路由需要根据这些数据来执行相应的代码。 因此,我们需要查看HTTP请求,从中提取出请求的URL以及GET/POST参数。这一功能应当属于路由还是服务器(甚至作为一个模块自身的功能)确实值得探讨,但这里暂定其为我们的HTTP服务器的功能。 我们需要的所有数据都会包含在request对象中,该对象作为onRequest()回调函数的第

2017-04-16 21:30:06 272

原创 Node.js 函数

在JavaScript中,一个函数可以作为另一个函数的参数。我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数。 Node.js 中函数的使用与Javascript类似,举例来说,你可以这样做:function say(world){ console.log(world);}function execute(someFunction, value){ someF

2017-04-16 20:49:21 448

原创 Node.js模块系统

为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。换言之,一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。创建模块在 Node.js 中,创建一个模块非常简单,如下我们创建一个 ‘main.js’ 文件,代码如下:var h

2017-04-16 20:38:05 361

原创 Node.js Stream(流)

Stream 是一个抽象接口,Node 中有很多对象实现了这个接口。例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出)。 Node.js,Stream 有四种流类型:Readable - 可读操作。Writable - 可写操作。Duplex - 可读可写操作.Transform - 操作被写入数据,然后读出结果。 所有的 Stre

2017-04-16 15:55:24 624

原创 Node.js Buffer(缓冲区)

JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。 但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。 在 Node.js 中,Buffer 类是随 Node 内核一起发布的核心库。Buffer 库为 Node.js 带来了一种存储原始数据的方法,可以让 Node.js 处理

2017-04-16 14:41:59 922

原创 Node.js EventEmitter

Node.js EventEmitterNode.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列。 Node.js里面的许多对象都会分发事件:一个net.Server对象会在每次有新连接时分发一个事件, 一个fs.readStream对象会在文件被打开的时候发出一个事件。 所有这些产生事件的对象都是 events.EventEmitter 的实例。EventEmitter 类ev

2017-04-16 13:45:19 495

转载 Linux中查看某个软件的安装路径

Linux中查看某个软件的安装路径(地址)有时显得非常重要。比如某个文件的快速启动项被删除,或者你要建立快速启动项,或者想删除、添加安装文件等等,很多地方都要用到查案文件安装路径的命令。这里给大家介绍Linux查看文件安装路径(地址)命令。一、查看文件安装路径: 由于软件安装的地方不止一个地方,所有先说查看文件安装的所有路径(地址)。这里以Oracle为例。比如说我安装了Oracle,但是不知道文

2017-04-11 17:35:44 67176 2

原创 NPM的使用

1、使用介绍:允许用户从NPM服务器下载别人编写的第三方包到本地使用。允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。2、查看NPM版本:$ npm -v3.8.9升级旧版的npm$ sudo npm install npm -gPassword:loadRequestedDeps → netwo ▀ ╢█

2017-04-11 17:00:06 667

原创 初始Node.js

1、创建模块:引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。2、Hello world!引入required模块var http

2017-04-11 16:23:43 427

转载 最小费用流---ZKW算法

网络流的一些基本概念 很多同学建立过网络流模型做题目, 也学过了各种算法, 但是对于基本的概念反而说不清楚. 虽然不同的模型在具体叫法上可能不相同, 但是不同叫法对应的思想是一致的. 下面的讨论力求规范, 个别地方可能需要对通常的叫法加以澄清.  求解可行流: 给定一个网络流图, 初始时每个节点不一定平衡 (每个节点可以有盈余或不足), 每条边的流量可以有上下界, 每条边的当前流量可以不满足上下界

2017-04-04 19:36:03 10715 2

原创 动态规划--DP

一、 DP介绍: 动态规划与分治方法相似,都是通过组合子问题来求解原问题 的解。与之相反,动态规划应用于子问题重叠的情况,即不同子问题具有公共子问题。而分治方法处理的是互不相同的子问题,递归求解子问题再将它们组合起来。 动态规划有两个性质:1.子问题重叠(相同子问题求解很多次)2.最优子结构。 二、求解DP问题的主要步骤: - 构造最优子结构:刻画一个最优解的结构特征;

2017-03-10 17:52:22 2428

原创 JAVA编程规范

1、JAVA编程排版2、java编程注释3、JAVA编程变量命名规则4、JAVA编程变量和类型

2017-03-08 17:06:48 392

原创 java集合框架:

从自己的认识中,总结下java集合框架: 1、Set: 对于HashSet 而言,它是基于HashMap实现的,HashSet底层采用HashMap来保存所有元素,因此HashSet的实现比较简单。 底层方式:在存放一个元素时,定义一个虚拟的object对象作为HashMap的Value。每个往HashSet中存放时实质上是map.put

2017-01-08 15:35:50 273

原创 并行方法

总结一下自己常用到的线程池的一些方法: 先看一张结构图: 转自:http://www.cnblogs.com/jersey/archive/2011/03/30/2000231.html 1、线程池: java.until.current 包提供了现成的线程池的实现。 Executor 接口, ExecutorService Executor 的子接口,它中声明了管理线程池的一些方法,比如

2017-01-08 14:41:43 826

原创 Spark 运行出现java.lang.OutOfMemoryError: Java heap space

具体错误如截图: 主要就是java内存溢出。 之前尝试过很多方法:/conf中设置spark-java-opts 等,都没有解决问题。其实问题就是JVM在运行时内存不够导致。可以通过命令:./spark-submit --help可以看到大家运行时内存的默认值,有的电脑是512M有的电脑是1024M******:bin duyang$ ./spark-submit --helpUsage:

2017-01-06 15:14:51 16448 1

原创 scala 单词计数

在spark中实现单词计数利用到了map分reduceByKey合的方法,但是scala中没有reduceByKey的方法,需要我们自行实现,这里提供两种方法: 直接上代码: 一、scala> import scala.collection.mutable.ArrayBufferimport scala.collection.mutable.ArrayBufferscala> val a =

2017-01-04 17:09:04 1696

转载 Mac集成Python

原创地址:http://blog.justbilt.com/2014/07/02/setup_python_on_mac/ 一. 安装pythonmac系统其实自带了一个python的执行执行环境,用来运行python还行,但是开发可能就不够了,因此我们需要重新安装python。这里有两种方案安装: 1.homebrewbrew install python这个方案比较简单,如果出错的话可以给前

2017-01-04 16:15:05 382

原创 Spark--数据读取与保存

1、动机 有时候数据量会大到本机可能无法存储,这时就需要探索别的读取和保存方法了。 Spark支持很多种输入源和输出源。一部分原因是Spark本身是基于Hadoop生态圈二构建的,so spark可以通过Hadoop MapReduce 所使用的InputFormat 和 OutPutFormat 接口访问数据,而大部分常见的文件格式与存储系统(S3,HDFS,Cassandra,HBase等)

2016-12-19 19:47:31 13279 1

原创 RDD分区

1、获取RDD分区的方式:scala> val rdd = sc.parallelize(Seq((1,2),(3,4),(3,6)))rdd: org.apache.spark.rdd.RDD[(Int, Int)] = ParallelCollectionRDD[28] at parallelize at <console>:30scala> val partitioned = rdd.par

2016-12-14 20:56:29 494

原创 Pair RDD行动操作

1、countByKey: 对每个键对应的元素分别计数。scala> val a = Seq((1,2),(3,4),(3,6))a: Seq[(Int, Int)] = List((1,2), (3,4), (3,6))scala> rdd.countByKey()res10: scala.collection.Map[Int,Long] = Map(1 -> 1, 3 -> 2)2、coll

2016-12-14 18:05:24 380

原创 Pair RDD

1、创建Pair RDD 当需要把一个普通的RDD转为Pair RDD时,可以用map()函数来实现。例如:scala> val lines = sc.makeRDD(List(("No pains"),("No gains")))lines: org.apache.spark.rdd.RDD[String] = ParallelCollectionRDD[0] at makeRDD at <

2016-12-13 18:00:16 384

原创 spark持久化(缓存)

1、惰性求值: RDD转化过程都是惰性求值的。这意味着在被调用行动操作之前spark不会开始计算,spark会在内部记录下所要求执行的操作的相关信息,我们可以把每个RDD看作我们通过转化操作构建出来的、记录如何计算数据的指定列表。把数据读取到RDD的操作同样是惰性的。2、持久化缓存 SparkRDD是惰性求值的,而有时候我们希望能够多次使用同一个RDD。如果简单地对RDD调用行动操作,Spark

2016-12-12 16:48:30 1939

原创 RDD行动操作

行动操作是第二种类型的RDD操作,它们会把最终求得的结果返回到驱动器程序中,或者写入外部存储系统中。 常见的RDD行动操作: 1. reduce() :它接收一个函数作为参数,这个函数要操作两个相同的元素类型的RDD数据并返回一个同样类型的新元素。一个简单的例子就是函数+,可以用它来对我们的RDD进行累加。使用reduce课以很方便地计算出RDD中所有元素的总和,元素个数,以及其他类型的聚合操

2016-12-05 17:56:12 1145

原创 RDD基本转化操作:filter、union、intersection、subtract、map

1、filter 简单说就是过滤操作,得到自己想要的元素。 val inputRDD = sc.textFile("README.md")inputRDD: org.apache.spark.rdd.RDD[String] = README.md MapPartitionsRDD[1] at textFile at <console>:24scala> val pythonRDD = input

2016-12-05 16:29:30 1205

原创 Mybatis中动态SQL(if,where,foreach 的使用)

mybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。 1、statement中直接定义使用动态SQL: 在statement中利用if 和 where 条件组合达到我们的需求,通过一个例子来说明: 原SQL语句:<select id="findUserByUserQuveryVo" parameterType ="UserQueryVo" result

2016-12-02 16:55:24 29958 1

原创 Mybatis 输入和输出映射

在mybatis中,我们常常需要通过输入和输出映射来指定输入和输出的类型。 输入映射: 在mapper的statement中,我们通过parameterType指定输入参数的类型,类型可以是简单类型、hashMap以及pojo的包装类型。 1、对于简单类型,比如int,String等,我们可以直接进行使用,比如一条statement:<select id="findUserByID" para

2016-11-30 15:46:26 1919

原创 eclipse 上Spark 环境搭建中遇到的问题

在eclipse上搭建spark时遇到一个问题,问题如下: More than one scala library found in the build path,后面还有,简单来说意思就是版本不匹配,有多个版本存在。 查了一些资料,解决方法如下: 1.新建scala工程,在建工程时要移除自带的scala版本库具体操作是: 点击next: 点击scala library 然后点击移

2016-11-29 19:39:56 541

原创 mybatis中sqlMapConfig配置

1、类型处理器(typeHandlers): mybatis中通过typeHandlers完成jdbc类型和java类型的转换。 通常情况下,mybatis提供的类型处理器满足日常需要,不需要自定义. 常用到的类型处理器中的转换: 2、mapper(映射配置):(1)通过resource加载单个映射文件,比如:<mapper resource = "com/dy/sqlMapper/User

2016-11-24 16:14:12 498

原创 初识RDD

1、Spark中的RDD就是一个不可变的分布式对象集合,每个RDD都被分为多个分区,这些分区运行在集群中的不同节点上。 2、RDD创建方式: 通过读取一个外部数据集,textFile方法来构建scala> val lines = sc.textFile("README.md")lines: org.apache.spark.rdd.RDD[String] = README.md MapPart

2016-11-24 16:03:00 988

原创 mac上多个jdk版本互相切换

关键步骤:命令:vim ~/.profile输入以下内容:#JDK 7export JAVA_7_HOME=$(/usr/libexec/java_home -v 1.7.0_80)#JDK 8export JAVA_8_HOME=(/usr/libexec/javahome−v1.8.060)默认JDK8exportJAVAHOME=(/usr/libexec/java_home -v 1.8

2016-11-23 15:32:31 359

空空如也

空空如也

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

TA关注的人

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