﻿<?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>C++博客-See Vault</title><link>http://www.cppblog.com/seevault/</link><description>面朝大海 春暖花开</description><language>zh-cn</language><lastBuildDate>Tue, 14 Apr 2026 23:06:14 GMT</lastBuildDate><pubDate>Tue, 14 Apr 2026 23:06:14 GMT</pubDate><ttl>60</ttl><item><title>Machine Learning Softwares [转]</title><link>http://www.cppblog.com/seevault/archive/2009/06/07/86963.html</link><dc:creator>Vault</dc:creator><author>Vault</author><pubDate>Sun, 07 Jun 2009 02:32:00 GMT</pubDate><guid>http://www.cppblog.com/seevault/archive/2009/06/07/86963.html</guid><wfw:comment>http://www.cppblog.com/seevault/comments/86963.html</wfw:comment><comments>http://www.cppblog.com/seevault/archive/2009/06/07/86963.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cppblog.com/seevault/comments/commentRss/86963.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/seevault/services/trackbacks/86963.html</trackback:ping><description><![CDATA[<p><span style=" font-weight:600;">C/C++ Programming</span> </p>
<p><a href="http://www.glenmccl.com/tutor.htm"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">C++ Tutoral</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.cplusplus.com/doc/tutorial/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">The cplusplus.com Tutorial</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.dinkumware.com/htm_cpl/string2.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">C++ String</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.gnacademy.org/text/cc/Tutorial/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Introduction to Object-Oriented Programming Using C++</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.delorie.com/djgpp/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">DJGPP</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.sgi.com/tech/stl/table_of_contents.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Standard Templale Library</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.edc.ncl.ac.uk/pages/comp/tutorial/make/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Makefile Tutorial</span></a></p>
<p><a name="software"></a><span style=" font-weight:600;">M</span><span style=" font-weight:600;">achine Learning Softwares</span> </p>
<p><a href="http://svmlight.joachims.org/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">SVM Light - Support Vector Machine in C Source Code</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.csie.ntu.edu.tw/%7Ecjlin/libsvm/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">LIBSVM - A C++ Library for SMO Support Vector Machines</span></a><span style=" font-weight:600;"> </span><span style=" font-weight:600; font-style:italic;">(Recommend)</span><span style=" font-weight:600;"><br /></span><a href="http://www.cs.ust.hk/%7Eivor/cvm.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">CVM Toolbox - A C++ Implementation of Core Vector Machines</span></a><span style=" font-weight:600;"> </span><span style=" font-weight:600; font-style:italic;">(Recommend for Massive Data-sets)</span><br /><a href="http://www.kyb.tuebingen.mpg.de/bs/people/fabee/universvm.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">UniverSVM - Transductive and sparse SVMs in C++</span></a><br /><a href="http://www.kyb.tuebingen.mpg.de/bs/people/chapelle/primal/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">SVM in the Primal - Direct Primal SVM Solver</span></a><br /><a href="http://projects.coin-or.org/SVM-QP"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">SVM-QP - Active Set QP solver for Large Scale SVM in Fortran 77</span></a><br /><a href="http://www.torch.ch/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Torch3 - Machine Learning Package in C++</span></a><br /><a href="http://leon.bottou.com/projects/lasvm/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">LASVM - Online SVM Implementation</span></a><span style=" font-weight:600;"><br /></span><a href="http://theoval.sys.uea.ac.uk/%7Egcc/svm/toolbox/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">MATLAB Support Vector Machine Toolbox</span></a><span style=" font-weight:600;"> </span><br /><a href="http://asi.insa-rouen.fr/%7Egloosli/simpleSVM.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">SimpleSVM Toolbox - Invariant SVM Implementation</span></a><span style=" font-weight:600;"><br /></span><a href="http://statlearn.free.fr/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Statlearn Toolbox</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.cs.waikato.ac.nz/%7Eml/weka/index.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Weka 3 - Machine Learning Software in Java</span></a><span style=" font-weight:600;"> </span><span style=" font-weight:600; font-style:italic;">(Including SVM package)</span><span style=" font-weight:600;"><br /></span><a href="http://www.cs.cmu.edu/%7Emccallum/bow/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Bow - A Toolkit for Text Retrieval, Classification and Clustering</span></a><span style=" font-weight:600;"><br /></span><a href="http://sedumi.mcmaster.ca/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">SeDuMi - A MATLAB Package for Semi-Definite Programming</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.math.nus.edu.sg/%7Emattohkc/sdpt3.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">SDPT3 - A MATLAB Package for Semi-Definite-Quadratic-Linear programming</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.stanford.edu/%7Eboyd/research.html#software"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Other Geometric Programming Softwares</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.mosek.com/index.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Mosek - An Optimization Software </span></a><span style=" font-weight:600;"><br /></span><a href="http://cmp.felk.cvut.cz/%7Exfrancv/stprtool/index.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Statistical Pattern Recognition Toolbox for Matlab</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.ncrg.aston.ac.uk/netlab/index.php"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Netlab - A Matlab Neural Network Software</span></a><br /><a href="http://www.rulequest.com/see5-comparison.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Decision Tree - C4.5/C5.0</span></a><br /><a href="http://hunch.net/%7Ejl/projects/cover_tree/cover_tree.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Cover Tree - Fast Nearest Neighbor Search</span></a><span style=" font-weight:600;"> <br /></span><a href="http://www.gnu.org/software/gsl/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">GSL - GNU Scientific Library</span></a><span style=" font-weight:600;"><br /></span><a href="http://lib-www.lanl.gov/numerical/bookcpdf.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Numerical Recipes in C</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.kernel-machines.org/software.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Other Software Packages for Kernel Machines</span></a><span style=" font-weight:600;"> </span></p>
<p><a name="journal"></a><span style=" font-weight:600;">M</span><span style=" font-weight:600;">achine Learning Journals</span> </p>
<p><a href="http://jmlr.csail.mit.edu/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Journal of Machine Learning Research</span></a><span style=" font-weight:600;"><br /></span><a href="http://library.ust.hk/cgi/db/springer.scr?0885-6125"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Machine Learning</span></a><br /><a href="http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=72"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">IEEE Transactions on Neural Networks</span></a><span style=" font-weight:600;"> <br /></span><a href="http://neco.mitpress.org/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Neural Computation</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.sciencedirect.com/science?_ob=JournalURL&_cdi=4856&_auth=y&_acct=C000047479&_version=1&_urlVersion=0&_userid=892051&md5=93b39b26892f042639d3b2310446bfa4"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Neural Networks</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.sciencedirect.com/science?_ob=JournalURL&_cdi=5660&_auth=y&_acct=C000056388&_version=1&_urlVersion=0&_userid=2149949&md5=780d4fbad2b9714bb01e597e5f1642dd"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Neurocomputing</span></a><br /><a href="http://proquest.umi.com/pqdlink?Ver=1&Exp=02-18-2010&REQ=3&Cert=0pCmV0SGvtyS%2bqVf%2bEGdAI5Oma0QeR7MOW0AcglkQVGufZ1tCoBWz84T6tYhHHci0YdCoXuZdYQ%2fLRi593iBJED%2fD4tOcjbkHufP0u%2fPUZKLAvtGwybtIg--&Pub=28388"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Journal of the American Statistical Association</span></a><br /><a href="http://www.imstat.org/aos/default.htm"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Annals of Statistics</span></a><br /><a href="http://springerlink.metapress.com/%283sddz3zsewyatt45wwp5reb3%29/app/home/journal.asp?referrer=parent&backto=linkingpublicationresults,1:100254,1"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Data Mining and Knowledge Discovery</span></a><span style=" font-weight:600;"> </span><br /><a href="http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=69"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">IEEE Transactions on Knowledge and Data Engineering</span></a><span style=" font-weight:600;"> </span><br /><a href="http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=34"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">IEEE Transactions on Pattern Analysis and Machine Intelligence</span></a><span style=" font-weight:600;"> </span><br /><a href="http://www.sciencedirect.com/science?_ob=JournalURL&_cdi=5664&_auth=y&_acct=C000056388&_version=1&_urlVersion=0&_userid=2149949&md5=ab5d7ab93c30072c5a88ed9bd4c5d5fc"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Pattern Recognition</span></a><span style=" font-weight:600;"> </span></p>
<p><a name="dataset"></a><span style=" font-weight:600;">M</span><span style=" font-weight:600;">achine Learning Benchmark Datasets</span> </p>
<p><a href="http://www.ics.uci.edu/%7Emlearn/MLSummary.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">UCI Machine Learning Repository </span></a><span style=" font-weight:600;"><br /></span><a href="http://kdd.ics.uci.edu/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">UCI Knowledge Discovery in Databases Archive</span></a><span style=" font-weight:600;"><br /></span><a href="http://www-2.cs.cmu.edu/%7ETextLearning/datasets.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Text Datasets</span></a><span style=" font-weight:600;"><br /></span><a href="http://research.microsoft.com/users/jplatt/smo.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Datasets for SMO</span></a><br /><a href="http://ida.first.fraunhofer.de/projects/bench/benchmarks.htm"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Datasets for Boosting</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.cs.cmu.edu/%7Ehustlf/r21578_vec_download.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Reuters-21578 </span></a><span style=" font-weight:600;"><br /></span><a href="http://www.cs.toronto.edu/%7Edelve/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">DELVE </span></a><br /><a href="http://www.liacc.up.pt/%7Eltorgo/Regression/DataSets.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Lufs Torgo - Regression Data Sets</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.research.compaq.com/SRC/eachmovie/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">EachMovie collaborative filtering data set</span></a><span style=" font-weight:600;"><br /></span><a href="http://vision.ai.uiuc.edu/mhyang/face-detection-survey.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Resources for Face Database </span></a><span style=" font-weight:600;"><br /></span><a href="http://sipi.usc.edu/services/database/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">The USC-SIPI Image Database</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.cs.nyu.edu/%7Eylclab/data/norb-v1.0/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">The NORB Dataset, V1.0</span></a></p>
<p><a name="course"></a><span style=" font-weight:600;">U</span><span style=" font-weight:600;">seful Courses and Links in Machine Learning</span> </p>
<p><a href="http://canberra05.mlss.cc/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Machine Learning Summer School 2005 at ANU</span></a><br /><a href="http://hunch.net/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Machinel Learning Theory Forum</span></a><br /><a href="http://www.machinelearning.org/icml.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">International Machinel Learning Society</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.cs.bris.ac.uk/Research/MachineLearning/Conferences/index.jsp"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Machinel Learning Conference Information</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.mit.edu/%7E9.520/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Statistical Learning Theory and Applications at MIT</span></a><br /><a href="http://www.cs.princeton.edu/courses/archive/spring03/cs511/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Foundations of Machine Learning at Princeton</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.stanford.edu/class/ee364/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Convex Optimization with Engineering Applications at Stanford</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.columbia.edu/%7Egi10/Papers/pubs.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Conic and Robust Optimization at Columbia </span></a><span style=" font-weight:600;"><br /></span><a href="http://www.cs.utk.edu/%7Edongarra/etemplates/book.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Templates for the Solution of Algebraic Eigenvalue Problems: a Practical Guide</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.netlib.org/linalg/html_templates/Templates.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods</span></a><span style=" font-weight:600;"><br /></span><a href="http://valis.cs.uiuc.edu/%7Esariel/teach/2002/a/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Randomized Algorithms</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.ee.ic.ac.uk/hp/staff/dmb/matrix/intro.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Matrix Reference Manual</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.orie.cornell.edu/%7Emiketodd/or631/or631.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Mathematical Programming at Cornell</span></a><span style=" font-weight:600;"><br /></span><a href="http://turing.une.edu.au/%7Estat354/notes/notes.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Distribution Theory and Statistical Inference at UNE</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.ds.unifi.it/VL/VL_EN/index.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Virtual Laboratories in Probability and Statistics</span></a><span style=" font-weight:600;"><br /></span><a href="http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/mitchell/ftp/mlbook.html"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Machine Learning, Tom Mitchell, McGraw Hill</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.kernel-machines.org/blackboard_bak/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Message Board on Kernel Machines</span></a><span style=" font-weight:600;"><br /></span><a href="http://www.learning-with-kernels.org/"><span style=" font-weight:600; text-decoration: underline; color:#9cd4ff;">Learning with Kernels Support Vector Machines, Regularization, Optimization and Beyond</span></a></p><img src ="http://www.cppblog.com/seevault/aggbug/86963.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/seevault/" target="_blank">Vault</a> 2009-06-07 10:32 <a href="http://www.cppblog.com/seevault/archive/2009/06/07/86963.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tinyMCE使用/集成/设置/详解</title><link>http://www.cppblog.com/seevault/archive/2009/06/05/86841.html</link><dc:creator>Vault</dc:creator><author>Vault</author><pubDate>Fri, 05 Jun 2009 04:41:00 GMT</pubDate><guid>http://www.cppblog.com/seevault/archive/2009/06/05/86841.html</guid><wfw:comment>http://www.cppblog.com/seevault/comments/86841.html</wfw:comment><comments>http://www.cppblog.com/seevault/archive/2009/06/05/86841.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/seevault/comments/commentRss/86841.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/seevault/services/trackbacks/86841.html</trackback:ping><description><![CDATA[<p>&nbsp; <p><strong>初始化</strong>  <p>在初始化TinyMCE的时候，需要把以下代码加入到页面的HEAD标签中。按以下例子中的设置，所有的TEXTAREA文本域在页面加载时将被转换成编辑器。另外还有其他模块，我们将在后面详细讲述。  <p>&lt;!-- tinyMCE --&gt;  <p>&lt;script language="javascript" type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"&gt;&lt;/script&gt;  <p>&lt;script language="javascript" type="text/javascript"&gt;  <p>tinyMCE.init({  <p>mode : "textareas"  <p>});  <p>&lt;/script&gt;  <p>&lt;!-- /tinyMCE --&gt;  <p>注意以上红色部分是tiny_mce.js脚本文件的位置，该文件中包含了编辑器所需要的全部代码，主题及语言包将在初始化时被加载。  <p>蓝色部分是初始化调用，它生成TinyMCE的全局实例，其中的设置及名称－值属性将在以后描述。  <p>设置  <p>以名称－值属性方式传递给tinyMCE的init方法的设置控制着程序的全局行为。所有的键及可能的键值如下表所示。注意，用[]括起来的名称是可选的，不是必须的设置。  <p>常规设置  <p>mode  <p>Mode可以是以下几个值之一：  <p>textareas - 页面加载时把所有TEXTAREA组件转换成编辑器.  <p>specific_textareas - 将所有"mce_editable"属性值为true的TEXTAREA转换成编辑器.  <p>exact - 只转换在"elements"设置中指定的确切组件.  <p><strong>[theme]</strong>  <p>指定要使用的主题名称，主题将被放在TinyMCE的themes目录下，默认为default。TinyMCE自带三个内置的主题，它们是simple，default和advanced。  <p>如果你想创建自己的主题，请仔细阅读文档的 <a href="http://milo.core-systems.de/%7Estepan/tiny/tinymce/docs/zh_cn/themes.htm">主题</a> 部分。  <p><strong>[plugins]</strong>  <p>此选项是一系列以逗号分隔的主题插件列表（例如，可以只用来扩展图像对话框）。这些插件覆盖了主题模板中定义的功能。插件逻辑应该包含在一个叫"editor_plugin.js"的文件中，它是插件目录中唯一被包含进来的文件。  <p>例如："my_image_dialog,my_link_dialog".  <p>如果你想创建自己的插件，请仔细阅读文档的 <a href="http://milo.core-systems.de/%7Estepan/tiny/tinymce/docs/zh_cn/themes.htm">主题</a> 部分。  <p><strong>[language]</strong>  <p>TinyMCE中使用的语言包，这应该是像se,uk,us等诸如此类的FN代码，它被用来从"langs"目录中获取语言包，该设置的默认值为"uk".  <p>中文用户建议您使用"zh-CN"  <p><strong>[elements]</strong>  <p>以逗号分隔的用来转换成编辑器的组件列表，该选项仅在"mode"选项被设置成"exact"时使用。该列表中的元素可以是任何有id或name属性的HTML组件。  <p><strong>[ask]</strong>  <p>当"mode"被设置成"textareas"或"specific_textareas"的时候，该选项被应用，询问用户输入框是否将被转换成编辑器。  <p>如果你想使用这个选项，将它设置为true.  <p><strong>[textarea_trigger]</strong>  <p>textarea（文本域）触发器的属性，默认值为"mce_editable"。  <p>该选项仅在"mode"被设置为"specific_textareas"时使用。  <p><strong>[valid_elements]</strong>  <p>以逗号分隔开的组件转换部分的列表。  <p>例如： a[href|target=_blank],strong/b,div[align],br.  <p>以上例子告诉TinyMCE移除所有除了"a, strong, div"和"br"的组件，将元素b转换成strong，默认target设为"_blank"并保持href、target、align属性。在匹配组件及属性的名称时可以使用像*,+,?这样的通配符。  <p>字符：  <p>,  <p>各组件定义之间的分隔符。  <p>/  <p>两个同义组件之间的分隔符。第一个组件是会被用来输出的那个（即第二个组件被第一个替换）。  <p>|  <p>各属性定义之间的分隔符。  <p>[  <p>定义某组件的属性列表的开始符号。  <p>]  <p>定义某组件的属性列表的结束符号。  <p>=  <p>将属性的默认值设为特定值。例如："target=_blank"  <p>:  <p>将属性的值强行设为特定值。例如："border:0"  <p>&lt;  <p>校验某个属性的值。例如："target&lt;_blank?_self"  <p>?  <p>属性校验值之间的分隔符，见上。  <p>特殊变量：  <p>{$uid} - 产生一个唯一ID号。 例如："p[id:{$uid}]".  <p>此选项的默认值是以下模式：  <p>"a[href|target],strong/b[class],em/i[class],strike[class],u[class],p[class|align],ol,ul,li,br,  <p>img[class|src|border=0|alt|hspace|vspace|width|height|align],sub,sup,blockquote[dir|style],  <p>table[border=0|cellspacing|cellpadding|width|height|class|align],tr[rowspan],  <p>td[colspan|rowspan|width|height],div[class|align],span[class|align],pre[class|align],  <p>address[class|align],h1[class|align],h2[class|align],h3[class|align],  <p>h4[class|align],h5[class|align],h6[class|align],hr".  <p>要包含所有组件及属性，请使用 *[*] ，这在使用invalid_elements选项时特别有用。  <p><strong>[extended_valid_elements]</strong>  <p>向"valid_elements"列表末尾添加可用组件。此选项在你仅仅想往默认列表中增添部分组件时相当有用。  <p>格式与"valid_elements"一致。  <p><strong>[invalid_elements]</strong>  <p>输出时需要排除在外的组件名称列表，以逗号分隔开。  <p><strong>[trim_span_elements]</strong>  <p>True/False选项。如果设置为true，不需要的组件将被移除。默认值即为true。  <p><strong>[verify_css_classes]</strong>  <p>True/False选项。如果设置为true，将会校验CSS的class属性。默认值即为true。  <p><strong>[verify_html]</strong>  <p>True/False选项。代表着HTML内容是否需要校验。默认值为true。  <p><strong>[urlconvertor_callback]</strong>  <p>当 清理进程处理URL的时候调用的函数名。此函数必须遵从以下的格式：func(url, node, on_save) ，返回转换后的URL。此设置专为集成目的而设。参数url代表要转换的地址，node代表包含URL的那个节点，on_save是一个布尔值（在用户提 交表单时为真）。  <p><strong>[preformatted]</strong>  <p>True/False选项。如果设置为true，编辑器将把制表符（TAB）转换成缩进，除此外保持其他whitespace（空白字符、换行等）字符，就如同HTML标签中的PRE的效果。默认值为false。  <p><strong>[insertlink_callback]</strong>  <p>当 执行"insertlink"命令时调用的函数名。此函数获取选定链接的地址和目标，返回一个以"href", "target"和 "title"为collection名称的数组。当使用新窗口时，为了兼容Mozilla，会在window.opener（弹出窗口的母窗口，译者 注）上调用tinyMCE.insertLink。  <p><strong>[insertimage_callback]</strong>  <p>当执行"insertimage"命令时调用的函数名。此函数获取选定图像的url并返回一个以src和alt为collection名称的数组。当使用新窗口时，为了兼容Mozilla，会在window.opener上调用tinyMCE.insertImage。  <p>函数格式：insertimage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action).  <p><strong>[setupcontent_callback]</strong>  <p>当编辑器初始化时调用的函数名。函数格式：setupContentCallback(editor_id, node)，其中editor_id是编辑器的id，node是编辑器所在的body组件节点。  <p><strong>[save_callback]</strong>  <p>当执行triggerSave（触发保存）命令被调用时调用的函数名。函数格式：save(id, content, node)，如果有特定返回值，其值将会被加到HTML表单组件上。所以可以通过此函数来自定义用户转换逻辑。  <p><strong>[docs_language]</strong>  <p>TinyMCE文档中使用的语言，这应该是像se,uk,us等诸如此类的FN代码，它被用来从"&lt;theme&gt;/docs/&lt;lang&gt;"目录中获取文档。 该选项的默认值跟language选项一致。  <p><strong>[width]</strong>  <p>编辑器的宽度，它默认的宽度是原先被替换的组件宽度。  <p><strong>[height]</strong>  <p>编辑器的高度，它默认的高度是原先被替换的组件高度。  <p><strong>[content_css]</strong>  <p>编辑窗口中要使用的CSS文件，其路径应该跟页面相关。  <p><strong>[popups_css]</strong>  <p>像插入链接和图片时的弹出窗口中使用的CSS文件，其路径应该跟页面相关。  <p><strong>[editor_css]</strong>  <p>编辑器使用的CSS文件，其路径应该跟页面相关。  <p><strong>[encoding]</strong>  <p>编辑器的输出编码，此选项目前只能为"html"或者空。如果设置为"html"，编辑器的输出将经过HTML编码处理。  <p>例如：&lt;将会变成&amp;lt;，依此类推。默认值是空。  <p><strong>[debug]</strong>  <p>True/False选项。如果设置成true，像css文件路径等调试信息将会被显示。  <p><strong>[visual]</strong>  <p>True/False选项。如果设置成true，当边框设置成0的时候，为达到更好的视觉效果在编辑器中表格会有虚线出现。  <p>默认值为true。  <p><strong>[visual_table_style]</strong>  <p>用户可自定义表格的样式，默认值为："border: 1px dashed #BBBBBB"。  <p><strong>[add_form_submit_trigger]</strong>  <p>True/False选项。如果设置成true，将强制进行所有表单的"onsubmit"事件处理并引发保存。此选项默认值为true。  <p><strong>[add_unload_trigger]</strong>  <p>True/False选项。如果设置成true，在"onunload"事件发生时，当前窗口会引发一个triggerSave调用。此triggerSave调用不会做任何清理工作，因为它是用来处理 前进/后退 按钮的。此选项默认值为true。  <p><strong>[force_br_newlines]</strong>  <p>True/False选项。此选项强制编辑器将段落符号(P)替换成换行符(BR)。此选项默认值为false。（实验阶段）  <p><strong>[force_p_newlines]</strong>  <p>True/False选项。如果打开此选项，在按下回车键（Enter）时Mozilla/Firefox浏览器会生成段落符号(P)，在按下Shift+Enter时会生成换行符(BR)。此选项默认为true。  <p><strong>[relative_urls]</strong>  <p>True/False选项。如果设置成true，绝对路径将被转换成相对路径。默认值为true。  <p><strong>[remove_script_host]</strong>  <p>True/False选项。在设置成true的情况下，如果URL中的主机名、端口号跟编辑器当前所在一致，它们会被移除。  <p>例如：编辑器所在站点为 <a href="http://www.somesite.com">http://www.somesite.com</a> ，那么以下链接 <a href="http://www.somesite.com/somedir/somepage.html">http://www.somesite.com/somedir/somepage.html</a> 将会被转换成 /somedir/somepage.html 。  <p>如果relative_urls被设置成false，此选项默认为true。  <p><strong>[focus_alert]</strong>  <p>True/False选项。如果设置成true，编辑器在失去焦点的时候就会出现一个烦人的警告框。默认值为true。  <p><strong>[document_base_url]</strong>  <p>在将绝对路径转换成相对路径的时候会用到此文档的URL。这个选项指定了编辑器当前的默认文档。  <p>注意如果此选项指定到一个域名，请添加协议前缀，并以斜杠结尾。例如：<a href="http://www.somehost.com/mydir/">http://www.somehost.com/mydir/</a>  <p><strong>[custom_undo_redo]</strong>  <p>True/False选项。此选项可以使 撤消/重做 功能更加完善。默认值为true。  <p><strong>[custom_undo_redo_levels]</strong>  <p>自定义最多可撤消操作的次数，默认是无限制。  <p><strong>[custom_undo_redo_keyboard_shortcuts]</strong>  <p>如果使用，编辑器可以使用Ctrl+Z和Ctrl+Y快捷键来实现撤消和重做。默认允许。  <p><strong>[fix_content_duplication]</strong>  <p>True/False选项。此选项修正了MSIE中一个内容重复的bug。默认启用，但是为了兼容性也可以禁用(false)。  <p><strong>[directionality]</strong>  <p>此选项可以设置像阿拉伯语等语言的文字方向。可能的值为：ltr, rtl。默认值: ltr（从左到右）。  <p><strong>[auto_cleanup_word]</strong>  <p>如果启用，从MS office/Word粘贴的HTML将会自动被清理。此选项默认值为false。  <p>注意：此操作当前仅支持MSIE。  <p><strong>[cleanup_on_startup]</strong>  <p>如果启用，在编辑器初始化时文本域及组件将会被清理。默认值为false。  <p><strong>[inline_styles]</strong>  <p>如果启用，像width,height,vspace,hspace和align等属性将会被风格属性替代。默认值为false。  <p>在使用此选项时记得要把风格属性应用在正确的组件上。  <p><strong>[convert_newlines_to_brs]</strong>  <p>如果启用，所有的\n(新行)将会在编辑器启动时被转换成&lt;br /&gt;组件。此选项默认值为false。  <p><strong>[auto_reset_designmode]</strong>  <p>因为在调用style.display的none/block方法来显示/隐藏某个TinyMCE编辑器的时候有bug，设计模式需要被重置。此选项一旦启用，当编辑器聚焦时，将自动重置。默认值为false。  <p><strong>[entities]</strong>  <p>一张以字符代码来查找名称的表，该表中元素是以逗号分隔开的实体列表。该列表以奇数项、偶数项区分，其中奇数项是被用来转换的字符代码，偶数项是代表那个字符代码的实体名称。例如："8205,zwj,8206,lrm,8207,rlm,173,shy"。  <p><strong>[cleanup_callback]</strong>  <p>自定义清理函数。此选项能让用户在默认的清理基础上有所扩展。此函数调用跟默认的调用是分开的，它并不替换默认的清理函数，而仅仅是扩展。点击 <a href="http://milo.core-systems.de/%7Estepan/tiny/tinymce/docs/zh_cn/themes.htm#cleanup">插件清理</a> 查看更多细节。  <p>主题的高级特定设置  <p><strong>[theme_advanced_toolbar_location]</strong>  <p>此选项用来改变工具栏的默认位置。可能的值为："top"和"bottom"。默认值是"bottom"。  <p><strong>[theme_advanced_toolbar_align]</strong>  <p>此选项用来设置工具栏的对齐方式是left, center还是right。默认值是center。  <p><strong>[theme_advanced_styles]</strong>  <p>此选项可以用来增加风格下拉框中的CSS类和名称。格式如下："&lt;title&gt;=&lt;class&gt;;.."。  <p>如果没有指定此选项，主内容部分的CSS类将会被自动导入。  <p>例如："Header 1=header1;Header 2=header2;Header 3=header3"  <p><strong>[theme_advanced_buttons1]</strong>  <p>工具栏上第一行要包含的按钮列表，以逗号分隔开。例如："bold,italic,underline"。  <p>允许的按钮名称如下：  <p>bold, italic, underline, strikethrough, justifyleft, justifycenter, justifyright, justifyfull, styleselect, bullist, numlist, outdent, indent, undo,redo, link, unlink, image, cleanup, help, code, table, row_before, row_after, delete_row, separator, rowseparator, col_before, col_after, delete_col, hr, removeformat, sub, sup, formatselect, fontselect, fontsizeselect, forecolor,charmap,visualaid,spacer,cut,copy,paste  <p><strong>[theme_advanced_buttons2]</strong>  <p>同上，差别在于指定的是工具栏第二行。  <p><strong>[theme_advanced_buttons3]</strong>  <p>同上，差别在于指定的是工具栏第三行。  <p><strong>[theme_advanced_buttons&lt;N&gt;_add]</strong>  <p>向工具栏上特定的第N行中增加额外的控制/按钮。例如：theme_advaned_buttons3_add : "iespell".  <p><strong>[theme_advanced_buttons&lt;N&gt;_add_before]</strong>  <p>向工具栏上特定的第N行的默认按钮前面增加额外的控制/按钮。例如：theme_advaned_buttons3_add_before : "iespell"。  <p><strong>[theme_advanced_disable]</strong>  <p>要禁用的按钮/组件的列表，以逗号分隔。例如："formatselect".  <p><strong>[theme_advanced_source_editor_width]</strong>  <p>源文件编辑器窗口的宽度。  <p><strong>[theme_advanced_source_editor_height]</strong>  <p>源文件编辑器窗口的高度。  <p><strong>[theme_advanced_path_location]</strong>  <p>组件路径列表的位置，可能的值为："top"或"bottom"。默认值为："none"  <p><strong>[theme_advanced_blockformats]</strong>  <p>formatselect列表要屏蔽的格式列表，以逗号分隔开。默认值：p,address,pre,h1,h2,h3,h4,h5,h6。  <p>以下是一个较为复杂的初始化例子：  <p>&lt;!-- tinyMCE --&gt;  <p>&lt;script language="javascript" type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"&gt;&lt;/script</p><img src ="http://www.cppblog.com/seevault/aggbug/86841.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/seevault/" target="_blank">Vault</a> 2009-06-05 12:41 <a href="http://www.cppblog.com/seevault/archive/2009/06/05/86841.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>void*型指针的小小trick</title><link>http://www.cppblog.com/seevault/archive/2009/05/31/86245.html</link><dc:creator>Vault</dc:creator><author>Vault</author><pubDate>Sun, 31 May 2009 04:10:00 GMT</pubDate><guid>http://www.cppblog.com/seevault/archive/2009/05/31/86245.html</guid><wfw:comment>http://www.cppblog.com/seevault/comments/86245.html</wfw:comment><comments>http://www.cppblog.com/seevault/archive/2009/05/31/86245.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/seevault/comments/commentRss/86245.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/seevault/services/trackbacks/86245.html</trackback:ping><description><![CDATA[<p>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝</p>
<p>指针的概念还是有很多tricks的，这里的p如果声明为<span style=" font-weight:600;">int＊</span>型的指针，则</p>
<p>1） p++                就是p的地址加上一个int型的地址增量，而</p>
<p>2） p＋sizeof（int）则是p的地址加上sizeof(int)个int型大小的地址增量；</p>
<p>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝</p>
<p>#include &lt;stdio.h&gt;</p>
<p>typedef struct test</p>
<p>{</p>
<p>   int first;</p>
<p>    int second;</p>
<p>}mytype;</p>
<p> int main()</p>
<p>{</p>
<p>   mytype tt ;</p>
<p>   int *p;</p>
<p>   tt.first=100;</p>
<p>    tt.second=20;</p>
<p>    </p>
<p>     for(p=&amp;tt;p&lt; &amp;tt + 1 ;p++ )</p>
<p>         printf("%d\n",*p);</p>
<p>}</p>
<p>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝</p>
<p>如果把p声明为<span style=" font-weight:600;">void*</span>型的指针，则 p+sizeof(int) 就代表了上面多提到的第一种情况</p>
<p>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝</p>
<p>#include &lt;stdio.h&gt;</p>
<p>typedef struct test</p>
<p>{</p>
<p>   int first;</p>
<p>    int second;</p>
<p>  int third;</p>
<p>}mytype;</p>
<p> int main()</p>
<p>{</p>
<p>   mytype tt ;</p>
<p>   void *p;</p>
<p>   tt.first=100;</p>
<p>    tt.second=20;</p>
<p>    tt.third = 99;</p>
<p>     for(p=&amp;tt;p&lt; &amp;tt + 1 ;p += sizeof(int) )</p>
<p>         printf("%d\n",*(int*)p);</p>
<p>}</p><img src ="http://www.cppblog.com/seevault/aggbug/86245.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/seevault/" target="_blank">Vault</a> 2009-05-31 12:10 <a href="http://www.cppblog.com/seevault/archive/2009/05/31/86245.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++的一些免费库[转]</title><link>http://www.cppblog.com/seevault/archive/2009/05/25/85681.html</link><dc:creator>Vault</dc:creator><author>Vault</author><pubDate>Mon, 25 May 2009 03:04:00 GMT</pubDate><guid>http://www.cppblog.com/seevault/archive/2009/05/25/85681.html</guid><wfw:comment>http://www.cppblog.com/seevault/comments/85681.html</wfw:comment><comments>http://www.cppblog.com/seevault/archive/2009/05/25/85681.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/seevault/comments/commentRss/85681.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/seevault/services/trackbacks/85681.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: C++的一些免费库Linear Algebra MTL, the Matrix Template Library. Dense and sparse matrices and vectors; banded, symmetric, triangular matrices; basic algorithms. C++.            矩阵模版库，紧密和稀疏矩阵、矢量，带状，对称、三角矩...&nbsp;&nbsp;<a href='http://www.cppblog.com/seevault/archive/2009/05/25/85681.html'>阅读全文</a><img src ="http://www.cppblog.com/seevault/aggbug/85681.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/seevault/" target="_blank">Vault</a> 2009-05-25 11:04 <a href="http://www.cppblog.com/seevault/archive/2009/05/25/85681.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>计算机学科 会议杂志 分级</title><link>http://www.cppblog.com/seevault/archive/2009/05/25/85680.html</link><dc:creator>Vault</dc:creator><author>Vault</author><pubDate>Mon, 25 May 2009 02:46:00 GMT</pubDate><guid>http://www.cppblog.com/seevault/archive/2009/05/25/85680.html</guid><wfw:comment>http://www.cppblog.com/seevault/comments/85680.html</wfw:comment><comments>http://www.cppblog.com/seevault/archive/2009/05/25/85680.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/seevault/comments/commentRss/85680.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/seevault/services/trackbacks/85680.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Computer Science Conference RankingsDISCLAIMER:The ranking of conferences are taken mostly from an informal external source. The detailed procedure behind the ranking is unknown to the author. ...&nbsp;&nbsp;<a href='http://www.cppblog.com/seevault/archive/2009/05/25/85680.html'>阅读全文</a><img src ="http://www.cppblog.com/seevault/aggbug/85680.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/seevault/" target="_blank">Vault</a> 2009-05-25 10:46 <a href="http://www.cppblog.com/seevault/archive/2009/05/25/85680.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IDS市场</title><link>http://www.cppblog.com/seevault/archive/2009/05/24/85597.html</link><dc:creator>Vault</dc:creator><author>Vault</author><pubDate>Sun, 24 May 2009 07:02:00 GMT</pubDate><guid>http://www.cppblog.com/seevault/archive/2009/05/24/85597.html</guid><wfw:comment>http://www.cppblog.com/seevault/comments/85597.html</wfw:comment><comments>http://www.cppblog.com/seevault/archive/2009/05/24/85597.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/seevault/comments/commentRss/85597.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/seevault/services/trackbacks/85597.html</trackback:ping><description><![CDATA[<p>      Intrusion detection systems have been the fastest growing securityproduct in terms of sales in recent years (Alpert 1999). Accordingto International Data Corporation (IDC), the market for IDSs hasgrown from about $20 million in 1997 to $100 million in 1999 andis projected to reach $528 million by 2005 (Messmer 1999). AxentTechnologies and Internet Security Systems are the market leadersin the IDS market. The other major players are Cisco, ComputerAssociates, IBM, and Network Associates.</p>
<p>      AxentTechnologies 和 Internet Security Systems 在IDS市场处理领先地位，其他在主要的生产商家还有Cisco, ComputerAssociates, IBM, and Network Associates.</p><img src ="http://www.cppblog.com/seevault/aggbug/85597.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/seevault/" target="_blank">Vault</a> 2009-05-24 15:02 <a href="http://www.cppblog.com/seevault/archive/2009/05/24/85597.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>入侵检测系统的发展方向</title><link>http://www.cppblog.com/seevault/archive/2009/05/24/85578.html</link><dc:creator>Vault</dc:creator><author>Vault</author><pubDate>Sun, 24 May 2009 03:02:00 GMT</pubDate><guid>http://www.cppblog.com/seevault/archive/2009/05/24/85578.html</guid><wfw:comment>http://www.cppblog.com/seevault/comments/85578.html</wfw:comment><comments>http://www.cppblog.com/seevault/archive/2009/05/24/85578.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/seevault/comments/commentRss/85578.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/seevault/services/trackbacks/85578.html</trackback:ping><description><![CDATA[<p>入侵检测系统的发展方向</p>
<p>2009-05-18 10:38</p>
<p></p>
<p>      入侵检测系统作为信息安全领域的一个组成部分，有着自己的独特的地方，虽然一直以来关于入侵检测的存在就有着仁者见仁的百家观点，但是IDS所面临的具体环境起码可以作为机器学习、人工只能的试验场，从中考虑计算机只能方法的应用也是个比较有意思的问题！</p>
<p></p>
<p>1 分布式入侵检测与通用入侵检测架构</p>
<p>       传统的IDS 一般局限于单一的主机或网络架构，对异构系统及大规模的网络的监测明显不足。同时不同的IDS 系统之间不能协同工作，为解决这一问题，需要分布式入侵检测技术与通用入侵检测架构；</p>
<p></p>
<p>2 应用层入侵检测</p>
<p>      许多入侵的语义只有在应用层才能理解，而目前的IDS 仅能检测如WEB 之类的通用协议，而不能处理如Lotus Notes、数据库系统等其他的应用系统。许多基于客户、服务器结构与中间件技术及对象技术的大型应用，需要应用层的入侵检测保护；</p>
<p></p>
<p>3 智能化的入侵检测</p>
<p>      入侵方法越来越多样化与综合化，已经有模糊技术、神经网络与遗传算法在入侵检测领域的应用研究，这些方法常用于入侵特征的辨识与泛化，需对智能化的IDS 做进一步的研究以解决其自学习与自适应能力，来完善系统模型，提高检测的效率和准确性。现阶段，诸如机器学习、人工免疫的方法在入侵检测中应用研究也是比较广泛的！</p>
<p></p>
<p>4 入侵检测的评测方法</p>
<p>      用户需对众多的IDS 系统进行评价，设计通用的入侵检测测试与评估方法与平台，实现对多种IDS 系统的检测已成为当前IDS 的另一重要研究与发展领域。IDS作为一个实用的系统，从机器学习的观点看来是一个无监督的学习系统，那么评测方法就有点“与众不同”了。－：）</p>
<p></p>
<p>5 综合性检测系统</p>
<p>      与其它的网络安全技术(包括硬件技术) 相结合，形成综合的检测系统，解决传统方法检测对象单一、检测攻击形式简单的问题和一些难以解决的问题。作为面向实际应用的话，就不能拿实验室的理论说话，要讲究真的实际效果，那么要考虑的方方面面就比较多了；</p>
<p></p>
<p>6 宽带高速网络的实时入侵检测技术</p>
<p>      大量高速网络技术近年来不断出现，在此背景下的各种宽带接入手段层出不穷，如何实现高速网络环境的入侵检测已成为一个现实问题。这需要考虑两个方面，首先，入侵检测系统的软件结构和算法需要重新设计，以适应高速网络的新环境，重点是提高运行速度和效率。另一方面是，随着高速网络技术的不断进步和成熟，新的高速网络协议的设计也成为未来的一个发展趋势，现有的入侵检测系统如何适应和利用未来新的网络协议结构是一个全新的问题；</p>
<p></p>
<p>7  无限接入环境下的入侵检测技术</p>
<p>       Ad HOC网络以后轻型组网的主流，在无形网络环境下如何实现对入侵行为的检测，还是需要考虑一些不同的问题。</p>
<p></p>
<p>1、2其实已经是传统的IDS必须考虑的问题了；3、4将智能方法应用到IDS中去，这其实也是通行的做法，只是人们观点各异，可能不这么认为罢了；5、6、7就是在不同的网络介质、环境下产生的新的问题，值得考虑！</p>
<p></p><img src ="http://www.cppblog.com/seevault/aggbug/85578.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/seevault/" target="_blank">Vault</a> 2009-05-24 11:02 <a href="http://www.cppblog.com/seevault/archive/2009/05/24/85578.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Qt 准备Declarative UI</title><link>http://www.cppblog.com/seevault/archive/2009/05/17/83179.html</link><dc:creator>Vault</dc:creator><author>Vault</author><pubDate>Sun, 17 May 2009 05:49:00 GMT</pubDate><guid>http://www.cppblog.com/seevault/archive/2009/05/17/83179.html</guid><wfw:comment>http://www.cppblog.com/seevault/comments/83179.html</wfw:comment><comments>http://www.cppblog.com/seevault/archive/2009/05/17/83179.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/seevault/comments/commentRss/83179.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/seevault/services/trackbacks/83179.html</trackback:ping><description><![CDATA[<p>We’ve hinted a bit about the Declarative UI part of Kinetic. Well, now it’s time to take a look.</p>
<p>First, here is a video of QML in action: </p>
<p>and some more here:</p>
<ul type="circle" style="-qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.youtube.com/watch?v=WQkXdzMyGns"><span style=" text-decoration: underline; color:#9cd4ff;">calculator demo</span></a></li>
<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.youtube.com/watch?v=Fr5FuGhTqm8"><span style=" text-decoration: underline; color:#9cd4ff;">dial example</span></a></li>
<li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.youtube.com/watch?v=2x_bS4M3jhY"><span style=" text-decoration: underline; color:#9cd4ff;">listview recipes example</span></a></li></ul>
<p>To run the examples for real, either download <a href="ftp://ftp.trolltech.com/declarativeui/qml-examples.zip"><span style=" text-decoration: underline; color:#9cd4ff;">this Windows binary</span></a>, or grab the full source code from <a href="http://qt.gitorious.org/qt/kinetic/trees/kinetic-declarativeui"><span style=" text-decoration: underline; color:#9cd4ff;">the public Gitorious repository</span></a>.</p>
<p>Declarative UI is a way of making fluid user interfaces by describing them in terms of simple elements (Text, Image, Rect,and other QObjects) that are built up into components. The reason it is “declarative” is that rather than the changes in the UI being expressed as imperative code (”set this, set that, do this, do that, …”), they are instead expressed as sets of QObject property expressions (”this width is always half that width”), grouped into states (”when enabled, the properties are …, when disabled, they are …”).  The language that enables this is named QML.  QML is simple yet powerful. Most of a user interface is described by a simple tree structure of property bindings:</p>
<pre style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Rect {</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">    width: 200</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">    height: 200</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">    color: "white"</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">    Text {</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">        text: "Hello World"</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">        anchors.centeredIn: parent</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">    }</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">}</span></pre>
<p>The power is that those property values can be any JavaScript expression - and because it’s a <span style=" font-style:italic;">binding</span> rather than just an assignment, the expressions are re-evaluated whenever their dependencies change. This concept has been in Qt forever - if you go back to the <a href="http://doc.trolltech.com/2.3/t5.html"><span style=" text-decoration: underline; color:#9cd4ff;">old cannon tutorial</span></a> where a QLCDNumber’s display was connected to a QSlider’s value, that’s a binding: the number displayed changes automatically when the slider value changes.</p>
<p>The fluid part comes from animated transitions between the sets of properties. Combined with Qt’s signals and slots, and a little bit of script for the tricky parts, the result is a very powerful technology for making very cool looking UIs that are <span style=" font-style:italic;">enjoyable</span> to use.  There is also a set of building blocks useful for creating a fluid UI, including drawing (e.g. Rect, Image), behavior (e.g. MouseRegion, Flickable) and layout (e.g. ListView).  These sorts of fluid user interfaces work well for small simple user interfaces such as those on a phone, or gadget-style desktop applications like media players or VoIP clients. We’ve put a couple of demos like this in qt/demos/declarative/ directory of the source.</p>
<p>For larger applications, especially on the desktop, fancy effects are currently mainly at the fringes - the bulk of any large application will use traditional widgets (there’s a lot of value in desktop consistency!), with just a little “fluidness” at the edges to give the apps a modern feel.</p>
<p>On the web side of things, Declarative UI is completely network transparent - if so configured, Qt will happily load a complete declarative user interface incrementally via HTTP - images and all. And since Declarative UI can use Qt’s XQuery support to process other remote data, there are quite a few applications you can write <span style=" font-style:italic;">completely</span> in script - no C++ at all.</p>
<p>Qt Declarative integrates perfectly with existing Qt C++ applications.  Qt Declarative components can expose an API with signals, slots, and properties.  For example, the QML below defines a simple button with an API consisting of a <span style=" font-style:italic;">label</span> property and the signal <span style=" font-style:italic;">clicked()</span>:</p>
<pre style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Rect {</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">    id: Container</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">    property string label</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">    signal clicked    radius: 5; pen.color: "black"</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">    color: Mouse.pressed ? "steelblue" : "lightsteelblue"</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">    gradientColor: Mouse.pressed ? "lightsteelblue" : "steelblue";</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">    MouseRegion { id: Mouse; anchors.fill: parent; onClicked: Container.clicked.emit() }</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">    Text { anchors.fill: parent; text: Container.label; anchors.centeredIn: parent }</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">}</span></pre>
<p>We can create this component in C++ and access its API, just like any other Qt QObject subclass:</p>
<pre style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">QmlComponent component(qmlEngine, "Button.qml");</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">QObject *button = component.create();</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">button-&gt;setProperty("label", tr("Press Me!"));</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">connect(button, SIGNAL(clicked()), this, SIGNAL(buttonClicked()));</span></pre>
<p>Qt’s data models also work immediately with QML.  Just expose the C++ model to the QML engine:</p>
<pre style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MyFancyModel *model = new MyFancyModel();</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">QmlContext *ctxt = canvas-&gt;rootContext();</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">ctxt-&gt;setContextProperty("MyModel", model);</span></pre>
<p>Then reference the model’s name in QML:</p>
<pre style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Rect {</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">    width: 800; height: 600; color: "black"</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">    ListView {</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">        anchors.fill: parent</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">        model: MyModel</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">        delegate: Text { text: display; color: "white" }</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">    }</span></pre>
<pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"></pre>
<pre style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">}</span></pre>
<p>Declarative UI is a new way to use the core concepts of Qt, so it fits in with your existing code.</p>
<p>We’ve already started integrating Declarative UI support in Qt Creator. Right now you get QML syntax highlighting and an integrated viewer - check out <a href="http://labs.trolltech.com/blogs/category/qtcreator/"><span style=" text-decoration: underline; color:#9cd4ff;">the Qt Creator blog</span></a> for details.</p>
<p>And in the <a href="http://websvn.kde.org/trunk/playground/base/plasma/kinetic-declarative/"><span style=" text-decoration: underline; color:#9cd4ff;">KDE playground</span></a>, there is a demonstration of KDE Plasma integration, so you can run any Declarative UI as a Plasmoid on the desktop!</p><img src ="http://www.cppblog.com/seevault/aggbug/83179.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/seevault/" target="_blank">Vault</a> 2009-05-17 13:49 <a href="http://www.cppblog.com/seevault/archive/2009/05/17/83179.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>