大约3月前 - 3个评论
前一阵子使用JQuery Ajax做的一个注册表单需要传送中文字符给WebService,发送的是”GET”请求,发过去后在WebService这边看到的都是乱码,摸索了一阵子,找到了如下的解决方案: var data = { UserName: escape(your user name here), Password: escape(your password here), }; var jsonStr = JSON.stringify(data); // the json2 method. $.ajax({ url: ‘../Service.asmx/Login’, data: ‘userinfo=’ + jsonStr, contentType: "application/json; charset=utf-8", dataType: "jsonp", type: "GET", success: function(response) { … }, error: function(a, b, c) { … } }); 这个方案就是使用javascript的escape方法来对中文字符进行编码,然后到WebService那里会自动解码成为中文。 今天又碰到了另外一个问题:用JQuery Ajax GET传送瑞典字符等Unicode字符出现乱码,即便是用了escape也无济于事。
大约5月前 - 3个评论
log4net是Apache开发的一个用于.NET应用程序的logger工具,log4net是开源的,使用Apache License, Version 2.0开源协议。 可以到这里下载log4net: http://logging.apache.org/log4net/download.html 下面来具体介绍下如何使用log4net: 1. 将log4net.dll这个assembly加到项目的引用中。 2. 初始化configuration file, 指定要使用的configuration类型 ,支持的类型有:XmlConfigurator 和 DOMConfigurator 例如:初始化一个XmlConfigurator并指定当前项目的config文件为provider: log4net.Config.XmlConfigurator.Configure(); XmlConfigurator.Configure()这个方法有很多个重载,可以在重载方法的参数中指定config文件的路径。 如果是Web Applciation,可以在Global.asax的Application_Start方法中作这个初始化,这样整个Web Application就不需要在每次使用log4net的时候都初始化configuration了。 例如,我的Global.asax文件中Application_Start内容是这样的: protected void Application_Start(object sender, EventArgs e) { //The Log4net component needs initial configure at the start of the application. log4net.Config.XmlConfigurator.Configure(); } 3. 修改项目的config文件: a) 把<section name=”log4net” type=”log4net.Config.Log4NetConfigurationSectionHandler, log4net” />加入到<configSections>与</configSections>之间。 b) 添加下面的示例到<configuration>与</configuration>中: <log4net>
大约5月前 - 6个评论
StyleBox是wordpress平台下的一个插件,给wordpress文章编辑提供了强大的“提示”功能,很多时候在写一篇blog的时候很希望能突出显示一些文字,但却苦于文字颜色太过于单调,不能突出想说明的重点,StyleBox正好弥补了这个缺陷,它使用“图文并茂”的方式让blogger们可以随心所欲的突出自己想说的。 介绍这个插件之前,先show一张StyleBox的效果图: 这个图片显示了StyleBox做出来的几种文本提示效果:Note box, Alert box, Help box, Important Box, Tip Box, Windows box, Linux box. 看到这种漂亮的效果,用wordpress写些文字的时候是不是很希望能有这样的提示框呢,那请继续往下看。 安装StyleBox 1. 从这里下载StyleBox,上传到自己wordpress博客的plugins目录下,然后到后台管理界面中启用StyleBox插件。 2. 如果你用的是wordpress2.9以上的版本,可以直接在后台的“插件”->“添加新插件”中搜索stylebox并安装。 使用StyleBox 1. 制作 Note box: HTML代码: <p class=”note”>精美的Note box</p> 显示效果: 精美的Note box 2. 制作 Alert box: HTML代码: <p class=”alert”>精美的Alert box</p> 显示效果: 精美的Alert box 3. 制作 Help box: HTML代码: <p class=”help”>精美的Help box</p> 显示效果: 精美的Help box 4. 制作 Tip Box: HTML代码: <p class=”note”>精美的Tip box</p>
大约5月前 - 1个评论
这个命题的提出,等于承认了一个前提。在绝大多数主流用户的电脑中,因为种种原因,或许虚拟机才是Linux最好的栖身之处。Linux生活在Windows的阴影之下。 但 是这显然与Linus创办Linux的初衷不同,也与Ubuntu、Fedora等创始人的想法大相径庭。Linux有内核,有扩展,有第三方支持,完完 全全可以取代Windows。注意这里是取代,Linux应该成为普通用户pc上的唯一操作系统。我们对待Linux的态度如同Windows。 几个月前的一份调查显示,Linux在用户电脑中做主操作系统的比例还在2%左右徘徊。而Windows 7仅仅发布一个月,就跃升至了18%,同时老骥伏枥的XP居然占着68%。这三个数字实在是鲜明得不能再鲜明的对比。庞大的Linux家族的占有率总和,才刚过微软帝国的的一个维护版本系统的十分之一。我们不禁要问,Linux到哪里去了? 有人说,微软抢了好时机了。80年代兴起的DOS成为IBM兼容机上的绝对主力,微软=电脑的概念在那时就深入人心,这样老鸟传菜鸟,口耳相传下去,奠定了微软不可动摇的霸主地位。而Linux却在94年刚刚兴起,那时Windows 3.1称霸天下,Linux只能作为非主流,这个身份一直延续至今。 表面上看,这样的论点似乎无懈可击。但不要忘了,我们的平台是在不断更替的,90年代便是高潮迭起的时代:3dfx的兴衰,创新SoundBlaster的沉浮,一代一代的经典便在那个时候诞生,也有经典在那个时候消亡。举个最简单的例子,Intel在技术和历史方面较AMD有着绝对的优势,至今技术AMD还无能匹敌。而AMD的占有率比上Intel,显然比Linux比上Windows乐观得多,这又何解呢? 我以为,linux输主要输在用户体验上。并不是说Linux一定有多不好,但让用户“用不惯”的原因,还是体现在一些细节方面。这些细节直接决定了成败。 比如分区,Windows 7也需要创建一个隐藏分区,但在安装的时候,用户选定主分区后,隐藏分区是自动被划出来的。反观Linux,不仅swap和ext3势不两立,一定要用户动手指定,连挂载点都要手工配置,这种自动化程度实在可怜,也直接将一些用户挡在门外。 再如图形化程度。“双击,一路next”早已成为很多菜鸟用户安装程序时的原则,而Linux,对不起,请敲命令,弄不好这些软件好要手工编译内核。如果你说有些发行版的Linux生下来就是给高手用的,那Ubuntu、Fedora这些注重用户感受的发行版呢?就不能在这方面改进一些吗? 让Linux走出虚拟机,走入普通用户的电脑中,已经成为了推广Linux刻不容缓的任务。也许Linux能醒悟过来,放弃诸如Active Directory这些普通用户很难用到的东西,切实做用户体验,这样或许才能在OS大战中真正分到一杯羹。 后记:原作者说:“我以为,linux输主要输在用户体验上。并不是说Linux一定有多不好,但让用户“用不惯”的原因,还是体现在一些细节方面。这些细节直接决定了成败。”,这句话说的很有道理,不过linux本身的用户体验或许并不差,像Ubuntu已经很傻瓜式了,不过为什麽应用软件的开发者非要让应用程序通过命令行来安装呢?难道只有这样才能体现出您的技术水平?在此并不是批评linux下应用软件的开发者,只是想提醒开发者,任何软件都是以用户体验为最基本出发点的,没有了用户体验,就算是做的再好也不会让大多数用户欣赏你的作品,我也是个普通的程序员,每天也是与代码打交道,不过我写代码有个前提:那就是认为使用我的软件的人都是“傻瓜”,即便是个命令行下的工具,我也会给出详细的说明和进度提示,尽可能的让用户少参与到软件的流程中来,不过不是特别要求要使用命令行,我还会考虑给加个壳(GUI). 相关文章:WordPress插件StyleBox 使用InternalsVisibleTo给assembly添加“友元assembly” 在.NET项目中使用log4net JQuery Ajax发送GET请求乱码的解决办法
大约7月前 - 没有评论
Description: Sql Azure is the cloud computing service provided by Microsoft, which is @CTP version now. Sql Azure will provide you databases on the cloud level, this means you can host your data on the MS’s database server, definitely, it will be more safety. Apply for an Sql Azure account: Even Sql Azure is @CTP,
大约7月前 - 没有评论
C#中有个string类型,是个很特殊的reference type, 存储在内存中一个特殊的“静态池”中,这里是MSDN关于string的介绍:http://msdn.microsoft.com/zh-cn/library/362314fe(VS.80).aspx 由于string本身是一个不可变的字符串的集合,每次对string对象的修改都是新创建一个string对象,string有一个indexer用来访问字符串集合中的每个字符串(string str=”test test”; Console.WriteLine(str[0]);),虽然我们可以使用indexer来访问这个内部维护的字符串集合,但是却不能直接改变他们的值; 所以对字符串逆序,大致有以下几个思路: 先把string转换为char[],然后对char[] 逆序,最后再把逆序后的char[]转化为string。 倒序遍历string,然后用字符拼接的方式组成逆序后的字符串。 先来说第一种: 第一步,把string转化为char[]: [方案一]新建一个char[],用foreach循环对数组进行赋值: string str = "This is just a temporary string"; char[] data = new char[str.Length]; for(int i = 0; i < str.Length; i++) { data[i] = str[i]; } [方案二]使用string.ToCharArray() string str = "This is just a temporary string"; char[] data = str.ToCharArray();
大约1年前 - 没有评论
The structure of an application’s configuration file always include: The root node: start with and end with Configuation sections, connectionStrings, appSettings, custom defined sections, etc. Of course, we can update the configuration sections mannually, the values defined in the configuration file are always stable and seems will never be changed, but we may still need to
大约1年前 - 没有评论
DotNet下NUnit的使用(2)—- 第一个NUnit工程 收藏 准备工作 1. 打开visual studio, 新建一个“Class Library”工程,命名为“NUnitDemo” 2. 在工程中新建一个Class:“FirstNUnitClass”, 在类中添加一个public的方法:GetBonous(int level), 最终类的内容: 准备工作 1. 打开visual studio, 新建一个“Class Library”工程,命名为“NUnitDemo” 2. 在工程中新建一个Class:“FirstNUnitClass”, 在类中添加一个public的方法:GetBonous(int level), 最终类的内容: public int GetBonous(int level) { int bonous = 0; switch (level) { case 1: bonous = 1000; break; case 2: bonous = 2000; break; case 3: bonous = 3000; break;
大约1年前 - 没有评论
什么是NunitNUnit 是一个单元测试框架,可以用于所有的.Net语言,与JUnit类似,可以用来很方便的进行单元测试,NUnit是完全用C#语言编写而成,使用NUnit,您可以只需在您的代码上加上简单的’Attribute’就可以进行单元测试,目前NUnit的最新稳定版本是 2.4.8 (下载 ), 下面是来自就NUnit官方的介绍: NUnit is a unit-testing framework for all .Net languages. Initially ported from JUnit, the current production release, version 2.4, is the fifth major release of this xUnit based unit testing tool for Microsoft .NET. It is written entirely in C# and has been completely redesigned to take advantage of
大约5月前
又一个没有留言板的站。。
[回复]
艾榕 回复:
二月 23rd, 2010 at 10:01 上午
留言板而对blog来说很重要吗?
[回复]
大约5月前
找了半天留言的地儿。。侧边栏里的这个免费空间好用么?能不能架个几十人规模的小众BBS?免费的,我想用。。
[回复]
艾榕 回复:
二月 25th, 2010 at 1:05 下午
看来“留言本”本对个人bolg还是比不可少的啦,哈哈,新建了个页面充当一下吧,回头得弄个好的留言插件来扩充一下功能了。
免费的空间都不靠谱的,假设bbs之类的东西在国内更是不靠谱了,
我以前用过一个免费的国外空间: http://www.awardspace.com
感觉还不错,就是有点慢,功能上还是很强大的,绝对超过一般的免费空间,我从注册到现在已经3年多了吧,还能使用,我也是最近才迁到独立空间上的。
以前在http://www.awardspace.com/上空间的演示:http://wlmzfx.008.net
你可以试试看,支持PHP+MySQL的空间。
关于这个免费空间,请不要单独发博文介绍它了,这种东西,知道的人越少就会越安全些,就能用的越长久些 (不是我不愿意与大家分享,实在是外面的社会实在太和谐了!)
[回复]
艾榕 回复:
二月 25th, 2010 at 1:37 下午
@艾榕, 好,这个插件不错,wordpress thread comment
[回复]