您的位置:首页 > 其它

2016.06工作日志

2016-06-03 23:37 274 查看
01

自制os,成功用汇编语言在bootsector末尾屏幕打印一首诗。



02

工作中挖了个坑,还是靠别人解决的,本质是python方面经验不足。这种语言、这种IDE真蛋疼,我新建file,后缀为.py同新建python module有什么区别吗?

自制OS稳步前进,今天的重点是总结,画了幅图:





03

工作开始糟糕的体验 -- 白盒测试。加上感冒带来的不适。真他妈的不爽!

回家以后继续自制OS,今天成功进入32位,且导入了C语言。虽然目前启动后屏幕是一片漆黑,但我知道内在已经发生了天翻地覆的变化。

自制操作系统的一个重要的思路:汇编语言最后要转化为机器语言给计算机执行,C语言也要转化为机器语言给计算机执行。所以,只要将C语言编译为机器语言,就能和汇编语言向结合。便可以从汇编向C语言迈进,向32位迈进。但整个过程都要你自己实现……如何将C语言代码转化为能和汇编生成的.bin文件相结合的文件?这是至关重要的一步。也是目前做不到、只能留给未来的课题。到时要实现自己的编译器吗?

04、05

两天,一方面总结之前的,另一方面继续前进。进入32位之后使用vga palette画屏幕。

此时,汇编语言作为C语言辅助,必要时候作为函数给C语言提供功能。

为何能做到这样,因为C语言编译过程中会变成汇编语言。

06

已经可以很好理解保护模式寻址了,画张图总结下:



实现显示字符、字符串功能。

实现显示鼠标箭头功能。

07

领导主动要求我加班,真是日了狗。很他妈的不爽啊。

到家比较晚,今天只是搞了gdt、idt初始化。

现在是自制操作系统加速阶段,要尽快6月搞完,7月开始去学linux,自制os拖太久了。

08

上班继续磨时间。。

然后下班了,端午假期开始了,晚上继续自制os,分割编译完成,算是一次重构。中途link失败,都是些小错,找了一个多小时。

另外,初始化PIC完成。

09

添加中断处理程序。

对STL有了初步概念,还需实践。

开始《算法》一书,浏览了第一章,在学习第二章 -- 排序。里面代码很值得借鉴。

10

开始新征程,解放思想、全面进攻。未来不再作具体计划。

梳理下现在的一些学习方向:

1自制操作系统 (已完成1/3)

2日向blog开发 (这是漫长的工作,尤其前端继续加强)

3算法复习,及实践

4反汇编方式,C++深入学习

5java深入学习,java虚拟机

6linux学习 - linuxshell - linux下C程序设计

用C++写昨天java写的排序代码,纯虚函数、模板、继承、操作符重载。搞了一天。

一个没用过C++的人,忽然心血来潮去搞C++,直接去写纯虚函数、模板类、STL及基于以上的继承的程序 。 是一种什么体验?那种体验就是:如翔在喉!

11

又用python写了一遍排序算法代码,修改了昨天C++程序。总算是真正自己独立实践了C++、python编程。

12

上班依旧白盒测试,偷偷看了几篇关于java反射的博客。回家学习Linux,直接操作,练习了好几个命令。

另外就是帮助小H改了改她的程序。

将算法程序上传git。

13

无聊白盒测试。

在公司自己用ssh远程登陆linux练习下一些linux命令,另外,就是看了些关于C++的博文。C++ template。看了等于没看,因为没写程序。

qq空间看到了一个人关于struct内存补齐问题的疑惑,我看了下,恰好是我比较感兴趣的问题。涉及C语言编译器优化。和cpu寻址相关。就回家做了个小实验验证了下。

14

加班,回家,歇着,疲惫。

15

不加班。学一些java虚拟机,看了几章《C++反汇编与逆向分析》。

觉得反汇编对更好认识编程语言很有帮助,因为即便是被称为程序员三大浪漫之一的编译器,也就是把一种语言翻译成另一种语言的程序罢了。而C、C++(高级语言)向机器语言的必经之路就是汇编语言。从这个角度讲,要想深入体会C、C++的内在,反汇编是条不错的路。与C、C++相对比,要想深入了解java,那就不是反汇编,而是jvm虚拟机!

16

TMD白盒测试……

公司里也没心境学习,随便浏览了些网页,学习了C++友元,看了看java虚拟机原理,等于没看。百度了下“熊猫烧香”,对于其作者这种奇才很是佩服。

回家又翻了翻反汇编的书,学习数组在反汇编的情形……作为参数时的情形很值得注意。然后我又开始去看函数调用过程……看了好久,其实反汇编最难学的竟然就是函数调用全过程。要透彻理解的话。

帮小H导入项目,然后帮她解决,一个包无法import的问题,中文乱码问题留给她自己解决。

今天她开始表达对我的感谢之意,我说我们是合作。确实,就是合作。我真的需要一个人协助我。因为我越来越忙了。如果有她以后能合作,会有帮助。所以当然需要快速培养她。只要别成才了忘恩负义就好。对此我想,合作可以不只这个日向blog,之后可以继续。

另外,在辅导她的过程我也可以复习javaweb技术,这是毋庸置疑的。

随着我技术水平快速成长,自己又长期混迹于网络,以后怎么对待后辈也是个问题(注意,我说的是以后),我的想法是:除去工作中,或是一些特别的合作的情况,绝对不去把技术传授给某些后辈。

以后的态度就是:别和菜鸟打交道。也许人家狂的黑文根本不领情,也许学了你的技术忘恩负义。

17

上班时间翻翻自己博客对工作第一年做了小小总结。下午得知明天加班,有点郁闷,虽然据说有加班费。

晚上回家随便看看,兴致不高,搞搞日向blog吧。就学学前端。现在有了新的想法。关于java web的学习。我知道,web技术是层出不穷的。各种框架不断涌现。

与其去追赶时髦,不如去打好基础。前端的基础就三个,HTML\CSS\JAVASCRIPT。用这三者加上,springmvc+hibernate足够搞出我的博客。通过细致实现博客功能,就足够锻炼出我所需的web技术。根本不需要浪费时间去学习各种时髦的框架、模板。

18

周六,然而加班。一天在配置一个web项目环境,搞得灰头土脸。很多东西都有自己配置方式,这我tmd怎么知道。说明文档写的还含含糊糊的。

到晚上七点多才下班,这一天收获是啥,也就是熟悉了些eclipse下tomcat配置。还有公司项目那些奇葩配置。

到家吃完饭就快九点了,花点时间画幅画,反汇编解析C++函数调用过程。



19

今天的是比较轻松的氛围在工作,因为这周还是比较辛苦。需要放松。

日向blog添加了登录自动跳转个人主页功能。个人空间文章列表,点击文章标题跳转到文章页面。

继续反汇编研究C++,研究了数组作为参数和对象作为参数的情况。对象的拷贝构造函数引起了我的注意。这是一个难点。

玩了一会linux,初步接触shell变量和shell scrpt。

从下周开始重点再次回归自制os。

20

工作依然无聊。

今天重要进展是开始了linux shell script。发现其实是一种弱类型编程语言。正则表达式要好好学学,grep。

另外就是看了一篇关于css浮动的博文。

21、22

工作中结识了不错朋友mpw,zjdx高才生,不错的小伙,向他学习。

开始进军java高级机制,反射,泛型,多线程。

另外,我是时候进化了,需要更艰苦的修炼。

23

理解多线程概念,配合jdk源代码,自己写程序实验。继承Thread方式与实现Runnable方式创建线程对比。Callable接口。Thread类提供的控制线程方式(join、yield、sleep、守护线程、线程优先级)。notify与wait方法(Object的)的线程通信方式。synchronized线程同步。

24

天下武功出少林,用二进制视角来看看java编译出的.class文件。java以CAFE BABE作为魔数还是挺可爱的。

25

周六加班,我要fuck整个公司。今天继续学习java虚拟机,晚上两个小时,就已经收获颇多。现在学习速度越来越快了。

26

休息一天真不容易,休息为主吧,当然也要学习,今天学了5个小时。

java虚拟机学习告一段落,对java语言理解深入不少,功力大增。下午想继续学学多线程,结果发现有点麻烦,暂且放下吧。

晚上继续自制os,总结了中断原理。

27

虽然在公司最近天天没事干,就那么点弱智测试任务,一天干完了,之后干什么??然而没事干也得加班。

到家已经22点了,还能学什么?

在公司也有看博客学习,学了些java线程池的概念,还有Lock同步机制。

28

sb公司干了一天低级码农的活,还加班,到了家就只想歇着。那就歇着吧。fuck。

29

公司无聊,抽空看了大概一小时书,java垃圾回收机制。

回家继续自制操作系统,为中断加入FIFO队列。属于一种优化。效果明显。

另外,就是继续整理博客。csdn、博客园。两个博客麻烦多了,呵呵。

30

忽然发现已是六月最后一天了,今天在公司依旧是无聊的“体力活”。无聊,抽空看了关于servlet和tomcat的博客。在汇编探索C++、虚拟机探索java、自制操作系统探索os后。要去探索网络了!!

上班时当然没有老老实实一直干活,我关注了百灵杯的棋赛。柯洁轻取孟主播,但最关键的唐韦星输给了朴廷桓。可惜!

另外值得一提的是今天台球战胜了马培文!!最后两球一杆清,完美复仇。现在我不仅会控制角度,还会控制力度了。

晚上继续自制os,鼠标已经可以动起来了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: