??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩免费av一区二区,中文字幕日韩欧美,精品三级久久久http://www.aygfsteel.com/flylijian/zh-cnThu, 19 Jun 2025 12:30:42 GMTThu, 19 Jun 2025 12:30:42 GMT60大连农家乐休闲参考手?(www.dlnjl.com)http://www.aygfsteel.com/flylijian/archive/2009/08/17/291487.html飞入l境飞入l境Mon, 17 Aug 2009 06:37:00 GMThttp://www.aygfsteel.com/flylijian/archive/2009/08/17/291487.htmlhttp://www.aygfsteel.com/flylijian/comments/291487.htmlhttp://www.aygfsteel.com/flylijian/archive/2009/08/17/291487.html#Feedback1http://www.aygfsteel.com/flylijian/comments/commentRss/291487.htmlhttp://www.aygfsteel.com/flylijian/services/trackbacks/291487.html  http://www.dlnjl.com , 希望对爱好户外活动的朋友有帮助?

飞入l境 2009-08-17 14:37 发表评论
]]>
opencms 介绍及在weblogic8下的部v(原创)http://www.aygfsteel.com/flylijian/archive/2007/02/10/99169.html飞入l境飞入l境Sat, 10 Feb 2007 11:37:00 GMThttp://www.aygfsteel.com/flylijian/archive/2007/02/10/99169.htmlhttp://www.aygfsteel.com/flylijian/comments/99169.htmlhttp://www.aygfsteel.com/flylijian/archive/2007/02/10/99169.html#Feedback3http://www.aygfsteel.com/flylijian/comments/commentRss/99169.htmlhttp://www.aygfsteel.com/flylijian/services/trackbacks/99169.html 原文引用Q?br /> http://flylijian.spaces.live.com/

opencms 介绍及在weblogic8下的部v

     今天周末在家无事上网闲逛时Q发现很多h都在使用opencmsQ由于opencms~省支持的是tomcat,对于在商业的中间件weblogic、websphere下部|却很少资料可查Q所以写了这文章;
一。OpenCms是一个专业别的开源网站内容管理系l,其中文网站ؓhttp://www.opencms.cn/
     目前可以使用的最新稳定版?.2.3版。其特点如下Q?/div>
    
  • 直接从WEB站点的前台编辑内?
  • 自动在线/ȝ工作?
  • 灉|的内容资?
  • 集成全文搜烦引擎
  • 所见即所得编辑非l构化内?
  • l构化内定w用易于定义的ZXML的内定w?
  • 在一个应用中理多个站点
  • 全文搜烦支持PDF、Word、Excel文档资源
  • 为所有的存储资源均可q行配置
  • Z旉的自动内容发布和q期
  • 完全支持l一~码内容
  • ACLQAccess Control List 讉K控制表)权限控制pȝ
  • 可选的HTML静态导?
  • ZJSP的模版机?
  • 模块h版本控制

  详细h览其官方|址http://www.opencms.org

二?weblogic8下的部v前的准备工作

1。目前稳定版本ؓ6.2.3Q但对应开发者和学习使用的可以下到它的最新开发版?.0版;

2。用eclipse自带的cvs插g下蝲其最新版?

     1)cvsroot?font face="Courier New">:pserver:anon@cvs.opencms.org:/usr/local/cvs

   2Q密码ؓanon,取分支cvs checkout -r DEV_7_0 opencms可以得到最新源代码.

3. 安装weblogic8Q我使用的是platform812_zh_CN_win32.exe版本?/font>

4. ~省安装完weblogic8后,q行它的配置向导,新徏一个basic weblogic server domainQ域名改名ؓopencms,其它全部采用默认讄完成?/font>

5.weblogic域创建成功后Q缺省在bea安装目录下会生成user_projects\domains\opencms

三。两U部|opencms方式

a)取下来的opencms源码中提供了ant方式Q可以直接生成war包进行部|Ԍ即采用war方式q行部vQ这是最单和最方便的部|方?/font> Q但对于开发者来说这应该是属于产品发布阶段的部|Ԍ因此调试h会很不方便;

b)另一U方式是直接把源代码目录部v到weblogic下,q样可以很方便的q行调试Q由于通过weblogic的控制台只能q行

   war和ear的部|Ԍ所以我们只能直接修改它的配|文件进行部|Ӏ?/font>

我们采用W二U方式进行部|?/font>

1。首先在eclipse~译取下来的源码Q由于取下来的源码还需要第三方的jar文gQ如ant.jarQ找到相应的jar文g?/font>

   入进来,另外在它的模块文件中q引用了其它的文Ӟ如果定用不上可以先全部删除掉以便可以正编译成功;

2.~译时最好用jdk1.4的版本,或直接用bea自带的jdkq行~译Q一会儿我会说明原因Q?/font>

3.~辑user_projects\domains\opencms\config.xml,d如下内容

      <Application Deployed="true" Name="opencms"
        Path="D:\eclipse3.2.1\eclipse\workspace\opencms\webapp\.\."
        StagedTargets="myserver" TwoPhase="false">
        <WebAppComponent DeploymentOrder="1001" Name="opencms"
            Targets="myserver" URI="."/>
    </Application>
    <ApplicationManager Name="opencms"/>

其中Path="xxxx"中的内容Z的opencms实际安装目录

4.修改weblogic启动文guser_projects\domains\opencms\startWebLogic.cmd

  引如如下jar文g:

echo CLASSPATH=%CLASSPATH%
set OPEN_CMS=D:\eclipse3.2.1\eclipse\workspace\opencms
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-logging-1.1.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\activation.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\alkacon-diff-0.9.2.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\alkacon-simapi-0.9.4.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\ant-contrib-1.0b1.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\ant-opencms-1.1.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-beanutils-1.7.0.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-codec-1.3.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-collections-3.1.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-dbcp-1.2.1.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-digester-1.7.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-email-1.0-mod.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-fileupload-1.0.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-httpclient-3.0.1.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\commons-pool-1.2.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\dom4j-1.6.1.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\htmlparser-1.5-20050925.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\jakarta-oro-2.0.8.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\jaxen-1.1-beta-4.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\jstl-1.1.2.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\jtidy-r8-05102004.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\jug-1.1.2.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\junit-3-8-1.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\log4j-1.2.9.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\lucene-analyzers-2.0.0.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\lucene-core-2.0.0.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\lucene-highlighter-2.0.0.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\lucene-snowball-2.0.0.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\mail.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\mysql-connector-java-3.1.12-bin.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\PDFBox-0.7.2.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\pg74.216.jdbc3.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\poi-2.5.1-final-20040804.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\quartz-1.4.5.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\servlet.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\standard-1.1.2.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\atm-extractors-0.4.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\xercesImpl.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\webapp\WEB-INF\lib\xml-apis.jar

5.到目前应该可以运行了Q在q行中可能会出现各种各样的问题(依据取下来的版本Q,按下列方法进行处?

6.点击user_projects\domains\opencms\startWebLogic.cmd启动服务Q观察控制台和user_projects\domains\opencms\myserver下的日志文gQ查看错误提C;

下面是我q行中碰到的错误q行的相应的调整

1)控制台报The WebLogic Server did not start up properly.
java.io.InvalidClassException: javax.management.MBeanAttributeInfo; local class incompatible: stream classdesc serialVersionUID = 7043855487133450673, local class serialVersionUID = 8644704819898565848
错误原因及解军_?/strong>:MBeanAttributeInfo的serialVersionUID的版本控制id不一P说明是用这个被使用的bean被修改过了,很显然是版本不对Q修改startWebLogic.cmd文gQ设|set JAVA_HOME=D:\bea\jdk141_05,使其指向weblogic自带的jdkQ重启startWebLogic.cmd问题消失?/font>

2)错误报Deployment descriptor "web.xml" is malform
ed. Check against the DTD: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find

错误原因及解军_?/strong>:解析web.xml出现问题,修改OPEN_CMS\webapp\WEB-INF\web.xml文gQ在该文件的 最上面d如下内容:

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd">

重新启动错误消失?/font>

3)错误为Deployment descriptor "/WEB-INF/
web.xml" is malformed. Check against the DTD: The content of element type "t
ag" must match "(name,tag-class,tei-class?,body-content?,display-name?,small-ico
n?,large-icon?,description?,variable*,attribute*,example?)". (line 40, column 11
).>

错误原因及解军_?/strong>:׃weblogic8在解析xml文gӞ对xml文g的内Ҏ(gu)式要求特别严|必须按照xml格式的要?/font>

及排列顺序,所以必重新组l其内容Q一定严D注意序Q如 <servlet>׃能放?lt;servlet-mapping>后面?/font>

4)错误java.lang.SecurityException: Prohibited package name: java.lang

错误原因及解军_?/strong>:讉K包可视的Ҏ(gu)或变量错误;q个错误恨少见,一直没有想明白其中~由Q后来只能采用直接引用jar文g的法子解册问题Q?/font>

i)利用opencms自带的build.xml文gQ运行ant jar命oQ生成opencms.jar和webdav.jar两个文g

ii)在startWebLogic.cmdd如下内容Q引q上面的2个jar文g

set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\build\opencms.jar
set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\build\webdav.jar

大家有兴的可以参考《透视JAVA——反~译、修补和逆向工程技术》这本书?4.2章的内容Q如果找到更好的解决Ҏ(gu)也请来信告知Q谢谢~_~

5)其它注意事项Q在eclipse下最好采用和q行weblogic一Ljdk版本q行~译Q否则会出现文g讉K版本不一致的bug

7.启动startWebLogic.cmdQ在览器中输入http://127.0.0.1:7001/opencms/setup/

  如果在出C面的画面Q则恭喜你,成功了!



飞入l境 2007-02-10 19:37 发表评论
]]>k-means聚类法的java实现描述Q?/title><link>http://www.aygfsteel.com/flylijian/archive/2006/11/27/83730.html</link><dc:creator>飞入l境</dc:creator><author>飞入l境</author><pubDate>Mon, 27 Nov 2006 02:46:00 GMT</pubDate><guid>http://www.aygfsteel.com/flylijian/archive/2006/11/27/83730.html</guid><wfw:comment>http://www.aygfsteel.com/flylijian/comments/83730.html</wfw:comment><comments>http://www.aygfsteel.com/flylijian/archive/2006/11/27/83730.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/flylijian/comments/commentRss/83730.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/flylijian/services/trackbacks/83730.html</trackback:ping><description><![CDATA[ <div class="wmqeeuq" id="msgcns!E49FA8B5FB269F31!256"> <p> <strong> <font color="#008080"> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">原文引用<strong><font color="#008080"><font face="Times New Roman"></font></font></strong>Q?br /><a >http://flylijian.spaces.live.com/</a><br /><br />1.</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">什么是</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">k-means</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">聚类法<font face="Verdana">Q?/font></span> </font> </strong> </p> <p> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"> </span> <span lang="EN-US" style="FONT-SIZE: 12pt"> </span> </p> <p> <span style="FONT-SIZE: 12pt"> <span> <font face="Times New Roman"> </font> </span> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">从网上找C很多定义Q这里选取比较典型的几个;</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span>  </span>K-Mean</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">分群法是一U分割式分群Ҏ(gu)Q其主要目标是要在大量高U的资料点中扑և</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <span> <font face="Times New Roman">       </font> </span> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">h代表性的资料点;q些资料点可以称为群中心Q代表点Q然后再Ҏ(gu)q些</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <span> <font face="Times New Roman">        </font> </span> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">中心,q行后箋的处理,q些处理可以包含</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span>   </span>1</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Q资料压~:以少数的资料Ҏ(gu)代表大量的资料,辑ֈ资料压羃的功能;</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span>   </span>2</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Q资料分c:以少C表点来代表特点类别的资料Q可以降低资料量及计量Q?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span>  </span> </font> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <span> <font face="Times New Roman">       </font> </span> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">分割式分法的目的是希望盡量減小每個群聚中Q每一點與中心的距離qx差(<span lang="EN-US">square error</span>Q。?</span> </p> <p> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"> 假設我們現在有一i包?span lang="EN-US">c</span>個群聚的資料Q其中第<span lang="EN-US"> k </span>個群聚可以用集合<span lang="EN-US"> G<sub>k</sub></span>來表C,假設<span lang="EN-US"> G<sub>k</sub></span>包含<span lang="EN-US">n<sub>k</sub></span>{?/span> </p> <p> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"> 資料<span lang="EN-US"> {x<sub>1</sub>, x<sub>2</sub>, ? x<sub>nk</sub></span>Q,此群聚中心為<span lang="EN-US">y<sub>k</sub></span>Q則該群聚的qx?span lang="EN-US"> e<sub>k</sub></span>可以定義為:</span> </p> <p> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">             </span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">e<sub>k</sub> = </span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Symbol">S</span> <sub> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">i</span> </sub> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"> |x<sub>i</sub>-y<sub>k</sub>|<sup>2</sup></span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Q其?span lang="EN-US"> x<sub>i</sub></span>是屬於第<span lang="EN-US"> k </span>的資料點?span lang="EN-US"></span></span> </p> <p align="left"> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"> 而?span lang="EN-US">c</span>個群聚的^和qx?span lang="EN-US">E</span>便是每個群聚的qx差總和:<span lang="EN-US"></span></span> </p> <p align="center"> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">E = </span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Symbol">S</span> <sub> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">k=1~c</span> </sub> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"> e<sub>k</sub></span> </p> <p> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"> 我們分的Ҏ(gu)Q就變成是一個最?jng)_的問,換句pQ我們要如何選取<span lang="EN-US"> c </span>個群聚以及相關的中心,</span> </p> <p> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"> 使得<span lang="EN-US"> E </span>的值為最?span lang="EN-US"></span></span> </p> <p> </p> <p> <font color="#008080"> <strong> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">2</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Q处理流E?span lang="EN-US"></span></span> </strong> </font> </p> <p> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Q?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">1</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Q?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">  </font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">?/span> <span style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span lang="EN-US">c</span> </font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">个数据对象Q意选择</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> k </font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">个对象作为初始聚cM心;</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <br /> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Q?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">2</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Q?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">  </font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">循环Q?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">3</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Q到Q?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">4</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Q直到每个聚cM再发生变化ؓ止;</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <br /> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Q?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">3</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Q?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">  </font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Ҏ(gu)每个聚类对象的均|中心对象Q,计算每个对象与这些中心对象的距离QƈҎ(gu)最距重新对相应对象q行划分Q?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <br /> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Q?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">4</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Q?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">  </font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">重新计算每个Q有变化Q聚cȝ均|中心对象Q?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> </span> </p> <p> </p> <p> </p> <p> <strong> <font color="#008080"> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">3. java</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">法的实现说?/span> </font> </strong> <span lang="EN-US" style="FONT-SIZE: 12pt"> </span> </p> <p> <font face="Times New Roman"> <span lang="EN-US" style="FONT-SIZE: 12pt"> <span> <strong></strong></span> <strong>1)</strong> </span> <span lang="EN-US"> <font size="3"> </font> </span> </font> <font size="3"> <span style="FONT-FAMILY: 宋体">假设l点一l?/span> <span lang="EN-US"> <font face="Times New Roman">c</font> </span> <span style="FONT-FAMILY: 宋体">点资?/span> <span lang="EN-US"> <font face="Times New Roman">X = {x<sub>1</sub>, ..., x<sub>c</sub>}</font> </span> <span style="FONT-FAMILY: 宋体">Q每一炚w?/span> <span lang="EN-US"> <font face="Times New Roman">d</font> </span> <span style="FONT-FAMILY: 宋体">l_l定一个群聚的数目</span> <span lang="EN-US"> <font face="Times New Roman">k,</font> </span> <span style="FONT-FAMILY: 宋体">求其</span> </font> </p> <p> <font size="3"> <span lang="EN-US"> <span> <font face="Times New Roman">     </font> </span> </span> <span style="FONT-FAMILY: 宋体">最好的聚类l果?/span> </font> </p> <p> <font size="3"> <strong> <span lang="EN-US"> <font face="Times New Roman"> <span>  </span>2</font> </span> <span style="FONT-FAMILY: 宋体">Q?/span> </strong> <span lang="EN-US"> <font face="Times New Roman">BasicKMeans.java</font> </span> <span style="FONT-FAMILY: 宋体">ȝ</span> </font> </p> <p> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">        int coordCount = 250;//</font> </span> <span style="FONT-FAMILY: 宋体">原始的资料个?/span> </font> </p> <p> <font size="3"> <span lang="EN-US"> <font face="Times New Roman"> <span>        </span>int dimensions = 100;//</font> </span> <span style="FONT-FAMILY: 宋体">每个资料的纬度数?/span> </font> </p> <p> <span lang="EN-US"> <font size="3"> <font face="Times New Roman"> <span>        </span>double[][] coordinates = new double[coordCount][dimensions];</font> </font> </span> </p> <p> <font size="3"> <span style="FONT-FAMILY: 宋体">  q里假设</span> <span lang="EN-US"> <font face="Times New Roman">c</font> </span> <span style="FONT-FAMILY: 宋体">点资料ؓ</span> <span lang="EN-US"> <font face="Times New Roman">coordinates</font> </span> <span style="FONT-FAMILY: 宋体">对象Q其?/span> <span lang="EN-US"> <font face="Times New Roman">c</font> </span> <span style="FONT-FAMILY: 宋体">?/span> <span lang="EN-US"> <font face="Times New Roman">coordCount,d</font> </span> <span style="FONT-FAMILY: 宋体">?/span> <span lang="EN-US"> <font face="Times New Roman">dimensions</font> </span> <span style="FONT-FAMILY: 宋体">相应倹{?/span> </font> </p> <p> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">        int mk = 30; //</font> </span> <span style="FONT-FAMILY: 宋体">惌聚的数?/span> </font> </p> <p> <font size="3"> <span style="FONT-FAMILY: 宋体">   Ҏ(gu)聚数目定义</span> <span lang="EN-US"> <font face="Times New Roman">mk</font> </span> <span style="FONT-FAMILY: 宋体">个群聚类对象</span> </font> </p> <p> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">      mProtoClusters = new ProtoCluster[mK];//</font> </span> <span style="FONT-FAMILY: 宋体">?/span> <span lang="EN-US"> <font face="Times New Roman">ProtoCluster</font> </span> <span style="FONT-FAMILY: 宋体">c说?/span> </font> </p> <p> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">   //</font> </span> <span style="FONT-FAMILY: 宋体">首先随机选取</span> <span lang="EN-US"> <font face="Times New Roman">mk</font> </span> <span style="FONT-FAMILY: 宋体">个原始资料点作ؓ聚c?/span> </font> </p> <p> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">     mProtoClusters[i]= new ProtoCluster (coordinates[j] );//i</font> </span> <span style="FONT-FAMILY: 宋体">依此?/span> <span lang="EN-US"> <font face="Times New Roman">0</font> </span> <span style="FONT-FAMILY: 宋体">?/span> <span lang="EN-US"> <font face="Times New Roman">mk</font> </span> <span style="FONT-FAMILY: 宋体">的|</span> </font> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">j</font> </span> <span style="FONT-FAMILY: 宋体">?/span> <span lang="EN-US"> <font face="Times New Roman">0</font> </span> <span style="FONT-FAMILY: 宋体">?/span> <span lang="EN-US"> <font face="Times New Roman">coordCount</font> </span> <span style="FONT-FAMILY: 宋体">的?/span> </font> </p> <p> <span style="FONT-FAMILY: 宋体"> <font size="3">  定义一个变量用于记录和跟踪每个资料点属于哪个群聚类</font> </span> </p> <p> <span lang="EN-US"> <font face="Times New Roman" size="3">    mClusterAssignments = new int[coordCount];</font> </span> </p> <p> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">    mClusterAssignments[j]=i;//</font> </span> <span style="FONT-FAMILY: 宋体">表示W?/span> <span lang="EN-US"> <font face="Times New Roman">j</font> </span> <span style="FONT-FAMILY: 宋体">个资料点对象属于W?/span> <span lang="EN-US"> <font face="Times New Roman">i</font> </span> <span style="FONT-FAMILY: 宋体">个群聚类</span> </font> </p> <p> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">   //</font> </span> <span style="FONT-FAMILY: 宋体">开始@?/span> </font> </p> <ul> <li> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">  <font color="#ff0000"> //</font></font> </span> <span style="FONT-FAMILY: 宋体"> <font color="#ff0000">依次调用计算每个聚cȝ均?/font> </span> </font> </li> </ul> <p> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">   mProtoClusters[i].updateCenter(mCoordinates);//</font> </span> <span style="FONT-FAMILY: 宋体">计算W?/span> <span lang="EN-US"> <font face="Times New Roman">i</font> </span> <span style="FONT-FAMILY: 宋体">个聚cd象的均?/span> </font> </p> <p> <span lang="EN-US"> <font face="Times New Roman" size="3"> </font> </span> </p> <ul> <li> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">   <font color="#ff0000">//</font></font> </span> <span style="FONT-FAMILY: 宋体"> <font color="#ff0000">依次计算每个资料点到中心点的距离Q然后根据最值划分到相应的群集类中;</font> </span> </font> </li> </ul> <p> <font color="#ff0000" size="3"> <span style="FONT-FAMILY: 宋体">  采用距离qx差来表示资料点到中心点的距离Q?/span> </font> </p> <p> <span style="FONT-FAMILY: 宋体">   //定义一个变量,来表C料点C心点的距?/span> </p> <p> <span style="FONT-FAMILY: 宋体">   mDistanceCache = new double[<font face="Times New Roman" size="3">coordCount </font>][<font face="Times New Roman" size="3">mk</font>];</span> </p> <p> <span style="FONT-FAMILY: 宋体">    //其中mDistanceCache[i][j]表示Wi个资料点到第j个群聚对象中心点的距;</span> </p> <p> <span style="FONT-FAMILY: 宋体">    //距离法描述():</span> </p> <p> <span style="FONT-FAMILY: 宋体">     <font face="Times New Roman" size="3">a</font><font face="宋体" size="2">)</font>依次取出每个资料点对象double[] coord = <font face="Times New Roman" size="3">coordinates[i];</font></span> </p> <p> <span style="FONT-FAMILY: 宋体"> <font face="Times New Roman" size="3">        b<font face="宋体" size="2">)再依ơ取出每个群聚类中的中心点对象double[] center = <font face="Times New Roman" size="3">mProtoClusters[j].mCenter;</font></font></font> </span> </p> <p> <span style="FONT-FAMILY: 宋体"> <font face="Times New Roman" size="3">        c)计算<font face="宋体" size="2">coord对象与center对象之间的距?/font></font> </span> </p> <p> <span style="FONT-FAMILY: 宋体"> <font face="Times New Roman" size="3"> <font face="宋体" size="2">     double distance(double[] coord, double[] center) {<br />        int len = coord.length;<br />        double sumSquared = 0.0;<br />        for (int i=0; i<len; i++) {<br />            double v = coord[i] - center[i];<br />            sumSquared += v*v; //qx?br />        }<br />        return Math.sqrt(sumSquared);<br />      } </font> </font> </span> </p> <p> <span style="FONT-FAMILY: 宋体"> <font size="2">     d)循环执行上面的流E,把结果记录在mDistanceCache[i][j]中;</font> </span> </p> <ul> <li> <span lang="EN-US"> <font face="Times New Roman" size="3">      //<font color="#ff0000">比较出最距,然后<font face="Times New Roman" size="3"></font><font face="宋体">Ҏ(gu)最距重新对相应对象q行划分</font></font></font> </span> </li> </ul> <p> <span lang="EN-US"> <font face="宋体" color="#ff0000" size="3">     依次比较每个资料点的 最短中心距, <br /> <font color="#000000">     int nearestCluster(int ndx) {<br />        int nearest = -1;<br />        double min = Double.MAX_VALUE;   <br />        for (int c = 0; c < mK; c++) {<br />                double d = mDistanceCache[ndx][c];<br />                if (d < min) {<br />                    min = d;<br />                    nearest = c;<br />                }           <br />           }<br />        return nearest;<br />       }<br />  该方法返回该资料点对应的最短中心距ȝ聚cȝ索引|<br />  比较每个 nearestCluster[coordCount] 的值和mClusterAssignments[coordCount]<br />  的值是否相{,如果全相{表C所有的点已l是最佌MQ直接返回;<br />  否则需要重新调整资料点和群聚类的关p,调整完毕后再重新开始@环;</font></font> </span> </p> <p> <span lang="EN-US"> <font face="宋体" size="3">  调整旉要更C列数据:</font> </span> </p> <p> <span lang="EN-US"> <font face="宋体" size="3">    a)更新<span lang="EN-US"><font face="Times New Roman">mProtoClusters[i</font></span></font>]中的<font face="Times New Roman" size="3">mCurrentMembership集合Q?/font></span> </p> <p> <span lang="EN-US"> <span lang="EN-US"> <font face="Times New Roman" size="3">       </font>b)更新<font face="宋体" size="3">mClusterAssignments[i]中对应的|</font></span> </span> </p> <p> <span lang="EN-US"> <span lang="EN-US"> <font face="宋体" size="3">   然后重行开始@?/font> </span> </span> </p> <p> <font size="3"> <strong> <span lang="EN-US"> <font face="Times New Roman"> <span>   </span>3</font> </span> <span style="FONT-FAMILY: 宋体">Q?/span> </strong> <span lang="EN-US"> <font face="Times New Roman">ProtoCluster.java</font> </span> <span style="FONT-FAMILY: 宋体">是一个包含代表点的群聚类Q该cL两个最主要的属?代表??中?Q?/span> </font> </p> <p> <font size="3"> <span lang="EN-US"> <font face="Times New Roman"> <span>       </span> <span>  </span>int[] mCurrentMembership;//</font> </span> <span style="FONT-FAMILY: 宋体">用于表示每个聚包含的数据资料点集合</span> </font> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span>        </span>double[] mCenter;//</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">用于表示每个聚类对象的均|也就是中心对?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span>       </span> <span>  </span>void updateCenter(double[][] coordinates) {</font> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span>       </span>//</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">该方法计?/span> <font size="3"> <span style="FONT-FAMILY: 宋体">聚类对象的均?/span> <span lang="EN-US"> <font face="Times New Roman">;</font> </span> </font> </p> <p> <font size="3"> <span lang="EN-US"> <font face="Times New Roman"> <span>        </span>//</font> </span> <span style="FONT-FAMILY: 宋体">Ҏ(gu)</span> <span lang="EN-US"> <font face="Times New Roman">mCurrentMembership</font> </span> <span style="FONT-FAMILY: 宋体">取得原始资料点对?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">coord</font> </span> <span style="FONT-FAMILY: 宋体">Q该<font size="3"></font>对象?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">coordinates</font> </span> </font> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">的一个子集;然后取出该子集的均|</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> </span> </p> <p> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">    取均值的法很简单,可以?/span> <font color="#ff0000"> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">coordinates</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">惌成一?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">m*n</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">的距?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">,</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">每个均值就是每个纵向列的取和^均?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">,</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">该g</span> </font> </p> <p> <font color="#ff0000"> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">    存在</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">mCenter</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> </span> </font> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span>      </span> <span> </span>for (int i=0; i< mCurrentMembership.length; i++) {</font> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span>               </span>double[] coord = coordinates[mCurrentMembership[i]];</font> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span>               </span>for (int j=0; j<coord.length; j++) {</font> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span>                        </span>mCenter[j] += coord[j];//</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">得到每个U向列的和;</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span>              </span> <span> </span>} </font> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span>               f</span> </font> </span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman">or (int i=0; i<mCenter.length; i++) {</font> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span>                   </span> <span> </span>mCenter[i] /= mCurrentSize; //</font> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Ҏ(gu)个纵向列取^均?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span>       </span> <span>        </span>}</font> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <font face="Times New Roman"> <span>           </span>}<span>  </span></font> </span> </p> <p> <span lang="EN-US" style="FONT-SIZE: 12pt"> <span> <font face="Times New Roman">      参考文?/font>Q?a ><font color="#047400">http://www.javaworld.com/javaworld/jw-11-2006/jw-1121-thread.html</font></a></span> </span> </p> <p> </p> </div> <img src ="http://www.aygfsteel.com/flylijian/aggbug/83730.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/flylijian/" target="_blank">飞入l境</a> 2006-11-27 10:46 <a href="http://www.aygfsteel.com/flylijian/archive/2006/11/27/83730.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu6.06 下安装usb adsl详细步骤http://www.aygfsteel.com/flylijian/archive/2006/10/22/76617.html飞入l境飞入l境Sun, 22 Oct 2006 05:15:00 GMThttp://www.aygfsteel.com/flylijian/archive/2006/10/22/76617.htmlhttp://www.aygfsteel.com/flylijian/comments/76617.htmlhttp://www.aygfsteel.com/flylijian/archive/2006/10/22/76617.html#Feedback0http://www.aygfsteel.com/flylijian/comments/commentRss/76617.htmlhttp://www.aygfsteel.com/flylijian/services/trackbacks/76617.html
不敢独乐Q特把安装步骤写下来Q供q没上网成功的朋友参考!
一。系lubuntu6.06, 版本2.6.15-23; usb adsl( 0572:cb00 Conexant)
使用uname -r 命o可以查到你的当前版本Q用lsusb可以查看你的usb情况
二。下载好全部的YӞ
对于双系l的人,可以先在windows下下载全部所需要的软g然后转到ubuntu
pȝ下再q行安装Q原因很单因为ubuntu下还不能上网Q这个过E是很需?br /> 耐心的,我至在windwos和ubuntupȝ下切换不?0ơ;
? 安装步骤
1.׃ubuntu6.06~省没有安装usb adsl驱动Q所以必重新配|;所?br /> 我烦性下载了最新的linux内核文g(最新版本是2.6.18)q行~译;
到http://www.kernel.org/ 下蝲linux-2.6.18.tar.bz2文g
2.准备~译新的内核
在编译内核时Q需要先下蝲libncurses包,到google上可以下载到Q?br /> 1)解压~?tar xjvf linux-2.6.18.tar.bz2 ?opt/linux-2.6.18/目录?br /> 2)?opt/linux-2.6.18下运行下列命?br /> a)make oldconfig (先生缺省配|文?
然后一直按回R键即?br /> b)make menuconfig(重新配置驱动模块)
q里必须对usb相关模块q行选中Q网上已l有好多人写q了Q?br /> 我的部分配置如下Q?br />Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
Bus options --->
PCI access mode(Any)
[*] PCI Express support
[M] PCI Express Hotplug driver
[*] Use polling mechanism for hot-plug events
[*] Legacy /proc/pci interface
PCI Hotplug Support --->
[M] Support for PCI Hotplug
[*] Use polling mechanism for hot-plug events
Networking optings --->
[*] Packet socket
[*] Unix domain sockets
[*] TCP/IP sockets
[*] IP:multicasting
[M] Asynchronous Transfer Mode (ATM)
[M] classical IP over ATM
[M] LAN Emulation support
[M] Multi-protocol over ATM support
[M] RFC1483/2684 Bridged protocols

Device Drivers --->
Generic Driver Options --->
全?br />Plug and Play support --->
[*] Plug and Play BIOS support
[*] Plug and Play BIOS /proc interface

Network device support --->
ATM drivers --->
[M] ATM over TCP
[M] PPP support
[M] PPP over Ethernet
[M] PPP over ATM
[*] PPP multilink support
USB support --->
[*] Support for Host-side USB
[*] USB device filesystem
USB DSL modem support --->
[M] USB DSL modem support
[M] Speedtouch USB support
[M] Conexant AccessRunner USB support
[M] Other USB DSL modem support

c)然后退Z存配|文?br />d)依次q行
make
make modules_install
make install
3)如果q行成功Q应该在/boot/下面可以看到vmlinuz-2.6.18
文gQ然后还需要生成initrd.img-2.6.18 文g
q行 mkinitramfs -o /boot/initrd.img-2.6.18 /lib/modules/2.6.18
4Q修?boot/grub/menu.lst
把新的内核文仉|进厅R?br />5Q到q里内核已经~译成功了,重启pȝ后,q行uname -rQ?如果昄2.6.18表示成功Q?br />注意重启Ӟ可能屏幕上没有Q何东西(除非配置了splashQ;可以不管它;

3. 安装f(xi)irmware
1)http://sourceforge.net/cvs/?group_id=47406
下面要用一个叫做cxacru-fwE序文g?CnxEtU.sys 取出信息生成linux上面用的firmware文g cxacru-fw.bin
因ؓ在写q个文档的时候cxacru-fw只能通过cvs得到
我没有cvsQ所以我直接在在它的cvs web面把几个文件的内容_脓(chung)下来了;
2) 直接q行make命o,生成 cxacru-fw
在cxacru-fw目录下编译生成cxacru-fwQ然?
# ./cxacru-fw CnxEtU.sys cxacru-fw.bin
拯cxacru-fw.bin到l(f)ib/firmware?
#cp cxacru-fw.bin /lib/firmware
3)关于CnxEtU.sys文g|上说可以从windwos下copy该文件过来用;可我使用?windows下的文g
怎么也无法编译成cxacru-fw.binQ后来从|上下蝲了一个CnxEtU.sys才好使;
如果你和我的情况cMQ可以从q里下蝲到该文g
http://www.atlantis-land.com/firmware/1863_DriverWinMultiV099.085WAN.zip
?863_DriverWinMultiV099.085WAN.zip解开后,取出里面的CnxEtU.sys文g
然后使用上面的命令生成cxacru-fw.bin文g,copy?lib/firmware下;

4. 配置自动启动脚本
1Q新Z个文本文件secrets,输入如下内容
"username@isp" "*" "password"
q里是输入你的帐?username@isp)和密?password)
2)sudo install -m 600 secrets /etc/ppp/chap-secrets
sudo install -m 600 secrets /etc/ppp/pap-secrets
3)ppp over atm讄
新徏一个文? speedtch,内容如下
noipdefault
defaultroute
#username@isp Z的帐号名U?br /> user 'username@isp'
noauth
updetach
usepeerdns
plugin pppoatm.so
#输入vpi和vciQ我的是8.35
VPI.VCI
4Qsudo install -m 600 speedtch /etc/ppp/peers
5)新徏一个dail文g,内如如下
#!/bin/bash
modprobe ppp_generic
modprobe pppoatm
count=0
while [[ $((count++)) -lt 40 ]]
do
sync=$(dmesg | grep 'ADSL line: up')
if [ ! -z "$sync" ]
then
pppd call speedtch
exit 0
fi
sleep 1
done
echo "The SpeedTouch firmware did not load"

q行下面命o
sudo install -m 744 dial /etc/init.d
sudo ln -s /etc/init.d/dial /etc/rc2.d/S95dial
sudo ln -sf /etc/ppp/resolv.conf /etc/resolv.conf

5.最后重启机器,应该可以看到usb adsl的link灯会亮;
启动后,此时用ifconfig -a命o会显Cnas0和ppp0的相关信息?br /> (注意在登录时׃pȝ会进行usb初始化及|络q接Q登录会p长时_误心{?
6.直接打开览器应该可以上|了Q?


飞入l境 2006-10-22 13:15 发表评论
]]>
Ubuntu6.06 nvidia(GeForce4 MX 440)下如何设|?440*900的分辨率http://www.aygfsteel.com/flylijian/archive/2006/10/22/76615.html飞入l境飞入l境Sun, 22 Oct 2006 05:09:00 GMThttp://www.aygfsteel.com/flylijian/archive/2006/10/22/76615.htmlhttp://www.aygfsteel.com/flylijian/comments/76615.htmlhttp://www.aygfsteel.com/flylijian/archive/2006/10/22/76615.html#Feedback6http://www.aygfsteel.com/flylijian/comments/commentRss/76615.htmlhttp://www.aygfsteel.com/flylijian/services/trackbacks/76615.html1?span>sudo gedit /etc/X11/xorg.xonf
2.  扑ֈSection "Monitor"增加如下目Q?br />    Section "Monitor"
    Identifier     "L9VB4"
    Option         "DPMS"
    HorizSync 28-72
    VertRefresh 43-60
    Modeline "1440x900" 106.47 1440 1520 1672 1904 900 901 904 932 -HSync +Vsync
    Option "IgnoreEDID" "1"
EndSection
3。找到Section "Device",增加如下目
      Section "Device"
    Identifier     "NVIDIA Corporation NV18 [GeForce4 MX 440 AGP 8x]"
    Driver         "nvidia"
     BusID "PCI:1:0:0"
    Option "NoLogo" "true"
EndSection
4.  重启pȝ卛_?br />    

飞入l境 2006-10-22 13:09 发表评论
]]>
Work Flow 学习W记(?http://www.aygfsteel.com/flylijian/archive/2006/05/25/48012.html飞入l境飞入l境Thu, 25 May 2006 05:24:00 GMThttp://www.aygfsteel.com/flylijian/archive/2006/05/25/48012.htmlhttp://www.aygfsteel.com/flylijian/comments/48012.htmlhttp://www.aygfsteel.com/flylijian/archive/2006/05/25/48012.html#Feedback0http://www.aygfsteel.com/flylijian/comments/commentRss/48012.htmlhttp://www.aygfsteel.com/flylijian/services/trackbacks/48012.html阅读全文

飞入l境 2006-05-25 13:24 发表评论
]]>
Tomcat 如何部vweb目源码详解 http://www.aygfsteel.com/flylijian/archive/2006/05/25/47957.html飞入l境飞入l境Thu, 25 May 2006 01:33:00 GMThttp://www.aygfsteel.com/flylijian/archive/2006/05/25/47957.htmlhttp://www.aygfsteel.com/flylijian/comments/47957.htmlhttp://www.aygfsteel.com/flylijian/archive/2006/05/25/47957.html#Feedback4http://www.aygfsteel.com/flylijian/comments/commentRss/47957.htmlhttp://www.aygfsteel.com/flylijian/services/trackbacks/47957.html

                             Tomcat5.5.16 部vweb目源码详解

Tomcat.5.5.16 安装 web 目时执行的代码主要?/span> HostConfig c,其中 deployApps() 执行部v web 应用的功能;

protected void deployApps() {

 

        File appBase = appBase();

        File configBase = configBase();

        // Deploy XML descriptors from configBase

        deployDescriptors(configBase, configBase.list());

        // Deploy WARs, and loop if additional descriptors are found

        deployWARs(appBase, appBase.list());

        // Deploy expanded folders

        deployDirectories(appBase, appBase.list());

        

    } 

从上面这D代码,我们可以知道 tomcat 在部|?/span> web 目是按如下序依次部v的;

1Q?span style="FONT: 7pt 'Times New Roman'">    首先部v $CATALINA_HOME/conf/Catalina/localhost 目录下面?/span> .xml 文gQ?/span>

deployDescriptors(configBase, configBase.list());

Q?Q?span style="FONT: 7pt 'Times New Roman'">      configBase 的值是通过调用 configBase() 获取的,

     File file = new File(System.getProperty("catalina.base"), "conf");

        Container parent = host.getParent();

        if ((parent != null) && (parent instanceof Engine)) {

            file = new File(file, parent.getName());

        }

file = new File(file, host.getName());

可以看出 configBase 是由四部分内容组?/span> ;

System.getProperty("catalina.base") + “conf? + parent.getName()+host.getName()

parent.getName() ?/span> host.getName() 是分别取 server.xml ?/span>

<Engine name="Catalina" defaultHost="localhost"> ?/span>

<Host name="localhost" appBase="webapps"  ? 对应?/span> name 属性|

由此可以得出 configBase 的gؓ $CATALINA_HOME/conf/Catalina/localhost

 

        (2) 按文件名序依次d configBase 目录下面?/span> xml 文g部v web 应用Q?/span>

            W一步,首先获取文g名(不包?/span> .xml Q作Z下文路径

                String nameTmp = files[i].substring(0, files[i].length() - 4);

                String contextPath = "/" + nameTmp.replace('#', '/');

            W二步,解析 xml 文gQ分?/span> docBase 的|

    注意q里?/span> docBase 的判断很重要Q采用和以前版本完全不同的做法;

                                    if (!docBase.isAbsolute()) {

                        docBase = new File(appBase(), context.getDocBase());

                      }

                  首先判断 docBase 是否为绝对\径,如果不是l对路径Q在改ؓ

                       $CATALINA_HOME/webapps+docBase

  

                     // If external docBase, register .xml as redeploy first

                     if(!docBase.getCanonicalPath().startsWith(appBase().getAbsolutePath()))

{

// q个判断很重要,q里是判断如?/span> docBase 路径是以

$ CATALINA_HOME/webapps+docBase 开头的字符Ԍ则忽略掉?/span>

                           isExternal = true;

                           ...

                       if (docBase.getAbsolutePath().toLowerCase().endsWith(".war")) {

                             isWar = true;

                       }

                   } else{

       // Ignore specified docBase

     context.setDocBase(null);

}

          

          从上面可以看出, <Context path="/xxxx" docBase="xxxx" . ?/span> docBase 只有为绝对\径ƈ且该路径不是?/span> $CATALINA_HOME/webapps 开_才会生效Q否则就忽略掉了Q?/span>

 

 

2Q?span style="FONT: 7pt 'Times New Roman'">    接下来部|?/span> $CATALINA_HOME/webapps/ 目录下以?/span> War l尾的文?/span>

deployWARs(appBase, appBase.list());

(1) 首先仍是把文件名 ( 不用 .war) 作ؓ其应用的上下文\?/span> ;

     if (files[i].toLowerCase().endsWith(".war")) {

                // Calculate the context path and make sure it is unique

                String contextPath = "/" + files[i];

                int period = contextPath.lastIndexOf(".");

        (2) 接下来判断以该上下文路径 contextPath 是否已经装蝲q了Q如果是则直接退出;     if (deploymentExists(contextPath))

                     return;

       Q?/span> 3 Q?/span> l箋判断以该上下文命名的部v文g是否存在Q如 war 文g?/span> AAA.war, 则判断在 $CATALINA_HOME/conf/Catalina/localhost/AAA.xml 文g是否存在Q如果不存在l箋执行以下操作Q?/span>

             File xml = new File

            (configBase, file.substring(0, file.lastIndexOf(".")) + ".xml");

        if (deployXML && !xml.exists()) {

          entry = jar.getJarEntry(Constants.ApplicationContextXml);

          configBase.mkdirs();

          。。?/span>

      先从 wart 文g中读?/span> META-INF/context.xml 文gQ然后把?/span> copy ?/span>

      $CATALINA_HOME/conf/Catalina/localhost/AAA.xml, 注意 war 文g部v文g必须?/span>

context.xml Q且?/font> META-INF 目录下;   

  Q?/span> 4 Q接下来操作和上面类|部v?/span> web 应用Q?/span>

3. 最后是?/span> $CATALINA_HOME/webapps 目录下的文g夹ؓ目标按文件夹名顺序进行部|Ԍ

     deployDirectories(appBase, appBase.list());

Q?Q?span style="FONT: 7pt 'Times New Roman'">       同样先把该文件夹名作Z下文路径q行部vQ?/span>

             File dir = new File(appBase, files[i]);

            if (dir.isDirectory()) {

 

                // Calculate the context path and make sure it is unique

                String contextPath = "/" + files[i];

             

Q?Q?span style="FONT: 7pt 'Times New Roman'">       接下来的步骤基本上是一样了Q首先判断该上下文\径是否已l部|过Q如果是则直接退出,否则和上面一Pd META-INF/context.xml 文gq行部vQ?/span>

注意q里和上面的 war 文g部vE微有点不同Q就是它不会 copy 部v文g context.xml 文g?/span> $CATALINA_HOME/conf/Catalina/localhost 中去Q?/span>

 

 

 



飞入l境 2006-05-25 09:33 发表评论
]]>
Work Flow 学习W记http://www.aygfsteel.com/flylijian/archive/2006/05/25/47950.html飞入l境飞入l境Thu, 25 May 2006 01:11:00 GMThttp://www.aygfsteel.com/flylijian/archive/2006/05/25/47950.htmlhttp://www.aygfsteel.com/flylijian/comments/47950.htmlhttp://www.aygfsteel.com/flylijian/archive/2006/05/25/47950.html#Feedback0http://www.aygfsteel.com/flylijian/comments/commentRss/47950.htmlhttp://www.aygfsteel.com/flylijian/services/trackbacks/47950.html  

                     Work Flow 学习W记

1.    WfRequester

WfRequester is the interface that has a direct concern with the execution and results

of a workflow process - it represents the request for some work to be done. Its

performer, a WfProcess, is expected to handle its request and communicate significant

status changes; in particular to inform the requester when it has completed performing

the requested work. A single requester can have many processes associated with it.

 
  
 
 

说明Q?/span> WfRequester 接口是一个和工作流E的执行及结果有直接关系的接口;它代表了对一些工作执行的hQ它的一个主要功能是?/span> WfProcess 链接C个其它应用;其中 WfRequester 会关联到多个 WfProcee, ?/span> WfProcess 发生 complete ?/span> terminate ?/span> abort 事g时会通过回调 receiveEvent() Ҏ(gu)来通知 WfRequest Q在 receiveEvent(event) Ҏ(gu)中,参数 event 是一?/span> WfEventAudit 对象Q其?/span> WfEventAudit 中有一个方?/span> source(), 通过q个Ҏ(gu)我们可以得知是哪?/span> WfExecutionObject 对象触发了事件源Q得C WfExcutionObject ?/span> WfProcess 我们也进?/span> 得到了和q个 WfProcess 相关联的其它应用Q?/span>

主要步骤 :

(1)    自定义一个自qcL接口Q如 GenericRequester, q个 GenericRequester cM表用戯定义的一个请求者;

(2)    在启?/span> WfProcess 是,把这个请求者和 WfProcess q行l定注册?/span> WfRequester 中;

 

?/span> WfReuester ?/span> registerProcess() 是做这个功能,主要代码如下

protected Map performers = null;

public void registerProcess(WfProcess process, Map context, GenericRequester requester){

               performers.put(process, requester);

 

}

(3)    当工作流E在执行的过E中发生 complete ?/span> terminate ?/span> abort 事g时会回调 WfRequest 中的 receiveEvent() Ҏ(gu)Q?/span>

      requester.receiveEvent(audit);

(4)    ?/span> receiveEvent() 中首先根?/span> WfEventAudit ?/span> source() 获取触发事g?/span> WfProcess 对象Q?/span>

receiveEvent(WfEventAudit event){

        // 获取事g?/span> process 对象

WfProcess  process = (WfProcess) event.source();

// Ҏ(gu) prcocess 对象获取在注册时l定的自定义h?/span> GenericRequester

GenericRequester  req = (GenericRequester) performers.get(process);

// 执行自定义请求者的Ҏ(gu)

req.receiveResult(process.result());

}

其它Q在q里 GenericRequester 也可是一?/span> WfProcess ?/span> WfActivity 对象Q这样可以在 WfProcess 完成操作后又启动另一个子程或某个活动;    

 

 
 
 
 


飞入l境 2006-05-25 09:11 发表评论
]]>
վ֩ģ壺 | | ־| ԭ| | | | ˶| γ| ƽ| | | ̩| Ϫ| ̨| | | ̷| | | | | | | | | | | | | ׶| | Ĭ| | ζ| Į| | «| | | |