- 博客(82)
- 收藏
- 关注
转载 MySQL timestamp 的一个坑
前段时间用数据库,发现mysql里面的timestamp数据总是自动更新,但是自己设置的时候并没有设成 on update有啥操作。 网上看到如下一段,谨记。在CREATE TABLE语句中,第1个TIMESTAMP列可以用下面的任何一种方式声明: 1: 如果定义时DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP子句都有,列值为默认使用当前...
2018-07-11 10:53:32 1508
转载 nginx的启动、关闭和平滑重启(=)
nginx的配置文件检查:nginx -t显示nginx的版本信息:nginx -v显示nginx的版本和编译信息:nginx -Vnginx的启动信息:nginx对进程的控制能力非常强大,可以通过信号指令控制进程。常用的信号有:quit:表示处理完当前请求后,关闭进程;hup:表示重新加载配置,也就是关闭原有的进程;并开启新的进程;此操作不会中断用户的访问请求、因此可以通过此信号平滑地重启ng...
2018-07-10 17:15:16 1090
转载 nginx参数详解与性能优化(-)
user:指定nginx worker进程的用户以及用户组;work_processes:是个主模块指令,制定了nginx要开启的进程数。每个nginx进程平均耗费10M-12M内存;根据经验一般设定一个进程足够了;如果是多核cpu;建议指定和cpu数量一样多的进程数;error_log:是个主模块指令,用来定义全局错误日志文件;日志输出级别有debug、info、notice、crit可供选择;...
2018-07-10 17:14:36 1264
转载 nginx日常应用之日志分割(四)
nginx没有类似于apache的日志分割处理功能,但是,可以通过nginx的信号控制功能的脚本来实现日志的自动切割。请看下面的一个实例:nginx对日志进行处理的脚本:#!/bin/bash#auth:zl#log_save='/home/nginx/logs'nglogs='/var/log/nginx/logs'mkdir -p $log_save/$(date +%Y)/$(date +...
2018-07-10 17:13:21 247
转载 nginx 常用配置案例(三)
nginx作为一个http服务器,在功能实现方面和性能方面都表现的非常优越,下面就写一些nginx常用的配置实例:1、虚拟主机配置:下面在nginx中创建2个虚拟主机,需要说明的是,这里仅仅列出了虚拟主机的配置部分。 server { server_name image.zl.com 外网ip; proxy_connect_timeout 600; proxy_r...
2018-07-10 17:12:42 519
转载 nginx获取经过层层代理后的客户端真实IP(使用正则匹配)
场景:在请求到达后端服务之前,会经过层层代理的转发。 一般的解决方案: proxy_set_header Host $host; proxy_set_header X-real-ip $remote_addr; proxy_set_header X-Forwarded-F...
2018-06-26 16:59:43 843
原创 nginx负载均衡后tomcat获取客户端真实IP
tomcat在未加nginx前端负载均衡的情况下访问日志中可以直接拿到客户端额真实IP地址,但是加了nginx前端负载均衡之后tomcat访问日志中得到的为nginx的ip,不是客户端的ip,获取客户端的ip可以参照如下方法:1. 配置nginx 要解决这个问题可以在Nginx配置一个新的Header,用来存储$remote_add,然后再Tomcat获取记录这个值。 新增nginx配置:serv...
2018-03-21 10:57:21 642
转载 关于Spring加载classpath与classpath*的过程剖析
Spring加载Resource文件是通过ResourceLoader来进行的,那么我们就先来看看ResourceLoader的继承体系,让我们对这个模块有一个比较系统的认知。那么ResourceLoader针对classpath 与 classpath*以及通配符是怎么处理的首先,我们来看下ResourceLoader的源码[java] view plain copypublic inte...
2018-03-14 15:22:26 384
转载 BigTable是Google设计的分布式数据存储系统
BigTable是Google设计的分布式数据存储系统,用来处理海量的数据的一种非关系型数据库。BigTable是非关系的数据库,是一个稀疏的、分布式的、持久化存储的多维度排序Map。Bigtable的设计目的是可靠地处理PE级别的数据,并且能够部署在上千台机器上。Bigtable已经实现了下面几个目标:适应性广泛、可扩展、高性能和高可用性。在很多方面,Bigtable和数据库很类似:它使用了很多...
2018-03-06 18:06:09 1427
转载 nginx 反向代理 某个目录下 带特定后缀名的文件
因为现在前端开发有时开发环境和生产环境 url路径不同,所以前端基本会采用nginx反向代理接口举个例子想把http://localhost/project/test.action 反向代理到 http://yourserver.com/test.action[plain] view plain copy
2016-12-22 10:01:55 24823
原创 nginx判断文件存在和进行项目跳转
#对项目名进行访问就去访问tomcat服务 location /api { root "C:\\tools\\apache-tomcat-7.0.54\\webapps\\api\\WEB-INF\\jsp\\news";try_files $uri $uri @tomcatproxy; # proxy_pass http://localhost:80
2016-12-19 16:24:46 3486
转载 苹果IAP开发中的那些坑和掉单问题
相信很多iOS App的开发者,特别是手游开发者,都接触过苹果支付IAP(In-App Purchase)。相信使用了IAP的App,都经历过“掉单”问题。什么是“掉单”呢?简言之就是用户付款买金币,钱扣了,金币却没到账。掉单一旦发生,用户通常会很愤怒地来找客服。然后客服只能找开发人员把金币给用户手动加上。显然,伤害用户的体验,特别是伤害付费用户的体验,是一件相当糟糕的事情。我们在微爱App的开发...
2016-09-09 11:06:45 15793 1
原创 关于 Akka actor中使用 slf4j日志的问题
我们在配置 application.conf时,引用的包有两种方式:一种是:slf4j-log4j12 + slf4j-api这种方式的配置,需要 application.conf + log4j.properties的组合方式,它是无法识别 logback.xml这种数据的另外一种则是:slf4j-api + logback-core + logback-classi
2016-07-14 11:48:15 2001
转载 windows平台上编译生成libzmq
编译libzmq工程即可。但是编译过程中出现了两个错误。错误一:提示“error C1083: 无法打开包括文件:“sodium/core.h”: No such file or directory”错误二:提示“error C3861: “if_nametoindex”: 找不到标识符”错误一的解决方法:原因是缺少libsodium库,因此从https://downloa
2016-06-22 15:45:28 1881
转载 一键安装Maven (使用Yum)
在Centos下面如何安装Maven,查了很多地方,都是: 下载,解压,复制.... 今天偶然发现了一个通过Yum安装maven的办法,就2个命令: wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.rep
2016-06-14 11:45:33 20874 1
原创 Scala 实现两个类型比较的实现
方法一:使用隐式转换函数:相当于java中的 java.lang.Comparable def myCompare[T]( x: T, y : T)(implicit z : T => Ordered[T]) : T = { if(x.compare(y) > 0) y else x } 方法二:使用隐式转换参数,当于于java中的 java.util.
2015-11-11 15:44:10 1224
转载 修改配置文件改变eclipse字体等相关配置
在新版本的MyEclipse在WIN7下,汉字那是相当的难看,而且每换一个项目目录,都需要重新配置,这样很麻烦,也不方便,于是我希望能够通过修改配置文件来解决当前文件,这样我就能够单纯的复制完文件就可以了:eclipse中的配置文件一般存在于:工作区/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.w
2015-11-02 16:25:46 1384
原创 java中深拷贝浅拷贝分析
浅拷贝是指拷贝对象时仅仅拷贝对象本身(包括对象中的基本变量),而不拷贝对象包含的引用指向的对象(这里的不拷贝是指不会给生成不同的引用地址)深拷贝不仅拷贝对象本身,而且拷贝对象包含的引用指向的所有对象。举例:对象A1中包含对B1的引用,B1中包含对C1的引用,浅拷贝A1得到A2,那么A2中依然包含对B1中的引用,B1中依然包含对C1的引用,也就是说如果你改变C1,B1中属性的值,会引发A
2015-10-28 16:34:55 471
原创 Mongodb获取附近的人
double[] loc = new double[2];//坐标[longitude, latitude]loc[0] = 114d;//longitudeloc[1] = 118d;// latitudeDBObject near = new BasicDBObject();near.put("$near", loc);//表示near查询,单位是“度”near.put("
2015-10-27 11:09:58 2271
转载 Nginx做前端Proxy时TIME_WAIT过多的问题
我们的DSP系统目前基本非凌晨时段的QPS都在10W以上,我们使用Golang来处理这些HTTP请求,Web服务器的前端用Nginx来做负载均衡,通过Nginx的proxy_pass来与Golang交互。由于nginx代理使用了短链接的方式和后端交互的原因,使得系统TIME_WAIT的tcp连接很多:shell> netstat -n | awk '/^tcp/ {++state[
2015-10-23 14:54:57 524
转载 /proc/sys/net/ipv4/下各文件的作用
/proc/sys/net/ipv4/icmp_timeexceed_rate这个在traceroute时导致著名的“Solaris middle star”。这个文件控制发送ICMP Time Exceeded消息的比率。/proc/sys/net/ipv4/igmp_max_memberships主机上最多有多少个igmp (多播)套接字进行监听。/proc/sys/net/i
2015-10-21 15:07:13 846
转载 Maven Sonatype Nexus return 401
主要解决Sonatype Nexus return ’401′问题及查看maven当前生效的是哪个settings.xml使用Sonatype把自己android-common的和android-auto-scroll-view-pager等库发布到Maven中央仓库mvn clean deploy却发现始终401,提示Java1
2015-10-19 18:33:56 1602
转载 使用Nexus创建Maven私有仓库
从Maven中央仓库下载所需的jar包,需要外网的支持如果公司不能上外网的话则不能从中央仓库下载所需jar包,公司网速慢的时候也会影响项目构建的速度。用户可以用nexus创建私有的maven仓库。首先下载nexus,下载地址是http://www.sonatype.org/nexus/go,在此页面可以下载最新版本的Nexus,可以下载zip包也可以下载war包两种包的部署方式不一样。
2015-10-19 11:46:51 407
转载 lsof 详细解释
lsof全名list opened files,也就是列举系统中已经被打开的文件。我们都知道,linux环境中,任何事物都是文件,设备是文件,目录是文件,甚至sockets也是文件。所以,用好lsof命令,对日常的linux管理非常有帮助。以下的说明,大部分内容来自lsof的manual文档。我所做的只是在中文翻译的基础上,进行简单的分类说明,并列举最常用的参数。一、输出说明lsof是
2015-10-10 09:13:28 1919
转载 Netty5.x中新增和值得注意的点
不像Netty3.x和4.x之间的变化,5.x没有那么大的变化,不过也取得了其简化设计中的一些突破性进展.。我们力求尽可能平滑的从4.x版本过度到5.x版本,如果你在迁移过程中遇到任何问题,请告知我们。 核心变化 支持Android 提供了: 移动设备变成更加强大通过Ice Cream Sandwich解决了在ADK中最著名的与NI
2015-09-21 17:33:16 993
转载 Guava并发:ListenableFuture使用介绍以及示例
ListenableFuture顾名思义就是可以监听的Future,它是对java原生Future的扩展增强。我们知道Future表示一个异步计算任务,当任务完成时可以得到计算结果。如果我们希望一旦计算完成就拿到结果展示给用户或者做另外的计算,就必须使用另一个线程不断的查询计算状态。这样做,代码复杂,而且效率低下。使用ListenableFuture Guava帮我们检测Future是否完成了,如
2015-09-15 20:18:52 1813
转载 JavaScript中,字符串和二进制互转
string --> binary array Array.prototype.map.call( __YOUR_STRING__ , function( c ) { return c.charCodeAt(0); } );binary array --> string String.fromCharCode.apply( null , __YOUR_BINARY_
2015-06-29 10:30:10 8228
转载 使用Cargo实现自动化部署
argo是一组帮助用户操作web容器的工具,能够帮助用户实现自动化部署,几乎支持所有的web容器,如tomcat、jboss、glassfish等。为了能在命令行中使用cargo,需要修改maven的settings.xml文件,修改如下所示:[html] view plaincopyprint?pluginGroup>org.cod
2015-06-25 14:08:15 752
转载 Netty中的那些坑
最近开发了一个纯异步的redis客户端,算是比较深入的使用了一把netty。在使用过程中一边优化,一边解决各种坑。而这些坑大部分基本上是Netty 4对Netty 3的改进部分引起的。注:这里说的坑不是说netty不好,只是如果这些地方不注意,或者不去看netty的代码,就有可能掉进去了。坑1: Netty 4的线程模型转变在Netty 3的时候,upstream是在IO线
2015-06-11 09:10:51 3000
转载 终极 Web 应用性能和压力测试工具 Gor
常见的 Web 应用的压力测试工具Web 应用压力测试工具有很多,比如 Apache ab,node-ab,Apache JMeter, LoadRunner, httperf。但是这些工具都没能解决一个问题:如何正确模拟生产环境的流量如今 Web 应用的架构变得非常复杂,内部包含复杂的各种负载均衡、 服务和 RPC 调用关系,简单的发送 GET 请求到某些 URL 或者
2015-06-11 09:07:59 931
转载 ssh_exchange_identification: Connection closed by remote
背景:linux ssh 无法登录 错误提示 Connection closed by foreign host,之前都好好的,现在突然就有问题了,最后查到是因为有人做机器盘点,可能对一些ip作了白名单以限定其对本机的ssh的访问。[root@localhost htdocs]# telnet 10.70.32.58 22Trying 10.70.32.58...Connected
2015-05-21 18:43:25 4394
转载 HDFS dfsclient写文件过程 源码分析
原文出自:http://www.cnblogs.com/ggjucheng/archive/2013/02/19/2917020.htmlHDFS写入文件的重要概念HDFS一个文件由多个block构成。HDFS在进行block读写的时候是以packet(默认每个packet为64K)为单位进行的。每一个packet由若干个chunk(默认512Byte)组成。Chunk是进行数据校
2015-04-03 14:36:26 653
原创 Could not initialize class sun.awt.X11GraphicsEnvironment
当我的系统使用Graphics2D和BufferedImage生成图片的时候,会出现 Could not initialize class sun.awt.X11GraphicsEnvironment 。但是我window下我的程序是没有问题的,部署到linux之后,才会出现该问题,说明该问题与 jar包没有关系,应该与环境变量差异有关。经查验,发现确实是一个叫 awt.headless=tr
2015-04-02 10:13:22 3276
转载 Java集合删除元素可能出现的问题
Iterator 是工作在一个独立的线程中,并且拥有一个mutex 锁,Iterator被创建之后会建立一个指向原来对象的单键引表,当原来的对象数量发生产变化时,这个索引表的内容不会同步改变,所以当索引指针往后移动的时候就找不到要迭代的对明,所以按照 fail-fast原则 iterator会马上抛出 java.util.ConcurrentModificationException 异常。
2015-04-01 10:10:22 508
原创 MongoDB在插入后,如何获取对应的ObjectId
DBObject val = new DBObject();val.put("userID", 10002);val.put("userName", "张三");//dbColl为collectiondbColl.save(val);ObjectId _id = (ObjectId)val.get("_id");//这是因为传入的val是一个对象,在save过程中,引擎对DBO
2015-03-25 14:31:00 7549
原创 MongoDB中 insert 和 save 的区别
1、在数据结果上insert是纯插入,如果_id重复,会抛出异常save存在更新操作,如果_id重复,它会触发update操作2、在性能上insert 可以一次性插入一个列表,效率很好save 针对于列表数据,需要进行遍历,一个一个插入,效率要低
2015-03-25 12:03:12 1084
转载 Elasticsearch Kibana使用
Kibana是一个用于ElasticSearch分析和查询的仪表盘,关于Kibana的介绍原文如此。值得注意的是Kibana把分析放在了查询的前面,这大概是Kibana区分于其它客户端的地方。关于Kibana的介绍和文档请参考这里。除此以外我还是用了了head和bigdesk,当然他们的定位几乎是不同的。head用于数据的浏览和查询相当简介好用,bigdesk用于ElasticSe
2015-01-12 11:18:19 3492
转载 Flume Channel Selectors使用
前几篇文章只有一个项目的日志,现在我们考虑多个项目的日志的收集,我拷贝了一份flumedemo项目,重命名为flumedemo2,添加了一个WriteLog2.java类,稍微改动了一下JSON字符串的输出,将以前requestUrl中的"reporter-api"改为了"image-api",以便和WriteLog类的输出稍微区分开来,如下:[java] view plain
2014-12-16 18:39:46 938
转载 Flume NG 简介及配置实战
Flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera。但随着 FLume 功能的扩展,Flume OG 代码工程臃肿、核心组件设计不合理、核心配置不标准等缺点暴露出来,尤其是在 Flume OG 的最后一个发行版本 0.94.0 中,日志传输
2014-12-04 11:17:29 662
转载 运行Maven是报错:No goals have been specified for this build
No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format : or :[:]:. Available lifecycle phases are: validate, initialize, generate-sources, proces
2014-12-04 08:21:59 1025
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人