<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:a10="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dcterms="http://purl.org/dc/terms/"><title>清凉水都</title><description /><language>en-us</language><lastBuildDate>Thu, 29 Oct 2009 12:11:47 Z</lastBuildDate><generator>Microsoft Windows Live Spaces 14.3</generator><link>http://ebakeshop.spaces.live.com/</link><pubDate>Thu, 02 Jun 2005 05:30:37 GMT</pubDate><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><live:type>main</live:type><live:typelabel>Main</live:typelabel><live:identity><live:id>1902444047176493061</live:id><live:alias>ebakeshop</live:alias></live:identity><image><title>清凉水都</title><url>http://byfiles.storage.live.com/y1pFuZKbbhGBIuIndKPweM_c2cqiF2TqUogfHggRIVysrKvKxITxLy22kv6LN_oQZiwt9M84TI8stI</url><link>http://ebakeshop.spaces.live.com/</link></image><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss/" element="typelabel" label="Type" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /></cf:listinfo><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/e-bread" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><guid isPermaLink="false">1A66D6C80502E805!368</guid><category>宣泄生活</category><title>IT非技术人员也要学一点技术</title><description>&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px"&gt;Technorati 标签: &lt;a href="http://technorati.com/tags/%e6%8a%80%e6%9c%af" rel="tag"&gt;技术&lt;/a&gt;,&lt;a href="http://technorati.com/tags/%e7%a8%8b%e5%ba%8f" rel="tag"&gt;程序&lt;/a&gt;&lt;/div&gt; &lt;p&gt;    这年头，做技术的是苦命的，做IT技术就更是苦命的。IT技术人员既要智商，又要情商。不光要技术过硬，还要有一定的艺术细胞，最好懂得各种行业的行业知识。而反观我们的IT内非技术人员呢？自诩是在高新技术产业中的高级人才，比编程这种民工级的活动要高级的多，对技术不屑一顾，反倒以不关注技术为荣。而反观其他行业，非技术人员都还是要懂得一些技术的，例如房屋格局的设计，你再异想天开也要符合物理学原理吧。那么IT行业真的是这么独特吗？技术人员可以拯救一切的吗？至少从我自身的经历来看，技术人员的能力真的有限的可怜，下面我就谈谈我的感受。&lt;/p&gt; &lt;p&gt;    首先说说需求分析人员或者叫客户专员，总的来说这些人还真的不需要特意学习一些技术，只要平时用软件的时候留留心就够用了，知道哪些能做哪些不能做就行了；但是，如果项目中存在着不需要二次设计的东西时，就大不一样了，例如报表。国内的报表是出了名的难啊，对于一些古怪的报表，不是无法完成，就是制作成本太高（成分是老板控制的，技术人员做不了主），最终往往流产，给项目的验收带来麻烦。作为一个需求分析人员，是要对这种拿来就用的需求背后的技术有一定了解的，因为这些需求只有一道关，过了你这关，后续的其他环节就只有放行了。&lt;/p&gt; &lt;p&gt;   接下来咱们再说说功能设计人员和UI设计人员，这部分设计人员往往是本业务很熟，会一些数据分析和流程控制相关的知识，深知客户的习惯。按理说只要最大满足客户需求，符合一般的设计规则进行设计就好了，不过这样设计往往会给整个软件或者项目带来意想不到的结果。&lt;/p&gt; &lt;p&gt;    例如在功能页面的设计上，设计人员大多是知道不能设计过多的功能的，往往一个页面一个功能，但是就是这么简单的设计，也会让技术人员头痛不已。我就以一个简单的查询为例，为了满足当天的实时需求与月详细报告，设计人员将这两个需求合二为一，增加了时间范围的查询条件，从而满足了需求。从设计上看这没什么问题，但是从技术上看，问题就大了。实时数据属于联机事务，而月详细报告属于数据仓库，而这两者的技术配置完全相反，换句话说如果实时数据查询速度快了，那么月详细报告就慢了，反之亦然。从技术上说二者是不能合并的统一的。此外还有更来气的UI设计，光考虑用户体验了，完全不考虑如何获取和控制数据，经常出现只知道事件开始，不知道事件结束的UI设计，就好比你打个电话说你不久就回来，给你留门，却没有说什么时候回来一样。最后的技术解决办法只有定时监听来解决，多了的话大大降低软件的执行效率，好的UI效果也显示不出来了，反而带来更差的客户体验。更让人头痛就是横表显示的数据表格，从界面设计上看，完全没问题，但技术人员就犯难了，要不牺牲可扩展性，要不牺牲性能，没有一个两全的办法，更头痛的是开发体力劳动高，对于程序员这种四肢不勤的人来说简直是地狱。&lt;/p&gt; &lt;p&gt;    所以我还是建议功能设计和UI设计人员学一些技术，至少要知道自己所设计软件的技术信息，如果有能力的话可以学学如何编程，设计完成后，可以简单的实现一下，看看是否可行，减少设计文档辗转于几个部门，返工的事件的发生。&lt;/p&gt; &lt;p&gt;    最后就要谈谈项目经理了，这个已经是老生长谈了，在项目经理这个问题上，就不是懂不懂技术的问题了，项目经理不懂技术那软件基本就废了，就好比开车的人不知道开的是自动挡的还是手动挡的，不出事才怪呢。重点是项目经理是否懂得最新的技术发展，我就曾经遇到过这样一个项目经理，是从技术员提上来的，对自己过去的技术实力十分自豪，经常向我们讲述10年前利用Dephi开发的故事，可惜的是这位项目经理之后完全没有学习新的技术，管理方式还是Dephi开发的管理方式，对技术开发本身的评估不正确，基本上没有给技术人员改进现有模板和平台时间，大大降低了开发进度，还影响了质量。在软件生存周期中，开发和测试是项目中是很占时间的（现在开发已经占时间很少了，但要组织好才行），如果对现有开发技术不太了解的话，就会出现由于时间安排不合理造成的软件质量问题，这是公司高层最不愿看到的现象，项目经理的位子就危了。毕竟项目经理这个职位多数都不愿低下头来主动听取技术部门的意见，所以还是项目经理只好自己学学吧。&lt;/p&gt; &lt;p&gt;   IT并不独特，和其他行业一样，设计与管理最终的目的都要通过IT技术实现，无法实现的设计与管理都是浪费时间与金钱，而技术人员还多是长颈鹿，看着精明，却不善言谈。所以为了自己，也为了别人，还是学点技术好，至少下次和技术人员吵架时不会被术语搞蒙，你说对不。&lt;/p&gt; &lt;p&gt;PS：最近被调到一个老项目组做扫尾工作，天天忙碌于由于非技术人员不懂技术所造成的技术问题，有所感触，特写此文，以发泄心中不快。&lt;/p&gt;  </description><pubDate>Thu, 22 Oct 2009 14:44:03 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/PFeVzb16jDM/cns!1A66D6C80502E805!368.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!368.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!368')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2009-10-22T14:44:03.9030000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!368.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!364</guid><category>PL/SQL</category><title>ORACLE DBA/USER操作</title><description>&lt;p&gt;获取数据表主键SQL（Oracle）&lt;br /&gt;SELECT   D.COLUMN_NAME   AS   COLNAME   FROM  &lt;p&gt;USER_CONS_COLUMNS   D,USER_CONSTRAINTS   M   &lt;br /&gt;WHERE   M.CONSTRAINT_NAME=D.CONSTRAINT_NAME   &lt;br /&gt;AND   M.CONSTRAINT_TYPE='P'   &lt;br /&gt;AND   M.TABLE_NAME= :P_TableName  &lt;p&gt;ORACLE&lt;br /&gt;特殊&lt;br /&gt;&amp;amp;Oslash;    ORACLE只能连接特定数据库，不能自动扫描数据库对象。&lt;br /&gt;&amp;amp;Oslash;    ORACLE表必须用用户来区别，否则表可能重名。&lt;br /&gt;&amp;amp;Oslash;    ORACLE不能区别系统表或者是用户表，因此只能由管理员选择扫描某些特定用户的表。&lt;br /&gt;取得数据库名的方法&lt;br /&gt;只能由用户指定数据库，不能自动扫描到特定数据库服务器上的所有数据库。&lt;br /&gt;取得表的方法&lt;br /&gt;存储数据库表的系统表/视图主要有：&lt;br /&gt;DBA_ALL_TABLES&lt;br /&gt;描述数据库中所有的对象以及相关的表。&lt;br /&gt;ALL_ALL_TABLES&lt;br /&gt;描述数据库中所有的用户可以访问的对象以及相关的表。&lt;br /&gt;USER_ALL_TABLES&lt;br /&gt;描述数据库中当前用户拥有的对象以及相关的表。  &lt;p&gt;DBA_ TABLES&lt;br /&gt;描述数据库中所有相关的表。&lt;br /&gt;ALL_ TABLES&lt;br /&gt;描述数据库中所有的用户可以访问的相关的表。&lt;br /&gt;USER_ TABLES&lt;br /&gt;描述数据库中当前用户拥有的相关的表。  &lt;p&gt;因此，可以从ALL_TABLES中取得隶属于指定用户的表：&lt;br /&gt;SELECT TABLE_NAME FROM SYS.ALL_TABLES WHERE OWNER = 'DBAUDIT';&lt;br /&gt;取得隶属于指定表空间的表：&lt;br /&gt;SELECT TABLE_NAME FROM SYS.ALL_TABLES WHERE TABLESPACE_NAME = 'DBAUDIT';  &lt;p&gt;也可以不指定用户名，从而取得所有的表。&lt;br /&gt;SELECT TABLE_NAME FROM SYS.ALL_TABLES；&lt;br /&gt;取得列的方法&lt;br /&gt;存储数据库表的列属性的系统表/视图主要有：&lt;br /&gt;DBA_TAB_COLUMNS&lt;br /&gt;描述数据库中所有的表的列属性。&lt;br /&gt;ALL_TAB_COLUMNS&lt;br /&gt;描述数据库中所有的用户可以访问的表的列属性。&lt;br /&gt;USER_TAB_COLUMNS&lt;br /&gt;描述数据库中当前用户拥有的表的列属性。&lt;br /&gt;ALL_TAB_COLS&lt;br /&gt;描述数据库中所有的用户可以访问的表的列属性。  &lt;p&gt;因此，可以从ALL_TAB_COLUMNS中取得隶属于指定用户的表：&lt;br /&gt;SELECT COLUMN_NAME FROM SYS.ALL_TAB_COLUMNS WHERE TABLE_NAME = 'TASK' AND OWNER = 'DBAUDIT';&lt;br /&gt;取得视图的方法&lt;br /&gt;存储数据库视图的系统表/视图主要有：&lt;br /&gt;DBA_VIEWS&lt;br /&gt;描述数据库中所有的视图的属性。&lt;br /&gt;ALL_VIEWS&lt;br /&gt;描述数据库中所有的用户可以访问的视图的属性。&lt;br /&gt;USER_VIEWS&lt;br /&gt;描述数据库中所有的当前用户拥有视图的属性。  &lt;p&gt;因此，可以从ALL_VIEWS中取得隶属于指定用户的视图：&lt;br /&gt;SELECT VIEW_NAME FROM SYS.ALL_VIEWS WHERE OWNER = 'DBAUDIT';&lt;br /&gt;取得存储过程的方法&lt;br /&gt;存储系统对象的系统表/视图有：&lt;br /&gt;DBA_OBJECTS&lt;br /&gt;描述数据库中所有的对象。&lt;br /&gt;ALL_OBJECTS&lt;br /&gt;描述数据库中所有的可以访问的对象。&lt;br /&gt;USER_OBJECTS&lt;br /&gt;描述数据库中所有的当前用户拥有的对象。&lt;br /&gt;SYS_OBJECTS&lt;br /&gt;描述数据库中所有的系统对象。？  &lt;p&gt;对象类型有：&lt;br /&gt;CONSUMER GROUP&lt;br /&gt;CONTEXT&lt;br /&gt;DIRECTORY&lt;br /&gt;FUNCTION&lt;br /&gt;INDEX&lt;br /&gt;INDEX PARTITION&lt;br /&gt;INDEXTYPE&lt;br /&gt;JAVA CLASS&lt;br /&gt;JAVA DATA&lt;br /&gt;JAVA RESOURCE&lt;br /&gt;JAVA SOURCE&lt;br /&gt;LIBRARY&lt;br /&gt;LOB&lt;br /&gt;MATERIALIZED VIEW&lt;br /&gt;OPERATOR&lt;br /&gt;PACKAGE&lt;br /&gt;PACKAGE BODY&lt;br /&gt;PROCEDURE&lt;br /&gt;QUEUE&lt;br /&gt;SEQUENCE&lt;br /&gt;SYNONYM&lt;br /&gt;TABLE&lt;br /&gt;TABLE PARTITION&lt;br /&gt;TRIGGER&lt;br /&gt;TYPE&lt;br /&gt;TYPE BODY&lt;br /&gt;VIEW  &lt;p&gt;因此，取得存储过程可以用：&lt;br /&gt;SELECT OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE = 'PROCEDURE';&lt;br /&gt;取得隶属于某个用户的存储过程可以用：&lt;br /&gt;SELECT OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE = 'PROCEDURE' AND OWNER = ‘DBAUDIT’;  &lt;p&gt;同样，取得其他的对象也可以用这个方法，包括表，视图等。&lt;br /&gt;取得存储过程内容的方法&lt;br /&gt;对象类型为类型、类型体、过程、函数、包、包体，JAVA源代码的所有对象的源代码都存储在几个系统表/视图中：&lt;br /&gt;DBA_SOURCE&lt;br /&gt;存储所有数据库对象的源代码。&lt;br /&gt;ALL_SOURCE&lt;br /&gt;存储所有可以访问的数据库对象的源代码。&lt;br /&gt;USER_SOURCE&lt;br /&gt;存储所有当前用户拥有的数据库对象的源代码。  &lt;p&gt;因此，取得存储过程源代码的方法：&lt;br /&gt;SELECT TEXT FROM SYS.ALL_SOURCE WHERE NAME = ‘XXX’ AND TYPE = ‘PROCEDURE’;&lt;br /&gt;取得函数的方法&lt;br /&gt;同上，取得函数可以用：&lt;br /&gt;SELECT OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE = 'FUNCTION';&lt;br /&gt;取得隶属于某个用户的函数可以用：&lt;br /&gt;SELECT OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE = 'FUNCTION' AND OWNER = 'DBAUDIT';  &lt;p&gt;取得函数内容可以用：&lt;br /&gt;SELECT TEXT FROM SYS.ALL_SOURCE WHERE NAME = 'XXX' AND TYPE = 'FUNCTION';&lt;br /&gt;取得触发器的方法&lt;br /&gt;存储数据库触发器的系统表/视图主要有：&lt;br /&gt;DBA_TRIGGERS&lt;br /&gt;描述数据库中所有的触发器的属性。&lt;br /&gt;ALL_ TRIGGERS&lt;br /&gt;描述数据库中所有的用户可以访问的触发器的属性。&lt;br /&gt;USER_ TRIGGERS&lt;br /&gt;描述数据库中所有的当前用户拥有触发器的属性。  &lt;p&gt;因此，可以从ALL_ TRIGGERS中取得隶属于指定用户的触发器：&lt;br /&gt;SELECT TRIGGER_NAME FROM SYS.ALL_TRIGGERS WHERE OWNER = 'DBAUDIT';  &lt;p&gt;取得触发器内容的方法：&lt;br /&gt;SELECT TRIGGER_BODY FROM SYS.ALL_TRIGGERS WHERE TRIGGER_NAME = 'XXX';&lt;br /&gt;取得索引的方法&lt;br /&gt;存储数据库索引的系统表/视图主要有：&lt;br /&gt;DBA_INDEXES&lt;br /&gt;描述数据库中所有的索引的属性。&lt;br /&gt;ALL_ INDEXES&lt;br /&gt;描述数据库中所有的用户可以访问的索引的属性。&lt;br /&gt;USER_ INDEXES&lt;br /&gt;描述数据库中所有的当前用户拥有索引的属性。  &lt;p&gt;因此，可以从ALL_ INDEXES中取得隶属于指定用户的索引：&lt;br /&gt;SELECT INDEX_NAME,TABLE_NAME FROM SYS.ALL_INDEXES WHERE OWNER = 'DBAUDIT';  &lt;p&gt;取得索引相关的列的方法：&lt;br /&gt;SELECT COLUMN_NAME FROM SYS.ALL_IND_COLUMNS WHERE INDEX_NAME = 'XXX' AND TABLE_OWNER = 'DBAUDIT';&lt;br /&gt;用户&lt;br /&gt;存储数据库用户的系统表/视图主要有：&lt;br /&gt;DBA_USERS&lt;br /&gt;描述数据库中所有的用户的属性。&lt;br /&gt;ALL_USERS&lt;br /&gt;描述数据库中所有的用户的属性。&lt;br /&gt;USER_USERS&lt;br /&gt;描述数据库中当前用户的属性。  &lt;p&gt;因此，可以从ALL_USERS中取得用户：&lt;br /&gt;SELECT USER_ID, USERNAME FROM SYS.ALL_USERS;&lt;br /&gt;角色&lt;br /&gt;存储角色的表/视图有：&lt;br /&gt;DBA_ROLES&lt;br /&gt;描述数据库中所有角色。  &lt;p&gt;取得角色方法：&lt;br /&gt;SELECT ROLE FROM SYS.DBA_ROLES;&lt;br /&gt;表空间&lt;br /&gt;SELECT TABLESPACE_NAME FROM SYS.DBA_TABLESPACES;&lt;br /&gt;数据文件&lt;br /&gt;SELECT FILE_NAME, FILE_ID, TABLESPACE_NAME FROM SYS.DBA_DATA_FILES;&lt;br /&gt;数据库连接&lt;br /&gt;存储数据库连接的系统表/视图主要有：&lt;br /&gt;DBA_LINKS&lt;br /&gt;描述数据库中所有的连接的属性。&lt;br /&gt;ALL_LINKS&lt;br /&gt;描述数据库中所有的用户可访问的连接的属性。&lt;br /&gt;USER_LINKS&lt;br /&gt;描述数据库中当前用户的连接属性。  &lt;p&gt;因此，可以从DBA_DB_LINKS中取得连接：&lt;br /&gt;SELECT * FROM SYS.DBA_DB_LINKS;  &lt;p&gt;同义词&lt;br /&gt;SELECT * FROM SYS.ALL_SYNONYMS WHERE TABLE_OWNER = 'DBAUDIT';&lt;br /&gt;程序包&lt;br /&gt;取得程序包可以用：&lt;br /&gt;SELECT OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE = 'PACKAGE';&lt;br /&gt;取得隶属于某个用户的程序包可以用：&lt;br /&gt;SELECT OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE = 'PACKAGE' AND OWNER = 'DBAUDIT';  &lt;p&gt;取得程序包内容可以用：&lt;br /&gt;SELECT TEXT FROM SYS.ALL_SOURCE WHERE NAME = 'XXX' AND TYPE = 'PACKAGE';&lt;br /&gt;程序包体&lt;br /&gt;取得程序包体可以用：&lt;br /&gt;SELECT OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE = 'PACKAGE BODY';&lt;br /&gt;取得隶属于某个用户的程序包可以用：&lt;br /&gt;SELECT OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE = 'PACKAGE BODY ' AND OWNER = 'DBAUDIT';  &lt;p&gt;取得程序包内容可以用：&lt;br /&gt;SELECT TEXT FROM SYS.ALL_SOURCE WHERE NAME = 'XXX' AND TYPE = 'PACKAGE BODY ';&lt;/p&gt;  </description><pubDate>Thu, 16 Jul 2009 15:35:52 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/RZHFYwSgf7s/cns!1A66D6C80502E805!364.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!364.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!364')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2009-07-16T15:35:52.9800000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!364.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!363</guid><title>用VisualStudio自动生成WCF 双工协议配置文件的注意事项</title><description>&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px"&gt;Technorati 标签: &lt;a href="http://technorati.com/tags/WCF" rel="tag"&gt;WCF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Duplex" rel="tag"&gt;Duplex&lt;/a&gt;&lt;/div&gt; &lt;p&gt;最近后朋友问关于WCF的问题，于是就看了看，本来自己是要做WPF的，做到后面发现太需要美工的能力了，于是就放慢速度，分些精力看其他的东西。起先想先看看WF的，不过文献太少，而且MSDN上写的好深奥，于是就借着朋友的机会开始尝试使用WCF，试用了一下，发现在客户端自动生成配置文件上会有些问题，于是就写个网志记录一下。&lt;/p&gt; &lt;p&gt;双工中自动生成的配置文件不会自动生成ClientBaseAddress的地址，要自己写，否则连不上服务的。&lt;/p&gt;  </description><pubDate>Thu, 16 Jul 2009 15:35:43 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/YjiKd4cvDxM/cns!1A66D6C80502E805!363.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!363.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!363')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2009-07-16T15:35:43.6000000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!363.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!362</guid><title>WCF服务端发送自定错误</title><description>&lt;p&gt;[ServiceContract]&lt;/p&gt; &lt;p&gt;[FaltException(typeof(CustomException))]&lt;/p&gt; &lt;p&gt;CustomException是序列化数据&lt;/p&gt; &lt;p&gt;ServiceDebugBehavior debug = new ServiceDebugBehavior();&lt;/p&gt; &lt;p&gt;debug.IncludeExceptionDetailInFaults = fales;&lt;/p&gt; &lt;p&gt;ServiceHost.Description.Behaviors.Add(debug)前要先清除自动生成Debug行为&lt;/p&gt; &lt;p&gt;ServiceHost.Description.Behaviors.Remove&amp;lt;ServiceDebugBehavior&amp;gt;();因为会自动生成而Behaviors是一个KeyTypeOfCollection,因此无法容下两个同类型的对象。&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;客户端截获用Cath(FaultException&amp;lt;CustomException&amp;gt; ex)，注意这个ex的类型是FaultException,如果想要用自己的错误类型，需要这样:ex.Details,这样返回的就是CustomException了，之后就可以获取自定的信息和操作了。&lt;/p&gt;  </description><pubDate>Thu, 16 Jul 2009 15:35:11 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/NzcxY4qUlrg/cns!1A66D6C80502E805!362.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!362.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!362')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2009-07-16T15:35:11.0330000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!362.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!359</guid><category>PL/SQL</category><title>PL/SQL FORALL语句的一些注意事项</title><description>&lt;div style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px"&gt;Technorati 标签: &lt;a href="http://technorati.com/tags/PL/SQL" rel="tag"&gt;PL/SQL&lt;/a&gt;,&lt;a href="http://technorati.com/tags/FORALL" rel="tag"&gt;FORALL&lt;/a&gt;&lt;/div&gt; &lt;p&gt;1.对于引用的处理&lt;br /&gt;FORALL在使用集合的时候无法用引用的方式调用数据，例如: &lt;p&gt;Forall i in tab.First .. tab.Last&lt;br /&gt;   delete  Table where col = tab（i）.col &lt;p&gt;这样是无法编译通过的，所以不要指望用Selete * Bulk Collecte into row_tab到一个记录集合，在通过FORALL的方式来快速处理表格数据了，要做的话只能用标准SQL语句解决了，或者一列一列的改（注：多集合的情况下，FORALL会默认按FOR……LOOP的方式处理数据，就谈不上优化了）。 &lt;p&gt;2.关于异常处理的一些例外和机制猜想&lt;br /&gt;虽然Forall可以通过调用Save Exceptions和块的Exception来跳过错误继续执行后面DML，但是当因为调用的集合缺失数据而发生错误的时候并不一定会跳过继续进行，下面举个简单的例子： &lt;p&gt;Declare&lt;br /&gt;TYPE t_tab IS TABLE OF Varchar2(3); &lt;p&gt;v_tab  t_tab := t_tab('1','2','3','4','5','6'); &lt;p&gt;BEGIN&lt;br /&gt;v_tab.DELETE(1);&lt;br /&gt;v_tab.DELETE(2);&lt;br /&gt;v_tab.DELETE(5); &lt;p&gt;FORALL i IN v_tab.FIRST .. v_tab.LAST SAVE EXCEPTIONS&lt;br /&gt;UPDATE  TestTable  SET t_value = 'Changed'&lt;br /&gt;WHERE   t_id = v_tab(i); &lt;p&gt;DBMS_OUTPUT.PUT_LINE('END'); &lt;p&gt;EXCEPTIONS&lt;br /&gt;WHEN others THEN&lt;br /&gt;NULL;&lt;br /&gt;END; &lt;table cellspacing="0" cellpadding="2" width="313" border="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="100"&gt;最终结果是： &lt;td valign="top" width="47"&gt;1： &lt;td valign="top" width="164"&gt;Unchanged &lt;tr&gt; &lt;td valign="top" width="100"&gt;  &lt;td valign="top" width="47"&gt;2： &lt;td valign="top" width="164"&gt;Unchanged &lt;tr&gt; &lt;td valign="top" width="100"&gt;  &lt;td valign="top" width="47"&gt;3： &lt;td valign="top" width="164"&gt;Changed &lt;tr&gt; &lt;td valign="top" width="100"&gt;  &lt;td valign="top" width="47"&gt;4： &lt;td valign="top" width="164"&gt;Changed &lt;tr&gt; &lt;td valign="top" width="100"&gt;  &lt;td valign="top" width="47"&gt;5： &lt;td valign="top" width="164"&gt;Unchanged &lt;tr&gt; &lt;td valign="top" width="100"&gt;  &lt;td valign="top" width="47"&gt;6： &lt;td valign="top" width="164"&gt;Unchanged&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;  &lt;p&gt;这个结果是不是看起来很奇怪，如果按照无SAVE EXCEPTIONS的情况下去想，那么结果都应该为Unchanged,如果按照有SAVE EXCEPTIONS的一般情况来想则6应当为Changed。 &lt;p&gt;根据FORALL的处理流程和上面的结果，我个人认为FORALL在执行的时候是这样的： &lt;p&gt;1.生成所有集合记录执行的DML语句&lt;br /&gt;2.将所有语句一起发送给执行器执行&lt;br /&gt;3.执行器逐条执行语句，和For……Loop的方式相似，自动提交和回滚每条记录 &lt;p&gt;因为只提交一次DML所以在集合中有多条集合时，效率会大大优于For……Loop。那么产生上述问题的原因就在第一步生成DML语句的时候了。由于1和2的数据不存在，无法产生DML语句，于是继续检索后面的集合，到3的时候可以正常生成。到5的时候又不能生成了，关键点就在这之后的处理了，引擎并没有尝试去生成后面的语句，而是直接跳出的生成环节，所以6理所当然的没有被更新了，因为根本没有生成对应的语句。 &lt;p&gt;因此对于添加SAVE EXCEPTIONS的FORALL的错误处理，是分为两个部分的： &lt;p&gt;1.在生成语句阶段，引擎是从生成第一个正常语句开始到再遇到错误截止，换句话说只能跳过头部的连续错误，而中间的错误会影响其后面的操作。&lt;br /&gt;2.在执行阶段，各个语句相对独立，任何错误都不影响其他语句的执行。 &lt;p&gt;最后，建议各位在使用FORALL的时候最好用变长数组（VARRAY）不要用 嵌套表(TABLE),嵌套表是不连续的，而且变长数组（VARRAY）可以避免删除操作，如果实在需要用嵌套表(TABLE)的话，一定要记得检查是否有空数据，然后用TRIM彻底删除后，再用FORALL执行，以避免发生上述问题。  </description><pubDate>Sat, 21 Mar 2009 14:29:31 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/SCx7dEwK9xk/cns!1A66D6C80502E805!359.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!359.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!359')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2009-03-21T14:29:31.7230000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!359.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!325</guid><category>.NET</category><title>.Net（C#）结合IntelliSense写文档注释</title><description>&lt;div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px"&gt;del.icio.us标签: &lt;a href="http://del.icio.us/popular/.Net" rel="tag"&gt;.Net&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/IntelliSense" rel="tag"&gt;IntelliSense&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Comment" rel="tag"&gt;Comment&lt;/a&gt;&lt;/div&gt; &lt;p&gt;作者：e-bread    &lt;/p&gt; &lt;p&gt;在使用VisualStudio的时候，大家可能对内置的IntelliSense功能赞叹不已。高高兴兴的自己写个类，发现这个所谓的IntelliSense并不买账，怎样才能实现.Net系统库那样的IntelliSense功能呢？其实.Net内置了一个XML文档注释功能，VisualStudio可以根据生成的XML文档注释内容，通过反射机制，从而实现IntelliSense功能。当然如果你对反射足够了解，也可以自己分析生成的XML文档，不过这部分不是我们这次关注的问题。&lt;/p&gt; &lt;p&gt;打开MSDN，搜索XML文档注释，你会发现.Net提供了大量的文档注释标记，实际上多数标签对于VisualStudio的IntelliSense来说是没有用的，能用上的也就那么几个，其余的是做其它用处的，例如类型检测等，由于是初步，也就不多说了。啰嗦了半天，下面进入正题，能被IntelliSense识别的标签是：&amp;lt;summary&amp;gt;,&amp;lt;param&amp;gt;,&amp;lt;exception&amp;gt;，换句话说只有这三个标签的内容会显示在快捷信息中。下面我们看一个例子。&lt;/p&gt; &lt;p&gt;       /// &amp;lt;summary&amp;gt;&lt;br /&gt;      /// 这是摘要信息&lt;br /&gt;      /// &amp;lt;/summary&amp;gt;&lt;br /&gt;      /// &amp;lt;param name=&amp;quot;i&amp;quot;&amp;gt;参数1信息&amp;lt;/param&amp;gt;&lt;br /&gt;      /// &amp;lt;param name=&amp;quot;fl&amp;quot;&amp;gt;参数2信息&amp;lt;/param&amp;gt;&lt;br /&gt;      /// &amp;lt;exception cref=&amp;quot;System.Exception&amp;quot;&amp;gt;异常信息，在Cref中制定错误类型&amp;lt;/exception&amp;gt;【！注意这里是一行，由于页面宽度换行了。】&lt;br /&gt;       public string SampleMethod(int i, bool fl)&lt;br /&gt;       {   return &amp;quot; &amp;quot; ;}  &lt;p&gt;细心的人应当发现了，这里注释行前用了三个&amp;quot;/&amp;quot;而不是常用的两个&amp;quot;/&amp;quot;，这是XML文档注释的特征，说明这些注释是要编译的，否则不编译。当然类似块注释，XML注释也可以用&amp;quot;/**  */&amp;quot;进行块注释。不过和一般的块注释不同，XML 的注释块中间的每行前都要加一个&amp;quot;*&amp;quot;，看起来是这个样子：&lt;/p&gt; &lt;p&gt;    /**&lt;br /&gt;     * &amp;lt;summary&amp;gt;摘要信息&amp;lt;/summary&amp;gt;&lt;br /&gt;     */  &lt;p&gt;个人感觉还不如单行方便，而且VisualStudio在块的情况下的IntelliSense支持不好，不会自动添加结束标签，个人不建议使用这种注释方式。  &lt;p&gt;由于是XML文档注释，因此除了前面的“///”外，格式是符合XML规范的，&amp;lt;summary&amp;gt;标签显示对应的摘要信息，&amp;lt;exception&amp;gt;则根据&amp;quot;cref&amp;quot;引用的类型显示异常信息，这两个标签会在IntelliSense成员列表的快速信息中显示，以上面的例子显示如下：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;string SampleMethod(int i, bool fl)&lt;br /&gt;       这是摘要信息&lt;br /&gt;Exceptions:&lt;br /&gt;      System.Exception&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;对于&amp;lt;param&amp;gt;标签，则根据&amp;quot;cref&amp;quot;引用的参数名，根据你在键入的对应函数显示对应的提示信息，例如你在上例中输入参数fl,则快捷信息显示为：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;string SampleMethod(int i,&lt;strong&gt; bool fl&lt;/strong&gt;)&lt;br /&gt; &lt;strong&gt;fl：&lt;/strong&gt;参数2注释&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;我们可以发现异常信息并没有显示出来，并不是VisualStudio没有识别，只不过没有放在快捷信息中，打开对象浏览器（object  browser）这些信息就出来了，其实想&amp;lt;remark&amp;gt;,&amp;lt;returns&amp;gt;也会显示在对象浏览器中，不会显示在快捷信息中。因此我们可以将备注信息和返回值的详细信息写在这两个标签中，当需要查看是可以到对象浏览器中仔细查看。&lt;/p&gt; &lt;p&gt;只要遵守XML注释规范，那么你的代码也可以智能感知，花一点时间写这些注释，会大大提高后面的工作效率，多人合作更是如此，还不赶快去试试！&lt;/p&gt;</description><pubDate>Wed, 17 Sep 2008 12:52:47 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/7AM7WvHvmZA/cns!1A66D6C80502E805!325.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!325.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!325')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2008-09-17T12:52:47.0730000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!325.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!324</guid><category>WPF</category><title>WPF中Page的历史恢复机制</title><description>&lt;div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px"&gt;del.icio.us标签: &lt;a href="http://del.icio.us/popular/WPF" rel="tag"&gt;WPF&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/Page" rel="tag"&gt;Page&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/History" rel="tag"&gt;History&lt;/a&gt;&lt;/div&gt; &lt;p&gt;WPF中的Page调用States类中的Replay方法恢复Page（换句话说原Page的恢复信息保存在State中），&lt;br /&gt;根据这个特点，我们可以继承CustomContentState，将Replay的实现改为调用外部委托实现个性化历史记录,委托的传入参数最好是继承的自定义State本身，例如自定义State名为CustomState，则委托声明为 public delegate void ReplayCustomState(CustomState state),Replay函数里只写ReplayCustomState(this),最后在CustomState构造的时候赋值给ReplayCustomState就可以了。&lt;/p&gt; &lt;p&gt;&lt;br /&gt;此外Replay方法中的具体恢复过程是针对具体要恢复的Page页的。&lt;br /&gt;例如Page中有个Label名为lblName。对应数据State中存储的数据为string Name。&lt;br /&gt;Replay(CustomContentState state)中则写 lblName.Text = state.Name; &lt;/p&gt; &lt;p&gt;虽然自定义了State，不过WPF可不认这一套，最后还要我们将自定State手动记录下来，通过NavigationService的AddBackEntry（CustomContentState）来存储State就可以了，在想存储的地方调用这个方法就可以实现自定义历史记录了，如果根据用户的特定操作记录的话，还可以实现历史回顾特性的撤销功能，和PS很像（不过这个实在历史记录按钮里）&lt;/p&gt; &lt;p&gt;由于自定了State，WPF原有的历史功能就不好用了，因为它在历史功能中存储的还是系统默认的State，这可不是我们想要的结果。于是要自己写个历史程序，还好只要Page继承IProvideCustomContentState接口就可以了。&lt;/p&gt; &lt;p&gt;IProvideCustomContentState提供一个抽象函数 public CustomContenState GetContentState()，GetContentState()在Page触发历史变更按钮的时候触发，返回CustomContentState，所以我们可以返回自己的State，从而存储自定义State，实现历史功能。在返回自定义State前要给JournalName赋值，用于标识不同的State。&lt;br /&gt;虽然在反编译时，会看到当JournalName为空时，WPF自动给它赋值了，不过没有这个在实例CustomState是无法编译的，还是老老实实写上。&lt;br /&gt;多说一句，实际中State存储的JournalName是你输入的JournalName+#+容器名，从而区分不同容器相同JournalName的情况（因为容器名肯定不同）。 &lt;/p&gt; &lt;p&gt;此外，WPF对历史页面调用GetContentState()存储State进行了位置检测，换句话说，如果你在历史界面继续跳转，那么除了传入的State会变外（看你怎么生成传入的State了），State在历史记录中的位置是不会变的，  &lt;p&gt;举个例子，例如你跳转到第二步的Page，名称为Step2，在历史展开列表中从下向上数在第二位置，对页面数据无改动后继续跳转，GetContentState()触发，将传回的Sate中的JournalName改为Step5，那么历史列表中从下向上数第2项更名为Step5 而不是列表的第5项。当然如果你对页面数据进行了修改，那么这个就是倒数第二个&lt;br /&gt;选项了（第一个为当前页），原先Step2后的历史记录清除了。  &lt;p&gt;总结一下，自定义历史记录的实现过程，首先通过继承抽象类CustomContenState，实现Replay（&lt;a&gt;NavigationService&lt;/a&gt; navigationService, &lt;a&gt;NavigationMode&lt;/a&gt; mode）方法，再在Page页中利用NavigationService的AddBackEntry（CustomContentState）存储历史信息。最后通过将Page页继承IProvideCustomContentState接口，实现GetContentState()方法，实现历史按钮的功能，至此WPF中Page自定义历史恢复完全实现。&lt;/p&gt;</description><pubDate>Wed, 17 Sep 2008 12:50:57 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/5_eYW_LKV1U/cns!1A66D6C80502E805!324.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!324.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!324')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2008-09-17T12:52:02.4330000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!324.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!322</guid><category>新闻与政治</category><title>椋鸟：草原灭蝗的“生物武器”[组图]_中国网</title><description>&lt;p&gt; &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;椋鸟：草原灭蝗的“生物武器”[组图]  &lt;p&gt;中国网 china.com.cn　　时间： 2008-07-15　　&lt;a href="http://www.china.com.cn/news/txt/2008-07/15/content_16008665_2.htm#"&gt;发表评论&amp;gt;&amp;gt;&lt;/a&gt;  &lt;p&gt;&lt;img title="7月9日，椋鸟口衔蝗虫在当地牧民为它们搭建的石堆巢上，准备喂食幼椋。新华社记者 沈桥 摄" height="500" alt="7月9日，椋鸟口衔蝗虫在当地牧民为它们搭建的石堆巢上，准备喂食幼椋。新华社记者 沈桥 摄" hspace="0" src="http://images.china.cn/attachement/jpg/site1000/20080715/001aa0bab83509e632800e.jpg" width="367" align="center" border="0" /&gt;  &lt;p&gt;7月9日，椋鸟口衔蝗虫在当地牧民为它们搭建的石堆巢上，准备喂食幼椋。新华社记者 沈桥 摄  &lt;p&gt;&lt;img title="7月9日，椋鸟在当地牧民为它们搭建的石堆巢上，喂食幼椋蝗虫。新华社记者 沈桥 摄" height="339" alt="7月9日，椋鸟在当地牧民为它们搭建的石堆巢上，喂食幼椋蝗虫。新华社记者 沈桥 摄" hspace="0" src="http://images.china.cn/attachement/jpg/site1000/20080715/001aa0bab83509e632870f.jpg" width="500" align="center" border="0" /&gt;  &lt;p&gt;7月9日，椋鸟在当地牧民为它们搭建的石堆巢上，喂食幼椋蝗虫。新华社记者 沈桥 摄&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;a href="http://www.china.com.cn/news/txt/2008-07/15/content_16008665_2.htm"&gt;椋鸟：草原灭蝗的“生物武器”[组图]_中国网&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 17 Sep 2008 12:50:16 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/TB3ww5vU7bo/cns!1A66D6C80502E805!322.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!322.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!322')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2008-09-17T12:50:16.3370000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!322.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!321</guid><category>新闻与政治</category><title>椋鸟：草原灭蝗的“生物武器”[组图]_中国网</title><description>&lt;p&gt; &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;椋鸟：草原灭蝗的“生物武器”[组图]  &lt;p&gt;中国网 china.com.cn　　时间： 2008-07-15　　&lt;a href="http://www.china.com.cn/news/txt/2008-07/15/content_16008665.htm#"&gt;发表评论&amp;gt;&amp;gt;&lt;/a&gt;  &lt;p&gt;&lt;a href="http://www.china.com.cn/news/txt/2008-07/15/content_16008665_2.htm"&gt;&lt;img title="成群的椋鸟在新疆巴里坤草原上捕食蝗虫（6月12日摄）。" height="324" alt="成群的椋鸟在新疆巴里坤草原上捕食蝗虫（6月12日摄）。" hspace="0" src="http://images.china.cn/attachement/jpg/site1000/20080715/001aa0bab83509e632650c.jpg" width="500" align="center" border="0" /&gt;&lt;/a&gt;  &lt;p&gt;成群的椋鸟在新疆巴里坤草原上捕食蝗虫（6月12日摄）。  &lt;p&gt;椋鸟是国家二级保护鸟类，以蝗虫为食，每天捕食蝗虫在120至180只左右，每只椋鸟可保护2亩草场避免蝗虫危害。每年6月初，幼椋陆续破壳之时，椋鸟采食量会大大增加，而此时往往正是蝗虫肆虐之时。 为了给椋鸟提供一个安静舒适的“家”，招引椋鸟防治草原蝗灾，近年来，新疆在天山草原上实施人工筑巢招引椋鸟治蝗工程，据不完全统计，目前，新疆伊犁、阿勒泰、博尔塔拉等地共筑巢招引椋鸟300万只以上，控制蝗虫灾害面积600多万亩。 新华社记者 沈桥 摄  &lt;p&gt;&lt;a href="http://www.china.com.cn/news/txt/2008-07/15/content_16008665_2.htm"&gt;&lt;img title="7月9日，椋鸟口衔蝗虫在当地牧民为它们搭建的石堆巢上，准备喂食幼椋。新华社记者 沈桥 摄" height="345" alt="7月9日，椋鸟口衔蝗虫在当地牧民为它们搭建的石堆巢上，准备喂食幼椋。新华社记者 沈桥 摄" hspace="0" src="http://images.china.cn/attachement/jpg/site1000/20080715/001aa0bab83509e632760d.jpg" width="500" align="center" border="0" /&gt;&lt;/a&gt;  &lt;p&gt;7月9日，椋鸟口衔蝗虫在当地牧民为它们搭建的石堆巢上，准备喂食幼椋。新华社记者 沈桥 摄&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;a href="http://www.china.com.cn/news/txt/2008-07/15/content_16008665.htm"&gt;椋鸟：草原灭蝗的“生物武器”[组图]_中国网&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 17 Sep 2008 12:50:05 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/DcMLErlgvnw/cns!1A66D6C80502E805!321.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!321.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!321')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2008-09-17T12:50:05.0530000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!321.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!320</guid><category>新闻与政治</category><title>南极气温上升导致小企鹅大量冻死_中国网</title><description>&lt;p&gt; &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;南极气温上升导致小企鹅大量冻死  &lt;p&gt;中国网 china.com.cn　　时间： 2008-07-14　　&lt;a href="http://www.china.com.cn/news/txt/2008-07/14/content_16002444.htm#"&gt;发表评论&amp;gt;&amp;gt;&lt;/a&gt;  &lt;p&gt;&lt;strong&gt;核心提示&lt;/strong&gt;：在过去50年里，南极大陆的平均温度上升了3摄氏度。这导致南极冬季频发暴风雨，比暴风雪更冰冷刺骨的冻雨导致大量新生小企鹅死亡。其中受灾最严重的阿德利企鹅面临灭绝危险。  &lt;p&gt;&lt;img src="http://images.china.cn/attachement/jpg/site1000/20080714/0011431f300709e4e7e912.jpg" align="center" border="0" /&gt;  &lt;p&gt;脚下就是幼禽的尸骸，企鹅父母悲鸣。  &lt;p&gt;&lt;img src="http://images.china.cn/attachement/jpg/site1000/20080714/0011431f300709e4e7f913.jpg" border="0" /&gt;  &lt;p&gt;科学家担忧，不出10年，企鹅或因气候变化而灭绝。  &lt;p&gt;羊城晚报7月14日报道 南极地区连续爆发反常暴风雨，导致成千上万只新生小企鹅活活冻死。据估计，经此一难，南极企鹅数目将锐减两成。南极专家认为，这是气候变化给南极地区带来的又一灾难性影响。  &lt;p&gt;&lt;strong&gt;南极下雨多过下雪&lt;/strong&gt;  &lt;p&gt;科学家相信，受灾最严重的阿德利企鹅数目将下降至80%，如果天气短期内不能转好，情况可能更严重，不到10年，这一物种或将从地球上消失。  &lt;p&gt;在过去50年里，南极大陆的平均温度上升了3摄氏度，达到-14.7摄氏度，冬季频发的暴风雪渐渐被更加冰冷刺骨的暴风雨所代替。  &lt;p&gt;阿德利企鹅刚出生时仅有薄薄一层保暖皮毛，小企鹅需要40天的时间才能长出防水的羽毛，然而连日暴雨将整个巢穴都浸湿了，企鹅父母在时还能为子女遮风挡雨，一旦离巢觅食，小企鹅往往会因为体温过低而死。  &lt;p&gt;“长期以来人们注意到了冰架在溶解，但南极冷雨却是前所未有的新现象，企鹅正面临寒冷致死的威胁。”刚刚从南极归来的纽约探险家强·鲍尔马斯特说，“它们的皮毛可以在大雪中保护自己，却不能应付暴雨，这就好像一个穿着厚夹克却被雨淋湿的人一样。”  &lt;p&gt;&lt;strong&gt;帝企鹅乐园遭摧毁&lt;/strong&gt;  &lt;p&gt;奥斯卡获奖纪录片《帝企鹅日记》描绘了憨态可掬的帝企鹅生存及繁衍的场景，令人印象深刻，然而西雅图华盛顿大学生物学教授笛伊·波尔斯曼痛心指出，2006年12月，也就是这部电影拍摄不到两年后，她再抵达当年的拍摄地南极南部，“已经完全认不出这就是纪录片里的企鹅乐园。”笛伊说，她完全没看到帝企鹅幼仔，也看不到浮冰，冰山数目大大减少。据悉，去年9月份，也就是帝企鹅育儿期间，当地曾被一场大型暴风雨所袭击，“极少企鹅幼仔能够幸存。”  &lt;p&gt;“看见企鹅们脚下都是下一代的残骸，这才是我所见过气候变化最令人震撼以及最直接的证据。”鲍尔马斯特说。 (本文来源：金羊网-羊城晚报 作者：方海)&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;a href="http://www.china.com.cn/news/txt/2008-07/14/content_16002444.htm"&gt;南极气温上升导致小企鹅大量冻死_中国网&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 17 Sep 2008 12:49:49 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/77ZHhIaXF3Y/cns!1A66D6C80502E805!320.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!320.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!320')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2008-09-17T12:49:49.7100000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!320.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!318</guid><category>.Net</category><title>.NET获取IP等信息 - jenner-lin - 博客园</title><description>&lt;p&gt; &lt;/p&gt; &lt;blockquote&gt; &lt;h3&gt;&lt;a href="http://www.cnblogs.com/jenner-lin/archive/2007/05/22/755579.html"&gt;.NET获取IP等信息&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;.NET获取IP等信息  &lt;p&gt;1. 在ASP.NET中专用属性： &lt;br /&gt;获取服务器电脑名：Page.Server.ManchineName &lt;br /&gt;获取用户信息：Page.User &lt;br /&gt;获取客户端电脑名：Page.Request.UserHostName &lt;br /&gt;获取客户端电脑IP：Page.Request.UserHostAddress &lt;br /&gt;2. 在网络编程中的通用方法： &lt;br /&gt;获取当前电脑名：static System.Net.Dns.GetHostName() &lt;br /&gt;根据电脑名取出全部IP地址：static System.Net.Dns.Resolve(电脑名).AddressList &lt;br /&gt;也可根据IP地址取出电脑名：static System.Net.Dns.Resolve(IP地址).HostName  &lt;p&gt;3. 系统环境类的通用属性： &lt;br /&gt;当前电脑名：static System.Environment.MachineName &lt;br /&gt;当前电脑所属网域：static System.Environment.UserDomainName &lt;br /&gt;当前电脑用户：static System.Environment.UserName&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;a href="http://www.cnblogs.com/jenner-lin/archive/2007/05/22/755579.aspx"&gt;.NET获取IP等信息 - jenner-lin - 博客园&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 17 Sep 2008 12:49:21 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/dcrsIDCB28A/cns!1A66D6C80502E805!318.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!318.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!318')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2008-09-17T12:49:21.2700000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!318.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!316</guid><category>ASP.NET</category><title>得GridView的EmptyDataTemplate中的控件 - kingwkb的专栏 - CSDNBlog</title><description>&lt;p&gt; &lt;/p&gt; &lt;blockquote&gt; &lt;h3&gt;&lt;img height="14" alt="转载" src="http://blog.csdn.net/images/turnship.gif" width="15" border="0" /&gt; &lt;a href="http://blog.csdn.net/kingwkb/archive/2006/05/22/749269.aspx"&gt;得GridView的EmptyDataTemplate中的控件&lt;/a&gt;&lt;cite&gt;&lt;a href="http://blog.csdn.net/kingwkb/archive/2006/05/22/"&gt;收藏&lt;/a&gt;&lt;/cite&gt;&lt;/h3&gt; &lt;h5&gt;&lt;a href="http://blog.csdn.net/kingwkb/archive/2006/05/23/750603.aspx"&gt;新一篇: Visual studio 2005中Source View中不能切换到Design View的解决方法&lt;/a&gt; | &lt;a href="http://blog.csdn.net/kingwkb/archive/2006/05/20/746791.aspx"&gt;旧一篇: 关于进行Asp.net窗体验证的过程说明&lt;/a&gt;&lt;/h5&gt;这个问题的提出，是我想在Gridview中整理添加记录的功能。&lt;br /&gt;如果有数据的时候，我们可以把空的newTextBox放在FooterTemplate中，在程序里可以用&lt;br /&gt;Gridview1.FooterRow.FindControl(&amp;quot;newTextBox&amp;quot;)来取得这个控件，完成添加记录的功能。&lt;br /&gt;但如果数据表中没有记录，header和footer都不会显示出来。 这时，只会显示EmptyDataTemplate里的内容。&lt;br /&gt;奇怪的是EmptyDataRow并不是Gridview的成员，于是上面的方法不行了。&lt;br /&gt;找了很久，找到这样一个变通的办法来获得EmptyDataTemplate里的控件：  &lt;p&gt;&lt;img alt="" src="http://andydavis.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /&gt;Dim txbNew As TextBox = GridView1.Controls(0).Controls(0).FindControl(&amp;quot;newTextBox&amp;quot;)  &lt;p&gt;很变态，但确实可行。  &lt;p&gt;1&lt;img alt="" src="http://andydavis.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /&gt;&lt;img alt="" src="http://andydavis.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /&gt; Protected Sub btnAddNew_Click()Sub btnAddNew_Click(ByVal sender As Object, ByVal e As System.EventArgs)&lt;br /&gt;2&lt;img alt="" src="http://andydavis.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;        Label1.Text = TypeName(GridView1.Controls(0)).ToString + &amp;quot; &amp;quot;&lt;br /&gt;3&lt;img alt="" src="http://andydavis.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt; Dim EmptyChildTable As Table = GridView1.Controls(0)&lt;br /&gt;4&lt;img alt="" src="http://andydavis.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt; Dim EmptyGridView As GridViewRow = EmptyChildTable.Rows(0)&lt;br /&gt;5&lt;img alt="" src="http://andydavis.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;        Label1.Text = Label1.Text + EmptyGridView.RowType.ToString + &amp;quot; &amp;quot;&lt;br /&gt;6&lt;img alt="" src="http://andydavis.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt; Dim txbNewCltName As TextBox = EmptyGridView.FindControl(&amp;quot;txbNewCltName&amp;quot;)&lt;br /&gt;7&lt;img alt="" src="http://andydavis.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;        Label1.Text = Label1.Text + txbNewCltName.Text&lt;br /&gt;8&lt;img alt="" src="http://andydavis.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt; End Sub  &lt;p&gt;其中的txbNewCltName和btnAddNew都是放在EmptyTemplate里的控件。&lt;br /&gt;显示的结果是：&lt;br /&gt;ChildTable EmptyDataRow 新添加的内容  &lt;p&gt;可以知道，第一层Control是Table,第二层Control是Row.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;a href="http://blog.csdn.net/kingwkb/archive/2006/05/22/749269.aspx"&gt;得GridView的EmptyDataTemplate中的控件 - kingwkb的专栏 - CSDNBlog&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 17 Sep 2008 12:48:52 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/Yxe9sMePFlM/cns!1A66D6C80502E805!316.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!316.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!316')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2008-09-17T12:48:52.1930000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!316.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!315</guid><category>计算机与 Internet</category><title>Windows任务管理器菜单栏消失解决办法</title><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px"&gt;del.icio.us标签: &lt;a href="http://del.icio.us/popular/Windows" rel="tag"&gt;Windows&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/taskmgr" rel="tag"&gt;taskmgr&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;最近没事乱点，不小心把任务管理器的菜单栏搞没了，没法切换任务管理器中的各个子项，最麻烦的是由于没有了窗体的边框，关闭按钮不见了，每次只能中止taskmgr.exe这个进程来关闭任务管理器。记得以前帮别人解决过这个问题，不过时间太久远了，记不清了，试了几种方法都不行后，&lt;/p&gt;</description><pubDate>Wed, 17 Sep 2008 12:47:20 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/-n7Gmr3c_qA/cns!1A66D6C80502E805!315.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!315.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!315')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2008-09-17T12:47:20.5970000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!315.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!308</guid><category>计算机与 Internet</category><title>ASPNET,ASP.NET 2.0配合MasterPage的优化CSS</title><description>&lt;p&gt; &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;b&gt; &lt;h3&gt;ASP.NET 2.0配合MasterPage的优化CSS&lt;/h3&gt;&lt;/b&gt; &lt;p&gt;　　ASP.NET 2.0 中增加了内建的 MasterPage 的支持，这对我们来说是一个很大的便利。然而经过一段时间的使用，我发现 MasterPage 并不是那么完美：嵌套的 MasterPage 不能支持设计时界面，以及下面要提到的Content Page 中增加 CSS 的问题。 &lt;br /&gt;　　通常，在没有 2.0 之前，我们在页面里要增加一个 CSS 引用的语法如下：&lt;br /&gt;＜link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;css/test.css&amp;quot; /＞&lt;br /&gt;　　原本是很平常的做法。但是在一个 MasterPage 的子页面中，出现了一个很尴尬的局面，就是：我们该把上述代码放到什么位置？&lt;br /&gt;　　因为 MasterPage 的具体内容页面中，只能定义一个个的 ＜asp:Content /＞ 标签的内容。我们按照通常的做法在 aspx 里面无法对页面的 ＜header/＞ 内容进行控制。而这个 ＜link/＞ 标签又必须放在 ＜header/＞ 内。我试验过在 ＜asp:Content /＞ 内部加入这行代码，但是会提示出错的。&lt;br /&gt;　　同时，我们也无法在 MasterPage 的 ＜header/＞ 内部放好一个 ContentPlaceHolder 用于将来放入 CSS 的引用代码。&lt;br /&gt;　　因此我的做法是定义了一个 helper 类如下： &lt;p&gt;static public class ControlHelper&lt;br /&gt;{&lt;br /&gt;　static public void AddStyleSheet(Page page, string cssPath)&lt;br /&gt;　{&lt;br /&gt;　　HtmlLink link = new HtmlLink();&lt;br /&gt;　　link.Href = cssPath;&lt;br /&gt;　　link.Attributes[&amp;quot;rel&amp;quot;] = &amp;quot;stylesheet&amp;quot;;&lt;br /&gt;　　link.Attributes[&amp;quot;type&amp;quot;] = &amp;quot;text/css&amp;quot;;&lt;br /&gt;　　page.Header.Controls.Add(link);&lt;br /&gt;　}&lt;br /&gt;} &lt;p&gt;　　这样，在具体页面，我们就可以通过如下代码添加 CSS 引用： &lt;p&gt;protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;　ControlHelper.AddStyleSheet(this.Page, &amp;quot;css/projectPage.css&amp;quot;); &lt;br /&gt;} &lt;p&gt;　　并且，这个代码支持在具体内容页面，或者一个嵌套的 Master Page 中使用。&lt;br /&gt;　　说到这里也许有人会问，为什么要把 CSS 分开成这样来加载呢？有必要吗？我把所有页面的 CSS 定义到几个公共 CSS 文件里岂不是很好？&lt;br /&gt;　　其实，熟悉 web 标准的 HTML 制作的朋友一定知道，在比较完美的状态下，页面的 html 和用于表现的 CSS 应该彻底分离。而我们基于 web 标准的设计，通常是先做出一个 Master Page 中各个框架 div 的定位代码，以及 header，footer 部分的修饰代码。这些是每个内容页面都要用到的，会放在一个统一的 CSS 里面。其他的具体内容页面，每个页面又会有各自不同的内容的布局，修饰样式，因此我把每个具体页面特定的部分放在它自己的 CSS里。这样就形成了一个按照 Master Page 的实现层次（可嵌套），逐层合并的 CSS 模型。其好处是实现了每个 CSS 文件的职责分离，更容易理解和维护。 &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;a href="http://www.zhujiangroad.com/html/soft/s4377.html"&gt;ASPNET,ASP.NET 2.0配合MasterPage的优化CSS,珠江路在线&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 30 Jul 2008 10:40:30 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/4Pd7k33K9Hg/cns!1A66D6C80502E805!308.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!308.entry#comment</comments><slash:comments>1</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!308')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2008-07-30T10:40:30.6800000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!308.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!307</guid><title>MES的解释</title><description>&lt;div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px"&gt;del.icio.us标签: &lt;a href="http://del.icio.us/popular/mes" rel="tag"&gt;mes&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Manufacturing Execution System (MES): A factory floor information and communication system with several functional capabilities. It includes functions such as resource allocation and status, operation/detailed scheduling, dispatching production units, document control, data collection and acquisition, labor management, quality management, process management, maintenance management, product tracking and genealogy, and performance analysis. It can provide feedback from the factory floor on a real-time basis. It interfaces with and complements ERP systems.&lt;/p&gt;</description><pubDate>Sun, 29 Jun 2008 13:57:07 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/R0ahsLXAIeA/cns!1A66D6C80502E805!307.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!307.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!307')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2008-06-29T13:57:07.7770000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!307.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!288</guid><category>计算机与 Internet</category><title>手动安装Virtual PC 2007的Virtual Machine Network Services</title><description>&lt;div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px"&gt;del.icio.us标签: &lt;a href="http://del.icio.us/popular/VirtualPC" rel="tag"&gt;VirtualPC&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/VPC" rel="tag"&gt;VPC&lt;/a&gt;&lt;/div&gt; &lt;p&gt;  今天为了安装SQL Server，同时也想试试VS2008。在无奈的看着自己的正版XP Home版后，终于下定决心安装VPC2007，不幸的是安装后提示无法连接网络，在上网查阅了后，找到了一篇繁体的解决办法，由于两地的系统文字显示不同，尝试了n次后成功，为了防止自己忘记，于是在上班时间写了这个。&lt;/p&gt; &lt;p&gt;  首先确认自己安装了VPC，并且出现了无法连接的错误，然后开始手动安装。&lt;/p&gt; &lt;p&gt;  然后打开“网络连接”，右击自己的物理连接，在快捷菜单中选择“属性”，在中间的连接选项中查看是否有“Virtual Machine NetWork Services”的选项，应该没有的。确认工作完毕，开始添加。&lt;/p&gt; &lt;p&gt;  单击左下角的“添加”按钮，在弹出的菜单中选择“服务”，再在新弹出的窗体中单击右下的“从磁盘安装”，在路径中选择安装文件，&lt;br /&gt;  具体路径是：&lt;a&gt;|VPC2007安装目录|\Utility\VMNetSrv\VMNetSrv.inf&lt;/a&gt;&lt;/p&gt; &lt;p&gt;  确认后就开始了安装，安装后可能出现网络连接属性无法关闭的情况，重新启动就好了（谁让咱的是Home的呢！），重启后看看本地连接的服务中赫然出现了“Virtual Machine NetWork Services”的选项，赶紧选中它吧。&lt;/p&gt; &lt;p&gt;下面是具体操作图示（没有截打开网络链接的图，玩这个的大都搞开发吧，应该都会）&lt;/p&gt; &lt;p&gt;Step1：进入本例连接属性设置&lt;br /&gt;&lt;a href="http://tkfiles.storage.msn.com/y1pfhuh5C1kVUkfGBX3VQ0-Pt7yZCTiVTvFhyaTibkxRwNu83cynf4J_o9ALCHTozH81LVixT9TX8Q?PARTNER=WRITER"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height="229" alt="step1" src="http://tkfiles.storage.msn.com/y1pfhuh5C1kVUnwtLuT69u4NTZkXu_A-gCNhmXFWsBrqX5xa3rT6ISbpMyBJ8EZiFq1SKPV-13A4M4?PARTNER=WRITER" width="364" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Step2：开始添加服务，按图一步步按下去&lt;br /&gt;&lt;a href="http://tkfiles.storage.msn.com/y1pfhuh5C1kVUkPmOCI9bD6x6WOj8IkyDgGeUdXqDUz6vEmw76-e1g_K_6vTpdt3U_UT2aoHBS1qG4?PARTNER=WRITER"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height="409" alt="step2" src="http://tkfiles.storage.msn.com/y1pfhuh5C1kVUlhynRiqPzf3UY8vlgtE6aQdd1Qd2b8gUU2Ffj2LmbeYDDXcLQHVtV3eZgc3rqtna0?PARTNER=WRITER" width="382" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;a href="http://tkfiles.storage.msn.com/y1pfhuh5C1kVUl4jDnqBgbtUGH493ZFrzDgQOUwvh_DhS6HpatDMoiAVfNqbn6PkAtfRkoMoz7wIN8?PARTNER=WRITER"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height="253" alt="step3" src="http://tkfiles.storage.msn.com/y1pfhuh5C1kVUn73bE0d-VKSvWxxGXI3bxFEdIUuNxGLA50P-B8I6PjABaWsEhJ-YBsac9ADh6ol2o?PARTNER=WRITER" width="319" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;a href="http://tkfiles.storage.msn.com/y1pfhuh5C1kVUkLJH62M_tK3X2ATWDUbMN850_8d0PYdz7T-UrOaAVRtCk11DTmxWdn7WCHrv0lf_o?PARTNER=WRITER"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height="238" alt="step4" src="http://tkfiles.storage.msn.com/y1pfhuh5C1kVUkMeh-Bi4ckybhQ4IdQ_QSvh_kiQxXNucLO5Io20fOQCj-MqxvlE5NSUAorYuE69aw?PARTNER=WRITER" width="334" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Step3：输入安装文件&lt;a href="#vpc"&gt;路径&lt;/a&gt;，安装（路径参考上面文字部分的说明）&lt;br /&gt;&lt;a href="http://tkfiles.storage.msn.com/y1pfhuh5C1kVUmHpHW32x72eWJ-Cb0pm36yOms5UUYyXsV4aE_1w5XflXbAM8aSfrElPhXNUw0_Tb8?PARTNER=WRITER"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height="133" alt="step5" src="http://tkfiles.storage.msn.com/y1pfhuh5C1kVUlj6dCQ1rv5fDmLn4yVk5sr-sFknqph7TP43XhmIYLKFxWUH78Si11xS7JpTlftWtw?PARTNER=WRITER" width="264" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Step4：重启电脑，打开看看，服务出现了&lt;br /&gt;&lt;a href="http://tkfiles.storage.msn.com/y1pfhuh5C1kVUk5XYWE420E7xOTOYIQ8b-HXkGbYFUiyP8n-0eMHTaxRXabPzVl-MVsnHlYzTa3Qw0?PARTNER=WRITER"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height="430" alt="step6" src="http://tkfiles.storage.msn.com/y1pfhuh5C1kVUnZLoSRklz7Tq4Emy1GdQA0oy2tR5x-evHD-h3U0dgNCZ_r3mAcDSZo7hR1-dZhrI0?PARTNER=WRITER" width="404" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Mon, 31 Mar 2008 06:18:51 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/f_Zf58ZZMvs/cns!1A66D6C80502E805!288.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!288.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!288')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2008-03-31T06:18:51.6000000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!288.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!268</guid><category>信手拈来</category><title>新的一年要来了</title><description>&lt;p&gt;    新的一年要来了，时间过的真是快啊，想想自己这半年也马马虎虎的过来了，找工作是东撞西撞的，最后还是回到了IT与国企，也许这才是自己的愿望吧。节前取做了个兼职，赚了将近2千块大元，还是满高兴的。特别是学生真的很好，要不是考虑到自己的未来，还真是想留下来，现实和理想就是这么有差距，没办法。
&lt;p&gt;   这半年真是感觉到了人情的温暖，曾经的好友、陌生人都给了我很多的帮助，要是没有他们，我估计已经崩溃了。昨天和个老网友聊了聊，大家都找工作了，都成熟了、现实了。看来人还是直接放到社会中取成长快啊。总的来说这一年还算是过的不错，也没什么遗憾了。硬说的话，可能就是一个老朋友没有了音信，当年承诺要回来的，所以也就没有说什么，太久没有消息了，不知道我们是否还能在今天看到祝福对方。早知道那天我就请她了，呵呵。
&lt;p&gt;   明年本命年了，自己也两轮了，是该立业的时候了，自己也要好好加油了，这里也祝所有帮过我的我认识和我不认识的人新年快乐，事事顺心，好人万事如意。</description><pubDate>Wed, 06 Feb 2008 12:34:43 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/4KAU5liyPec/cns!1A66D6C80502E805!268.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!268.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!268')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2008-02-06T12:34:43.0500000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!268.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!266</guid><category>计算机与 Internet</category><title>谁发明了第一台电子计算机</title><description>&lt;div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px"&gt;del.icio.us 标记: &lt;a href="http://del.icio.us/popular/%e8%ae%a1%e7%ae%97%e6%9c%ba" rel="tag"&gt;计算机&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/%e7%94%b5%e5%ad%90%e8%ae%a1%e7%ae%97%e6%9c%ba" rel="tag"&gt;电子计算机&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/%e7%ac%ac%e4%b8%80%e5%8f%b0" rel="tag"&gt;第一台&lt;/a&gt;&lt;/div&gt; &lt;p&gt;    今天看了《程序员》2007年10月刊，发现一片由袁传宽博士发表的《再谈谁是真正的“电子计算机之父”》。在这篇文章中，作者称现在我们教科书上所写的ENIAC并不是第一台电子计算机，ENIAC是剽窃了由阿坦哪索夫和贝里与1939到1942年之间在衣阿华州立大学说制造的电子计算机ABC。更让我惊奇的是这个案件于1973年10月19日就已经终审判决了，而我们的教科书现在还写的是ENIAC，莫名其妙啊。&lt;/p&gt; &lt;p&gt;    这种事情在计算机行业已经不是一次两次了，想想最早的计算机体系的提出者，大部分人认为是美国的冯·诺伊曼，其实英国的图灵早于他之前就写出了，不过没有发表而已，在图灵看来最早的那个还不完善，于是第一的称号就被夺走了。当然这还不是最重要的，在现在的计算机行业，我们越来越对起始这一东西不敏感了，只要用到就好，例如我听到一堆人跟我说Bloger像Sina的博客，到底谁模仿谁啊，Sina那点功能还叫博客？看看现在的Yahoo！Pipes和微软的PopFly，也许之后又有一群人跟我说微软真是天才，PopFly的点子太好了，殊不知那时抄袭的。所以说有时间还是溯溯源吧，以不至于某一天我们对子孙说“看整个世界都是我一个人造的！”&lt;/p&gt; &lt;p&gt;（PS：看完文章后感叹了一下图灵的人生，又加上最近看了一些悲剧的东西，一时兴起，不知所云）&lt;/p&gt;</description><pubDate>Fri, 05 Oct 2007 05:03:43 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/dPhtTUhNpI4/cns!1A66D6C80502E805!266.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!266.entry#comment</comments><slash:comments>0</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!266')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2007-10-05T05:03:43.3500000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!266.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!264</guid><category>ASP.NET</category><title>ASP.NET页面间传递参数的方法</title><description>&lt;p&gt;&lt;/p&gt; &lt;div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px"&gt;del.icio.us 标记: &lt;a href="http://del.icio.us/popular/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/DotNet" rel="tag"&gt;DotNet&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;  好久没编程序了，看见许多人在网上找页面间传参的方式，就简单的写点，也算留个备份。&lt;/p&gt; &lt;p&gt;  主要来将有两种：Get与Post，至于两者的区别，还是自己找相关的资料吧，多的很，这里具体讲下操作。在ASP.Net中，获取参数一般都是在Page_Load的时候，当然你也可以在其他的地方调用，看情况而定。先拿Get来说，传入的URL是&lt;/p&gt;&lt;pre&gt;~\food_info.aspx?food_id={0}&lt;/pre&gt;


&lt;p&gt;那么对应的接受方法为&lt;/p&gt;&lt;pre&gt;Request.QueryString.GetValues(&lt;span&gt;&amp;quot;food_id&amp;quot;&lt;/span&gt;).GetValue(0)&lt;/pre&gt;
&lt;p&gt;  剩下的工作就是对接受的数据进行转换了，如果你有好几个food_id的值的话，更改GetValue中的数字就可以了。&lt;/p&gt;
&lt;p&gt;  不过这种参数传递安全性是个问题，毕竟参数公开了，即使加密也不安全。所以就要利用到Post的方法，在发送页面中可以用Form的Action属性设置传入页面，也可用每个控件的PostBackUrl来配置，发送后，就是接受了，这个要实现的判断一下，下面结合代码说明。&lt;/p&gt;&lt;pre&gt;&lt;span&gt;if&lt;/span&gt; (Page.PreviousPage != &lt;span&gt;null&lt;/span&gt;)
        {
            Response.Write(Page.PreviousPage.Form.Method.ToString()+&lt;span&gt;&amp;quot;&amp;lt;br/&amp;gt;&amp;quot;&lt;/span&gt;);
            Label lab2 = (Label)Page.PreviousPage.FindControl(&lt;span&gt;&amp;quot;lab1&amp;quot;&lt;/span&gt;);
            Response.Write(lab2.Text.ToString());
        }&lt;/pre&gt;


&lt;p&gt;  首先判断一下是否有传入页面，判断Page.PreviousPage是否为空，不为空在做相应的事情，聪明的你应该想到了，如果判断一下是来自哪个页面的不更好，的确，可以实现一些更复杂的功能，不过也相应的加大了服务器的负担，要根据实际的业务流程来看。下面就是两种获取方法了，可以从Form中获取，也可以直接获取控件的名称，注意这里要类型转换，所以要记住类型。如果是纯控件设计，就直接找控件好了，如果不行就用Form的方法了，根据个人喜好了。&lt;/p&gt;
&lt;p&gt;  好了就简单的介绍了一下，如果还有什么问题，留言给我，大家讨论才有趣嘛！！！&lt;/p&gt;</description><pubDate>Sat, 22 Sep 2007 11:25:07 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/teb9jBwPTF0/cns!1A66D6C80502E805!264.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!264.entry#comment</comments><slash:comments>1</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!264')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2007-09-22T11:25:07.0330000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!264.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!262</guid><category>学习感悟</category><title>教育实习磨难记——第一回 大开眼界</title><description>&lt;div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px"&gt;del.icio.us 标记: &lt;a href="http://del.icio.us/popular/%e6%95%99%e8%82%b2%e5%ae%9e%e4%b9%a0 %e4%b8%ad%e5%9b%bd%e6%95%99%e8%82%b2 %e5%9b%bd%e5%86%85%e6%95%99%e8%82%b2" rel="tag"&gt;教育实习 中国教育 国内教育&lt;/a&gt;&lt;/div&gt; &lt;p&gt;    今天终于开始了生平的第一次教育实习，最终的结果就是我们连教学都没有发生就回来了，无所事事的度过了漫长的80分钟（真的很长，不信你也试试。）也许是自己太过于理想，也可能是太想做好这件事了。上完这节课后真是愤怒、可怜与悲哀啊！看着那些懵懂少年我真的是不知道说什么好，搞教育的人看中国（让我这么称呼吧，我是在是自豪不起来了）的现实教育就一个感觉，伪善的教育。&lt;/p&gt; &lt;p&gt;    首先发下牢骚，都憋了将近3个小时了，总要发泄一下吧。这次到一个北师大人都知道的实习学校去实习，是一个私立的学校，说是当地的不错的学校，的确接我们的车是很好的，大家都怀着喜悦坐上了车。经过一个小时的颠簸，我们到了校区，我的天啊！这学校的墙面怎么和外面的公共厕所一个样子，就不能清洁一下吗？好戏才刚刚开始，我们直接进入了会议厅，这里倒还说的过去，不过指导老师怎么只有3个，一打听是辅导化学，数学和物理的，那其他科目的人呢？让我们拿着两次课的教案来，却见不到人，给谁看啊！也没关系，我们自己看材料，翻了几张，怎么都是2005和2006年的，今年的呢？马上就08年了，07年上半年他们没上课吗？没记得新课改都改到假期都变了的地步吧，都算了，直接上课得了。于是我们一行4个人开始去机房教计算机得了，到了中学四层，发现所有的机房都有人上课，那我们去哪？看了看手中的地址，没错啊，在看看身边的学生，的确是我们班的，是在这儿上课啊，教室呢？于是到处找人找到了管理人员，一问人家根本不知道，我晕。于是就临时安排了一个机房，好了，总算可以上课了，打开教师的电脑，我靠！Windows98！我没带驱动盘！而且我也没有驱动盘，考虑对方的PowerPoint的版本问题，我还做了打包，可以应付一切的PPT不能播放问题，可人家比我想的还狠，干脆不能读U盘。想考我，没关系，我还能上网，我们先讲博客文化就可以了，我上博客，“你的浏览器版本过低，请及时更新。”这是我第一次看到浏览器版本低的错误，这回开眼界了，算了都不讲了，就基本的Windows操作吧，好慢啊~~~~眼睛花了？怎么是MHz，再看看看内存56M（8M被显卡吃了），终于在这个年代见到和我家老电脑一样的配置了，记得我卖家里电脑的时候，人家收的人都说这配置没人要了，处理还要单交钱，更重要的是我的比他这里的要好。看着40台废料，我只好故作镇定，先看看学生吧，高一的、高二的、初一的、初二的、初三的。怎么记得我们只教初中，高中的都来了，人名单上确确实实写着人家的名字，那就上吧，可是上什么啊？没东西啊，真是巧妇难为无米之炊，在宣讲了基本的课程要求后，只好让大家随便玩了，看着他们那老旧的游戏，我都怀疑自己是在北京教学。在回头看看漆黑的木质黑板，自己都怀疑是在2007年活着。感觉自己那一刻回到了过去，在现在体验过去，真是开眼了。&lt;/p&gt; &lt;p&gt;    发完了牢骚，开始正说点正经的，先说说这家学校。在看他们的宣传手册的时候，我就感觉这个学校不怎么好，虽然得的荣誉不少，但是都是软指标的奖项，没有几个是硬指标的。此外，到了学校看了看他们今年毕业上的情况，小学和初中还好，高中却只有一个人上了北大，在北京上过学的人都应该知道，如果一个北京的高中每年只有一个人上北大清华这样的学校，那就是说这个学校教学有问题。一般的区重点会有7-8个人，像我们原来的高中上个30来个不是问题。这些还不是问题，问题的关键是，我们上的是要计入学生学分的课程，关心北京教育的人都应该知道，今年北京开始在高中实行学分制，这么重要的课程要我们每周讲2课时就过去了，而且都是我认为的非职业化的教育。为什么要实行学分制，就是在高中实行半职业化，想想我们当年有多上人在上大学的时候就有专业的素养，这是我们本科与国外的差距，我们花费本科的时间去培养专业素养，话研究生的时间去学习做事情，而国外在高中的时候就做好了，因此人家比我们有专业。所以典型的面子工程，最让我气愤的是学校在大把大把的拿去学生家里的钱的时候，却没有给学生以应有的学习环境。上面我说的机房是其中的一个例子，许多活动室的黑板也是木质的，你们就不能花几十块前买个好的吗？看看接我们的豪华客车，在看看教室，钱到那里去了，大家都明白了，我也明白了，为什么好学校的老师待遇低，不好学校老师的待遇反而高，我的确明白了，更可怕的是这还被评为当地最好的学校，看看学校名称上的“北京师范大学附属中学”，看看我们这些北京师范大学的教师，被蒙蔽的人应当不少吧，想想当地的学生，想想自己被买了都不知道，我真是~~~想想那句“就中国的教育体制，在过30年也不可能有人获得诺贝尔奖”，于是网上有人说到了50年，现在看来要再加50年了。&lt;/p&gt; &lt;p&gt;    接下来说说学生，我只能用可怜来形容，我们被告知这些孩子许多都是单亲家庭或者是留守儿童，虽然他们的家庭十分的富足，但是根本得不到爱。而且在学校里，这些孩子还是得不到爱。在我接这个班的时候，我就被告知上这个兴趣班的人是学习不好的，换句话说是被学校抛弃的学生，听到这个我就十分的震惊，作为一个教育工作者，连这点基本常识都没有吗？世界上生来是不存在没用的人的，只有创造无用的人的世界。当然我这并不是信口雌黄，其实在心理学的“人本主义”中，就坚定的认为人是有自发向上的力量的，有时是人自己隐藏起来了，因此人本主义的咨询师就让来访者发现这种力量从而改变。下面我就举例说明我们班的学生是有可取之处的。首先我先说说我们班的一个小姑娘，她自己的博客有每天有上百的点击率，我试问一下，你的博客有这么高的点击率吗？这不是她出色的一面吗？还有一个孩子，自己用简单的线条在电脑上绘画，卡通风格的，十分到位，这不也是优点吗？最后说说玩游戏的高中生，每个人都希望自己能玩的更好，比人家好，多么明显的力量，那个十分随意的学生，偶尔也会帮我大吼一声，维持下秩序，这不都是优点吗？可惜那些老师看不到，学生就这么被压抑了好多年，心理都扭曲了。在家中，家长有限制他们的自由，不能上网，把唯一能从外界得到爱的途径有封锁了。像班中的一个学生虽然能够天天回家，但是到9点才接他，说是让他好好在学校上自习，我宁可相信这是真的，而不是家长推脱的接口，就这样情况在那里都少的可怜。于是在这样没有爱的环境中，成长除了这缺少爱的学生，从学生、老师、学校，上到国家都太悲哀和可怜了。&lt;/p&gt; &lt;p&gt;    最后谈谈自己，从这次实习中还是给自己了一些启示，看着学生自大，发现自己也未尝不是，在自己的小圈子里，认为自己什么都会，其实什么也不会。我们在一个封闭的教育环境中，每次的升级只是扩大了原有的封闭环境，并没有开放出去，于是当我们涨满了，就夜郎自大了起来。直到上了社会，上了国际，才发现我们是如此的渺小。此外，想出国了，真是无奈啊，也许我是逃避了，不过我承认我没这个能力去改变什么，想想自己做志愿者，最终大家只能无奈的摇头，我们的确可以做点什么，不过就是这么一点，什么也改变不了，只是做了，不会在历史上留下一点的痕迹，不会铭记在人们的心中，只会存在于爷爷给孙子讲述自己年轻时的英勇故事中，然后被后人遗忘。我决定去选择逃避试试，与其让心死掉，还不如逃避，至少我可能在国外混好后，回来教育国人一番，然后被推为哲人后大摇大摆的离开，再指着地图上的这个国家说，他们应当感谢我，要没有我就……出去，至少我还能保住心，至少我还能正视他人，至少我还能养的起我的父母，至少我还能说我是为了这个国家而出国，至少我改变了我自己。&lt;/p&gt;</description><pubDate>Tue, 18 Sep 2007 14:27:32 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/REPIDhLDdKw/cns!1A66D6C80502E805!262.entry</link><comments>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!262.entry#comment</comments><slash:comments>2</slash:comments><live:type>blogentry</live:type><live:typelabel>Blog Entry</live:typelabel><wfw:commentRss>http://cid-1a66d6c80502e805.users.api.live.net/Users(1902444047176493061)/Blogs('1A66D6C80502E805!102')/Entries('1A66D6C80502E805!262')/Comments?$format=application%2frss%2bxml</wfw:commentRss><dcterms:modified>2007-09-18T14:27:32.3530000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Blog/cns!1A66D6C80502E805!262.entry</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!152</guid><title>友情链接</title><description /><pubDate>Tue, 04 Oct 2005 15:51:33 Z</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/L-cHeGxJyEE/cns!1A66D6C80502E805!152</link><live:type>customlist</live:type><live:typelabel>Custom List</live:typelabel><dcterms:modified>2006-04-15T03:59:40.8100000Z</dcterms:modified><feedburner:origLink>http://ebakeshop.spaces.live.com/Lists/cns!1A66D6C80502E805!152</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!106</guid><title>詹老师的结婚照</title><pubDate>Wed, 01 Jun 2005 22:40:20 -0700</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/7vj5VSwc8mY/1A66D6C80502E805!106</link><live:type>photoalbum</live:type><live:typelabel>Photo Album</live:typelabel><dcterms:modified>2005-06-02T05:45:09.4270000Z</dcterms:modified><cf:itemRSS>http://cid-1a66d6c80502e805.spaces.live.com/photos/cns!1A66D6C80502E805!106/feed.rss</cf:itemRSS><feedburner:origLink>http://cid-1a66d6c80502e805.skydrive.live.com/browse.aspx/.res/1A66D6C80502E805!106?ct=photos</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!110</guid><title>赛尔达传说－－小人帽</title><pubDate>Wed, 01 Jun 2005 22:45:19 -0700</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/c6EWDGvLQwk/1A66D6C80502E805!110</link><live:type>photoalbum</live:type><live:typelabel>Photo Album</live:typelabel><dcterms:modified>2005-06-02T05:47:10.2270000Z</dcterms:modified><cf:itemRSS>http://cid-1a66d6c80502e805.spaces.live.com/photos/cns!1A66D6C80502E805!110/feed.rss</cf:itemRSS><feedburner:origLink>http://cid-1a66d6c80502e805.skydrive.live.com/browse.aspx/.res/1A66D6C80502E805!110?ct=photos</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!151</guid><title>9月10日</title><pubDate>Sat, 10 Sep 2005 04:18:22 -0700</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/HCcBbtJDchI/1A66D6C80502E805!151</link><live:type>photoalbum</live:type><live:typelabel>Photo Album</live:typelabel><dcterms:modified>2005-09-10T11:18:22.1600000Z</dcterms:modified><cf:itemRSS>http://cid-1a66d6c80502e805.spaces.live.com/photos/cns!1A66D6C80502E805!151/feed.rss</cf:itemRSS><feedburner:origLink>http://cid-1a66d6c80502e805.skydrive.live.com/browse.aspx/.res/1A66D6C80502E805!151?ct=photos</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!172</guid><title>我的网络日志照片</title><pubDate>Sat, 31 Dec 2005 05:03:46 -0800</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/_bCxP9h3hEQ/1A66D6C80502E805!172</link><live:type>photoalbum</live:type><live:typelabel>Photo Album</live:typelabel><dcterms:modified>2007-04-10T10:00:49.1130000Z</dcterms:modified><cf:itemRSS>http://cid-1a66d6c80502e805.spaces.live.com/photos/cns!1A66D6C80502E805!172/feed.rss</cf:itemRSS><feedburner:origLink>http://cid-1a66d6c80502e805.skydrive.live.com/browse.aspx/.res/1A66D6C80502E805!172?ct=photos</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!203</guid><title>3月15日</title><pubDate>Thu, 15 Mar 2007 06:26:54 -0700</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/duPY-4DNa-s/1A66D6C80502E805!203</link><live:type>photoalbum</live:type><live:typelabel>Photo Album</live:typelabel><dcterms:modified>2007-03-15T13:26:54.9100000Z</dcterms:modified><cf:itemRSS>http://cid-1a66d6c80502e805.spaces.live.com/photos/cns!1A66D6C80502E805!203/feed.rss</cf:itemRSS><feedburner:origLink>http://cid-1a66d6c80502e805.skydrive.live.com/browse.aspx/.res/1A66D6C80502E805!203?ct=photos</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!204</guid><title>3月15日</title><pubDate>Thu, 15 Mar 2007 06:27:51 -0700</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/PbKRSznNsp0/1A66D6C80502E805!204</link><live:type>photoalbum</live:type><live:typelabel>Photo Album</live:typelabel><dcterms:modified>2007-03-15T13:27:51.3970000Z</dcterms:modified><cf:itemRSS>http://cid-1a66d6c80502e805.spaces.live.com/photos/cns!1A66D6C80502E805!204/feed.rss</cf:itemRSS><feedburner:origLink>http://cid-1a66d6c80502e805.skydrive.live.com/browse.aspx/.res/1A66D6C80502E805!204?ct=photos</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!231</guid><title>Blog Images</title><pubDate>Sun, 05 Aug 2007 04:44:02 -0700</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/oMuzLHVXUeA/1A66D6C80502E805!231</link><live:type>photoalbum</live:type><live:typelabel>Photo Album</live:typelabel><dcterms:modified>2008-03-31T06:18:49.0800000Z</dcterms:modified><cf:itemRSS>http://cid-1a66d6c80502e805.spaces.live.com/photos/cns!1A66D6C80502E805!231/feed.rss</cf:itemRSS><feedburner:origLink>http://cid-1a66d6c80502e805.skydrive.live.com/browse.aspx/.res/1A66D6C80502E805!231?ct=photos</feedburner:origLink></item><item><guid isPermaLink="false">1A66D6C80502E805!289</guid><title>林鸳鸯</title><pubDate>Sun, 30 Mar 2008 23:45:56 -0700</pubDate><link>http://feedproxy.google.com/~r/e-bread/~3/dxKmuv1qy_g/1A66D6C80502E805!289</link><live:type>photoalbum</live:type><live:typelabel>Photo Album</live:typelabel><dcterms:modified>2008-03-31T06:47:38.8400000Z</dcterms:modified><cf:itemRSS>http://cid-1a66d6c80502e805.spaces.live.com/photos/cns!1A66D6C80502E805!289/feed.rss</cf:itemRSS><feedburner:origLink>http://cid-1a66d6c80502e805.skydrive.live.com/browse.aspx/.res/1A66D6C80502E805!289?ct=photos</feedburner:origLink></item></channel></rss>
