自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

原创 python模块热更新

下面代码摘自web.py框架 selfimport sysimport osclass Reloader: if sys.platform.startswith('java'): SUFFIX = '$py.class' else: SUFFIX = '.pyc' def __init__(self)...

2013-12-11 22:27:15 322

原创 python获取当前模块的名称

摘自web.py框架代码#!/usr/bin/env pythonimport sysimport osdef get_module(): def main_module_name(): mod = sys.modules['__main__'] file = getattr(mod, '__file__', None)...

2013-12-11 16:49:11 1884

原创 python之yield用法

简单记录一下yield的用法,不说一堆的文字废话,直接从代码入手,下面的代码是摘自web.py框架中的代码  def group(seq, size): """ Returns an iterator over a series of lists of length size from iterable. >...

2013-12-10 23:15:32 420

原创 于渊-动手写操作系统5

下面进行分页机制的实现,这里我们先来说说为什么要进行分页?我们看到分段机制已经提供了很好的保护机制,那为什么还要加上分页管理机制呢?其实它的主要目的在于实现虚拟存储器,线性地址中任意一个页都能映射到物理地址中的任何一个页,这无疑使得内存管理变得相当的灵活。逻辑地址------采用分段机制-------线性地址-------采用分页机制---------物理地址从上面看出如果有开启分页机...

2013-08-14 22:49:43 142

原创 于渊-动手写操作系统4

操作系统版本五学习内容:现在我们开始从实模式到保护模式的跳跃了。下面我们先来说说什么是保护模式。之前我们的实模式的寄存器只有16位,那么它的寻址范围就是 段地址(16位)*16+偏移地址(16位),所以它的寻址能力是非常有限的,那么假如切换到保护模式去的话CPU就有巨大的寻址能力,那么有人就会问Intel为什么不设计32位的段寄存器呢,那是Intel想向下兼容以前那些采用16位寄存器设...

2013-08-14 17:06:58 169

原创 于渊-动手写操作系统3

我们之前已经通过boot.asm成功的把loader.bin加载内存0900h:0100处了,那么我们现在就要来写真正的loader.asm了。loader.asm完成一下三件事:第一件事与boot.asm一样,通过遍历根目录区条目找到我们后面自己写的操作系统内核,即我们的kernel第二件事就是从实模式切换到保护模式第三件事就是启动分页机制第四件事就是把我们的kernel...

2013-08-14 15:29:21 135

原创 于渊-动手写操作系统2

既然我们能够通过根目录条目找到DIR_FstClus了,这个字段告诉了我们文件开始的簇号,它告诉我们文件存放在磁盘的什么位置,从而让我们可以找到它。其实准确来说,这里应该是它告诉了我们文件存放在磁盘数据区的什么位置。需要注意的是,数据区的第一个簇的簇号是2,而不是0或者1.也就是说,如果我们在根目录条目中发现了一个文件,该文件的开始簇号是2,那么就是说,该文件的数据开始于数据区的第一个簇。...

2013-08-14 12:34:41 115

原创 于渊-动手写操作系统1

总感觉小日本的书有点敷衍的感觉,很多重要的知识点的没有讲,后面发现国内也有一本不错的操作系统书,于渊写的,还不错,理论知识讲解的也很周到。所以下面打算先看于渊的书先。好了,先贴代码,加注释分析;%define _BOOT_DEBUG_ ; 做 Boot Sector 时一定将此行注释掉!将此行打开后用 nasm Boot.asm -o Boot.com 做成一个.COM文件易于调试...

2013-08-13 22:17:37 199

原创 从你的u盘启动:30天自制操作系统第四天u盘启动学习笔记

文章转载自 http://blog.csdn.net/h397916230/article/details/9732425暑假学习小日本的那本书:30天自制操作系统更多学习中的问题、资料,群里分享developing environment:ubuntu 关于u盘启动自己做的操作系统的原因:       我想大部分分的学习者和写Os的人都有这样的想法,为什么现在大部分的...

2013-08-04 09:22:05 181

原创 gas汇编改写

现在,我们来看看在linux平台上面怎么对之前实现的功能进行改写了。当然这里先说启动区加载程序跟在win下面是一样的代码的,不同的就是C调用汇编程序代码和汇编调用C代码这里不同。以及剩下的就是一些makefile文件的不同。我们重点放在C于汇编之间的调用,当然我们这里先不讲汇编是怎么调用C的,因为这一部分我也暂时还没看,我就先用米油给的一个entry.S来直接使用了,后面才对这一部分进行分析...

2013-08-01 22:15:16 219

原创 画面显示

今天尝试将操作系统的开发移到linux平台过来,因为感觉在win下面做的很不爽。参与了米油的一些代码,总算成功了。那么下面开始今天的内容。1,用C语言实现内存写入往naskfunc.nas里添加的一个新的函数 _write_mem8: ;void write_mem8(int addr,int data); MOV ECX, [ESP+4] ;[ESP + 4]中存放的是地...

2013-08-01 21:45:53 123

原创 启动程序装载器

下面开始我们新的一章的学习了。在这章开头,我先要吐槽一下这本书,我觉得这本在第三章,也就是第三天这里,感觉有些地方作者讲的很含糊,有的地方需要深入的讲解却没有,但是有很多所谓的“风趣”的话,但是我倒不觉得有多风趣,纯属吐槽。好了下面开始进入正文,在进入正文之前先讲解几个重要的概念启动区:(boot sector)软盘第一个的扇区成为启动区,就是0面0道1扇区。那么什么是扇区呢?计算...

2013-07-31 14:54:51 232

原创 第一个hello world例子

上代码先:; hello-os; TAB=4 ORG 0x7c00 JMP entry DB 0x90 DB "HELLOIPL" DW 512 DB 1 DW 1 DB 2 DW 224 DW 2880 DB 0xf0 ...

2013-07-28 21:50:35 331

原创 X86分段机制

内存分段机制有很多好处,不仅方便程序的重定位以及方便内存管理等等的好处,我们就从内存的重定位来分析分段机制的作用。指令和指令集:简单地说,处理器的设计者用某些数来指示处理器所进行的操作,这成为指令,或者叫机器指令,因为只有处理器才认得他们。比如,指令F4H表示让处理器停机,当处理器取到并执行这条指令后,就停止工作。指令是集中存放在内存里的,一条接着一条,处理器的工作是自动按顺序取出并加...

2013-07-28 18:05:30 196

原创 用虚拟机软盘启动自己的磁盘镜像文件

经过一个月的挣扎,我决定还是静下心的来学习汇编和操作系统,然后进一步的巩固自己的底层知识。虽然这一块的工作确实不太好找,所以近期的任务就是读<<自制操作系统一书>>,另外就是继续完善自己的C服务器。所以以后的内容会围绕<<30天自制操作系统>>一书和<<x86汇编-从实模式到保护模式>>一书来记录。当然这里只是记录自己...

2013-07-28 14:25:01 850

原创 erlang异步接收不到数据的问题

主要是利用rabbitmq的东西,贴出服务端代码listen代码gen_tcp:listen(Port, SocketOpts)SocketOpts = [ binary, {packet, 0}, %%{packet, 0}表示erlang系统会吧TCP数据原封不动地直接传送给应用程序 ...

2013-06-09 21:22:27 449

原创 erlang digraph模块

digraph模块是对图结构的一种封装,主要的description请参考http://www.erlang.org/doc/man/digraph.html下面来看看digraph的一些方法:图结构无非就是由一些节点和边组成的,在digraph中有个Label的东西,这个其实就是图节点的附加信息,类似在C语言中在一个节点中放个指针,指向一些附加的信息。那么要创建图,就必须要先创建...

2013-05-08 16:19:47 381

原创 The Erlang Parser之erl_parse

这篇续前一篇,来介绍erl_parse这个重头模块。先看看这个模块的三个重头方法:parse_form(Tokens) -> {ok, AbsForm} | {error, ErrorInfo}Types:Tokens = [token()]AbsForm = abstract_form()ErrorInfo = error_info()This fu...

2013-05-05 20:19:51 374

原创 扫描器erl_scan

Erlang提供的基本扫描器是erl_scan,里面提供了两个重头函数string(String) -> Returnstring(String, StartLocation) -> Returnstring(String, StartLocation, Options) -> ReturnTypes:String = string()Opti...

2013-05-05 19:34:12 306

原创 erlang热更新疑问

 先给出代码先-module(demo1).  -compile(export_all).  start() ->      spawn(?MODULE, loop, []). switch(Pid) ->      Pid ! code_switch.  compile(Pid) ->      compile:file(?MODULE),...

2013-03-15 15:11:11 148

原创 erlang进程总结

 代码一:-module(exit_demo). -export([start_a/0,start_b/1,af1/1]). start_a()-> spawn(fun af/0). af()-> io:format("process a created."), %%process_flag(trap_...

2012-10-09 20:17:10 126

原创 ubuntu find命令

师兄面试金山的一道面试题,记录一下,就是要在某个指定的目录下找某个指定的文件,并把它输出。find . -type f -exec grep demo1 -il {} \;.代表当前目录   这里可以指定你要查找的路径;type -f 指定查找的类型是文件类型grep demo1  匹配demo1该字符串-i或--ignore-case   ...

2012-08-12 16:53:23 154

原创 ubuntu进程管理

ubuntu结束进程方法 1、打开终端 2、敲 ps -ef 查出进程的编号(就是PID那列) 3、敲 kill PID (如果PID是123456,则kill 123456) 4、OK了显然这也不是最好的办法,因为ps -ef出来的是一大串的信息,很难找到我们的信息,这时可以使用gerp来进行匹配。所以命令如下:ps -ef | gerp 关键字譬...

2012-08-11 10:06:31 107

原创 erlang列表处理

今天在看erlang并发编程一书,收益良多,看了第一遍的erlang程序设计,大概也就是泛泛的看了一遍,现在看第二遍,发现收获到更多的东西。把今天看到的erlang并发编程一书中的精华整理一下。尽管一个典型的程序往往会使用很多不同的函数来操作列表,但大多数列表处理函数都是由少数几种模式演变而来。大部分列表处理函数无非就是在干着这些事情:1:    在一个列表中寻找一个元素,并在找到时做些事...

2012-08-09 09:01:22 423

原创 erlang模式匹配小记录

初学erlang,这里对erlang的模式匹配进行记录一下,当然下面是我从各个不同的网站摘取的一些值得注意的地方,主要方便自己以后的查阅。下面总结了几点需要注意的地方:1:模式匹配为变量赋值提供了基本的机制。被赋值后,变量便被绑定——否则便是未绑定变量。给变量赋值的动作称作“绑定”。变量一旦被绑定便不可更改。这种变量属性被称为一次性绑定或单次赋值。这种属性与传统命令式语言的破坏性赋值[2]相反...

2012-08-08 15:42:43 195

原创 emacs中文输入问题

刚才在emacs下怎么也输不如中文,之前是可以的,我估计是ibus的启动的问题。但是用emacs -nw在控制台打开却可以输入中文,哎,不知为什么,于是上网搜,说的最多的就是说ibus的激活快捷键与emacs的Mark冲突,于是我试了试,结果不行,说明原因不在这。后来搜到一篇解决我问题的文章,所以就把解决方法记录一下,以免以后需要。还是对ibus进行操作。killall ibus-daem...

2012-08-08 14:56:59 129

原创 emacs下erlang编辑的快捷键

最近在苦学erlang,于是就配置了在emacs的erlang开发环境,感觉还不错,比win下爽多了,这里就记载一下快捷键。方便以后的使用。现在基本是在emacs的一个buffer中放平常经常使用的快捷键,方便查看。常用快捷键补充C-x d  目录管理界面,可以通过该界面进入不同的目录来打开文件C-x C-q  使目录管理界面的进入可编辑模式,在该模式下,可以对目录下的文...

2012-08-08 13:42:05 81

原创 ubuntu下ibus图标不见

解决办法:   打开终端,重启一下ibus!   输入:   killall ibus-daemon(结束进程)   iibus-daemon -d(重启ibus)  搞定收工

2012-08-08 09:25:52 158

原创 更改ubuntu的桌面路径

今早一起来ubuntu又出现了新的问题,就是所有的目录都显示到桌面上来了,于是又得问问谷老师,结果发现是自己的一个目录好像不知为何被改动了,nano ~/.config/user-dirs.dirs,发现XDG_DESKTOP_DIR="$HOME/"XDG_DOWNLOAD_DIR="$HOME/download"XDG_TEMPLATES_DIR="$HOME/template...

2012-08-08 09:24:22 718

原创 在emacs下使用gnus收发邮件以及看新闻

折腾了一个晚上,终于可以在emacs下发邮件了,我暂时只能配置出163邮箱的,谷歌邮箱暂时只能收看邮件,但是发不出邮件,具体原因还不是很清楚,查看了国内外的一堆文章都搞不定。信心被大大的打击,好在能配置出163的,先凑合使用吧。首先要先安装gnus,这个很简单sudo apt-get install gnus 接着toutouch ~...

2012-08-07 23:16:57 783

原创 linux下安装Adobe Reader

之前安装Adobe Reader都是下载安装包来进行安装,因为apt-get下没有Adobe Reader的源。现在想直接apt-get的方式来安装,那么需要增加Adoebe Reader的源进来。编辑/etc/apt/sources.list,增加源deb http://archive.canonical.com/ubuntu lucid partner,接着ap...

2012-08-07 12:51:59 371

原创 emacs配置

直接给出配置,发邮件的配置没有给出。;; 显示括号匹配 (show-paren-mode t)(setq show-paren-style 'parentheses);; 指针颜色设置为白色(set-cursor-color "orange");;代码提示;;-----------------------------auto-complete------...

2012-08-06 10:42:34 82

原创 JNI入门一

JNI是什么,这里就不在都说了。使用JNI的好处就是可以在java中调用本地代码C/C++,可以方便java与其他语言进行调用,加快java的效率。坏处就是使用了JNI就不能跨平台了。这里直接进入JNI。java代码package zsc.edu.lian;public class Mainclass { static{ System.loadL...

2012-07-25 00:17:17 200

原创 java泛型小记录

之前对泛型就是停留在会使用而已,今天把泛型的一些重要的例子记录一下以及对深层次的理解一下。泛型小例子:package zsc.lian.test;import java.lang.reflect.InvocationTargetException;import java.text.Annotation;import java.util.ArrayList;import ...

2012-07-20 14:14:55 85

原创 erlang学习一

经过一个下午的努力,终于把问题解决了。跟一个在网上认识的Erlang也是初学者,但是在java,vc是高手的前辈讨论了一下。像Erlang这种东西真的要多多动手,光看书真的很不够,尤其看erlang程序设计这本书,我个人觉的字字是宝,但是里面很多文字,经常性看了而不能把关键性的地方给记住,就像今天,就是没注意书中的话,导致各种调试都发现不知为什么。[code="java"]-mod...

2012-07-18 18:14:55 42

原创 java小特性

java6小特性,刚用到,记录一下。[code="java"]import java.beans.IntrospectionException;import java.beans.PropertyDescriptor;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Metho...

2012-07-17 21:16:20 71

原创 Tomcat源码12之AccessLogValve类

前面说过,实现value的阀会在管道里面的内部类StandardPiplineValueContext调用。那么我们来看看几个Value的实现。首先是AccessLogValue类.tomcat可以通过server.xml配置系统日志。  比如:                             docBase="test"

2012-05-14 22:17:17 3790

原创 心得

发现现在很多人对JAVA的基础都不行,尤其是那些搞J2EE的。。虽然我还是学生,不能做多大的评价,只想跟大家能够讨论学习,一同进步。如果有哪些朋友对分析源码感兴趣的,可以加我的QQ:772052869   我会成立一个群,然后大家一起讨论研究。。。。本人目前的水平:还在研究tomcat4.0的源码。接着在未来的一段时间会进攻struct2源码。但是我认为在struct2之前,一定要tomc

2012-05-14 16:34:10 628

原创 Tomcat源码11

对前面的知识稍微总结以下:Connector 组件Connector 组件是 Tomcat 中两个核心组件之一,它的主要任务是负责接收浏览器的发过来的 tcp 连接请求,创建一个 Request 和 Response 对象分别用于和请求端交换数据,然后会产生一个线程来处理这个请求并把产生的 Request 和 Response 对象传给处理这个请求的线程,处理这个请求的线程就是 Conta

2012-05-13 14:41:18 675

原创 Tomcat源码10

这一节来讲讲cookie的解析,要谈到cookie的解析,首先要先大概了解一下两个类。第一个实Cookie,这个类实servlet中的一个类,这个类也就是存放解析cookie后的一些信息,而且这个类是可以被序列化的。另外一个类就是RequestUtil,这是一个工具类,提供了一些请求解析和编码的方法。这个类提供了几个方法,我们目前就先看里面的一个方法:如何解析cookie这个方法。1,首先

2012-05-09 21:59:20 808

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除