读万卷书,写万行代码。我的意思不是说理论知识无用,更不是说“读书顶个鸟用”。对于读书无用论我认为是!TRUE.正如古人云,读万卷书行千里路。不过技术的东西靠实践,知易行难。

在我大一的时候,我老以为看了几本书我就能上天入地,咋地咋地……最后我发现一切都是浮云。回想大一的自己是多么的愚蠢,大一的时候我最喜欢的书是缓冲区溢出了。在河滨常常跑到本部去借书,我记得《黑客防线》有一本书专门讲得是缓冲区溢出,我时常翻翻看看,大一还没有电脑更不用说敲代码了,当时还不知道安装VC++6.0.糊里糊涂第二学来的了。开学一个月拿着兼职的钱和爸妈给的钱刚好3000元,组装了一台电脑2900+。心痛的很啊!那时我运行第一个DOS命令,format D:,不过那是为了学习《C语言程序设计》而买,不是为了学习DOS命令,这是我高中看书记下的一个命令。从此按着书上的教程敲出了我人生的第一个程序:
#include<stdio.h>
void main()
{
int a,b,c;
scanf(“%d %d”,&a,&b);
c=a+b;
printf(“%d\n”,c);
}
编译运行成功,想想当初自己是那么的开心啊!这就是学习的乐趣所在。当然那本《黑客防线》也是经常借来看的,只是感觉自己都懂得了那些溢出的原理,也就没有再多去理会那些代码了。平时,除了《黑客防线》,必不可少的就是关于网站入侵的书籍。当初很想去拿人家的网站,后面发现了Dos攻击,分布式拒绝服务攻击。这些原理弄得明明白白,至于代码一个没敲。只有那个c语言课程设计自己敲完整了。

转眼进入大二,我和班里的同学一起参加了学校的ACM培训,当初我的基础最差。在那些培训的日子里,c++入门,我学会算法分析,在无翻译的情况下看题目……渐渐的发现自己的代码越来越简洁,英语阅读能力也提升了,对每个程序我都会在思考这可以优化吗?还可以在优化吗?在ACM里我也学会了沉思,注重细节。最令人难以忘记的就是敲各种排序,逻辑处理数据,大数运算,递归,约瑟夫环,八皇后,背包问题,迷宫算法,朴素算法和KMP……也把《计算机程序设计的艺术》那三本书看过一遍了,三卷中文名为《基本算法》、《半数值算法》及《排序与查找》,印象最深刻的是中国余数定理和拉格朗日算法,还有就是《C语言算法速查手册》,不过最遗憾的就是大多数的算法都忘记了。硬盘在家里被我不小心刷坏了,脑子里只记得一些优化程序的基本方法和使用逻辑运算快速处理数学问题,我说的快不是快速计算,而是通过简单的逻辑运算用最简单的方法得出结果。在ACM校队里,我认为我看的书比谁都多,敲的代码却比谁的少,这就种下了恶果。大二这一年,我参加ACM的比赛,但是没有获得好的名次,也成了我心中的一个遗憾吧!但是我的收获远远超过名次的价值。在这里最想感谢的就属谢老师。

大二暑假,我做了一件从我高三那年开始计划的事情,考上本科,再兼职两年,挣够骑车进藏的所有费用。大二暑假如期而至,我也带着自己的梦想出发,一路上重新审视自己的人生,思考自己的未来。收获最大的莫过于此——有些事情现在不做,可能这辈子都不会去做了。学习也是这样,乘着我们还在学校,就多学点自己想学的事情,去做自己该做的事情。关于骑车的事情,我将每天的骑行写在本子里,这是我记在心里的故事,是自己给自己的礼物。

很快大三也来到了。我在办公室里当助理,负责“三金”,也负责一个网站的管理。网站管理是我自己在课余时间学习的,也是边做边学的。至于三金嘛!我就不想多说了。每天加班到晚上11点,我回到宿舍后还得敲代码敲到凌晨3、4点,然后早早的起床去课堂上睡觉。后面的位置我常常光顾,但是后面那个位置也常常是空的,在课堂上睡足了中午继续敲代码。印象最深刻的就是在没有百度和Google的情况下,拿着一份数值分析的实验报告指导书和一本《C语言算法速查手册》DIY敲完了所有题目。

大三第一学期我感觉很缓慢。我买了一本《0day:软件漏洞分析技术》。做完课程设计之后,每天早睡早起(早上3、4点睡觉,早上7、8点起床),按着这本书上的代码一行一行的敲,一步一步的分析。每天都做笔记,书上用铅笔写了许多笔记。从此学会0D的使用和IDA的使用,还了解PE文件的结构。在那个溢出漏洞的演示程序中,我自己脱离的书本找到了溢出点,成功绕过了密码验证,但是不能正常退出,后来根据书本上的知识学习了一些汇编和机器码的使用,又成功的安全退出。我敢说,在敲完这个程序之后我比我大一大二更加清楚的了解缓冲区溢出是怎么回事。后来认识了zzyDog师兄,我遇到一些问题总是问他,后来他说我,急于求成,不应该直接去学漏洞,而先要去学习Win32 SDK编程,有基础了在学习。他给我的建议是这样的“先学习Win32 SDK编程,然后就是重点培养自己的逆向调试能力,OD,IDA,windbg这三个反编译工具要熟悉,最后驱动就肯定要学的了,内核技术Rootkit,驱动过滤……”

大三总是那么的有热情。一边学习编程,一边学习网络攻防。这里就少不了CGL师兄了。在他的指导下,加之我之前网站攻防基础,我的技术突飞猛进。除了日本和韩国的网站做过手脚外,国内的网站就打个电话告诉一声就放弃了,做人要厚道。在CGL师兄的指导下学会了使用一些强悍的工具,也学会了简单的手动注入方法。以前看见手动注入的代码就眼困,而现在就不会了,都会按书上的步骤去练习。可是在信心十足的情况下参加网络攻防大赛,我一败涂地的回来了……学艺不精啊!在我敲下这篇文章的前些天,CGL师兄发给我的一个PHP网站,我简单测试一下,然后就……勿作恶!
待续……

读万卷书,写万行代码相关推荐

  1. 雷军以前招人标准曝光,写 10 万行代码的直接来 | 极客视频

    出品 | CSDN(ID:CSDNnews) 雷军以前都是这么招人的:写过10万行代码的来 每年春节过后都是就业小高潮,全球数字化进程加快,头条每年花费数亿招揽人才各大公司的技术人员比例持续上升,编程 ...

  2. 华为java一个月写多少行代码_[财经]阿里员工吐槽华为:面试官1万行代码都没写过? - 南方财富网...

    5月7日,有疑似阿里员工在社交网络上爆料称,打算跳槽华为,但是去面试后,真的是太失望,因为面试官真的是太水了. 从这位网友晒出的帖子看,一名阿里的员工面试华为云后端开发的岗位,但过程并不顺利,因为面试 ...

  3. 20年,1人写出70万行代码!沙盒游戏「鼻祖」13年靠玩家捐赠维生

    本文转载自 新智元 一款游戏,让一位玩家皈依佛教. 这位玩家曾寄信开发者,因其开发的游戏理解了「众生皆苦,世事无常」. 究竟是什么游戏还能让人看破红尘? Dwarf Fortress (矮人堡垒)! ...

  4. 写了100万行代码的程序员?

    今天在社群上闲逛,突然发现一个十分有趣的帖子,<写了100W行的代码是啥感觉?>看完之后就头皮一阵发麻,让我写一万行的代码?!are you kidding me? 我估计写到20万的时候 ...

  5. 程序员写100万行代码是什么感觉

    今天在社群上闲逛,突然发现一个十分有趣的帖子,<写了100W行的代码是啥感觉?> 看完之后就头皮一阵发麻,让我写一万行的代码?!are you kidding me?(黑人问号脸)我估计写 ...

  6. java程序员可以只用windos吗_程序员要写多少代码 才能开发一个window操作系统

    开发一个window操作系统需要程序员写多少行代码呢? 微软的Windows系统是伴随我们已久的老朋友了,大多数人都是一代一代Windows的用上来,老用户几乎都形成一个共识,就是微软的系统有一代会很 ...

  7. 如何将三万行代码从Flow移植到TypeScript?

    作者 | David Gomes 译者 | 弯月 责编 | 郭芮 来源 |  CSDN(ID:CSDNnews) [编者按]在内存安全中,类型安全是很重要的一个命题.为了确保JavaScript项目运 ...

  8. 哈哈哈,这个教人写烂代码的项目在 GitHub 上火了...

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 如果说到什么是好代码,我们肯定都能说出一堆规则,例如使用一致的格式 ...

  9. 史上最烂的项目:苦撑 12 年,600 多万行代码!

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来源:http://tinyurl.com/y55d23p4 转自:程序IT圈 这项目 ...

最新文章

  1. 小米半年来最大调整:成立技术委员会,雷军称技术事关生死存亡
  2. OpenCV delaunay三角剖分和voronoi镶嵌的实例(附完整代码)
  3. 浅谈 JSON.stringify 方法
  4. 如何测得存储空间大小
  5. 推荐系统的封闭和禁锢问题
  6. 【MobX】390- MobX 入门教程(上)
  7. js获取cookie获取不到问题 vue获取cookie以及获取不到问题
  8. [Leedcode][JAVA][第46题][全排列][回溯算法]
  9. MySQL高级理论-MVCC提交查询相关(版本链)
  10. (11)VHDL例化system Verilog
  11. 【安全】基于角色的访问控制
  12. 数据驱动测试之——CSV+TestNG
  13. linux下使用John检测用户是否存在弱口令
  14. python如何导入类里_Python导入模块中的所有类(98)
  15. BZOJ-4008: [HNOI2015]亚瑟王 (概率期望DP)
  16. 7 个有趣的 Python 实战项目,超级适合练手
  17. 36个顶级数据分析方法与模型,学会任意1种,都能让你超越95%的人
  18. Veeam Backup 9.5 恢复VMware虚拟机
  19. 编码格式检测(中文乱码问题)
  20. CSO246未能找到类型或命名空间名“System“(是否缺少using指令或程序集引用?)

热门文章

  1. HP-UX 11.31 安装RAC 添加共享磁盘的问题
  2. SONY ICX618AL/AQ 电路升级改造----第一章:初步方案确定
  3. 小白终是踏上了这条不归路----小文的mysql学习笔记(22)--------函数
  4. 鼠标掠过显示图片的demo
  5. Ultra Librarian导入封装到AD20
  6. mysql巡检脚本_mysql 服务器巡检脚本
  7. 7.博客系统| 评论功能(文章评论,评论的评论)
  8. 旋转向量与旋转矩阵的相互转化
  9. 在Unity中使用FFmpeg将视频绿色背景处理为透明背景
  10. 实战:吃货联盟和幸运大转盘