- 浏览: 69918 次
- 性别:
- 来自: 上海
最新评论
-
Cheer_up_:
多谢,无私的分享
自已制作的 Spring Security 3 参考资料 chm -
gjs_nj:
gjs_nj 写道打不开啊 可以找开了,原来是系统里需要设置, ...
自已制作的 Spring Security 3 参考资料 chm -
gjs_nj:
打不开啊
自已制作的 Spring Security 3 参考资料 chm -
Run_C:
终于找到个,太谢了
自已制作的 Spring Security 3 参考资料 chm -
sy52855385:
自已制作的 Spring Security 3 参考资料 chm
文章列表
1.自我定位
A.知道自己能力是10,自我定位为10,但想做到20
B.知道自己能力是10,但自我定位为20,觉得自己很不够
两种情况的目标都是让自己能力达到更高的20
第1种情况虽然也有提高自己的愿望,但因为已经达到定位要求,所以内心觉得提升并不是必须的。
第2种情况会非常迫切的提高自己,因为没达到要求所以必须很努力的做到。
不同的心态,体现在成长的压力、动力和效果上差别巨大。
很多人都想成长,但想和做有很大的差别。如何让自己开始做、持续做,值得大家思考。
2.紧急问题处理
公司有几个人成长得很快,有个共同特点是都处理了大量的紧急问题。
紧急问题 ...
scrum及敏捷书籍推荐
- 博客分类:
- 管理
一些敏捷实践在自己部门使用快两年了最近引入了scrum,基于看过的一些书做个推荐
问题起因:
两条写sql,操作的记录没有任何冲突,但发生死锁
预备知识:
InnoDB行锁是通过给索引上的索引项加锁来实现的
创建测试表
CREATE TABLE `t1` (
`pk_id` INT(11) NOT NULL,
`type` INT(11) NOT NULL,
`status` INT(11) NOT NULL,
PRIMARY KEY (`pk_id`)
);
create index idx_type on t1(type);
create index idx_status on t1(status);
生成测试数据
...
比较大的团队配合做事情,做为leader,如果事必躬亲,哪怕再仔细,再用心,再努力,
也不可能保证所有细节都不出问题。
所以我能做的就是首先从流程和方法上保证大家都在朝正确的方向正确的做事。
同时努力培养团队,让参与细节的人也尽可能的少出问题。
在大方向没问题的前提下,才参与到细节问题。
不要试图自己一个人搞定所有的事,这样只能评价为“傻”
对事物熟悉的几个阶段
- 博客分类:
- 软技能
简单描述一下自己所理解的对事物从完全不知道到熟悉的过程
认知:知道有这么回事,听说过
了解:进行过基本研究,大概知道是怎么回事
做过:实际操作过,可以解决同样问题
经验:实际操作过并进行过深入总结,能够举一反三、触类旁通
实际工作中很多觉得自己有经验的,其实只是做过,只能解决同样的问题,而不能想清楚其内在含义,抽象成适用范围更广的经验。
例子:
用过db connection pool,知道其好处,知道要复用,不能随意的创建和关闭。
但在非数据库场景下,不会想到用pool,比如长连接
一次LVM VG信息丢失后的处理
- 博客分类:
- 系统
现象:服务器启动时认不到LVM里的PV,而系统文件都在LVM上,所以启动不能
解决步骤:
1.把硬盘放到其他能启动的系统里,运行
pvs --partial
发现有一个PV正常,另一个是unknown device,说明VG配置信息丢失。
可以试试看能否找到原系统的备份信息
2.运行
vgchange -ay --partial
用剩余的一个PV加载VG,希望可以读到原来硬盘上备份的信息
3.运行
mkdir /tmp/lvm
mount -t ext3 /dev/VolGroup00/LogVol00 /tmp/lvm
挂载原lvm里的分区
ls /etc/lvm/backup
发现有备 ...
最近一直在面试人,碰到一个不太好的现象:很多技术人员的“职业规划”都是做管理
我并不排斥做技术的人转做管理,毕竟不是所有人都能在技术这条路上做到老,很多人在某个时候肯定要考虑转型的问题。
但我很排斥毫无规划,只想做管理,而没有为之做出努力的人。
1.不主动学习想做管理
有些人能力一般,也不主动学习提高自己,工作一段时间后觉得没什么起色,就想转做管理。
这种因为自己原因没做好工作而想转管理的更像一种逃避。对大多数人,如果技术上不提高做不好本职工作,难道换管理就可以做好了?
而且技术不行,管理也没经验,怎么转?哪个公司会接受这样的人?
2.怕承担责任想做管理
有些人觉得做技术经常需要解 ...
quartz对任务超时和misfire的处理
- 博客分类:
- J2EE
quartz有个全局的参数misfireThreshold设置可以允许的超时时间,超过了就不执行,未超过就执行。
比如设置了misfireThreshold=30分钟,如果一个任务定时在10:30执行,但在10:29服务器挂了,在10:50启动,虽然任务超时了21分钟,但小于misfireThreshold,所以还是可以执行。而如果服务器11:10才启动,那就misfire了。
对于周期性的任务,如果有misfire的情况出现,则会自动更新CronTrigger的时间周期
默认情况下会在当前时间马上执行前一个被misfire的任务
而如果设置MISFIRE_INSTRUCT ...
前段时间有个项目,在数据汇总这一步每天都要处理大量数据,为了考虑扩展,上了hadoop,虽然花了不少时间做预研,内部也测试了好久,但因为是初次使用,在上线使用后还是碰到了非常多的问题,系统问题,性能问题,hive bug......
我们马不停蹄的救火解决问题,在救火的过程中逐渐应用了另一套更轻量级的处理架构,并且在数据暂时没有进一步增长的情况下,替代了hadoop的处理方式。而原定的hadoop变为了备用。虽然现在用的扩展性没有hadoop好,但在一定数据量的情况下,处理能力还是非常高的,并且由于逻辑简单,维护方便,成本反而更低。
很多时候我们想架构做的很完美,特别是要 ...
使用jobstore来处理程序中断后的恢复
先看下几个处理时间点上的表状态
生成任务时会往job_details和triggers表插数据(这两个表关联的其它详细表就不多说了)
如果job还没开始执行时程序就中断了,
下次程序启动时会判断当前时间-预计执行时间是否小于misfireThreshold,是则正常执行,否则不执行了
如果是执行过程中中断呢?
job执行中时会往fired_triggers表插数据
如果这时程序中断,而job又设置了RequestsRecovery为true,则该job会被重新执行(不受misfireThreshold影响,因为根本就不是misfire)。
可以通过 ...
Spring Security里只找到了检查某个用户能否操作某个对象的方法,如hasPermission
没找到获取用户能够对某类对象进行ACL操作的ID列表的方法
时间紧,只好自己用sql从ACL表里查了
select distinct a.object_id_identity from acl_object_identity a
inner join acl_entry b on a.id=b.acl_object_identity
--检查ACL权限MASK
and b.mask in (:mask)
--检查className
and a.object_id_clas ...
由于32位windows操作系统不能正常管理及使用4G或以上的内存(一般只能使用到3G左右),
所以很多人通过ramdisk的方式来利用多出来的1G或以下的内存。
而这里面有很多人装了64位的操作系统后认为系统已经可以正常使用大于4G的内存了,所以就不用ramdisk了。
其实用不用ramdisk和能不能正常使用4G内存关系并不大。
就算操作系统可以正常使用4G内存了,也还是很有必要继续用ramdisk。
比如从同样的位置copy文件时,copy一个,速度可能有60M/s,
但如果两个一起copy,那两个加起来的速度肯定小于60M/s,
如果再多几个一起,那或许加起来20M/s都达不到。
给 ...
最近项目里用Spring Security 3.0,自己制作了几个相关的chm
1.JavaDoc
Spring.Security.3.0.5.JavaDoc.chm
2.英文Reference
按内容制作了目录
去掉了html页面里的ga跟踪代码和另一个要连网的代码,这样chm就不会报错了
Spring.Security.3.x.Reference.EN.chm
3.中文Reference
在网上下过一个版本,没目录,不能搜中文
所以自己重新做了一个,带目录,能正常搜中文
Spring.Security.3.x.Reference.CN.chm
4.一个比较全的教程
在http://ww ...
几个tip
1.在linux下配置rsync server时可以通过设置auth users 和/ hosts allow 来加强安全性,只允许从特定机器以特定用户名访问rsync
2.在windows下使用rsync client时,在bat文件里可以设置SET RSYNC_PASSWORD=密码,这样接下来的rsync就不用输入密码了。
3.在windows2003里把rsync client的bat加到计划任务时注意文件的全路径
测试了在我们的服务器上
test1 test2\backup@server1.bat 不能正常启动
test1 test2\b ...
把之前有cvsnt历史记录的二进制文件checkout出来后用正确的文件覆盖后提交到cvs@linux,结果再checkout下来后还是损坏。也就是说要想不改cvs client设置而正确处理二进制文件,只能在cvs服务器上直接把文件删了,重新初始化提交才行。否则因为之前的cvsnt记录,就算重提交二进制文件,还是会被当做文本文件处理。