??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产成人久久精品大牛影视,亚洲av无码乱码国产精品,四虎亚洲精品高清在线观看http://www.tkk7.com/persister/zh-cnSat, 10 May 2025 10:40:50 GMTSat, 10 May 2025 10:40:50 GMT60UAT试http://www.tkk7.com/persister/archive/2010/11/24/338903.htmlpersisterpersisterWed, 24 Nov 2010 02:55:00 GMThttp://www.tkk7.com/persister/archive/2010/11/24/338903.htmlhttp://www.tkk7.com/persister/comments/338903.htmlhttp://www.tkk7.com/persister/archive/2010/11/24/338903.html#Feedback0http://www.tkk7.com/persister/comments/commentRss/338903.htmlhttp://www.tkk7.com/persister/services/trackbacks/338903.html
以下是它的一些一般步骤;仅供参?  
一?用户培训手册准备Q就是针对要q行UAT试的对象,及要q行培训的用P准备一些培训资料:一般是试对象使用/功能手册及要培训的用L个h资料{等Q就跟教师上课进行备译ַ不多Q?  

二步Q测试脚本发放(如果你公叔R用自动化试Q那么每一个功能或一个模块等都有对应的测试脚本,可以把这些测试脚本分发给特定的h员;如果采用手工试Q就要把详细描述一个功能或模块的文档分l相关h员(当然自动化测试也要分发)Q?  

三步Q用戯充业务测试场景和试数据Q就是:h代表性的一些最l用h据实际应用环境及一些常用处理的数据Q来l一些补充与Q越贴近实际应用好Q?  

四步Q顾问补充测试步骤(你可以请目专家Q测试经理,或专门的试Q开发等NҎ试步骤进行补充)   

五步Q培训资料及试脚本文档的确定与最l输?一般到此,各种资料都基本确定,q时可以它们进行打华ͼ或Ş成特别的电子文档Q?  

六步Q测试策略的制定Q如嵌入试{略{,Q?  

七步Q测试用L定Q大体上从培训h员中选取Q因Z是每个接受培训的人员都能有资格去试的,q里你可以通过一些考核来实Ch员的{选等{)   

八步Q由专门的测试组l机构确定测试地点,q发出通知   

九步Q测试网l环境的搭徏和保障(包括|络Q系l,YӞ包括一些case工具{)   

十步Q组l进行测?  

十一步:评审分析提交的问题(q就q入了一般bug处理q程QŞ成了一个@环)   

UAT试的重?我想主要体现在以下几个方?  

一是:培训的资料表q要准确全面Q易懂等Q这是理论基Q?  

二是Qh员选择Q要典型有代表性(用户基础Q?  

三是Q测试流E步骤(要周密)   

四是Q测试策略制定(定一个适合试对象及测试h员的试{略Q?  

五是Q问题的表达与处?因ؓ试者不是专业开发测试h员,对于问题的表辑֏能不能到位,或根本就不是那种问题Q这存在如何复C转化问题{)

出处Qhttp://baike.baidu.com/view/1330235.htm


persister 2010-11-24 10:55 发表评论
]]>
TPMC及其相关http://www.tkk7.com/persister/archive/2010/11/23/338809.htmlpersisterpersisterTue, 23 Nov 2010 07:47:00 GMThttp://www.tkk7.com/persister/archive/2010/11/23/338809.htmlhttp://www.tkk7.com/persister/comments/338809.htmlhttp://www.tkk7.com/persister/archive/2010/11/23/338809.html#Feedback0http://www.tkk7.com/persister/comments/commentRss/338809.htmlhttp://www.tkk7.com/persister/services/trackbacks/338809.html
一、什么是TPC和tpmC?

  tpmC值在国内外被q?泛用于衡量计机pȝ的事务处理能力。但I竟什么是tpmC值呢?作者曾向一些用戗推销人员乃至某些国外大公司的技术h员问q这个问题,但回{的_度与tpmC值的行E度q非相称。tpmCq一度量也常被误写ؓTPM或TPMC?


  1、TPC


  TPC(Transaction Processing Performance CouncilQ事务处理性能委员?是由?0家会员公司创建的非盈利组l,总部讑֜国。该l织对全世界开放,但迄今ؓ止,l大多数会员都是、日、西Ƨ的大公司。TPC的成员主要是计算Yg厂家Q而非计算机用P它的功能是制定商务应用基准程?Benchmark)的标准规范、性能和h格度量,q管理测 试结果的发布?

  TPC的出版物是开攄Q可以通过|络获取。TPC不给出基准程序的代码Q而只l出基准E序的标准规?Standard Specification)。Q何厂家或其它试者都可以Ҏ规范Q最优地构造出自己的系l?试q_和测试程?。ؓ保证试l?果的客观性,被测试?通常是厂?必须提交lTPC一套完整的报告(Full Disclosure Report)Q包括被系l的详细配置、分cMh格和包含五年l护费用在内的Mh根{该报告必须由TPC授权的审核员核实(TPC本nq不做审?。现在全球只有几 个审核员Q全部在国?


  2、tpmC


  TPC已经推出了四套基准程序,被称为TPCQA、TPCQB、TPCQC和TPCQD。其中A和B已经q时Q不再用了。TPCQC是在U事务处?OLTP)的基准程序,TPCQD是决{支?Decision Support) 的基准程序。TPC卛_推出TPCQEQ作为大型企?Enterprise)信息服务的基准程序?


  TPCQC模拟一个批发商的货物管理环境。该批发公司有N个仓库,每个仓库供应10个地区,其中每个地区?000名顾客服务。在每个仓库中有10个终端,每一个终端用于一个地区。在q行Ӟ10×N个终端操作员向公司的数据库发?c请求。由于一个仓库中不可能存储公司所有的货物Q有一些请求必d往其它仓库Q因此,数据库在逻辑上是分布的。N是一个可变参敎ͼ试者可以随意改变NQ以获得最x试效果?

  TPCQC使用三种性能和h格度量,其中性能由TPCQC吞吐率衡量,单位是tpmC。tpm是transactions per minute的简UͼC指TPC中的C基准E序。它的定义是每分钟内pȝ处理的新订单个数?br />
tpmc作ؓ服务器一w要指标,是可以查询到的,q样可以根据估出来的tpmc去选择相应的服务器了?br />

具体计算参考如下文章:
http://blog.csdn.net/seeseasing/archive/2009/02/25/3935317.aspx



persister 2010-11-23 15:47 发表评论
]]>
盘上没有够的I间完成此操?/title><link>http://www.tkk7.com/persister/archive/2010/11/13/337984.html</link><dc:creator>persister</dc:creator><author>persister</author><pubDate>Sat, 13 Nov 2010 06:28:00 GMT</pubDate><guid>http://www.tkk7.com/persister/archive/2010/11/13/337984.html</guid><wfw:comment>http://www.tkk7.com/persister/comments/337984.html</wfw:comment><comments>http://www.tkk7.com/persister/archive/2010/11/13/337984.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/persister/comments/commentRss/337984.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/persister/services/trackbacks/337984.html</trackback:ping><description><![CDATA[<p>windows7pȝ 盘分区时显C?#8220;盘上没有够的I间完成此操?#8221; <br /> <br /> 不用下蝲软g或者重启之cȝҎQ?br /> <br /> 1.Windows?RQ打开q行对话框,键入Qdiskpart </p> <p>q入Windows 自带的磁盘管理程序进入DOSH口QDISKPART> </p> <p>2.键入Q?list disk 选择查看该电脑下已连接的盘Q会昄如下Q?<br /> <br /> 盘 ### 状?大小 可用 Dyn Gpt <br /> -------- ---------- ------- ------- --- --- <br /> 盘 0 联机 112 GB 29 GB </p> <p>3.键入Qselect disk 0 q时注意你要键入分哪个硬盘的区,如果只有1个就直接键入select disk 1</p> <p>4.键入Qconver dynamic 使该盘变成动态状态!q个最关键了,按回车后去Windows那个分区理界面会看到原来的l色、蓝色分会变成棕?</p> <p>5.在Windows那个分区理界面按你原来的正常操作就可正常分Z </p> <img src ="http://www.tkk7.com/persister/aggbug/337984.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/persister/" target="_blank">persister</a> 2010-11-13 14:28 <a href="http://www.tkk7.com/persister/archive/2010/11/13/337984.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>信息pȝ安全问题http://www.tkk7.com/persister/archive/2010/11/02/336764.htmlpersisterpersisterTue, 02 Nov 2010 01:52:00 GMThttp://www.tkk7.com/persister/archive/2010/11/02/336764.htmlhttp://www.tkk7.com/persister/comments/336764.htmlhttp://www.tkk7.com/persister/archive/2010/11/02/336764.html#Feedback0http://www.tkk7.com/persister/comments/commentRss/336764.htmlhttp://www.tkk7.com/persister/services/trackbacks/336764.html

今年以来Q我国股市接q受到重挫,造成了部分股民的不满Q同时也出现了针对证券公司进行网l攻ȝ恶性事件。因此,证监会组l了对全国证怸的安全大 查。笔者因为工作原因,参与q负责了几个大型证券公司的安全检查。检查的从体情况来看Q有喜有忧。喜的是证券业前几年行情不好Q一直没有资金进行充分的 IT基础Q造成ITƠ债太多,但最q两q已l迎头赶上,q且证券业创C品层ZI忧的是q两q券商的IT部门一直被赶着做事情,又造成对信? 安全问题重视不够Q出C很多新的风险Q尤其在当前股市震荡的情况下Q威胁越来越大。它׃矛_以攻玉,对于各个行业的安全管理员来说Q保障信息安全是一 个Q重而道q的工作。本文基于在证券业安全问题上的一些经验和思考,希望也能够给其他行业的安全管理员提供帮助?br /> 整个安全大检查从几个斚wq行了审查,包括|站安全、物理安全、网l安全、系l安全和理安全?br /> 一、网站安?br /> 证监会组l了人手Ҏ有券商的|站q行了渗透测?模拟黑客d的方法对|站dQ但不做破坏性D?Q虽然最后证监会没有公布|站渗透测试的l果Q? 但就W者负责的4个券商安全检查来看,全部都被攻陷Q被攻陷的方法全都是sql注入Qƈ且还发现了源代码泄露、跨站漏z等问题。所q的是,l过查,没有 发现q几个网站被人入侵过或者有什么远E后门。ȝ来看Q大家对安全补丁、系l自w的加固都很重视Q没发现什么明昄忽,但是在WEB的安全编E上q做? q远不够。究其原因,׃券商自n不具备网站开发能力,|站开发都是外包来做,而外包公司在E序的代码审怸做的q远不够Q代码中可能的漏z有溢出漏洞? 跨站脚本漏洞、SQL注入漏洞{,q有一些因为程序设计不周到而导致的信息泄露问题也应该得到重视,q些漏洞本n可能没什么大的威胁,但非常有助于d? 利用其他漏洞q行d。当前M的网l安全状态是Z操作pȝ本n漏洞的入侵已l没有大的增加,而由于应用系l的复杂性和特异性,Z应用的入侵已大幅? 增加Q所以在q方面还有许多需要加强的工作?br /> 从证怸的网站安全来看,入R甚至在C盘根目录上写入文Ӟ都不是什么难事。笔者在其他一些行业的评估中,也发现同样问题的存在Qƈ且今q的安全形势 报告中也提到Q仅?月䆾Q全国就?2万网站受到sql注入式的d。因此可见,面对新型的攻LD,安全部门响应速度q缓。网站是一个企业的门面Q如 果网站被改Q带来的负面影响会很大,加强|站的安全防护,应是当务之急?br />
二、物理安?br /> 物理安全作ؓ信息安全的基Q在整个信息安全体系中扮演着非常重要的作用,而物理安全的好坏直接影响到网l安全、系l安全和安全理{等层面。对 于券商来_机房是生产的核心工具Q这几年来,理层对此也不断提出要求Q目前看来,g环境已经比较可靠Q空调、湿度控制、防火、区域标识等相对完善Q? 但与之相对应的Y件环境却不甚乐观。比如普遍存在的Q?br /> 2.1 环境
机房q出控制{没有严格执行Q流于Ş?
门禁pȝ虽有Q但时常q出没有随手关门;
q出人员所做重大操作没有记?
W三方h员进入机房没有明昄可视标识Q不能立卌别出无h护送的讉K者和未佩戴可视标识的人?br /> 2.2 讑֤
|络讑֤、主备没有有效的标记措施Q对资的界定不清晰;
重要的主备没有防盗报警措?
׃券商在不断地上新目Q经帔R要调整网l,|线和电~的普遍走线比较乱,很多|线、电~都没有可识别的记号?br /> 2.3 介质
对移动存储设备没有实行有效管理,各服务器的USB口都是开攄态?br /> 没有对移动存储设备上的敏感数据彻底删除或安全重写?br /> q些问题在很多公司机戉K普遍存在Q甚x证券业要差很多。安全不仅仅是网l安全,更是一个整体的木桶QQ何的短板都会D前功弃Q加强对物理环境的管控应是踏t实实要做好的事情,q种控也不仅仅是在环境上Q更重要的还在Y环境上?br />
三、网l安?br /> q年来证券整体行业效益不错,因此在网l上投入很大Qv点较高,q且׃券商大多数都是跨地域的,整个IP地址的规划也都比较合理,hq箋性,能够 与网l拓扑层ơ结构相适应Q便于进行管理。作为网l徏N要规范性之一的可靠性徏设也受到很大重视Q针Ҏ障恢复、承载能力以及安全配|均充分考虑了关? |络讑֤和重要链路的可靠性徏设:通过交换Z间Trunk互联和专用负载均衡设备,实现动态的冗余热备和流量分担,有效提高了网l的可靠性和可用性。对 于重要的L讑֤同样部v了完善的链\和设备双备䆾Q通过双归属方式的互联和采用主备设备的方式Q可保一旦出现问题可以实现快速的切换Q把对业务的不利 影响降低。同时在交换ZҎ业务的需要划分了相应的VLANQ通过二层隔离有效杜绝了蠕虫病毒的扩散和广播、组播数据流的防z,提高了网l的安全和承? 效率Q确保网l系l具有了良好的扩展性和健壮性?br /> 但是安全问题也L伴随着|络而来Q创C务不断出C要求对外的接口越来越多,例如对各个银行、上交所、深交所的接口。在出口很多的问题下需要认真对待各出口的分界线控制Q这斚wQ已l有很多机构提出了安全域架构的方法,在实践中也取得了认可?br /> 再有是对网l保密的情况考虑不Q在q方面银行走在了前面Q对链\都是由加密机来加密。券商对此尚没有֏Q关键的业务数据在传输时zheng没有 加密手段Q可能被监听泄露。据W者和各信息部门老M的情况看,也ƈ不是没有考虑Q他们担心加密以后对|络的实时性造成影响Q而且券商内跑的应用很多, 业务pȝ与加密机的配合会不会出问题,再者,券商的网l多是专U连接,被窃听的可能q不很大。我承认Q老M的担忧很有道理,在现有技术情况下Q如何进? 无障的链\加密?q也是咱们国内的安全厂家应该L入研I的N?br /> q有一斚w是对网l的理Q目前的|络讑֤基本都具备日志功能,但是׃人手不Q业务繁忙,理_放都很多原因,q没有hd期核查这些日志信 息,也没有专用终端记录处理日志,q会造成即已经被攻MQ管理h员仍然不知道。ƈ且在|络理上没有指定专用终端操作,Z方便很多机器都可以连上去 更改配置?br />
四、系l安?br /> 券商核心业务pȝ多是LINUX、HP-UX{,q些pȝ行面较H,_N该cȝl的Z多,且由于系l的不兼Ҏ得受d的可能性大大降低。但? Ӟ也由于大安不精通,pȝ上发现的一些已知的安全补丁都没打,不是不知道安全漏z,而是因ؓ不敢做,做了以后会对应用产生什么样的媄响大安不知道? q种情况在很多行业都存在Q比如近期我接触q的一个煤矿有个瓦斯监控系l,1分钟都不能停。这UŞ势下Q就要求Ҏ心生产设备做_的外围安全防护?br /> q有一个老生常谈的话题就是口令安全,|络讑֤口o、操作系l口令、应用系l口令、数据库口o{等Q实际对口o的管理和要求始终会有差别。在调研中, 我们也和老M谈过Q大安_我们都知道口令的理Q也知道怎么加强Q但在实际中要考虑证券公司的特D性,例如报盘pȝ登陆易所Q?0多个席位要登录, 有一ơ系l意外重启,我们每个席位口o都很长,够复杂,l果手忙脚ؕ地往里面dQ一边看一ҎQ敲错了q要重来Q最后都搞好Q半个小时过MQ所以这U? 安全手段在证券公司没法考虑的?br /> 非核心业务的其他l端讑֤受系l升U和疏于理{问题,普遍存在着非常多的高风险漏z,甚至包括操作pȝU的弱口令。不q目前对证券业来_基本都做C业务的主辅分,所以威胁有Q但不是很大。既便如此,非核心系l也应给以更多的x?br />
五、安全管?br /> 三分技术七分管理,技术是实现的手D,真正要想做到安全Q管理上一定要下很大的功夫?br /> 5.1安全{略
相关的管理制度各个券商都有不,而且也在不断完善修订。但从整个制度规范颁布后执行情况来看Q其效果q不是很好,主要问题表现在:可操作性差Q甚? 很多条款没有奖惩措施Q这样可能导致员工很隄解或Cq些理性要求,最l执行不h;针对性差Q一份安全管理制度汇~针对了全公司的信息技术h员,? 能有效的区分理角色和对象,从而最l导致制度面太广而无法实?某些安全要求深度不够Q导致在某些斚w的安全管理执行力度不?׃很多安全制度q没? 被太多的可和执行Q因此就无法对公布的制度q行回顾审计Q检查和修改其中不合适的地方?br /> q存在着另一个普遍问题,~Z一套高层的安全{略体系来指导安全管理,最l导致安全工作难以条理化Q一斚w会造成部分工作的遗漏,另一斚w会出现重 叠,甚至会出现哪出问题哪出制度的被动局面。安全策略应该徏立比较明、全面的安全规范要求Qƈ定各策略的制定、维护、变更等理斚w的策略。安全管? 制度是徏立在公司l一安全{略的基之上Qؓ公司推行l一的安全要求的一UŞ式。没有安全策略指导的安全理制度只能是片面性,可操作性差、难以推q和? 行?br /> 5.2安全l织
在安全组l上Q各券商都比较重视,都实C“l一领导Q分布管?#8221;的安全管理体p,建立了安全管理岗位,建立了信息技术h员的岗位职责。在q次查结束之后,证监会也发布了行业的ITȝ指引Q明了安全l织的要求?br /> 5.3资分类与控?br /> 随着业务资的不断增加,很多安全理问题均归C资񔽎理问题上。但是,很多没有意识到资产分cL制的重要性,没有对公司内部对公司资q行整理。存在如下问题:
1.没有Ҏ有业务应用系l及资讑֤q行安全属性定义,没有明确需要较高安全保护等U的pȝ和设备,因此很难提高理人员的安全重视程?
2.~Z一套对资񔽎理清单的维护审计机Ӟ没有专h负责Ҏ增设备、变更设备等理信息q行及时更新Q导致很多安全事件由此?
3.~Z一套对资变更、系l变更的审计机制Q管理h员对较大的变更情况不做记录,在后期可能会造成很多不必要的ȝ;
4.~Z对设备的保管、用登记和报废斚w的管理,寚w要的讑֤只有Z事故以后才进行保dl护Q而且没有建立l护记录?br /> 5.对各U技术资产及业务资料没有实现密񔽎理Q很多机密资料的借阅、复制、打印、销毁等斚w的管理制度很不完善,执行更不严格。部分员工安全意识较差,所有的技术资料放到办公桌上,很容易被W三方合法进入公司的行翻阅查看?br /> 5.4人员安全
券商在安全岗位徏设方面普遍非帔R视,建立了技术岗位职责,对各技术岗位有相应的岗位说明。在pȝ理斚wҎ不同的业务应用系l设|了不同数量的系 l管理员Q他们在保证应用pȝ的正常运行的同时Q也w兼对这些主机的安全理。由于各U安全事件发生后可能的媄响面巨大Q也都明了安全事g发生后的快? 报告程?br /> 管如此Q在人员安全上,存在着较多的问题:
1.内部pȝ理岗位人员不Q很多系l管理员负责多个重要的应用系l,q多的工作量很可能造成操作p情况Q更Ҏ造成安全理的疏?
2.内部安全理岗位人力不Q由于券商组l结构和信息|络的庞大性特点,安全理员不能全权、有效地形成Ҏ个公司自上到下、自本部门至全公司的安全理;
3.没有公司资产的安全理责Q定义C人,特别是普通员工办公机的安全性,很多安全事g的发生不能明责任,入职说明岗位也没有定义管理员的责d义务Q因此不利于促进和推动安全管理工作的执行;
4.理员岗位权职不明确Q有些工作交叉的dl常被互相推卸,理员的权限没有实现“权限最化”原则Q也没有对这些权限较高管理员的审核,使得内部理员滥用授权的隐患时刻存在;?br /> 5.很多员工技术能力有限,某些技术故障和安全事g的发生可能是׃操作p造成的,而提供对信息技术h员进行安全技术培训的Z较少Q也没有技术或任职资格考试的督促机Ӟ使得内部员工安全意识较差Q从而造成安全事故的可能性增?
6.对信息的保密重视不Q在信息技术h员应聘进公司时签订的合同中没有安全保密条ƾ,其是没有针Ҏ些涉密较高岗位制定具体的保密协议?br /> 7.在信息技术h员办理离岗手l方面缺乏明的制度和流E?br /> 8.没有明确的安全管理员和安全审计员角色Q所以对|络和系l的理员所讑֮的访问权限及日常行ؓ没有q行q安全审计?br /> 5.5物理环境安全
机房的徏N有标准化的规范,物理环境也大都符合相兛_全要求,机房h防火、防水、防L讑֤Qƈ均采用双路供电,配备了UPS甉|。在非本公司员工q入机房Ӟ要求q行出入登记记录Q操作记录?br /> 但在机房理斚wq存在以下的问题Q?br /> 1.中心机房有电子门系l,但有时没有做到进出时马上关门?br /> 2.机房没有讄保安理制度?br /> 3.机房的出入管理不严格Q没有严格执行非工作人员必须l过安全责Q可才可以q入机房的管理规定?br /> 4.机柜和主机没有要求在q行中上锁,以防止外来h员误操作Q对L没有采取对输入输备的控制?br /> 5.6通信与操作安?br /> 证监会要求关键业务有备䆾链\Q对各种|络讑֤的配|数据、用h据进行定期备份。各券商做的都很好。但在管理过E中Q还存在以下的问题:
1.技术维护h员没有定期对重要服务器和路由器以及防火墙{设备的安全配置、CPU、内存占用率{进行审计和?br /> 2.主要的网l设备和L均没有定期维护制?br /> 3.对网l设备和L的远E管理没有用固定的理l端?br /> 4.目前没有对系l进行定期的安全漏洞扫描工作Q某些主虑到媄响业务原因没有定期对pȝ的补丁进行修补和加固?br />
六、ȝ
6.1安全意识
针对证券行业信息pȝ|络现状而言Q由于发展较快,|络规模较大Q对信息pȝ安全很高Q系l的安全状况应成Z业网l关注的重点。在把资金都投在了应 用系l徏讄同时Q不能忽视了信息安全保障投资。在员工的安全意识方面,没有建立长期、系l、有效的安全意识、专业素质、安全管理、服务水q的培训。同 Ӟ在责d分上不够明确Q缺乏奖惩机制。因此,提高领导、员工的安全意识是当务之急?br /> 6.2整体安全Ҏ
各券商在安全斚wQ也投入了一些设备,但ȝ来说Q安全思\仍需拓宽。比如在渗透测试中普遍发现的问题。在防火墙的讄上,也有不。口令安全、配|? 安全上的工作也不够完善。没有定期分析日志发现异常,安全制度不完善,如此{等。说到底是~Z一套整体安全方案,一个没有整体安全规划的pȝQ安全是? 定没有保障的?br /> 6.3pȝ安全
主要是没有安全地安装配置、用户和目录权限讄及徏立适当的安全策略等pȝ安全处理加固。例如:没有打安全补丁、安装时为方便用简单口令、默认口 令,而后来又不更攏V没有进行适当的目录和文g权限讄、没有进行适当的用h限设|、打开了过多的不必要的服务、没有对自己的应用系l进行安全检等 {。事实上pȝ和应用大多是ql集成商来完成的Q但pȝ集成商的做法往往是最大化安装Q以方便安装调试Q把整个pȝ调通就完成了dQ会留下很多的安 全隐?而安全却恰恰相反Q遵循最化原则Q要求没必要的东西一定不要,有必要的也要严加限制使用。这和系l集成好像构成了一个矛盾,事实上却不是Q最? 化原则实际上降低了系l负荗提高了应用pȝ的性能Q增Z安全性,而问题在于大多数集成商不具备专业安全设计和防范能力?br /> 6.4安全理机制
安全和管理是分不开的,即便有好的安全设备和pȝQ没有一套好的安全管理方法ƈ贯彻实施Q值得注意的是q里的不仅要有安全管理方法,而且q要贯彻 实施Q否则安全就是空谈。安全管理的目的在于两点Q一是最大程度地保护|络Q得其安全地运行,再就是一旦发生黑客事件后能最大程度地挽回损失。所以徏? 定期的安全检、口令管理、h员管理、策略管理、备份管理、日志管理等一pd理Ҏ和制度,q严DL行,与奖惩制度的联动是非常必要的?br /> 6.5动态安?br /> 在这ơ安全大查以后,l过专业|络安全设计整改Q即q行了安全网l拓朴和路由、安全网l系l设计、安全品防护、安全系l处理和整体安全等安全 处理后,pȝ的安全是有保障的。但需要指出的是安全是相对的,因ؓ随着操作pȝ和应用系l漏z的不断发现以及口o很久没有更改{情늚发生Q整个系l的? 全性就受到了威胁,q时候若不及时进行打安全补丁或更换口令就很可能被一直在企图入R却未能成功的黑客Lȝ。所以,安全是相对的Q是动态的Q只有及? 对系l安全问题进行跟t解冻I定期整体安全评估Q及时发现问题ƈ解决Q才能确保系l具有良好的安全性?br /> 6.6人才培养
在这ơ检查中Q我们也注意刎ͼl大部分的主机、网l情况都只有个别Z解。这与证怸q猛发展的信息技术规模是不相适应的。券商也应在下一步的工作中,U极发掘、培d全方向上的专业h才,注重培训和锻|同时也应力保证人才的稳定性?br />



persister 2010-11-02 09:52 发表评论
]]>
OFBiz的MVC框架http://www.tkk7.com/persister/archive/2010/08/27/253196.htmlpersisterpersisterFri, 27 Aug 2010 14:32:00 GMThttp://www.tkk7.com/persister/archive/2010/08/27/253196.htmlhttp://www.tkk7.com/persister/comments/253196.htmlhttp://www.tkk7.com/persister/archive/2010/08/27/253196.html#Feedback1http://www.tkk7.com/persister/comments/commentRss/253196.htmlhttp://www.tkk7.com/persister/services/trackbacks/253196.htmlOFBiz是一个非常强大的企业架构体系Q这里只描述它MVC斚w的内容,从MVC的角度去看,OFBiz采用的是Service to Worker模式Q大名鼎鼎的Struts 1采用的也是这U架构。Service to Worker模式的目标就是维护ActionQView和Controller之间的分R?br />
Controller

ControlServlet?a >Front ControllerQ? 接收所有的hQ是h的入口,执行一些的预备处理后,交由RequestHandlerd理实际的h工作QView层的处理交给 ViewHandlerq行处理QViewHandler有很多实现类Q还可以自定义,可以集成很多面层显C技术,如JSP和FreeMarker{, 处理程如下图所C:


MVC的解耦的地方是通过controller.xml配置文g实现的,配置文g如下所C:

<request-map uri="login">
        
<security https="false" auth="false"/>
        
<event type="java" path="com.xxx.ldap.LdapLoginWorker" invoke="login"/>
        
<response name="success" type="view" value="main"/>
        
<response name="error" type="view" value="login"/>
</request-map>

<view-map name="main" type="screen" page="component://xxx/widget/CustomerScreens.xml#main"/>

<view-map name="login" type="screen" page="component://xxx/widget/CommonScreens.xml#login"/>

request-map的response元素有一个属性nameQ这个name理论上可以Q意选取Q不qOFBiz内置了success? errorq两个|q类gStruts 2。属性type如果是view表示得到一个页面,value值对于view-map中的name属性倹{之所以不直接写上面Q而是增加view- mapQ一是ؓ了解耦,二是针对不同的viewQ可以设|不同的type{属性。type属性很关键Q正是这个属性帮助OFBiz集成不同的显C层技术? common-controller定义了不同的type和其对应的ViewHandlerQ?/p>

    <!-- view handlers -->
    
<handler name="screen" type="view" class="org.ofbiz.widget.screen.ScreenWidgetViewHandler"/>
    
<handler name="screenfop" type="view" class="org.ofbiz.widget.screen.ScreenFopViewHandler"/>
    
<handler name="screenxml" type="view" class="org.ofbiz.widget.screen.ScreenXmlViewHandler"/>
    
<handler name="screentext" type="view" class="org.ofbiz.widget.screen.ScreenTextViewHandler"/>
    
<handler name="jsp" type="view" class="org.ofbiz.webapp.view.JspViewHandler"/>
    
<handler name="ftl" type="view" class="org.ofbiz.webapp.ftl.FreeMarkerViewHandler"/>   
    
<handler name="http" type="view" class="org.ofbiz.webapp.view.HttpViewHandler"/>

q里的name对应view map中的type。实现解耦的cM是Front Controller而是RequestHandlerQ请求代理类Q在q里负责dcontroller.xml文g中的对应关系Q根据Front Controller发送过来的hQ选择相应的业务动作进行业务更斎ͼq且选择相应的视图View去解析ƈ展示。在Service to Worker模式中,RequestHandlercȝ角色是Dispatcher?br />


View
OFBiz支持很多cd的页面展C技术,JSP/FreeMarker/Velocity/PDF/Widget{。OFBiz最常用的就是Widget?a >FreeMarker。Widget是OFBiz自己Ҏ的页面技术,好处是可以不用写Q何html和css代码可以得C个统一的完整的面Q展C的业务数据也可以轻杄获取。缺ҎQ不像FreeMarker是一个纯面技术,从request和session中得C务数据,然后直接其展示处理。Widget技术将业务数据获取和业务数据展C؜在一P后台开发h员和面设计人员不能合作分工Q甚臛_有后台设计h员才能开发OFBiz应用。OFBiz之所以设计自q面技术,与OFBiz实现ERP/CRM复杂的业务系l时分不开的。ERP/CRM业务pȝ复杂多变Q模块众多。什么样的框架能够满Lpȝ呢:一是适应业务变化Q第二适合快速开发,W三面风格能够一致。OFBiz是q样的框Ӟentityd减少一个字D,在OFBiz中只需要在entitymodel中做修改Q在输入面Q显C页面,修改面都不用做M的修改就可以看到变化Q而且业务逻辑模块也不用修改就可以对变化的字段q行l护Q非常的Easy。OFBiz适合快速开发,熟悉了OFBiz开发的人员Q开发一个Customer模块Q对用户q行增删改和复杂的查询,一个小时够,够快了吧。由于不直接操作html和css代码Q用OFBiz开发的各个模块都长得一Pq是很多设计人员期望的。言归正传,q是从技术上分析View的设计。前面说了通过实现ViewHandler接口QOFBiz集成了不同的面技术以供选择。相关的cdpd如下Q?br />
View Handler:



ViewHandler负责选择相应的RendererQ进行页面显C的准备工作,对于单的面技术如JSPQJspViewHandler直接q行处理Q不再委托给其他Rendererq行处理。AbstractViewHandler的子cMQ包含Screen字眼的Handler通常相对较复杂,见上图中下面哪些HandlerQ典型的是ScreenWidgetViewHandler?br />
View Renderer:



Renderer负责具体的显C工作?br />

未完待箋






persister 2010-08-27 22:32 发表评论
]]>
Session原理和Tomcat实现分析http://www.tkk7.com/persister/archive/2010/08/24/329838.htmlpersisterpersisterTue, 24 Aug 2010 14:38:00 GMThttp://www.tkk7.com/persister/archive/2010/08/24/329838.htmlhttp://www.tkk7.com/persister/comments/329838.htmlhttp://www.tkk7.com/persister/archive/2010/08/24/329838.html#Feedback1http://www.tkk7.com/persister/comments/commentRss/329838.htmlhttp://www.tkk7.com/persister/services/trackbacks/329838.html阅读全文

persister 2010-08-24 22:38 发表评论
]]>
SQL排序q且记录变成列的问?/title><link>http://www.tkk7.com/persister/archive/2010/08/17/329086.html</link><dc:creator>persister</dc:creator><author>persister</author><pubDate>Tue, 17 Aug 2010 03:40:00 GMT</pubDate><guid>http://www.tkk7.com/persister/archive/2010/08/17/329086.html</guid><wfw:comment>http://www.tkk7.com/persister/comments/329086.html</wfw:comment><comments>http://www.tkk7.com/persister/archive/2010/08/17/329086.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/persister/comments/commentRss/329086.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/persister/services/trackbacks/329086.html</trackback:ping><description><![CDATA[公司前段旉到如下的报表需求:<br /> <br /> 查询某个用户购买金额最大的前三条记录,如下Q?br /> <br /> customer price<br /> A 1000<br /> A 888<br /> A 333<br /> B 12222<br /> B 12000<br /> C 3000<br /> C 2000<br /> <br /> 然后需要通过SQL其变成四个字段<br />     <br /> Customer price1 price2 price3<br /> A        1000   888    333<br /> B        12222  12000<br /> C        3000   2000<br /> <br /> q个问题牉|C个问题,一个取前N位的SQLQ另一个将行记录怎么变成列字Dc?br /> <br /> W一个问题好解决Q?br /> <br /> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;">1</span> <span style="color: #0000ff;">select</span><span style="color: #000000;"> a.customer,a.price,</span><span style="color: #ff00ff;">count</span><span style="color: #000000;">(b.price) </span><span style="color: #0000ff;">as</span><span style="color: #000000;"> rn<br /> </span><span style="color: #008080;">2</span> <span style="color: #0000ff;">from</span><span style="color: #000000;"> pt a </span><span style="color: #0000ff;">join</span><span style="color: #000000;"> pt b </span><span style="color: #0000ff;">on</span><span style="color: #000000;"> a.customer</span><span style="color: #808080;">=</span><span style="color: #000000;">b.customer </span><span style="color: #808080;">and</span><span style="color: #000000;"> a.price</span><span style="color: #808080;"><=</span><span style="color: #000000;">b.price <br /> </span><span style="color: #008080;">3</span> <span style="color: #000000;">groupby a.customer,a.price;</span></div> <pre>l果Q?br /> +----------+-------+----+<br /> | customer | price | rn |<br /> +----------+-------+----+<br /> | A        |   333 |  3 |<br /> | A        |   888 |  2 |<br /> | A        |  1000 |  1 |<br /> | B        | 12000 |  2 |<br /> | B        | 12222 |  1 |<br /> | C        |  2000 |  2 |<br /> | C        |  3000 |  1 |<br /> +----------+-------+----+</pre> 然后是行记录变成列字D,q里采用if判断关键字,对上面的查询l果q行如下操作Q?br /> <br /> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;">1</span> <span style="color: #0000ff;">select</span><span style="color: #000000;"> <br /> </span><span style="color: #008080;">2</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;">3</span> <span style="color: #000000;">customer, (</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(rn</span><span style="color: #808080;">=</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;">,price,</span><span style="color: #ff0000;">''</span><span style="color: #000000;">)) </span><span style="color: #0000ff;">as</span><span style="color: #000000;"> price1, (</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(rn</span><span style="color: #808080;">=</span><span style="color: #800000; font-weight: bold;">2</span><span style="color: #000000;">,price,</span><span style="color: #ff0000;">''</span><span style="color: #000000;">)) </span><span style="color: #0000ff;">as</span><span style="color: #000000;"> price2, <br /> </span><span style="color: #008080;">4</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;">5</span> <span style="color: #000000;">(</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(rn</span><span style="color: #808080;">=</span><span style="color: #800000; font-weight: bold;">3</span><span style="color: #000000;">,price,</span><span style="color: #ff0000;">''</span><span style="color: #000000;">)) </span><span style="color: #0000ff;">as</span><span style="color: #000000;"> price3 </span><span style="color: #0000ff;">from</span><span style="color: #000000;"> aQ?/span></div> <br /> 执行l果如下所C:<br /> <pre>+----------+--------+--------+--------+<br /> | customer | price1 | price2 | price3 |<br /> +----------+--------+--------+--------+<br /> | A        | 143.20 |        |        |<br /> | A        |        | 99.99  |        |<br /> | A        |        |        | 49.99  |<br /> | B        | 63.92  |        |        |<br /> | B        |        | 33.99  |        |<br /> | C        | 99.99  |        |        |<br /> | C        |        | 24.10  |        |<br /> +----------+--------+--------+--------+</pre> <span style="color: #0000ff;">针对q个执行l果执行如下的sql既可以得到我们期望的l果了:<br /> <br /> </span> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #0000ff;">select</span><span style="color: #000000;"> customer,<br /> </span><span style="color: #ff00ff;">max</span><span style="color: #000000;">(</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(rn</span><span style="color: #808080;">=</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;">,price,</span><span style="color: #ff0000;">''</span><span style="color: #000000;">)) </span><span style="color: #0000ff;">as</span><span style="color: #000000;"> price1,<br /> </span><span style="color: #ff00ff;">max</span><span style="color: #000000;">(</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(rn</span><span style="color: #808080;">=</span><span style="color: #800000; font-weight: bold;">2</span><span style="color: #000000;">,price,</span><span style="color: #ff0000;">''</span><span style="color: #000000;">)) </span><span style="color: #0000ff;">as</span><span style="color: #000000;"> price2,<br /> </span><span style="color: #ff00ff;">max</span><span style="color: #000000;">(</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(rn</span><span style="color: #808080;">=</span><span style="color: #800000; font-weight: bold;">3</span><span style="color: #000000;">,price,</span><span style="color: #ff0000;">''</span><span style="color: #000000;">)) </span><span style="color: #0000ff;">as</span><span style="color: #000000;"> price3<br /> </span><span style="color: #0000ff;">from</span><span style="color: #000000;"> (<br /> </span><span style="color: #0000ff;">select</span><span style="color: #000000;"> a.customer,a.price,</span><span style="color: #ff00ff;">count</span><span style="color: #000000;">(b.price) </span><span style="color: #0000ff;">as</span><span style="color: #000000;"> rn<br /> </span><span style="color: #0000ff;">from</span><span style="color: #000000;"> pt a </span><span style="color: #0000ff;">join</span><span style="color: #000000;"> pt b </span><span style="color: #0000ff;">on</span><span style="color: #000000;"> a.customer</span><span style="color: #808080;">=</span><span style="color: #000000;">b.customer </span><span style="color: #808080;">and</span><span style="color: #000000;"> a.price</span><span style="color: #808080;"><=</span><span style="color: #000000;">b.price <br /> groupby a.customer,a.price )k<br /> groupby customer;</span></div> <br /> <pre><span style="color: #808080;">+</span><span style="color: #008080;">--</span><span style="color: #008080;">--------+--------+--------+--------+</span><span style="color: #008080;"><br /> </span><span style="color: #808080;">|</span><span style="color: #000000;"> customer </span><span style="color: #808080;">|</span><span style="color: #000000;"> price1 </span><span style="color: #808080;">|</span><span style="color: #000000;"> price2 </span><span style="color: #808080;">|</span><span style="color: #000000;"> price3 </span><span style="color: #808080;">|</span><span style="color: #000000;"><br /> </span><span style="color: #808080;">+</span><span style="color: #008080;">--</span><span style="color: #008080;">--------+--------+--------+--------+</span><span style="color: #008080;"><br /> </span><span style="color: #808080;">|</span><span style="color: #000000;"> A </span><span style="color: #808080;">|</span><span style="color: #800000; font-weight: bold;">1000</span><span style="color: #808080;"> |</span><span style="color: #800000; font-weight: bold;">888</span><span style="color: #808080;"> |</span><span style="color: #800000; font-weight: bold;">333 </span><span style="color: #808080;">|</span><span style="color: #000000;"><br /> </span><span style="color: #808080;">|</span><span style="color: #000000;"> B </span><span style="color: #808080;">|</span><span style="color: #800000; font-weight: bold;">12222</span><span style="color: #808080;"> |</span><span style="color: #800000; font-weight: bold;">12000</span><span style="color: #808080;"> |</span><span style="color: #808080;"> |</span><span style="color: #000000;"><br /> </span><span style="color: #808080;">|</span><span style="color: #000000;"> C </span><span style="color: #808080;">|</span><span style="color: #800000; font-weight: bold;">3000</span><span style="color: #808080;"> |</span><span style="color: #800000; font-weight: bold;">2000</span><span style="color: #808080;"> |</span><span style="color: #808080;"> |</span><span style="color: #000000;"><br /> </span><span style="color: #808080;">+</span><span style="color: #008080;">--</span><span style="color: #008080;">--------+--------+--------+--------+<br /> </span><span style="font-family: Batang; color: #008000; font-weight: bold;"><br /> <br /> </span>上面的记录中Qh格没有重复的情况Q如果有重复的,那么上面的结果方案是不行的,下面是一个办法:<br /> <span style="color: #008080;"><br /> 1</span> <span style="color: #000000;">createtable pt(customer </span><span style="color: #000000; font-weight: bold;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">19</span><span style="color: #000000;">),price </span><span style="color: #000000; font-weight: bold;">int</span>);<br /> </pre> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><span style="color: #000000;"> </span><span style="color: #008080;"> 2</span> <span style="color: #0000ff;">insert</span><span style="color: #000000;"> pt </span><span style="color: #0000ff;">select</span><span style="color: #000000;">  <br /> </span><span style="color: #008080;"> 3</span> <span style="color: #ff0000;">'</span><span style="color: #ff0000;">A</span><span style="color: #ff0000;">'</span><span style="color: #000000;">,</span><span style="color: #800000; font-weight: bold;">1000</span><span style="color: #000000;"> </span><span style="color: #0000ff;">union</span><span style="color: #000000;"> </span><span style="color: #808080;">all</span><span style="color: #000000;"> </span><span style="color: #0000ff;">select</span><span style="color: #000000;"> <br /> </span><span style="color: #008080;"> 4</span> <span style="color: #ff0000;">'</span><span style="color: #ff0000;">A</span><span style="color: #ff0000;">'</span><span style="color: #000000;">,1000</span><span style="color: #0000ff;"> union</span><span style="color: #000000;"> </span><span style="color: #808080;">all</span><span style="color: #000000;"> </span><span style="color: #0000ff;">select</span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 5</span> <span style="color: #ff0000;">'</span><span style="color: #ff0000;">A</span><span style="color: #ff0000;">'</span><span style="color: #000000;">, 888</span><span style="color: #0000ff;"> union</span><span style="color: #000000;"> </span><span style="color: #808080;">all</span><span style="color: #000000;"> </span><span style="color: #0000ff;">select</span><span style="color: #000000;"> <br /> </span><span style="color: #008080;"> 6</span> <span style="color: #ff0000;">'</span><span style="color: #ff0000;">A</span><span style="color: #ff0000;">'</span><span style="color: #000000;">,</span><span style="color: #800000; font-weight: bold;">333</span><span style="color: #000000;"> </span><span style="color: #0000ff;">union</span><span style="color: #000000;"> </span><span style="color: #808080;">all</span><span style="color: #000000;"> </span><span style="color: #0000ff;">select</span><span style="color: #000000;"> <br /> </span><span style="color: #008080;"> 7</span> <span style="color: #ff0000;">'</span><span style="color: #ff0000;">B</span><span style="color: #ff0000;">'</span><span style="color: #000000;">, </span><span style="color: #800000; font-weight: bold;">12222</span><span style="color: #000000;"> </span><span style="color: #0000ff;">union</span><span style="color: #000000;"> </span><span style="color: #808080;">all</span><span style="color: #000000;"> </span><span style="color: #0000ff;">select</span><span style="color: #000000;"> <br /> </span><span style="color: #008080;"> 8</span> <span style="color: #ff0000;">'</span><span style="color: #ff0000;">B</span><span style="color: #ff0000;">'</span><span style="color: #000000;">, </span><span style="color: #800000; font-weight: bold;">12000</span><span style="color: #000000;"> </span><span style="color: #0000ff;">union</span><span style="color: #000000;"> </span><span style="color: #808080;">all</span><span style="color: #000000;"> </span><span style="color: #0000ff;">select</span><span style="color: #000000;"> <br /> </span><span style="color: #008080;"> 9</span> <span style="color: #ff0000;">'</span><span style="color: #ff0000;">C</span><span style="color: #ff0000;">'</span><span style="color: #000000;">, </span><span style="color: #800000; font-weight: bold;">3000</span><span style="color: #000000;"> </span><span style="color: #0000ff;">union</span><span style="color: #000000;"> </span><span style="color: #808080;">all</span><span style="color: #000000;"> </span><span style="color: #0000ff;">select</span><span style="color: #000000;"> <br /> </span><span style="color: #008080;">10</span> <span style="color: #ff0000;">'</span><span style="color: #ff0000;">C</span><span style="color: #ff0000;">'</span><span style="color: #000000;">, </span><span style="color: #800000; font-weight: bold;">2000</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">11</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;">12</span> <span style="color: #0000ff;">set</span><span style="color: #008000;">@n</span><span style="color: #808080;">=</span><span style="color: #800000; font-weight: bold;">0</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">13</span> <span style="color: #000000;">createtable kos </span><span style="color: #0000ff;">select</span><span style="color: #808080;">*</span><span style="color: #000000;">,</span><span style="color: #008000;">@n</span><span style="color: #000000;">:</span><span style="color: #808080;">=</span><span style="color: #008000;">@n</span><span style="color: #808080;">+</span><span style="color: #000000;">1</span><span style="color: #0000ff;">as</span><span style="color: #000000;"> id </span><span style="color: #0000ff;">from</span><span style="color: #000000;"> pt; </span><span style="color: #008080;">--</span><span style="color: #008080;">建立个辅助表</span><span style="color: #008080;"><br /> </span><span style="color: #008080;">14</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;">15</span> <span style="color: #0000ff;">select</span><span style="color: #000000;"> customer,<br /> </span><span style="color: #008080;">16</span> <span style="color: #ff00ff;">max</span><span style="color: #000000;">(</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(rn</span><span style="color: #808080;">=</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;">,price,</span><span style="color: #ff0000;">''</span><span style="color: #000000;">)) </span><span style="color: #0000ff;">as</span><span style="color: #000000;"> price1,<br /> </span><span style="color: #008080;">17</span> <span style="color: #ff00ff;">max</span><span style="color: #000000;">(</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(rn</span><span style="color: #808080;">=</span><span style="color: #800000; font-weight: bold;">2</span><span style="color: #000000;">,price,</span><span style="color: #ff0000;">''</span><span style="color: #000000;">)) </span><span style="color: #0000ff;">as</span><span style="color: #000000;"> price2,<br /> </span><span style="color: #008080;">18</span> <span style="color: #ff00ff;">max</span><span style="color: #000000;">(</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(rn</span><span style="color: #808080;">=</span><span style="color: #800000; font-weight: bold;">3</span><span style="color: #000000;">,price,</span><span style="color: #ff0000;">''</span><span style="color: #000000;">)) </span><span style="color: #0000ff;">as</span><span style="color: #000000;"> price3,<br /> </span><span style="color: #008080;">19</span> <span style="color: #0000ff;">from</span><span style="color: #000000;"> (<br /> </span><span style="color: #008080;">20</span> <span style="color: #0000ff;">select</span><span style="color: #000000;"> a.customer,a.price,a.id,</span><span style="color: #ff00ff;">count</span><span style="color: #000000;">(b.id) </span><span style="color: #0000ff;">as</span><span style="color: #000000;"> rn<br /> </span><span style="color: #008080;">21</span> <span style="color: #0000ff;">from</span><span style="color: #000000;"> kos a </span><span style="color: #0000ff;">join</span><span style="color: #000000;"> kos b </span><span style="color: #0000ff;">on</span><span style="color: #000000;"> a.customer</span><span style="color: #808080;">=</span><span style="color: #000000;">b.customer </span><span style="color: #808080;">and</span><span style="color: #000000;"> a.id</span><span style="color: #808080;">>=</span><span style="color: #000000;">b.id<br /> </span><span style="color: #008080;">22</span> <span style="color: #000000;">groupby a.customer,a.price,a.id )k<br /> </span><span style="color: #008080;">23</span> <span style="color: #000000;">groupby customer;</span></div> <pre><span style="color: #000000;">执行l果如下Q?br /> <br /> </span><span style="color: #808080;">+</span><span style="color: #008080;">--</span><span style="color: #008080;">--------+--------+--------+--------+--------+</span><span style="color: #008080;"><br /> </span><span style="color: #808080;">|</span><span style="color: #000000;"> customer </span><span style="color: #808080;">|</span><span style="color: #000000;"> price1 </span><span style="color: #808080;">|</span><span style="color: #000000;"> price2 </span><span style="color: #808080;">|</span><span style="color: #000000;"> price3 </span><span style="color: #808080;">|</span><span style="color: #000000;"> price4 </span><span style="color: #808080;">|</span><span style="color: #000000;"><br /> </span><span style="color: #808080;">+</span><span style="color: #008080;">--</span><span style="color: #008080;">--------+--------+------+--------+------+</span><span style="color: #008080;"><br /> </span><span style="color: #808080;">|</span><span style="color: #000000;"> A </span><span style="color: #808080;">|</span><span style="color: #800000; font-weight: bold;">1000</span><span style="color: #808080;"> </span><span style="color: #808080;">|</span><span style="color: #800000; font-weight: bold;">1000</span><span style="color: #808080;"> </span><span style="color: #808080;">|</span><span style="color: #800000; font-weight: bold;">888</span><span style="color: #808080;"> </span><span style="color: #808080;">|</span><span style="color: #800000; font-weight: bold;">333</span><span style="color: #808080;"> |</span><span style="color: #000000;"><br /> </span><span style="color: #808080;">|</span><span style="color: #000000;"> B </span><span style="color: #808080;">|</span><span style="color: #800000; font-weight: bold;">12222</span><span style="color: #808080;"> </span><span style="color: #808080;">|</span><span style="color: #800000; font-weight: bold;">12000 </span><span style="color: #808080;">|</span><span style="color: #808080;"> </span><span style="color: #808080;">| </span><span style="color: #808080;">|</span><span style="color: #000000;"><br /> </span><span style="color: #808080;">|</span><span style="color: #000000;"> C </span><span style="color: #808080;">|</span><span style="color: #800000; font-weight: bold;">3000</span><span style="color: #808080;"> </span><span style="color: #808080;">|</span><span style="color: #800000; font-weight: bold;">2000</span><span style="color: #808080;"> </span><span style="color: #808080;">|</span><span style="color: #808080;"> </span><span style="color: #808080;">|</span><span style="color: #808080;"> |</span><span style="color: #000000;"><br /> </span><span style="color: #808080;">+</span><span style="color: #008080;">--</span><span style="color: #008080;">--------+--------+--------+--------+------+</span><br /> <br /> <br /> <br /> </pre> <br /> <img src ="http://www.tkk7.com/persister/aggbug/329086.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/persister/" target="_blank">persister</a> 2010-08-17 11:40 <a href="http://www.tkk7.com/persister/archive/2010/08/17/329086.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebService & Axis1.4学习ȝhttp://www.tkk7.com/persister/archive/2010/08/05/328035.htmlpersisterpersisterThu, 05 Aug 2010 03:58:00 GMThttp://www.tkk7.com/persister/archive/2010/08/05/328035.htmlhttp://www.tkk7.com/persister/comments/328035.htmlhttp://www.tkk7.com/persister/archive/2010/08/05/328035.html#Feedback0http://www.tkk7.com/persister/comments/commentRss/328035.htmlhttp://www.tkk7.com/persister/services/trackbacks/328035.html阅读全文

persister 2010-08-05 11:58 发表评论
]]>
TCPMornitor监控web service的请求和相应内容http://www.tkk7.com/persister/archive/2010/08/04/327906.htmlpersisterpersisterWed, 04 Aug 2010 02:52:00 GMThttp://www.tkk7.com/persister/archive/2010/08/04/327906.htmlhttp://www.tkk7.com/persister/comments/327906.htmlhttp://www.tkk7.com/persister/archive/2010/08/04/327906.html#Feedback0http://www.tkk7.com/persister/comments/commentRss/327906.htmlhttp://www.tkk7.com/persister/services/trackbacks/327906.html
1 set Axis_Lib=D:\workspace\TestOFBizServices\lib
2 set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
3 %Java_Cmd% org.apache.axis.utils.tcpmon

启动后,填入相关的Listen portQhost和port。host和port是实际响应的L地址和端口。listen port是监听端口,所有发送到listen port的请求都会{发给host和port。所以在试的时候,必须请求的端口Ҏlisten portq样才能监听你的h内容?br />


persister 2010-08-04 10:52 发表评论
]]>
MySQL导入导入命oȝhttp://www.tkk7.com/persister/archive/2010/07/14/326107.htmlpersisterpersisterWed, 14 Jul 2010 09:52:00 GMThttp://www.tkk7.com/persister/archive/2010/07/14/326107.htmlhttp://www.tkk7.com/persister/comments/326107.htmlhttp://www.tkk7.com/persister/archive/2010/07/14/326107.html#Feedback0http://www.tkk7.com/persister/comments/commentRss/326107.htmlhttp://www.tkk7.com/persister/services/trackbacks/326107.html
基本分ؓ两种形式Q一U是sql形式的数据导入导?mysqldump,mysql,source)Q另一U是自定义数据的导入导出(load data infile, into outfile)?br />
自定义数据格式的导入导出有一个好处就是数据可以是csv格式的,而且用的非常多。比如大型的数据Q如果往查询到数据然后写到excel里面Q效率肯定是一个问题。但是用mysql的自带的命oQ那么就可以让mysql自己生成csv文gQ这样速度会快不少。导入也是一P是数据文g可以传到服务器上Q然后用mysql的命令导入到数据库中Q比读csv格式的文件然后插入到数据库中效率会提高不?br />

下面附上q些命o的具体描qͼ

mysql中Load Data InFile是用于批量向数据表中导入记录?br /> 首先创徏一个表
Use Test;
Create Table TableTest(
`ID` mediumint(8) default '0',
`Name` varchar(100) default ''
) TYPE=MyISAM;

向数据表导入数据
Load Data InFile 'D:/Data.txt' Into Table `TableTest`

常用如下Q?br /> Load Data InFile 'D:/Data.txt' Into Table `TableTest` Lines Terminated By '"r"n';
q个语句Q字D默认用制表W隔开Q每条记录用换行W隔开Q在Windows下换行符?#8220;"r"n”
D:/Data.txt 文g内容如下面两行:
1 A
2 B
“1”?#8220;A”之间有一个制表符
q样导q两条记录了?br />
自定义语?br /> Load Data InFile 'D:/Data.txt' Into Table `TableTest` Fields Terminated By ',' Enclosed By '"'

Escaped By '"' Lines Terminated By '"r"n';
Fields Terminated By ',' Enclosed By '"' Escaped By '"'
表示每个字段用逗号分开Q内容包含在双引号内
Lines Terminated By '"r"n';
表示每条数据用换行符分开


导入数据?br /> 常用source 命o
q入mysql数据库控制台Q?br /> 如mysql -u root -p

mysql>use 数据?br />
然后使用source命oQ后面参Cؓ脚本文gQ如q里用到?sqlQ?br /> mysql>source d:"wcnc_db.sql

也可以用mysql命oQ在bin目录下)
.../bin/mysql db1 > xx.sql;


?Load Data InFile 相反的是
Select * From `TableTest` Into OutFile 'D:/Data_OutFile.txt';
把表的数据导?br />

Using command line tools to export data from a MySQL database into a CSV file is quite easy. Here's

how:

mysql -uexampleuser -pletmein exampledb -B -e "select * from "`person"`;" | sed 's/

"t/","/g;s/^/"/;s/$/"/;s/"n//g' > filename.csv

Here is some sample output of the above:

"id","username","group","password"
"1","tux","admin","5f4dcc3b5aa765d61d8327deb882cf99"
"2","tlugian","admin","5f4dcc3b5aa765d61d8327deb882cf99"
"3","saiyuki","admin","5f4dcc3b5aa765d61d8327deb882cf99"
"4","fred","staff","5f4dcc3b5aa765d61d8327deb882cf99"
"5","barney","staff","5f4dcc3b5aa765d61d8327deb882cf99"
"6","wilma","admin","5f4dcc3b5aa765d61d8327deb882cf99"

And now for the explanation:

Starting with the MySQL command. I wont explain the -u and -p options they are straight forward (if

in doubt man mysql). The -B option will delimit the data using tabs and each row will appear on a

new line. The -e option denotes the command to run once you have logged into the database. In this

case we are using a simple SELECT statement.

Onto sed. The command used here contains three seperate sed scripts:

s/"t/","/g;s/^/"/        <--- this will search and replace all occurences of 'tabs' and replace them

with a ",".

;s/$/"/;    <--- This will place a " at the start of the line.

s/"n//g    <---- This will place a " at the end of the line.

After running the result set through sed we redirect the output to a file with a .csv extension.



mysqldump命o的输入是在bin目录?
1.导出整个数据?br />
mysqldump -u 用户?-p 数据库名 > 导出的文件名

mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql

2.导出一个表

mysqldump -u 用户?-p 数据库名 表名> 导出文g的\径和名称

mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql






persister 2010-07-14 17:52 发表评论
]]>
MySQL Show processlist命o功能http://www.tkk7.com/persister/archive/2010/07/13/325975.htmlpersisterpersisterTue, 13 Jul 2010 08:15:00 GMThttp://www.tkk7.com/persister/archive/2010/07/13/325975.htmlhttp://www.tkk7.com/persister/comments/325975.htmlhttp://www.tkk7.com/persister/archive/2010/07/13/325975.html#Feedback0http://www.tkk7.com/persister/comments/commentRss/325975.htmlhttp://www.tkk7.com/persister/services/trackbacks/325975.html
show processlist

mysql> show processlist;
+-----+-------------+--------------------+-------+---------+-------+----------------------------------+----------
| Id | User  | Host            | db   | Command | Time| State     | Info                                                                                          
+-----+-------------+--------------------+-------+---------+-------+----------------------------------+----------
|207|root  |192.168.0.20:51718 |mytest | Sleep    | 5    |         | NULL                                                                                                
|208|root  |192.168.0.20:51719 |mytest | Sleep    | 5    |         | NULL       
|220|root  |192.168.0.20:51731 |mytest |Query    | 84   | Locked  |
select bookname,culture,value,type  from book where id=001
先简单说一下各列的含义和用途,W一列,idQ不用说了吧Q一个标识,你要kill一个语句的时候很有用Q比如我们进行了一个非常耗时的查询,惛_止的时候,只有采用这个命令了?br />
user列,昄当前用户Q如果不是rootQ这个命令就只显CZ权限范围内的sql语句?br />
host列,昄q个语句是从哪个ip的哪个端口上发出的,可以用来q踪出问题语句的用户?br />
db列,昄q个q程目前q接的是哪个数据库?br />
command列,昄当前q接的执行的命oQ一般就是休眠(sleepQ,查询 QqueryQ,q接QconnectQ。time列,此这个状态持l的旉Q单位是U?br />
state列,昄使用当前q接的sql语句的状态,很重要的列,后箋会有所有的状态的描述Q请注意Qstate只是语句执行中的某一个状态,一个sql语句Q已查询ZQ可能需要经qcopying to tmp tableQSorting resultQSending data{状态才可以完成Qinfo列,昄q个sql语句
?br />
注意权限Q通常只能看到自己的查询processQ是看不到其他h的process的?br />




persister 2010-07-13 16:15 发表评论
]]>
office使用中的一些经?/title><link>http://www.tkk7.com/persister/archive/2010/07/13/325928.html</link><dc:creator>persister</dc:creator><author>persister</author><pubDate>Tue, 13 Jul 2010 02:17:00 GMT</pubDate><guid>http://www.tkk7.com/persister/archive/2010/07/13/325928.html</guid><wfw:comment>http://www.tkk7.com/persister/comments/325928.html</wfw:comment><comments>http://www.tkk7.com/persister/archive/2010/07/13/325928.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/persister/comments/commentRss/325928.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/persister/services/trackbacks/325928.html</trackback:ping><description><![CDATA[<span id="reply_content_451389169"> <pre>Word大小写之间的切换Qshirt+f3<br /> <br /> Word可以跟踪修改记录Q?br /> <br /> <br /> <br /> </pre> </span> <p style4="">使用修订标记来记录对文档的修改,需要设|文档其进入修订状态,可以按照如下Ҏq行Q?br />     Q?Q打开要做修订的文档?/p> <p style4="" align="center"><img src="http://202.152.177.115:8080/moodledatatest/2/kejian/1/images/a-6-3-1-a1_clip_image001.gif" alt="" width="175" height="198" /></p> Q?Q选择【工兗菜单项中的【修订】菜单项<br /> Q?Q设|修订标记选项<br /> <br /> ?#8220;修改模式”下,Ҏ档所做的修改都会被记录下来,所做的修改你必进?#8220;接受或者拒l?#8221;Q否?br /> q些修改记录一直会存在Q虽然你可以选择“临时”不显C些变化?br /> <br /> Q?Q?nbsp;接受或者拒l修?br />         文档q行了修订后Q可以决定是否接受这些修改,步骤如下Q?br />         ①如果接受当前的修订Q单L受修订按钮。如果接受全部的修订Q点L受对文档所做的所有按钮。如? <p style4="" align="center"><img src="http://202.152.177.115:8080/moodledatatest/2/kejian/1/images/a-6-3-1-a1_clip_image002.gif" alt="" width="224" height="94" /></p> <p style4="" align="left"><br /> <br />         ②如果不接受当前的修订,单击拒绝修订按钮Q如果不接受全部的修订,则单Ll对文档所做的所有修订按钮即可。如图所C?/p> <p align="center"><img src="http://202.152.177.115:8080/moodledatatest/2/kejian/1/images/a-6-3-1-a1_clip_image003.gif" alt="" width="224" height="143" /></p> <br /> <span id="reply_content_451389169"> <pre>通常Q把自己的文档交l别人的时候,或者自׃改别人的文档的时候,需要启用此模式Q修改完以后<br /> <br /> 再拿到这个就选择接受或者拒l这些修改,然后取消“修改模式”?br /> <br /> <br /> Excel中,如果想看最后一条记录,使用Ctrl + EndQ而不要直接往下拉Q如果excel很大的话Q?br /> q么拉效率也太低了。充分利用键盘快捷键Q而不是鼠标?br /> </pre> </span> <img src ="http://www.tkk7.com/persister/aggbug/325928.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/persister/" target="_blank">persister</a> 2010-07-13 10:17 <a href="http://www.tkk7.com/persister/archive/2010/07/13/325928.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL中分l函数的使用及前N条记录的查询Ҏhttp://www.tkk7.com/persister/archive/2010/05/28/322113.htmlpersisterpersisterFri, 28 May 2010 02:27:00 GMThttp://www.tkk7.com/persister/archive/2010/05/28/322113.htmlhttp://www.tkk7.com/persister/comments/322113.htmlhttp://www.tkk7.com/persister/archive/2010/05/28/322113.html#Feedback1http://www.tkk7.com/persister/comments/commentRss/322113.htmlhttp://www.tkk7.com/persister/services/trackbacks/322113.html
有一张表studentgradeQ包含三个字Dname,subject和gradeQ如下所C:

name subject grade
a    数学    99
b    p    67
a    p    77

题目要求应试者写出sqlQ查询每个h的最高分和最高分的科目,比如

a   数学  99

下面分析q个SQL的查询方法,分组函数是最怋用的Q下面的分组函数可以得到最高分Q姓?br /> select name,max(grade) from studentgrade group by name;

q样昄得不到具体的U目Q要得到U目怎么办呢Q用时表是一个方案:

select b.name,b.grade,b.subject from

(select name, max(grade) grade from studentgrade group by name ) a,

studentgrade b

where a.name = b.name and a.grade = b.gradeQ?br />
如果是需要查询每个h前三个最高分的成l和U目呢?分组函数ms无能ؓ力了。下面是是几个不错的方式Q?br />
1、对每条记录q行验,查询q条记录是不是排在前三位?br />
select a.* from studentgrade a where 3 > (select count(*) from studentgrade where name=a.name and grade< a.grade) order by a.name,a.grade;

为提高查询效率,在name和grade上面建立联合索引?br />
2、先把每个同学最大的三个U目分数查询出来形成一个集合,然后Ҏ条记录进行检验,查看是否在这个集合里面。这U方式是mysqlҎ的,使用了top关键字?br />
select a.* from studentgrade a where grade in (select top 3 grade from studentgrade where name=a.name order by grade) order by a.name,a.grade;

3、和W一U方式差不多Q但使用的exists关键字?br />
select a.* from studentgrade a where exists (select count(*) from studentgrade where name=a.name and grade<a.grade having Count(*) < 2) order by a.name;



persister 2010-05-28 10:27 发表评论
]]>
FreeMarker中取map中的?/title><link>http://www.tkk7.com/persister/archive/2010/05/27/322081.html</link><dc:creator>persister</dc:creator><author>persister</author><pubDate>Thu, 27 May 2010 12:17:00 GMT</pubDate><guid>http://www.tkk7.com/persister/archive/2010/05/27/322081.html</guid><wfw:comment>http://www.tkk7.com/persister/comments/322081.html</wfw:comment><comments>http://www.tkk7.com/persister/archive/2010/05/27/322081.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/persister/comments/commentRss/322081.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/persister/services/trackbacks/322081.html</trackback:ping><description><![CDATA[FreeMarker中,去map中的值很单,比如去map中的name|<br /> <br /> ${map.name} 或?{map[name]}<br /> <br /> 如果对于map中的key不知道的情况下,也就是说也是一个变量,那么怎么办?采用如下方式Q?br /> <br /> <div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><#list sessionAttributes.features as feature><br />      ${option["${feature}"]}</td><br /> </#list></div> <br /> <img src ="http://www.tkk7.com/persister/aggbug/322081.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/persister/" target="_blank">persister</a> 2010-05-27 20:17 <a href="http://www.tkk7.com/persister/archive/2010/05/27/322081.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MySQL忘记root密码怎么办?http://www.tkk7.com/persister/archive/2010/03/24/316461.htmlpersisterpersisterWed, 24 Mar 2010 09:26:00 GMThttp://www.tkk7.com/persister/archive/2010/03/24/316461.htmlhttp://www.tkk7.com/persister/comments/316461.htmlhttp://www.tkk7.com/persister/archive/2010/03/24/316461.html#Feedback0http://www.tkk7.com/persister/comments/commentRss/316461.htmlhttp://www.tkk7.com/persister/services/trackbacks/316461.html 启动 MySQLQmysqld --skip-grant-tablesQ?br /> 可以不需要密码就q入 MySQL 了?
然后是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
重新杀 MySQL Q用正常Ҏ启动 MySQL ?br />
q里有一个地方要注意Q就是有可能Quser表中Ҏ没有rootq个用户?br />

persister 2010-03-24 17:26 发表评论
]]>
վ֩ģ壺 ɫҹƵѲ| Ƶ1| ޹a777| ޾ƷĻ| Ļ޾Ʒ| ۺϾþһ| ˿Ļ| ɫƷVRһ| ߴɳ·Ƶ| ѹվ߹ۿ | ѹaƬ| ޾ƷŮþþ| Թ24| Ѷ| Ʒۺ| þ޹Ʒ| ۺɫͼƬ| Բٸ| þñѵӰˬˬˬ| պѸ岥| ߹ۿ˳վ| ëɫëƬѹۿ| ޳ɫӰԺ| Ůˬ̼ƵѲ| ˺ݺۺϾþ88| ҳƵվ| ޹˾þþƷapp| þ91Ƶۿվ| ߻ɫַ| ݺݺݰƵ | avҹƬƷӰ| ޹˾þۺһ| ߹ۿѴվ| hƵ߹ۿ| ޳avƬ| ˵Ƶwww| ޾ƷƵ߲| Ļ| ҹѹۿ| jizzjizzƵѿ| ˵վ|