2009年11月10日

摘要: POJ1003描述一个堆木板的问题。结论就是只要有无限多的木板,木板可以堆到无限远的地方。台大的科学计算站也给出了这个问题的数学证明。然而我在验证整个逻辑的时候,却怎么也想不明白,按这个方式堆木板为什么不会倒掉?按其结论,三块木板的摆放方式如下图所示。仅仅考虑三块木板的情况,其摆放位置如图所示。如果只有下面的两块板,没有问题。但是最上面一块放上去之后,把上面的两块当做一个整体,其整体重心在红点所示... 阅读全文
posted @ 2009-11-10 20:31 南柯之石 阅读(1217) 评论(10) 推荐(0) 编辑

2009年10月25日

摘要: 早就听说.NET Framework 4.0 Beta 2开始就对文字渲染进行大幅度的改进,提高了清晰度。根据官方文档的说法,可以达到与Win32相同的水平。 于是今天安装好VS2010B2,第一印象就是字体真的是非常清晰。与GDI+渲染出来的文字别无二致。以为WPF真的把文字模糊的问题彻底解决了。 于是就去试了一把自己建立一个WPF看看运行效果,结果却不尽如人意。比.NET 3.5中的WPF... 阅读全文
posted @ 2009-10-25 00:09 南柯之石 阅读(2024) 评论(4) 推荐(0) 编辑

2009年9月28日

摘要: 想买一本《SQL Server 2005 核心技术:T-SQL 程序设计》,结果看遍了当当、卓越、蓝蔚、第二书店、华储、中国图书、新书城、蓝岭香柏还有一些地方性的小网上书店全部没有货,到工业出版社网站上查也没有货。找了半天,打电话查到博库上有1本,还是在杭州,没敢要。哪位有想转手的给留个言吧。还有《朗文现代》的缩印本,也是没有货。哎。现在的出版社,一堆新书就是把老书换个皮卖贵些或是抄来抄去再出本新... 阅读全文
posted @ 2009-09-28 09:21 南柯之石 阅读(501) 评论(0) 推荐(0) 编辑

2009年9月26日

摘要: 没事出来玩常常要在外面吃。网上虽然有介绍各个店的特色,但是毕竟每个人口味不同,所以还是想自己试一下的。最近开始把自己吃过的比较名气的店记下来,写个游食记,以便日后回味。顺便发出来,给大家一个参考。2009年7月25日 巴贝拉地点:张江传奇服务:有人招呼,引坐。菜品:意式快餐。主要有比萨饼、意大利面条、烧烤、甜品等。价格:比萨饼比必胜客要便宜得多。基本上够两个人吃的(当然不能只吃比萨饼)。价格都比较... 阅读全文
posted @ 2009-09-26 22:56 南柯之石 阅读(519) 评论(0) 推荐(0) 编辑

2009年9月25日

摘要: 《SQL Server 2005技术内幕:T-SQL查询》一书的第7章,“使用TOP和Apply解决常见问题”一节中,介绍了多种方式获得每个销售员的最新订单。其中第三种方式是这样的。书上只是说这是个“糟糕计划”,其实是糟糕T-SQL代码造成的。而这个方案其实可以优化成为作者给出的三个用于SQL Server 2000的方案中最好的一个。[代码]有看出... 阅读全文
posted @ 2009-09-25 23:03 南柯之石 阅读(668) 评论(2) 推荐(2) 编辑

2009年9月12日

摘要: 很多网游中都有排行榜,这里就专门讨论一下这个排行榜背后的数据库设计。一开始我觉得这是一个基本的数据库设计问题。只需要有一个实体,没有实体间的关系,没有复杂的逻辑。网络上也搜索不到太多关于这类设计的问题,好像根本不值得为其写个文章。但是在公司专门做了一个月的排行榜数据库设计。才发现问题根本没有看上去那么简单。甚至一篇文章都难以讲明白。不知自己误入歧途了,还是这个问题的确就是很复杂的。所以写个文章讲给... 阅读全文
posted @ 2009-09-12 14:17 南柯之石 阅读(8940) 评论(83) 推荐(2) 编辑

2009年8月31日

摘要: .NET程序,配置分为User Setting和ApplicationSetting两种。Application Setting保存在XXXXX.exe.config里。而User Setting在那个文件里也有,但是程序真正运行起来是不会用这个文件,而是用在X:\Users\UserName\AppData\Local\CompanyName\ApplicationName\...这个文件夹里的... 阅读全文
posted @ 2009-08-31 22:12 南柯之石 阅读(1039) 评论(0) 推荐(0) 编辑

2009年8月28日

摘要: 在上一篇《大量数据插入的几种方式的速度比较》里,有一列数据是用Rank函数来生产的,用来造假数据。现在的问题是,如果要更新这一列的值,怎么办呢?也许全部删除,重新插入一遍就可以。但是太慢了。于是随手就写出了下面的代码。Update aTable Set aColumn = @MaxInt * RAND()结果完全出乎意料,这一列的值全是一样的!好吧,可以要给Rand()一个种子。就随手把ID列的值... 阅读全文
posted @ 2009-08-28 23:57 南柯之石 阅读(3639) 评论(1) 推荐(0) 编辑

2009年8月23日

摘要: 小区里有一家街客奶茶店。之前喝过不少的街边的奶茶店,唯独这一家让我喝了两次以上。因为在这个5元一杯的价位上,这家店是我见到的唯一家,真正使用茶水和牛奶调配奶茶的。在别家的店(包括很多其它街客店),只要看到里面的店员是把粉状的东西倒在杯子,然后加水就完事儿的,我向来是不会买的。也许是第一次喝的奶茶比较正宗,才会对奶茶如此的挑剔。记得那是很多年前在仙踪林喝的一杯奶茶15、6块,喝上去真的就是有奶味,也... 阅读全文
posted @ 2009-08-23 01:47 南柯之石 阅读(367) 评论(0) 推荐(0) 编辑

2009年8月17日

摘要: 这几天在公司做一个对性能要求极高的大容易数据库的一个功能的设计。公司的Principle给出的方案看上去有点非主流。想听听大家的意义。这个也许可以作为高性能数据库设计的Best Practice。要做的功能,就是游戏里常见的排行榜的数据库。大概要有如下的几个信息。userIdoldRatingcurRatingRankIntIntIntInt每个user有一个数据项。User的设计容量有1000万... 阅读全文
posted @ 2009-08-17 22:53 南柯之石 阅读(2629) 评论(20) 推荐(2) 编辑

2009年8月16日

摘要: 这几天一直纠结于工作上的一些事,看了这个系列文章,忽然觉得那些都是些什么P事呢? 阅读全文
posted @ 2009-08-16 16:58 南柯之石 阅读(540) 评论(0) 推荐(0) 编辑

2009年8月15日

摘要: 在设计数据库里,我们就应该去数据库设计的性能进行评估。但是在经验不足的情况下,就需要快速建立一个和真实环境相近的数据库,进行性能测试。在这个过程中,遇到的第一个问题就是如何快速地插入千万级数据。一个新手可能会写出下面的代码。(索引未建)Insert into dbo.Simple values (@I, RAND() * 2000000000)然后在外面加个循环。大概测试了一个,10万数据,用时1... 阅读全文
posted @ 2009-08-15 08:59 南柯之石 阅读(10887) 评论(7) 推荐(1) 编辑

2009年7月25日

摘要: 现在很多程序都提供了搜索功能。比如MSN的Search Contract,VS和Blend里的Property Search。一般是从一个比较大的,用户不太方便查找的列表中按关键字搜索符合条件的项目。如下图所示。 下面就来介绍一下这个功能在WPF中的实现。对WPF的类库功能不太熟悉的人可能会想到下面几个解决方案。 1. 根据关键字,对List绑定到的数据源进行修改,把不符合关键字的数据项暂时移出列... 阅读全文
posted @ 2009-07-25 12:24 南柯之石 阅读(2274) 评论(1) 推荐(1) 编辑

2009年7月24日

摘要: 我们都知道Window有多种主题(Theme)。一般情况下,显然我们会希望不同主题下,我们的应用程序的行为不会有变化。或者说,我们不希望为了特定的主题,为控件写特定的逻辑。然而不幸的是,.NET Framework里一些控件自带的主题就存在问题,使得我们不得不在使用时,为这个控件在特定的主题下特殊处理。 下面举一个例子。在ListBox里放CheckBox,组成一个CheckBoxList应该是一... 阅读全文
posted @ 2009-07-24 22:53 南柯之石 阅读(3611) 评论(8) 推荐(2) 编辑

2009年7月20日

摘要: 昨天看了《蝴蝶效应》回想起一个之前想了很久的问题。如果你有能力到了未来世界,并获知了下一期的彩票中奖号(并且知道了自己没有中奖)。然后又回到实现,如果你真的去买那一注中奖彩票。就一定能中吗? 阅读全文
posted @ 2009-07-20 18:37 南柯之石 阅读(2564) 评论(2) 推荐(0) 编辑

2009年7月18日

摘要: 比较了一下Baidu和Google搜索自己博文的结果。直接看图。 Google搜索的结果里,原创作品在前面;Baidu搜索的结果里,同样转载的作品在前面。不知道是不是51CTO针对百度做了SEO…… 阅读全文
posted @ 2009-07-18 01:04 南柯之石 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 在上一篇中,介绍了使用DynamicResource实现多语言支持。这篇将介绍使用DynamicResource实现动态的界面切换功能。熟悉WPF的园友应该已经猜到了实现方式,简而言之就是动态替换DataTemplate,ControlTemplate,Style等等UI相关的属性。 那么使用DynamicResource能让UI动态到什么程度呢?可以说,心有多大,就可以做多大,只要你想得到,就可... 阅读全文
posted @ 2009-07-18 00:11 南柯之石 阅读(7793) 评论(4) 推荐(5) 编辑

2009年7月17日

摘要: 今天同事给出了个问题。研究了很久才想到一些可行的方案。大家也试试看啊。问题是这样的:给你一个随机数函数Rand(),这个函数返回从1到5均匀分布的随机数。让你写一个函数,返回从1到7均匀分布的随机数。一定要均匀分布哦。 所以像这样的答案是不行的。(Rand() + Rand()) %7 + 1这样生成的数不是均匀分布。(应该是正态分布的)自己的方案太丑恶了,暂时就不拿出来了。大家可以先试试看。 阅读全文
posted @ 2009-07-17 19:08 南柯之石 阅读(1450) 评论(6) 推荐(0) 编辑
摘要: Normal 0 false false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 软件开发常常会被要求支持多国语言。而且想要软件有更多的受众,做好本地化无疑是必然的选择... 阅读全文
posted @ 2009-07-17 00:07 南柯之石 阅读(6528) 评论(15) 推荐(10) 编辑

2009年7月8日

摘要: 这个文章来源于这样一个问题。下面的两种做 法,在效果上有什么不同?(注:Header是一个自定义DP。)<TabItem Header="{Binding Header, ElementName=window}"><TextBox Text="{Binding Header, ElementName=window}" Name="headerName"/></TabI... 阅读全文
posted @ 2009-07-08 22:46 南柯之石 阅读(16880) 评论(7) 推荐(7) 编辑

2009年6月30日

摘要: 基本上所有的软件,在安装一开始;所有的网站,在注册用户时,都会有一个协议或是服务条款要你阅读,同意了之后才能安装或是注册。说实话,到现在我用了7年电脑,直到最近才开始了解这部分的内容。在之前,全都是被我无视的。不知道大家有没有读过呢? 我自己开始关注这部分的内容,一开始是因为工作需要,公司使用软件之前,要提供软件的License,研究通过了才能安装使用。 再后来,看到国外很多关于License的感... 阅读全文
posted @ 2009-06-30 22:00 南柯之石 阅读(540) 评论(0) 推荐(1) 编辑

2009年6月26日

摘要: 前一段时间,关于国内译著的翻译质量问题甚嚣尘上。无心参与其中,只是读了几篇战贴。其实大家都不容易,大可以看淡一些。自己怕吃亏,买书之前好歹看看网上的口风如何就不会买回来才发现原来是天书。 回到原题,我们讨论一下翻译得比较好的书。昨天看《Windows核心编程(第五版)》看到第27页时,发现书中关于MultiByteToWideChar函数的描述有逻辑错误。如下: “必须在cchWide... 阅读全文
posted @ 2009-06-26 00:33 南柯之石 阅读(503) 评论(0) 推荐(1) 编辑

2009年6月25日

摘要: 对于开发多语言版本的安装包来说,使用Unicode NSIS就成了一个比较自然的选择。然而Unicode Nsis属于官方NSIS的衍生版,开发进度势必落后于官方的NSIS,主要由Jim一个人进行维护。现在官方最新版本是2.45,而Unicode版还停留在2.42。用过NSIS的都知道,NSIS的默认方式是手写卸载脚本的。如果使用了支持LOG功能的特殊版NSIS(也是官方的)。使用这个版本的NSI... 阅读全文
posted @ 2009-06-25 20:36 南柯之石 阅读(3122) 评论(1) 推荐(0) 编辑

2009年6月24日

摘要: 冰山上的播客 今天在网上找有关网络包方面的资料的时候找的。 从07年10月到现在,基本上天天都有数篇博文更新,内容广泛。而且似乎是原创的。谷歌上搜了几篇,它自己的文章基本是排第一的。可能是多人博客吧。 奇怪的是这又好的站点的PR居然是没有 阅读全文
posted @ 2009-06-24 22:58 南柯之石 阅读(557) 评论(0) 推荐(0) 编辑

2009年6月23日

摘要: 刚在自己的电脑上搭起了自己的博客站点。因为网上的不少资料过于陈旧,安装的过程中还是遇到了不少问题的。现在把自己安装的步骤一步步地列出来,希望给最近想建立自己的博客站点的朋友们一些提示。首先,先在自己的电脑上安装一个网页服务器。我用的是Windows,所以想当然地用IIS了。Apache也是可以的,不过我一向不愿意往自己的电脑装一些多余的东西。Windows自带的东西可以完成任务,那就直接用好了。安... 阅读全文
posted @ 2009-06-23 20:14 南柯之石 阅读(3203) 评论(1) 推荐(1) 编辑

2009年4月18日

摘要: 在几个.NET方面的问题中,列出了几个.NET方面的问题,但是没有给出问题的答案,因为对于一部分问题我自己也不是很确定。这次只是给出一个参考答案,仅仅作为参考。如有不对的地方,欢迎大家指正。1. 为什么要显式地关闭StreamWriter?这个问题可以从《框架设计》P409找到答案,书上用了专门的一节解释了这个问题。简单来说,因为StreamWriter在调用Write方法向Stream写入数据之... 阅读全文
posted @ 2009-04-18 16:59 南柯之石 阅读(630) 评论(1) 推荐(0) 编辑

2009年4月15日

摘要: 这几天又拿来《CLR via C#》翻看,想了几个.NET方面的问题,加上在公司和同事们交流时遇到的问题。大家有兴趣可以看看,能不能回答上来呢? 1. 为什么要显式地关闭StreamWriter? 2. 如何正确地重写GetHashCode方法?(这个是最简单的) 3. C#编译器为什么要用callvirt指令调用实例的非虚方法? 4. struct可以继承吗?为什么?可以有虚方法吗?为什么... 阅读全文
posted @ 2009-04-15 22:14 南柯之石 阅读(518) 评论(5) 推荐(0) 编辑

2009年4月9日

摘要: 在上一篇在NSIS中实现安装时取消并回滚(1)——现状中分析了现在NSIS对取消安装并回滚功能的支持。结论是目前NSIS本身还不支持,需要自己完成这个功能。下面就来介绍一种相对比较简单的实现方式。 功能难点在上一篇中已经有描述,这里就不赘述了。基本原理就是在安装过程中,使用插件中把后台的释放文件的线程挂起,问用户是不是真要取消安装,是的话就使用安装过程中生成的Log文件进行... 阅读全文
posted @ 2009-04-09 21:44 南柯之石 阅读(2922) 评论(0) 推荐(0) 编辑

2009年4月8日

摘要: 如果在Google上搜索”NSIS Cancel Install”会搜索到一些人问过同样的问题。有的从2003年就已经在问这个问题了。奇怪的是NSIS一直没有提供取消安装的内置的支持。在安装页面,所有的按钮都是禁用着的。而且看论坛上开发者的回复,也没有意思要在近期加入这个功能。但是问题问题要解决的,总不能用NSIS开发到一半,发现不能简单地支持取消安装和自动回滚就不用NSI... 阅读全文
posted @ 2009-04-08 21:46 南柯之石 阅读(2320) 评论(1) 推荐(0) 编辑
摘要: 在上一篇中,介绍了如何让NSIS生成的安装包在静默安装时从命令行窗口输出安装信息,但是产生了很多问题,于是我们想换一个实现方法,毕竟静默安装时的输出信息并不需要那么多,多了反而让人眼花。静默安装时,只要输出生成还是失败,失败了有个失败原因就可以了。所以另一个解决方案就是自己写个插件,向CMD窗口输出一些信息就是了。这篇文章就是要介绍一下如何自己编写这样的一个NSIS插件。 很奇怪的是,NSIS的官... 阅读全文
posted @ 2009-04-08 00:12 南柯之石 阅读(3625) 评论(2) 推荐(0) 编辑

导航