自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

流沙-岁月

珍惜黄昏的村庄,珍惜雨后的村庄,万里无云如同我永恒的悲伤。

  • 博客(168)
  • 问答 (1)
  • 收藏
  • 关注

原创 pycharm上写spark程序

百度的一堆结果全是下面这样:  感觉特别醉,这样不说from pyspark import SparkContext时,pycharm会提示红线,而且没有自动补全,根本就不实用。后来还是在Google上找到了个方法:将$SPARK_HOME/python/pyspark复制到pycharm所使用的python解释器默认会去寻找的模块目录下

2017-11-27 18:16:53 6134

转载 使用命令行编译打包运行自己的MapReduce程序 Hadoop2.4.1

网上的MapReduce WordCount教程对于如何编译WordCount.java几乎是一笔带过… 而有写到的,大多又是 0.20 等旧版本版本的做法,即 javac -classpath /usr/local/Hadoop/hadoop-1.0.1/hadoop-core-1.0.1.jar WordCount.java,但较新的 2.X 版本中,已经没有 hadoop-core*.j

2017-11-21 18:02:27 865

原创 web token身份验证

一:为什么需要token身份验证:以前使用的身份验证包括:HTTP Basic AuthHTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下被使用的越来

2017-08-29 18:25:10 1272

原创 spring security 学习笔记

作用:spring security为企业级应用提供声明式安全访问和权限控制解决方案的框架。提供了一组可以在Spring应用上下文中配置的Bean,减少了为企业系统安全控制编写大量重复代码的工作。一。初级:简单的登陆验证,账号和密码直接配置在xml文件中在pom.xml中添加: org.springframework.security spring-se

2017-08-23 14:09:49 240

原创 hadoop 学习记录

1.本地MapReduce程序打包运行我们将 Hadoop 的 classhpath 信息添加到 CLASSPATH 变量中,在 ~/.bashrc 中增加如下几行:export HADOOP_HOME=/usr/local/hadoop #HADOOP_HOME已经定义则不需要写export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpa

2017-08-17 18:20:34 384

原创 mac 下,tmux进入后默认为zsh的方法

在 ~/.tmux.conf文件中加"set -g default-shell /bin/zsh" 和 "set -g default-command /bin/zsh",设置tmux的默认shell为zsh。

2017-08-09 14:59:56 5192

转载 spring 多线程

线程池:corePoolSize:核心池的大小,这个参数跟后面讲述的线程池的实现原理有非常大的关系。在创建了线程池后,默认情况下,线程池中并没有任何线程,而是等待有任务到来才创建线程去执行任务,除非调用了prestartAllCoreThreads()或者prestartCoreThread()方法,从这2个方法的名字就可以看出,是预创建线程的意思,即在没有任务到来之前就创建coreP

2017-08-02 17:05:01 382

转载 mysql 锁

MySQL的表锁有两种模式:表共享读锁(Table Read Lock)和表独占写锁(Table Write Lock)。锁模式的兼容如下表MySQL中的表锁兼容性当前锁模式/是否兼容/请求锁模式None读锁写锁读锁是是否写锁是否否

2017-08-01 10:45:14 197

转载 spring ContentNegotiationManagerFactoryBean 内容协商

一.什么是内容协商简单点说,就是同一资源,可以有多种表现形式,比如xml、json等,具体使用哪种表现形式,是可以协商的。这是RESTfull的一个重要特性,Spring Web MVC也支持这个功能。       1.Spring MVC REST是如何决定采用何种方式(视图)来展示内容呢?一:根据Http请求的header中的Accept属性的值来判读,

2017-07-31 14:25:55 11646

转载 spring ControllerAdvice

统一异常处理:本文介绍spring MVC的自定义异常处理,即在Controller中抛出自定义的异常时,客户端收到更友好的JSON格式的提示。而不是常见的报错页面。1. 使用@ControllerAdvice注解@ControllerAdvice,是spring3.2提供的新注解,从名字上可以看出大体意思是控制器增强。使用扫描时也能扫描到。@ControllerAdvice注解内

2017-07-28 16:00:36 497

原创 pycharm

Pycharm下无法导入安装好的第三方模块requests?在cmd下使用pip安装好requests模块后,可以使用import requests,但在Pycharm IDE下无法导入,出现如下错误: 原因:电脑里同时装了Python2.7 和 Python3.5 ,只在Python3.5下安装了requests模块,并没有在Python2.7 下安装。解决:  

2017-07-22 14:39:14 330

转载 spring bean的装配

spring框架的一个核心就是DI,IOC容器管理1.      在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的Java文件,如果扫描到有@Component @Controller@Service等这些注解的类,则把这些类注册为bean。     ,另一个标签根本可以移除掉,因为已经被包含进去了     http://blog.csd

2017-07-20 17:27:13 174

原创 mybatis 学习笔记

一。实体属性名与表字段名不匹配问题http://blog.csdn.net/u010837612/article/details/45670801,从中也可以知道mybatis的属性映射xml文件里resultMap 元素的作用,它是 MyBatis 中最重要最强大的元素。二。SpringMVC获取页面参数的三种方法三。在dao包下创建一个UserM

2017-07-16 17:21:22 234

转载 spring 学习笔记

一. AOP      OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。例如日志功能。日志代码往往水平地散布在所有对象层次中,而与它所散布到的对象的核心功能毫无关系。对于其他类型的代码,如安全性、异常处理和透明的持续性也是

2017-07-13 20:43:03 340

原创 maven 学习笔记

一。作用maven 的作用包括项目构建、项目依赖管理、版本管理、项目的站点信息描述管理。       项目构建:1.maven有个archetype,能指定项目的生成模板。2.生命周期:maven对project的build有一个生命周期,这个生命周期分为三个阶段:clean,install,deploy。每个阶段内都包含多个小阶段。依赖管理:1. 需要使用的jar包可以在pom.

2017-07-13 10:00:12 213

原创 linux 笔记

一. boot 空间不足解决方法。1.打开终端敲入如下命令,查看系统现有内核:linux-image-4.8.0-46-generic install$ dpkg --get-selections |grep linux-image linux-image-4.8.0-46-generic            installlinux-image-4.8.0-49-generic

2017-06-10 12:56:20 854 1

原创 mysql外键

建立外键:create table user_action( id int primary key auto_increment, user_id int, item_id int, rate int not null default 0, time varchar(20), foreign key(id) references user(id)

2017-04-16 21:42:14 216

原创 spark 学习记录

1. Intelli上Scala的Maven项目打包本地第三方jar包导航到 File-> Project Structure -> Modules -> Dependencies ,然后点击右边的“+”号,添加本地jar包即可。

2017-03-03 11:43:52 318

原创 Macx mysql5.7安装

1. 在官网下载.dmg包,按提示一步步安装。2.系统偏好设置的其他里,点击“mysql”的图标->点击Start MySQL Server按钮,启动mysql3. 设置环境变量export PATH=/usr/local/mysql/bin:$PATH4. 修改root密码1. 打开一个终端窗口2. 在系统偏好设置里先关闭Mysql服务3. 输入 sudo /

2017-02-09 16:34:27 207

原创 Mac下hadoop2.7 伪分布式安装

一。MAC OS下的JDK安装及其路径1、首先安装jdk,直接百度或者Google搜索就有MAC版本的jdk,本实验环境是jdk1.8.0_66.jdk,Hadoop的安装也必须在jdk 1.6版本以上。2、MAC中自带有安装的jdk,查看其默认路径如图:/Java>/System/Library/Frameworks/JavaVM.framework/Versions

2017-02-09 10:58:43 3093 1

原创 spark学习&错误记录

1.spark-submit 出现java.lang.NoSuchMethodError:检查spark版本支持的scala版本(用spark-shell查看)与编写工程所用的scala版本(查看build.sbt里的scalaVersion)是否兼容。

2017-01-09 17:47:35 279

转载 移动硬盘选购锦囊2.0版

之所以写下这么一篇文章,是由于本人折腾坏过不计数的移动存储设备,在存储设备方面的惨痛经验也可谓前所未有。正是因为此,本人决定写一篇较为全面的终极移动硬盘选购全攻略,让每个人都能挑到自己满意的移动硬盘。认识移动硬盘从移动硬盘发展史来说,我们会很奇怪的发现,最初是没有移动硬盘这个概念,也没有人去讲它的历史,它是从硬盘的发展衍生而来。把2.5寸硬盘加上一快指令电路板来

2016-12-28 10:49:43 2060

转载 再谈互斥锁与条件变量

pthread_cond_wait总和一个互斥锁结合使用。在调用pthread_cond_wait前要先获取锁。pthread_cond_wait函数执行时先自动释放指定的锁,然后等待条件变量的变化。在函数调用返回之前,自动将指定的互斥量重新锁住。int pthread_cond_signal(pthread_cond_t * cond);pthread_cond_signal通过

2016-10-15 17:31:16 239

原创 leetcode402

思路:对于一个数字,删除任何一位都会使其使其下降一个等级,那么应该删除哪一位呢?对1243而言,显然应该删掉‘4’;10200应该删掉'1', 1421应该删掉‘4’;1234应该删掉'4‘;综上,可以用一个栈维持一个递增序列,当压入栈的元素比栈顶元素小时,把栈顶元素弹出。代码:#include #include #include #include #include #inclu

2016-10-02 15:28:09 392

原创 桥接模式

定义:将抽象部分与实现部分分离,使它们都可以独立的变化。用处:桥接模式就将实现与抽象分离开来,使得RefinedAbstraction依赖于抽象的实现,这样实现了依赖倒转原则,而不管左边的抽象如何变化,只要实现方法不变,右边的具体实现就不需要修改,而右边的具体实现方法发生变化,只要接口不变,左边的抽象也不需要修改。适用场景:1.当一个对象有多个变化因素的时候,考虑依赖于抽象的实现,而不

2016-09-03 16:28:12 239

原创 观察者模式

定义:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。当一个对象发生了变化,关注它的对象就会得到通知;这种交互也称为发布-订阅(publish-subscribe)。主题是通知的发布者,它发出通知时并不需要知道谁是它的观察者,而观察者只需注册主题后,就可以获取通知,若不想继续观察主题,让主题在观察者列表中删掉对应观察者就好了。适用场景:1

2016-08-28 18:46:39 429

原创 vundle: vim插件管理安装之错误总结

我安装遇到的主要问题是不知道vundle有老版和新版之分,以致于rpt设置的新版,git clone 的却是老版,于是就遇到一些诡异的问题了,例如找不到:BuildInstall命令。。。vundle新版和旧版还是差的比较多的。旧版:vundle#rc()、Bundle;新版:vundle#begin()、Plugin.网上找到的大部分是老版本的安装方式,如下:一. Vundl

2016-08-23 22:57:54 23125 3

原创 策略模式

定义:将一系列相关算法封装成算法簇,使它们可以相互替换。使算法可以独立于使用者而变换。适用场景:当类的行为经常发生变化时,可将其行为提取出来,将不同的行为封装成一个算法簇,对使用者只提供一个抽象接口。这样也满足了OO三大原则:封装变化,针对接  口编程,多用组合少用继承组成:strategy: 定义所有支持的算法的公共接口concrete strategy: 实现了具体的算法行

2016-08-21 16:04:04 293

原创 代理模式

用处:为某个对象提供代理以控制对对象的访问。在某些情况下我们无法直接使用或访问对象,所以需要使用一层代理,通过代理访问对象。典型如网络中的代理服务器,网页加载时文字先加载,一些图片,视频后加载,在初期只提供这些这些资源开销大的对象的一个代理。           代理

2016-08-16 22:09:15 232

原创 适配器模式

作用:使原本因接口不兼容而不能一起工作的类能够协同工作。适用场景:当想复用某个类,而类的接口与环境不符,此时可以考虑使用适配器模式。用适配器封装被适配的对象,让接口由适配器提供,具体功能由被适配对象提供。关键代码:1.target:目标接口2.adptee:被适配对象3.adpter:适配器实现:有类适配器和对象适配器,如下图:图1:类模式适配器

2016-08-14 15:53:14 238

原创 抽象工厂模式

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define LL long longusing nam

2016-08-14 15:00:26 175

原创 工厂模式

用处:隐藏了对象创建的细节,只需要知道对象的类型,就可以用对应的工厂子类创建产品。用户看到和使用的只是一个抽象产品,而无需关心到底返回了那个子类。关键代码:将产品的创建延迟(交给)到子类; 返回的是一个抽象产品优点:遵循了开闭原则缺点:每增加一个新的产品,就需要新增一个子类,产品多时,维护量大。代码:#include #include #include #include

2016-08-10 13:36:12 256

原创 装饰器模式

装饰器模式用来给一个对象动态的添加额外功能,是继承的一种替代模式。它比继承更为灵活,有时我们希望只给某个对象添加功能,而不是整个类添加功能。实现:将需要装饰的对象嵌入装饰器中,由装饰器添加额外的功能。代码:#include #include #include #include #include #include #include #include #incl

2016-08-07 20:45:49 291 4

原创 单例模式

实现代码:1.简单版本class singletion{private: singletion(int x=1):a(x) {} static singletion *p; int a;public: int get() {return a;} int set(int x) { a =x;}

2016-08-07 18:20:35 205

原创 oenstack nova 源码分析

1.创建虚拟机 def create(self, req, body): """Creates a new server for a given user.""" context = req.environ['nova.context'] server_dict = body['server'] password = self

2016-07-15 11:18:35 508

转载 openstack neutron(tap、qvb、qvo详解)

Linux Host 侧使用的网络元素简介Linux 主要使用以下三种设备模型:Bridge、TAP、VETH、VLAN。Bridge 设备是基于内核实现的二层数据交换设备,其作用类似于现实世界中的二级交换机。TAP 设备是一种工作在二层协议的点对点网络设备,每一个 TAP 设备都有一个对应的 Linux 字符设备,用户程序可以通过对字符设备的读写操作,完成与 Linux 内核网络协议栈的数据

2016-07-07 17:09:27 2625

转载 openstack neutron(tap、qvb、qvo详解)

Linux Host 侧使用的网络元素简介Linux 主要使用以下三种设备模型:Bridge、TAP、VETH、VLAN。Bridge 设备是基于内核实现的二层数据交换设备,其作用类似于现实世界中的二级交换机。TAP 设备是一种工作在二层协议的点对点网络设备,每一个 TAP 设备都有一个对应的 Linux 字符设备,用户程序可以通过对字符设备的读写操作,完成与 Linux 内核网络协议栈的数据

2016-07-07 17:09:03 693

转载 Linux 交换Caps Lock和左ctrl

ctrl应该是emacs快捷键中使用率最高的了吧,我习惯用左手小拇指按左边的ctrl,长期使用很不舒服,偶尔看到网上讲到可以将ctrl和caps lock键交换,实验了一下,花了几天改变按键习惯,现在确实比以前按得顺手多了。网上流传较广的文章有些小问题,我把自己的解决方法贴出来。linux下交换Caps Lock和右Ctrl:使用xmodmap吧,写一个配置文件.Xmodmap放在

2016-06-29 09:34:08 2794

转载 Hadoop简介(1):什么是Map/Reduce

本帖最后由 pig2 于 2014-2-28 20:41 编辑看这篇文章请出去跑两圈,然后泡一壶茶,边喝茶,边看,看完你就对hadoop整体有所了解了。Hadoop简介Hadoop就是一个实现了Google云计算系统的开源系统,包括并行计算模型Map/Reduce,分布式文件系统HDFS,以及分布式数据库Hbase,同时Hadoop的相关项目也很丰富,包括ZooKeeper

2016-06-13 15:43:55 506

原创 hdu 1542 矩形面积并

如图:用一个水平线从下往上进行扫描,遇到a线段(cover=1),将其插入线段树中,线段树中的每个节点都有个cover值,初始都为0,因此第一条线段插入时不会覆盖其它线段(显然的)。接着是b线段(cover=1)插入线段树,与a线段产生覆盖的区间是第一次计算的面积,覆盖的区间相当于矩形长,再利用线段树中存的矩形纵坐标,可得到矩形宽,然后就能算出面积。接着是c线段插入线段树(cover=-1),

2016-05-16 21:18:23 324

空空如也

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

TA关注的人

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