- 博客(36)
- 资源 (6)
- 收藏
- 关注
原创 程序-团队-产品 清明节小反思
<br />09年7月到10年7月,这一年是很混乱的一年,不懂做的产品概念,不懂团队方向,完成任务的心态。<br /> <br />10年8月到10年12月,产品,激情,团队,各种各种让人开窍的事物。当时老大的写程序与做产品的理念,锋哥接触新事物的思维和干脆利落的做事风格,新爷的开放共享的团队交流。<br /> <br />至11年2月,做事要顺势而发,linux项目这块固然吸引人,但是背离了航船的目标,最后也会吃力不讨好,反而影响了自身发展。皮前辈分析得很成熟,很理性。<br /> <br />11年3月
2011-04-04 08:54:00 261
原创 为第三个项目写点开头
<br />前一个项目差不多收尾了近一个月,终于可以开始第三个项目了。本来的计划是过到这个项目,好好地设计功能,然后编写高质量的代码,不料与内核组同僚交流还有aboard组兄弟讨论后发现有些观点,有些想法是我以前常犯的,而且我也不确定待久后,这些想法会不会又死灰复燃。所以还是写下记录,记下一些我认为至少是现在,对自己发展,对项目产品发展有利的一些观点。<br /> <br />1,外层到内核,上下贯通,才能放眼大局。<br />过去的两个半项目,框架中逐层逐层地接触,不断地反思,思维不断开朗起来。做flex
2011-03-19 00:53:00 111
原创 FreeList内存管理初步尝试
<br />上次分析字体文件的时候,就考虑了要做个内存管理,读取文件时候的不断malloc,确实给效率带来极大的影响。这次初步尝试了freelist内存管理的设计,意识到了内存管理在整个数据结构设计中的作用。跟以前对比的话,以前设计数据结构只考虑其节点访问复杂度,而这次从整个系统耗时复杂度角度出发。<br /> <br />设计数据结构应该考虑三个方面,对象的创建和释放,对象的访问耗时,对象存储空间。<br /> <br />内存管理的本质是减少malloc,free次数。<br /> <br />所以从另
2011-03-06 22:07:00 490
原创 字符编码总结
前段日子常做编码转换,各种概念,各种纠结于其中,做个小总结,以后遇到继续补充。从字符编码可以看出计算机系统发展历程,主要概念出现和发展始于windows平台。ascii:一开始使用这种字符集,也够用。gb2312,gbk,gb18030: 后续发展到中国这边,GB2312有6763个汉字,GBK有21003个汉字,GB18030-2000有27533个汉字,GB18030-2005有70244个汉字。前段日子有个bug纠结在gb18030 的扩展部分,映射错了unicode的pua区段。big5,jis,c
2011-02-09 15:50:00 527
原创 字体文件格式_分析freetype开源库
<br /> 做个简单的总结,最近缺少激情和动力。做事要顺其自然,顺势而发,做必要的,干这些也如此。先总结freetype的框架然后就是truetype的一些数据。========================================感觉这些东西都需要慢慢一步步的积累,一下子的话走不远。<br /><br />先总结freetype的框架吧。freetype用C实现面向对象,简单的分析后,觉得整个库做得简单,实用,没有太多累赘,顺其自然,没有太多刻意的封装,累赘的接口调用,用起来方便,看起来舒心!
2011-02-08 18:18:00 1333
原创 字体文件格式分析——底层数据流处理
最近分析字体文件格式,是时候搭个稍微过得去的框架来整理一下代码。主要处理几个需求:1,跨平台。2,只分析TrueType格式3,解析几个表:cmap(编码,图元索引映射),glyf(仅取数据),os/2表。绘制图元指令有时候就再看看。初步的设计:1,用户管理几个主要的数据Memory, Face。2,最底层是system,封装一些与平台相关的api;倒数第二层是stream,主要封装一些对数据流的操作,同级的是数据层,真正有意义的数据,存储关于字体相关的信息,以及数据流,都是由用户来管理。最上层是对各个表的
2011-02-06 16:31:00 621
原创 函数指针实现多态_继续分析文本
1,是本好书。2,对四个字节的指针封装,对数据地址(函数行为,数据属性)聚合,而什么样的数据才能够聚合在一起,就是我们所要考虑的面向对象,面向聚合,面向抽象。3,练手简单的内存管理。继续练手cpp文件分析,准确度不是本次练手重点。不过文件格式分析确实要考虑很多种状态装换。#include #include #include #define INT int #define BUFF_LENGTH 1024#define BLANK_LINES_PARSER 1#define CODE_
2011-02-03 01:22:00 420
原创 并行的思想设计模块
<br /> 最近遇到一两个问题,包括以前遇到的未得到完美解答的问题,有的从前辈的代码中领悟,有的从前辈的直接指导中得到解答。<br /> 例如,去年跟着一位前辈做一个工程,而工程中,前辈已对每个模块划分概念,例如,只作为元素的容器,或者作为元素的行为的。但是在实现过程中,发现从程序流程出发,而非从概念出发,只要往容器类内加一个index或者行为变量,那么整个流程会很顺畅,而无需去绕路。但是这个做法被前辈否定,而答案却只是从坚决顺从设计概念出发,没有一些需求上的情况举例,所以回答上并
2010-07-03 17:31:00 219
原创 四叉树重新设计-----一切为了优化,代码未完成
<br />6月份的计划是了解B+树,红黑树的保持平衡的特征。后来连续几晚(发现工作周看书效率不高)看了B树的插入,删除。很是经典,开阔眼界。对数据结构设计的认识从原来的肤浅认识又多几点心得。先设计一个稳定的结构,能保证遍历效率逼近logn,然后其次是在插入,删除时的逻辑控制其保持原有的结构。不过写得出代码才算真正理解了。最后写了个四叉树,来总结最近一段认识,当然,对数据结构和算法的应用和构造提升到面向对象的层次,还是从项目中前辈们写的代码领悟到的。<br /> <br />以下是AS3写的未完成的四叉树代
2010-06-23 23:04:00 660
原创 小练状态机------分析CPP文件代码行数
<br />问题: 分析一个CPP文件中空格行数,纯代码行数,纯注释行数,代码和注释混合行数,总代码行数。<br /> <br />一开始写时,我用了相当混乱的状态标识方法,导致条理不清,很多情况没有考虑到。后来Jumping老人家略花几个小时(小于3小时),华丽丽地敲出了一份标准状态机代码。参考了下,顺便也学了下状态机的基本用法。今天敲完后,总结了几点,状态机的框架和状态模式差不多,为了避免多个switch-case的用法,而采用多态根据输入的条件轮转各种状态。所以状态机的重点还在于分析状态上,因问题不同
2010-06-01 18:48:00 397
原创 类图到源码分析工具----合并元素处理,图的同构,回环处理
练手最多的也就是广搜,今天连个状态机也写不出来,弱,非常的弱,眼高手低的毛病一直没改,幸好我周围好人很多,很多。 分析一下处理这个图的同构和回环处理方法。首先是第一种情况,两个类图,要合并的元素是一样的类或者接口。可以这样理解为一个为正本,一个为副本。方法如下:1,把副本的目标元素,删除,正本顶替副本的位置。2,只要副本直接关联元素和间接关联元素显示为TRUE,则直接把正本的直
2010-01-19 20:42:00 436
原创 docx/ fzip引发的一堆挫事
估计上回分析EMF文件还不过瘾,这回突然有兴趣想把docx里面的图片给挖出来。用RIA来实现,B/S模式的服务还是比较方便的。 1,从docx说起,改了后缀为zip就可以看到里面有啥东西了。图片就放在word/media文件夹下,图片的其他信息放在word/document.xml里面。对于ooxml,用的时候再去看那些节点是什么意思,这样理解得更快点,不适合闲暇时玩弄。docx大概就这
2009-12-26 23:38:00 473
原创 命令式redo/undo和键盘行为
几个星期前在看前辈的redo/undo总结,这次终于可以自己试试这个命令式redo/undo的写法了。命令式redo/undo主要有三个部分;1,ICommand;(命令作用的对象,excute,undo,redo,还有一些Undo,redo参数变量)2,commandStack;(存储命令的栈,undo和redo都在这栈里面上下走)3,通道,也可以说是触发器,把命令放进comma
2009-12-19 09:25:00 740
原创 小谈优化和框架理念
今天碰到两个问题,总结一下,最近碰到的知识很多,但总不够时间来掌握这些东西,例如设计模式里面的模式redo/undo和数据redo/undo。还有存储一个文档的内存数据结构,磁盘上的文件格式,表格计算方法,AVM2的内部运行情况。设计模式上,算法上的,工具应用上的,都有很多需要去一点点掌握。先入下正题,分别两个问题。 一:老一辈说过的话,算法上的优化还不如框架上的,系统上的优化。今天
2009-12-08 19:40:00 234
原创 场景管理-------点击检测
----------------感谢华哥对我的信任,给了这个任务我,让找回之前写代码的感觉。算法仍待改进,有兴趣的读者可联系QQ 25887708. MSN:xueuxan.kr@hotmail.com gmail: xuexuan.kr@gmail.com一起交流改进。 主要问题是:解决对((1 var startime: int = getTimer();
2009-11-15 19:31:00 244
原创 应用程序域实现场景模块化加载
applicationDomain-------as3的一个类,或者可以称作是一种技术和概念。利用该技术可以简便地实现调用服务器端的swf,并且使用该swf中的方法和变量。 这几天接触flex的通信技术,越发觉得老是处于一些表面的应用。对整个虚拟机怎么跑一个swf,以及一些内部机制都不甚了解。语言可以人为地封装得很强大,但却使使用者失去控制的自由。就好象它自己弄了个内存回收管理,我就不信C
2009-10-08 14:50:00 391
原创 谈谈最近做的一个FLEX游戏框架
对这两个星期做的一个游戏框架进行总结。 主要解决问题是:如何实现游戏场景的轮转 14:10 2009-9-21打算用swfloader在主场景(客户端)从服务器load不同场景swf下来运行。前提是各个swf互不通信。但是后来发现和实际情况相差甚远,例如从子场景A返回到主场景,这时候是要使自场景A隐藏或者离开显示列表。但是这个命令是由主场景发出还是由自己发出,显然,正常情况
2009-10-01 23:48:00 1937
原创 EMF文件分析
分析EMF文件以及模拟绘制已经有一段时间了,这里做个总结。然后继续重构雁哥代码。(写代码不写注释会遭雷劈的!!)MSDN的资料是宝,但只是对于看得懂的人来说。http://msdn.microsoft.com/en-us/library/cc230565(PROT.13).aspx 第一部分:EMF文件对设备描述表中的对象采用了object table机制。http://m
2009-09-17 20:31:00 1900 1
原创 用as函数绘制EMF文件
--------感谢老大和涛涛(这称呼只有老大的老大才叫的,这里放肆一下,嘿嘿),还有良胜。都是牛人的说. 刚要做这个的时候,摸不清下手的点在哪里,连EMF文件,矢量绘图,都不清楚是啥, as的绘图函数压根就没用过,B/S模式读取文件更是啥都不懂。当时想了两条方向,要么在浏览器这边转格式,要么在服务端那边转完再发过来。根据flex的特色,只能读取JPG,PNG,GIF格式的图片,在浏览
2009-08-23 13:59:00 833 1
原创 速度入门之最大流
http://www.cppblog.com/mythit/archive/2009/04/19/80470.html 读完上面的blog链接的文章后,可谓豁然开朗,另外再读了算法导论关于这部分的分析,也就解决了最大流入门问题,有了个大概的理解。 大致理解如下:先从原点放一个假设最小流去探测,然后BFS一次后,算出残余网络量是多少,然后再从原点放个流去探测,反复此过程后,直到残
2009-05-19 23:12:00 215
原创 二分优化---无限逼近求解
摘要:通过对一个问题两种解法分析,揭示了二分逼近求解的精妙之处 问题描述如下:给定N( 1 sample: N = 5, C = 3;N个数为: 1,2,8,4,9解的情况为: 1,8,4; 最小值为 3。其他同类情况可以为1,2,9 or 1,2,4 etc,但是其最小值均为1,不是最佳解。 第一种解法:对 N个数进行子集树回溯,然后对每种
2009-04-25 17:36:00 451 1
原创 大数任意进制转换
代码功能仅限在62进制以下概要:主要是模拟手工运算。每一轮把运算得到商移入下一轮的除数,把得到的余数保存在输出的数组里。直到除数剩下一个数且小于要置换的进制数。关键部分:1,把indata的字符数组转换成inda整型数组,再加以计算。2,每一轮求得的商前n位有可能出现0,则要过滤.3,输出进制数,应从后向前输出 相关代码如下: #define MAX 500
2009-02-12 12:16:00 901
转载 位运算之ACM优化运用
文章来源http://hi.baidu.com/zfy0701/blog/item/6bd496894a77aeb60f244422.html#send文章组织:1、基本操作符2、需要注意的问题3、一些小应用4、针对具体题目的应用1> 搜索类2> 字符串类3> 其他类基本操作符与 &或 |异或 ^左右移位 >取反 ~需要注意的问题:1、优先级,这是个非常严重
2009-02-02 22:40:00 523
原创 位运算使用之swap
swap交换两数 void swap( int a, int b){ a = a ^ b; b = a ^ b; a = a ^ b;} a = 500000101b = 600
2009-02-01 16:57:00 336
原创 模式也可以照搬
刚发完一篇心得,就是下面那篇,突然想到这样发表的模式有点像MS,把别人的原创加自己一点感想,然后再化为自己的原创发表出去,嘿嘿,有点意思。好玩。
2009-01-20 17:46:00 188
原创 CRT和windows API
C runtime Library 人人都能用,用了也不会侵权的东西。但是碰到了windows后,整装为API后,再由windows api整装为CRT产品后,导致了以后在windows上开发的产品都属于windows的,当然如果纯粹用CRT,或者其他的开源的库除外。相关资料如下:http://blog.csdn.net/Jiao2_vc/archive/2008/12/03/34
2009-01-20 17:39:00 251
原创 流和键盘的输入输出
和这两个文件的函数用法,前者是从键盘外设缓冲区读取字节流,后者是直接中断从键盘读取。这点区别常常导致在scanf和getchar时候出现意想不到的结果。参考网址:http://blog.chinaunix.net/u1/39867/showart_319880.html
2009-01-18 23:16:00 166
转载 常用字符串转化
转载:http://blog.csdn.net/fcesndgn/archive/2008/04/15/2294041.aspx我们先定义一些常见类型变量借以说明int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="程佩君";char temp[200];char *buf;CString str;_
2008-12-26 00:06:00 140
原创 回溯两种情况的不同写法
两道不同题目:n皇后和PKU 1321关键条件n皇后:一个n*n的棋盘摆n个皇后。PKU 1321: 一个n*n的棋盘摆k(k此两个条件导致递归模式不同。n后问题代码如下:其递归函数:void queen::Back( int t){ if( t > n) sum++; else { for( int i = 1; i {
2008-12-25 20:25:00 574
转载 c_c++内存管理
作者:PingPong 文档来源:CSDN 伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981 程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存
2008-11-28 22:03:00 167
原创 使用gcc,gdb基本编写,调试
windows下使用putty可以远程登录指定服务器进行操作。使用软件:puTTy操作: 键入登录服务器IP ubuntu.unix-center.net这个地址的vi可以正常使用,其他例如教育网的地址则有些漏洞。 ~$cd / /$cd var /var$ cd tmp /var/tmp$ vi test.c { ...
2008-11-19 00:03:00 201
原创 尾部递归与前递归对矩阵遍历影响
递归,博大精深尾部递归:void tail( int i){ tail( i ); cout }前递归void tail( int i){ cout tail(i);}在处理DFS搜索时候,例如PKU的滑雪问题,以及迷宫问题,则是用到前递归,先对当下数据进行处理,完后再往下遍历处理。而对于分治思想以及树的遍历,则采用尾部递归,例如二叉搜索,归并,快排,是深入到最小子结构处理完后再把结
2008-11-11 23:54:00 212
原创 pku 1154 DFS
网络上确实比较少这样水题的代码,但是意义还是颇大。有一篇代码用了BFS,代码比较混乱而且也看不懂,贴一段经过琢磨后,使用DFS解决的代码,在最后贴一段错误代码以比较错误地方,方便理清思路。主要思路是:每次深搜回溯后置走过的字母遍历数减一.int a[26];char b[21][21];int m,n;int DFS(int y,int x){ int q,t; q=0; t=0
2008-10-17 20:37:00 400
转载 c++中的堆栈
----转过来的一篇好文章,对堆栈的描述,起码解决了目前的问题。http://blog.csdn.net/hzb1983/archive/2007/09/27/1803546.aspx在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆
2008-10-11 20:56:00 217
原创 memset 与sizeof()
具体memset用法网络资源有很多,以下介绍个人心得。===================================================================memset 用法(第三个参数为字节数)1,对于字符数组char a[10];memset(a,A,sizeof(a));2,对于整形数组int a[10];memset(a,
2008-10-11 00:26:00 1309
类似onenote的日程提醒
2008-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人