上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 34 下一页
摘要: ror对于初学者来讲,可能最大的困难莫过于开发环境的安装与搭建,今天折腾了大半天基本搞定了,把过程贴在这里,以便初学者少走弯路。1.安装ruby 1.8.6 打开 http://rubyforge.org/frs/?group_id=167,安装 ruby1.8.6-26最终版本下载完成后,可在命令行下键入 ruby -v验证版本 (如果在命令行里输入ruby提示找到不该命令,请将c:\ruby\... 阅读全文
posted @ 2010-02-18 13:51 菩提树下的杨过 阅读(9593) 评论(0) 推荐(2) 编辑
摘要: 小时候对日本的动画片十分着迷,“圣斗士”是我的最爱;长大后也曾经一度对“海贼王”十分痴迷;大学看武侠小说时,也特别喜欢那种主人公有奇遇的情况:吃到一颗千年异果,然后功夫大增60年...这些个场景都有一个共同点:对象(或系统)会因为一些需求(通常这些需求之间没有任何关联),而扩展自己的功能。具体来说:青铜战士如果有幸能穿上黄金圣衣,不管你是不是黄金圣斗士,在穿上黄金圣衣的那一刻,你就具有黄金圣斗士的能力;海赋王中的人物,如果能吃到一颗奇异果,就能获得特别的能力(比如路飞就是吃了橡胶奇异果);武侠小说中,主角如果不经意间吃下了千年人参,从此功力大增,打遍天下无敌手...ok,下面谈谈如何设计,就拿 阅读全文
posted @ 2010-02-17 18:11 菩提树下的杨过 阅读(826) 评论(0) 推荐(0) 编辑
摘要: 场景:如果想模拟windows的开始菜单,分析一下会发现里面的菜单项:有些有子菜单,有些则没有;因此大体可以将菜单类分为二类,设计代码如下:客户端示例调用如下:从功能正确性上讲,上面的示意代码并无大错,但是如果从客户程序上考虑,却发现这样并非最佳实践:客户程序依赖了太多的Menu类细节,客户程序在树型菜单创建完成后,最关心的莫过于如何把菜单完整的显示出来,但上面的代码中为了达到这个目的,却不得不知道子菜单的内部实现(通过Children和类型判断),如果以后菜单类升级,修改了内部构造(比如将Children改成GetChildren),客户程序将被迫重新修改,这时候组合(Composite)模 阅读全文
posted @ 2010-02-16 19:36 菩提树下的杨过 阅读(655) 评论(1) 推荐(0) 编辑
摘要: 闭包的一个重要特征是:过程(方法)内部定义的变量,即使在方法调用完成以后,仍然可以继续引用到!(即延长了生命周期)def method(n) puts "n=#{n}"; #测试用 return proc{|i| n +=i } #关键:proc是一个过程对象,只能由"委托"用call来调用,这里在过程内部引用了参数变量n,将会在多次call该过程后,保留对n的引用,形成闭包!endaDeleg... 阅读全文
posted @ 2010-02-12 17:05 菩提树下的杨过 阅读(832) 评论(0) 推荐(1) 编辑
摘要: ruby的数组基本使用,跟c#中的数组比起来,最不习惯的区别在于允许负索引(跟javascript到有几分相似)arr=[3,4,5,6,7,8,9]puts arr[0] # 3puts arr.first # 3puts arr[arr.length-1] # 9puts arr[arr.size-1] # 9puts arr.last #9puts arr[-1] #9,下标为-1,即... 阅读全文
posted @ 2010-02-11 21:00 菩提树下的杨过 阅读(1129) 评论(0) 推荐(0) 编辑
摘要: ruby中的module与.net中的namespace有点类似,可以用来区分同名但属于不同开发者(或组织)的代码。下面的代码,定义了一个Me模块,里面的sqrt与Math模块中的sqrt重名,另外还有一个重名常量PI#定义一个模块(有点类似.net中的命名空间)module Me def sqrt(num1,num2=-1) return "num1=#{num1},num2=#{num2}"... 阅读全文
posted @ 2010-02-11 14:37 菩提树下的杨过 阅读(5352) 评论(0) 推荐(1) 编辑
摘要: 动态语言之所以“动态”,最明显的特征就是:类实例的行为/属性可以在new出后,动态修改!个人觉得这种处理相对java/c#(静态语言)来说,更符合现实世界。比如:一个人刚出生时,除了哭、吃奶等这些基本原始本能,其它的几乎全都不会(原始本能可理解类定义中最开始定义的属性和方法),但随着时间推移,学会了看书,走路,说话...(相当于新增了方法/属性),再往后的人生谁也无法预料,... 阅读全文
posted @ 2010-02-11 11:21 菩提树下的杨过 阅读(1358) 评论(0) 推荐(0) 编辑
摘要: 看了几天ruby,发现c#中很多一直被称道的语法特性,ruby早在几年前就有了:1.c#中的params关键字 class Program { static void Main(string[] args) { Console.WriteLine(Sum()); Console.WriteLine(Sum(3,6)); Console.Read(); } static int Sum(params... 阅读全文
posted @ 2010-02-11 10:57 菩提树下的杨过 阅读(1048) 评论(0) 推荐(0) 编辑
摘要: ruby语言跟c#的一些重要差别在于:1.ruby是动态语言,c#是静态语言--即对象在new出来以后,ruby还可以动态给对象实例添加一些属性或方法(javascript也是如此)2.ruby中刻意弱化了变量类型这个概念,默认情况下变量/方法都不需要声明具体(返回)类型,但其实在ruby内部,会自动根据变量的值分配类型。(可以通过 “puts 变量.class“查看)3.... 阅读全文
posted @ 2010-02-10 21:50 菩提树下的杨过 阅读(1497) 评论(0) 推荐(1) 编辑
摘要: 虽然ruby/ruby on rails从2007年就一直获奖无数,但身为一个中国人,一直对小日本创造的东西不怎么感兴趣,想想其实也没必要,技术本身是无国界的,日本其实也有值得学习的地方(扯远了,呵)单从技术而言,ruby本身确实很爽,令程序员的工作变得轻松有趣!下面的代码演示了如何找出100以内的素数:using System;namespace Mersenne{ class Program ... 阅读全文
posted @ 2010-02-09 20:47 菩提树下的杨过 阅读(1219) 评论(1) 推荐(0) 编辑
摘要: 场景:sql2005数据库,假如名为db1,启用了Service Broker,把db1备份,然后再恢复成db2(即相当于db2就是db1的一次完整镜像备份),然后用use masterALTER DATABASE db2 set ENABLE_BROKER 想启用Broker时,出现以下错误:无法启用数据库 "db2" 中的 Service Broker,因为已存在启用的具有相同 ID 的 Se... 阅读全文
posted @ 2010-02-04 16:14 菩提树下的杨过 阅读(1822) 评论(1) 推荐(0) 编辑
摘要: 当一个应用,有着多个维度的变化时,桥模式可将多个维度的变化独立开来(即解耦),最直观的好处就是可有效减少子类的数量。场景:假如我们要开发一个数据程序程序,导出的数据格式暂定为txt,xml,或直接导入到其它数据库(注:导出格式的需要变化,可以理解为功能维度上的变化),而且我们还要让这套程序能运行于多种平台(windows,linux,freebsd,macos...)上,即跨平台运行(注:可支持多平台的需要变化,可理解为平台需求维度上的变化)如果按传统思维:每种格式的导出程序都要对应写出N个版本的实现,如果导出格式数为M,可支持的平台数为N,则最终的子类数目一定在M*N之上,这将导致一个类爆炸 阅读全文
posted @ 2010-02-01 10:33 菩提树下的杨过 阅读(802) 评论(0) 推荐(0) 编辑
摘要: 借用terrylee的原话:Adapter模式主要应用于“希望复用一些现存的类,但是接口又与复用环境要求不一致的情况”,在遗留代码复用、类库迁移等方面非常有用。适配器模式再次体现了“面向接口编程,而非面向实现编程”这一精神。场景:有一个基于数据库的系统,里面的数据库操作就拿最常用的查询来说,主要是用SqlHelper类里的QueryData(string sql)这个方法来处理的,后来意外发现该方法实现上性能并不是最好(或者不能满足新的需要),而这时正好有一个第三方的DbHelper程序集,写得很成熟性能也不错,但唯一不足的是里面的查询方法签名是SelectData(string sql),怎 阅读全文
posted @ 2010-01-29 10:39 菩提树下的杨过 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 要求:呼叫系统(Call Center)每天会有大量的电话进线数据,领导们要查看每天的进线数汇总,并且要求把 每天从上午8点到上午12点以及下午2点到晚上8点这两个时间段的数据汇总 “视”为当天的数据。--即分组依据思路:把时间段折分成连续二段,一段是从当天08:00到11:59分的数据,一段是当日12:01到19:59分的数据,然后用union all合并起来,最后再用s... 阅读全文
posted @ 2010-01-28 16:26 菩提树下的杨过 阅读(1510) 评论(3) 推荐(0) 编辑
摘要: 原型模式个人以为最适合的场景:参照现有的某一个对象实例,快速得到多个完整的实例副本。(通常是深拷贝的副本)深拷贝在c#中实现的最简单方式莫过于通过反序列化得到一个全新的对象实例。(当然如果浅拷贝的话,方法就很多了,比如利用MemberwiseClone或反射属性自动赋值都可以)场景:还是游戏场景,就拿三国来说吧,打仗时可能需要小兵若干,每个小兵可能还要骑马...(简单起见其它东东就不提了,比如可能每个小兵还要带兵器若干),这些个实例的数量是动态的,但是几乎每个小兵的属性都完全相同,每匹战马的属性也相同,很显然写一堆的new()造出若干实例,再逐一对属性赋值是可行的,但是并非最好的做法,下面看看 阅读全文
posted @ 2010-01-27 11:18 菩提树下的杨过 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 类索引器Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1usingSystem;2usingSystem.Collections.Generic;34namespacePrototype5{6classProgram7{8staticvoidMain... 阅读全文
posted @ 2010-01-27 10:33 菩提树下的杨过 阅读(399) 评论(0) 推荐(1) 编辑
摘要: 原文:http://www.cnblogs.com/zhouyinhui/archive/2007/07/07/809553.htmlyjmyzz提示:读懂以下内容可能需要掌握(高中)数学中的"向量运算",以及(大学)数学“线性代数”中的"矩阵运算",如果您对此不熟悉,建议先百度词条温习一下。虽然在WPF中可以使用TranslateTransform、RotateTrans... 阅读全文
posted @ 2010-01-25 10:24 菩提树下的杨过 阅读(2134) 评论(1) 推荐(3) 编辑
摘要: 工厂模式:个人理解为主要用于创建"同一系列"的N个对象实例。(注意这里"同一系列"指这一系列对象均继承于某一个抽象类或均实现了某一个接口)举例:(仍然来自李建忠老师webcast中的实例,不过做了些简化)某汽车生产商需要对生产出来的“某一品牌”的不同型号汽车进行测试,于是写一套测试程序,这里的品牌我们就用Audi(奥迪)吧,比如现在测试的是A5,过一阵可能A6要下线,另外A7,A8...也都在研究中...如何让这一套测试程序能应对各种型号的变化,而不是每次出来一款新型号的奥迪,就要发布一个版本?寻找变化点:变化的只是型号,但同一品牌的测试方式却相对不变(比如商务车通常主要侧重于测试商务实用性, 阅读全文
posted @ 2010-01-21 15:59 菩提树下的杨过 阅读(548) 评论(1) 推荐(0) 编辑
摘要: 一、不写代码的方法:用Blend看图说话:这是待处理的图片win7在win7上,画一个矩形,再用钢笔随便画个封闭的path将矩形与path合并组成复杂的路径将合成后的复杂路径与win7图片同时选中,然后生成剪切路径这样我们就得到了一个不规则的图片轮廓(当然这里演示的去掉不规则部分,反过来就是挖洞)二、用代码挖洞原理:先用WriteableBitmap把原图片复制一份,然后将原图隐藏,接下来把指定区... 阅读全文
posted @ 2010-01-20 14:54 菩提树下的杨过 阅读(2491) 评论(6) 推荐(0) 编辑
摘要: Builder模式主要用于以下场景:需要创建一个较复杂的大对象实例,并且构成该对象的子对象可能经常会发生变化,但是组成大对象的算法却相对稳定。比如:我们做b/s开发时,经常会遇到一些系统要求支持模板/皮肤切换,一个完整的页面由若干子模块组成,不管模板如何变换,子模块的内容/位置如何变化,但组成页面的算法即相对固定。我们假定每个页面由header,body,footer三个基本模块组成,先抽象出来:接口抽象部分Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com 阅读全文
posted @ 2010-01-19 17:41 菩提树下的杨过 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂主要用来解决多个系列的对象实例问题。问题的应用场景(来源于李建忠老师的webcast讲座):如果有一款游戏,里面有"道路,房屋,隧道,丛林"这四类基本设施,而且不同的地图(比如中国区,印度区,欧美区)这些设施的风格各有特色,比如中国区应该是中国风格,印度区可能是古典风格,欧美区可能是现代风格...并且这些基本设施的风格还有可能会一直不断增加,作为程序员/架构师,您想如何让以后的维护/升级变得更轻松,比如新增加一种风格时,最好只要改改配置,顺便发个新的dll复制到安装目录就完事,而不是把原来的类似xxx = new ChineseStyleRoad(),全部改成xxx = new New 阅读全文
posted @ 2010-01-19 13:00 菩提树下的杨过 阅读(650) 评论(0) 推荐(0) 编辑
摘要: [代码]Singleton的精髓在于:对于类的实例个数做了限制,只要领会了这一点,可以应用到很多场景,比如聊天室最多只能让100个人进来,数据库连接实例只能有200个... 阅读全文
posted @ 2010-01-18 17:09 菩提树下的杨过 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 安装visual studio之后,一旦某些进程出现问题,总是出现“visualstudio实时调试器”对话框,有时候感觉很烦人,下面是解决办法:删除注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug\DebuggerHKEY_LOCAL_MACHINE\SOFTWARE\M... 阅读全文
posted @ 2010-01-18 14:25 菩提树下的杨过 阅读(1082) 评论(0) 推荐(0) 编辑
摘要: 查找/列出进程很容易,但干掉进程得借助系统命令ntsd.exe,详细用法见下面的代码 :[代码]另外ntsd.exe在windows vista以上的版本(包括windows 2008)上,出于安全考虑已经被MS给去掉了,但我们可以直接从xp下复制过来继续使用,这里为方便大家给出ntsd.exe的下载http://files.cnblogs.com/yjmyzz/ntsd.rar 阅读全文
posted @ 2010-01-18 10:12 菩提树下的杨过 阅读(7476) 评论(3) 推荐(1) 编辑
摘要: 先上演示地址:http://images.24city.com/jimmy/QQCapture/注:首次点击,会提示未安装ActiveX插件,下载安装成功后,刷新页面,就可以截屏了。提示:该ActiveX插件是我用Delphi7开发的纯绿色插件(调用了QQ公司的公开dll),默认会安装到c:\Capture下,大伙儿玩腻了以后,点击c:\capture\uninstall.bat,然后删除整个c:... 阅读全文
posted @ 2010-01-15 18:05 菩提树下的杨过 阅读(5002) 评论(10) 推荐(0) 编辑
摘要: 先引用delphi自带的单元uses EncdDecd;然后就可以使用下面二个函数了:by 菩提树下的杨过 http://yjmyzz.cnblogs.com/Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--///将Bitmap位图转化为base64字... 阅读全文
posted @ 2010-01-15 15:11 菩提树下的杨过 阅读(6941) 评论(2) 推荐(1) 编辑
摘要: 上一篇"base64编码在silverlight中的使用"里已经提到WriteableBitmap对象可以借助FluxJpeg转化为base64字符串,而WriteableBitmap又能从BitmapSource直接构造,so ... 问题解决了先将BitmapImage转化为WriteableBitmap,然后得到base64字符串,然后可以得到base64的byte[]数组,再然后您可以把b... 阅读全文
posted @ 2010-01-15 10:18 菩提树下的杨过 阅读(7160) 评论(3) 推荐(0) 编辑
摘要: 在传统的.net应用中,使用base64编码字符串是一件很轻松的事情,比如下面这段代码演示了如何将本地文件转化为base64字符串,并且将base64字符串又还原为图片文件.base64编码在传统.net程序中的应用(by 菩提树下的杨过 http://yjmyzz.cnblogs.com/) Code highlighting produced by Actipro CodeHighlighte... 阅读全文
posted @ 2010-01-14 17:29 菩提树下的杨过 阅读(4338) 评论(1) 推荐(1) 编辑
摘要: 这种应用现在已经比较常见了,比如论坛回贴中的手写功能 ,IM聊天中的个性化手写文字,个性签名等,在Silverlight中要实现该功能其实非常简单,只要一个InkPresenter控件即可使用要点:1.要合理设置裁剪区,否则手写时可能笔划会写到你不希望出现的地方.2.处理好MouseLeftButtonDown,MouseMove,LostMouseCapture这三个事件.演示代码:前端Xaml... 阅读全文
posted @ 2010-01-14 11:54 菩提树下的杨过 阅读(3635) 评论(3) 推荐(1) 编辑
摘要: 1.如果想在windows 2008上架设oracle db server,只能安装oracle 10g r2以上版本2.管理员用户名最好不要用邮箱格式(比如xxx.xxx@abc.com),否则在计划任务里创建任务时,总是提示用户名无效。3.如果想使用Radmin做为远程管理工具,必须是3.4以上版本,否则远程桌面时,只能看到一片漆黑!4.如果是用R2 64位版本,oledb方式的数据库连接将无... 阅读全文
posted @ 2010-01-13 11:50 菩提树下的杨过 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 今天在一台win2003 64bit 英文版服务器上安装Sql2008,死活安装不上,每次到一半时,提示数据库引擎安装失败,郁闷之极...后来意外发现:“MSXML 6 Service Pack 2 (KB973686)” 在控件面板里,删除掉这个该死的补丁后,居然就可以安装了看来微软的测试工作有时候也不怎么样 阅读全文
posted @ 2010-01-08 15:12 菩提树下的杨过 阅读(1946) 评论(3) 推荐(0) 编辑
摘要: 近日公司一网站项目,要调用其它系统(call center系统)的oracle数据库数据,只能连接查询,无法创建存储过程,所以只能在sql语句上动脑筋实现分页:[代码]注:用到了微软的企业库EnLib 阅读全文
posted @ 2010-01-07 11:27 菩提树下的杨过 阅读(697) 评论(0) 推荐(0) 编辑
摘要: Xaml如下:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--<UserControlx:Class="ToolsTest.Test"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/p... 阅读全文
posted @ 2010-01-03 14:03 菩提树下的杨过 阅读(3284) 评论(2) 推荐(2) 编辑
摘要: Silverlight中只有可视化树,没有WPF中的逻辑树,这一点可从SL的sdk文档中得到印证:可视化树概念也存在于 WPF 中,它与 Silverlight 的可视化树概念类似。然而,一个显著的差异是 WPF 还提供一个附加的筛选器或对象树(称为"逻辑树")的概念。逻辑树概念与某些属性系统行为相关。Silverlight 不通过帮助器类来公开此逻辑树。Silverlight 中的确存在某些(但... 阅读全文
posted @ 2010-01-02 21:31 菩提树下的杨过 阅读(6446) 评论(2) 推荐(2) 编辑
摘要: 2009年最后一天,分享一个不错的Silverlight开源自定义布局:CollectionFlow,原作者博客:http://mentas.spaces.live.com/Blog/cns!A8D899E9B03A6E15!784.entry上面还有源代码下载效果图:简单分析下原理:先将所有元素堆叠在布局横向中心点,然后找到当前显示的元素,将其作为分界点,将其它元素分成左右二堆,依次移动变化为了... 阅读全文
posted @ 2009-12-31 14:02 菩提树下的杨过 阅读(1658) 评论(5) 推荐(1) 编辑
摘要: db4o虽然出来很久了,一直没怎么关注,今天随手试了下,对于小型应用还是不错的,至少省去了ORM的麻烦,一切皆对象,一切都变得那么自然。下载地址:http://www.db4o.com/DownloadNow.aspx优点:1.使用简单,整个引擎只要一个dll(Db4objects.Db4o.dll)即能搞定(个人觉得可完全取代access用于某些小型应用)2.数据库仅一个文件,方便部署3.支持事... 阅读全文
posted @ 2009-12-31 13:05 菩提树下的杨过 阅读(1005) 评论(2) 推荐(2) 编辑
摘要: 今天一位朋友问如何去掉DataTable里重复的记录(DataTable是别人返回过来的,不能再重新查询数据库,所以无法用sql中的select distinct xxx处理,只能在DataTable上动脑筋)思路:将DataTable转成IEnumerable,然后就能调用Distinct方法了by 菩提树下的杨过 http://yjmyzz.cnblogs.com/Code highlight... 阅读全文
posted @ 2009-12-30 16:08 菩提树下的杨过 阅读(2278) 评论(2) 推荐(0) 编辑
摘要: Silverlight是基于时间线的,不象Flash是基于帧的,所以在Silverlight中,很少看到有文档专门介绍SL中的帧。但是我们从动画原理知道,动画只不过是一幅幅静态图片连续播放,利用人眼的视觉暂留形成的,因此任何动画从原理上讲,至少还是有每秒播放多少帧这个概念的。Silverlight的sdk文档中,有一段话:...maxFramerate 值可通过 Silverlight 插件对象的... 阅读全文
posted @ 2009-12-25 17:19 菩提树下的杨过 阅读(946) 评论(0) 推荐(0) 编辑
摘要: 效果:其实原理很简单:1.先把最外层布局的Cursor设置为None,即隐藏系统默认的光标2.然后在最外层布局的鼠标移动(MouseMove)事件里,弄一个对象鼠标跟随即可源代码下载:http://files.cnblogs.com/yjmyzz/MyCursor.rar 阅读全文
posted @ 2009-12-25 15:14 菩提树下的杨过 阅读(1246) 评论(3) 推荐(0) 编辑
摘要: 先看效果:wrapPanel的效果在固定宽度的情况下看不出来,可查看在线演示地址:http://images.24city.com/jimmy/CustomPanel/这些布局,有些是从wpf上移植过来的,有些是自己写的,有些是网上搜集的,也许以后有用,先贴在这里介绍:FishEyePanel:从老外写的wpf版"鱼眼"效果移植过来的,Mac机上的工具条所说就是这种风格CellPanel:将布局等... 阅读全文
posted @ 2009-12-25 12:39 菩提树下的杨过 阅读(2247) 评论(2) 推荐(2) 编辑
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 34 下一页