随笔分类 -  技术人生

读书笔记三
摘要:《编程珠玑》第三章问题一:请将一个具有n个元素的一维向量x向左旋转i个位置。例如,假设n=8,i=3,那么向量abcdefgh旋转之后得到向量defghabc。简单编码,使用一个具有n个元素的中间向量,分n步即可完成功能。你可以仅用几十字节的微小内存,花费与n成比例的时间来旋转向量么?方案一:实现一个函数,用来将向量向左旋转1个位置。循环调用此函数i次即可。本方案节省空间(只需要一个元素的额外存储... 阅读全文
posted @ 2010-05-20 08:29 香依香偎孤旅独行的驿站 阅读(465) 评论(0) 推荐(1)
读书笔记二
摘要:《编程珠玑》第二章问题一:给定一个包含40亿个32位整数的文件,整数排列次序随机。请查找一个此文件中不存在的32位整数。解答:32位整数共有0xFFFFFFFF个。如果用一个bit标示一个整数,一共需要约537MB内存。如果内存足够,就构建一个这样大的位图,就可以很快找到的不存在的整数了。问题二:问题一中,如果内存限制为100MB,如何实现?解答:可以采用之前提过的多通道算法,对文件读取六次,每次... 阅读全文
posted @ 2010-04-16 01:48 香依香偎孤旅独行的驿站 阅读(510) 评论(1) 推荐(1)
读书笔记一
摘要:《编程珠玑》第一章问题一:一个文件包含了10,000,000个记录,每个记录的内容是7位的整数。记录不会重复。需要一个程序来读取文件内容,需要将这些记录排序后输出文件,内存限制1M左右。解答:由于记录不会重复,因此每个记录用一个bit标示,就可以很简单的完成记录的标记和排序。这样需要大约1.25M的内存,时间和空间都不大。问题二:问题一中,如果严格限定不能超过1M的内存呢?解答:多通道进行,以时间... 阅读全文
posted @ 2010-04-14 00:50 香依香偎孤旅独行的驿站 阅读(832) 评论(0) 推荐(1)
计算机加法
摘要:数学中最简单的运算就是加法和减法。然而在计算机中,最简单的运算却是 AND、OR 和 NOT。那计算机是如何计算这三个基本操作,通过这三个基本操作又是如何计算出数学中的加法呢? 阅读全文
posted @ 2010-02-15 21:48 香依香偎孤旅独行的驿站 阅读(3125) 评论(0) 推荐(0)
简繁体转换
摘要:在页面上自动进行简体和繁体转换的代码 阅读全文
posted @ 2010-02-07 16:25 香依香偎孤旅独行的驿站 阅读(3899) 评论(0) 推荐(0)
质数筛选器
摘要:质数筛选器 阅读全文
posted @ 2009-06-18 00:23 香依香偎孤旅独行的驿站 阅读(307) 评论(0) 推荐(0)
其言也善哉
摘要:原文:jaybaz [MS] WebLog: Parting words for dear friends 在临走之前,我乐于表达一些对于M$的软件开发的建议。 清晰的代码价值连城 M$的许多开发人员还没有明白,努力写出清晰易读的代码能带来多么巨大的价值。我曾经看到某个家伙在一个600行的函数中间又签入了200行代码。我觉得那个函数原本已经超长597行了!完全可以用Extract Method把代... 阅读全文
posted @ 2007-12-02 17:21 香依香偎孤旅独行的驿站 阅读(544) 评论(2) 推荐(0)
合理或违规
摘要:从一些经典代码中常常看到宏中使用do...while(0)的用法,感觉上do...while(0)只是在有可能要中途跳出后续一段代码的时候替换goto的一种用法,其他的就不求甚解了。 今天总算看到了wiki上对do...while(0)的解释,算是解了心中的一个疑惑。 一种情况是,这种用法可以避免在if/for下使用宏时,由于宏中的多个语句遗漏大括号而造成流程错误。就像下面这一段代码,可算是个明显... 阅读全文
posted @ 2007-01-18 00:37 香依香偎孤旅独行的驿站 阅读(339) 评论(1) 推荐(0)
阿贾克斯踵
摘要:AJAX 是一个很优秀的技术,不过也会产生些小问题。虽然可以通过 JavaScript 避免客户端页面刷新,可是客户端与服务器之间的交互时间总是不可省略的。这段时间的处理似乎就是个问题。 M$ 的作法是什么都不做。于是,在 MSN SPACES 上发表评论时,常常会导致页面“假死”,甚至会导致多页面浏览器完全“假死”,实在让人无奈。 Google 显然高明一些,至少可以不受任何影... 阅读全文
posted @ 2005-11-27 02:01 香依香偎孤旅独行的驿站 阅读(510) 评论(1) 推荐(0)
界面和细节
摘要:给个关于 C# 的属性的例子。在 JAVA 里,大致是这样的。 public class Person{ private String _name; public void setName ( String name ) { _name = name.Upper(); } public String getName ( ) { ret... 阅读全文
posted @ 2005-10-07 17:28 香依香偎孤旅独行的驿站 阅读(534) 评论(4) 推荐(0)
抢先看一眼
摘要:偶然的看到 Knuth 已经发布了 The Art Of Computer Programming 的第四卷 Beta 测试版的部分章节:)赶紧下载,抢先看一眼,顺便祝愿 Knuth 早日完成这篇鸿篇巨制:) Pre-Fascicle 0b: Boolean basics (version of 20 September 2005) Pre-Fascicle 4a: Generating all... 阅读全文
posted @ 2005-10-03 21:49 香依香偎孤旅独行的驿站 阅读(380) 评论(0) 推荐(0)
十二项测试
摘要:1、使用源控制机制么 2、能一步完成连编么 3、每天都作连编么 4、有故障信息数据库么 5、在编写新代码之前修复故障么 6、有最新的进度表么 7、有规格说明书么 8、程序员拥有安静的工作环境么 9、你用到了你资金能力内可买到的最好工具么 10、有测试人员么 11、新聘人员在试用期写代码么 12、进行走廊可用性测试么 这是 Joel 在 2000 年提出的一套测试的内容,来评估一个软件团队... 阅读全文
posted @ 2005-10-03 00:07 香依香偎孤旅独行的驿站 阅读(430) 评论(3) 推荐(0)
OO狂想曲
摘要:一、编程的任务 编程只是分配做以下三件事:1)描述要计算什么;2)将计算序列分解成小的步骤;3)计算时管好内存分配。 也许,如何分配这三件事的工作,也是低级语言与高级语言的一点差别所在吧。毫无疑问,1)是所要解决的主要任务,属于“问题域”的核心问题;而2)、3)只是类似“行政工作”的辅助任务而已,只是“实现域”中琐碎的具体手段。理想状态下,我们只需把注意力集中在1)上面,而不用为2... 阅读全文
posted @ 2005-10-02 05:26 香依香偎孤旅独行的驿站 阅读(432) 评论(1) 推荐(0)
写一封回信
摘要:专业和职业之间其实没什么联系,我的同学们中,学软件的有去做市场的,学日语的有去作软件的,学医学的有去做管理的,主要在个人的兴趣、态度和发展的机遇吧。喜欢,就去做,不要被别人的选择束缚了~~技术无所谓新旧,汇编也有用武之地,PB这样的古董也没有被扔进故纸堆。JAVA发展到5.0了,可IBM刚刚发布的 Notes 还是用 jdk 1.3 开发的,你可以说IBM落后么?任何技术都是可以互相融合的,经过历... 阅读全文
posted @ 2005-08-27 21:15 香依香偎孤旅独行的驿站 阅读(634) 评论(3) 推荐(0)
接受再教育
摘要:这是一篇转载自 Dearbook 的书评,关于语言间互相借鉴方面的认识颇有新意:) 《接受程序设计语言的再教育--王咏刚》 阅读全文
posted @ 2005-08-21 18:40 香依香偎孤旅独行的驿站 阅读(572) 评论(3) 推荐(0)
对象和指针
摘要:没什么可以多说的,看程序啦~~ #include #include using std::cout;using std::endl;class CObject;typedef const CObject * LPCO;class CObject{private: int length; int width; int lefttop_xpoint; int lefttop_... 阅读全文
posted @ 2005-06-30 22:05 香依香偎孤旅独行的驿站 阅读(791) 评论(2) 推荐(0)
##的用法
摘要:今天拜读前辈的代码,看到了一种奇怪的用法:##。以为是C99的新标准,再翻查经典的 K&R,才发现原来早已是C语言的规范用法了。居然到今天才知道,真失败-_-!##是一种预处理运算符,用在宏定义中,在宏解析时将实际的参数进行连接。简单的例子就是 #define cat(a,b) a ## b现在,在代码中使用 cat(t1,t2) 的效果就是 t1t2,连接起来作为了一个整体。##的一个很大的特... 阅读全文
posted @ 2005-06-12 05:49 香依香偎孤旅独行的驿站 阅读(5804) 评论(3) 推荐(0)
OO的困惑
摘要:关于程序,曾经有两个著名的公式: 程序=数据结构+算法; 程序=(数据结构+算法); 前者的代表是面向过程的编程方式,后者的代表,我想应该是OO了吧。OO的基本特点——封装,将数据与对于数据的操作放置一起:隐藏数据、公开操作,达到以更贴近真实世界模型的方式,实现以基于操作对象(其实只是调用对象的公有接口)的方式开发复杂的应用。看到软件开发过程的变迁:面向过程的开发方式下,瀑布... 阅读全文
posted @ 2005-05-28 01:01 香依香偎孤旅独行的驿站 阅读(1150) 评论(3) 推荐(0)
胡思乱想篇
摘要:1、关于硬件的网络传递 为什么我们可以通过网络传递软件、却不能通过网络传递硬件?实际生活中,我们通过快递、EMS、邮局,把一份现实的物品进行传递,实质是物品本身的转移。而对于Internet上软件的传递,只是0、1字节的传递,传递到另一方之后,另一方会将收到的0、1字节组合起来,得到同发送方同样的文件。与此同时,发送方的文件并不会消失或转移。为什么会如此? 原因在于,Internet上... 阅读全文
posted @ 2004-09-26 22:14 香依香偎孤旅独行的驿站 阅读(701) 评论(0) 推荐(0)
扩展表使用
摘要:这篇本来应该是给xiang和kaka的回复,不过回复的小框框实在是太小了,呵呵,就发到这里,当作《扩展表设计》的续篇吧。假设一个M系统,系统中有许多模块都需要用到扩展数据。首先,我们把每个需要使用扩展数据模块的代号存在扩展表的主表中: OID INF_CODE INF_URL INF_STATUS INF_DES... 阅读全文
posted @ 2004-09-16 23:33 香依香偎孤旅独行的驿站 阅读(1670) 评论(7) 推荐(0)