摘要:模板:$for(varvinls){$if(v>10){$v}else{$v}}控制类:usingSystem.Collections.Generic;namespaceCvv.WestcoMarketing.WebApp.PageControllers{classIndex:BaseControl...
阅读全文
随笔分类 - C#
摘要:模板:$for(varvinls){$if(v>10){$v}else{$v}}控制类:usingSystem.Collections.Generic;namespaceCvv.WestcoMarketing.WebApp.PageControllers{classIndex:BaseControl...
阅读全文
摘要:因项目需要,花了点时间做了个小程序来演示京东商城的图片价格识别,初步试用效果还不错。 先上个图:用了个最简单的算法:///<summary>///图片解码///</summary>///<paramname="srcBitmap">0-9和.的源图像</param>///<paramname="distBitmap">目标图像</param>///<returns></returns>publicstaticstringDecodeGrayBitmap(ILi
阅读全文
摘要:先上代码using System;using System.Collections.Generic;using System.Text;using System.Net;using System.IO;using System.Collections;using System.Text.RegularExpressions;namespace Cvv.Base.Net{ public class MClient { private const string _userAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2;
阅读全文
摘要:今天无聊再到首页上吹吹水,相信来博客园转的人就算不是从事编程的也是与之相关的吧,所以如果聊得不对的地方请多多指正。编程的通俗说法就是写代码,现在的流行的语言很多,但大都离不开类似if这样的判断语名、类似for这样的循环语句、再有就是一些变量声明、赋值等的一些语句;所以说学习一门语言所需要花费的工夫并不是很多,就像C#这样的语言,我们只需要知道一些最基本的知识就可以开始干活了。首先我们要安装好.ne...
阅读全文
摘要:常常看到或听到有人讨论控件开发方式好还是MVC开发方式好的问题,在此我就不参和这个话题了,不过在文中为了展现MVC方式的特点,可能会有些内容会与控件的方式进行比较,但这只是为了展示某一个小方面的特性而已,并不是说谁就比谁好。采用MVC开发方式的最初以及最主要的目的,那就是让表现与数据进行分离。目前比较成熟的MVC框架都基本上能达到这样子的目标,而我个人比较偏爱promesh这样的小型的MVC框架,...
阅读全文
摘要:上两篇用分析JSON的例子讲完了词法分析与语法分析的整个过程,本篇再谈谈自己的一些认识。 词法分析与语法分析的理论基础都是自动机原理。或许会有人认为理论比较难学难用,其实我们也不必拘泥于它的理论,我们只要知道在一个大的循环里,我们要使用大量的if语句来进行判断,根据要分析的对象的边界条件来产生相应的对象也就可以了。对词法或语法的解析,最难的地方是要怎么才能知道这样的词法或语法是行得通的,而需要证...
阅读全文
摘要:上一篇谈到了词法分析,并且给了一小段词法分析上的代码。如果大家对着代码看,可能就会发现我构造了一个对象来对字符串进行读取。具体代码是:CharReadersrc=newCharReader(chars);这样子写是为了减少在后面的while语句对字符串数组末尾的判断,起到简化代码的作用;这样的小技巧在写一些比较复杂的算法的时候特别的重要。实现完词法分析之后我们就要进行到下一步的语法分析了。教科书的...
阅读全文
摘要:计算机相关专业的差不多都有学过编译原理吧?今天我班门弄刀,也谈谈我自己对编译原理的认识和理解。当然啦,我主要要谈的是编译器的前端的实现,后端的代码生成我目前还没有研究过。 实现一个编译器有两大步骤:一是词法分析,二是语法分析。应对这两块有很多的工具是可以帮助我们进行这样的工作的(例如:flex、yacc等),但我要说的是怎么完全手工去实现它。语法分析的主要目的是把一个个的字符和字母之类的东西给识别...
阅读全文
摘要:Cvv.WebUtility框架是在我学习了promesh.net框架后,根据项目开发的需要,去除一些不必要的特性,添加一些必要的特性,并且运用编译原理的知识重新实现了自己的模板解析算法,再结合.net2.0的等性加入了模板缓存,采用了PetShop的数据分层方式. 以下是项目结构图: IDAL: 接口层 Model: 实体层 SQLiteDAL 和 SQLServer...
阅读全文
摘要:FileStream fs = new FileStream(Server.MapPath("Web.config"), FileMode.Open, FileAccess.Read, FileShare.Read, 8192); SHA256 hasher = SHA256.Create(); byte[] data = hasher.ComputeHash(fs); StringBuilde...
阅读全文
摘要:因为在做大文件上传的分析中需要用到一段字符串的匹配算法,所以重新学习了一次KMP算法. private int[] GetNextVal(string t) { int j = 0, k = -1; int[] nextVal = new int[t.Length]; nextVal[0...
阅读全文
摘要:在优化模板分析代码的时候突然想到了一个关键字:block 使用的形式是: block("blockName"){ //Anything you like. } 主要是实现模板文件的部分重用.
阅读全文
摘要:本文是一篇关于开发文化方的形成与构建的文章,将谈到怎么去构建自己团队的开发文化,谈到怎么样在形成自己团队的开发文化的同时不去摸杀个人的表现空间。当今社会,谈公司文化的不少,但谈开发文化的好像不多,不知道是不是因为我孤陋寡闻。 相信大家对团队开发这个词已经不陌生了,而且相信大家知道,一个稍稍大一点的项目也绝不会是一两个强人所能完成的,所以团队开发是完成大型项目的必然形式。团...
阅读全文
摘要:网上已经有很多JSON的反序列化的代码了,但自以为自己能写出更好的,所以就写了一个这方面的东西.实现的思路是,先把JSON字符串分析成JSON结点树,再根据传进来的实体的类型从结点树上取内容. 核心算法如下: 构建分析树#region 构建分析树 private Tree ReadTokens(char[] jsonChars) { ...
阅读全文
摘要:今天终于可以把 if(a==1&&(c==2||a==3) && (a>3 || b5 && w100 || u!=50))) 语句解析成 Or And And EqualEqual Ident IntLiteral Or ...
阅读全文
摘要:本着多年的无知,一直以为自己可以做出一个适合自己和自己所在的团队的模板分析的这样的一个东西,但随着时间的推移,我感觉我离这个目标是越来越远了,因为今天的我常常会否定昨天的我的工作成果. 几个月前我实现过一个类似微软的使用方式的一个模板分析类,并且在实际的软件开发中应用,随着应用的深入和客户的需求越越来越明确,我深深地感觉到它的功能实在是太弱了.分析和总结了原模板的优缺点后,我打算重...
阅读全文
摘要:在不久前我写了几篇关于模板分析的文章,当时自我感觉良好,但看了ProMesh.NET的代码后,我认识到了自己还有很多工作没有做。做为一个好的产品,它不应该仅仅提供一种能力,还应该提供一个可行的方案,让普通大众可以理解它使用它。记下这点体会,以备后查。
阅读全文
摘要:阅读优秀的代码真的是种享受,从ProMesh的项目中发现了现在的一段优美的代码,记下来,也让喜欢它的人有机会阅读到.
阅读全文
摘要:PostData 的方法网上已经有很多例子了,但GetData的不多见,期望能对路过的有点作用
阅读全文
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->char[] templateText = txt.ToCharArray(); //ITemplate it = new CleanTemplate(); L...
阅读全文
|