2013年8月22日

【设计模式】学习笔记14:状态模式(State)

摘要: 本文出自 http://blog.csdn.net/shuangde800 基本常识: 策略模式和状态模式是双胞胎,在出生时才分开 认识状态模式假设有一个糖果机, 它的工作状态图如下: 要用代码实现糖果机的功能,如果不用状态模式:一种方法是创建一个类,它的作用就是一个状态机,对每一个动作,我们都创建了一个对应的方法,这些方法用条件语句来决定在每一个状态内什么方法是最恰当的.比如对"投入25分钱"这个动作,对应的方法如下:// 我们根据糖果机的状态,定义4种状态,用整形常量来表示final static int SOLD_OUT= 0; // 糖果卖完了final stati 阅读全文

posted @ 2013-08-22 18:36 bbsno 阅读(177) 评论(0) 推荐(0)

WCF学习心得----(六)数据协定

摘要: --前言 最近各种事忙的把之前的WCF学习给耽误了一些,今天抽时间把之前的学习内容给总结了一下,因为知识点比较细碎没有做太多的练习示例,只是对其中关键的知识点做了总结,希望可以对大家有所帮助。第六章 数据协定6.1 数据协定的概述默认的情况下WCF使用称之为数据协定序列化程序的序列化引擎对数据进行序列化和反序列化,所有的.NET Framework基元类型,如整型、字符串型,以及某些被视为基元的类型,如DateTime、XmlElement不需要做其他工作就可以被序列化,并被视拥有默认的数据协定。在通常情况下通过DataContractAttribute属性应用到新建的复杂类型来完成复杂类型的 阅读全文

posted @ 2013-08-22 18:34 bbsno 阅读(198) 评论(0) 推荐(0)

自创一种新的方法建立 平衡二叉树(AVL)

摘要: 下面的代码实现了:建立AVL树,在树中查找节点,册除节点,先序遍历,中序遍历,后序遍历。创立方法:先把n个数从小到大排序,然后用了二分法建立平衡二叉树(AVL);册除方法:找到要册除节点的右子树中最小的一个节点,把要册除的节点值换成找到的那个节点值,然后把找到的这个最小节点的父节点的左子树变成最小节点的右子树,最后释放这个最小节点。1.3BST删除元素的算法实现删除总共有3种情况,1只有左子树;2,只有右子树;3,左右子树都有。先看第一种 如上图所示 我们要删除4这个节点,我们就把他双亲节点的左孩子指向4的左子树。简单吧!。那我么看第二种吧 如上图所示我... 阅读全文

posted @ 2013-08-22 18:32 bbsno 阅读(326) 评论(0) 推荐(0)

windows下编译php扩展 memcache

摘要: Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。本篇主要简述编译php及其扩展memcache,在阅读后面内容之前,建议先阅读一下官方文档(地址)。下面我们以php5.3为例。一、编译环境根据你的php版本选择相应的编译器:php 5.3-5.4 :Visual C++ 9.0(Visual Studio 2008)php 5.5+ :Visual C++ 11.0(Visual Studio 20 阅读全文

posted @ 2013-08-22 18:30 bbsno 阅读(423) 评论(0) 推荐(0)

基于身份的加密(IBE)

摘要: Shamir在文献[1]中提出了一种基于身份的加密(identity-based encryption,IBE)和签名方案。首先假设存在一个可信的密钥生成中心(trusted key generation center,KGG);用户选择他的名字(或者是,网络地址,所在街道地址门牌号,电话号码)作为公钥,相应的私钥由KGG计算出来分配给每个加入网络中的用户。 IBE有点类似于理想的邮件系统:如果你知道某个人的姓名和地址,你可以发给他只有他才能读的信,你可以认证他签的签名。 加密系统如图1: 图1 加密系统 签名方案: 参数n,e及函数f是由KGG选择的,并且所有用户的n,... 阅读全文

posted @ 2013-08-22 18:27 bbsno 阅读(2666) 评论(0) 推荐(0)

纠正部分Linux初学者对ctime的误解

摘要: 刚接触到ctime的时候为了与mtime区分开,误以为ctime只是当文件或目录权限发生改变的时候ctime才会变,其实大错特错了!经过我亲身试验,之后google了很多资料,总结如下:1)文件只读时, 影响atime2)文件内容修改时,包括创建,同时更新mtime和ctime3)修改文件属性时(chattr、chmod、chown等),只更改ctime这三条记住了就可以了。 阅读全文

posted @ 2013-08-22 18:25 bbsno 阅读(229) 评论(0) 推荐(0)

【Java】Java学习笔记总结(一)

摘要: 2013-07-151.JDK、JRE和JVM分别是什么,区别是什么?答:①、JDK是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。②、JRE(JavaRuntimeEnvironment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。③、JVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。2.写一个冒泡法程序,给10个杂乱无章的数字,按照从小到大的顺序排列出来。Java程序为: cla. 阅读全文

posted @ 2013-08-22 18:23 bbsno 阅读(202) 评论(0) 推荐(0)

jQuery zTree v3.5 实例5 对树节点的增、删、改,添加时包含添加同级节点和子节点

摘要: 最终效果如下:当鼠标移动到节点时,后面会出现三个小图标,依次代表添加、修改和删除。修改和删除可以参看上一篇文章,这篇重点在于添加。在点击添加小图标时,效果如下:会弹出对话框,提示用户是添加同级节点还是子节点,如果当前节点是叶子节点,则不能添加同级节点,因为这可以由它的父节点添加子节点来完成。这样一来,添加的同级节点都是父节点,即isParent:true。弹出的对话框使用到了artDialog,可网上下载。代码如下: Insert title here /css/zTreeStyle.css" rel="stylesheet" type="text/cs 阅读全文

posted @ 2013-08-22 18:21 bbsno 阅读(875) 评论(0) 推荐(0)

求次数不大于5的不可约多项式

摘要: 1.定义 如果p(x)的因式只有非零常数及其自身的非零常数倍,那么p(x)为不可约多项式。 2. 性质 由文献[1]知,可约多项式在有限域F2具有性质: 3.求解 4.参考文献 [1]万哲先,代数和编码,高等教育出版社,2007. 阅读全文

posted @ 2013-08-22 18:19 bbsno 阅读(322) 评论(0) 推荐(0)

设计模式之: Decorator(装饰器)模式

摘要: 在说明什么是Decorator模式之前,先来看看它有什么优点,通过下面的例子你或许会对它有一个简单的认识 需求背景 设计一个Modem(调制解调器)的层次结构,在这个结构中(1) Modem基类包含了一些调制解调器常用的功能,比如拨号,音量的控制(2) 子类一:LoudModem,一般的拨号器在拨号的时候是没有声音的,这种modem在拨号的时候会发出声音(3) 子类二:ScreenModem,一般的拨号器在拨号的时候是不会把号码显示在屏幕上的,这种modem在拨号的时候会将号码显示在屏幕上 方案一:继承 这是一种比较容易想到的方案,对于简单且稳定的业务场景这或许是个很好的选择,大概的类... 阅读全文

posted @ 2013-08-22 18:16 bbsno 阅读(158) 评论(0) 推荐(0)

C语言深度解剖读书笔记(1.关键字的秘密)

摘要: 开始本节学习笔记之前,先说几句题外话。其实对于C语言深度解剖这本书来说,看完了有一段时间了,一直没有时间来写这篇博客。正巧还刚刚看完了国嵌唐老师的C语言视频,觉得两者是异曲同工,所以就把两者一起记录下来。等更新完这七章的学习笔记,再打算粗略的看看剩下的一些C语言的书籍。 本节知识: 1. c语言中一共有32个关键字,分别是:auto、int、double、long、char、short、float、unsigned、signed、sizeof、extern、static、goto、if、else、struct、typedef、union、enum、switch、case、break、d... 阅读全文

posted @ 2013-08-22 18:14 bbsno 阅读(273) 评论(1) 推荐(0)

【Java】Java学习笔记总结(二)

摘要: 2013-07-221.AWT和Swing的区别,如何设置lookandfeel?如何往JFrame添加组件。答:AWT是抽象窗口组件工具包,是java最早的用于编写图形节目应用程序的开发包。 Swing是为了解决AWT存在的问题而新开发的包,它以AWT为基础的。设置lookandfeel:try{ UIManager.setLookAndFeel(外观名称); }catch(Exceptione){}方法setLookAndFeel的一些参数:UIManager.getCrossPlatformLookAndFeelClassName()--Java的界面外观,所有平台均一致.UIMan.. 阅读全文

posted @ 2013-08-22 18:12 bbsno 阅读(319) 评论(0) 推荐(0)

HDU 4341 Gold miner (分组背包)

摘要: Gold minerTime Limit: 4000/2000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1488Accepted Submission(s): 592 Problem Description Homelesser likes playing Gold miners in class. He has to pay much attention to the teacher to avoid being noticed. So he always los... 阅读全文

posted @ 2013-08-22 18:10 bbsno 阅读(162) 评论(0) 推荐(0)

HDU 3496 Watch The Movie( 二维费用背包)

摘要: Watch The MovieTime Limit: 3000/1000 MS (Java/Others)Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 4458Accepted Submission(s): 1407 Problem Description New semester is coming, and DuoDuo has to go to school tomorrow. She decides to have fun tonight and will be very busy after ... 阅读全文

posted @ 2013-08-22 18:07 bbsno 阅读(196) 评论(0) 推荐(0)

Mahout源码MeanShiftCanopyDriver分析之一初识

摘要: 如果要先把meanshift算法先跑一遍的话,可以直接使用synthetic_control.data数据来做,把synthetic_control.data下载赋值到一个文本文件中,然后上传到HDFS文件系统上面,使用下面的命令: bin/hadoop fs -put synthetic_control.data testdata;上传完毕后直接在mahout中运行:bin/mahoutorg.apache.mahout.clustering.syntheticcontrol.meanshift.Job 即可在终端中看到运行的情况,但是在最后面该程序把所有的数据结果都显示出来了,导致前面的J 阅读全文

posted @ 2013-08-22 18:05 bbsno 阅读(246) 评论(0) 推荐(0)

Linux进程间通信——使用匿名管道

摘要: 在前面,介绍了一种进程间的通信方式:使用信号,我们创建通知事件,并通过它引起响应,但传递的信息只是一个信号值。这里将介绍另一种进程间通信的方式——匿名管道,通过它进程间可以交换更多有用的数据。 一、什么是管道 如果你使用过Linux的命令,那么对于管道这个名词你一定不会感觉到陌生,因为我们通常通过符号“|"来使用管道,但是管理的真正定义是什么呢?管道是一个进程连接数据流到另一个进程的通道,它通常是用作把一个进程的输出通过管道连接到另一个进程的输入。 举个例子,在shell中输入命令:ls -l | grep string,我们知道ls命令(其实也是一个进程)会把当前目录... 阅读全文

posted @ 2013-08-22 18:03 bbsno 阅读(174) 评论(0) 推荐(0)

【Direct3D游戏开发】——蒙皮骨骼动画学习笔记

摘要: 蒙皮骨骼动画 一、蒙皮骨骼动画原理:蒙皮骨骼动画的思想来源于自然界,大多数动物都拥有一套骨骼,骨骼是身体的框架,身体的皮毛血肉都是依附于骨骼。当骨骼开始运动的时候,依附于对应骨骼的皮毛血肉都会随骨骼一起运动。而Mesh模型是由大量的三角形组成,三角形由定点组成。当我们运动时,有必要知道那些定点依附于那块骨骼,根据骨骼的移动来移动对应的顶点。 蒙皮骨骼动画的加载:和Mesh模型的加载一样,骨骼加载时也是基于本地空间,我们需要把骨骼一块一块的从基于本地空间转换到整个Mesh模型空间。对于一套骨骼,有一个根(root)骨骼,这个根骨骼位于模型的一个定点,如坐标原点,其他骨骼... 阅读全文

posted @ 2013-08-22 18:01 bbsno 阅读(490) 评论(0) 推荐(0)

虚拟机上搭建Ubuntu系统步骤

摘要: 准备工作:下载:1、VMware-workstation 虚拟机。2、ubuntu-12.10-desktop-i386 ubuntu系统的镜像。安装虚拟机比较简单,一步步按照提示安装即可。网上也有一些截图,我也是参照着来的,我自己也做了个总结来记录。下面配合截图,说明ubuntu在虚拟机上的安装步骤。1、创建1个新的虚拟机,如图。2、新手选择标准配置就可以,如图。3、选择第3项,如图。4、选择安装Linux系统,如图。5、选路径,如图。6、设置占用硬盘大小,10G差不多,如图。7、点击按钮,如图。8、如图。9、移除这一项10、如图11、选择Uubuntu镜像路径。12、这一项配置好了,点击f 阅读全文

posted @ 2013-08-22 17:59 bbsno 阅读(204) 评论(0) 推荐(0)

PIC16F690 ADC模块初始化设置及应用

摘要: //-AD模块时钟输入分频值-#define ADCS_DIV2 (0<<4)#define ADCS_DIV8 (1<<4)#define ADCS_DIV32 (2<<4) #define ADCS_RC (3<<4)#define ADCS_DIV4 (4<<4)#define ADCS_DIV16 (5<<4)#define ADCS_DIV64 (6<<4)//--AD通道选择------#define ADC_Chanel0 (0x00<<2)#define ADC_Chanel1 (0 阅读全文

posted @ 2013-08-22 17:56 bbsno 阅读(712) 评论(0) 推荐(0)

PIC16F690 TMR1初始化设置及应用

摘要: //timer1 分频值#define TIMER1_DIV1 (0<<4)#define TIMER1_DIV2 (1<<4)#define TIMER1_DIV4 (2<<4)#define TIMER1_DIV8 (3<<4)//-----时钟源选择------------#define T1_FOSC (1<<1) #define T1_FOSC_4 (0<<1)//---------------#define TIMER1_IEN_ENB TMR1IE = 1 //使能T1中断#define TIMER1_IEN 阅读全文

posted @ 2013-08-22 17:54 bbsno 阅读(705) 评论(0) 推荐(0)

sqlserver2005 性能监视器计数器要求错误 和com+ 目录要求错误解决

摘要: 安装sqlserver2005时候,检查电脑的环境时候,出现问题:1.性能监视器计数器要求错误;2.com+ 目录要求警告; 解决办法:1.性能监视器计数器要求错误。打开注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib该项下的Last Counter和Last Help,另外perflid下还有004和009两个大项。中文版的sqlserver修改Perflid下的Last Counter 的值跟004中Counter的值一样;修改Perflid下的Last Help的值跟004中Help的值一 阅读全文

posted @ 2013-08-22 17:52 bbsno 阅读(195) 评论(0) 推荐(0)

Android核心基础(七)

摘要: 1、应用的响应性(Responsive)在Android中,应用的响应性被活动管理器(ActivityManager)和窗口管理器(WindowManager)这两个系统服务所监视。当用户触发了输入事件(如键盘输入,点击按钮等),如果应用6秒内没有响应用户的输入事件,那么,Android会认为该应用无响应,便弹出ANR(ApplicationNoResponse)对话框。如右图。在正常情况下,Android程序会在一条单线程里运行。如果Activity要处理一件比较耗时的工作,应该交给子线程完成,否侧会因为主线程被阻塞,后面的用户输入事件因没能在5秒内响应,导致应用出现ANR对话框。2、广播接 阅读全文

posted @ 2013-08-22 17:50 bbsno 阅读(210) 评论(0) 推荐(0)

由二叉树的先序中序推出后序(转)

摘要: 各大公司招聘每次笔试都碰到这种题,今天来把它说清楚.三序中知道其中两个就可以推出第三个,但前提是我们必须知道中序.因为:先序和后序给我们提供的信息是一样的--告诉我们谁是根节点中序则告诉我们左右子树在哪儿例:已知先序为eacbdgf,中序为abcdefg,求后序由先序我们知道e为根节点,我们在中序中把左右子树括起来--(abcd)e(fg)同样对左子树abcd进行分析,先序为acbd,中序为abcd.--a(bcd)递归下去就可以了后序为bdcafge代码实现上述例子:?12345678910111213141516171819202122232425262728293031323334353 阅读全文

posted @ 2013-08-22 17:47 bbsno 阅读(427) 评论(0) 推荐(0)

《程序猿的搬砖生活》六、职业杂谈

摘要: 最近校长这个职业也不是那么好当了,以前我不明白为什么中国校服那么丑,近来终于明白了,原 来是防校长。 我一直觉得文凭不是问题,没有文凭才是问题。所以我现在对未来的职业选择表现得相当的迷 茫。其实我在小学的时候,我的梦想是当一名科学家。后来因为我没有任何敬业精神,我认我似乎我可 以成为数学家。后来因为我没有任何专业知识,我认为似乎我可以成为艺术家。后来由于我没有任何献 身精神,我觉得我只能做一个职业玩家。然而经过我这么多年的努力,其实我发现,最难当的就是 职业玩家。>——古龙。 职业玩家的自我修养: 1.敬业精神 2专业... 阅读全文

posted @ 2013-08-22 17:45 bbsno 阅读(117) 评论(0) 推荐(0)

导航