<meta name="viewport" content="width=device-width,initial-scale=1.0">


content属性值 :
     width:可视区域的宽度,值可为数字或关键词device-width
     height:同width
     intial-scale:页面首次被显示是可视区域的缩放级别,取值1.0则页面按实际尺寸显示,无任何缩放
     maximum-scale=1.0, minimum-scale=1.0;可视区域的缩放级别,
              maximum-scale用户可将页面放大的程序,1.0将禁止用户放大到实际尺寸之上。
     user-scalable:是否可对页面进行缩放,no 禁止缩放
  有一个邮件模板,例如:
亲爱的用户${name},你好,欢迎加入xx系统平台。这种简单的不想去依赖freemarker、velocity这种模板引擎框架,所以自己用正则实现了,如下:

  /**
     * 替换模板标签变量
     *
     * @param params        变量键值
     * @param templetConent 模板内容
     * @return
     */
    public String replaceTempletTags(SmsParams params, String templetConent) {
        String smsContent;
        try {
            //生成匹配模式的正则表达式
            String patternString = "\\$\\{(" + StringUtils.join(params.getSmsParam().keySet(), "|") + ")\\}";

            Pattern pattern = Pattern.compile(patternString);
            Matcher matcher = pattern.matcher(templetConent);

            //两个方法:appendReplacement, appendTail
            StringBuffer sb = new StringBuffer();
            while (matcher.find()) {
                matcher.appendReplacement(sb, params.getSmsParam().get(matcher.group(1)).toString());
            }
            matcher.appendTail(sb);
            smsContent = sb.toString();
        } catch (Exception e) {
            throw new RuntimeException("解析模板并替换标签值时失败!" + e);
        }
        return smsContent;
    }
其实一直想写一篇文章名字都想好了,叫做“程序员该不该理财?”。后来想了想,该不该这个就不用想了,必须要理财!那么市面上那么多理财的方式对于我们屌丝的程序员该如何选择呢?

其实我也是那种土的掉咋的那种类型,以前几乎没有想过神马理财的,一来呢毕业的时候工资全都不够花的还理个毛线,二来总是感觉理财好像都是有钱人搞的东西;后来偶然进入了互联网金融行业,呆了几年,慢慢也接触了很多理财方式,但也还是一个门外汉,此文就是和大家一起聊聊我们程序员该如何去理财?算是抛砖引玉,欢迎拍砖。

我的理财经历

先聊聊我的理财经历,我的理财大概也是从毕业三年之后才慢慢开始的,对了也就是从余额宝开始,后来在第三方支付、互联网金融公司工作,对理财的种类了解慢慢多了起来,互联网金融也就是P2P或者金融公司产品各种变种(其实也是债权类产品的进一步封装),有活期产品、封闭期的固定收益产品(日、月、年类的固定收益);买了股票(先是A股,后来美股),在了解了基金(指数基金、债券基金、股票基金等等),后来也看了黄金和期货(了解较少)、保险接触最少。

一路慢慢走来,理财的这种想法和认识也是在不断的发展变化,不认识、不了解、不认同的一些偏见也在慢慢的消失,可以以更理性的角度去看待投资理财的这件事情,理财真的是我们每一个人都应该好好的学习的事情,如何让你辛辛苦苦的积蓄可以跑赢通货膨胀,不随着时间推移我们的资产不断缩水;但是在工作中常常发现我们的程序员对于理财目前来讲大多都还是比较保守,常常是全部都银行或者全部宝宝类产品,更有激进者全都投入股市,有一年损失十几万的。下面分几个阶段来聊聊我对理财的几个认识:

宝宝时代

说起了理财或者第三方支付,总是不能避开一家伟大的公司-支付宝,支付宝一直在引领、教育着我们这一代人对于理财的认识;我的理财起点就是从余额宝开始的,清晰的记得13年6月余额宝出来的时候,大家都感觉到稀奇或者不了解(当时仍然有很多人认为还是把钱放到银行保险,哪怕余额宝也是!),记得当初刚开始余额宝转进去了100元,每天看着它给带来的几分钱收益都很满足,然后就一发不扣收拾,几乎是前脚收到发工资的短信,下一分钟钱就同步到了余额宝里面,曾经有一段时间中国闹钱荒,导致余额宝的最高收益高达6.76;

不过后来由于这块的蛋糕台大了,各大银行也都着急出了很多的政策来限制:第一步,开限额,导致大额资金无法进入;第二步,自己干,很多银行自己也推出了资金的货币基金理财产品和余额宝来竞争,理财通也横空出世,理财通搞了一个同卡进出的理念比较好,很大程度上对资金安全起了很大的作用。
认识userAgent

这里使用userAgent属性来完成我们的需求,首先我们来认识一下userAgent这个属性:

userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。
一般来讲,它是在 navigator.appCodeName 的值之后加上斜线和 navigator.appVersion 的值构成的。
例如:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)。更多的浏览器userAgent信息可移步http://my.oschina.net/sub/blog/203139

实现

知道了以上信息后我们就可以判断我们的访问终端了,代码实现如下:

最近写有个项目直接用jar启动,是基于 maven 的一个 Java 程序,希望通过 maven 打包成一个可以执行的 jar 文件。在使用 mvn install 将 java 项目打包时发现,只有自己写的代码被打包到 jar 文件中,调用的依赖项并没打包在 jar 文件中。单独把 jar 文件拿出来执行,会出现 NoClassDefFoundError,异常信息如下:


解决方案:
pom.xml 添加 assembly 插件

执行 mvn assembly:assembly 即可。
其中 github-jar-with-dependencies.jar 是一个可以独立执行的 jar 文件。
最近有个客户要http的301跳转到SSL的https网址,实现如下:
RewriteCond %{ENV:HTTPS} !^on$
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule . https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

或者
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.hecks.tk/$1 [R=301,L]

或者
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]


#301到www
RewriteCond %{HTTP_HOST} ^hecks.tk$ [NC]
RewriteRule ^(.*)$ https://www.hecks.tk/$1 [L,R=301]

#只跳http的80端口,https是443
RewriteCond %{HTTP_HOST} ^(hecks.tk)(:80)?
RewriteRule ^(.*) https://www.hecks.tk/$1 [R=301,L]
SET类型
SET是一个字符串对象,可以有零或多个值,其值来自表创建时规定的允许的一列值。指定包括多个SET成员的SET列值时各成员之间用逗号(‘,’)间隔开。所以SET成员值本身不能包含逗号。

例如,指定为SET('one', 'two') NOT NULL的列可以有下面的任何值:

''
'one'
'two'
'one,two'
SET最多可以有64个不同的成员。

当创建表时,SET成员值的尾部空格将自动被删除。
Spring V4.0.0+的版本在不支持Servlet3.0的应用服务器上跑时会报以下错误:
NoSuchMethodError: javax.servlet.http.HttpServletResponse.getStatus()I
比如说:tomcat 7以下的版本、jboss 4.2.3以下的版本

解决版本有两个(任意选一个即可):
1)、退回到Spring V3.x.x
2)、升级应用服务器到支持Servlet3的应用服务器。
         比如tomcat7+(最好是tomcat8+)、jboss as 7+
                
本来因为ajax跨域http远程调用时有问题,在服务端响应时用以下方式解决了,但IE8及下有问题。
                response.addHeader("Access-Control-Allow-Origin", "*");
response.addHeader("Access-Control-Allow-Methods", "POST,GET");
response.addHeader("Access-Control-Allow-Credentials", "true");
后来准备再包装一下,自己再提供http接口,在http接口中用httpclient去取数据,但发现springMVC的返回乱码问题搞了我好久,怎么搞都弄不好,网上的各种方法也都不行,最后在stackoverflow上面看到了一个解决方案可行,此为链接地址:http://stackoverflow.com/questions/3616359/who-sets-response-content-type-in-spring-mvc-responsebody
首先,这个问题在stackoverflow上是三年前提问的,所以有一些方法已经过期废弃了,所以上面可以用的解决方式只有一种,在RequestMapping上添加属性produces:

@RequestMapping(value = "/getAllCategory", method = { RequestMethod.GET,
RequestMethod.POST }, produces = "application/json;charset=UTF-8")
@ResponseBody
public String getAllCategory(HttpServletRequest request,
HttpServletResponse response) {
return GYHttpClient.post(GET_PRODUCT_CATEGORY_LIST_URL);
}
循环key:


循环values


分页: 3/46 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]