﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-Just do it</title><link>http://www.blogjava.net/lunbobi/</link><description> 我 为编程 狂....o(∩_∩)o...</description><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 06:22:52 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 06:22:52 GMT</pubDate><ttl>60</ttl><item><title>test</title><link>http://www.blogjava.net/lunbobi/archive/2013/02/21/395543.html</link><dc:creator>仑波比</dc:creator><author>仑波比</author><pubDate>Thu, 21 Feb 2013 09:20:00 GMT</pubDate><guid>http://www.blogjava.net/lunbobi/archive/2013/02/21/395543.html</guid><wfw:comment>http://www.blogjava.net/lunbobi/comments/395543.html</wfw:comment><comments>http://www.blogjava.net/lunbobi/archive/2013/02/21/395543.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lunbobi/comments/commentRss/395543.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lunbobi/services/trackbacks/395543.html</trackback:ping><description><![CDATA[test<img src ="http://www.blogjava.net/lunbobi/aggbug/395543.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lunbobi/" target="_blank">仑波比</a> 2013-02-21 17:20 <a href="http://www.blogjava.net/lunbobi/archive/2013/02/21/395543.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>求救：java流量监控程序</title><link>http://www.blogjava.net/lunbobi/archive/2009/02/23/256205.html</link><dc:creator>仑波比</dc:creator><author>仑波比</author><pubDate>Mon, 23 Feb 2009 05:32:00 GMT</pubDate><guid>http://www.blogjava.net/lunbobi/archive/2009/02/23/256205.html</guid><wfw:comment>http://www.blogjava.net/lunbobi/comments/256205.html</wfw:comment><comments>http://www.blogjava.net/lunbobi/archive/2009/02/23/256205.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/lunbobi/comments/commentRss/256205.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lunbobi/services/trackbacks/256205.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近准备用Java做一个局域网流量监控的程序，能对局域网流量的监控，并以波形图来显示流量。<br />
&nbsp;&nbsp;&nbsp;&nbsp; 现在还没有具体的开发思路，希望"BlogJava"的各位大虾指教，应该怎么开发，要用到什么技术？<br />
&nbsp;&nbsp;&nbsp; 
<img src ="http://www.blogjava.net/lunbobi/aggbug/256205.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lunbobi/" target="_blank">仑波比</a> 2009-02-23 13:32 <a href="http://www.blogjava.net/lunbobi/archive/2009/02/23/256205.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>毕业设计之初步设想</title><link>http://www.blogjava.net/lunbobi/archive/2008/10/17/235080.html</link><dc:creator>仑波比</dc:creator><author>仑波比</author><pubDate>Fri, 17 Oct 2008 13:01:00 GMT</pubDate><guid>http://www.blogjava.net/lunbobi/archive/2008/10/17/235080.html</guid><wfw:comment>http://www.blogjava.net/lunbobi/comments/235080.html</wfw:comment><comments>http://www.blogjava.net/lunbobi/archive/2008/10/17/235080.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lunbobi/comments/commentRss/235080.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lunbobi/services/trackbacks/235080.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 反复良久，最终确定下来，毕业设计做个基于java的网上教室评价系统。<br />
&nbsp;&nbsp; &nbsp; &nbsp; 每个学期快结束时，学校会给每个学生发个类似答题卡的卡片，上边写上本学任课教室的姓名，编号，授课名称，然后就是给每个老师打分。<br />
&nbsp; &nbsp;&nbsp;&nbsp; 最终是有的同学没涂，或随便涂，这样学校最后得到的对老师本学期的教学工作难免不准确，此外，每学期消耗那么多卡片也是一笔不小开支。<br />
&nbsp;&nbsp;&nbsp; &nbsp; 我希望通过这个评价体系，让同学在网上对每个老师进行评定，老师也可以通过此系统查看自己所授课的得分，学校也能知道每个老师的得分情况及教学中应该提高的环节。<br />
&nbsp;&nbsp;&nbsp; &nbsp; 这个系统决定采用MVC构架，前台语言选择Jsp，数据库选择：Access或MySQL，Web服务器选择：Tomcat6.0，开发工具：Myeclipse，Dreamweaver。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;接下来应该完成的是：1.做好需求分析；2.设计好数据库。<br />
&nbsp;&nbsp;&nbsp; （--No Time，hurry Up--）&nbsp;</p>
 <img src ="http://www.blogjava.net/lunbobi/aggbug/235080.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lunbobi/" target="_blank">仑波比</a> 2008-10-17 21:01 <a href="http://www.blogjava.net/lunbobi/archive/2008/10/17/235080.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]编程之美--微软技术面试心得</title><link>http://www.blogjava.net/lunbobi/archive/2008/10/05/232461.html</link><dc:creator>仑波比</dc:creator><author>仑波比</author><pubDate>Sun, 05 Oct 2008 03:53:00 GMT</pubDate><guid>http://www.blogjava.net/lunbobi/archive/2008/10/05/232461.html</guid><wfw:comment>http://www.blogjava.net/lunbobi/comments/232461.html</wfw:comment><comments>http://www.blogjava.net/lunbobi/archive/2008/10/05/232461.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lunbobi/comments/commentRss/232461.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lunbobi/services/trackbacks/232461.html</trackback:ping><description><![CDATA[<span class="style2">这是一本让人着迷的书！ <br />
从我得到样书的那一刻起，在每天的闲暇时间阅读和思索这本书中的题目就成了我的一个新习惯。虽然网络上早就流传着不少微软面试题，坊间也不乏一些程序员面试类的图书，但是像这样集中展示高水平编程面试题目，并且以启发性方式对这些题目予以权威解答的图书，这还是第一本。对于那些正在准备面试的同学来说，这本书毫无疑问是宝贵的学习资料。而在我看来，即使是对于已经工作的程序员来说，这本书也是非常值得用心阅读的。 <br />
实话实说，对于算法和数学类谜题的意义和价值，在程序员社群里长期以来就存在很大的争议。CSDN上每隔一段时间就会有人讨论&#8220;算法真的重要吗&#8221;或者&#8220;数学真的重要吗&#8221;这样的问题。很多人对此都持质疑甚至是否定态度，他们认为，对于企业来说，是软件产品而不是具体的程序创造了价值，而创造成功的软件产品是一个庞大而复杂的系统工程，优质的算法和程序在其中的作用是有限的，相反，对平台和系统的理解、对领域知识和规则的掌握、软件质量的控制、产品设计、架构的选择和设计、平台和工具选型，以至于团队管理和有效沟通，对于软件工程师来说是更为重要的技能和素质。相比之下，算法和数学只要基础扎实就可以了，在实践当中反而不如上面那些要素显得重要，更没有必要在类似智力测试般的面试谜题和奇技淫巧上花费太多心思了。 <br />
这样的看法，当然有很有价值的方面。当代的软件工程师，确实需要建立更全面的知识技能体系和系统思维，但是以此来否定和贬低算法和数学基本功的重要性，否定面试谜题的意义和价值，则又属于只见树木不见森林。事实上，这些谜题考察和锻炼的，并不是算法和数学的&#8220;奇技淫巧&#8221;，而是扎实、严密和具有创造性的思考能力，面对问题有条不紊的分析能力，和不断深入、刨根问底的精神。毫无疑问，这些素质，都是软件工程师身上最宝贵的东西。 <br />
本书就是对这一问题的有力证明。请翻开这本书，随便挑选几个问题，认真思考，尝试解答，再看看作者的思路，在其启发下更进一步思考，尝试给出更多更好的解决方案，甚至更进一步，提出书中都没有提出的问题，把问题想透，把程序实现出来，验证自己的想法。毫无疑问这样的阅读方法是相当吃功夫的，但通过这样的方式，不但能够最大程度地获得本书的价值，也能够实实在在提高读者的基本功、思考力和创造力。毫无疑问，这些能力的意义要远比任何具体知识和技能的获得都更重要。对系统与平台的理解也好，对领域知识的掌握也好，产品的设计、架构的选择也好，所有这些算法之外的技能，不都需要强悍的思考能力的支撑才能获得吗？事实上，在这个知识开放共享的时代，头脑和思维才是唯一核心的竞争力，从这个意义上讲，这本书是直接面向核心竞争力发展的，其意义何其大也！ <br />
这本书另一个必须要提的意义，就是它的&#8220;美&#8221;。真正的程序员都领略过程序之美，那些简洁有力的代码，精巧严密的构思，高效直接的解决方案，美得令人窒息。可惜，在日益工业化和利益驱动的IT中，这种美已经是越来越少见的东西。但我想每一个真正热爱编程的人，都渴望欣赏这种美，渴望在思考过程中一次次&#8220;Aha！&#8221;式的愉悦。这本书就能够最有效地满足我们欣赏编程之美的渴望，题目的美，思考过程的美??解答的美，延伸思考的美，这种美的感觉，对于真正的程序员来说，本身就是一种精神享受。 <br />
虽然这本书表面上是指导面试的，但是依我来看，已经工作的职业程序员更有必要好好读读这本书。毕竟世界很大，不是每个人都要去微软或者谷歌，而这本书的意义绝不仅仅在面试，更重要的是在编程之美，思考之美。<br />
</span>
 <img src ="http://www.blogjava.net/lunbobi/aggbug/232461.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lunbobi/" target="_blank">仑波比</a> 2008-10-05 11:53 <a href="http://www.blogjava.net/lunbobi/archive/2008/10/05/232461.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate 懂了一点点</title><link>http://www.blogjava.net/lunbobi/archive/2008/10/02/232133.html</link><dc:creator>仑波比</dc:creator><author>仑波比</author><pubDate>Thu, 02 Oct 2008 14:37:00 GMT</pubDate><guid>http://www.blogjava.net/lunbobi/archive/2008/10/02/232133.html</guid><wfw:comment>http://www.blogjava.net/lunbobi/comments/232133.html</wfw:comment><comments>http://www.blogjava.net/lunbobi/archive/2008/10/02/232133.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lunbobi/comments/commentRss/232133.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lunbobi/services/trackbacks/232133.html</trackback:ping><description><![CDATA[之前一直看到Hibernate 这个字眼,也耳闻其为持久化中间件.<br />
国庆这几天,下了本Hibernate的电子书,废寝忘食几天 ,终于搞懂了一点点<br />
以后写java类要记得持久化.
<img src ="http://www.blogjava.net/lunbobi/aggbug/232133.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lunbobi/" target="_blank">仑波比</a> 2008-10-02 22:37 <a href="http://www.blogjava.net/lunbobi/archive/2008/10/02/232133.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>实习小结</title><link>http://www.blogjava.net/lunbobi/archive/2008/09/28/231739.html</link><dc:creator>仑波比</dc:creator><author>仑波比</author><pubDate>Sun, 28 Sep 2008 13:28:00 GMT</pubDate><guid>http://www.blogjava.net/lunbobi/archive/2008/09/28/231739.html</guid><wfw:comment>http://www.blogjava.net/lunbobi/comments/231739.html</wfw:comment><comments>http://www.blogjava.net/lunbobi/archive/2008/09/28/231739.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lunbobi/comments/commentRss/231739.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lunbobi/services/trackbacks/231739.html</trackback:ping><description><![CDATA[看似漫长的一个月实习今天结束了,之前一直想去个计算机公司实习,可以提高自己编程能力,但事与愿违.<br />
不过一个月下来,还是有收获的 <br />
for example:<br />
1.提高了自己讲课的水平,以后在人多面前讲话,应该不会语无伦次了.<br />
2.明白了怎么将自己懂的知识,能更有条理的让学生理解,这也是讲课的目的.<br />
3.团队合作,一个团结的团体会让你工作或学习 更 有效率.<br />
<br />
<br />
实习完之后,还是感觉当学生舒服,还有几个月就要找工作了,努力啊....
 <img src ="http://www.blogjava.net/lunbobi/aggbug/231739.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lunbobi/" target="_blank">仑波比</a> 2008-09-28 21:28 <a href="http://www.blogjava.net/lunbobi/archive/2008/09/28/231739.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>设计一个 Facebook 应用程序</title><link>http://www.blogjava.net/lunbobi/articles/216699.html</link><dc:creator>仑波比</dc:creator><author>仑波比</author><pubDate>Tue, 22 Jul 2008 12:27:00 GMT</pubDate><guid>http://www.blogjava.net/lunbobi/articles/216699.html</guid><wfw:comment>http://www.blogjava.net/lunbobi/comments/216699.html</wfw:comment><comments>http://www.blogjava.net/lunbobi/articles/216699.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/lunbobi/comments/commentRss/216699.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lunbobi/services/trackbacks/216699.html</trackback:ping><description><![CDATA[<p><span class="atitle">设计一个 Facebook 应用程序</span></p>
<p>理想情况下，您希望设计一个用户认为十分好用或者充满乐趣的应用程序。它使得用户能够通过 Facebook 网络同他们的朋友进行沟通。您不能保证一个成功的应用程序（这依赖于应用程序的核心概念），但是您可以保证如果这个概念是成功的，那么您的应用程序可以被很好地集成到 Facebook 平台之中，并且通过市场和虚拟的口口相传不断提升。所以，您可以从以下角度来看待问题：如何创建一个能够大幅提高用户连通性的应用程序，并且通过 Facebook 的集成点扩大您的用户基础，并且鼓励用户随时随地的同您的应用程序进行交互。</p>
<p><a name="N10279"><span class="smalltitle">剖析一个 Facebook 应用程序</span></a></p>
<p>Facebook 为您的应用程序提供了许多集成点：其中两个主要的区域分别被称作应用程序的画布页面和剖面盒，除此之外，还有大量的辅助集成点。</p>
<p><a name="canvaspage"><strong>画布页面</strong></a></p>
<p>您通过这些辅助点的最突出的和无所不在的 Left Nav 访问一个应用程序的画布页面。Left Nav 是 Facebook 的左侧导航栏中的一个链接，它将 Facebook 中的所有其他的页面整合起来，并且列出了所有的当前用户已安装的应用程序（除非用户在安装应用程序时去掉了这一选项）。举例来说，您可以点击相册应用程序的 Left Nav 链接（请参见图 8 中所示）。</p>
<br />
<a name="N1028D"><strong>图 8. 左侧定位链接</strong></a><br />
&nbsp;<br />
<p><a name="N10433"><span class="smalltitle">私有设置</span></a></p>
<p>最后，用户可以通过 Applications 应用程序在他们的环境中限制一个应用程序的集成点，Applications 应用程序列出了所有已经安装的程序，允许您对其进行删除或者编辑操作。点击 <strong>Edit Settings</strong> 打开标准私有设置窗口（请参见图 28 所示）。</p>
<br />
<a name="N10441"><strong>图 28. 标准私有设置对话框</strong></a><br />
&nbsp;<br />
<p>这里是私有设置的详细信息：</p>
<ul>
    <li><strong>谁能看到这里：</strong>允许用户指定哪些人能够看到他们所安装的相册应用程序。选项包括：
    <ul>
        <li>我的网络和朋友：用户网络（例如纽约）中的任何人，以及用户的所有朋友。
        <li>朋友的朋友
        <li>只有朋友可以
        <li>没有人可以
        <li>定制：在弹出的窗口中，允许用户自己设定哪些网络和哪些朋友可以或者不可以看到应用程序。 </li>
    </ul>
    <li><strong>在左手菜单中显示：</strong>决定这个应用程序是否在用户的应用程序安装列表中建立链接（在他们的左侧导航栏中）。
    <li><strong>在我的 News Feed 中发布相关的故事：</strong>决定应用程序是否能够将条目发布到用户的 News Feed 中（位于他们的主页面）。
    <li><strong>在我的 Mini-Feed 中发布相关的故事：</strong>决定应用程序是否能够将条目发布到用户的 Mini-Feed 中（位于剖面页面）。
    <li><strong>在剖面图片之下添加一个到任何剖面的链接：</strong>决定应用程序是否能够发布剖面行动链接。
    <li><strong>允许这一应用程序通过电子邮件同我保持联系：</strong>决定应用程序是否能够向用户发送电子邮件。请注意这涉及到用户的外部邮件账号；您的应用程序不能够向用户的 Facebook 收件箱发送电子邮件。 </li>
</ul>
<p>在完成这些标准私有设置之后，应用程序还会提供其定制配置窗口，您可以通过标准私有设置窗口中的 <strong>Other Privacy Settings</strong> 链接进行进一步的设置（请参见图 29 所示）。</p>
<br />
<a name="N10491"><strong>图 29. 在标准私有设置对话框中的另一个私有设置链接</strong></a><br />
&nbsp;<br />
<p>现在，您已经回顾了用于集成您的应用程序的可用点，下面我们看一下如何为这些不同的集成点创建您的应用程序的内容。</p>
<br />
<table cellspacing="0" cellpadding="0" width="100%" border="0">
    <tbody>
        <tr>
            <td><img height="1" alt="" src="https://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /><br />
            <img height="6" alt="" src="https://www.ibm.com/i/c.gif" width="8" border="0" /></td>
        </tr>
    </tbody>
</table>
<table class="no-print" cellspacing="0" cellpadding="0" align="right">
    <tbody>
        <tr align="right">
            <td><img height="4" alt="" src="https://www.ibm.com/i/c.gif" width="100%" /><br />
            <table cellspacing="0" cellpadding="0" border="0">
                <tbody>
                    <tr>
                        <td valign="middle"><img height="16" alt="" src="https://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" /><br />
                        </td>
                        <td valign="top" align="right"><a class="fbox" href="https://www6.software.ibm.com/developerworks/cn/education/rational/r-face/section4.html#main" cmimpressionsent="1"><strong>回页首</strong></a></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<p><a name="N104A0"><span class="smalltitle">FBML</span></a></p>
<p>您需要提供 Facebook 可以嵌入到其页面中的内容，但是您不能像在您自己的网站上那样，使用直接的 HTML 和 Javascript。Facebook 需要确保内容不包含任何恶意的 Javascript，并且希望使应用程序尽可能简单地将 Facebook 环境中的信息包含在您的提交内容中。</p>
<p>Facebook 对于这一问题的解决方法就是 FBML（FaceBook 标记语言），一种当 Facebook 提交您的应用程序的内容是所使用的 XML 语言。您可以将 Facebook 认为是一个文本预处理器，就像 XSLT 或者 PHP，它将 FBML 内容转换为 HTML，代替不同的 Facebook 标签下关于用户或者环境的数据。为了取代失去的 Javascript 功能，Facebook 提供了 FBJS 语言（FaceBook JavaScript）。为了简化到 Facebook 数据库的复杂查询，并且减少所需的调用的数量，Facebook 提供了 FQL（FaceBook 查询语言，SQL 的一个变体）。图 30 中描绘了信息从您的应用程序服务器到用户浏览器的流程。</p>
<br />
<a name="N104AE"><strong>图 30. 从应用程序服务器到用户浏览器的信息通告的流程</strong></a><br />
&nbsp;<br />
<p>大多数 FBML 标签在语法上同 THML 标签都是一致的，但是 FBML 还提供了许多行为标签，以及从 Facebook 数据库中提取信息并且包含在您的内容中的标签。您将在第 2 部分中对相关内容做进一步的研究。</p>
<p>至于 FBJS（Facebook Javascript），它仅仅是做出某些修改后的 Javascript。Facebook 从语法上对您常见的 Javascript 代码进行了分析，并且在传递到浏览器之前做出了一些改变。它同样对 DOM 进行了修改，对于访问和修改元素加入了限制。您将在第 2 部分中看到更多关于这种改变的详细内容。</p>
<p>Facebook 还通过一个 AJAX 对象提供了功能强大的 AJAX。所有的 AJAX 请求都通过 Facebook 的服务器被代理，从而使您能够将 FBML 代码作为一个 AJAX 请求的结果返回。Facebook 对于 FBML 代码的处理同它对其他代码的处理一样，在适当的位置（比如 <code>&lt;fb:name&gt;</code>）插入 Facebook 数据，并且您的 AJAX 调用被返回一个对象，该对象能够通过一个 DOM 元素的 <code>setInnerFBML()</code> 函数设置为该元素的&#8220;内部 FBML&#8221;。出于安全性的原因，Facebook 并不支持&#8220;内部 HTML&#8221;，但是一个 <code>setInnerXHTML()</code> 函数正在测试之中。</p>
<br />
<table cellspacing="0" cellpadding="0" width="100%" border="0">
    <tbody>
        <tr>
            <td><img height="1" alt="" src="https://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /><br />
            <img height="6" alt="" src="https://www.ibm.com/i/c.gif" width="8" border="0" /></td>
        </tr>
    </tbody>
</table>
<table class="no-print" cellspacing="0" cellpadding="0" align="right">
    <tbody>
        <tr align="right">
            <td><img height="4" alt="" src="https://www.ibm.com/i/c.gif" width="100%" /><br />
            <table cellspacing="0" cellpadding="0" border="0">
                <tbody>
                    <tr>
                        <td valign="middle"><img height="16" alt="" src="https://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" /><br />
                        </td>
                        <td valign="top" align="right"><a class="fbox" href="https://www6.software.ibm.com/developerworks/cn/education/rational/r-face/section4.html#main" cmimpressionsent="1"><strong>回页首</strong></a></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<p><a name="N104CF"><span class="smalltitle">WebSphere Application Server 和 Facebook 的服务器之间的通讯</span></a></p>
我们的应用程序运行在 WebSphere 之下，它必须同 Facebook 进行通讯，而且 Facebook 也必须同您的应用程序进行通讯。Facebook 同您的 PHP 脚本之间的通讯被限制在画布页面请求中，在那里用户可以进行某些活动。当用户进入您的应用程序的画布页面 URL 时（http://www.facebook.com/JakeTestApp），Facebook 代理这一请求到您的远程服务器 URL（http://myserver.url/FacebookTestApp/index.php），并且您的 index.php 返回 FBML。类似地，您的 FBJS 代码发出一个 AJAX 请求，它通过同样的代理并且向您的服务器发出请求。
<p>您的应用程序还需要同 Facebook 进行通讯，在一个请求期间或者是提取信息或者是发送信息。它通过 Facebook 的 REST 接口完成这一操作，这是一个将 API 暴露为您可以通过不同的请求参数进行特定调用的 URL 的 HTTP 接口，并且返回 XML 或者 JSON。您无需担心这些 HTTP 调用或者返回数据的细节，这是因为 Facebook 提供了 PHP、Java 和 Javascript 客户机程序库 —— REST 接口周围的封套处理 HTTP 请求的建造，并且将返回数据整理为在客户机程序语言中可用的数据。</p>
<br />
<table cellspacing="0" cellpadding="0" width="100%" border="0">
    <tbody>
        <tr>
            <td><img height="1" alt="" src="https://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /><br />
            <img height="6" alt="" src="https://www.ibm.com/i/c.gif" width="8" border="0" /></td>
        </tr>
    </tbody>
</table>
<table class="no-print" cellspacing="0" cellpadding="0" align="right">
    <tbody>
        <tr align="right">
            <td><img height="4" alt="" src="https://www.ibm.com/i/c.gif" width="100%" /><br />
            <table cellspacing="0" cellpadding="0" border="0">
                <tbody>
                    <tr>
                        <td valign="middle"><img height="16" alt="" src="https://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" /><br />
                        </td>
                        <td valign="top" align="right"><a class="fbox" href="https://www6.software.ibm.com/developerworks/cn/education/rational/r-face/section4.html#main" cmimpressionsent="1"><strong>回页首</strong></a></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<p><a name="N104D8"><span class="smalltitle">使用客户机程序库</span></a></p>
<p>客户机程序库提供了一个 Facebook 客户机 API 对象，它是一个将我们的方法调用转换为向 Facebook 服务器的请求的一个代理对象。举例来说，要获得当前用户的朋友，您只需要调用一个 Facebook 对象上的函数即可（请参见列表 1 中所示）。</p>
<br />
<a name="N104E5"><strong>列表 1. 通过 PHP 客户机程序库获得当前用户的朋友</strong></a><br />
<table cellspacing="0" cellpadding="0" width="100" border="0">
    <tbody>
        <tr>
            <td class="code-outline">
            <pre class="displaycode">                     $friends = $facebook-&gt;friends_get();</pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<p>我们还可以将信息发送到 Facebook 中（对信息进行升级）。举例来说，剖面盒同画布页面的工作方式是不同的（请参见 <a href="https://www6.software.ibm.com/developerworks/cn/education/rational/r-face/section4.html#profilebox" cmimpressionsent="1">剖面盒</a> 和 <a href="https://www6.software.ibm.com/developerworks/cn/education/rational/r-face/section4.html#canvaspage" cmimpressionsent="1">画布页面</a> 小节）。您并不是等待 Facebook 查询您的服务器以获得一位用户的剖面盒的内容，而是必须在希望改变时发出明确地内容。Facebook 随后将剖面盒内容存储在它的服务器上。这样做的意义在于，如果剖面盒内容不存储在 Facebook 上面，那么 Facebook 将在每次查看包含您的应用程序的用户剖面时访问您的服务器，并且用户将在访问其他用户的剖面时花费大量的时间。对于一个受欢迎的应用程序来说，这将导致大量的服务器负载，并且在加载剖面页面时加长等待时间。为了改变用户剖面上的您的应用程序的剖面盒的内容，您只需要再次调用由 PHP 客户端程序库所提供的 <code>$facebook</code> 对象上面的一个方法（请参见列表 2 中所示）。</p>
<br />
<a name="N104FE"><strong>列表 2. 在当前用户的剖面页面设置您的应用程序的剖面的内容</strong></a><br />
<table cellspacing="0" cellpadding="0" width="100" border="0">
    <tbody>
        <tr>
            <td class="code-outline">
            <pre class="displaycode">                     $facebook-&gt;profile_setFBML ('New profile box content', $user);</pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<p>每一次方法调用都向 Facebook 发出一个明确地请求。随着您的应用程序变得愈加复杂，您的 PHP 代码也必须向 Facebook 查询越来越复杂的数据，并且这些数据依赖于先前功能调用的结果。举例来说，您可能希望取得当前用户相册中的所有人的名字，这需要您首先调用 Facebook 请求所有的用户相册，然后请求那些相册中的相片，然后请求那些相片中的相片标签，然后请求相片标签的用户 —— 大量的工作、大量的 Facebook 服务器请求、以及大量的 PHP 代码。</p>
<br />
<table cellspacing="0" cellpadding="0" width="100%" border="0">
    <tbody>
        <tr>
            <td><img height="1" alt="" src="https://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /><br />
            <img height="6" alt="" src="https://www.ibm.com/i/c.gif" width="8" border="0" /></td>
        </tr>
    </tbody>
</table>
<table class="no-print" cellspacing="0" cellpadding="0" align="right">
    <tbody>
        <tr align="right">
            <td><img height="4" alt="" src="https://www.ibm.com/i/c.gif" width="100%" /><br />
            <table cellspacing="0" cellpadding="0" border="0">
                <tbody>
                    <tr>
                        <td valign="middle"><img height="16" alt="" src="https://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" /><br />
                        </td>
                        <td valign="top" align="right"><a class="fbox" href="https://www6.software.ibm.com/developerworks/cn/education/rational/r-face/section4.html#main" cmimpressionsent="1"><strong>回页首</strong></a></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<p><a name="N10507"><span class="smalltitle">FQL</span></a></p>
<p>此外，您可以使用单一的 FQL 查询（Facebook 查询语言），它是 Facebook 提供的一种 SQL 的变体，用来直接查询数据库和核心应用程序的数据。FQL 只允许在 <code>from</code> 子句中出现一个数据表，但是允许在 select 和 where 子句中使用子查询，所以下面的 FQL 查询所得到的结果同上面所描述的一致（标签用户的名字），但是在一个单一的查询中，我们的代码将会更加简明和易于读写（请参见列表 3 中所示）。</p>
<br />
<a name="N10518"><strong>列表 3. FQL 示例 —— 选择一个用户相册中的所有标签用户的名字</strong></a><br />
<table cellspacing="0" cellpadding="0" width="100" border="0">
    <tbody>
        <tr>
            <td class="code-outline">
            <pre class="displaycode">            select first_name from user
            where uid in
            (select subject from photo_tag where pid in
            (select pid from photo where aid in
            (select aid from album where owner = 563830447)))</pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<p>在列表 3 中，563830447 是作者的 Facebook 号码。这一 FQL 请求将返回一个 XML，并且作为 Facebook REST 响应的一个实例（请参见列表 4 中所示）。</p>
<br />
<a name="N10525"><strong>列表 4. FQL 查询响应</strong></a><br />
<table cellspacing="0" cellpadding="0" width="100" border="0">
    <tbody>
        <tr>
            <td class="code-outline">
            <pre class="displaycode">            &lt;?xml version="1.0" encoding="UTF-8"?&gt;
            &lt;fql_query_response xmlns="http://api.facebook.com/1.0/"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" list="true"&gt;
            &lt;user&gt;
            &lt;first_name&gt;Jake&lt;/first_name&gt;
            &lt;/user&gt;
            &lt;/fql_query_response&gt;</pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
<p>您可以对此进行检验，并且通过 FBML 片段进行实验。使用的工具是 Facebook 的开发器测试控制台：http://developers.facebook.com/tools.php?api （请参见图 31 所示）。</p>
<br />
<a name="N10530"><strong>图 31. Facebook API 测试控制台</strong></a><br />
&nbsp;<br />
<p>使用 FBML、FBJS、FQL 和 Facebook 客户机程序库，您可以开发出一个能够很好地被集成到环境之中，并且能够提供强大功能的应用程序。现在，我们可以开始创建我们的应用程序了。</p>
<br />
<table cellspacing="0" cellpadding="0" width="100%" border="0">
    <tbody>
        <tr>
            <td><img height="1" alt="" src="https://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /><br />
            <img height="6" alt="" src="https://www.ibm.com/i/c.gif" width="8" border="0" /></td>
        </tr>
    </tbody>
</table>
<br />
<img src ="http://www.blogjava.net/lunbobi/aggbug/216699.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lunbobi/" target="_blank">仑波比</a> 2008-07-22 20:27 <a href="http://www.blogjava.net/lunbobi/articles/216699.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>暑假小结</title><link>http://www.blogjava.net/lunbobi/archive/2008/07/22/216688.html</link><dc:creator>仑波比</dc:creator><author>仑波比</author><pubDate>Tue, 22 Jul 2008 11:18:00 GMT</pubDate><guid>http://www.blogjava.net/lunbobi/archive/2008/07/22/216688.html</guid><wfw:comment>http://www.blogjava.net/lunbobi/comments/216688.html</wfw:comment><comments>http://www.blogjava.net/lunbobi/archive/2008/07/22/216688.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lunbobi/comments/commentRss/216688.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lunbobi/services/trackbacks/216688.html</trackback:ping><description><![CDATA[漫长的暑假是炎热的<br />
定个暑期任务先：<br />
1.复习之前的几个项目：TankWar,Shopping,BBS,五子棋<br />
2.提前到校（在开始实习之前）把：Ajax,Hibernate,Spring,CSS.理解并掌握。<br />
3.初步确定毕业设计题目。<br />
<br />
<img src ="http://www.blogjava.net/lunbobi/aggbug/216688.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lunbobi/" target="_blank">仑波比</a> 2008-07-22 19:18 <a href="http://www.blogjava.net/lunbobi/archive/2008/07/22/216688.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>软件工程--小型图书管理系统</title><link>http://www.blogjava.net/lunbobi/archive/2008/05/13/200145.html</link><dc:creator>仑波比</dc:creator><author>仑波比</author><pubDate>Tue, 13 May 2008 02:37:00 GMT</pubDate><guid>http://www.blogjava.net/lunbobi/archive/2008/05/13/200145.html</guid><wfw:comment>http://www.blogjava.net/lunbobi/comments/200145.html</wfw:comment><comments>http://www.blogjava.net/lunbobi/archive/2008/05/13/200145.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/lunbobi/comments/commentRss/200145.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lunbobi/services/trackbacks/200145.html</trackback:ping><description><![CDATA[<p>实验目的：理解 并 掌握 面向对象分析<br />
实验内容：对小型 图书资料系统 分析<br />
实验步骤：交互行为 类图</p>
<p>建类：借书者&nbsp; 系统管理员&nbsp; 图书管工作员</p>
<img src ="http://www.blogjava.net/lunbobi/aggbug/200145.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lunbobi/" target="_blank">仑波比</a> 2008-05-13 10:37 <a href="http://www.blogjava.net/lunbobi/archive/2008/05/13/200145.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>黑客来袭</title><link>http://www.blogjava.net/lunbobi/archive/2008/04/10/191956.html</link><dc:creator>仑波比</dc:creator><author>仑波比</author><pubDate>Thu, 10 Apr 2008 11:00:00 GMT</pubDate><guid>http://www.blogjava.net/lunbobi/archive/2008/04/10/191956.html</guid><wfw:comment>http://www.blogjava.net/lunbobi/comments/191956.html</wfw:comment><comments>http://www.blogjava.net/lunbobi/archive/2008/04/10/191956.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lunbobi/comments/commentRss/191956.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lunbobi/services/trackbacks/191956.html</trackback:ping><description><![CDATA[&nbsp;&nbsp; 非常不幸，我们学校的网站被**黑客联盟给攻击了，我们系主页（计算机科学技术与应用）也被黑了.....<br />
&nbsp;&nbsp; 万恶的黑客 
<img src ="http://www.blogjava.net/lunbobi/aggbug/191956.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lunbobi/" target="_blank">仑波比</a> 2008-04-10 19:00 <a href="http://www.blogjava.net/lunbobi/archive/2008/04/10/191956.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>