Arganzheng's Blog

stay hungry, stay foolish

Linux下如何备份旧文件

将30天前的文件打包压缩备份,然后删除原文件 今天王岩发了一个shell脚本让大家review一下: mmddnew=`date "+%Y%m%d"` basedir="/data/tomcatlog/api/reconciliationFiles/" echo ${mddnew} cd ${basedir} echo "压缩" find ./ -maxdepth 1 -type f -mtime +30 | xargs tar czvf ./${mmddnew}.tar echo "移动压缩包" mv ./${mmddnew}.tar ./bak/ echo "删除旧的文件" find ./ -maxdepth 1 -type f -mtime +30 -ex...

maven的resources插件

maven的resources插件职责是将项目的资源文件拷贝到目标目录。maven将资源划分为两类:main resources 和 test resources。因此有如下三个相应的goal: 1. resources:resources command: mvn resources:resources bound by default to the process-resources life-cycle phase copies the resources for the main source code to the main output directory the resources for your main source cod...

Spring事务配置

原理 Spring是基于proxy方式的事务实现机制。如果你的target实现了某个接口,那么Spring可以根据这个接口动态生成一个proxy,在你的service方法前后进行如下事务管理: tx.begin(); try{ target.service(); }catch(Exception e){ tx.rollback(); } tx.commit(); 而动态代理的生成方式,Spring支持两种: 如果target有实现接口,那么使用JDK动态代理 否则使用CGLIB Proxy Creates a JDK proxy when proxy interfaces are given, and a CGLI...

如何不刷新页面上传文件

场景: 一个表单页面:有很多字段,其中有一个是上传图片字段,如何提交这个表单页面。 解决方案 方案1. iframe + hidden field 为了不刷新页面,一般来说要不就是对文件标签使用iframe和单独的form来提交。提交到iframe指定的action处理完成后,将文件上传路径回写到父页面的某个字段。需要在iframe中区分是否已经上传了文件。 如:http://apitest.buy.qq.com/apitools/imgUpload.xhtml?imgName=pic <html> <head> <meta name="description" content="腾讯电商" />...

如何往HttpServletRequest中塞请求参数

需求 假如用户没有传递cooperatorId,那么默认等于uin。 常规做法是在interceptor或者filter或者action中判断如果没有cooperatorId参数,则设置到request的parameterMap中: String cooperatorId = request.getParameter("cooperatorId"); if(cooperatorId == null){ request.getParameterMap().put("cooperatorId",request.getParameter("uin")) ; } 问题 public interface ServletRequest { ...

URL encoding学习笔记

最近在搞一个Open API在线测试工具,出现一些问题,因此接触到了URL Encoding相关方面的东西。 首先要了解一下什么是URL Encoding: URL Encoding is the process of converting string into valid URL format. Valid URL format means that the URL contains only what is termed “alpha digit safe extra escape” characters. 然...

海量图片存储思考

最近在学习分布式存储和数据分析相关的东西,特别是看了Facebook的这篇论文:Finding a needle in Haystack: Facebook’s photo storage,感觉特别与阿里巴巴现在的现状类似。阿里现在的图片存储正处于Facebook的原始阶段——CDN(中美有各自的CDN) ==> imageServer(apache+squid) ==> NFS共享存储。 说明 CDN的作用 CDN只适合于缓存popular static content(images, html, css, js, etc.)。对于long tail(长尾)文件,并不适合。这就是我们上次ASC从前台dump图片,将存储搞挂的原因。faceboo...

构建可伸缩的大型网站

语言与框架 php: Zend python: django ruby: rail java: springMVC 开发环境与服务器环境 linux 机房 服务器硬件 服务器软件: webServer: apache, lightd, nginx appServer: tomcat, jboss, jetty, nodejs 代码版本控制 svn git 自动化构建工具 ...

工欲善其事,必先利其器——从零打造你的vim

内功心法 预练此功,必先自宫。 1、源码安装编辑器 vim 发行套件的软件源中预编译的vim很多时候版本太老旧,但是有些插件,比如YCM插件,对VIM版本有很严格的要求,所以如果你的版本实在太低,还是建议先升级一下。可以采用源码安装: git clone git@github.com:vim/vim.git cd vim/ ./configure --with-features=huge --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-perlinterp --with-python-config-dir=/usr/lib/python2.7/config/ --en...

使用github搭建个人博客

一直喜欢写文章。大概一年多前吧,在CSDN和javaeye(哦,现在叫做iteye..)注册了帐号,写了几篇博文,但是看着javaeye老土的界面和窄小的编辑区域就没有写的兴致了,CSDN相对大方点,但是速度老慢。还不如我用QQ记事本编辑方便和有意思。想自己写个博客系统,实在是没有抽不出空闲的时间,而且本人前端美工比较烂,所以一直是QQ记事本将就着用。直到最近看到很多人用jekyll搭建了自己的博客系统,所以在这周抽出时间也搞了一个,就是大家现在看到的这个。本博客是在其他文章的帮助搭建成功的,怀着感恩的心,本博的第一篇文章就是详细介绍如何用jekyll搭建一个个人博客。虽然文章很长,但是请相信我,整个过程只需要一天左右。 What: 什么是jekyll jeky...

×