是时候放弃Velocity模板引擎了

星期日, 2017-02-05 | Author: Lee | JAVA-and-J2EE | 没有评论 6,835 views

自Spring 4.3废弃Velocity了也为我们做了技术的预测的选择条件之一.

强迫症的缘故用到过期的方法总想查看对应的原因和解决之法,发现是官方不准备支持了.

也许也是我们放弃Velocity的使用,启用其他新的模板的开端.

来自spring的描述

Velocity 1.7 dates back to 2010. Following up on the deprecation of our Velocity support in Spring 4.3, let’s not include it to begin with in the 5.0 generation.

https://jira.spring.io/browse/SPR-13795

可以选择的模板引擎:

1.使用FreeMarker(支持多类型)

2.Thymeleaf (支持HTML5之类)

3.也可以试试国产的 Beetl,oschina的对应项目链接https://www.oschina.net/p/beetl

更多优秀的模板欢迎补充.

目前的流行程度都是后端退化到只提供REST接口的JSON形式,后端模板引擎的重要性也变的低了很多.

聊以记录下,也期待Velocity2.0版本,也许不会再有……

Tags:

err_incomplete_chunked_encoding遭遇及修复

星期日, 2017-01-08 | Author: Lee | JAVA-and-J2EE | 没有评论 11,422 views

在chrome遭遇 err_incomplete_chunked_encoding 此错误

查看了下 nginx 并没有发现是其的错误

看了tomcat 是 request header is too large 的问题

修复之

1
2
3
4
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" maxHttpHeaderSize="65536" maxPostSize="4194304"  
               URIEncoding="UTF-8"/>

搞定

Tags:

不同游戏类型的游戏服务端设计与电商的不同

星期四, 2017-01-05 | Author: Lee | webgame, 游戏开发 | 没有评论 4,433 views

本文来源于 DBAplus社群 韩伟 讲师的微信分享整理 (因无法获取微信中此文章的永久链接,故无法提供原文链接,见谅)

韩伟(腾讯科技互娱研发部架构师)
曾在网易任职8年,担任无线事业部产品总监。
多年来一直从事技术开发,擅长开发高性能系统,对于软件架构设计也有丰富的经验。
个人的技术兴趣在设计模式、软件体系架构等提高软件开发效率方面的知识

剖析的很不错,转载给以后回头总结及分享给更多游戏开发者

主题简介:
1、游戏类业务的通信模型分析
2、游戏类业务的数据处理流程分析
3、‍一般缓存系统的特点在游戏中的问题
4、现代游戏服务器端的几个典型运行时架构

一、背景

在中国的互联网诸多业务领域中,游戏一直是充当“现金牛”而存在的。常言道“隔行如隔山”,游戏领域和互联网其他领域确实可以说是不同的两个行业。但是,在游戏服务器端开发领域中的很多重要问题,并没有被明确的分辨出其特异性,从而得到专门的对待。

我们不管是在业界开源领域,还是内部分享中,很少会有专门针对游戏业务特征进行专门设计的组件、类库或者框架。我们从游戏的客户端方面来看,一款专业的游戏客户端引擎,已经是游戏开发的标配,比如最早的Flash Builder,到后期的Cocos2d-X,Unity,Unreal;但是服务器端,我们几乎找不到同样重量级的产品。

在游戏服务器端开发所有要面对的问题中,有两个是最核心和最普遍的:一是和客户端的通讯;二是游戏登录用户的数据处理。对于和客户端通讯的这个问题,大量的游戏开发者会使用“通用”的开源组件,比如Protocol Buffer、Thrift、Jetty、Node.js等等通信或RPC框架。虽然针对游戏,还是要做大量的改造,但一般都有很多现成的代码可供修改。

› 继续阅读

Tags:

nginx和php隐藏版本号信息

星期四, 2016-12-29 | Author: Lee | php | 没有评论 2,630 views

nginx 隐藏版本号 配置nginx.cnf server_tokens off; 即可

1
2
3
4
http {
    # ...省略一些配置
    server_tokens off;
  }

2.php 的版本信息 会在 HTTP头,以类似X-Powered-By: PHP/7.0.14 这种形式
在php.ini 中关闭 expose_php = Off 即可

1
2
3
4
5
6
7
8
9
10
;;;;;;;;;;;;;;;;;
; Miscellaneous ;
;;;;;;;;;;;;;;;;;
 
; Decides whether PHP may expose the fact that it is installed on the server
; (e.g. by adding its signature to the Web server header).  It is no security
; threat in any way, but it makes it possible to determine whether you use PHP
; on your server or not.
; http://php.net/expose-php
expose_php = On

对应改为记得重启下php 和对应的nginx

Tags: ,

webp的格式的转换

星期五, 2016-12-16 | Author: Lee | html5 | 没有评论 4,883 views

webp出来的有年头了,最近在看微信分享处理的文章 在 chrome浏览器下图片都是webp的格式,想另存为发现无法直接打开.

想从微信获取 jpg和png格式图片:可以使用 Mozilla Firefox 和IE 打开 都会正常显示 成jpg 和png 格式.

貌似是js检测了是否支持webp 再来加载图片的策略来 节省大规模的流量带宽.

对webp的格式一直想自动转换,去了google官方 提供的对应的转换lib包可以用命令行直接调用,也是蛮方便的.

试验了一个图片,果然压缩率 很厉害 从 31K(webp) –>408K (png),质量基本上无差

本地win-x64下载包:libwebp-0-5-1-windows-x86

› 继续阅读

Tags:

nginx支持lua的编译配置及Nginx rewrite对post数据的影响

星期四, 2016-12-08 | Author: Lee | JAVA-and-J2EE, linux | 没有评论 4,594 views

nginx+lua 可以很方便做限流,路由等其他配置很是方便

编译配置如下:
lua-nginx-module 是 openresty(集成nginx版本) 下的一个模块可以独立编译挂载
https://github.com/openresty/lua-nginx-module

Alternatively, ngx_lua can be manually compiled into Nginx:

1.Install LuaJIT 2.0 or 2.1 (recommended) or Lua 5.1 (Lua 5.2 is not supported yet). LuaJIT can be downloaded from the LuaJIT project website and Lua 5.1, from the Lua project website. Some distribution package managers also distribute LuaJIT and/or Lua.

2.Download the latest version of the ngx_devel_kit (NDK) module HERE.

3.Download the latest version of ngx_lua HERE.

4.Download the latest version of Nginx HERE (See Nginx Compatibility)

下载编译安装:
› 继续阅读

Tags: ,

理解java里一年中第多少周的定义

星期三, 2016-11-23 | Author: Lee | JAVA-and-J2EE | 没有评论 3,521 views

应用里需要按照周来定义工作量,用到一年的第多少周,如下定义:
美式:(java默认的方式)
1.以周日为一周的开始 (周日到周六)

2.以每年的1月1日为当年的 第一周

在国内还是比较习惯 以
1.周一 为一周的开始 即 (周一,周二,周三,周四,周五,周六,周日)

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void getWeek() {
	String today = "2016-12-31";  
	SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");  
	Date date = null;  
	try {  
	date = format.parse(today);  
	} catch (Exception e) {  
	 e.printStackTrace();  
	}    
	Calendar calendar = Calendar.getInstance();  
	//calendar.setFirstDayOfWeek(Calendar.MONDAY);  
	calendar.setTime(date); 
 
	System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));  
}

输入结果:默认 为 2016年的 第53周,

如果以周一为一周的开始,则归入2017年的第1周.(因为2017年1月1日 为周日好巧呢.)

Tags:

解决ThinkPHP路由404问题的 nginx 配置文件

星期一, 2016-11-21 | Author: Lee | php | 没有评论 8,546 views

完美支持ThinkPHP的四种url模式, 静态文件不会再跑一次fastcgi浪费资源

ThinkPHP的几种url模式,如果nginx 不做任何配置,代理到php都是返回404错误,要解决也很简单

做好nginx的配置 做到动静分离和路由重写即可,配置如下:

其他日志配置等就不再贴出
› 继续阅读

Tags: ,

java 压缩文件夹成zip格式

星期五, 2016-11-18 | Author: Lee | JAVA-and-J2EE | 没有评论 3,642 views

想用java 自动打包文件,由此来的此代码
› 继续阅读

Tags: ,

no response “Installing Python packages” when letsencrypt-auto

星期一, 2016-11-07 | Author: Lee | JAVA-and-J2EE, linux | 没有评论 6,905 views

延续https的时间的时候,遭遇no response “Installing Python packages”,卡在一直不动的解决方法

主要执行 三,四即可

一.重新配置pip的源文件

vim ~/.pip/pip.conf
 
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
 
[install]
trusted-host=mirrors.aliyun.com

› 继续阅读

Tags: ,

Search

文章分类

Links

Meta