之前有一个C#版本和ios版本(支持下载学生名单,点名等更多功能,该版本未上app store)的教辅助手帮助学校老师提交成绩到教务系统(浙大正方web版),一直打算用mfc写一个vc++版本的可以方便的在未安装net framework的电脑上使用,前几天看到一篇文章再谈为什么要使用MONO ,既然Unity3D游戏(mono内核)可以单独打包脱离net framework,那我的教辅助手一定可以。可是在网上找了一下,中文资料很少,没有讨论具体技术细节的文章( 让C#程序独立运行(脱离 .NET Framework运行,绿色运行) 是我在移植完成后写教程的时候看到的文章,我的思路和他不太一样[......]

Read more

list.h (实际上是数据结构顺序表的一个例子,为了展现问题,我简化了部分代码,只留下插入和打印)

 

#include<iostream>
using namespace std;
class List
{
public:
    List(int max_list_size)
    {
      max_size=max_list_size;
      data=new int[max_size];
      n=0;
    }
    ~List()
    {
        delete[]data;
    }
    bool empty()//c[......]

Read more

20

C++指针存储结构

—概述

—线性排序

—二进制存放

—数据类型和编码

—变量和指针

—引用

—数组

—动态存储分配

—函数参数传递在内存中的表示

概述

c++的学习中,对指针的理解和把握相当重要,可能很多同学对此感到困惑。我个人感觉指针的理解实际上还是依赖于对内存存储的理解,因此了解内存的存储机制就显得至关重要。

当然由于内存的存储机制实际上比较复杂,而且我们的任务是学习程序的编写,所以我这里更多是从程序的角度来看内存的存储(有一定程度的简化)。但当我们了解了内存存储的方式,知道程序中的常量、变量、指针在内存中的表示,又能够进一步指导我们程序的书写。[......]

Read more

最近读dave_cn[原创]分享自己写的一个贪吃蛇的游戏(Linux) ,C程序写的,就想着用C++重写一下,把面向对象的思想也引入进来。

这里感谢dave_cn,重构后应该有40%的代码是重用的,省了不少功夫。

程序继续采用了ncurses.h库,关于ncurses猛击这里。不知道在window下有没有类似的库(查了一下,可以用conio.h在类dos窗口下实现,有空实现一个window版)。

第一次在linux下用c++写东西,碰到的问题比较多,好歹都解决了,这里也一并做记号。

snake_thumb

需求比较简单,直接上UML图

uml_thumb_1

Screen 类 主要负责定时刷新[......]

Read more

先来了解一下百度百科关于WebDav(Web-based Distributed Authoring and Versioning)的解释

一种基于 HTTP 1.1协议的通信协议.它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。

下面来看如何实现文档的协同管理

1安装软件及模块一览

  (1)Apache2.2.14  自己下载编译。未用ubuntu 9.10 server 下apt-g[......]

Read more

在之前的文章javascript 事件机制 与 jQuery.Bind中,为了说明冒泡阶段中Event Handler Function的表现,我使用了event.data来记录触发function的次数。并且提出了一个问题,就是在jQuery.bind方式中,event.data无法正确记录触发的次数。后来经过测试和查阅网上的相关的资料,得出了一个结论,就是我之前关于event.data的使用方式是错误的,或者说对于跨浏览器的支持是困难的。同时我也意识到,由于event.data在w3c dom level 2文档中,并不是作为event的标准属性出现的,所以jQuery对event进行了f[......]

Read more

W3C DOM Level2的事件模型规范中,事件在DOM树中的传播过程(从根节点到目标节点)被分为了两个阶段:jquerybind捕捉(Capture)和冒泡(Bubbling),而事件在传递的过程中需要先经历Capture Phrase后经历Bubble Phrase 。在firefox下,我们可以用target.addEventListener(type, listener, useCapture),第三个参数指定是否为Capture;但IE不支持捕获,而且jQuery也不支持Capture(不过我觉得Bubbling足够了)。因此后面的讨论主要在Bubbling阶段。首先看一下IE下实现事件模型的代码。

[......]

Read more

项目组去年年底配置了两台服务器,其中的一台安装了Ubuntu 9.10 Server。由于项目组采用Bugzilla作为bug生命周期的管理,需要把Bugzilla迁移了过来。以下记录迁移过程备忘。

原服务器 Ubuntu 8.04 Desktop ,  Bugzilla 3.2.2

新服务器 Ubuntu 9.10 Server  , –

参考网上部分方案,打算采用比较稳妥的方式,形成如下思路

1 备份mysql数据库

将数据库bugs备份到文件bugsdata.sql
$mysqldump bugs > bugsdata.sql
再修改bugsdata.sql,在文[......]

Read more

1 配置准备

Ubuntu 9.10 Server 英文版。服务器版还是以稳定高效为主,也没有安装图形界面,另外主要是通过putty.exe远程访问。没有采用中文版的原因是,在shell下,中文字体可能没有安装总显示乱码,拜过谷哥大神,未解决。

2 安装软件及模块一览

(1)Apache2.2.14  自己下载编译。未用ubuntu 9.10 server 下apt-get安装的apache2 是因为这个版本的apache2在启用ssl的时候总是报undefined symbol apr_ldap_ssl_init错误,此处我怀疑可能是ubuntu9.10 server的问题[......]

Read more

新的项目刚刚启动,虽说只有几个人七八条枪,但是也得装个正规军的样子,版本控制、Bug管理都得用上。以前项目用了个国产开源的Bug工具Bugfree,这次想换成强大的Bugzilla,先在虚拟机的Ubuntu安装一下,安装的过程及注意事项记录一下。

用apt-get install bugzilla 安装的版本是 bugzilla 2.22.1 debian,安装过程很简单,不过版本比较陈旧了,且无法升级到bugzilla 3 。从bugzilla论坛上了解到,2.22.1 debian版本是由Ubuntu来维护的,其实可以算是bugzilla的一个分支,无法升级到bugzilla 3。这[......]

Read more