Profilo di 宁静致远宁静致远FotoBlogElenchiAltro ![]() | Guida |
|
宁静致远
14 marzo Java与PHP的DES算法相接对应JAVA的DES/ECB/PKCS5Padding
PHP相应代码
<? function encrypt_something($input) { $size = mcrypt_get_block_size('des', 'ecb'); $input = pkcs5_pad($input, $size); $key = 'YOUR SECRET KEY HERE'; $td = mcrypt_module_open('des', '', 'ecb', ''); $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND); mcrypt_generic_init($td, $key, $iv); $data = mcrypt_generic($td, $input); mcrypt_generic_deinit($td); mcrypt_module_close($td); $data = base64_encode($data); return $data; } function pkcs5_pad ($text, $blocksize) { $pad = $blocksize - (strlen($text) % $blocksize); return $text . str_repeat(chr($pad), $pad); } function pkcs5_unpad($text) { $pad = ord($text{strlen($text)-1}); if ($pad > strlen($text)) return false; if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) return false; return substr($text, 0, -1 * $pad); } ?> 28 dicembre 关于集群环境下的一个不错的注意InetAddress host = InetAddress.getLocalHost();
name = host.getHostName(); arg0.getServletContext().setAttribute("hostName", name); 把这个写到Listener里
区别是哪台服务器
20 dicembre httpd的LOG回卷下载http://www.cronolog.org
安装cronolog 缺省安装在/usr/local/sbin/cronolog 定义每天回卷一次 编辑httpd.conf CustomLog "|/usr/local/sbin/cronolog /data/apache/logs/access_log.%Y%m%d" shaobin 定义自己的LogFormat LogFormat "%{%Y-%m-%d %H:%M:%S}t %h %m %H %U%q %{Referer}i %D %{FOO}C" shaobin 日期 远端主机 请求方法 请求协议 请求URL及参数 请求报头 请求时间毫秒 COOKIE的值 2006-12-18 17:08:40 218.64.17.170 GET HTTP/1.1 /event/index/img/1/2.jpg http://XXX.com/event/index/f1.html 110 127.0.0.1_1163763590_1638936469 2006-12-18 17:08:40 218.64.17.170 GET HTTP/1.1 /event/index/img/1/1.jpg http://XXX.com/event/index/f1.html 117 127.0.0.1_1163763590_1638936469 日期参数的含义: %A 星期名全称(本地的) %a 3个字符的星期名(本地的) %B 月份名的全称(本地的) %b 3个字符的月份名(本地的) %c 日期和时间(本地的) %d 2位数的一个月中的日期数 %H 2位数的小时数(24小时制) %I 2位数的小时数(12小时制) %j 3位数的一年中的日期数 %M 2位数的分钟数 %m 2位数的月份数 %p am/pm 12小时制的上下午(本地的) %S 2位数的秒数 %U 2位数的一年中的星期数(星期天为一周的第一天) %W 2位数的一年中的星期数(星期一为一周的第一天) %w 1位数的星期几(星期天为一周的第一天) %X 时间 (本地的) %x 日期 (本地的) %Y 4位数的年份 %y 2位数的年份 %Z 时区名 %% 符号`%'本身 23 novembre JMagick写中文好几次被问这个问题了
有时间再写吧
fontPath = "/usr/java/jdk1.5.0_09/jre/lib/fonts/simsun.ttf";
aInfo.setFont(fontPath); 16 novembre Java命令选项-Xms set initial Java heap size -Xmx set maximum Java heap size -Xss set java thread stack size 15 novembre MySQL数据结构操作增加字段
alter table dbname add column <字段名><字段选项> 修改字段
alter table dbname change <旧字段名> <新字段名><选项> 删除字段 alter table dbname drop column <字段名> SVN切换认证用户在TortoiseSVN1.4系列版本里的Settings里可以Clear
但是在1.3系列里就没有
在Eclipse也不知道该如何操作
06 novembre 一个常用的find命令touch -t 0608081010 1.txt
touch -t 0610100808 2.txt
find -newer 1.txt ! -newer 2.txt -ls
查找在2006年8月8日10:10到06年10月10日08:08之间的文件
ibatis与oscache的一个问题虽然手册里说CACHE缺省值是TRUE,但实际上不是.
所以需要在配置文件里显示的配置
<settings cacheModelsEnabled="true" />
官方论坛里的FAQ说的,呵呵 oscache集群oscache支持两种集群
JMS和JavaGroups
基于JavaGroups的集群
以下的官方的缺省配置
cache.event.listeners=com.opensymphony.oscache.plugins.clustersupport.JavaGroupsBroadcastingListener
UDP(mcast_addr=231.12.21.132;mcast_port=45566;ip_ttl=32;\ mcast_send_buf_size=150000;mcast_recv_buf_size=80000):\ PING(timeout=2000;num_initial_members=3):\ MERGE2(min_interval=5000;max_interval=10000):\ FD_SOCK:VERIFY_SUSPECT(timeout=1500):\ pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800;max_xmit_size=8192):\ UNICAST(timeout=300,600,1200,2400):\ pbcast.STABLE(desired_avg_gossip=20000):\ FRAG(frag_size=8096;down_thread=false;up_thread=false):\ pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;shun=false;print_local_addr=true) 03 novembre find命令杂记find . -name 'd*'
当前目录及其子目录下所有以d开头的文件
find . -name '*.tmp' -exec rm {} \;
删除当前目录及其子目录下所有以.tmp结束的文件
find . -name '*Myname*' -o -name '*myname*'
此命令也可以这样写find . -name '*\[Mm\]yname*'
-o是逻辑或, -a是逻辑与,!是逻辑非
find . \(-name a.out -o -name '*.o'\) -atime +7 -exec rm {} \;
删除一周以来未访问过的以.o结尾或名为 a.out的所有文件
find logs -type f -mtime +5 -exec rm {} \;
在logs目录中查找更改时间在五日以前的文件并删除
find logs -type f -mtime +5 -ok rm {} \;
与上行的区别是在删除前给予提示
find . -type -f -perm 644 -exec ls -l {}\;
在当前目录中查找权限是644的文件
find . -name '[A-Z]*' -print
查找以大写字母开头的文件, [a-z]小写字母, [0-9]数字
find -name '*.XC' -mount -print
在本文件系统中(不进入其他文件系统)查找以XC结尾的文件
find . -size +1000000c -print
查找文件大于1M字节的文件
find . -size +10 -print
查找大于10块的文件(1块=512字节)
find /etc -type d -print
在/etc目录下查找所有的目录
find /etc -type l -print
在/etc目录下查找所有的符号连接
JMagick的destroyImagesJMagick会在/tmp目录下创建一些临时文件
所以在最后处理完的时候调用 destroyImages方法
crontab杂记crontab
-e 编辑
-l 显示
-r 删除
minute hour day of month month day of week 五个参数的意义:
分钟(0-59)
小时(0-23)
一月中的第几天(1-31)
月份(1-12)
一个星期中的第几天(0-6)从周日开始
* 表示所有
/ 表示每
- 表示区间
, 表示离散值
设置默认的编辑器
环境变量EDITOR=vi;export EDITOR
一些例子
>>每天6:00
0 6 * * *
>>每2个小时
0 */2 * * *
>>每周一,三,五的6:30
30 6 * * 1,3,5
>>1月1日早上4点
0 4 1 1 *
>>30 4 1,15 * 5
每月1日和15日, 或者每周五的4:30
当 day of month和day of week都存在的时候,是或者的关系. 02 novembre 开发流程的随笔从版本管理系统用脚本自动打包
仍到测试机,测试通过
从测试机自动分发到各个线上的机器
总的流程是这样,细节呢...
网易的相册存储也是在域名上编号,好象最大的有500多了.
某台机器维护的时候,这台机器上的图片就会显示维护中.
数据库如何解决性能啊...
当我有1,000,000,000条数据的时候... 25 settembre Rewrite的问题[0-9]+数字
1[0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789]
匹配1开头的九位数字
还有更简单的写法么
今天学习重写规则的语法。
RewriteRule
一个URL的全部相关部分都会被Substitution替换,而且这个替换过程会一直持续到所有的规则都被执行完,除非明确地用L标志中断处理过程。 当susbstitution有”-”前缀时,表示不进行替换,只做匹配检查。 利用RewriteRule,可定义含有请求串(Query String)的URL,此时只需在Sustitution中加入一个?,表示此后的内容放入QUERY_STRING变量中。如果要清空一个QUERY_STRING变量,只需要以?结束Substitution串即可。 如果给一个Substitution增加一个http://thishost[:port]的前缀,则mod_rewrite会自动将此前缀去掉。因此,利用http://thisthost做一个无条件的重定向到自己,将难以奏效。要实现这种效果,必须使用R标志。 Flags是可选参数,当有多个标志同时出现时,彼此间以逗号分隔。
注意:一定不要忘记,在服务器范围内的配置文件中,模板(pattern)用以匹配整个URL;而在目录范围内的配置文件中,目录前缀总是被自动去掉后再进行模板匹配的,且在替换完成后自动再加上这个前缀。这个功能对很多种类的重写是非常重要的,因为如果没有去前缀,则要进行父目录的匹配,而父目录的信息并不是总能得到的。一个例外是,当substitution中有http://打头时,则不再自动增加前缀了,如果P标志出现,则会强制转向代理。 注意:如果要在某个目录范围内启动重写引擎,则需要在相应的目录配置文件中设置“RewriteEngine on”,且目录的“Options FollowSymLinks”必须设置。如果管理员由于安全原因没有打开FollowSymLinks,则不能使用重写引擎。 12 settembre Cookie杂记设置Cookie的过期时间 var mydate = new Date(); cookiename+cookievalue;expire=expirationdategmt;path=urlpath;domain=sitedomain Java里删除 cookie.setMaxAge(0); Httpd的mod_spelingMOD_SPELING模块
忽略URL里的大小写,自动匹配文件名
配置选项
CheckSpelling on | off
在2.2版本里还可以
CheckCaseOnly on|off 11 settembre IE与FireFox兼容性[2]之剪切板JS代码: function clipboard(content) { if(window.clipboardData) { window.clipboardData.setData("Text", content); } else if(window.netscape) { netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); if(!clip) return; var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); if(!trans) return; trans.addDataFlavor('text/unicode'); var str = new Object(); var len = new Object(); var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); var copytext = content; str.data = copytext; trans.setTransferData("text/unicode", str, copytext.length*2); var clipid = Components.interfaces.nsIClipboard; if (!clip) return false; clip.setData(trans, null, clipid.kGlobalClipboard); } }
注意在firefox里的使用: notes about security: a cause of the tight security settings in mozilla you have to sign the javascript to make it work another way is to change your firefox/mozilla settings to do this add this line to your prefs.js file in your firefox/mozilla user profile directory user_pref("signed.applets.codebase_principal_support", true); or change it from within the browser with calling the "about:config" page
原文http://www.krikkit.net/howto_javascript_copy_clipboard.html
09 settembre IE和FireFox兼容性[1]<img src="" no="">
IE里可以.no来取
FireFox里getAttribute("no");来取
<div id="aa" name="aa" no="">
<div id="aa" name="aa" no="">
getElementsByName函数的行为
在IE里识别的是ID
在FireFox里识别的是NAME
所以都要加上
document.getElementsByName("aa")[i].getAttribute("no")
另外,取表单前要加上 document |
|
||||
|
|