<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-&lt;h2&gt;&lt;font color="green"&gt;生命科学领域的专业信息解决方案！&lt;/font&gt;&lt;/h2&gt;</title><link>http://www.blogjava.net/rain1102/</link><description>&lt;br/&gt;&lt;font color="green" style="font-family: 华文行楷;font-size:16px;"&gt;化学结构搜索，化学信息学，生物信息学，实验室信息学等
。&lt;/font&gt;&lt;br/&gt;&lt;font color="#3C1435"&gt;以高科技的生物、化学信息技术实现生命科学领域中专业数据的计算和管理、提高研发能力、增强在科研和成本效率方面的国际竞争力，为生物、化学、医药和学术机构提供一流的解决方案和技术咨询。&lt;/font&gt;&lt;br/&gt;
&lt;br/&gt;&lt;font color="green" style="font-family: 华文行楷;font-size:16px;"&gt;子曰：危邦不入，乱邦不居。天下有道则见，无道则隐。&lt;/font&gt;&lt;font color="#3C1435"&gt;&lt;/font&gt;&lt;br/&gt;
</description><language>zh-cn</language><lastBuildDate>Tue, 14 Apr 2026 05:41:13 GMT</lastBuildDate><pubDate>Tue, 14 Apr 2026 05:41:13 GMT</pubDate><ttl>60</ttl><item><title>几家基于HTML5的化学结构式编辑器截图</title><link>http://www.blogjava.net/rain1102/archive/2014/11/06/419617.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Thu, 06 Nov 2014 13:10:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2014/11/06/419617.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/419617.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2014/11/06/419617.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/419617.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/419617.html</trackback:ping><description><![CDATA[1. 首先上的是朋友Tony搞的，JSDraw，不知道是因为朋友还是因为国人，总感觉它这个设计的是最漂亮的，而且非常好用。（商业）<br /><img src="http://www.blogjava.net/images/blogjava_net/rain1102/jsdraw.png" width="717" height="371" alt="" /><br />2. chemwriter，这个看起来也不错。（商业）<br /><img src="http://www.blogjava.net/images/blogjava_net/rain1102/chemwriter.png" width="624" height="358" alt="" /><br />3. ChemAxon公司的Marvin4JS，个人从非专业角度感觉用起来比较麻烦。（商业）<br /><img src="http://www.blogjava.net/images/blogjava_net/rain1102/marvin4js.png" width="598" height="424" alt="" /><br /><br />4. 比较出名的JME的兄弟JSME，免费，好用，功能弱了点而已。个人比较喜欢。（免费）<br /><img src="http://www.blogjava.net/images/blogjava_net/rain1102/jsme.png" width="554" height="396" alt="" /><br />5. GGA的<span style="color: #343030; font-family: Verdana, Geneva, Tahoma, sans-serif; font-size: 12px; line-height: 17px; background-color: #ffffff;">Ketcher，免费，使用有点马马虎虎。</span>（免费）<br /><span style="color: #343030; font-family: Verdana, Geneva, Tahoma, sans-serif; font-size: 12px; line-height: 17px; background-color: #ffffff;"><img src="http://www.blogjava.net/images/blogjava_net/rain1102/Ketcher.png" width="748" height="504" alt="" /><br /><br /><br /></span><img src ="http://www.blogjava.net/rain1102/aggbug/419617.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2014-11-06 21:10 <a href="http://www.blogjava.net/rain1102/archive/2014/11/06/419617.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>化学试剂电商平台</title><link>http://www.blogjava.net/rain1102/archive/2014/11/03/419451.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Mon, 03 Nov 2014 07:35:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2014/11/03/419451.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/419451.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2014/11/03/419451.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/419451.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/419451.html</trackback:ping><description><![CDATA[最近看了国内很多公司在做化学试剂电商平台，大体运作三种，第一种是面向国内用户，供应商上来开店，收取一定费用或者免费（通过推广排名进行收费），第二种是打着对外口号进行推广，这个就是烧钱，目前看下来效果也不大，第三种是做自己品牌，别人上来收取一定提成。目前了解了有五六家平台，各有各的特点，总体感觉其实都差不多了，主要还是运作模式不同，功能大径相同，都可以注册买家卖家，卖家都可以维护自己信息，有的可以下单支付，一面群龙混战的景象出现了，但真的解决了用户的问题了吗？除了数据大，还有什么呢？随便检索一下，很多错误数据，厂商信息是否正确就是另外一回事了，目前私下底了解到，很多平台为了吸引买家入住，经常抓取一些数据放上去，压根未经过商家同意。<br /><br />有没有人关注这个行业的痛根呢？到时是什么，如何解决。<img src ="http://www.blogjava.net/rain1102/aggbug/419451.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2014-11-03 15:35 <a href="http://www.blogjava.net/rain1102/archive/2014/11/03/419451.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PACS-与HIS的融合关系图</title><link>http://www.blogjava.net/rain1102/archive/2012/02/04/369377.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Sat, 04 Feb 2012 08:26:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2012/02/04/369377.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/369377.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2012/02/04/369377.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/369377.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/369377.html</trackback:ping><description><![CDATA[<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/rain1102/PACS-与HIS的融合关系图.png" width="832" height="703" /><img src ="http://www.blogjava.net/rain1102/aggbug/369377.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2012-02-04 16:26 <a href="http://www.blogjava.net/rain1102/archive/2012/02/04/369377.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>手术麻醉系统工作流程图</title><link>http://www.blogjava.net/rain1102/archive/2012/02/04/369376.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Sat, 04 Feb 2012 08:20:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2012/02/04/369376.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/369376.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2012/02/04/369376.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/369376.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/369376.html</trackback:ping><description><![CDATA[<div align="center"><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/rain1102/手术麻醉系统工作流程图.png" width="816" height="695" /></div><img src ="http://www.blogjava.net/rain1102/aggbug/369376.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2012-02-04 16:20 <a href="http://www.blogjava.net/rain1102/archive/2012/02/04/369376.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>门诊医生工作站流程图</title><link>http://www.blogjava.net/rain1102/archive/2012/02/04/369372.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Sat, 04 Feb 2012 07:46:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2012/02/04/369372.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/369372.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2012/02/04/369372.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/369372.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/369372.html</trackback:ping><description><![CDATA[<p align="center">
 
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/rain1102/门诊医生工作站流程图.png" width="931" height="704" /></p><img src ="http://www.blogjava.net/rain1102/aggbug/369372.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2012-02-04 15:46 <a href="http://www.blogjava.net/rain1102/archive/2012/02/04/369372.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>国家卫生信息化的五大任务</title><link>http://www.blogjava.net/rain1102/archive/2012/02/02/369266.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Thu, 02 Feb 2012 13:50:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2012/02/02/369266.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/369266.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2012/02/02/369266.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/369266.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/369266.html</trackback:ping><description><![CDATA[<div><table cellspacing="0" cellpadding="0" style="word-wrap: break-word; empty-cells: show; border-collapse: collapse; width: 1379px; table-layout: fixed; margin-left: 1px; color: #444444; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 12px; text-align: left; background-color: #ffffff; "><tbody style="word-wrap: break-word; "><tr style="word-wrap: break-word; "><td id="postmessage_103655" style="word-wrap: break-word; font: normal normal normal 12px/1.6em Verdana, Helvetica, Arial, sans-serif; line-height: 1.6em; font-size: 14px; ">1，以<span href="tag.php?name=%E7%94%B5%E5%AD%90" style="word-wrap: break-word; line-height: normal; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #ff0000; white-space: nowrap; ">电子</span><span href="tag.php?name=%E7%97%85%E5%8E%86" style="word-wrap: break-word; line-height: normal; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #ff0000; white-space: nowrap; ">病历</span>为核心的数字化<span href="tag.php?name=%E5%8C%BB%E9%99%A2" style="word-wrap: break-word; line-height: normal; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #ff0000; white-space: nowrap; ">医院</span><br style="word-wrap: break-word; line-height: normal; " />2，以电子<span href="tag.php?name=%E5%81%A5%E5%BA%B7" style="word-wrap: break-word; line-height: normal; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #ff0000; white-space: nowrap; ">健康</span>档案为核心的数字化社区和乡镇<span href="tag.php?name=%E5%8D%AB%E7%94%9F" style="word-wrap: break-word; line-height: normal; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #ff0000; white-space: nowrap; ">卫生</span>院<br style="word-wrap: break-word; line-height: normal; " />3，以<span href="tag.php?name=%E4%BF%A1%E6%81%AF" style="word-wrap: break-word; line-height: normal; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #ff0000; white-space: nowrap; ">信息</span>共享为中心的<span href="tag.php?name=%E5%8C%BA%E5%9F%9F" style="word-wrap: break-word; line-height: normal; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #ff0000; white-space: nowrap; ">区域</span>数据中心、全国通用的&#8220;<span href="tag.php?name=%E5%8C%BB%E7%96%97" style="word-wrap: break-word; line-height: normal; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #ff0000; white-space: nowrap; ">医疗</span>卡&#8221;和各级政府<span href="tag.php?name=%E7%AE%A1%E7%90%86" style="word-wrap: break-word; line-height: normal; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #ff0000; white-space: nowrap; ">管理</span>平台<br style="word-wrap: break-word; line-height: normal; " />4，以人为本的公众<span href="tag.php?name=%E5%8C%BB%E7%96%97%E5%8D%AB%E7%94%9F" style="word-wrap: break-word; line-height: normal; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #ff0000; white-space: nowrap; ">医疗卫生</span>服务平台<br style="word-wrap: break-word; line-height: normal; " />5，以国家卫生数字化为目标的<span href="tag.php?name=%E6%8A%80%E6%9C%AF" style="word-wrap: break-word; line-height: normal; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #ff0000; white-space: nowrap; ">技术</span>标准规范、法规政策和运行机制</td></tr></tbody></table></div><img src ="http://www.blogjava.net/rain1102/aggbug/369266.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2012-02-02 21:50 <a href="http://www.blogjava.net/rain1102/archive/2012/02/02/369266.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>医技科室</title><link>http://www.blogjava.net/rain1102/archive/2012/02/02/369260.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Thu, 02 Feb 2012 11:39:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2012/02/02/369260.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/369260.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2012/02/02/369260.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/369260.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/369260.html</trackback:ping><description><![CDATA[<div>　　<span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">医技科室旧称辅助诊疗科室，是指运用专门的诊疗技术和设备，协同临床科诊断和治疗疾病的医疗技术科室。因为不设病床，不收病人，也称为非临床科室。按工作性质和任务，可分为以诊断为主的或以治疗为主的科室，还有以供应为主的科室。按系统的观点来看，医技科室是医院系统中的技术支持系统，因此，是医院的重要组成部分。</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　医技科室有以下特点：</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　&#9332;一切工作围绕临床，面向全院，为各临床医疗科服务。医技科室虽自成体系，构成医院的一部分，但其业务工作主要是为各临床医疗科提供诊疗依据，或配合治疗，直接或间接为门诊、急诊和住院病人提供技术服务，同时也为全院的科研和教学服务。临床各科对医技科室，特别是对拥用先进的现代化诊疗设备的医技科室有较强的依赖性。医技科室技术水平的高低、工作质量的优劣、检查报告结果是否准确及时，直接影响对疾病的诊断和治疗，同时还影响着全院医疗、科研和教学工作的效果。每一个具体的检查项目，都关系到某一临床科的诊疗质量。可见，医技科室在医院医疗工作中起着举足轻重的作用。</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　&#9333;医技科室的专业性强，具有相对独立性。各医技科室有自己的专业分工，并有自己的工作特点和规律。即使同一科室，不同的仪器设备安装在不同的单独房间里，从操作到出报告都是独立完成，具有工作的独立性。这要求技术人员必须具备较强的业务技术能力和责任感，具有认真负责、一丝不苟的工作作风。</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　&#9334;借助专用仪器设备和专门技术开展业务工作，为病人诊断治疗提供客观依据。医技科室的工作手段主要是各种仪器设备，工作水平在很大程序上取决于仪器设备的先进程序和更新周期的长短，同时也取决于医技科室技术人员专业技术水平和知识更新的快慢。在科学技术迅猛发展的今天，这一特点显得尤为突出。</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　&#9335;医技各科室拥有诊疗仪器设备多、更新周期短、要求条件高。医技科室的仪器设备是医院现代化的物质基础和重要标志。随着现代化科学技术的发展，医疗设备更新换代越来越快，几年就更新一代或几代。每个科室、每个专业都拥有多种不同功能的仪器设备，同一专业同一功能的仪器设备，往往规格型号不一，操作各异。设备操作自动化、遥控化和电子计算机化，构成了医技科室形体各异的特点。而且每一台仪器设备都要求有特定的环境、建筑和保养设备，有相应的专门技术人员操作和维修管理。</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　医技科室，包括药剂科、检验科、放射科、物理诊断科、核医学科、理疗科、手术室、供应室、营养治疗科、血库、医疗器械管理科。</span></div><img src ="http://www.blogjava.net/rain1102/aggbug/369260.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2012-02-02 19:39 <a href="http://www.blogjava.net/rain1102/archive/2012/02/02/369260.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>健康档案基本活动目录</title><link>http://www.blogjava.net/rain1102/archive/2011/11/08/363243.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Tue, 08 Nov 2011 14:45:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2011/11/08/363243.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/363243.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2011/11/08/363243.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/363243.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/363243.html</trackback:ping><description><![CDATA[<div><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/rain1102/health/健康档案基本活动目录1.png" width="578" height="991" /></div><img src ="http://www.blogjava.net/rain1102/aggbug/363243.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2011-11-08 22:45 <a href="http://www.blogjava.net/rain1102/archive/2011/11/08/363243.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>健康档案基本业务域目录</title><link>http://www.blogjava.net/rain1102/archive/2011/11/08/363239.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Tue, 08 Nov 2011 14:09:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2011/11/08/363239.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/363239.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2011/11/08/363239.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/363239.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/363239.html</trackback:ping><description><![CDATA[<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/rain1102/health/健康档案基本业务域目录1.png" width="647" height="1023" /><img src ="http://www.blogjava.net/rain1102/aggbug/363239.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2011-11-08 22:09 <a href="http://www.blogjava.net/rain1102/archive/2011/11/08/363239.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>卫生服务实体机构与角色的关系构建</title><link>http://www.blogjava.net/rain1102/archive/2011/11/08/363235.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Tue, 08 Nov 2011 13:43:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2011/11/08/363235.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/363235.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2011/11/08/363235.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/363235.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/363235.html</trackback:ping><description><![CDATA[<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/rain1102/health/医疗卫生服务角色目录.png" width="817" height="784" /><br /><br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/rain1102/health/实体机构与角色关系表.png" width="812" height="590" /><img src ="http://www.blogjava.net/rain1102/aggbug/363235.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2011-11-08 21:43 <a href="http://www.blogjava.net/rain1102/archive/2011/11/08/363235.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>医疗卫生服务实体机构目录</title><link>http://www.blogjava.net/rain1102/archive/2011/11/08/363229.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Tue, 08 Nov 2011 13:12:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2011/11/08/363229.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/363229.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2011/11/08/363229.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/363229.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/363229.html</trackback:ping><description><![CDATA[从用户的角度分析，基于健康档案的区域卫生信息平台包括两大类别的用户，即<strong style="color: #993300">居民个人</strong>和<strong style="color: #993300">医疗卫生服务机构</strong>。<br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/rain1102/health/医疗卫生服务实体机构目录.png" width="740" height="727" /><br />不同用户对基于健康档案的区域卫生信息平台需求有不同的关注点，具体如下：<br /><strong>居民个人</strong>：主要关注的是如何能获得可及的、优质的卫生服务；获取连续的健康信息、全程的健康管理等方面。<br /><strong>基层卫生服务机构</strong>：主要关注的是如何更好提供基本医疗、基本公共卫生与管理等基本服务。<br /><strong>专业卫生服务机构</strong>：主要关注的是如何保证服务质量、提高服务效率，如何加强疾病管理、卫生管理、应急管理、健康教育等方面，如何有利于针对性的服务的开展、健康管理的系统化等方面。<br /><strong>卫生行政管理机构</strong>：主要关注的是如何提高区域资源共享水平、强化绩效考核、提高监督管理能力、化解疾病风险等方面。<br /><strong>其它相关机构</strong>：主要指公安、民政、人口和计划生育服务等相关机构。<br /><img src ="http://www.blogjava.net/rain1102/aggbug/363229.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2011-11-08 21:12 <a href="http://www.blogjava.net/rain1102/archive/2011/11/08/363229.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序员、设计师、项目经理之间的战争</title><link>http://www.blogjava.net/rain1102/archive/2011/08/11/356300.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Thu, 11 Aug 2011 06:47:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2011/08/11/356300.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/356300.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2011/08/11/356300.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/356300.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/356300.html</trackback:ping><description><![CDATA[<img src="http://www.blogjava.net/images/blogjava_net/rain1102/程序员_设计师_项目经理之间的战争.jpg" alt="" /><img src ="http://www.blogjava.net/rain1102/aggbug/356300.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2011-08-11 14:47 <a href="http://www.blogjava.net/rain1102/archive/2011/08/11/356300.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我来自天朝-百度翻译-I come from China</title><link>http://www.blogjava.net/rain1102/archive/2011/08/01/355504.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Mon, 01 Aug 2011 09:12:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2011/08/01/355504.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/355504.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2011/08/01/355504.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/355504.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/355504.html</trackback:ping><description><![CDATA[百度翻译太人性了。输入我来自天朝，竟然也可以翻译正确。<br /><img src="http://www.blogjava.net/images/blogjava_net/rain1102/我来自天朝.jpg" width="751" height="416" alt="" /><br /><img src ="http://www.blogjava.net/rain1102/aggbug/355504.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2011-08-01 17:12 <a href="http://www.blogjava.net/rain1102/archive/2011/08/01/355504.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用JPG图片生成高质量的缩略图</title><link>http://www.blogjava.net/rain1102/archive/2011/07/26/355029.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Tue, 26 Jul 2011 01:49:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2011/07/26/355029.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/355029.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2011/07/26/355029.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/355029.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/355029.html</trackback:ping><description><![CDATA[<p><span style="color: #003300">如果给出缩略图的宽度和高度，那么就会根据给出的宽度和高度生产缩略图，如果只给出宽度或者高度值，那么就会根据比例生成缩略图。</span><br />package com.founder.common.utils;</p>
<p>import java.awt.image.BufferedImage;<br />import java.io.File;<br />import javax.imageio.ImageIO;</p>
<p>//生成等比例高质量缩略图<br />public class ThumbnailUtil {<br />&nbsp;private static int width;<br />&nbsp;private static int height;<br />&nbsp;private static int scaleWidth;<br />&nbsp;static double support = (double) 3.0;<br />&nbsp;static double PI = (double) 3.14159265358978;<br />&nbsp;static double[] contrib;<br />&nbsp;static double[] normContrib;<br />&nbsp;static double[] tmpContrib;<br />&nbsp;static int startContrib, stopContrib;<br />&nbsp;static int nDots;<br />&nbsp;static int nHalfDots;</p>
<p>&nbsp;public static void saveImage(String fromFileStr, String saveToFileStr, int formatWidth, int formatHeight) throws Exception {<br />&nbsp;&nbsp;File saveFile = new File(saveToFileStr);<br />&nbsp;&nbsp;File fromFile = new File(fromFileStr);<br />&nbsp;&nbsp;saveImage(fromFile, saveFile, formatWidth, formatHeight);<br />&nbsp;}<br />&nbsp;<br />&nbsp;public static void saveImage(File fromFile&nbsp; , File saveFile, int formatWidth, int formatHeight) throws Exception {<br />&nbsp;&nbsp;BufferedImage srcImage;<br />&nbsp;&nbsp;srcImage = javax.imageio.ImageIO.read(fromFile); // construct image<br />&nbsp;&nbsp;int imageWidth = srcImage.getWidth(null);<br />&nbsp;&nbsp;int imageHeight = srcImage.getHeight(null);<br />&nbsp;&nbsp;int changeToWidth = 0;<br />&nbsp;&nbsp;int changeToHeight = 0;<br />&nbsp;&nbsp;if (formatWidth &gt; 0 &amp;&amp; formatHeight &gt; 0) {<br />&nbsp;&nbsp;&nbsp;changeToWidth = formatWidth;<br />&nbsp;&nbsp;&nbsp;changeToHeight = formatHeight;<br />&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;if (imageWidth &gt; 0 &amp;&amp; imageHeight &gt; 0) {<br />&nbsp;&nbsp;&nbsp;&nbsp;if (imageWidth / imageHeight &gt;= formatWidth / formatHeight) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (imageWidth &gt; formatWidth) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changeToWidth = formatWidth;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changeToHeight = (imageHeight * formatWidth) / imageWidth;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changeToWidth = imageWidth;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changeToHeight = imageHeight;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (imageHeight &gt; formatHeight) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changeToHeight = formatHeight;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changeToWidth = (imageWidth * formatHeight) / imageHeight;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changeToWidth = imageWidth;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changeToHeight = imageHeight;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;srcImage = imageZoomOut(srcImage, changeToWidth, changeToHeight);<br />&nbsp;&nbsp;ImageIO.write(srcImage, "JPEG", saveFile);<br />&nbsp;}</p>
<p>&nbsp;public static BufferedImage imageZoomOut(BufferedImage srcBufferImage, int w, int h) {<br />&nbsp;&nbsp;width = srcBufferImage.getWidth();<br />&nbsp;&nbsp;height = srcBufferImage.getHeight();<br />&nbsp;&nbsp;scaleWidth = w;</p>
<p>&nbsp;&nbsp;if (DetermineResultSize(w, h) == 1) {<br />&nbsp;&nbsp;&nbsp;return srcBufferImage;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;CalContrib();<br />&nbsp;&nbsp;BufferedImage pbOut = HorizontalFiltering(srcBufferImage, w);<br />&nbsp;&nbsp;BufferedImage pbFinalOut = VerticalFiltering(pbOut, h);<br />&nbsp;&nbsp;return pbFinalOut;<br />&nbsp;}</p>
<p>&nbsp;/**<br />&nbsp; * 决定图像尺寸<br />&nbsp; */<br />&nbsp;private static int DetermineResultSize(int w, int h) {<br />&nbsp;&nbsp;double scaleH, scaleV;<br />&nbsp;&nbsp;scaleH = (double) w / (double) width;<br />&nbsp;&nbsp;scaleV = (double) h / (double) height;<br />&nbsp;&nbsp;// 需要判断一下scaleH，scaleV，不做放大操作<br />&nbsp;&nbsp;if (scaleH &gt;= 1.0 &amp;&amp; scaleV &gt;= 1.0) {<br />&nbsp;&nbsp;&nbsp;return 1;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return 0;</p>
<p>&nbsp;}</p>
<p>&nbsp;private static double Lanczos(int i, int inWidth, int outWidth, double Support) {<br />&nbsp;&nbsp;double x;</p>
<p>&nbsp;&nbsp;x = (double) i * (double) outWidth / (double) inWidth;</p>
<p>&nbsp;&nbsp;return Math.sin(x * PI) / (x * PI) * Math.sin(x * PI / Support)<br />&nbsp;&nbsp;&nbsp;&nbsp;/ (x * PI / Support);</p>
<p>&nbsp;}</p>
<p>&nbsp;private static void CalContrib() {<br />&nbsp;&nbsp;nHalfDots = (int) ((double) width * support / (double) scaleWidth);<br />&nbsp;&nbsp;nDots = nHalfDots * 2 + 1;<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;contrib = new double[nDots];<br />&nbsp;&nbsp;&nbsp;normContrib = new double[nDots];<br />&nbsp;&nbsp;&nbsp;tmpContrib = new double[nDots];<br />&nbsp;&nbsp;} catch (Exception e) {<br />&nbsp;&nbsp;&nbsp;System.out.println("init contrib,normContrib,tmpContrib" + e);<br />&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;int center = nHalfDots;<br />&nbsp;&nbsp;contrib[center] = 1.0;</p>
<p>&nbsp;&nbsp;double weight = 0.0;<br />&nbsp;&nbsp;int i = 0;<br />&nbsp;&nbsp;for (i = 1; i &lt;= center; i++) {<br />&nbsp;&nbsp;&nbsp;contrib[center + i] = Lanczos(i, width, scaleWidth, support);<br />&nbsp;&nbsp;&nbsp;weight += contrib[center + i];<br />&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;for (i = center - 1; i &gt;= 0; i--) {<br />&nbsp;&nbsp;&nbsp;contrib[i] = contrib[center * 2 - i];<br />&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;weight = weight * 2 + 1.0;</p>
<p>&nbsp;&nbsp;for (i = 0; i &lt;= center; i++) {<br />&nbsp;&nbsp;&nbsp;normContrib[i] = contrib[i] / weight;<br />&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;for (i = center + 1; i &lt; nDots; i++) {<br />&nbsp;&nbsp;&nbsp;normContrib[i] = normContrib[center * 2 - i];<br />&nbsp;&nbsp;}<br />&nbsp;}</p>
<p>&nbsp;// 处理边缘<br />&nbsp;private static void CalTempContrib(int start, int stop) {<br />&nbsp;&nbsp;double weight = 0;</p>
<p>&nbsp;&nbsp;int i = 0;<br />&nbsp;&nbsp;for (i = start; i &lt;= stop; i++) {<br />&nbsp;&nbsp;&nbsp;weight += contrib[i];<br />&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;for (i = start; i &lt;= stop; i++) {<br />&nbsp;&nbsp;&nbsp;tmpContrib[i] = contrib[i] / weight;<br />&nbsp;&nbsp;}</p>
<p>&nbsp;}</p>
<p>&nbsp;private static int GetRedValue(int rgbValue) {<br />&nbsp;&nbsp;int temp = rgbValue &amp; 0x00ff0000;<br />&nbsp;&nbsp;return temp &gt;&gt; 16;<br />&nbsp;}</p>
<p>&nbsp;private static int GetGreenValue(int rgbValue) {<br />&nbsp;&nbsp;int temp = rgbValue &amp; 0x0000ff00;<br />&nbsp;&nbsp;return temp &gt;&gt; 8;<br />&nbsp;}</p>
<p>&nbsp;private static int GetBlueValue(int rgbValue) {<br />&nbsp;&nbsp;return rgbValue &amp; 0x000000ff;<br />&nbsp;}</p>
<p>&nbsp;private static int ComRGB(int redValue, int greenValue, int blueValue) {</p>
<p>&nbsp;&nbsp;return (redValue &lt;&lt; 16) + (greenValue &lt;&lt; 8) + blueValue;<br />&nbsp;}</p>
<p>&nbsp;// 行水平滤波<br />&nbsp;private static int HorizontalFilter(BufferedImage bufImg, int startX, int stopX,<br />&nbsp;&nbsp;&nbsp;int start, int stop, int y, double[] pContrib) {<br />&nbsp;&nbsp;double valueRed = 0.0;<br />&nbsp;&nbsp;double valueGreen = 0.0;<br />&nbsp;&nbsp;double valueBlue = 0.0;<br />&nbsp;&nbsp;int valueRGB = 0;<br />&nbsp;&nbsp;int i, j;</p>
<p>&nbsp;&nbsp;for (i = startX, j = start; i &lt;= stopX; i++, j++) {<br />&nbsp;&nbsp;&nbsp;valueRGB = bufImg.getRGB(i, y);</p>
<p>&nbsp;&nbsp;&nbsp;valueRed += GetRedValue(valueRGB) * pContrib[j];<br />&nbsp;&nbsp;&nbsp;valueGreen += GetGreenValue(valueRGB) * pContrib[j];<br />&nbsp;&nbsp;&nbsp;valueBlue += GetBlueValue(valueRGB) * pContrib[j];<br />&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;valueRGB = ComRGB(Clip((int) valueRed), Clip((int) valueGreen),<br />&nbsp;&nbsp;&nbsp;&nbsp;Clip((int) valueBlue));<br />&nbsp;&nbsp;return valueRGB;</p>
<p>&nbsp;}</p>
<p>&nbsp;// 图片水平滤波<br />&nbsp;private static BufferedImage HorizontalFiltering(BufferedImage bufImage, int iOutW) {<br />&nbsp;&nbsp;int dwInW = bufImage.getWidth();<br />&nbsp;&nbsp;int dwInH = bufImage.getHeight();<br />&nbsp;&nbsp;int value = 0;<br />&nbsp;&nbsp;BufferedImage pbOut = new BufferedImage(iOutW, dwInH,<br />&nbsp;&nbsp;&nbsp;&nbsp;BufferedImage.TYPE_INT_RGB);</p>
<p>&nbsp;&nbsp;for (int x = 0; x &lt; iOutW; x++) {</p>
<p>&nbsp;&nbsp;&nbsp;int startX;<br />&nbsp;&nbsp;&nbsp;int start;<br />&nbsp;&nbsp;&nbsp;int X = (int) (((double) x) * ((double) dwInW) / ((double) iOutW) + 0.5);<br />&nbsp;&nbsp;&nbsp;int y = 0;</p>
<p>&nbsp;&nbsp;&nbsp;startX = X - nHalfDots;<br />&nbsp;&nbsp;&nbsp;if (startX &lt; 0) {<br />&nbsp;&nbsp;&nbsp;&nbsp;startX = 0;<br />&nbsp;&nbsp;&nbsp;&nbsp;start = nHalfDots - X;<br />&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;start = 0;<br />&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;int stop;<br />&nbsp;&nbsp;&nbsp;int stopX = X + nHalfDots;<br />&nbsp;&nbsp;&nbsp;if (stopX &gt; (dwInW - 1)) {<br />&nbsp;&nbsp;&nbsp;&nbsp;stopX = dwInW - 1;<br />&nbsp;&nbsp;&nbsp;&nbsp;stop = nHalfDots + (dwInW - 1 - X);<br />&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;stop = nHalfDots * 2;<br />&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;if (start &gt; 0 || stop &lt; nDots - 1) {<br />&nbsp;&nbsp;&nbsp;&nbsp;CalTempContrib(start, stop);<br />&nbsp;&nbsp;&nbsp;&nbsp;for (y = 0; y &lt; dwInH; y++) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value = HorizontalFilter(bufImage, startX, stopX, start,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stop, y, tmpContrib);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pbOut.setRGB(x, y, value);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;for (y = 0; y &lt; dwInH; y++) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value = HorizontalFilter(bufImage, startX, stopX, start,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stop, y, normContrib);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pbOut.setRGB(x, y, value);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;return pbOut;</p>
<p>&nbsp;}</p>
<p>&nbsp;private static int VerticalFilter(BufferedImage pbInImage, int startY, int stopY,<br />&nbsp;&nbsp;&nbsp;int start, int stop, int x, double[] pContrib) {<br />&nbsp;&nbsp;double valueRed = 0.0;<br />&nbsp;&nbsp;double valueGreen = 0.0;<br />&nbsp;&nbsp;double valueBlue = 0.0;<br />&nbsp;&nbsp;int valueRGB = 0;<br />&nbsp;&nbsp;int i, j;</p>
<p>&nbsp;&nbsp;for (i = startY, j = start; i &lt;= stopY; i++, j++) {<br />&nbsp;&nbsp;&nbsp;valueRGB = pbInImage.getRGB(x, i);</p>
<p>&nbsp;&nbsp;&nbsp;valueRed += GetRedValue(valueRGB) * pContrib[j];<br />&nbsp;&nbsp;&nbsp;valueGreen += GetGreenValue(valueRGB) * pContrib[j];<br />&nbsp;&nbsp;&nbsp;valueBlue += GetBlueValue(valueRGB) * pContrib[j];<br />&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;valueRGB = ComRGB(Clip((int) valueRed), Clip((int) valueGreen), Clip((int) valueBlue));<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;return valueRGB;</p>
<p>&nbsp;} </p>
<p>&nbsp;private static BufferedImage VerticalFiltering(BufferedImage pbImage, int iOutH) {<br />&nbsp;&nbsp;int iW = pbImage.getWidth();<br />&nbsp;&nbsp;int iH = pbImage.getHeight();<br />&nbsp;&nbsp;int value = 0;<br />&nbsp;&nbsp;BufferedImage pbOut = new BufferedImage(iW, iOutH,<br />&nbsp;&nbsp;&nbsp;&nbsp;BufferedImage.TYPE_INT_RGB);</p>
<p>&nbsp;&nbsp;for (int y = 0; y &lt; iOutH; y++) {</p>
<p>&nbsp;&nbsp;&nbsp;int startY;<br />&nbsp;&nbsp;&nbsp;int start;<br />&nbsp;&nbsp;&nbsp;int Y = (int) (((double) y) * ((double) iH) / ((double) iOutH) + 0.5);</p>
<p>&nbsp;&nbsp;&nbsp;startY = Y - nHalfDots;<br />&nbsp;&nbsp;&nbsp;if (startY &lt; 0) {<br />&nbsp;&nbsp;&nbsp;&nbsp;startY = 0;<br />&nbsp;&nbsp;&nbsp;&nbsp;start = nHalfDots - Y;<br />&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;start = 0;<br />&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;int stop;<br />&nbsp;&nbsp;&nbsp;int stopY = Y + nHalfDots;<br />&nbsp;&nbsp;&nbsp;if (stopY &gt; (int) (iH - 1)) {<br />&nbsp;&nbsp;&nbsp;&nbsp;stopY = iH - 1;<br />&nbsp;&nbsp;&nbsp;&nbsp;stop = nHalfDots + (iH - 1 - Y);<br />&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;stop = nHalfDots * 2;<br />&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;if (start &gt; 0 || stop &lt; nDots - 1) {<br />&nbsp;&nbsp;&nbsp;&nbsp;CalTempContrib(start, stop);<br />&nbsp;&nbsp;&nbsp;&nbsp;for (int x = 0; x &lt; iW; x++) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value = VerticalFilter(pbImage, startY, stopY, start, stop,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x, tmpContrib);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pbOut.setRGB(x, y, value);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;for (int x = 0; x &lt; iW; x++) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value = VerticalFilter(pbImage, startY, stopY, start, stop,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x, normContrib);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pbOut.setRGB(x, y, value);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;return pbOut;</p>
<p>&nbsp;}</p>
<p>&nbsp;static int Clip(int x) {<br />&nbsp;&nbsp;if (x &lt; 0)<br />&nbsp;&nbsp;&nbsp;return 0;<br />&nbsp;&nbsp;if (x &gt; 255)<br />&nbsp;&nbsp;&nbsp;return 255;<br />&nbsp;&nbsp;return x;<br />&nbsp;}<br />}</p><img src ="http://www.blogjava.net/rain1102/aggbug/355029.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2011-07-26 09:49 <a href="http://www.blogjava.net/rain1102/archive/2011/07/26/355029.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>小强与小明-正在疯传的伟大的故事</title><link>http://www.blogjava.net/rain1102/archive/2011/07/05/353746.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Tue, 05 Jul 2011 13:28:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2011/07/05/353746.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/353746.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2011/07/05/353746.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/353746.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/353746.html</trackback:ping><description><![CDATA[<p align="center">&nbsp;&nbsp;&nbsp;&nbsp;小强与小明&#8212;&#8212;正在疯传的伟大的故事</p>
<p>1.小强每天在村里晃悠，爹妈看着发愁，心想这孩子将来怎么办呀；小明每日都苦读诗书，父母喜在心里，村里人都认定他必有出息。<br />2.那年，小强和小明都是十九岁。小强跟着村里的外出打工，来到了高速公路的工地，保底工资三千块；小明考上了一所重点大学，读的是道路与桥梁专业，学费每年五千多。<br />3.那年，小强和小明都是二十三岁。小强的爹妈给他说个巧媳妇，是邻村的，特别贤惠；小明在大学里谈了个女朋友，是邻校的，很有文化。<br />4.那年，小强和小明都是二十四岁。小强在老家结了婚，把媳妇带到工地上，来给他洗衣做饭，恩爱有加；小明终于大学毕业，找了施工单位工作，跟女友分居两地，朝思暮想。 <br />5.小强每天很快乐，下了班就没事，吃了饭和媳妇散散步，晚上便和工友打麻将看电视；小明每天很忙碌，白天跑遍工地，晚上还做资料画图纸，好久不见的女友跟他分手了。<br />6.那年，小强和小明都是二十八岁。小强攒下了二十万，已是两个娃娃的爹，心想着回家盖栋漂亮的楼房；小明过了中级职称，还是单身一个人过，心想着再干几年就是高级了。<br />7.小强在农村老家盖了两层小楼，装修很漂亮，剩的钱买了一群猪仔，让媳妇回家种地养猪；小明在城里贷款买了一套新房，按揭三千多，父母给介绍了新女朋友，在城里上班很少见面。<br />8. 那年，小强和小明都是三十一岁。小强媳妇从老家打电话来说：小强，现在家里有房有存款，咱喂喂猪，种种地，很幸福了，家里不能没有男人，你快回来吧；小明媳妇从城里打电话来说：小明，小孩的借读费要十五万呢，家里没有存款了，你看能不能找公司借点。 <br />9.小强听了媳妇的话，离开了工地，回老家跟老婆一起养猪，照顾父母小孩；小明听了妻子的话，更努力工作，去了偏远又艰苦的工地，很难回家一次。<br />10.那年，小强和小明都是三十五岁。猪肉价格疯涨，小强的一大圈猪成了宝贝，一年赚了十几万；通货膨胀严重，小明的公司很难接到项目，很多人都待岗了。<br />11.那年，小强和小明都是五十岁了。小强已是三个孙子的爷爷，天天晒着太阳抽着旱烟在村里转悠；小明已是高级路桥工程师，天天顶着太阳皱着眉头在工地检查。 <br />12.那年，小强和小明都是六十岁了。小强过六十大寿，老伴说：一家团圆多好呀，家里的事就让娃们操心吧，外面有啥好玩的地方咱出去转转；小明退休摆酒席，领导说：回家歇着没意思，返聘回单位做技术顾问吧，工地上有什么问题您给指导指导。 <br />13.小强病了一场，小强拉着老伴的手说：我活了快七十岁了，有儿有孙的，知足了；小明病了一场，小明抚着妻子的手说：我在外工作几十年，让你受苦了，对不起。 <br />14.&#8230;&#8230;由于长期体力劳动，吃的是自家种的菜、养的猪，小强身体一直很硬朗，慢慢就恢复了。由于长期熬夜加班、小明喝酒应酬、工地食堂饭菜也很差，身上落下很多毛病，很快就去世了。 <br />15.八十岁的小强蹲在村头抽着旱烟袋，看着远远的山；远远的山上有一片公墓，小明已在那里静静睡去；小强在鞋底磕磕烟灰，拄着拐杖站起身，望了望那片公墓，自言自语地说：唉，都是一辈子呀&#8230;&#8230; <br />谨以此向工作在大城市，付出了青春、爱情、亲情甚至生命的人。<br />人的一生很短暂，希望大家给自己多一些时间，给家人多一些关爱<br /></p><img src ="http://www.blogjava.net/rain1102/aggbug/353746.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2011-07-05 21:28 <a href="http://www.blogjava.net/rain1102/archive/2011/07/05/353746.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>化合物相似性-指纹（Fingerprint）</title><link>http://www.blogjava.net/rain1102/archive/2011/06/30/353435.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Thu, 30 Jun 2011 06:13:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2011/06/30/353435.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/353435.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2011/06/30/353435.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/353435.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/353435.html</trackback:ping><description><![CDATA[<div>化合物相似性，有时候也会说分子相似性，是指两个分子或者化合物在结构上的相似程度，而相似化合物一般在化学反应上的效果类似，以及在生物活性（biological activity）上面也会有同样的作用。<br />
在计算化合物相似性的过程中，使用的是分子指纹（molecular fingerprint）来进行比较。比较两个化合物分子指纹时，最常用的是杰卡德系数（Tanimoto(or Jaccard) coefficient ）<em>T</em>来度量其相似程度。若两个化学结构的指纹的<em>T</em>&gt;0.85，一般就视为相似的。<br />
以相似性为基础可以进行虚拟筛选（virtual screening），是一种ligand-based的虚拟筛选，为了要在上百万中化合物数据库中进行高效的相似性筛选，通过使用指纹比对效率最为高效。</div><img src ="http://www.blogjava.net/rain1102/aggbug/353435.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2011-06-30 14:13 <a href="http://www.blogjava.net/rain1102/archive/2011/06/30/353435.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>28条提高关键字排名的SEO优化方法【转载】</title><link>http://www.blogjava.net/rain1102/archive/2011/06/29/353366.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Wed, 29 Jun 2011 07:44:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2011/06/29/353366.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/353366.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2011/06/29/353366.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/353366.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/353366.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="color: #bbbbbb; font-family: arial; font-size: 13px; line-height: 26px; "><h3 style="outline-width: medium; outline-style: none; outline-color: initial; font-size: 14px; font-weight: bold; color: #cccccc; "><span style="color: #000000; ">关键词位置、密度、处理</span></h3></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">1.URL中出现关键词（英文）<br style="outline-width: medium; outline-style: none; outline-color: initial; " /></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">2.网页标题中出现关键词（1-3个）<br style="outline-width: medium; outline-style: none; outline-color: initial; " /></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">3.关键词标签中出现关键词（1-3个）<br style="outline-width: medium; outline-style: none; outline-color: initial; " /></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">4.描述标签中出现关键词（主关键词重复2次）<br style="outline-width: medium; outline-style: none; outline-color: initial; " /></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">5.内容中自然出现关键词<br style="outline-width: medium; outline-style: none; outline-color: initial; " /></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">6.内容第一段和最后一段出现关键词<br style="outline-width: medium; outline-style: none; outline-color: initial; " /></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">7.H1，H2标签中出现关键词<br style="outline-width: medium; outline-style: none; outline-color: initial; " /></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">8.导出链接锚文本中包含关键词<br style="outline-width: medium; outline-style: none; outline-color: initial; " /></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">9.图片的文件名包含关键词<br style="outline-width: medium; outline-style: none; outline-color: initial; " /></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">10.ALT属性中出现关键词<br style="outline-width: medium; outline-style: none; outline-color: initial; " /></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">11.关键词密度6-8%<br style="outline-width: medium; outline-style: none; outline-color: initial; " /></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">12.对关键词加粗或斜体<br style="outline-width: medium; outline-style: none; outline-color: initial; " /><h3 style="outline-width: medium; outline-style: none; outline-color: initial; font-size: 14px; font-weight: bold; color: #cccccc; "><span style="color: #000000; ">内容质量、更新频率、相关性</span></h3></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">1.原创的内容最佳，切忌被多次转载的内容<br style="outline-width: medium; outline-style: none; outline-color: initial; " /></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">2.内容独立性，与其他页面至少30%互异<br style="outline-width: medium; outline-style: none; outline-color: initial; " /></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">3.1000-2000字，合理分段<br style="outline-width: medium; outline-style: none; outline-color: initial; " /></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">4.有规律更新，最好是每天<br style="outline-width: medium; outline-style: none; outline-color: initial; " /></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">5.内容围绕页面关键词展开，与整站主题相关<br style="outline-width: medium; outline-style: none; outline-color: initial; " /></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; color: #000000; ">6.具有评论功能，评论中出现关键词<br style="outline-width: medium; outline-style: none; outline-color: initial; " /><h3 style="outline-width: medium; outline-style: none; outline-color: initial; font-size: 14px; font-weight: bold; color: #cccccc; "><span style="color: #000000; ">导入链接和锚文本</span></h3></span><span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 26px; "><p style="outline-width: medium; outline-style: none; outline-color: initial; "><span style="color: #000000; ">1.高PR值站点的导入链接</span><br style="outline-width: medium; outline-style: none; outline-color: initial; " /><span style="color: #000000; ">2.内容相关页面的导入链接</span><br style="outline-width: medium; outline-style: none; outline-color: initial; " /><span style="color: #000000; ">3.导入链接锚文本中包含页面关键词</span><br style="outline-width: medium; outline-style: none; outline-color: initial; " /><span style="color: #000000; ">4.锚文本存在于网页内容中</span><br style="outline-width: medium; outline-style: none; outline-color: initial; " /><span style="color: #000000; ">5.锚文本周围出现相关关键词</span><br style="outline-width: medium; outline-style: none; outline-color: initial; " /><span style="color: #000000; ">6.导入链接存在3个月以上</span><br style="outline-width: medium; outline-style: none; outline-color: initial; " /><span style="color: #000000; ">7.导入链接所在页面的导出链接少于100个</span><br style="outline-width: medium; outline-style: none; outline-color: initial; " /><span style="color: #000000; ">8.导入链接来自不同IP地址</span><br style="outline-width: medium; outline-style: none; outline-color: initial; " /><span style="color: #000000; ">9.导入链接自然增加</span><br style="outline-width: medium; outline-style: none; outline-color: initial; " /><span style="color: #000000; ">10.锚文本多样化（如，SEO和SEO十万个为什么）<br /></span><span style="color: #000000; ">原文地址：<div style="display: inline-block; "></div></span></p></span><a href="http://www.gbin1.com/technology/seo/28waytoseo/"><span style="color: #000000; ">http://www.gbin1.com/technology/seo/28waytoseo/</span></a><img src ="http://www.blogjava.net/rain1102/aggbug/353366.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2011-06-29 15:44 <a href="http://www.blogjava.net/rain1102/archive/2011/06/29/353366.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>存储BitSet到MySQL中--相似度搜索</title><link>http://www.blogjava.net/rain1102/archive/2011/06/29/353331.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Wed, 29 Jun 2011 02:20:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2011/06/29/353331.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/353331.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2011/06/29/353331.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/353331.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/353331.html</trackback:ping><description><![CDATA[分子结构式相似度搜索使用的是fingerprint进行比较，而<div style="display: inline-block; "></div>fingerprint是一个二进制数据，CDK中使用BitSet来存储该信息，如果要每次比对都去生成BitSet，那也太耗时间了，所以我们需要存储<div style="display: inline-block; "></div>fingerprint信息到数据库中，比较的时候，直接读取，而MySQL不支持存储BitSet数据，网站找了一下，有人想到把<div style="display: inline-block; "></div>BitSet转换成Blob信息进行存储，然后取的时候再转换回来，不愧是个好的方法。下面来看看代码实现：<br /><br /><div><div>/*</div><div>&nbsp;* Copyright (c) 2010-2020 Founder Ltd. All Rights Reserved.</div><div>&nbsp;*</div><div>&nbsp;* This software is the confidential and proprietary information of</div><div>&nbsp;* Founder. You shall not disclose such Confidential Information</div><div>&nbsp;* and shall use it only in accordance with the terms of the agreements</div><div>&nbsp;* you entered into with Founder.</div><div>&nbsp;*</div><div>&nbsp;*/</div><div>package com.founder.mysql;</div><div></div><div>import java.sql.Blob;</div><div>import java.sql.Connection;</div><div>import java.sql.SQLException;</div><div>import java.util.BitSet;</div><div></div><div>public class MySQLUtil {</div><div></div><div><span style="white-space:pre">	</span>public static Blob bitsetToBlob(BitSet myBitSet, Connection con) throws SQLException {</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;byte[] byteArray = toByteArray(myBitSet);</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;Blob blob = con.createBlob();</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;blob.setBytes(1, byteArray);</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;return blob;</div><div><span style="white-space:pre">	</span>}</div><div></div><div><span style="white-space:pre">	</span>private static byte[] toByteArray(BitSet bits) {</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;byte[] bytes = new byte[bits.length()/8+1];</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;for (int i=0; i&lt;bits.length(); i++) {</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp; &nbsp; &nbsp;if (bits.get(i)) {</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;bytes[bytes.length-i/8-1] |= 1&lt;&lt;(i%8);</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp; &nbsp; &nbsp;}</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;}</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;return bytes;</div><div><span style="white-space:pre">	</span>}</div><div><span style="white-space:pre">	</span></div><div><span style="white-space:pre">	</span>public static BitSet blobToBitSet(Blob blob) throws SQLException {</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;byte[] bytes = blob.getBytes(1, (int)blob.length());</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;BitSet bitSet = fromByteArray(bytes);</div><div></div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;return bitSet;</div><div><span style="white-space:pre">	</span>}</div><div></div><div><span style="white-space:pre">	</span>private static BitSet fromByteArray(byte[] bytes) {</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;BitSet bits = new BitSet(1024); &nbsp;</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;for (int i=0; i&lt;bytes.length*8; i++) {</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp; &nbsp; &nbsp;if ((bytes[bytes.length-i/8-1]&amp;(1&lt;&lt;(i%8))) &gt; 0) {</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;bits.set(i);</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp; &nbsp; &nbsp;}</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;}</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;return bits;</div><div><span style="white-space:pre">	</span>}</div><div>}</div></div><div><br />通过以上代码，我们就可以把fingerprint的值计算出来，然后存储到MySQL数据库中了。<br />进行相似度搜索的时候，值需要取出已经存储的值进行比对就可以了。<br /><div>float coefficient = Tanimoto.calculate(query, MySQLUtil.blobToBitSet(results.getBlob("bits")));<br />笔者测试了187586条结构数据，大概需要12秒左右，基本满足一般需求。</div></div><img src ="http://www.blogjava.net/rain1102/aggbug/353331.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2011-06-29 10:20 <a href="http://www.blogjava.net/rain1102/archive/2011/06/29/353331.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Improved SMILES Substructure Searching-提高子结构搜索速度</title><link>http://www.blogjava.net/rain1102/archive/2011/06/27/353100.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Mon, 27 Jun 2011 13:50:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2011/06/27/353100.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/353100.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2011/06/27/353100.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/353100.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/353100.html</trackback:ping><description><![CDATA[<div>daylight上面有一篇文章，讲解如何提高子结构搜索速度：<a href="http://www.daylight.com/meetings/emug00/Sayle/substruct.html">http://www.daylight.com/meetings/emug00/Sayle/substruct.html</a><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/rain1102/merlin.gif" width="860" height="212" /><br />其大概意思就是先通过Fingerprint进行筛选，这样可以快速的筛选掉一部分数据，对于复杂结构更有效；另外就是根据原子个数或者特殊原子个数进行比较，如果查询结构包含三个&#8220;N&#8221;原子，那么所要查询出的结构所含有&#8220;N&#8221;的个数必须大于等于3，这样对于包含一些特殊元素的效果是特别的好；还有就是根据分子的一些性质进行筛选过滤，比如芳香性等；最后再进行匹配，这样一来对于复杂结构以及含特殊元素的查询速度会提高很多。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最后文章中还给出测试数据，从中可以看出，速度一般提高了三倍左右：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span class="Apple-style-span"> 
<table border="2" cellspacing="1" cellpadding="1" align="center">
<tbody>
<tr>
<td>Name</td>
<td>SMILES</td>
<td>Correct</td>
<td>FP</td>
<td>Triage</td>
<td>Before</td>
<td>After</td>
<td>Latest</td></tr>
<tr>
<td>Propane</td>
<td>CCC</td>
<td>65337</td>
<td>66352</td>
<td>42411</td>
<td>42.59</td>
<td>17.99</td>
<td>14.34</td></tr>
<tr>
<td>Selenium</td>
<td>[Se]</td>
<td>246</td>
<td>995</td>
<td>225</td>
<td>0.80</td>
<td>0.83</td>
<td>0.52</td></tr>
<tr>
<td>Benzene</td>
<td>c1ccccc1</td>
<td>79426</td>
<td>79486</td>
<td>50893</td>
<td>72.69</td>
<td>27.56</td>
<td>20.29</td></tr>
<tr>
<td>Methane</td>
<td>C</td>
<td>118519</td>
<td>118524</td>
<td>118511</td>
<td>61.29</td>
<td>5.47</td>
<td>4.25</td></tr>
<tr>
<td>Amido</td>
<td>NC=O</td>
<td>25695</td>
<td>26975</td>
<td>14702</td>
<td>18.89</td>
<td>9.84</td>
<td>8.16</td></tr>
<tr>
<td>Methylbenzene</td>
<td>Cc1ccccc1</td>
<td>54529</td>
<td>56869</td>
<td>20490</td>
<td>54.76</td>
<td>35.58</td>
<td>25.90</td></tr>
<tr>
<td>Carboxy</td>
<td>OC=O</td>
<td>33009</td>
<td>34369</td>
<td>17809</td>
<td>23.86</td>
<td>12.48</td>
<td>10.24</td></tr>
<tr>
<td>Chlorine</td>
<td>Cl</td>
<td>19424</td>
<td>23318</td>
<td>19424</td>
<td>11.23</td>
<td>1.38</td>
<td>1.12</td></tr>
<tr>
<td>Cyclopropane</td>
<td>C1CC1</td>
<td>863</td>
<td>4358</td>
<td>484</td>
<td>8.24</td>
<td>7.78</td>
<td>5.02</td></tr>
<tr>
<td>Biphenyl</td>
<td>c1ccccc1c2ccccc2</td>
<td>2967</td>
<td>5142</td>
<td>146</td>
<td>21.94</td>
<td>21.65</td>
<td>11.44</td></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr>
<td>Dopamine</td>
<td>NCCc1ccc(O)c(O)c1</td>
<td>829</td>
<td>913</td>
<td>23</td>
<td>1.85</td>
<td>2.09</td>
<td>1.47</td></tr>
<tr>
<td>Sulfisoxazole</td>
<td></td>
<td>7</td>
<td>8</td>
<td>3</td>
<td>0.50</td>
<td>0.88</td>
<td>0.51</td></tr>
<tr>
<td>BetaCarotene</td>
<td></td>
<td>2</td>
<td>16</td>
<td>1</td>
<td>0.48</td>
<td>0.68</td>
<td>0.58</td></tr>
<tr>
<td>Nitrofurantoin</td>
<td></td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0.42</td>
<td>0.58</td>
<td>0.52</td></tr></tbody></table></span></span><br /></div><img src ="http://www.blogjava.net/rain1102/aggbug/353100.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2011-06-27 21:50 <a href="http://www.blogjava.net/rain1102/archive/2011/06/27/353100.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在SQLPlus中执行用Java编写的Oracle存储过程[转载]</title><link>http://www.blogjava.net/rain1102/archive/2011/06/22/352799.html</link><dc:creator>周锐</dc:creator><author>周锐</author><pubDate>Wed, 22 Jun 2011 04:38:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2011/06/22/352799.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/352799.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2011/06/22/352799.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/352799.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/352799.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="color: #6f6f6f; font-family: Arial; font-size: 12px; line-height: 18px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">首先在PL/Sql中分别执行：</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">create or replace and compile java source named TestJava1 as&nbsp;</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">public class TestJava1&nbsp;</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">{&nbsp;</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">&nbsp; public static void test()&nbsp;</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">&nbsp; {&nbsp;</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">&nbsp;&nbsp; System.out.println("Hello");&nbsp;</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">&nbsp; }&nbsp;</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">}</span></p><p style="line-height: normal; "><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">create or replace procedure testJava1 as language java name 'TestJava1.test()';</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">---------------------------------------------------------------------------------------------------------</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">在SQLPlus中</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">C:\Windows\System32&gt;sqlplus nc5520110105/nc5520110105@192.168.10.87</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">SQL*Plus: Release 11.2.0.1.0 Production on Fri Apr 1 14:06:02 2011</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">Copyright (c) 1982, 2010, Oracle.&nbsp; All rights reserved.</span></p><p style="line-height: normal; "><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">Connected to:</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">With the Partitioning, OLAP and Data Mining options</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">SQL&gt; set serveroutput on;</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">SQL&gt; show serveroutput;</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">serveroutput ON SIZE UNLIMITED FORMAT WORD_WRAPPED</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">SQL&gt; call dbms_java.set_output(2000);</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">Call completed.</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">SQL&gt;</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">SQL&gt; show serveroutput;</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">serveroutput ON SIZE UNLIMITED FORMAT WORD_WRAPPED</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">SQL&gt; exec testJava1();</span><br style="line-height: normal; " /><strong style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">Hello</span></strong></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">PL/SQL procedure successfully completed.</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">SQL&gt;</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">---------------------------------------------------------------------------------------------------------</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">再看一个例子：</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">在PL/Sql中执行：</span></p><span style="line-height: normal; font-size: 24px; "><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">--用Java编写Oracle存储过程。</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">create or replace and compile java source named test as</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">public class MyTest</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">{</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">&nbsp;&nbsp;&nbsp; public static void myProc(int a,int b,int[] ret){</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ret[0]=a+b;</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">&nbsp;&nbsp;&nbsp; }</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">&nbsp;&nbsp;&nbsp; public static int myFunc(int a,int b){</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return a+b;</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">&nbsp;&nbsp;&nbsp; }</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">}</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">--创建存储过程</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">create or replace procedure myProc(a in number, b in number, ret out number) as</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">language java name 'MyTest.myProc(int,int,int[])';</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">--创建函数</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">create or replace function myFunc(a in number, b in number) return number is</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">language java name 'MyTest.myFunc(int,int) return int';</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">然后在SqlPlus中测试存储过程&#8212;&#8212;</span></p><p style="line-height: normal; "></p></span><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">SQL&gt; set serveroutput on</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">SQL&gt; DECLARE a INTEGER;</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">&nbsp; 2&nbsp; BEGIN</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">&nbsp; 3&nbsp; myProc(1, 2, a);</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">&nbsp; 4&nbsp; DBMS_OUTPUT.PUT_LINE(a);</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">&nbsp; 5&nbsp; END;</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">&nbsp; 6&nbsp; /</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">3</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">PL/SQL procedure successfully completed.</span></p><p style="line-height: normal; ">&nbsp;</p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">SQL&gt; select myFunc(1,2) from dual;</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">MYFUNC(1,2)</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">-----------</span><br style="line-height: normal; " /><span style="line-height: normal; font-size: 12pt; color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3</span></p><p style="line-height: normal; "><span style="line-height: normal; font-size: 12pt; color: #000000; ">SQL&gt;</span></p></span><img src ="http://www.blogjava.net/rain1102/aggbug/352799.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">周锐</a> 2011-06-22 12:38 <a href="http://www.blogjava.net/rain1102/archive/2011/06/22/352799.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>