自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

谁说学美术将来只能卖画了,我也有自己的梦想。

记录项目中写出的bug和它的解决方案

  • 博客(225)
  • 收藏
  • 关注

原创 nginx 设置缓存

#缓存目录 目录级别 缓存池 有效时间 最大空间proxy_cache_path /usr/local/etc/nginx/cache levels=1:2 keys_zone=STATIC:10m inactive=24h max_size=1g;location /get_api_post_data { proxy_pass http://12

2017-02-04 17:51:05 1540

转载 HTTP 请求头中的 X-Forwarded-For

HTTP 请求头中的 X-Forwarded-For我一直认为,对于从事 Web 前端开发的同学来说,HTTP 协议以及其他常见的网络知识属于必备项。一方面,前端很多工作如 Web 性能优化,大部分规则都跟 HTTP、HTTPS、SPDY 和 TCP 等协议的特点直接对应,如果不从协议本身出发而是一味地照办教条,很可能适得其反。另一方面,随着 Node.js 的发展壮大,越来越多的前端同学开始写服务

2017-01-22 10:38:51 988

原创 jmap -histo ,jmap dumpfile, jstack

while : # loopdo# 先获取java 的 pidjavaPid=$(ps -ef | grep "java" | grep -v grep | awk '{print $2}')if read -n 1 -p "1. jmap -histo:live2. jmap -dump:format=b,file=dumpFileName3. jstack [pid]请选择需要执

2017-01-20 12:44:16 646

原创 java map hashmap linkedhashmap hashtable treemap

java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap. Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。 Hashmap 是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得

2017-01-16 18:54:13 456

原创 浏览器返回按钮不会刷新页面解决方案

<html> <head> <meta charset="utf-8"> <meta name="keywords" content="每日预测"> <meta name="description" content="亿万大数据的足球精准预测"> <meta name="viewport" content

2017-01-06 10:54:42 4455

原创 gradle 执行 shell 命令

task javaSourceGen (type:Exec){ commandLine "cp","src/main/resources-${cpEnv}/Iprotocol_bz.txt","src/main/java/com/caiqr/caipiao/wsdl/hecai/" commandLine "mv","src/main/java/com/caiqr/caipiao/w

2017-01-06 10:17:51 12418 2

转载 QuartZ Cron表达式

CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表。 CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日9:30时”,甚至“每5分钟一班9:00和10:00逢星期一上午,星期三星期五“。 即便如此,SimpleTrigger一样,

2017-01-03 09:36:11 281

转载 Log4j 2 使用总结

Log4j 2 包含了基于LMAX 分离库的下一代的异步日志系统,在多线程环境下,异步日志系统比 Log4j 1.x 和Logback 提高了10倍性能提升(吞吐量和延迟率 )。原文如下: Log4j 2 contains next-generation Asynchronous Loggers based on the LMAX Disruptor library. In multi-threa

2016-12-02 21:39:08 421

原创 Java写txt文件到多级目录

try { String url = LotteryID + "/" + ChannelID + "/" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date() .getTime()) + "/"; File file = ne

2016-11-24 17:06:23 346

原创 Java httpClient 请求 可以在SpringMvc中使用

String winningNumber = "";//同步的http请求 try { URI uri = new URI(BjBiyingConstant.GET_WINNINGNUMBER_URL + "?gameEn=" + gameEn); SimpleClientHttpRequestFactory schr = new Si

2016-11-24 17:04:34 503

原创 Java多线程ScheduledExecutorService

创建一个单例:package com.caiqr.mock.cp.thread;import java.util.HashMap;import java.util.Map;import java.util.concurrent.*;/** * Created by tangxuelong on 16-11-22. */public class ThreadPool { private

2016-11-23 09:55:19 438

原创 springBoot with cxf

下载安装cxf,Intelij Setting中有webservice设置 选择安装的cxf路径,否则无法根据WSDL生成server端代码 根据wsdl生成server端代码,Intelij直接可以选择生成client or server 然后在springboot 启动添加endpoint 参考地址: https://github.com/jonashackt/tutorial-soap

2016-11-19 15:00:11 2031 1

原创 wsdl生成server端代码

1、环境IntelliJ IDEA JAVA 1.8Tomcat 8.02、新建项目 进入File > New Project…菜单打开新建项目窗口,依次选择Java、WebServices,Version项选择 Apache Axis,Libraries项选择 Download。然后点击Next按钮进入下一页。在下一页中输入项目名称,然后点击Finish按钮开始下载依赖包。依赖包下载完成后进

2016-11-17 15:16:00 1862

原创 保持顺序的 Java Properties 类

项目测试过程中需要用到properties,但是load的时候不是顺序的,会造成数据遍历时候的一些错误 代码:package cn.caiqr.caipiao.award;import java.util.*;/** * Created by tangxuelong on 16-11-15. */public class OrderedProperties extends Propertie

2016-11-16 21:36:40 929

原创 CountDownLatch

CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 主要方法 public CountDownLatch(int count); public void countDown(); public void await() throws InterruptedException构造方法参数指定了计数的次数 countDow

2016-11-07 17:29:26 225

原创 mac-os use apt-get or yum

mac中自带ruby环境,打开terminal,运行如下代码:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"这段将会帮你安装home-brew 接下来想安装nignx,只需要运行 brew install nginx 就可以了。

2016-10-16 21:47:44 327

原创 quartz CronExpression表达式

一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。按顺序依次为1.秒(0~59)2.分钟(0~59)3.小时(0~23)4.天(月)(0~31,但是你需要考虑你月的天数)5.月(0~11)6.天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)7.年份(1970-2099)其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(

2016-10-12 15:48:14 243

原创 java关于集合的遍历与增强for循环的使用

java集合类的使用可以说是无处不在,总的我们可以将之分为三大块,分别是从Collection接口延伸出的List、Set和以键值对形式作存储的Map类型集合。 许多情况需要我们遍历出集合中的元素,并做相应的处理。 下面对各种类型的集合的遍历做一些总结,关于增强for循环,需要注意的是,使用增强for循环无法访问数组下标值,对于集合的遍历其内部采用的也是Iterator的相关

2016-10-11 20:25:09 452

原创 mysql workbench中PK,NN,UQ,BIN,UN,ZF,AI字段类型标识说明

使用MySQL workbench建表时,字段中有PK,NN,UQ,BIN,UN,ZF,AI几个基本字段类型标识。它们分别代表的意思是: PK:primary key 主键 NN:not null 非空 UQ:unique 唯一索引 BIN:binary 二进制数据(比text更大) UN:unsigned 无符号(非负数) ZF:zero fill 填充0 例如字段内容是1 int(4

2016-10-08 20:34:21 639

原创 ubantu安装gradle

Ubuntu官方源的Gradle太陈旧了。。。陈旧到不支持Android Studio的 jcenter方法,如果强行编译,会出现如下错误:Could not find method jcenter() for arguments [] on repository Container.所以,起码到现在(2016-10-8), 不要用sudoapt−getinstallgradle来安装gradle,

2016-10-08 17:31:10 353

原创 InteliJ使用tomcatServer启动项目

首先需要安装tomcat.直接到官网搜索tomcat下载对应版本即可,把文件移动到想要置放tomcat的目录,比如home/[userName]/,解压, tomcat目录解释:bin //该目录存放的是shell脚本,其中startup.sh启动tomcat脚本,shutdown.sh是关闭tomcat的脚本文件conf //配置文件目录,该目录下有四个非常重要的文件/* Ø server.

2016-09-08 11:37:52 406

原创 彩票系统设计注意问题

彩票投注流程 1.投注页面-投注方式-玩法-附加属性(主玩法,辅助玩法) 2.选号-号码表(格式保存) 3.下单-order-lotteryNumber 4.支付 5.拆单-ticket 6.投注-合作商投注2.技术 IO(阻塞)转换为NIO(异步)–Netty 响应结果一定要快速处理--请求返回时启动线程处理业务task–队列--kafka or redis 单点–zookeep

2016-09-07 11:10:01 1066

原创 一元购宝倒计时之angularJs-$interval

setInterval更新的数据不能够及时的在页面做更新显示,但angular自带的$interval可以做到,用法和setInterval完全一样,这里只做了秒倒计时,没有做分钟倒计时,另外timer对象为全局变量,在点击按钮和切换路由的时候需要控制清楚timer,因为angular单页面web应用的特性。leftTimer = $interval(function(){ each.lef

2016-08-24 10:58:45 1415

原创 html5打开手机相册上传照片之七牛JSSDK

官方文档介绍了demo,应该有一部分人看不懂,在这里做一下傻瓜记录 首先需要一个上传插件,和七牛jssdk插件<!-- 七牛 --> <script src="../libs/qiniu/plupload.full.min.js"></script> <script src="../libs/qiniu/qiniu.min.js"></script>这会确保你能够正确的new一个七牛上传文

2016-08-24 10:44:47 3925

原创 javascript继承机制的设计思想

为什么要使用prototype? new关键字的作用?//构造函数var Pet = function(word){ this.word = word; this.type = 'animal';}//用new关键字继承petvar dog = new Pet('wang wang~');dog.word;//wang wang~var cat = new Pet('miao

2016-07-06 11:52:32 374

原创 nodejs基础概念解析

1.什么是回调?var learn = function(something) { console.log(something);}var we = function(callback,something){ var something = something + ' is cool'; callback(something);}we(learn,'NodeJs');we

2016-07-04 17:13:45 398

转载 Unable to require openssl, install OpenSSL and rebuild ruby … on Ubuntu 14 LTS(ruby2.3.0 on ubuntu)

I followed the steps from http://rubyonrails.org/download/ to install ruby but ran into this error:ERROR: While executing gem … (Gem::Exception) Unable to require openssl, install OpenSSL and rebuild

2016-07-04 12:00:21 4682

原创 数据库优化需要考虑的问题

1.分库分表,根据user_id的后一位或俩位为索引,分10或者100张表. 2.导出数据文件,减少数据库压力,集体做update(根据类别单位进行update)。 3.拆票到最小元素,便于算奖 4.唯一键约束,解决多线程并发问题

2016-06-22 18:56:47 433

原创 mobie-web开发6位支付密码验证补充

html<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/><!--略掉一部分代码--> <div id="popup" compi

2016-06-17 05:31:27 766

原创 域名更换为https遇到的问题

页面中不能有任何的http请求 包括cdn,图片,接口请求都必须是https 于是把所有文件都放到本地解决cdn和图片http请求 接口https请求直接请求https,在nginx做转发到本地的nodehttp服务,然后用nodehttpwebserver去请求http接口

2016-05-26 10:29:37 2960

转载 ng-disabled 不起作用的解决办法

不知道这算不算 Angular.js 的一个bug。但搜索一番后找到了一个变通的解决办法。业务需求是这样的, 按钮被点击一次之后就设置为禁用状态, 以阻止多次无效的点击。但现在很多框架都用 或者其他标签来实现 button 效果。我并不是专业的UI, 不知道这样做到底好不好,该怎么样就怎么样呗。在 上面时 ng-disabled 一切正常(因为 支持 disabled ):<button ng

2016-05-26 09:56:41 1347

原创 safari无痕模式localStorage报错

无痕模式应该是禁用了localStorage对象,但是window.localStorage是存在的 但是document.cookie是可以使用的try { localStorage.setItem('isPrivateMode', '1'); localStorage.removeItem('isPrivateMode'); window.isP

2016-05-23 17:49:05 3227

原创 linux服务器部署jenkins,让代码定时自动编译

1 .安装jenkins:google–ubuntu install jenkins 点击第一个搜索结果 在terminal中依次运行看到的shell命令wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -sudo sh -c 'echo deb http://pkg.jenkins

2016-05-21 17:00:04 3115 3

原创 safari(css,jquery)仿iosNative的actionsheet

先上效果图 html代码:<div id="actionsheet" class="actionsheet hidden"> <div class="actionchoices"> <div class="fieldset"> <div>工作时间:每天9:00-22:00</div> <a

2016-05-15 23:06:18 1265

原创 mobie-web开发6位支付密码验证

第一次想到的方式是直接使用input,加background给出6个输入框,maxlength做限定,会遇到一个问题,letter-spacing没有办法实现大小屏幕适应,因为它不支持%比。 于是开始了第二种方式,就是放6个input,在PC上调试是没有问题的。放到手机上查看问题就出现了,每个输入框focus的时候都会跳跃一下。。于是再次放弃。 最后的解决办法是用div+img画密码,用透明的i

2016-05-12 10:42:22 827

原创 Angularjs输出html

第一种方式 ng-bind-html html<div id="popup" ng-bind-html="popup.content | to_trusted"></div>angularjsapp.filter('to_trusted', ['$sce', function ($sce) {  return function (text) {   return $sce.trustAs

2016-05-10 22:26:38 1866

原创 Jquery处理url.query

在使用angularjs的时候,获取通过页面路径穿来的参数,只需要使用$location.url这个对象就可以搞定了,但是最近在做支付对接的时候遇到一个问题,页面只需要获取url参数之后做提交表单,这时候如果用angularjs绑定表单的数据,虽然是双向绑定,但是发现提交表单的时候,表单中要绑定的数据并没有加载完毕导致签名错误,然后提交表单setTimeout(func,100)等一秒执行就通过了。

2016-05-10 14:25:01 2039

原创 javascript设计模式--单例模式

单例模式:只允许实例化一次的对象类 这种在基本的编程中可能已经经常的用到,只是不知道是单例模式 比如config.js文件,service.js里都会经常用到:app.factory('payInfo', function($location) { // Might use a resource here that returns a JSON array return { ge

2016-05-07 11:43:20 872

原创 Angularjs的理解和认识

angularjs主要需要理解的模块有 1.AngularJS的双向数据绑定 /tpl下的html文件属于是模板 每个模板都会对应一个controller.js文件 页面通过ng-controller=”controllerName”来绑定controller 通过config.router.js中的 .state(‘app.dashboard-v1’, {

2016-05-06 21:18:16 1739

转载 nginx同一iP多域名配置方法

nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管理方便,每个域名建一个文件,有些同类域名也可又写在一个总的配置文件里。一、每个域名一个文件的写法 首先打开nginx域名配置文件存放目录:/usr/local/nginx/conf/servers ,如要绑定域名www.itblood.com 则在此目录建一个文件:www.itbl

2016-04-26 09:45:15 718

空空如也

空空如也

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

TA关注的人

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