自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (7)
  • 收藏
  • 关注

原创 Laravel 4 IoC Container

IoC stands for Inversion of Control, and it is effectively just a fancy way of describing a concept in Object Oriented programming where the logic behind how you instantiate a class is abstracted in

2013-08-19 17:32:13 1208

原创 Pros and Cons of Angularjs

Angularjs is being hot recently in front end world. As a MVC framework introduced by Google, it separate concerns of a web app in a sort of WYSIWYG way that make the development and maintenance more

2013-04-15 15:46:48 1295

原创 Notes on Supermodel

What is Supermodel ?Supermodel is a special kind of Model that provides the model instances tracking for Backbone. Model instances with the same "id" derive from the same Supermodel class and could

2013-03-28 16:17:10 946

原创 Using multi-processor for node

Node is single threaded. This means Node is only using one processor to do its work. However, most servers have several "multi-core" processors, and you can a single multi-core processor has many pr

2012-05-26 17:02:35 759

原创 可编程式坐标--单位圆坐标

介绍传统的坐标表示方法(x,y)需要手动一个个输入坐标,不便于编程,特别是在画规则图形的时候,有规则的点(x, y), (-x, -y), (nx, ny)明明可以使用程序控制,却还需要手工收入,特麻烦。因此我发明了一种可编程的坐标表示方法--单位圆坐标。理论任何坐标都能用N * 单位圆与其外切矩形的切点及外切矩形顶点来表示,这些点包括:( 0,

2012-03-19 00:31:33 1973

原创 当一个线程fork出另一个线程,会发生什么?

<br /><br />Process "Parant"<br />--> 软中断int $0x80  [entry.S]   <--->  _set_gate(idt_table+0x80,15,3,system_call,__KERNEL_CS); [arch/i386/kernel/traps.c]<br />system_call:<br />pushl %eax /* __NR_fork */<br />SAVE_ALL<br /> <br />syscall_call:<br />      

2011-01-01 20:54:00 1099

原创 正确使用GCC inline assemble 中的 clobber

<br /><br />clobber的正确使用方法是:如果inline assemble代码使用了没有被初始化地声明为输入值或者输出值的任何其他寄存器,则要通知编译器,编译器必须知道这些寄存器,以便避免使用它们。<br />看一个例子:<br />#include <stdio.h><br /> <br /> <br />int main(int argc, char **argv)<br />{<br />    int data = 10;<br />    int result = 20;<br /

2010-12-05 19:15:00 1057

原创 所谓"在表达式中,数组名总是被转换为指向该数组第一个元素的指针"应该如何理解?

<br /><br />在C语言中,数组名是一个左值,不是指针,之所以说“在表达式中,数组名总是被转换为指向该数组第一个元素的指针“是因为你可以使用用于操作指针的解引用符号"*"对数组名进行操作,或者你可以将一个数组名赋值给一个指针变量。<br />但实际上对数组名的操作和对指针的操作在汇编层是不同的。<br />数组int array[10]:<br /> 执行表达式 X = array[3]只需要两条汇编语句:<br />mov    -0x10(%ebp),%eax  /* -0x10(%ebp)是a

2010-11-27 12:35:00 1467

原创 Linux内核栈初始化的一个小细节

<br /><br />今天遇到一个有趣的问题:<br />内核栈的栈底(高地址)8个字节是预留出来处理bug的,所以在寻找栈底的时候用到这个宏:<br />#define task_pt_regs(task)                                             /<br />({                                                                     /<br />       struct pt_regs

2010-11-27 12:34:00 1978 1

ticket -- a perl+bash program

使用方法: 1). 解压“抢二班.tar.gz”,在命令行中运行"./抢二班"即可,房票时网页回被自动打开。 提示: 1. 只适用于Linux/Mac用户,Linux用户需要修改"抢二班"中浏览器路径。 2. 二班相声每周一下午4点左右放票,您可以使用cron设定"抢二班"在每周的3:30运行,使用方法为: 1). 新建文件(任意命名,如myCron),写入30 15 * * 1 /PATH/TO/抢二班). 运行命令crontab myCron即可

2012-02-20

向html中加入指定的javascript "src"的perl脚本

命令adjssrc: 用一个简单的命令向html文档中加入你指定的javascript源,比如在命令行中运行adjsscr a.html b.js, 在html文档的<head>标签的下一行就会自动加入<script type="text/javascript" charset="utf-8" src="b.js"></script>这个标签。此命令适用于Unix-like系统,将该文件放入你的$PATH路径中即可使用。<script>中的type charset src不能制定,我上传0.2版修改这个问题。

2011-11-28

用命令行打开指定的浏览器测试不同的脚本

命令T: 用命令行打开指定的浏览器测试不同的脚本(适用于Mac用户),具体用法见usage 该命令是一个bash脚本,可方便mac用户在命令行下通过一个简单的命令在不同的浏览器中测试自己的html代码。 Unix-like系统用户需要根据你的浏览器路径修改脚本,或者直接在命令行中输入浏览器的全路经才能正常使用。抱歉,我会继续修改这个问题。

2011-11-28

基于规则的动物识别系统C++源代码

1. 根据动物识别系统的规则建立合理的数据结构或数据库来表示知识。 2. 利用所选开发语言来建立推理过程。 3. 利用控制台或者图形界面给出合理的交互接口,实现基本演示功能。 知识库由谓词演算事实和有关讨论主题的规则构成,综合库又称为上下文,用来暂时存储推理过程中的结论和数据。推理机是用规则进行推理的过程和行为,。知识采集系统是领域专家把相关领域的知识表示成一定的形式,并输入到知识库中。解释系统通过用户输入的条件来分析被系统执行的推理结构,并将专家知识以易理解的方式并把知识解释给用户。

2009-11-18

简单银行存取管理程序(MFC)

⑴ 被管理的银行账户分为一般存储账户、定期存储账户、信用卡存储账户和结算存储帐 户四类。 ⑵ 账户的共同属性包括:账号、账户类型标识、储户信息、货币种类和存款余额。不同 的存储账户在这些共同属性基础上增加了不同的新属性: ① 一般存储账户不增加新属性; ② 定期存储账户增加了定期期限和存款日期两个属性; ③ 信用卡存储账户增加了信用卡密码和透支限额(所有信用卡存储账户共享); ④ 结算存储账户增加了汇款方式属性。 ⑶ 余额的计算方法决定了存款和取款的操作。不同的存储账户具有不同的余额计算方法: ① 一般存储账户为简单存取平衡的余额的计算方法; ② 定期存储账户在简单存取平衡的余额的计算方法基础上,增加定期期限检查; ③ 信用卡存储账户在简单存取平衡的余额的计算方法基础上,允许善意透支5000元; ④ 结算存储账户在简单存取平衡的余额的计算方法基础上,需要确定结算汇款方式。 简化了的余额计算方法均不包含利息计算。 ⑷ 各类储户可以建立新账户,允许一个储户开设多个多种账户(账户号有程序自动产生)。 ⑸ 各类储户可以在自己的某个账户上存款。 ⑹ 各类储户可以从自己的某个账户上取款。 ⑺ 各类储户可以查询自己的某个账户上的余额。 ⑻ 各类储户可以通过自己的唯一身份信息查询自己所有账户上的余额。 ⑼ 允许储户修改自己的信用卡账户密码。 ⑽ 能将所有发生了变化的账户信息保存为一个磁盘文件。 ⑾ 能读入已经保存文件中的所有账户信息。 ⑿ 为所有的交互操作提供安全、友好、美观的操作界面。

2009-11-18

模拟windows资源管理器的托管C++代码

用托管写的C++代码,模仿Windows资源管理器,可以运行指定文件,若无法访问则抛出异常

2009-11-18

用密钥方阵实现字母编码

一种防止通过英文字母频率分析解密的方法是使用加密字母对(pair)对英文文本进行加 密和解密。Playfair密码就是一种采用这种方法的简单密码。 1. 建立这种密码的密钥的方法如下: ⑴ 首先选择一个单词或词组作为密钥单词。由于密钥单词是建立密钥的唯一依据, 因此加密和解密的双方只要知道密钥单词和密码建立方法(Playfair密码),就 可以方便地建立唯一的密钥。 ⑵ 删除该密钥单词中的重复字母,然后,将这些字母(按组成单词的顺序)与字母 表中(除去密钥单词字母外)的其他字母(按字母排列顺序)一起组成一个5×5 的正方形密钥矩阵。由于正方形矩阵中只有25 个位置,所以将I和J视为同一 字母(即矩阵只包含I或J)。例如,我们选择的密钥单词为Spring,则正方形 密钥矩阵中的字母排列为: S P R I N G A B C D E F H K L M O Q T U V W X Y Z 2. 使用Playfair密码对单词进行的方法是对组成单词的字母从左至右顺序逐对进行。 根据被加密字母对在密钥矩阵的位置差异,加密字母对的产生方法分为三种情况: ⑴ 被加密的两个字母在密钥正方形中位置既不同列且不同行,例如被加密字母对为 AM,在正方形中找到以这两个字母为顶点的矩形为: S P R I N G A B C D E F H K L M O Q T U V W X Y Z 则这对字母的加密字母对应是该矩形的另一对顶点字母,即GO。 ⑵ 被加密的两个字母在密钥正方形中位置是同列或同行,则只需要简单地对调这两 个字母,例如被加密字母对为HK,则加密字母对为KH;又如被加密字母对为 AF,则加密字母对为FA。 S P R I N G A B C D E F H K L M O Q T U V W X Y Z ⑶ 被加密的两个字母相同,可以视为第⑵情况的特例,则被加密字母对不进行任何 变化。 注意,在加密变换过程中字母的大、小写保持不变。 例如单词Information根据上述加密变换规则经过In ->Ni, if -> pk, ko -> ft, tr -> qi, im -> st, ta -> oc, ct -> tc, ci -> ic, co -> at, tn -> ui被变换成Npfqsotiaui 3. 解密是对加密单词的字母从右至左顺序逐对进行。方法与加密方法相同。 例如加密单词Npfqsotiaui经过iu -> nt, ta -> oc, ci -> ic, ct -> tc, co -> at, ts -> mi, iq -> rt, tf -> ok, kp -> fi, iN -> nI被还原为Information。 要求: 1. 编写一个命名为encrypt的程序,该程序运行时能通过命令行“encrypt 文件名” 将文件名指定的英文文本文件以读/写模式打开,并通过输入的密钥单词建立正方形 密钥矩阵,再使用该密钥矩阵该将文件中的文本加密后,生成一个加密文本文件。

2009-06-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除