Jinjin's profile试试看PhotosBlogListsMore ![]() | Help |
|
September 24 Style稻香☆稻香 jay chou☆ ☆摩杰座 jvr☆ ☆词曲 jay 编曲 micel lin☆ ☆永爱杰伦☆支持正版☆ www.feiyes.net☆lizaixing制 ☆music.☆. 对这个世界如果你有太多的抱怨 跌倒了就不敢继续往前走 为什么人要这么的脆弱堕落 请你打开电视看看 多少人为生命在努力勇敢的走下去 我们是不是该知足 珍惜一切就算没有拥有 还记得你说家是唯一的城堡 随着稻香河流继续奔跑 微微笑小时候的梦我知道 不要哭让萤火虫带着你逃跑 乡间的歌谣永远的依靠 回家吧回到最初的美好 ☆music.☆. 不要这黱容易就想放弃 就像我说的 追不到的梦想换个梦不就得了 为自己的人生鲜艳上色 先把爱涂上喜欢的颜色 笑一个吧功成名就不是目的 让自己快乐快乐这才叫做意义 童年的纸飞机 现在终於飞回我手里 所谓的那快乐 赤脚在田里追蜻蜓追到累了 偷摘水果被蜜蜂给叮到怕了 谁在偷笑呢 我靠着稻草人吹着风唱着歌睡着了 哦哦午后吉它在虫鸣中更清脆 哦哦阳光洒在路上就不怕心碎 珍惜一切就算没有拥有 还记得你说家是唯一的城堡 随着稻香河流继续奔跑 微微笑小时候的梦我知道 不要哭让萤火虫带着你逃跑 乡间的歌谣永远的依靠 回家吧回到最初的美好☆. 稻香.☆^-^☆. April 25 Autumn DayLord: it is time. The summer was immense.
Let thine shadows upon the sundials fall, and unleash the winds upon the open fields. Command the last fruits into fullness;
give them just two more ripe, southern days, urge them into completion and press the last bit of sweetness into the heavy wine. He who has no house now, will no longer build.
He who is alone now, will stay alone, will awake in the night, read, write long letters, and will wander restlessly along the avenues, back and forth, as the leaves begin to blow. Rainer Maria Rilke (tr. Cliff Crego) April 01 you look really tired刚才在电梯遇到一个啤酒肚叔叔,对我说 You look really tired. 这几天不规律的睡眠和饮食让我体力大减,而且时不时胃痛,已经不止有一个人对我说 You look really tired. 今天的探险就是以胃痛结束。
四月一日四月一日,东京,天气晴朗
今天这边就剩我一个人了,Vivian mm 家里装宽带,不能陪我, Lingaraj gg 也飞回去了,可怜我孤苦伶仃一人。
刚才有点小晃,不知道是错觉还是又有小地震。
抄了份地图,背上相机,找樱花去。
祝我好运吧,能找到回来的路。 March 08 三八今日三八,公司头一次给女员工放假半天
早晨到公司,mail server down
主啊,让mail server 跑起来吧,我宁愿牺牲半天假期
中午,mail server 正常
我果然要牺牲半天假期了,收到邮件下午有 concall
February 02 Microsoft computer scientist missing after solo sailing trip (Jim Gray)The U.S. Coast Guard is searching for a prize-winning computer scientist who failed to return from a quick trip to the Farallon Islands on Sunday.
Well-known in Silicon Valley, Gray won the A.M. Turing Award in 1998 for his seminal contributions to database and transaction processing research. December 13 foosball公司走廊里多了一台 foosball table, 哈哈,以后可以每天玩了。上次在HQ见识了俱乐部冠亚军的风采,并有幸得到Bin Liang同志的亲传,名师出高徒,虽然我还不会玩,不过已经自认为是高徒啦 October 20 突然发现。。。早上浏览 Oracle Beehive Client, 看到主页上的总部图片,忽然发现这张图片和我前几天拍的照片取景角度十分相似。
上周几天到了下午四点钟就开始困乏,于是某天下午拿着相机溜出办公室,绕着湖边晒太阳,拍了几张办公楼的照片,唯有这张入眼些,就贴在了blog上。不过那天多云,天空没有主页图片那般湛蓝,还有,拍图片的那人似乎要比我高些。。昨天刚受成哥打击,说我身高没有优势(成哥说话较为含蓄,其原意便是说身高处于劣势)。。。 今天天气不错,下午再去拍一张,向后退退估计效果会好些。 June 08 没有变量和循环的语言 冒泡泡续XSLT是一种 functional programming language,函数被当作语言中的第一等公民,在这里只关注功能的定义而不是代码的执行次序,于是在 Imperative programming 中极重要的 loop 消失了,而且所谓的 variable 也变的了一旦定义便不可改变,这还叫作变量么?
没有了循环,没有了可变量,一个原本简单的数组遍历该怎么实现呢?
还是冒泡泡中的那个老问题,从一个正整数数组中找出最大值。
若是在 Imperative programming language 中,我们可以设指针来遍历数组,设变量来记录每次的最大值:
int returnValue = 0;
for(int i=0; i<a.length;i++){
if(int[i]>returnValue)
returnValue=int[i];
}
可是在变量不可变,循环不可用的XSLT中呢?recursion with parameters.
定义一个template,参数一为数组,参数二是最大值。每次进入 template 先判断参数一是否为空,若是则返回参数二;若否则递归,求出数组第二位至最后一位中的最大值,然后与参数二比较,返回二者中的最大值。
<xsl:template name="getMaximum">
<xsl:param name="nodes"/> <xsl:param name="max"/> <xsl:choose> <xsl:when test="not($nodes)"> <xsl:value-of select="number($max)"/> </xsl:when> <xsl:otherwise> <xsl:variable name="aNode" select="$nodes[1]"/> <xsl:call-template name="getMaximum"> <xsl:with-param name="nodes" select="$nodes[position( ) > 1]"/> <xsl:with-param name="max"> <xsl:choose> <xsl:when test="number($aNode) > number($max) or string($max) = 'NaN'"> <xsl:value-of select="$aNode"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$max"/> </xsl:otherwise> </xsl:choose> </xsl:with-param> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:template>
在XSLT中,一般的问题可以通过 xsl:for-each, xsl:apply-template 在特定的节点集上执行 select,当遇到标准XSLT不能解决的问题时,recursion 便是一个很好的选择。
June 06 冒泡泡比起 XSLT 1.0, 2.0 的功能强大了很多,尤其是新特性 grouping,遇到对条目分类计算的问题,三五行代码就能搞定。比如有一份图书列表,按作者对书目归类
<xsl:for-each-group select="book/author" group-by="author/@name">
...
</xsl:for-each-group>
要在归类的同时做些简单运算,还有现成的函数可以用,例如 求和 sum, 计算条目个数 count ...
问题来了,求和,计算条目个数都有现成函数,那求最大最小值,还有平均值这些类似的基本信息呢?
能简则简,是懒人们的一贯追求。
首先,用 avg(), min(), max() 直接试试。 报错,通不过。
不死心,上 w3.org 查查,是不是拼写不对? avg 倒是找到了,min 和 max 没有踪影。
还是不死心,上 w3schools 上看看 Functions Reference。 这里倒是声称 Functions on Sequences 包括 avg(), min() 还有 max(), 要求 XPath 2.0, XQuery 1.0 和 XSLT 2.0。 看来方法是有的,只是我的环境不支持。
还是自己动手,丰衣足食吧。
最简单的,先用 xsl:sort 排序,然后取首位。写起来挺简单,两行代码,可为了取个极值就对整个数列排序,是不是有点兴师动众?看看复杂度吧,不知道 xsl:sort 内部是怎么实现的,单从对排序算法的常识来看,搞不好有可能会是O(N2) 。现在数据量小还好说,以后用了分布式,操作类型再多些,弊端就露出来了。
sort不行,换个XPath语句,<xsl:value-of select="$nodes[not($nodes < .)]"/>,Select all nodes for which there is no node less than its value. 看看性能,又是O(N2) .
老老实实,写个算法吧。想起了数据结构课程当中最简单排序算法,冒泡排序,去掉循环,用它来求极值不错,只要 n-1 次关键码比较, 容易实现,性能又好,就它了。吭哧吭哧,写完了,一试,还真不错。换几组数据再试试,不对啊,为什么有的时候正确有的时候就会错的莫名其妙?左看看,右看看,哦,每次求出的最大值都是以 9 打头的那个。原来默认的模式是字符比较。加上 number(..) ,一切OK啦!
冒了一个泡泡
May 19 常用开源协议的详细解析(zz)常用开源协议的详细解析
|
|
|