DBMS大作业之一 - B+树

 我这学期的主要精力几乎都放在这上面了,终于把第一个作业做完了,小结一下

与大头的Pair Programming非常愉快,真是一个好的Partner
又一次见证了自己C++、指针、写代码的肤浅之处,原本对编程的自信在这一过程中丧失得体无完肤
不过很幸运,又有新的进步,又有新的提高
不但加深了对数据库理论的理解,提升了自己的编程能力,同时认识到了自己多方面的不足

我追求的目标只是
每天有新的进步,每天都在做有意义的事情
这就足够了

另外,你应该时刻感到满足,因为你拥有很多人不曾拥有的一切
然后,你应该努力向前,向新的目标奋斗

10月25日:
Pair Programming确实是个好东西
1.有助于克服惰性。在你不想写的时候,你会想到你不能让另外一个人失望
2.有助于休息。在累了的时候,可以更换一个人敲代码
3.有助于思考。当你不在编码的时候,它会强迫你思考
4.有助于新想法的产生。讨论不但可以避免一个人编程时容易犯的惯性错误,还可以碰撞出思想的火花,同时让编程变得更有乐趣
5.有助于传播知识和经验。三人行,必有我师焉。可以互相吸收经验,以共同进步。
6.有助于培养团队意识。

好了,不多说了。好东西要适当宣传,但不必过分宣传。
想知道其好处么,试试就知道了。

10月30日:
用STL改写大部分实现
STL真是个好东西,易用且不用太担心出错
于是兴奋不已,狂编不止

11月5日:
内存泄露严重。机器越跑越慢,一看任务管理器,内存只增不减。
我觉得人就是这样,不给你苦头吃吃,你绝不会反省的。
到这时候我才想起来,<Effective C++>的建议是多么有效
或者说,你没体会到其重要性,只不过因为你远没达到那个程度而已

至此痛下决心,能不用指针则不用指针。

11月6日:
由于程序运行缓慢,下定决心改善效率。
以前总以为机器的速度足够快,其实,只是因为你以前写的程序太简单而已
当写一些处理超大数据量的程序时,你就会深感算法和程序效率的重要性了

这次的大作业给了我又一次的反省机会,我很感激
很多时候我们总一厢情愿地认为自己是对的,其实不过是井底之蛙而已,因为你看不到更广阔的天空,所有你的思想肤浅而且固执
所以,我们所要做的,就是尝试跳出自己习惯的这一片天地

11月7日:
为彻底解决内存泄露问题,学习使用_CrtDumpMemoryLeak输出内存泄露
将所有的new操作全部取消,终于解决问题

11月8日:
终于尝到优化的甜头,将查找操作由线性查找改为折半查找,效率立刻提高了100%
深感以前的盲目
不懂优化的程序员不是个好程序员
学习优化可以让你学会很多知识
1.算法和数据结构。这是最好的优化
2.语言的特性。想使程序跑得快,不懂语言的特性是绝对不可能的
3.汇编语言。很多优化都得在汇编层次上进行
4.操作系统、数据库、I/O,计算机组成,计算机系统结构。真正的高手对这些有着全局性的把握,因为,只有了解这些
底层的东西,你才能把事情做得更好
浮云遮避了眼睛,你需要透过它来寻找光明
学习要注意的是,深入,深入,再深入,然后浅出,然后跳出,然后在多个层次上看问题。这是高手的境界。
软件开发也需要如此众多的基础知识,所以,是时候温习那些你以为没用的知识了

11月9日:
尝到苦头后,决定开始标准化
做任何事情都不能容忍破窗户的发生
很多时候,为了一时的懒惰,付出的是长久的代价。而这份代价你在很久后才会体验得到,后悔或许来得及,但很昂贵
虽然我很确切地知道这一点,但同样的错误仍然一再地发生,我在试图纠正,并希望这是个迭代的过程
我发现想要做好一件事情并不难,一是兴趣,二是认真,三,还是认真。

11月10日:
学会使用profile.exe衡量程序开销
并成功发现我们在缓冲管理时有一块很严重的性能问题,就是一个替换队列在插入和删除时占据了程序大部分的运行时间
从而导致缓冲区开大程序运行速度反而降低的情况
经调整,将缓冲管理改为CLOCK算法实现,成功解决该问题
工欲善其事,并先利其器
很多好的工具可以极大地提高我们的效率,可惜很多时候我们并不愿去学习使用它们
下决心要好好学习下Emacs和Latex了

11月12日:
我是爱书之人,对于计算机类的书籍,更有自己的一份执着与热情
每每到图书馆,新发现一本好书,总是心情愉悦然后深感自己的不足,然后定然要借来或买来一阅
项目驱动学习是个很好的方法,我想极限编程的概念或许也可以应用到极限学习方面吧
翻阅的与这次作业有关的书如下:
<C++大学教程>、<C++标准模板库>、<C++编程规范>、<Effective C++>
<C专家编程>
<代码优化-有效使用内存>、<代码大全>
<算法导论>、<算法I-IV C++实现>
<数据库系统实现>、<数据库管理系统>

11月15日:
受大头老板的启发,可以在任务管理器中启用I/O写入和I/O读取以监测I/O的实际使用状况
哈,有时真是可以一语道破天机啊
我一直在思考一个问题,究竟是书还是人可以给你一条更好的学习指导道路。答案可能是,BOTH。
可惜实践验证我们的问题主要是出在内存处理上。

11月23日:
受到<程序员修炼之道的启发>,决定测量一下程序实际的输入和运行时间之比。我认为它不是线性的,否则怎么会运行得如此之慢呢
结果再次让我一方面失望一方面欣喜,这个看起来慢得不行的程序,它的插入操作竟然是呈线性增长的


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值