自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

茶爸爸(微信:benyzhous) 的专栏

坚持最初的执着,从不曾有半点懈怠,为优秀而努力,为证明自己而活。

转载 《Spring 5 官方文档》20. CORS 支持

20. CORS 支持20.1 简介出于安全考虑,浏览器禁止AJAX调用驻留在当前来源之外的资源。 例如,当您在一个标签中检查您的银行帐户时,您可以在另一个标签中打开evil.com网站。 evil.com的脚本不能使用您的凭据向您的银行API发出AJAX请求(例如,从您的帐户中提款)!Cross-origin resource sharing (CORS) 是 大多数浏览

2017-08-24 10:29:24 1007

转载 DEVONthink 简明教程

简介DEVONthink 是由一家来自德国的老牌软件开发商发布的「知识管理」app,运行于 Mac/iOS 平台。官方自己定位为“Information management reinvented”,全方位(中文环境下略有遗憾)帮助你实现知识管理,可以称之为“模块级”应用了。百度云盘破解版下载:http://pan.baidu.com/s/1jIIE9L0软件配置D

2017-06-30 16:38:33 6669 1

原创 URLBuilder简单快速构建URL链接

URLBuilder快速构建一个URL结构,使用了Builder建造者模式,大大增加了代码的可读性,并且可以支持参数URL编码。

2017-05-25 23:27:54 5487

原创 URLParser:很实用的URL参数解析器(JAVA代码中方便获取QueryString中的get参数)

很实用的URL参数解析器(JAVA代码中方便获取QueryString中的get参数)package com.kaishustory.quick.commons.text;import java.io.UnsupportedEncodingException;import java.net.URLDecoder;import java.util.HashMap;import

2017-05-25 23:15:54 14840

转载 JVM上的随机数与熵池策略

在apache-tomcat官方文档:如何让tomcat启动更快 里面提到了一些启动时的优化项,其中一项是关于随机数生成时,采用的“熵源”(entropy source)的策略。他提到tomcat7的session id的生成主要通过java.security.SecureRandom生成随机数来实现,随机数算法使用的是”SHA1PRNG”private String secureRa

2017-05-02 19:21:42 705

转载 centOS服务器 netstat命令 查看TCP连接数信息

netstat命令的功能是显示网络连接、路由表和网络接口的信息,可以让用户得知有哪些网络连接正在运作。在日常工作中,我们最常用的也就两个参数,即netstat –an,如下所示:[root@tiaobanji ~]# netstat -an Active Internet connections (servers and established) Proto Recv-Q Send

2017-04-17 16:28:07 1485

转载 java.net.SocketException: Permission denied(将80端口重定向到8080端口)

很多时候,tomcat是非root账号,直接将8080改成80,tomcat会报错 Java.NET.SocketException: Permission denied。原因是非root用户不能访问1024一下的端口。为了解决这种问题,有方法如下:1.将当前用户配置到sudo规则里面(待验证);2.再起一个apache,通过apache路由;3.通过iptable重定向。下面将按照[html]

2017-03-14 10:09:05 8504

原创 Centos7 安装 Tengine终极篇

Centos7 安装 Tengine终极篇Tengine介绍Tengine是淘宝开发的基于nginx的应用服务器,反向代理服务器。它兼容nginx的所有配置,并且在其上增加了很多实用的功能,例如动态模块加载,集成lua语言进行扩展等,在性能方面有了比较大的改进。下面是Tengine独有的部分功能,查看全部等前往官网,地址是 http://tengine.taobao.org/ 。

2017-03-12 21:52:29 5980 1

转载 解决在Filter中读取Request中的流后, 然后再Control中读取不到的做法

摘要: 大家知道, StringMVC中@RequestBody是读取的流的方式, 如果在之前有读取过流后, 发现就没有了.我们来看一下核心代码: filter中主要做的事情, 就是来校验请求是否合法, 是否有篡改过值.

2017-03-06 10:08:38 2168

转载 SecureCRT 7.2.0 Mac版密码无法保存的解决办法

SecureCRT  Mac版,默认情况下,我们建立一个连接之后提示是否保存这个连接的密码,我们保存了密码,但是当我们再次登录的时候,又提示密码失效了,需要重新输入。这个问题困扰了我很久,今天终于解决了。方法/步骤我之前在网上找的解决办法都是SecureCRT 7.2.0 Mac 之前的。打开Sec

2017-01-22 10:21:46 936

转载 Spring Session + Redis实现分布式Session共享

通常情况下,Tomcat、Jetty等Servlet容器,会默认将Session保存在内存中。如果是单个服务器实例的应用,将Session保存在服务器内存中是一个非常好的方案。但是这种方案有一个缺点,就是不利于扩展。目前越来越多的应用采用分布式部署,用于实现高可用性和负载均衡等。那么问题来了,如果将同一个应用部署在多个服务器上通过负载均衡对外提供访问,如何实现Session共享?实

2016-12-20 23:24:40 1325

转载 微信公众号用户与网站用户的绑定方案

现在很多网站都已经建立了一套完整的用户账号体系,基于这套体系,再做其他应用的用户扩展就非常方便。例如,有了微软的outlook账户,就可以登录win8,可以登录微软的邮箱,还可以登录skype。同样地,一个Apple ID可以享受苹果的所有服务。正所谓,一个账号,处处使用。对于企业,可能会有产品线通常有网站,app,微信公众号等。统一各产品线的账号体系,实现一个账号处处使用的目标是非常有必

2016-12-18 01:26:16 1194

转载 API接口签名验证

系统从外部获取数据时,通常采用API接口调用的方式来实现。请求方和接口提供方之间的通信过程,有这几个问题需要考虑:1、请求参数是否被篡改;2、请求来源是否合法;3、请求是否具有唯一性。今天跟大家探讨一下主流的通信安全解决方案。参数签名方式这种方式是主流。它要求调用方按照约定好的算法生成签名字符串,作为请求的一部分,接口提供方验算签名即可知是否合

2016-12-18 01:14:23 2357

转载 如何生成SSH key及访问Github

一、检查SSH key是否存在在终端输入:ls -al ~/.ssh如果没有,终端显示如下:No such file or directory如果已经存在,则会显示id_rsa和id_rsa.pub二、生成新的SSH key在终端输入:ssh-keygen -t rsa -C "your_email@example.com"

2016-11-30 19:15:48 488

转载 Springboot自定义异常处理

背景Springboot 默认把异常的处理集中到一个ModelAndView中了,但项目的实际过程中,这样做,并不能满足我们的要求。具体的自定义异常的处理,参看以下前提Springboot 默认的application propertiesSpring Boot异常处理详解具体实现如果仔细看完spring boot的异常处理详解,并且研究过源码后,我觉得

2016-11-23 23:14:54 1824

转载 Spring Boot异常处理详解

在Spring MVC异常处理详解中,介绍了Spring MVC的异常处理体系,本文将讲解在此基础上Spring Boot为我们做了哪些工作。下图列出了Spring Boot中跟MVC异常处理相关的类。Spring Boot在启动过程中会根据当前环境进行AutoConfiguration,其中跟MVC错误处理相关的配置内容,在ErrorMvcAutoConfiguration这个类

2016-11-23 21:13:14 1708

转载 开放api接口签名验证

不要急,源代码分享在最底部,先问大家一个问题,你在写开放的API接口时是如何保证数据的安全性的?

2016-10-19 16:04:44 1179 1

转载 Spring Boot Junit单元测试

摘要: Junit这种老技术,现在又拿出来说,不为别的,某种程度上来说,更是为了要说明它在项目中的重要性。 凭本人的感觉和经验来说,在项目中完全按标准都写Junit用例覆盖大部分业务代码的,应该不会超过一半。 刚好前段时间写了一些关于SpringBoot的帖子,正好现在把Junit再拿出来从几个方面再说一...Junit这种老技术,现在又拿出来说,不为别的,某种程度上来说,更是为了要说

2016-10-14 12:26:56 1085

转载 SpringBoot之@EnableAutoConfiguration原理及自定义扩展

spring Boot是一个偏执的开源框架,它可用于创建可执行的Spring应用程序,采用了习惯优于配置的方法。 此框架的神奇之处在于@EnableAutoConfiguration注释,此注释自动载入应用程序所需的所有Bean——这依赖于Spring Boot在类路径中的查找。一、@Enable*注释@Enable*注释并不是新发明的注释,早在Spring 3框架就引入了这些

2016-10-09 21:29:43 81828 1

转载 SpringCloud分布式开发五大神兽

Spring Cloud 为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性 Token、全局锁、决策竞选、分布式会话和集群状态)操作的开发工具。

2016-09-16 23:57:49 2690

翻译 翻译 Spring Boot How To

本章节将回答一些常见的"我该怎么做"类型的问题,这些问题在我们使用Spring Boot时经常遇到。这绝不是一个详尽的列表,但它覆盖了很多方面。如果遇到一个特殊的我们没有覆盖的问题,你可能想去查看stackoverflow.com

2016-09-08 18:32:00 3184

转载 最佳工程实践—思维利器OmniGraffle

OmniGraffle是由The Omni Group制作的一款绘图软件,它曾获得苹果设计奖。 OmniGraffle可以支持流程图、逻辑图或者网页产品模型设计等,功能非常强大。与Graffle对应的是在Windows平台广泛应用的MS Visio(Graffle这个词据说就是为了和Visio区分而硬造出来的),关于这两个产品的用户体验对比,本文会稍有涉及。 关于它的使用细节——术的方面,建议读者直接参考帮助文档或平台上其他作者的教程。本文重点想探讨的,是在工程实践中的一些方法论——

2016-09-08 13:40:22 2403

转载 Invalid property 'maxActive' of bean class [redis.clients.jedis.JedisPoolConfig]: Bean property

Invalid property ‘maxWait’ of bean class [redis.clients.jedis.JedisPoolConfig]: Bean property ‘maxWait’ is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? 如题报了这样一个错,显然是因为maxActive和ma

2016-09-05 12:45:23 3226 1

转载 基于微服务的软件架构模式

微服务(micro services)这个概念不是新概念,很多公司已经在实践了,例如亚马逊、Google、FaceBook,Alibaba。微服务架构模式(Microservices Architecture Pattern)的目的是将大型的、复杂的、长期运行的应用程序构建为一组相互配合的服务,每个服务都可以很容易得局部改良。 Micro这个词意味着每个服务都应该足够小,但是,这里的小不能用代码量来比较,而应该是从业务逻辑上比较——符合SRP原则的才叫微服务。

2016-08-28 15:25:54 721

转载 centos7没有安装ifconfig命令的解决方法

ifconfig命令是设置或显示网络接口的程序,可以显示出我们机器的网卡信息,可是有些时候最小化安装CentOS等Linux发行版的时候会默认不安装ifconfig等命令,这时候你进入终端,运行ifconfig命令就会出错这是我们首先会想到是不是环境变量里没有ifconfig命令的路径,因为ifconfig是在/sbin路径下的,以root用户登录才可以运行,可是我们上边是以roo

2016-08-23 09:35:29 512

转载 CentOS 7最小化安装后找不到‘ifconfig’命令——修复小提示

就像我们所知道的,“ifconfig”命令用于配置GNU/Linux系统的网络接口。它显示网络接口卡的详细信息,包括IP地址,MAC地址,以及网络接口卡状态之类。但是,该命令已经过时了,而且在最小化版本的RHEL 7以及它的克隆版本CentOS 7,Oracle Linux 7和Scientific Linux 7中也找不到该命令。在CentOS最小化服务器版本中如何查找网卡IP和其它

2016-08-23 09:27:09 522

原创 SpringBoot+Logback+Sentry(日志监控平台)

无论测试如何完善的程序,bug总是免不了会存在的,有些bug不是每次都会出现,测试时运行好好的代码可能在某个用户使用时就歇菜了,可是当程序在用户面前崩溃时,你是看不到错误的,当然你会说:”Hey, 我有记日志呢”。 但是说实话,程序每天每时都在产生大量的日志,而且分布在各个服务器上,并且如果你有多个服务在维护的话,日志的数量之多你是看不过来的吧。等到某天某个用户实在受不了了,打电话来咆哮的时候,你再去找日志你又会发现日志其实没什么用:缺少上下文,不知道用户什么操作导致的异常,异常太多(从不看日志的缘故)不知

2016-07-30 15:09:30 7232 2

转载 sed 文件查找,替换

sed 命令查找与替换:(1)删除第2,3行:sed '2,3d' test.txt > new.txt(2)替换: 替换所有:sed 's/abc/ABC/' test.txt >new.txt 查找:    sed  -n "/abc/p" test.txt 匹配字符串中的一部分: echo abc123 | sed 's/\([a-z]*\).*/\1/'

2016-07-21 10:32:59 730

转载 sed(查找替换) 与awk(提取字段)

通常: sed 处理列  awk处理行 比较方便Sed是一个基本的查找替换程序     sed -i   "s/^@//g"     文件  #原地操作原文件,进行替换cat my.txt|sed s/a/A/ >n.txt    (不指定列数,默认是包含a的第一列)将1.txt文件中包含a的第一列中的a替换为A,并将结果写入n.txt文件中。该语句也可以在shell脚本中使用

2016-07-21 10:10:09 2068

转载 SpringBoot Quickstart

SpringBoot IntroSpringBoot是顺应现在微服务(MicroServices)理念而产生的一个微框架(同类微框架可供选择的还有Dropwizard), 用来构建基于Spring框架的标准化的独立部署应用程序(“再也tmd不用寄人篱下,活在WebContainer的屋檐下了”)。我们原来选择试用Dropwizard作为Web API的标准框架, 也完成了一

2016-07-17 00:43:34 3653

转载 Spring Cache使用详解

Spring CacheSpring Cache使用方法与Spring对事务管理的配置相似。Spring Cache的核心就是对某个方法进行缓存,其实质就是缓存该方法的返回结果,并把方法参数和结果用键值对的方式存放到缓存中,当再次调用该方法使用相应的参数时,就会直接从缓存里面取出指定的结果进行返回。所以在使用Cache的时候我们要保证我们缓存的方法对于相同的参数要有相同的返回结果。

2016-07-17 00:08:24 12142

转载 nginx配置location总结及rewrite规则写法

location正则写法一个示例:location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] }location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ] }location /docum

2016-07-14 18:33:00 587

转载 Mac OS X Mavericks or Yosemite 安装Nginx、PHP、Mysql、phpMyAdmin

翻译:http://blog.frd.mn/install-nginx-php-fpm-mysql-and-phpmyadmin-on-os-x-mavericks-using-homebrew/最近Ubuntu用着很不爽,首先是输入法很难用,所说搜狗发布了Ubuntu14.04的输入法,但是远远没有Win下的输入法好用。其次是没有qq,在公司喝同事交流很困难,虽说网页qq也可以聊天,但是传个

2016-07-14 18:11:29 605

转载 在OSX狮子(Lion)上安装MYSQL(Install MySQL on Mac OSX)

这篇文章简述了在Mac OSX狮子(Lion)上安装MySQL Community Server最新版本v10.6.7的过程.MySQL是最流行的开源数据库管理系统。首先,从MySQL的下载页面上下载适用于你机器环境的MySQL版本。比如,对于Mac OSX狮子,可以下载64位版本的mysql-5.5.22-osx10.6-x86_64.dmg。MySQL的详细安装说明在MySQL

2016-06-29 22:14:41 481

原创 网页中获取网络mp3文件的时常

window.onload=function(){      //do something       var duration = document.getElementById("audio").duration;        //alert(audio.duration);        console.log(formatTime(parseInt(duration)))

2016-06-24 17:11:52 1028

转载 Spring-data-redis: 分布式队列

Redis中list数据结构,具有“双端队列”的特性,同时redis具有持久数据的能力,因此redis实现分布式队列是非常安全可靠的。它类似于JMS中的“Queue”,只不过功能和可靠性(事务性)并没有JMS严格。Redis中的队列阻塞时,整个connection都无法继续进行其他操作,因此在基于连接池设计是需要注意。我们通过spring-data-redis,来实现“同步队列”,设计风格

2016-06-06 16:37:34 4267

转载 Spring Boot使用Redis进行消息的发布订阅

今天来学习如何利用Spring Data对Redis的支持来实现消息的发布订阅机制。发布订阅是一种典型的异步通信模型,可以让消息的发布者和订阅者充分解耦。在我们的例子中,我们将使用StringRedisTemplate来发布一个字符串消息,同时基于MessageListenerAdapter使用一个POJO来订阅和响应该消息。提示事实上,RedisRedis 不仅提供一个NoSQL

2016-06-06 16:33:32 14745

转载 Mac 让 iTerm2 记住用户名密码 expect 脚本

刚刚用iTerm2的时候,总是要一遍遍的敲用户名、密码。 我在想, 能不能像Windows的软件一样,可以直接让软件记住。然后只要点击一下,就直接ssh到远程服务器上面去了。之后经过搜索,可以用expect脚本实现。#!/usr/bin/expectset timeout 30spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex

2016-06-04 00:05:20 3477

转载 tcpdump抓包并保存成cap文件

首选介绍一下tcpdump的常用参数tcpdump采用命令行方式,它的命令格式为:  tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]          [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ]          [ -T 类型 ] [ -w 文件名 ] [表达式 ]1. tcpdump的选

2016-05-28 00:25:31 1238

转载 Dubbo原理解析-监控

Dubbo发布代码中,自带了一个简易的监控中心实现。对于一般的小业务这个监控中心应该能够满足需求,对于那些大业务量的大公司一般都会有自己的监控中心,更加丰富的功能如常用的报警短信通知等等。这章讲解分析使得读者能够了解一般的监控中心实现,也使得有自己接入监控中心需求的大概知道如何集成自己的监控中心实现。下面我们就以dubbo自带的监控中心开始讲解。 监控中心1.  监控中心启动,

2016-05-28 00:13:35 5653

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