自定义博客皮肤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)
  • 资源 (27)
  • 收藏
  • 关注

原创 SpringMvc/SpringBoot HTTP通信加解密

前言从去年10月份到现在忙的没时间写博客了,今天就甩给大家一个干货吧!!!近来很多人问到下面的问题我们不想在每个Controller方法收到字符串报文后再调用一次解密,虽然可以完成,但是很low,且如果想不再使用加解密,修改起来很是麻烦。我们想在使用Rest工具或swagger请求的时候不进行加解密,而在app调用的时候处理加解密,这可如何操作。针对以上的问题,下面直接给...

2017-08-10 17:03:15 18744 14

原创 基于OTP的AES数据加密

OTP(One Time Password)单次有效密码,即使用一次就失效的密码,也就说每次使用都是一个不同的密码。现在普遍用来作为认证的二次验证。这种二次验证的好处是能有效抵御暴力破解。要使用这种密码就得有生产此种密码的生成方式: - HTOP(HMAC-based One-time Password Algorithm) 基于计数器生成密码 - TOTP(Time-based One-t

2016-09-28 15:09:45 2390

原创 Android调用so库(c语言编写) Codeblocks+adt-win-x86+ndk-r9c

Android调用so库, so库是c语言编写, 在linux 64位系统+ndk(32位)生成 lib*.so (32位)环境:操作系统:Redhat Server 63 编译软件:Code::blocks开发库:android-ndk-r9c-linux-x86.tar.bz22) Android客户端开发操作系统:windows 7 x86测试环境: android手机(系统4.0及以上)开发工具和SDK包:

2014-01-23 10:19:10 11075 2

原创 【ROS】源码分析-消息订阅与发布

本文通过`NodeHandle::subscribe`和`Publication::publish()`源码作为入口,来分析PubNode、SubNode之间是网络连接是如何建立的,消息是如何发布的,topic队列到底是如何实现的。

2022-06-19 23:07:50 2155 1

原创 【ROS】源码分析-服务发现原理

本文通过NodeHandle源码作为入口,来分析PubNode、SubNode、Master之间是如何发现彼此的。

2022-06-19 14:18:11 1477

原创 【ROS】源码分析-roscore与Master启动

本文从源码层面分析ros Master是如何启动的,以及Master(服务注册和发布、参数服务)到底是什么高大尚的东东。

2022-06-19 11:55:40 2762 1

原创 基于先序遍历 输出二叉树叶子节点的路径(非递归)

基于先序遍历 输出二叉树叶子节点的路径(非递归)思路: 1. 先序遍历二叉树,入栈,直到访问到叶子节点; 2. 如果达到叶子节点,遍历当前栈,获取当前叶子节点的路径;然后进入回退模式,直到有新的右节点。 3. 在回退的过程中,如果是父节点为了不再重复进入进入左右子树,使用一个pre指针指向最近回退点(pre肯定是当前父节点的左或右孩子)。定义节点,为了简化,省略访问修饰、泛型、get...

2018-03-21 19:45:10 3661

原创 小记--生产服务优化过程

本文记录了一次生产环境问题的排查和处理过程,虽然是件小事,但主要是由此引申出DevOps的意义和所需技能。

2017-11-03 16:20:09 571

原创 Fastjson 解析多级泛型时而失败的解决方案

fastjson 解析多级泛型时而失败:class PeiqiResponse<T> { Boolean success; Integer errCode; String errDes; T result;}声明:PeiqiResponse<List<Dept>>调试分析经过多次调试,问题出现在这里 DefaultFieldDeserializer#pa

2016-10-09 18:27:55 21011 7

原创 phantomjs html2Image.js 网页转换图片

phantomjs 服务器,模拟浏览器请求,然后将整个页面转出成图片

2016-09-13 17:43:39 8448 1

原创 My Git Flow

目前需要解决的问题:在开发过程中,多个功能后台开发完成后,前端再开发,需要将几个后台完成的功能同时部署到开发环境一个版本中的多个功能都开发完成后,需要集成测试多个版本在同时开工的情况下,多个版本都测试完成后,上线的时候需要多个版本合并解决办法:利用临时分支 dev-merge 合并开发中的多个feature分支,然后部署到开发环境每个版本基于 develop 分支创建新分支(如:M9W2

2016-09-08 19:47:41 510

转载 将项目发布到Maven中央库

将项目发布到Maven中央仓库

2016-09-07 09:51:25 3754 2

原创 spring-cache 雪崩

spring-cache 基本原理是利用拦截器,先尝试读取缓存,未命中缓存,先读库在写入缓存,经过查看源码如果在并发量大的时候容易造成“雪崩”。原因是在更新缓存逻辑中没有做并发更新的处理。

2016-08-29 18:38:01 2865

原创 Reflections - Java 8 - invalid constant type

异常说明使用Reflections扫描的时候出现could not create class file from, 原因是invalid constant type: 18异常堆栈:org.reflections.ReflectionsException: could not create class file from EmployeeDao.class at org.reflection

2016-08-11 16:52:29 4327 1

转载 CentOS7 Tomcat 启动过程很慢,JVM上的随机数与熵池策略

1. CentOS7 Tomcat 启动过程很慢在centos启动官方的tomcat时,启动过程很慢,需要几分钟: SessionIdGenerator.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [142,673] milliseconds

2016-07-14 14:24:38 18373 4

转载 centos7 systemd in Fedora 22: Failed to restart service: Access Denied

使用 systemctl 重启服务的时候提示拒绝访问$ systemctl restart postfixFailed to restart postfix.service: Access denied解决办法:systemctl daemon-reexecREF: * https://major.io/2015/09/18/systemd-in-fedora-22-failed-to-rest

2016-07-14 11:35:18 10909

原创 分享swagger

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。

2016-07-08 13:16:32 2631

原创 [Exception]spring-boot Failed to start component [StandardServer[-1]]

在使用spring-boot时,使用了其他的模块,导致spring-boot启动总是失败。错误堆栈:Failed to start component [StandardService[Tomcat]]

2016-05-17 13:53:55 20203 5

原创 Android Google Services Framework & Google Play

今天早上看到手机提示系统更新完成,需要重启,然后点击了reboot, 没想到重启后google play 打不开了,并且老是提 has topped。重新安装以前存储的 google services framework.apk 和 google play.apk,然并未卵用。估计是Android系统版本升级的了,导致了不兼容,看了一下Android版本,竟然一下从4.4到了6.0.1.MMB29M

2016-04-16 01:43:20 13397

原创 spring-jms/DefaultMessageListenerContainer配置

DefaultMessageListenerContainer配置一个DefaultMessageListenerContainer可以开启多个 (concurrent)AsyncMessageListenerInvoker并发 收消息两种模式: 模式一:递增监听线程并调度,监听线程轮询监听消息模式二:动态调度监听线程(递增/递减),有限轮询+重新触发调度

2016-04-07 18:35:24 13750

原创 supervisord

supervisordeasy_install install supervisorecho_supervisord_conf > /etc/supervisord.confrunsupervisordvi /etc/supervisord.conf[program:ejiakao]command=/data/panda/ejiakao.shdirectory=/data/pandauser

2016-04-02 01:00:51 585

原创 springmvc 部分加密通信

至于不用HTTPS,本文不讨论,这里给出使用springmvc +http协议,手机客户端加密部分数据只,后台进行统一解密。实现思路就是使用拦截器,使用装饰模式,可以直接使用HttpServletRequestWrapper。

2016-03-30 12:23:37 5174 2

原创 简单的logback日志收集服务端

使用logback jar包写的一个简单的收集多个服务的shell, 不同的服务使用不同的端口,同一个服务不同实例使用同一个端口,服务名称和端口映射存储在app.list app.list

2016-03-25 18:51:56 3303

原创 看了 淘宝大秒系统设计详解 总结

看了 淘宝大秒系统设计详解 总结动静分离热点数据分离数据库,提前预约预知热点数据应用层排队和限流,避免雪崩,a:按照商品排序,同一个商品尽量正在同一个机器,减少过多的占用数据库连接;b: 使用缓存先完成等待和入队限制(如缓存中设置商品数量和等待数量等)对于统一商品库存动态变化问题,被动更新,缓存一定时间(秒),有一定的脏读,失效后再去拉取最新数据,或者使用缓存完成加减(入队则–, 失败则加加

2016-03-10 15:29:33 2187

原创 使用spring工厂方法(FactoryBean)模式动态创建bean

自定义复杂bean注册到springA依赖B, B依赖C,A和C是有spring创建,而B要自己去创建,并且像B的有很多,比如B的调用实际是一个RPC在什么时机去装机B并能让spring找到这个依赖呢?spring的FactoryBean就可以解决(不是BeanFactory)下面以 Retrofit 为例简单说明,类B的bean都是由retrofit创建(动态代理)先声明一个 FactoryBea

2016-03-04 16:43:10 12064

转载 JVM源码分析之javaagent原理完全解读

原文 http://lovestblog.cn/blog/2015/09/14/javaagent/

2016-03-01 17:40:51 1457

原创 MySQL innodb引擎,事务提交 commit 异常,但数据提交成功

昨天线上服务出现的奇怪的异常,数据库中数据已经提交(都是innodb引擎), 但是java代码抛出异常,并从日志分析是commit异常,最后在catch中的rollback都为时已晚。这次的异常可与之前的与众不同,之前的如果commit异常了,数据肯定是回滚了(mysql服务器没有收到commit,并且连接已经中断),commit异常了,但是服务器数据没有回滚。

2016-02-24 17:57:50 15198 6

原创 flume nginx 日志处理异常 JsonParseException: Unexpected character ('(' (code 40)): expected a valid value

flume nginx 日志处理异常 JsonParseException: Unexpected character (‘(’ (code 40)): expected a valid value最近flume处理nginx日志,每隔几天就断一次,出现JSON反序列化异常异常堆栈:2016/01/26 14:37:49.043 [ERROR] [] [] [SinkRunner-PollingRu

2016-01-26 15:06:45 20367

原创 Log4jFlumeAppender

自己改造的 FlumeClinet 的 Log4jAppender修改了异常/断线重连修改header时间格式为ISO8601格式增加字符串LEVEL参数支持event.properties加入header(MDC)FlumeAppender.javapackage org.apache.log4j.client;import org.apache.avro.Schema;import

2016-01-11 10:59:22 1254

原创 flume + elasticSearch + kibana, 分析nginx日志

nginx 日志格式 2.81.22.87 - - [2016-01-08T15:33:55+08:00] "GET /do_not_delete/noc.gif HTTP/1.1" 200 3166 "-" "ChinaCache" "-" "0.000" "-" "-"2.81.22.83 - - [2016-01-08T15:33:55+08:00] "GET /do_not_delete/

2016-01-08 15:58:37 6002 1

原创 flume + elasticSearch + kibana

flume: 1.6.0 elasticSearch: 1.6.0kibana: 4.1.3-linux-x64下载地址:http://mirrors.hust.edu.cn/apache/flume/1.6.0/apache-flume-1.6.0-bin.tar.gzhttps://download.elastic.co/elasticsearch/elasticsearch/elasticse

2016-01-06 19:37:12 1563

原创 log4j flume

描述最近使用 log4jFlumeAppender ,通信一会就会中断,自己将 log4jFlumeAppender 改造了2星期,重新看了 NettyAvroRpcClient 和 Netty 源码,最后还是经常性的异常,导致需要重新连接服务器,导致worker线程频繁性关闭和新建。最后决定在看服务器的代码,后来通过配置capacity(增大), 一般比较稳定,但还是每隔几分钟就会异常。使劲增大

2016-01-06 19:26:03 1486

转载 查找树 trie

public class Trie { private int SIZE = 26; private TrieNode root;//字典树的根 Trie() {//初始化字典树 root = new TrieNode(); } public int getTotal() { return root.num - 1; }

2015-11-25 16:20:12 458

原创 daemon.c

daemon.c#include <unistd.h>#include <signal.h>#include <sys/param.h>#include <sys/types.h>#include <sys/stat.h>#include <errno.h>#include <stdlib.h>#include <stdio.h>#include <stdlib.h>#includ

2015-11-05 19:14:28 599

原创 hmac

算法:HMAC 需要一个加密用散列函数(表示为 H)和一个密钥 K。我们假设 H 是 一个将数据块用一个基本的迭代压缩函数来加密的散列函数。我们用 B 来表示数据块的字长。(以上提到的散列函数的分割数据块字长 B = 64),用 L 来表示散列函数的输出数据字长(MD5中 L = 16 , SHA-1 中 L = 20)。鉴别密钥的长度可以是小于等于数据块字长的任何正整数值。应用程序中使用

2015-10-24 01:04:04 931

原创 redis session manager

redis session-managerkeywords: session manager; redis session manager; redis session;1. config listenerset JedisPool and cacheEngine, new customer CacheListener extends CacheEngineLoadListener:CacheEng

2015-09-18 11:35:28 914

原创 2. docker-compose

最近在忙着写功能,现在在回到docker。docker-compose 部署

2015-09-12 20:14:12 707

原创 中断 定时器 实现 sleep

本文讲解一下使用中断实现sleep,纯正的 sleep 应该做到 CPU占用率几乎为0(与使用while实现的sleep完全不同), sleep完成恢复准时(也就相差几个指令周期)。先来说明一下软中断, 本文只是以形象的方式讲解,具体的每个操作系统、软件工具的实现以实际为准1. 程序调试、系统API调用(软中断实现)    程序调试设置了断点,这种调试可以使用中断("软

2015-09-11 01:22:01 2083

转载 Docker基础技术:Linux Namespace(上)

Linux Namespace是Linux提供的一种内核级别环境隔离的方法。不知道你是否还记得很早以前的Unix有一个叫chroot的系统调用(通过修改根目录把用户jail到一个特定目录下),chroot提供了一种简单的隔离模式:chroot内部的文件系统无法访问外部的内容。Linux Namespace在此基础上,提供了对UTS、IPC、mount、PID、network、User等的隔离机制。

2015-09-07 18:27:37 562

原创 mark jsp BigDicimal 小数保留

jsp BigDicimal 小数保留 , 开发环境没问题,但是线上环境就报错了jetty:   ${priceRMB.setScale(1,'HALF_UP')}   正常   ${priceRMB.setScale(1,HALF_UP)}  异常 空指针(roundingMode)  第二个参数el没有解析成功tomcat:   ${priceRMB.s

2015-08-26 19:19:36 838

logbackServer

logback 的服务端,简单的使用原始的logback jar包写的支持启动多个服务的日志收集端

2016-03-25

dubbo分享-Karl

介绍DUBBO工具所能为我们解决的问题,具体使用中的问题可以通过留言或邮件等方式交流

2015-09-22

基于视频监控的车辆轨迹分析

毕业设计文档,基于视频监控的车辆轨迹分析,包含移动目标检测,归类,跟踪

2014-08-25

HttpClientTest122

http://blog.csdn.net/lanmo555/article/details/38150841 httpclient抓取数据的lib包

2014-07-26

swfupload demo (Java)

java servlet + swfupload 开发的文件上传demo,并且可以直接作为第三方文件上传插件,此代码中有完整的调用实例。 详询:http://blog.csdn.net/lanmo555/article/details/11000339

2013-09-03

[手动]桌面搬家

桌面搬家的附近,详情参考 http://blog.csdn.net/lanmo555/article/details/9162807

2013-06-24

逻辑思维的乐趣matrix67数学笔记.pdf

逻辑思维的乐趣matrix67数学笔记.pdf

2013-04-27

httpClient连接https 获得验证码图片示例

httpClient连接https 获得验证码图片示例 需要证书才能连接的那种 /* 本文所用开发工具 jak1.5.0_06 eclipse:ObjectWeb Lomboz lib: commons-codec-1.4.jar commons-logging-1.1.jar httpclient-4.0.3.jar httpclient-cache-4.1.3.jar httpcore-4.1.jar httpmime-4.1.2.jar */

2013-01-27

本程序主要解决在进行英语四六级查询后浏览器不能上网的问题

本程序主要解决在进行英语四六级查询后浏览器不能上网的问题 win7右击,以管理员权限运行

2012-08-21

添加系统host,localhost

大家都知道 www.baidu.com 是个DNS域名 本机也有一个自己的特殊主机名 localhost , 写程序的都知道哦,我就不再多解释 我们自己可以添加主机名以及对应的ip 如 mybaidu 指向 61.135.169.125 server 指向 192.168.1.100

2012-08-10

网络切换2.5+补丁1

网络切换2.5+补丁1 主要实现多个网络的切换, 开发平台VC6.0,以前我发布的版本也可以使用, 假设电脑从未设置过代理,就 会出现运行错误, 为此写了个补丁1 希望大家喜欢

2012-05-09

字幕 顺序轴数字 矫正

字幕 顺序轴数字 (分割后) 矫正 srt字幕 顺序轴矫正,一般用于字幕分割后矫正顺序轴数字, 然后再用SubtitleTool 矫正时间即可

2011-12-19

MsXml2.lib 操作 XML 文件 必须的 lib

MsXml2.lib 操作 XML 文件 必须的 lib

2011-08-23

停车场 车位模拟 平面图

停车场 车位模拟 平面图 自定义的按钮 模拟车位,可以动态 改变车位的位置, 动态 布局 停车场

2011-08-19

动态 拖动按钮,基于对话框

基于对话框的,实现了 在对话框中动态拖动按钮,无闪屏,简单实用。 by --暗影行者-Dialog-based, to achieve a dynamic drag the button in the dialog box, no splash screen, simple and practical. by- Shadow Walker

2011-08-16

网络切换,最新版,简单实用

网络切换,最新版,简单实用 vc++ 写的,只支持一个静态 IP\动态IP 切换 ,可以设置IE代理,操作简单实用

2011-08-01

记事本自动保存 小程序 vc++ 时间间隔 最低 1 毫秒 最高27.7小时

记事本自动保存 保存 时间周期: 最低 1 毫秒 最高27.7小时 网上的其他记事本自动保存程序最低 10 秒,vc++写的 本程序支持动态更改 保存的记事本

2011-08-01

icePubDll.dll

icePubDll.dll 这个DLL文件系统不带,网上资源有相当的少,所以本人给上传,方便大家使用

2011-07-16

自己写的 工作 报告 模板 ppt 和大家一起分享

工作报告模板ppt 自己写的 工作 报告 模板 ppt 和大家一起分享

2011-06-30

个人通讯录管理 JAVA

Java课程设计题目 说明:以下题目列出的仅为完成该课题的基本功能,可根据需要完善与课题相关的其他功能。以下题目涉及窗体的设计、菜单设计、数据库设计、文件的读写、多线程编程等多种编程的实现,根据题目的要求自行进行编程设计。 1、个人通讯录管理 要求:编程实现个人通讯录管理(用文件存储)。主要提供如下功能: 1) 增加记录 2)删除记录 3)显示所有记录 4) 查询记录 5) 文件备份 6)退出 通讯录记录信息包括:姓名,电话,email等信息

2011-06-30

个人通信录 java

个人通信录 java 写的,压缩包中有源代码和jar程序 ----济南大学 信息学院

2011-06-25

两个进程间通信 vc++

两个进程间通信vc++ 本系统可以向指定的进程发送消息,相应进程的名字在 exe.ini 文件中 如果使用本程序,需要将接受消息的进程名字写入 exe.ini 文件 并且在接受消息进程的消息处理中加入 消息 WM_MYMESSAGE 的处理 自定义消息: #define WM_MYMESSAGE WM_USER + 0x520 本消息发送的是语音识别出的关键字的相应序号(1……N),消息参数为wParam TS 或 PostMess 发送消息, Client 接受消息

2011-06-01

济南大学 课程设计 算术表达式的求值

济南大学 信息学院 课程设计 算术表达式的求值

2011-03-05

通讯录管理系统(c 链表)

通讯录管理系统 通讯录(add_book)中的联系人包含以下信息项:姓名、手机、办公电话、家庭电话、电子邮箱、所在省市、工作单位、家庭住址,群组分类(亲属、同事、同学、朋友、其他)。 Name Mobile phones Office phone Family telephone E-mail In cities Work units0 Address Group classification (relative, colleagues, friends, classmates, other). 系统的主要功能包括: 1. 输入联系人的信息,要求:至少输入10个联系人的数据,且注意数据的多样性。 2. 按姓名对联系人信息进行排序,并将排序后信息存放到一个文本文件中。 3. 添加联系人的信息,在已经存在的通讯录文件中添加若干个联系人。要求:添加后仍按联系人的姓名排序,并保存至原文件。 4. 删除联系人的信息,输入一个姓名,若通讯录中有该联系人的信息,则删除该联系人,否则输出提示信息,并提示用户选择是否继续进行删除操作。 5. 修改联系人的信息,输入一个姓名,根据具体需要修改该联系人的某一项信息,将修改后的信息重新保存到通讯录文件中,并提示用户选择是否继续进行修改操作。 6. 按不同条件对通讯录进行查询操作,输出满足条件的联系人的信息。 (1) 按姓名查询,包括精确查询(输入全名),模糊查询(输入姓); (2) 按手机号码查询,输入全部号码或号码位段(如输入130、133、139等); (3) 按群组分类查询,输入分类名称,输出该群组的全部联系人信息。 7. 输出联系人的信息Contact information,按一定格式输出信息,保证信息排列整齐美观。ContactPerson

2010-09-20

高校教师人事管理系统(用C和链表实现)

学生包含以下信息项:学号、姓名、学院、班级、高数成绩、英语成绩、C语言成绩、总分、平均分。 系统的主要功能包括: 1. 创建学生成绩信息文件,根据提示输入学生的各项信息,计算出总分和平均分,然后按学号对学生信息进行排序,并将排序后的学生成绩信息存储到一个二进制文件中。 2. 增加学生信息,在原有学生信息文件的基础上增加新的学生成绩信息,要求:增加后的学生信息仍按学号排序,并继续保存至原文件。 3. 删除学生信息,提示用户输入要进行删除操作的学号,如果在文件中有该信息存在,则将该学号所对应的学生信息删除,否则输出提示信息,并提示用户选择是否继续进行删除操作。 4. 修改学生信息,提示用户输入要进行修改操作的学号,如果在文件中有该息存在,则将提示用户输入该学号对应的要修改的选项,结果保存至原文件,并提示用户选择是否继续进行修改操作。 5. 按不同条件对学生信息进行查询操作,输出满足条件的学生信息。 (1) 按学号查询,输入一个学号,输出对应的学生信息。 (2) 按姓名查询,包括精确查询(输入全名),模糊查询(输入姓)。 (3) 按学院查询,输入学院名称,输出该学院的全部学生的信息。 (4) 按班级查询,输入班级名称,输出该班级的全部学生的信息。 6. 按不同条件对学生成绩进行统计工作。 (1) 按总分对学生信息进行排序(由高到低),输出排序后的信息,并将排序后的学生信息存放到一个新的二进制文件中。 (2) 按平均分统计各个分数段的学生人数(不及格,60-69,70-79,80-89,90-100)。 (3) 分别找出3门课程成绩最高的学生,并输出他们的信息。 (4) 分别统计出3门课程的不及格率,并输出。

2010-09-20

工作单位 和 家里方便切换 网络 内外网切换1.0

为了大家 在工作单位 和 家里方便切换 网络 本人特作此软件, 有好的意见请告诉本人 嘿嘿 内外网切换

2010-08-18

空空如也

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

TA关注的人

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