自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

车的杂货铺

技术问题闲谈

  • 博客(27)
  • 资源 (5)
  • 收藏
  • 关注

原创 SM2加密解决java与iOS端加解密不配套问题

SM2加密解决java与iOS端加解密不配套问题问题描述问题判定代码声明问题描述使用java开发的SM2加解密,由java层生成SM2公私钥,iOS、Android(因和java层一致,暂忽略)层使用公钥做加密,java层做解密。java生成的公私钥在iOS和java层单独做加解密均可用。iOS层加密结果java层无法解密问题判定SM2非对称加密的结果由C1,C2,C3三部分组成。其中C1是生成随机数的计算出的椭圆曲线点,C2是密文数据,C3是SM3的摘要值。最开始的国密标准的结果是按C1C

2021-01-28 10:27:52 4862 3

原创 一个兼容性强的错误日志预警机制

需求:错误日志报警,如果5分钟内出现相同错误已报警,则不继续报警。      实现:为不影响之前系统其他功能,在nginx层面用luajit提取日志,并每分钟生成一个日志。用脚本处理后删除这一分钟的日志。(注:与原先的access.log互不影响)     1. shell脚本:(目前按每分钟进行错误统计报警)#错误次数,超出报警limit_time=4#错误发送时间间隔秒数

2017-08-09 17:26:44 879 1

原创 日志分割

没错,这是一个linux日志分割的脚本。留作备份。cut_log.sh  内容如下: log_dir=/home/cheyunlong/ log_file=${log_dir}log #需要切割的日志文件绝对路径 d=`date +%Y-%m-%d` #按天分割 此处d表示今天的字符串 y=`date -d yesterday +%Y`

2017-05-05 13:52:42 499

原创 mybatis分表策略shard

分表,通常在数据量大的情况下进行,当然应该先对项目的数据量进行数量级的预估,以根据不同的需求进行采用不同的分表策略。(shard在mybatis中的配置就不多聊了,直接搜"mybatis分表"会有很多资料,大多类似)shard原理,相当于一个过滤器,在执行sql语句之前对表名进行处理。 shard_config.xml的配置: <!DOCTYPE shardingConfig

2017-04-11 17:48:30 2800

原创 sql优化

使用数据库,mysql,以下时从sql语句的角度进行查询优化。    1、 where A="abc" ,group by A ,order by  A      A字段如为字符串类型,务必建索引          2、 (1) 日期类型 用int代替,以方便查找,精确到毫秒的整型 。 (2) char类型多用varchar代替。  3、 如int类型,像 gender(只有男、女

2017-03-14 16:26:36 244

转载 mysql千万级数据库插入速度和读取速度的调整记录

一般情况下mysql上百万数据读取和插入更新是没什么问题了,但到了上千万级就会出现很慢,下面我们来看mysql千万级数据库插入速度和读取速度的调整记录吧。(1)提高数据库插入性能中心思想:尽量将数据一次性写入到Data File和减少数据库的checkpoint 操作。这次修改了下面四个配置项: 1)将 innodb_flush_log_at_trx_commit

2017-03-03 10:57:04 436

原创 【python处理】把数据库中model_id相同的语音文件移动到名字为model_id的文件中

写得第一个python小程序,感觉还挺方便,话不多说,上代码。          需求:  数据库voice_record中字段model_id相同的语音文件记录会用于同一个建模,为了方便处理,需要把model_id相同的语音文件放在一个文件夹中以方便处理,文件夹名为model_id。          解决步骤:        1.  从数据库中把model_id和url这两

2017-01-18 14:31:22 749 1

原创 装饰者模式

《Head First Design Patterns》装饰者模式学习练习:装饰者模式我们常见的Demo:文件读写io时候,会有InputStream,FileInputStreat,BufferedInputStream的使用。常见的FileInputStream fileInputStream=new FileInputStream(string);          

2016-12-21 17:15:08 400

原创 观察者模式

《Head First Design Patterns》观察者模式学习练习:观察者模式定义了对象之间的一对多依赖,当一个对象改变状态时,他的所有观察者都会收到通知并自动更新。 首先,定义观察者模式:主题+观察者 = 观察者模式 以客户和客服人员为例,当有客户咨询时,需要通知每个客服人员。其中,Subject为主题接口,Customer为顾客信息,CustomData为主题接口实

2016-12-20 17:08:25 322 1

原创 策略模式

《Head First Design Patterns》策略模式学习练习:没有采用书中给出的demo,以我们常见的“字符串加密解密”实体类为例。选择理由:加密解密方式有很多种,像MD5加密,AES加密。而这些在后期可能会因为种种需求而进行调整或者切换。采用策略模式,可以使这些变化变得可控,而不会影响之前的代码。(具体代码附在最后)大概设计: 接口Processor,接口具体实现AESP

2016-12-19 17:23:22 345

原创 java代码查看当前系统环境

查看代码:public class App {    public static void main( String[] args )    {        System.getProperties().list(System.out);    }}输出为:

2016-09-05 18:00:27 1455

原创 Java微信开发昵称表情符过滤

1. 去掉表情符在不严格的情况下,直接replacenickname.replaceAll("[\ue000-\uefff]", "");2. 入库之前encode,出库时再decode

2016-07-19 16:31:19 6879 1

原创 搜集的一些mysql数据库操作,建表之类的就不写啦

启动MySQL服务:service mysqld start停止mysql服务:service mysqld stopMySQL服务重启:service mysqld restart创建数据库:create database name default character set utf8;导入数据库mysql -u root -p 数据库名

2016-07-19 16:13:14 570

原创 git命令行pull,push避免重复输入用户名密码

相信大家一定遇到过git和开发工具结合不是很好的情况,pull不下来,push不上去。But we are coder rather than  coolie.  (Just be a Joke!)  这时,git命令行就因其很好的容错提交方便了我们的开发。以下是命令行经常遇到的一问题。    git避免重复输入用户名密码。1、在git bash命令行中输入   echo $HOME  查

2016-07-13 17:21:58 9542 1

原创 linux下创建定时任务 执行删除某文件夹下所有

1.    键入 crontab  -e 编辑crontab服务文件  文件内容添加:0 0 * * * /bin/sh /usr/local/tomcat/apache-tomcat-6.0.45/webapps/deleteWechatVoice.sh0 0 * * * 为定时时间   /bin/sh为执行命令    /usr/local/tomcat/apache-tom

2016-06-15 17:24:44 7929 1

原创 SQL中-1,1,2,3四个状态排序为 1,2,3,-1

首先,这个故事从一次项目维护讲起,因之前有很大一批数据显示状态为  失败,即-1。经理觉着不好看,影响客户对系统的第一印象。于是希望把状态为 成功的数据的提前,即1。而2,3在数据库中则分别代表正在建档,语音不够提示。那么问题来了,之前的数据是按照录入时间进行排序的,即createDate。首先声明一下,我很懒,所以希望能在不改变太多SQL的情况下去解决这个问题。经过大概一个小时的头脑

2016-05-31 14:50:10 4651 2

原创 linux上tomcat的安装配置(多个tomcat)

首先,conf/server.xml里边的配置:这三个地方的端口号需要进行修改,因为考虑到多个tomcat,避免端口冲突。       URIEncoding="UTF-8"acceptCount="5000"connectionTimeout="20000"redirectPort="8443" />        这儿需要开启access

2015-12-25 11:00:26 525 2

原创 nginx做负载均衡配置

这里只写一下主要配置,至于其他的开启日志,设置权重之类的有兴趣的话可以自行脑补。  以下配置,监听本机的80端口,为www.baidu.com这个域名提供服务。效果:来自www.baidu.com的请求,平均地转发到 192.16.0.1:80,  127.0.0.1:8080 两个服务上。(nginx.conf)另外:淘宝tengine的配置和这个基本一样

2015-12-25 10:48:04 345

原创 事务的隔离级别

首先用图来分别说明事务的四个隔离级别以及分别解决掉的问题:          现在分别举例区别:          读未提交:曹阳阳问戴林桐借了500块钱让打到银行卡上,但是曹阳阳去查账的时候发现银行卡里多了5000块钱,高兴的不要不要的,准备约公安局的同事妹子出去嗨。然后这个时候,戴林桐也发现了这个问题,于是迅速rollback,曹阳阳和妹子嗨完之后去结账的时候才发现,原

2015-11-23 14:31:15 398

原创 有10,000个网页,其中包含有电话号码,现在需要将电话号码抽取出来并去重,应该如何设计,使用哪些技术。

对于这个问题,首先我们先把这10000个网页放到一个文件夹下:1.打开文件夹,遍历html文件2.在每个html文件中的操作为:用正则表达式读取电话号码并写入list3.遍历结束关闭文件夹,接下来进行去重4.利用set的无序且无重复数据的性质去重

2015-11-12 17:30:48 1497

原创 触发器和存储过程

触发器是一种特殊的存储过程。单从使用上来区别的话,触发器不用exec来触发,而是通过一些增删改等操作来触发。存储过程:if (object_id('proc_getStudentRecord', 'P') is not null) --判断存储过程是否存在 drop proc proc_getStudentRecordgocreate proc proc_getStudentRe

2015-11-12 15:50:03 357

原创 java 中 如何让一个方法内最多只能指定数量线程访问

//n为指定线程数   public void fun(Thread t) { SubThread sc = new SubThread(); synchronized (SubThread.class) {  //获取线程个数           int count = SubThread.getThreadCounts();

2015-11-11 18:20:02 1476

原创 SQLServer邮件异常监控

近来公司维护人员离职,交接时出于好奇问他学了一下SQLServer的一些东西,邮件异常监控应该是经常会用到的一部分,话不多说,让我们进入正题。首先,我们需要“配置数据库邮件”步骤如下:如新增配置选择第一项,修改配置选择第二项,点击下一步。配置完成,点击确定,进入以下页面:下一步:然后一直下一步,直至完成。接下来,测试是否配置成功。

2015-11-03 11:18:31 695

原创 读取日志文件进行用户数据进库不完整补漏

故事的起因是这样的,因上线工作量比较大,测试小y希望晚上的上线可以一部分提前中午上线。但是不料,中午上线不到一个小时的时间,用户注册数据进去了200+条,而上线期间程序出了问题,只有部分用户信息入库,也就是client表信息完整,可是其他附属表信息缺失。不过好在,程序的日志里对用户传入的信息打了日志,于是我们为了避免这200+条用户投诉,进行了如下操作:                 1.从

2015-10-20 12:24:39 730 10

原创 java 设计模式学习解读(一)

罗列一下21种设计模式,按照类别可分为三大类。1.创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。2.结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。3.行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模   式、中介

2015-09-23 14:47:18 586 6

原创 介绍一个轮播插件,适配ie6-ie11,ff,chrome,opera,360,搜狗

使用介绍:       http://www.lanrentuku.com/down/js/jiaodiantu-794/index.html     找不到js插件可以到   http://download.csdn.net/detail/cheyunlong/8768155   下载

2015-06-03 15:44:19 769 1

原创 单选框多选框,选择发生改变触发

radio,checkbox,选项改变触发

2015-05-20 18:06:03 3576

错误日志报警

一个非常实用的shell脚本实现的错误日志报警,只需很小的修改即可拿来用,欢迎各位大哥捧场

2017-08-09

适配ie6-ie11,ff,chrome,opera,360,搜狗的轮播插件

适配ie6-ie11,ff,chrome,opera,360,搜狗的轮播插件,jquery.KinSlideshow-1.2.1

2015-06-03

二维码QRcode.jar

二维码开发所需QRcode.jar,希望对您有所帮助

2015-03-17

web和axis2整合文档

java web项目和axis2整合文档,其中有详细图解

2015-03-16

axis2所需jar包

axis2开发所需jar包,方便进行websertvice的开发

2015-03-16

空空如也

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

TA关注的人

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