Jun
20
上午花时间研究了java的编译机制。就安装了eclipse做了个实用程序。
原来我在网站的js和css文件都是用yuicompressor.jar进行压缩,虽然使用上没有问题,但只能使用脚本一个个文件进行压缩。
举个栗子:压缩网站上的js和css文件,如果使用脚本压缩,将需要15分钟才能完成。
既然yuicompressor.jar压缩效果没有问题。那我不如直接使用java个jar,少了每次启动java这个动作,应该会快很多。
中间实现过程省略
执行
同样的文件,1分钟内搞定
原来我在网站的js和css文件都是用yuicompressor.jar进行压缩,虽然使用上没有问题,但只能使用脚本一个个文件进行压缩。
举个栗子:压缩网站上的js和css文件,如果使用脚本压缩,将需要15分钟才能完成。
既然yuicompressor.jar压缩效果没有问题。那我不如直接使用java个jar,少了每次启动java这个动作,应该会快很多。
中间实现过程省略
执行
jara -jar TaCompress.jar --dir ./
同样的文件,1分钟内搞定
下载文件 (已下载 1644 次)
Jun
20
最近想写一个小程序,需要用java的包,那就用java来写吧。
先扩清楚java的编译方式:
HelloWorld.java
package com;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
先扩清楚java的编译方式:
HelloWorld.java
package com;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
Jun
14
最近在写一个程序,需要放到linux下运行,所以我想在vbox下建立一个共享目录。vbox在window系统下安装增强功能是很简单的,但在linux命令行下,有些门槛。
我这里大概说一下在命令行下如何安装共享目录。
1,在vbox对应的系统窗口里,点击”安装增加功能“(这里实际就是把增加功能的iso文件作为光盘加载到虚拟系统上)
我这里大概说一下在命令行下如何安装共享目录。
1,在vbox对应的系统窗口里,点击”安装增加功能“(这里实际就是把增加功能的iso文件作为光盘加载到虚拟系统上)
Mar
19
js的跨域问题一直很让前端开发头痛。因为只在大一些的应用都会有多个域名。最常用的应用的就是上传。
一般架构上考虑读写压力,会都会把图片等附件上传的功能单独一台服务器或者一个域名,可问题就来了。
html无论是html4还是html5都不允许跨域请求。反正返回来的东西就是空白。
但事实上不是这样,真实情况事:
返回来的东西被浏览器限制了
一般架构上考虑读写压力,会都会把图片等附件上传的功能单独一台服务器或者一个域名,可问题就来了。
html无论是html4还是html5都不允许跨域请求。反正返回来的东西就是空白。
但事实上不是这样,真实情况事:
返回来的东西被浏览器限制了
Mar
3
其实我不是想说ob_start,而是解决一个nginx的proxy_cache问题。
我使用proxy_cache对根据页面头信息里的有效期和状态页面进行缓存。这个的性能还是很不多。交给php进行控制,而且不需要每个页面都创建。只是第一次访问时才生成缓存。
在长期的运行下,发现一个问题,如果程序在出现超时后,没有返回非200的状态(如500).还是返回200。这样就问题大了。本来proxy_cache就是靠状态来判断,在出错后还是返回200这样我如何是好呢?所以我就想到使用ob_start()进行缓存。但实际上这个是没有作用。
ob_start只是开通缓存的通道。如果出错问题,他还是会返回通道的内容数据,所以不会有影响,只是非正常退出,不返回数据而已。
另外ob_start开启的缓存通道可以多个开通。
所以ob_start不能解决状态问题。最后使用set_error_handler(),设置一个出错回显的函数。直接在函数中针对出错的函数。输出500的头信息。
好了这个就可以解决问题了。
那ob_start还要不要用?我想还是用吧。出错后就不要输出页面的内容了。因为内容未处理完。不如不输出。
<?php
ob_start()
set_error_handler('my_error_handler');
function my_error_handler($errno, $errmsg, $filename, $linenum, $vars){
header('HTTP/1.1 500 Internal Server Error');
}
$smarty = new Smarty();
$smarty->display();
我使用proxy_cache对根据页面头信息里的有效期和状态页面进行缓存。这个的性能还是很不多。交给php进行控制,而且不需要每个页面都创建。只是第一次访问时才生成缓存。
在长期的运行下,发现一个问题,如果程序在出现超时后,没有返回非200的状态(如500).还是返回200。这样就问题大了。本来proxy_cache就是靠状态来判断,在出错后还是返回200这样我如何是好呢?所以我就想到使用ob_start()进行缓存。但实际上这个是没有作用。
ob_start只是开通缓存的通道。如果出错问题,他还是会返回通道的内容数据,所以不会有影响,只是非正常退出,不返回数据而已。
另外ob_start开启的缓存通道可以多个开通。
所以ob_start不能解决状态问题。最后使用set_error_handler(),设置一个出错回显的函数。直接在函数中针对出错的函数。输出500的头信息。
好了这个就可以解决问题了。
那ob_start还要不要用?我想还是用吧。出错后就不要输出页面的内容了。因为内容未处理完。不如不输出。
<?php
ob_start()
set_error_handler('my_error_handler');
function my_error_handler($errno, $errmsg, $filename, $linenum, $vars){
header('HTTP/1.1 500 Internal Server Error');
}
$smarty = new Smarty();
$smarty->display();