??xml version="1.0" encoding="utf-8" standalone="yes"?>国产高清国内精品福利99久久,久久播电影网,国产精品永久久久久久久久久http://www.shnenglu.com/vczh/category/7341.html【QQQ?43056143】【EmailQvczh@163.com】【新微博:http://weibo.com/vczh?/description>zh-cnWed, 30 Apr 2014 08:24:42 GMTWed, 30 Apr 2014 08:24:42 GMT60要学车暂停更新几个星?http://www.shnenglu.com/vczh/archive/2014/04/30/206776.html陈梓?vczh)陈梓?vczh)Wed, 30 Apr 2014 07:33:00 GMThttp://www.shnenglu.com/vczh/archive/2014/04/30/206776.htmlhttp://www.shnenglu.com/vczh/comments/206776.htmlhttp://www.shnenglu.com/vczh/archive/2014/04/30/206776.html#Feedback0http://www.shnenglu.com/vczh/comments/commentRss/206776.htmlhttp://www.shnenglu.com/vczh/services/trackbacks/206776.html

陈梓?vczh) 2014-04-30 15:33 发表评论
]]>
开始用Word2013来写博客http://www.shnenglu.com/vczh/archive/2013/11/04/204074.html陈梓?vczh)陈梓?vczh)Sun, 03 Nov 2013 17:30:00 GMThttp://www.shnenglu.com/vczh/archive/2013/11/04/204074.htmlhttp://www.shnenglu.com/vczh/comments/204074.htmlhttp://www.shnenglu.com/vczh/archive/2013/11/04/204074.html#Feedback2http://www.shnenglu.com/vczh/comments/commentRss/204074.htmlhttp://www.shnenglu.com/vczh/services/trackbacks/204074.htmlW一步:如果从未发布q博客文章的话,需要在菜单里面选这里添加博客̎?

 

W二步:选择正确的设|?

 

W三步:写完博客之后Q按q里可以发布了Q?

 

如果以后需要写新的博客的话Q还可以直接点这里:

 

Word 2013是单好用啊Q虽然Live Writer没有了,但是有了Word 2013Q其实也是一L?/p>

陈梓?vczh) 2013-11-04 01:30 发表评论
]]>
旉多年我又再一ơ体验了一把跟大神聊天的感?/title><link>http://www.shnenglu.com/vczh/archive/2013/06/26/201310.html</link><dc:creator>陈梓?vczh)</dc:creator><author>陈梓?vczh)</author><pubDate>Tue, 25 Jun 2013 17:17:00 GMT</pubDate><guid>http://www.shnenglu.com/vczh/archive/2013/06/26/201310.html</guid><wfw:comment>http://www.shnenglu.com/vczh/comments/201310.html</wfw:comment><comments>http://www.shnenglu.com/vczh/archive/2013/06/26/201310.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.shnenglu.com/vczh/comments/commentRss/201310.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/vczh/services/trackbacks/201310.html</trackback:ping><description><![CDATA[<p>跟大聊天是很开心的。这不是因ؓ我激动,而是因ؓ大神说出来的每一个字都是有h值的Q一针见血Q毫无废话。至于ؓ什么说又,当然是这U事情以前发生过?/p> <p>W一ơ是在高中认识了龚敏敏。那个时候我刚做完那个傻逼的2D ARPG不久Q龚敏敏已经是M$RA的实习生了,囑Ş学上的造诣肯定要比我高许多Q其中的差距构成了大跟菜鸟的关pR当然现在我管中心已经攑֜了程序设计语aQprogramming languageQ以下简UPLQ上Q但是还知道一些图形学的内容,跟龚敏敏的差距自然也已经~小C不构成大和菜鸟的关pȝE度了。尽他q是比我多知道很多东ѝ?/p> <p>W二ơ是在大学的时候认识了g9yuayon。g9菊苣是做形式化和证明的,自然也知道很多PL的事情。那应该是我大二的时候,在CSDN上偶然发Cg9菊苣的博客,觉得文章写的很好Q就Z把博客上面的email“密码”给破了之后发emaill他。后来g9菊苣告诉了我很多诸如在哪里可以获得知识的事情Q于是我也就做了PL。尽现在已l很跟g9菊苣联系了,不过我感觉目前我跟g9的差距应该还属于大神跟菜鸟的关系Q因Z很久以前写的博客我都q不能完全搞明白?/p> <p>W三ơ就是今天的事情了。大安知道最q我在写一个《如何设计一门语a》的pd文章。这个系列文章肯定是会l写下去的,因ؓ我的语言都还没做出来。所以可以很明显地看出来Q我现在也在做一个语a。这跟王垠的那个one当然是不一LQ因为我从一开始就没打代替所有东西,而且目标也很明确Q就是把它做成跟C++/C#一P菜鸟可以很容易上手写出清晰易懂的代码Q大也可以在里面挖掘出很多奇技淫y。于是我不可避免的就遇到了CPS的问题?/p> <p>大家都知道C#有yield和await两个关键字,F#也有computation expression。于是我在惻I如果yield和await不是关键字,而是一个函敎ͼ会发生什么事情。展开来讲Q就是如果要让程序员自己实现一个ؓ特定目的服务的CPS变换Q那我的语法要怎么做。对于没有怎么设计q程序语a的h来说Q“设计一个语法”这U事情其实是很容易被误解的。语法ƈ不是说要在这里放一个括P在那里放一个关键字Q在别的地方q能省略一个什么东西(瞧瞧go抄了javascript那个屎一L分号省略{略Q。这些都属于品味的问题。品x不需要设计的Q那是靠感觉的,是一U艺术。只要你拿出来觉得漂亮,那就是好的。真正需要思考的东西是什么,那自然是围绕早上面的cdpȝ了?/p> <p>我用通俗易懂的方法来解释一下,什么是cdpȝQ或者说在我们这些做PL的h看来Q眼中的E序大概是什么样子的。我们拿一个C#的异步程序来_其实也就是上一文章讲的那个例子了? <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 5px; background-color: #f5f5f5; padding-left: 5px; padding-right: 5px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 5px" class="cnblogs_code"><pre><span style="color: #0000ff">async</span> <span style="color: #0000ff">void</span> button4_Click(<span style="color: #0000ff">object</span><span style="color: #000000"> sender, EventArgs e) { </span><span style="color: #0000ff">try</span><span style="color: #000000"> { </span><span style="color: #0000ff">string</span> a=<span style="color: #0000ff">await</span><span style="color: #000000"> Http.DownloadAsync(url1); </span><span style="color: #0000ff">string</span> b=<span style="color: #0000ff">await</span><span style="color: #000000"> Http.DownloadAsync(url2); textBox1.Text</span>=a+<span style="color: #000000">b; } </span><span style="color: #0000ff">catch</span><span style="color: #000000">(Exception ex) { textBox1.Text</span>=<span style="color: #000000">ex.Message; } }</span></pre></div> <p>大家都很熟悉吧。如果这个这么简单的E序q看不懂的话Q那肯定是没有认真阅L的《如何》系列。好了,现在开始来Ԍ做PL的h到底是如何看待这个程序的呢: <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 5px; background-color: #f5f5f5; padding-left: 5px; padding-right: 5px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 5px" class="cnblogs_code"><pre><span style="color: #0000ff">async</span> <span style="color: #0000ff">void</span><span style="color: #000000"> button4_Click(Object, EventArgs) { </span><span style="color: #0000ff">try</span><span style="color: #000000"> { String</span>=<span style="color: #0000ff">await</span> (String -> Task<String><span style="color: #000000">) (String); String</span>=<span style="color: #0000ff">await</span> (String -> Task<String><span style="color: #000000">) (String); (TextBox </span>-> String -> Void#TextBox.Text) (TextBox, String +<span style="color: #000000"> String); } </span><span style="color: #0000ff">catch</span><span style="color: #000000">(Exception) { (TextBox </span>-> String -> Void#TextBox.Text) (TextBox, (Exception -><span style="color: #000000"> String#Exception.Message) (Exception)); } }</span></pre></div> <p>嗯,差不多就是这个样子。这个函数究竟是下蝲一个盗版小_q是下蝲一个带节操的日本电影,I竟是同步下载,q是异步下蝲Q是下蝲C个文件夹Q还是下载到skydrive——关我屁事!我只看这里关于类型的部分?/p> <p>所以,如果await是一个函数的话,那他应该是什么类型?如果yield也是一个函敎ͼ那他应该是什么类型?如果q门语言让程序员来创建属于自qawait和yield甚至是他自己的想要的计算Q那我应该如何做一个框架让他往里面套,或者他写出来的q个函数I竟要在什么上下文里面满什么样的一个类型的关系呢?我最q就一直在惌个问题?/p> <p>一开始我把目光投向了F#的computation expressionQ因为F#的这个东西就h我想要的一切功能。后来我xq个功能搬进来的时候,发现怎样都套不上。当然我很快发CQ这其实是因为F#归根l底q是一个函数是语言Q他是不能在一个for循环里面写break、continue或者return的。F#的一个for循环Q永q是一个完的for循环。但是我的语a是可以的Q于是这样在cd上就不完了——不q这是小事,牺牲一点点完美换来易用性是值得的。当Ӟ牺牲很多完美来满x用性,我觉得是不值得的?/p> <p>既然for循环里面可以带break/continue/returnQ那么“我的computation expression”的For函数Q就不能是类gIEnumerable<T>->(T->M<U>)->M<U>q种Ua的东西了。那我应该怎么做呢Q?/p> <p>写到q里Q我觉得在微软工作就是好啊。关于编E语a领域的很多改q其实都是从微Yq里做出来的。通俗的部分,看看完美的C#Q看看ASP.NET MVC的razor模板在Visual Studio里面的智能提C的功能——这可是一个可以؜合HTML+CSS+Javascript+C#的代码,写的时候丝般顺滑,行云水Q俨然这四门语言是一门语a一栗在学术上,微Y的各个研I也A献了相当多的东西——不q我觉得你们对这些应该是不感兴趣的,管你们在linux上面也用了很多微软的成果?/p> <p>那这能说明什么问题呢Q这意味着Q我可以随时access到微软做~程语言的大们Q抓他们来问问题。不q他们是很忙的,l常不在U(我们也有一个类似QQq样子的东西Q。不q今天我随手打开了一下,展开了我U篏的几个大的l,发现F#他爹竟然是绿的,于是我随手就发了一句hiQ看看h家在不在。h家回了我Q于是我开始问q个问题了?/p> <p>什么,你不知道F#他爹是谁Q他当然是Don Syme了。写函数式语a不认识Don SymeQ就犹如ȝ理不认识牛顿Q读数学不认识柯西,写C++不知道Bjarne StroustrupQ用操作pȝ不知道Dave Cutler一P要跪着爬回自己学校里重新读书?/p> <p>Don Syme是微软的Principle ResearcherQ翻译过来大概就是“顶U科学家”的意思吧Q很有更牛逼的东西了?/p> <p>于是故事到这里就l束了,因ؓDon Syme大神他很快就回复我说Q如果for循环支持break/continue/returnQ那我就不应该从F#的computation expression里面获取灉|。至于我的问题要怎么办,q还是个open question。于是我们愉快的聊天q下面的一句话l束了:</p> <p>Don Syme: Research <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="微笑" src="http://www.shnenglu.com/images/cppblog_com/vczh/Windows-Live-Writer/713ffee08631_9B5/wlEmoticon-smile_2.png"></p><img src ="http://www.shnenglu.com/vczh/aggbug/201310.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/vczh/" target="_blank">陈梓?vczh)</a> 2013-06-26 01:17 <a href="http://www.shnenglu.com/vczh/archive/2013/06/26/201310.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ҏ|友phoenixbing的徏议我军_开一个(主要是编?语言/囑Ş的)讨论?/title><link>http://www.shnenglu.com/vczh/archive/2012/11/29/195805.html</link><dc:creator>陈梓?vczh)</dc:creator><author>陈梓?vczh)</author><pubDate>Thu, 29 Nov 2012 10:53:00 GMT</pubDate><guid>http://www.shnenglu.com/vczh/archive/2012/11/29/195805.html</guid><wfw:comment>http://www.shnenglu.com/vczh/comments/195805.html</wfw:comment><comments>http://www.shnenglu.com/vczh/archive/2012/11/29/195805.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.shnenglu.com/vczh/comments/commentRss/195805.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/vczh/services/trackbacks/195805.html</trackback:ping><description><![CDATA[<p>号Q?1724825</p> <p>在最q这几年里,一赯论编译器的h也不多,一般都是ooseven、@装配脑袋、@I明{(<--高手Q要?、@belleveinvis{这几个人。而且也零星有一些我也不记得叫什么名字的在我的评论里面提一些很好的Q让我得C充分的学习。因此我惻I如果有兴的人可以加q来一赯论的话,应该不仅ҎQ对大家也是有好处的。而且我本人喜Ƣ的领域也比较分散,譬如囑Ş界面、Y件渲染、编译原理、游戏开发等{。这几个领域都有互相促进的作用,而且需要的背景知识交集又少Q不同领域的人的思想和类型也不一栗如果群里的人北京分布比较广泛的话,也许q会有意想不到的idea出现?/p> <p>所以只要满以下要求的人都热烈Ƣ迎?br>1、热qE?br>2、不是来求代码的<br>3、不要问各种傻逼问题(譬如说ؓ什么cout<<1+2<<endl;会有错误啊)和求写大作业Q我可没旉这些不见棺材不泪的学生们Q?br>4、可以交换知识就最好了</p> <p>本穷丑矮不是VIPQ故h数有上限Q不q我惛_该是达不到的Q,先到先得?/p> <p>引用<a title="http://www.shnenglu.com/vczh/archive/2012/11/29/195779.html" href="http://www.shnenglu.com/vczh/archive/2012/11/29/195779.html">http://www.shnenglu.com/vczh/archive/2012/11/29/195779.html</a>的三?/p> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 5px; background-color: #f5f5f5; padding-left: 5px; padding-right: 5px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 5px" class="cnblogs_code"><span style="color: #000000">老大Q你的博客很好,代码很好Q但是我们有时候消化不了这么快Q有时候想找h交流交流Q却找不刎ͼ我徏议你建立一个群Q把号攑֜博客首页Q这LI你源码的h会聚集在一P大家也可以讨论,你也不需要参与讨论,甚至你不在群里都可以Q毕竟你旉有限Q你q要d博灌_二次元啥的?br><br>q样你也没啥损失。但对祖国的~译器苦手们大有帮助?/span>Q后略)</div><img src ="http://www.shnenglu.com/vczh/aggbug/195805.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/vczh/" target="_blank">陈梓?vczh)</a> 2012-11-29 18:53 <a href="http://www.shnenglu.com/vczh/archive/2012/11/29/195805.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>l于点了ASP.NET MVC3的技能树?/title><link>http://www.shnenglu.com/vczh/archive/2012/07/10/182499.html</link><dc:creator>陈梓?vczh)</dc:creator><author>陈梓?vczh)</author><pubDate>Mon, 09 Jul 2012 18:27:00 GMT</pubDate><guid>http://www.shnenglu.com/vczh/archive/2012/07/10/182499.html</guid><wfw:comment>http://www.shnenglu.com/vczh/comments/182499.html</wfw:comment><comments>http://www.shnenglu.com/vczh/archive/2012/07/10/182499.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.shnenglu.com/vczh/comments/commentRss/182499.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/vczh/services/trackbacks/182499.html</trackback:ping><description><![CDATA[<div>    Zl自己写的C++ GUI库做宣传Q在几个月前我决定要l他做一个网站,l历了这几个月不断的重构Q现在网站的架构l于定型了。考虑到在q之前我几乎没有开发网站的l验Q所以在q里做点ȝ来介l自׃路走来发生的事情?br /><br />    一开始ؓ了制作这个网站购C万网的域名和一个很便宜的一q?00块钱的空间。这个空间支持低版本的asp.netQ不q当时还没学会这斚w的东ѝ后来我开始学习HTML和CSSQ然后做Z几个面。不同的览器有不同的bugQ导致HTML和CSS搞v来相当复杂,特别是div和float的结合,更是焦头烂额。后来烦性整个网都用表格布局。虽然表格布局q不是什么流行的做法Q但是鉴于GacUI的网站ƈ没有多么复杂的内容,因此最后这么做Q避开了很多跨览器的问题。当然以后如果网内容变得太复杂的话L要改回div的吧。对于常q写囑Ş和编译器斚w的我来说Q刚开始深入接触HTM和CSS的时候就对他的杂乱无章所震惊。用programming language领域的经验和标准来看QHTML、CSS和Javascript作ؓ~程的工具实在是烂到不能再烂了。不q事物的存在L有其合理性的Q纵观这三样东西的发展和历史Q我们会发现其过E充满了各种巧合Q而且当初q些东西在发明的时候就仅仅是ؓ了解决一些简单的问题。如今流行了Q就跟COBOL、Java和C语言一P全世界的E序员都只能接受其不可忽视的q而就q么开发下M?br /><br />    在熟悉了单的HTML和CSS之后Q我开始给GacUI做网站了。这个网站的主要目的是用来介绍GacUI的特炏V展CZ些Demo、告诉h们如何下载ƈ使用Q最后就是提供一个在U文档。文档就跟MSDN一P当然搜烦功能q不存在。刚开始就遇到了美工问题。技能书都点在了pȝ软g上,自己的美工自然是q自己都不能满的。后来找了几个例子,看来看去觉得q是<a style="text-decoration: underline" target="_blank">http://www.codeplex.com</a>最眼。但是它的代码复杂到吐血Q我便只好依L葫芦Q自己慢慢复刅R最后复ȝl果q是令我比较满意的。在做完了导航条之后Q我发C一个问题。如果不使用如今的框架来做网,而采用手写的Ҏ来生成HTML文g的话Q势必是无法DIY的。不q那个时候还没有意识到这个问题的严重性,于是采用了单粗暴的复制代码的方法来做好那五个页面。这也ؓ我之后{向Windows Azure埋下了伏W?br /><br />    之后做Demo的展C页面比较顺利。因为目前展CDemo的方法就是先贴效果图Q然后脓C++代码Q十分的单粗暴。于是立d遇到了一个新的障,要如何写一个类似MSDN的HTML文档。其实这件事情跟做网站本w是没什么关pȝQ但是自从决定了要提供在U文档之后,q个问题也就无法避免了。C++生成文档地方法之前略有研IӞ毕竟关于q个功能的一个简单的原型是我跟几个朋友在大一的时候参加学校的软g竞赛的作品。后来还考虑q诸如Doxygenq样的工兗但是由于Doxygen生成的文档很难调整风|使其整体融入我的|站的样式里Q因此最l就攑ּ了。然后我便想起了Visual Studio的XML注释功能。在略ؓ研究之后Q我便给我的整个GacUI的类库的public class~写了XML注释。当我最l要执行生成文档的这一步的时候,我才发现所有的工具都不支持原生C++E序和XML注释的文档生成功能。不q想来其实也有道理。Visual Studio在编译了XML注释之后提供的一个xml文g只包含符号和注释的对应关pR至于符L竟是什么内容,则完全没有。因?net的程序是怎么生成文档的呢Q自然是利用反射了。C++的苦逼就在这里啊Q除了直接写代码Q就没有MҎ。但是写了这么多的XML文档要放弃实在是太可惜了Q所以我׃断的扑֑找,然后发现Visual Studio在安装的时候提供了一个叫做DIA的库Q可以让我阅读pdb文gQ?br /><br />    q让我欣喜若狂啊。既然Visual C++的调试器可以通过阅读pdb得C一切的信息Q看那个完美的调试器界面q道了Q)Q那我自然也可以从pdb里面扑ֈ所有东西的。抱着q个xQ我开始研I原生C++的pdb文g的符L语义l构Q后来就把我的经验写成了q两博客:<a style="text-decoration: underline" href="http://www.shnenglu.com/vczh/archive/2012/03/10/167538.html" target="_blank">http://www.shnenglu.com/vczh/archive/2012/03/10/167538.html</a>?a style="text-decoration: underline" href="http://www.shnenglu.com/vczh/archive/2012/03/10/167539.html" target="_blank">http://www.shnenglu.com/vczh/archive/2012/03/10/167539.html</a>。虽然PDBq没有包含模板类的直接信息,不过q暂时不成问题,因ؓGacUI的大部分cM不是模板cR经q了q些研究Q我得C一个相当于静态反的功能了。之所以说是静态,是因为我没办法跟.netE序一样通过反射来调用函数。但是这对于生成文档来说已经_了。后来我做了一件事情,是写了个程序,读pdb获得所有的W号dumpZ份xmlQ然后再写一个程序把xml里面的符号和Visual Studio产生的那个XMLL释文件的W号联系hQ这个过E有点复杂,因ؓ两边的表C方法不一?#8230;…Q,得到了一份既包含W号的完整内容又包含对应的注释的q么个几十M的XML文g。之后我设计了一个简单的文档格式Q写了个E序把那个几十M的XML文g转换成用那个单的文档格式表达的文档。之所以这样做是考虑到将来说不定除了HTMLq要生成其他格式的文档,于是做了那么个E序可读的中间格式。最后一步当然是读这些文件生HTML文g了。整个流E如下所C:<br /><br />    PDBQVC++~译器提供) -> Symbols.XML Q因为DIA是一个COMlgQ所以这一步我用C++写,下面所有的步骤都用C#写。C#用v来还是更Ҏ?#8230;…Q?br />    Symbols.XML + Comment.XMLQVC++~译器提供) -> FullSymbols.XML<br />    FullSymbols.XML -> *.docitem.txt<br />    *.docitem.txt -> *.html<br /><br />    l过了这些步骤,我就得到了整整一个文件夹的一千五癑֤个HTML文g了。然后我把这些文件跟我的|站合ƈ在一起上传,得CW一个版本的GacUI|站了:<a style="text-decoration: underline" target="_blank">http://www.gaclib.net</a>。当然现在已l看不到W一个版本的|站了。做完这些步骤之后,我就暂停了下来,l箋开发GacUI。一边开发一边生DemoQ添加Demo面Q生新的文档,消灭一些没用的函数的文档。写代码的时候还比较ҎQ再把代码的更改反映到这个网站的时候,׃现出了手写纯静态网站的qQ维护v来真TMDȝ啊!虽然上面的这些步骤已l被我合q到了一个bat文gQ每ơ双d能自动完成,但是修改Demo面的时候还是h肉的。这让我十分不爽?br /><br />    一个偶然的ZQ我用了信用卡注册了一个Windows Azure的空间。这个空间其实ƈ不powerfulQ只l了我相当于六颗CPU的计能力。不q用来做q个|站已经_了。想到每ơ修改网站都要复制HTML代码Q修改了l构的话q要动所有的HTML文gQ烦了大概一个月之后我就下定军_要把HTML做成动态生成的。在看了Windows Azure的一些介l之后,我觉得ASP.NET MVC3加上Windows Azure的简单存储功能十分适合用来作这U东ѝ?br /><br />    刚开始接触MVC3q是让我觉得比较困难Q不q最大的困难q是在于理解router的机刉里。GacUI的网站内容简单,所以ƈ不需要ASP.NET的其他高U技术。结果所有的困难都出现在router机制里面。在l过了两天的学习之后Q我初步的掌握了它的使用Ҏ。MVC3的router基本上就是一个pattern matching的过E,把你的url映射C个对controller的调用上面。你不仅可以映射controller的类名和函数名,q可以从url抽取一些参数。在掌握了它的原理之后,操作router的感觉就跟写haskell一P又直接又清爽。接下来是razor模板的事情。从programming language的观点上看,razor是一个设计的相当地模板语a。第一个特点就是和宿主语言C#融合的十分紧密,W二个特点就是几乎一点语法噪音都没有。用q原始asp和php的h都知道代码里面充满了<%%>是一件十分o厌的事情。每一处代码和HTML的切换都?lt;%%>Q整个文件一眼望d是一坨屎。razor很好地解决了q个问题。他采用了复杂的判断Ҏ来分辨哪些东西是C#Q哪些东西是HTML。小部分C#和HTML的切换至需要一个@W号搞定了Q大部分的切换都是自动的。虽然偶razor会有分析错误的情况,但是他仍然提供了@:操作W来让我们workaroundq个分析q程。整个模板语a下来毫无语法噪音Q写h十分直接Q十分干净?br /><br />    在网站差不多做完之后Q我往生成HTML文档的程序添加了一个功能:生成一个包含HTML文档内容和元数据的XML。然后我写了一个程序把q一大堆XML灌入了Windows Azure的Blob Storage里面。Blob Storagep一个硬盘一P可以用来存放大量的不需要计(SQL数据库就属于那种需要计的Q数据。然后我l每一个文档页面徏立了一个统一的ModelQModel里面包含?#8220;d和分析这些XML文g”的功能,controller则做一个简单的转发Q最后在model里面把所有被Model标记出来的需要改写的URL都用@Url.Action来处理。在q个q程中我学到了一个razor的小技巧:虽然不是很安全,但是在razor里面使用MvcHtmlString可以l过html encoding的功能,把存储在变量里面的HTML代码直接嵌进面。这么用的时候需要有清醒的意识?br /><br />    如今GacUIl于有了镜像|站Q?a style="text-decoration: underline" target="_blank">http://asia.gaclib.net</a>?a style="text-decoration: underline" target="_blank">http://us.gaclib.net</a>了。万|的破烂I间自然不可能直接访问Windows Azure Storage了。所以我采用了一个看h比较傻逼的Ҏ。首先我修改好网站之后,上传到EastAsia和West US两个服务器,然后我写了一个程序再把每一个生成好的HTML面下蝲下来。下载的q程其实和写爬虫差不多Q每获得一个新的HTML文g去分析里面的链接,然后l箋下蝲。写完了之后我发现这个小E序q有了发现死铄功能Q直接找Z|站代码的几个bug。下载完之后FTPC|的I间里面。这个服务器在杭州。因此网站就有三个服务器了?br /><br />    整个q程雉碎耗费了大U半q的旉Q都是利用每天下班后的时间完成的。自己又点了技能树的一个新子树Q涨了点l验|觉得q些l验对于某些人来说可能还有参考的价|于是写了这博客,大家共勉?/div><img src ="http://www.shnenglu.com/vczh/aggbug/182499.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/vczh/" target="_blank">陈梓?vczh)</a> 2012-07-10 02:27 <a href="http://www.shnenglu.com/vczh/archive/2012/07/10/182499.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++cd使用习惯投票一?/title><link>http://www.shnenglu.com/vczh/archive/2011/11/23/160835.html</link><dc:creator>陈梓?vczh)</dc:creator><author>陈梓?vczh)</author><pubDate>Wed, 23 Nov 2011 14:22:00 GMT</pubDate><guid>http://www.shnenglu.com/vczh/archive/2011/11/23/160835.html</guid><wfw:comment>http://www.shnenglu.com/vczh/comments/160835.html</wfw:comment><comments>http://www.shnenglu.com/vczh/archive/2011/11/23/160835.html#Feedback</comments><slash:comments>18</slash:comments><wfw:commentRss>http://www.shnenglu.com/vczh/comments/commentRss/160835.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/vczh/services/trackbacks/160835.html</trackback:ping><description><![CDATA[    因ؓ<a style="text-decoration: underline" href="http://www.shnenglu.com/vczh/archive/2011/11/13/160025.html" target="_blank">GacUI</a>文g渐渐增多Qؓ了让大家便于使用库,因此有下列三个选项Q如果大家有I就评论Q针对喜q度排序之Q?br /><br />    1、直接引用源代码。一个文件夹下有很多.h?cppQ给出文档,告诉大家需要什么功能的时候需要引用什么东西,然后自行d自己的工E文件?br />    2、存在dllQƈ且对于一些因为模板的原因无法直接放进dll的功能将失去Q需要用则引用源代码?br />    3、存在dllQƈ且用比模板丑陋的方法来本来用模板做接口的功能暴露出来?br />    4、只有一?h和一?cpp文g。我类库通过功能切分Q只有GUIQ只有脚本,包含GUI和脚本和他们的互联等{若q选项Q,l出若干?h?cpp。大安择需要的那一Ҏ加进工程文g。这L话,直接#include那个.h文gq接拥有了所有功能。而且Visual C++拥有预编译头Qprecompiled headerQ,可以自行该.h?cppq行预编译,q猛提高~译速度Q用stl的时候大家肯定丝毫没有感觉太多头文g带来的问题)。这栯可以分别清晰地提供windows版本和linux版本{文件对?br /><br />    我自q們֐是?Q因为某些原因,一旦把代码写进dllQ有一些优的模板实现的接口将被迫打散Q譬如说stlQ这些只是例子,我没有用stlQ,所以觉得有些不爽。而且只添加两个文Ӟ一?h和一?cppQ,无论使用makefileq是工程文gQ无论直接备份或者源码版本管理(codeplex、source forge、google code、githubQ都十分方便?<img src ="http://www.shnenglu.com/vczh/aggbug/160835.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/vczh/" target="_blank">陈梓?vczh)</a> 2011-11-23 22:22 <a href="http://www.shnenglu.com/vczh/archive/2011/11/23/160835.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>睡觉都梦见自己写完了~译?/title><link>http://www.shnenglu.com/vczh/archive/2011/09/12/155578.html</link><dc:creator>陈梓?vczh)</dc:creator><author>陈梓?vczh)</author><pubDate>Sun, 11 Sep 2011 18:13:00 GMT</pubDate><guid>http://www.shnenglu.com/vczh/archive/2011/09/12/155578.html</guid><wfw:comment>http://www.shnenglu.com/vczh/comments/155578.html</wfw:comment><comments>http://www.shnenglu.com/vczh/archive/2011/09/12/155578.html#Feedback</comments><slash:comments>18</slash:comments><wfw:commentRss>http://www.shnenglu.com/vczh/comments/commentRss/155578.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/vczh/services/trackbacks/155578.html</trackback:ping><description><![CDATA[    C#真TMD复杂Q让我好生搞了几个月都没把一个山寨C#的语法分析器写完Q就惛_脆去搞别的东西好了。因此山寨了个小WCFq顺带实践了一下不需要传递password和MD5(password)然后用RSA传递AESkey的加密方法,做了一个client可以new server的类来做|络通讯的东ѝ完了还搞了搞图像识别,不过最后除了一个超烂的边缘以外也没做成什么东ѝ?br /><br />    l果昨天晚上梦见我把C#~译到GPU上面的事情给搞定了(Q!Q!Q,然后在梦里面在惻I“现在距离javascript~译到GPU也不q了Q干脆秒掉他好了?#8221;正要开U,醒了?br /><br />    所以想了想Q从今天开始,q是l箋做下ȝŞ?<img src ="http://www.shnenglu.com/vczh/aggbug/155578.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/vczh/" target="_blank">陈梓?vczh)</a> 2011-09-12 02:13 <a href="http://www.shnenglu.com/vczh/archive/2011/09/12/155578.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>今天试了一下SVN插gQ被轰得渣都不剩http://www.shnenglu.com/vczh/archive/2011/05/03/145609.html陈梓?vczh)陈梓?vczh)Tue, 03 May 2011 14:56:00 GMThttp://www.shnenglu.com/vczh/archive/2011/05/03/145609.htmlhttp://www.shnenglu.com/vczh/comments/145609.htmlhttp://www.shnenglu.com/vczh/archive/2011/05/03/145609.html#Feedback14http://www.shnenglu.com/vczh/comments/commentRss/145609.htmlhttp://www.shnenglu.com/vczh/services/trackbacks/145609.html
    卧槽Q没有进Pending ChangesQ?br>
    卧槽QHistory不能RevertQ!

    卧槽Qclient端文件夹q在Q对他Q何操作都p|Q!Q?br>
    卧槽Q渣都不剩了啊!Q!Q?br>
    q好那只是一个时的solution。要是在Repository Explorer里面手一抖在trunk文g夹上面Delete了,后果不堪设想啊。然后我p得了一个教训。想看client端的文g夹的source control状态,去Working Copy ExplorerQ那里面的Delete是进Pending Changes的。Reposiory Explorer删除个文件夹Q直接就在服务器端删掉了Q神马都没有了。这一辈子都不要打开Repository Explorer。然后我惌v了以前看q的一文章《Unix Haters》里面说到unix的哲学就是,不警告,不报告,不祷告。像Deleteq种东西Q要是真他妈不进Pending ChangesQ至告诉我他不qPending Changes……

    瞬间惌v来,各位读者们Q这文章仅跟客L插g有关Q这里不涉及Msvnadmin命o行内宏V谢谢合作?

陈梓?vczh) 2011-05-03 22:56 发表评论
]]>
关于饭同学的【简单的字符串模版匹配?/title><link>http://www.shnenglu.com/vczh/archive/2011/04/28/145221.html</link><dc:creator>陈梓?vczh)</dc:creator><author>陈梓?vczh)</author><pubDate>Thu, 28 Apr 2011 07:04:00 GMT</pubDate><guid>http://www.shnenglu.com/vczh/archive/2011/04/28/145221.html</guid><wfw:comment>http://www.shnenglu.com/vczh/comments/145221.html</wfw:comment><comments>http://www.shnenglu.com/vczh/archive/2011/04/28/145221.html#Feedback</comments><slash:comments>20</slash:comments><wfw:commentRss>http://www.shnenglu.com/vczh/comments/commentRss/145221.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/vczh/services/trackbacks/145221.html</trackback:ping><description><![CDATA[    Z避免留言再次被删掉,我还是直接在q里说几句话好了?br><br>    在这里展CZ下饭同学所珍爱的原创代?#8220;<a style="TEXT-DECORATION: underline" href="http://www.shnenglu.com/johndragon/archive/2011/04/27/145123.html" target=_blank>http://www.shnenglu.com/johndragon/archive/2011/04/27/145123.html</a>”?br><br>    匚w一个通配W的Ҏ很多。譬如说我之前还写过处理正则表达式的“<a style="TEXT-DECORATION: underline" href="http://www.shnenglu.com/vczh/archive/2008/05/22/50763.html" target=_blank>http://www.shnenglu.com/vczh/archive/2008/05/22/50763.html</a>”Q或者说饭同学的那个帖子Q或者说《beautiful code》里面那个递归的做法。饭同学在cppblog上还是出镜率比较高的,因此他以前在博客上干q些什么事情我都是看了的。我猜他大概׃知道那个《beautiful code》(l果他自己承认了Q,因此靠着记忆贴了出来。我们都知道没有~译q的代码Z点bug是正常的。后面还说了一句啥“寥寥几行瞬间搞定”Q其实也是调侃一下。《beautiful code》这本书很出名,我不会认Z有什么h会误以ؓ那个递归的算法是我自己原创的Q当然也q不出饭同学后面竟然会说我是ؓ了证明自p明?br><br>    不过事情的发展比较出乎我意料。因为留a都被删掉了,所以我拿不据,大家要质疑也随便你们?br><br>    饭同学自p努力研读?#8220;我的”代码Q然后指个问题有bug。好Q这都是正常的。那他虽然文章里面写了bug出现?的处理里面,但是实际上这是后来加上去的,在留a里面他从来没说bug在哪里,取而代之的是什么我Z证明自己聪明得逞啦Q对人态度不好啦,对待E序的态度不好啦,各种׃八糟的东ѝ我想说一?#8220;卧槽”?br><br>    在这里对z某同学再ơ感Ȁ。虽然言辞比较激动,但好歹不会随便觉得h家在转发别h的代码是Z证明自己聪明Q怎么可能呢)?br><br>    后面q有Q我单回应了一下这代码是我贴过来的Q然后说了几句饭同学不应该反应大Q不要随便猜我是ؓ了如何如何。然后饭同学回复了一句大概说的是我的留言没有意思的事情。没意思你忽略嘛Q你觉得整个事情向着没意思的方向发展你可以关闭回复嘛。你q回复我岂不是更没意思。我最后一句留a说的?#8220;q是说代码吧Q说我更没意?#8221;Q然后所有留a寿l正寝了?br><br>    所以说做程序员q是不能太激动。有代码你看代码好了,何必要通过否定一个h的行为来否定他所写的代码Q更何况q是别h写的Q呢Q?q有Q要是动不动p得别代码是在挑战你的话,那只会浪Ҏ间在处理q些破事情而已。还是写自己的代码吧Q这么做划不来?<br><br>---------------------------------q里refer一下后来多出来的那个文章的部分--------------------------------------<br><br>话说我从来没?#8220;坚持自己是在做学术研I?#8221;Q那其实是饭同学在被删掉的那部分留言中坚持自己做学术研究。而且也没?#8220;不少人匿名来支持”Q我看到的就是z某同学一个h而已Q难道后来h数暴增?Q。态度问题的话那随便你怎么看,我又不吝啬传播别人的知识Q你q不看?br><br> <div style="PADDING-BOTTOM: 4px; BACKGROUND-COLOR: rgb(238,238,238); PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; BORDER-LEFT-COLOR: rgb(204,204,204); WORD-BREAK: break-all; PADDING-TOP: 4px">关于递归的方法:</div> <div style="PADDING-BOTTOM: 4px; BACKGROUND-COLOR: rgb(238,238,238); PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; BORDER-LEFT-COLOR: rgb(204,204,204); WORD-BREAK: break-all; PADDING-TOP: 4px"><span style="WHITE-SPACE: pre" class=Apple-tab-span></span>VCZH提供了一个递归的解法,q且“寥寥数行Q瞬间搞?#8221;?/div> <div style="PADDING-BOTTOM: 4px; BACKGROUND-COLOR: rgb(238,238,238); PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; BORDER-LEFT-COLOR: rgb(204,204,204); WORD-BREAK: break-all; PADDING-TOP: 4px"><span style="WHITE-SPACE: pre" class=Apple-tab-span></span>不过Q递归会带来堆栈的问题?/div> <div style="PADDING-BOTTOM: 4px; BACKGROUND-COLOR: rgb(238,238,238); PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; BORDER-LEFT-COLOR: rgb(204,204,204); WORD-BREAK: break-all; PADDING-TOP: 4px"><span style="WHITE-SPACE: pre" class=Apple-tab-span></span>而且他的Ҏ里存在BUGQ我׃贴上来了?/div> <div style="PADDING-BOTTOM: 4px; BACKGROUND-COLOR: rgb(238,238,238); PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; BORDER-LEFT-COLOR: rgb(204,204,204); WORD-BREAK: break-all; PADDING-TOP: 4px"><span style="WHITE-SPACE: pre" class=Apple-tab-span></span>据他U那U方法来自一?beautiful code的书。此书我没看q,所以不清楚?/div> <div style="PADDING-BOTTOM: 4px; BACKGROUND-COLOR: rgb(238,238,238); PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; BORDER-LEFT-COLOR: rgb(204,204,204); WORD-BREAK: break-all; PADDING-TOP: 4px"><span style="WHITE-SPACE: pre" class=Apple-tab-span></span>从他的方法本w看Q他只能提供是否匚w的一个结果,q且匚w模版和待匚w的字W串必须?l尾Qƈ且不q回l束匚w时的匚wq度?/div> <div style="PADDING-BOTTOM: 4px; BACKGROUND-COLOR: rgb(238,238,238); PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; BORDER-LEFT-COLOR: rgb(204,204,204); WORD-BREAK: break-all; PADDING-TOP: 4px"><span style="WHITE-SPACE: pre" class=Apple-tab-span></span>q且在处?的时候,有些许小BUG?/div> <div style="PADDING-BOTTOM: 4px; BACKGROUND-COLOR: rgb(238,238,238); PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; BORDER-LEFT-COLOR: rgb(204,204,204); WORD-BREAK: break-all; PADDING-TOP: 4px"><br></div> <div style="PADDING-BOTTOM: 4px; BACKGROUND-COLOR: rgb(238,238,238); PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; BORDER-LEFT-COLOR: rgb(204,204,204); WORD-BREAK: break-all; PADDING-TOP: 4px"><span style="WHITE-SPACE: pre" class=Apple-tab-span></span>虽然他一直在坚持自己是在做学术研IӞ也有不少人匿名来支持他,不过我觉得他q是有些态度问题?/div> <div style="PADDING-BOTTOM: 4px; BACKGROUND-COLOR: rgb(238,238,238); PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; BORDER-LEFT-COLOR: rgb(204,204,204); WORD-BREAK: break-all; PADDING-TOP: 4px"><span style="WHITE-SPACE: pre" class=Apple-tab-span></span>L喜欢在别人的贴上表现自己。做的太q了是显摆了?/div> <div style="PADDING-BOTTOM: 4px; BACKGROUND-COLOR: rgb(238,238,238); PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; BORDER-LEFT-COLOR: rgb(204,204,204); WORD-BREAK: break-all; PADDING-TOP: 4px"><span style="WHITE-SPACE: pre" class=Apple-tab-span></span>从他回帖说的那些话,比如“寥寥数行Q瞬间搞?#8221;q些Q以及ƈ不完善的代码看来Q他Ҏ没有看q我的代码,只是凭字面意思就开始脓代码?/div> <div style="PADDING-BOTTOM: 4px; BACKGROUND-COLOR: rgb(238,238,238); PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; BORDER-LEFT-COLOR: rgb(204,204,204); WORD-BREAK: break-all; PADDING-TOP: 4px"><span style="WHITE-SPACE: pre" class=Apple-tab-span></span>我实在不清楚他说q些话和贴代码的原因是什么。这些我׃再讨ZQ我也删除了他的回复?/div> <div style="PADDING-BOTTOM: 4px; BACKGROUND-COLOR: rgb(238,238,238); PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; BORDER-LEFT-COLOR: rgb(204,204,204); WORD-BREAK: break-all; PADDING-TOP: 4px"><span style="WHITE-SPACE: pre" class=Apple-tab-span></span>不过我想_如果你一直以q种态度来回别h的帖子,那你会成Z个o厌的人?/div> <img src ="http://www.shnenglu.com/vczh/aggbug/145221.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/vczh/" target="_blank">陈梓?vczh)</a> 2011-04-28 15:04 <a href="http://www.shnenglu.com/vczh/archive/2011/04/28/145221.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ud北京http://www.shnenglu.com/vczh/archive/2011/04/11/143974.html陈梓?vczh)陈梓?vczh)Mon, 11 Apr 2011 13:32:00 GMThttp://www.shnenglu.com/vczh/archive/2011/04/11/143974.htmlhttp://www.shnenglu.com/vczh/comments/143974.htmlhttp://www.shnenglu.com/vczh/archive/2011/04/11/143974.html#Feedback16http://www.shnenglu.com/vczh/comments/commentRss/143974.htmlhttp://www.shnenglu.com/vczh/services/trackbacks/143974.html
    Vczh Library++3.0最q的q展比较~慢。我要用一U类似模?生成器的Ҏ来让我可以很方便地给多个~程语言撰写中英双语的文档,然后分开~译成多个文档,当然每个文档只有一门程序语a以及一门自然语a。因此最q正在着手给VL++3.0dxml、json以及模板文g的支持。这个模板的~译q程跟xml+xslt比较cMQ唯一的区别是我的~译q程可以控制多个步骤产生一大堆文gQ譬如说文档本nQ譬如说各个脚本实例及其makefile{等?br>
    室友也很喜欢没事写代码,所以我在维护VL++3.0的同时还会跟他一起做一些有意思的工E来玩一玩。最q在搞一个跟钢琴谱有关的软g及其一些小研究。恰好我跟他时候都学过钢琴Q唯一的区别是他没有断Q我断了……Q,M都是闲着没事充实生活用的?br>
    工作之后没有在学校的那么多时_无法l持两天臛_能做一个东西来写博客的速度了,降低C一个月两篇。不Ҏ?#8230;…

陈梓?vczh) 2011-04-11 21:32 发表评论
]]>
关于C++之“复杂?/title><link>http://www.shnenglu.com/vczh/archive/2010/07/07/119562.html</link><dc:creator>陈梓?vczh)</dc:creator><author>陈梓?vczh)</author><pubDate>Wed, 07 Jul 2010 03:52:00 GMT</pubDate><guid>http://www.shnenglu.com/vczh/archive/2010/07/07/119562.html</guid><wfw:comment>http://www.shnenglu.com/vczh/comments/119562.html</wfw:comment><comments>http://www.shnenglu.com/vczh/archive/2010/07/07/119562.html#Feedback</comments><slash:comments>66</slash:comments><wfw:commentRss>http://www.shnenglu.com/vczh/comments/commentRss/119562.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/vczh/services/trackbacks/119562.html</trackback:ping><description><![CDATA[    gC++“q于复杂”已经成ؓ了诟病,不过对于我个人来讲我实在很难理解q个观点。之前有个朋友说stream::operator<<很复杂,其实也就是几个overloading。还有些传参数的时候很复杂Q这无非是复制构造函数、析构函数和引用吧。虽然我个h觉得模板元编E其实才是C++里面最复杂的地方,但是鉴于模板元编E实际的用处不大Q我惛_该只有少数几个h会用它。但是这样很多hq是C++复杂Q那我就不知道究竟在指什么了?br><br>    所以大家对C++有什么想Lp紧留a哈,我也好看看别人是怎么理解的,然后讨论讨论?br><br>    Q不q从我自q角度出发Q我认ؓ凡是~译器不能检查的东西Q譬如可变参敎ͼ指针cd强制转换Q,都远比能查的东西Q模板元~程Q要复杂Q因Zh很容易犯错,机器不会。) <img src ="http://www.shnenglu.com/vczh/aggbug/119562.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/vczh/" target="_blank">陈梓?vczh)</a> 2010-07-07 11:52 <a href="http://www.shnenglu.com/vczh/archive/2010/07/07/119562.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于造R?/title><link>http://www.shnenglu.com/vczh/archive/2010/07/01/119083.html</link><dc:creator>陈梓?vczh)</dc:creator><author>陈梓?vczh)</author><pubDate>Thu, 01 Jul 2010 09:14:00 GMT</pubDate><guid>http://www.shnenglu.com/vczh/archive/2010/07/01/119083.html</guid><wfw:comment>http://www.shnenglu.com/vczh/comments/119083.html</wfw:comment><comments>http://www.shnenglu.com/vczh/archive/2010/07/01/119083.html#Feedback</comments><slash:comments>21</slash:comments><wfw:commentRss>http://www.shnenglu.com/vczh/comments/commentRss/119083.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/vczh/services/trackbacks/119083.html</trackback:ping><description><![CDATA[    q?span style="COLOR: red"><strong>?/strong></span>q来屡屡被网友教育说不要造R轮,我觉得我有必要专门写几句话来阐述我的观点?br><br>    1Q公司的代码Q自然有规定Q你造不了R轮?br>    2Q自己外包赚q代码Q造了也只会浪Ҏ_q个随便你?br>    3Q自己写的代码。无Z开源也好,不开源也好,自己写那些不能换q代码无非是因ؓ你写的爽嘛,那造R轮还能提高自己功力,为啥L有h来说q样不行呢?q又不是公司的代码,也不是拿d成别人外包给我项目的代码Q这个时候你q用别h的东西,完全是没有意义的?span style="COLOR: red"><strong>除非你所谓的学习是学习如何使用别h的R?/strong></span>。当然我自己的定义是Q学习造R轮,不仅能知道很多你不造R轮不知道的东西,同时造完了,你看别h的R轮,瞬间q道怎么用了。而且如果你想的话Q你q能研究一下怎么比别人造得更好。什么?你相信自己无论如何这一辈子写到M比别人烂么?那就是另一回事了? <img src ="http://www.shnenglu.com/vczh/aggbug/119083.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/vczh/" target="_blank">陈梓?vczh)</a> 2010-07-01 17:14 <a href="http://www.shnenglu.com/vczh/archive/2010/07/01/119083.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>帝出差W一?/title><link>http://www.shnenglu.com/vczh/archive/2010/04/10/112165.html</link><dc:creator>陈梓?vczh)</dc:creator><author>陈梓?vczh)</author><pubDate>Sat, 10 Apr 2010 05:31:00 GMT</pubDate><guid>http://www.shnenglu.com/vczh/archive/2010/04/10/112165.html</guid><wfw:comment>http://www.shnenglu.com/vczh/comments/112165.html</wfw:comment><comments>http://www.shnenglu.com/vczh/archive/2010/04/10/112165.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.shnenglu.com/vczh/comments/commentRss/112165.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/vczh/services/trackbacks/112165.html</trackback:ping><description><![CDATA[    上v什么的完全不能跟西雅图比啊Q西雅图能见度无敌高Q下雨了车开了一个小时玻璃还是干净的,在上下雨天开一个小时R那玻璃上全是泥。西雅图l化非常好,像是把城市建在了树林里面。而且高速公路设计合理,拐弯的时候有斜坡不会一不小心甩出去。而且有些地方q有Stop标记Q无Z路上东西多不多,车一定要先完全停止了才能再启动?br><br>    比较H的地方是W一天竟焉到冰雹了Q说来也搞笑襉K囄云只需要一块呼风唤雨,q一块云下完了雨也就没了Q加上空气干净U度较高变成了冰雹,而且猛下冰雹的时候旁边还有太阻I正所谓冰火两重天也?br><br>    于是今天p去Microsoft里面的Company Store参观了一下XBoxQ里面展览Windows 7的几台电脑俨然被同志们处理成了网吧。星期一pM班了Q这几天写写代码Q倒倒时差,吃吃奇的东西,睡睡觉,两天pM? <img src ="http://www.shnenglu.com/vczh/aggbug/112165.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/vczh/" target="_blank">陈梓?vczh)</a> 2010-04-10 13:31 <a href="http://www.shnenglu.com/vczh/archive/2010/04/10/112165.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Lambda Calculushttp://www.shnenglu.com/vczh/archive/2009/12/25/104003.html陈梓?vczh)陈梓?vczh)Thu, 24 Dec 2009 16:55:00 GMThttp://www.shnenglu.com/vczh/archive/2009/12/25/104003.htmlhttp://www.shnenglu.com/vczh/comments/104003.htmlhttp://www.shnenglu.com/vczh/archive/2009/12/25/104003.html#Feedback4http://www.shnenglu.com/vczh/comments/commentRss/104003.htmlhttp://www.shnenglu.com/vczh/services/trackbacks/104003.htmlsucc = \a.\s.\z.a s (s z)
add = \a.\b.a succ b
mul = \a.\b.a (add b) zero
pow = \a.\b.a (mul b) (succ zero)

true = \a.\b.a
false = \a.\b.b
if = \c.\t.\f.c t f
not = \a.a false true
and = \a.\b.a b false
or = \a.\b.a true b
xor = \a.\b.a (not b) b

pair = \a.\b.\c.c a b
fst = \p.p true
snd = \p.p false
const = true

iszero = \n.n (const false) true
pred = (\pack.\packpred.\n.snd (n packpred (pack n))) (\n.pair zero n) (\n.iszero (fst n) (pair (succ zero) (snd n)) (pair (succ zero) (pred (snd n)))
sub = \a.\b.b pred a

eq = \a.\b.and (iszero (sub a b)) (iszero (sub b a))
ne=\a.\b.not (eq a b)
lt = \a.\b.and (iszero (sub a b)) (not (iszero (sub b a)))
le = \a.\b.or (eq a b) (lt a b)
gt = \a.\b.not (le a b)
ge = \a.\b.not (lt a b)

div = (\init.\step.\a.\b.add (fst (a step (init a b))) (fst (b step (init b a)))) (\a.\b.pair zero (pair a b)) (\i.(ge fst(snd i)) (snd (snd i))) (pair (succ (fst i)) (sub (fst (snd i)) (snd (snd i))) (snd (snd i))) i)

empty = pair zero zero
cons = \a.\b.pair (succ zero) (pair a b)
isempty = \l.iszero (fst l)
head = \l.fst (snd l)
tail = \l.snd (snd l)

Y=\f.(\t.f (t t))(\t.f (t t))
foldr = Y (\self.\f.\e.\l.(isempty l) e (f (head l) (self f e (tail l))))
length = \l.foldr (true succ) zero l
sum = \l.foldr add zero l
product - \l.foldr mul (succ zero) l
append = \h.\l.foldr cons l h
reverse = \l.foldr (\a.\b.append b (const a empty)) empty l
map = \f.\l.foldr (\a.\b.cons (f a) b) l
zip = Y (\self.\a.\b.(or (isempty a) (isempty b)) empty (cons (pair (head a) (head b)) (self (tail a) (tail b))))
flatten = \l.map append l

陈梓?vczh) 2009-12-25 00:55 发表评论
]]>
Microsoft实习归来http://www.shnenglu.com/vczh/archive/2008/12/08/68831.html陈梓?vczh)陈梓?vczh)Mon, 08 Dec 2008 04:15:00 GMThttp://www.shnenglu.com/vczh/archive/2008/12/08/68831.htmlhttp://www.shnenglu.com/vczh/comments/68831.htmlhttp://www.shnenglu.com/vczh/archive/2008/12/08/68831.html#Feedback14http://www.shnenglu.com/vczh/comments/commentRss/68831.htmlhttp://www.shnenglu.com/vczh/services/trackbacks/68831.html

从左到右QTest1QPMQDev leadQ我QDev2QDev3



陈梓?vczh) 2008-12-08 12:15 发表评论
]]>
打造自qUnit Test工具http://www.shnenglu.com/vczh/archive/2008/11/14/66874.html陈梓?vczh)陈梓?vczh)Thu, 13 Nov 2008 17:38:00 GMThttp://www.shnenglu.com/vczh/archive/2008/11/14/66874.htmlhttp://www.shnenglu.com/vczh/comments/66874.htmlhttp://www.shnenglu.com/vczh/archive/2008/11/14/66874.html#Feedback4http://www.shnenglu.com/vczh/comments/commentRss/66874.htmlhttp://www.shnenglu.com/vczh/services/trackbacks/66874.html阅读全文

陈梓?vczh) 2008-11-14 01:38 发表评论
]]>
学生做的正则表达式引擎提供下载!http://www.shnenglu.com/vczh/archive/2008/11/08/66366.html陈梓?vczh)陈梓?vczh)Sat, 08 Nov 2008 14:44:00 GMThttp://www.shnenglu.com/vczh/archive/2008/11/08/66366.htmlhttp://www.shnenglu.com/vczh/comments/66366.htmlhttp://www.shnenglu.com/vczh/archive/2008/11/08/66366.html#Feedback21http://www.shnenglu.com/vczh/comments/commentRss/66366.htmlhttp://www.shnenglu.com/vczh/services/trackbacks/66366.html作者(不是我)信息Q?/strong>
华南理工大学软g学院本科07U(现大二)
q入大学前玩q几个星期pascalQ高考后的暑假重新学~程

E序信息Q?/strong>Q?a href="http://www.shnenglu.com/Files/vczh/LYT_正则表达?rar" target=_blank>点击q里下蝲Q?br>学习C++一q?/strong>后的作品?br>内含所有代码,以及VC++工程文g?br>一个程序,输入只有匚w没有捕获的正则表辑ּQ输入被匚w的字W串Q输出字W串中符合正则表辑ּ要求的部分?br>支持括号改变优先U,[字符集]和[^字符集]Q少量{义(\d{)Q@环(+*?Q,没有捕获

输入输出Q红色部分ؓ用户输入的内容)Q?/strong>
误入正则表辑ּ : /\*([^\*]|\*+[^\*/])*\*+/
误入所要匹配的字符?: a//a///*\\nab**abc**//*
a//a//?*\\nab**abc**/?*

法要:
正则表达?>语法?>ε-NFA->NFA->DFA->q通矩c?br>使用递归向下法判断输入的正则表达式的合法性ƈ转换为树l构Q其后{成状态机?

陈梓?vczh) 2008-11-08 22:44 发表评论
]]>
关于VL++辅助C++E序设计的设?/title><link>http://www.shnenglu.com/vczh/archive/2008/08/20/59403.html</link><dc:creator>陈梓?vczh)</dc:creator><author>陈梓?vczh)</author><pubDate>Tue, 19 Aug 2008 17:51:00 GMT</pubDate><guid>http://www.shnenglu.com/vczh/archive/2008/08/20/59403.html</guid><wfw:comment>http://www.shnenglu.com/vczh/comments/59403.html</wfw:comment><comments>http://www.shnenglu.com/vczh/archive/2008/08/20/59403.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.shnenglu.com/vczh/comments/commentRss/59403.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/vczh/services/trackbacks/59403.html</trackback:ping><description><![CDATA[     摘要: g新的GUI Framework的第一版也只剩下3个控件了。虽然之前说q要开发一个理Z是P2P上的q程对象交互协议、要开发一个窗口设计器、还要开发一个LALR Parser GUI作ؓGUI Framework的demo。我惌也是一个大的工E,对于我一个h来说。但是今天的一个想法终于把q三个东西串了v来?nbsp; <a href='http://www.shnenglu.com/vczh/archive/2008/08/20/59403.html'>阅读全文</a><img src ="http://www.shnenglu.com/vczh/aggbug/59403.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/vczh/" target="_blank">陈梓?vczh)</a> 2008-08-20 01:51 <a href="http://www.shnenglu.com/vczh/archive/2008/08/20/59403.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Vczh Library++大cdQ提供下载)http://www.shnenglu.com/vczh/archive/2008/08/16/58998.html陈梓?vczh)陈梓?vczh)Fri, 15 Aug 2008 17:58:00 GMThttp://www.shnenglu.com/vczh/archive/2008/08/16/58998.htmlhttp://www.shnenglu.com/vczh/comments/58998.htmlhttp://www.shnenglu.com/vczh/archive/2008/08/16/58998.html#Feedback8http://www.shnenglu.com/vczh/comments/commentRss/58998.htmlhttp://www.shnenglu.com/vczh/services/trackbacks/58998.html
    刚开始点*.emfQ这是一U扩展的元文Ӟ文g里面实际上是一堆GDI命o。好了,q个文g一共有3M多,用画图打开q迟不出来,以ؓ操作p|Q后来打开d理器一看,d刚刚用的内存增长?00MQ过?0分钟才最l显C。不q没关系Q我的电?G内存Q才用了1.7GM了的……后来?.jpgQ就剩下2.7M了?br>
    因ؓ觉得挺有意思的Q那么我提供下载吧Q点?a style="TEXT-DECORATION: underline" href="http://www.shnenglu.com/Files/vczh/VLDiagram.rar" target=_blank>q里Q?br>
    我的Vczh Library++已经断断l箋写了两年多了Q因为我是在一个GUI Test Project里面打开的,所以一些其他功能譬如Vczh Free Script、正则表辑ּ、上下文无关文法处理、新的XML Parser{跟GUI无关的部件不在里面。全都包含进ȝ话估计会更大Q我也不惌Q搞垮电脑就不好?#8230;…不过从这张图可以看出Vczh Library++是一U扁q结构的。图里面有很多类是通过宏生成的Q譬如GUI的每一个event object都用了一个宏产生?个类Q用于轻杄定到多个普通函数、静态函数和cL员函C。里面还有很多离散对象譬如enum啊、VL_WinListViewItem{等Q非常多。最后可以清楚地看到目前GUI的进度,也是一个扁q结构,l承最长的也不外是Button。因为Win32API的WC_BUTTONcd能强大啊Q单选复选普通按钮、GroupBox、SplitButtonq有一U新的有头的居焉是从里面产生出来的,于是l承路径变成VL_Base -> VL_WinControl -> VL_WinCustomButton -> VL_WinButton了?br>
    下蝲的文件是一个rar包,包含一个jpg文g和一个从Class Diagram文g改过来的XMLQ包含了囄所有的cȝ全名Q包括namespaceQ,颇ؓ壮观……

陈梓?vczh) 2008-08-16 01:58 发表评论
]]>
W记本崩?/title><link>http://www.shnenglu.com/vczh/archive/2008/07/29/57469.html</link><dc:creator>陈梓?vczh)</dc:creator><author>陈梓?vczh)</author><pubDate>Tue, 29 Jul 2008 14:27:00 GMT</pubDate><guid>http://www.shnenglu.com/vczh/archive/2008/07/29/57469.html</guid><wfw:comment>http://www.shnenglu.com/vczh/comments/57469.html</wfw:comment><comments>http://www.shnenglu.com/vczh/archive/2008/07/29/57469.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/vczh/comments/commentRss/57469.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/vczh/services/trackbacks/57469.html</trackback:ping><description><![CDATA[    vista的sp1竟然让我的笔记本挂了Q整个C盘恢复到出厂状?#8230;…日?br><br>    实习的时候我充分体验CWindows Communication Foundation的好处以及坏处。真想用C++弄个出来Q整天死锁?br><br>    本来打算周末更新的教E由于我们组的集体活动加上电脑的囧态无法完成鸟Q过几天再更新? <img src ="http://www.shnenglu.com/vczh/aggbug/57469.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/vczh/" target="_blank">陈梓?vczh)</a> 2008-07-29 22:27 <a href="http://www.shnenglu.com/vczh/archive/2008/07/29/57469.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>无责L朋友发个招聘q告http://www.shnenglu.com/vczh/archive/2008/06/16/53612.html陈梓?vczh)陈梓?vczh)Mon, 16 Jun 2008 15:35:00 GMThttp://www.shnenglu.com/vczh/archive/2008/06/16/53612.html|龙公司是中国网l游戏开发商和运营商的领D之一Q总部位于中国徏省福州市?

1、大型WEB2.0|站架构?
2?D游戏引擎E序设计?
3、游戏客LE序?
4、游戏服务端E序?
5、游戏工具开发程序员
6、手机^台开发程序员
7、驱动开发程序工E师
8、B/SE序?
9、WEB2.0游戏C֌软g开发工E师
10、应用Y件开发程序员

月薪6千vQ优U者月薪不顶。n受基本养老、医疗、失业、工伤、生育等保险Q以及公U金和公司福利?
联系方式Q?
QQQ?11990694Q请备注Q您的姓名和应聘岗位Q?
EMAILQhr@nd.com.cn

内详Q版d删?nbsp; 阅读全文

陈梓?vczh) 2008-06-16 23:35 发表评论
]]>
囑Ş库的概要设计http://www.shnenglu.com/vczh/archive/2008/06/11/52846.html陈梓?vczh)陈梓?vczh)Wed, 11 Jun 2008 03:13:00 GMThttp://www.shnenglu.com/vczh/archive/2008/06/11/52846.htmlhttp://www.shnenglu.com/vczh/comments/52846.htmlhttp://www.shnenglu.com/vczh/archive/2008/06/11/52846.html#Feedback13http://www.shnenglu.com/vczh/comments/commentRss/52846.htmlhttp://www.shnenglu.com/vczh/services/trackbacks/52846.html 1Q字体的Ҏ比较难获得。直接读TTF文g暂时q不惛_Q因此想借助GDI的API获取文字的Bezier轮廓?
2Q不使用GDI无法把图片刷上窗口?
因此q个囑Ş库用的GDI的功能也仅限于此。当Ӟ开发出来的l果必然是GDI所不能辑ֈ的。GDI+的结构也E微有一点点不理惟?

Z么GDI和GDI+的速度都不太理惛_Q下面的分析会l出一个可能的解释?

今天早上考了软g配置理Q也是让我们了解一下ؓ什么需要Subversionq样的Y件来帮助我们开发Y件。考完试回来的路上构思了q个囑Ş库的l构。让我们考虑一下图形库所需的功能,也就是需求分析了。我们用惯的囑Ş库都有绘制图形、文字以及图像的功能。图形有d和边框,其中Ҏ是具有Ş状的?

首先考虑一下文字。我们知道现在绝大多数的文字都是由Bezier?nbsp; 阅读全文

陈梓?vczh) 2008-06-11 11:13 发表评论
]]>
期末考了http://www.shnenglu.com/vczh/archive/2008/06/10/52704.html陈梓?vczh)陈梓?vczh)Mon, 09 Jun 2008 18:16:00 GMThttp://www.shnenglu.com/vczh/archive/2008/06/10/52704.htmlhttp://www.shnenglu.com/vczh/comments/52704.htmlhttp://www.shnenglu.com/vczh/archive/2008/06/10/52704.html#Feedback5http://www.shnenglu.com/vczh/comments/commentRss/52704.htmlhttp://www.shnenglu.com/vczh/services/trackbacks/52704.html
相对于去q来_今年做的事情比较?6q做了一个Y件渲染器和一个强cd的脚本引擎和一个基于OpenGL的GUIQ?7q冲做了一个基于OpenGL的GUIQ一个正则表辑ּ和动态的上下文无x法分析器Qƈ在年内重写了一ơ)Q还有一个基于闭包的无类型脚本引擎。今q做的是一些修修补补的工作Q首先ؓ最新的脚本引擎提供了基于闭包实现的class和namespace、重写了内核q加上了multi-method和operator overloadingQؓ正则表达式引擎重写了一个新的几乎提高了9倍速度的分析器Q于是写了一招口水的文章)。自从Borland的没落导致我狠一狠心从Delphiq渡到C++之后Q一直到现在我都在维护一个我自己个h使用的“非标准模板库”。STL啊Boost啊什么的׃用了Q函数的名字比较鸟?

大三也快完了Q学院要求我们自己张|实习的事情Q班MQ推荐我去微YQ后来花了点旉准备了一下。不q不q的是最后发现准备是没有用的Q面试官M在意?nbsp; 阅读全文

陈梓?vczh) 2008-06-10 02:16 发表评论
]]>
ձŷƷһҳþ| ٸƷþþһ| þŷձƷ| 91Ʒɫ۾þ| ۿþ| þþþþùƷ| www.þþƷ| ޹þþþþþ| þþƷ| þùƷƷ| 69Ʒþþþ9999APGF| AVݺɫۺϾþ| 鶹þ| re99þþƷ99| ˳ŷþ| ޹˾þۺ3d| Ļ˾þ| ޾Ʒ99þ| AVþþƷ| ޹˾þһþ| һaƬþëƬ| þۺ㽶AV| Ļ޹˾þþƷ| þþƷ69Ʒ| ޾ƷþþþþͼƬ| þĻԴվ| պŷۺϾþӰԺd3| ٸƷþþһ| һɫþ88ۺպƷ| ޳˾þ| ޹þþþþþ| Ʒþþþù| 69Ʒþþþվ| ձþþҹƷ| Ժձһձþ| 鶹ƷþþƷɫۺ| һþ㽶߿ۿ| ƷþùƷ99 | þþþֻоƷ| 99þùһ| aëƬ÷˾þ|