blog | 逍遥郡


  • Home

  • Archives

  • Tags

  • Search

pc上mac os x和windows双启动

Posted on 2007-11-17 |
以前在t40p上尝试装过mac os x for x86,不过当时没有支持firegl 9000的驱动;最近又在t60上尝试了一下,发觉jas版本对新显卡都支持得不错,leopard还有不少小毛病,tiger基本很稳定,系统可用。记录一下遇到的双启动的问题。 双启动的办法有很多,枚举几个: windows nt loader darwin bootloader wingrub (grub) acronis os selector 而对于有系统洁癖的人来说,前两者不需要任何其他软件,是最佳选择。而grub是定制功能最强,os selector 最是易用。 windows nt loader 在说明双启动问题之前,先回顾一下几点安装细节。如果已经安装了windows了,那么需要先为mac os x准备一个hfs主分区,可以使用acronis disk director suite来作,其中的分区类型选择0AFh,并且需要是主分区。如果需要双启动的话,最好不要把这个主分区放在1024个柱面,大概8.4GB之后。 为什么最好把mac的主分区放在开始扇区呢?因为双 ...
Read more »

新写了个“Web2.0”站点

Posted on 2007-10-18 |
最近放假刚好有点时间,帮朋友做了个图片站。因为纯兴趣所致,所以抛弃了不少以前积累的代码框架,玩了玩现在比较流行的web2.0设计。都是很简单的技术,但是的确给浏览者带来很好的体验。这里做一下小结。 php实现ajax示例 Ajax称作异步javascript和xml,具体工作原理就是利用XMLHttpRequest这个浏览器内建JS对象,把用户的操作传递到后台脚本,然后后台脚本把数据在用XML传递到这个对象中来做处理,最终显示到浏览器上.这么做的最大优点就是可以不用刷新页面,直接操纵DOM这个HTML框架来改变页面的现实,这样一方面减少了浏览器和服务器之间的数据传输(因为只需要用XML把必要的数据丢回来),当然相应的用户体验很好(因为速度快,页面也不用刷新). 相应的特点就是大幅度的使用div这个标签和css来组织页面结构,因为要操作DOM框架中的HTML元素,getElementById()这个函数估计是用得最频繁的,div既简洁又容易组织,看起来很好使. 下边写一个利用ajax进行页面交互的简单例子: main.js 使用XMLHttpRequest对象来接收que ...
Read more »

在mac上使用开源软件包

Posted on 2007-08-30 |
虽然mac os x是基于BSD系统的,但是少了一些常用的开源软件包,比如lftp/wget之类的,用起来还是不那么顺手。这两天尝试了一个mac下的开源软件包管理系统fink,感觉还不错,用来安装和维护软件包很方便,就像在用debian或者是gentoo,因为它既支持apt获取二进制包,也能维护源码包。 跟mac下边的其他软件包一样,fink安装十分方便,只是装完后需要 运行 open /sw/bin/pathsetup.sh,建立PATH环境变量; 运行 fink scanpackages && fink index,建立软件包索引。 如果想更新软件包索引,运行 fink selfupdate; 如果想安装二进制包,直接使用类似debian的apt命令; 如果想使用源码包,使用fink系列命令,类似emerge :)
Read more »

两种Linux共享内存

Posted on 2007-07-17 |
现代Linux有两种共享内存机制: POSIX共享内存(shm_open()、shm_unlink()) System V共享内存(shmget()、shmat()、shmdt()) 其中,System V共享内存历史悠久,一般的UNIX系统上都有这套机制;而POSIX共享内存机制接口更加方便易用,一般是结合内存映射mmap使用。 mmap和System V共享内存的主要区别在于: sysv shm是持久化的,除非被一个进程明确的删除,否则它始终存在于内存里,直到系统关机; mmap映射的内存在不是持久化的,如果进程关闭,映射随即失效,除非事先已经映射到了一个文件上。 内存映射机制mmap是POSIX标准的系统调用,有匿名映射和文件映射两种。 匿名映射使用进程的虚拟内存空间,它和malloc(3)类似,实际上有些malloc实现会使用mmap匿名映射分配内存,不过匿名映射不是POSIX标准中规定的。 文件映射有MAP_PRIVATE和MAP_SHARED两种。前者使用COW的方式,把文件映射到当前的进程空间,修改操作不会改动源文件。后者直接 ...
Read more »

[译]Joomla的MVC组件设计入门

Posted on 2007-06-24 |
译注:这两天在家闲坐无事,摆弄一些CMS系统,发觉这篇从模式设计的角度来讲解 Joomla的文章不错.因为我的php最早是从看phpbb源码学习过来的,并没有上升到软件工程的高度.而现在好多系统设计精妙, 比如drupal,wordpress和joomla,还是蕴含很多道理在里边的. 遂翻译了一下,提供给国内有相同需求的php玩家:) 原文似乎回复不多,作者蛮不爽 lol. 原文链接 什么是MVC 模型视图控制器(Model-view-controller,MVC)是一种软件工程中使用的经典设计模式.在用来表现大量数据的复杂计算机应用中,人们希望可以分离数据(model)和相关的用户界面(view),以便于改变用户界面的时候不影响数据处理逻辑,或者改变数据的时候也不需要修改用户界面.MVC通过一个中间层,也就是所谓的控制器 (controller),来分离数据访问业务逻辑部分与表现数据的用户界面部分,从而解决了这个问题.通常使用的时候,MVC分解一个应用程序为三个层次:表现层(UI),域和数据访问.在表现层又进一步分离成为视图和控制器.对一个应用来说,MVC比一般的设计模式更加关注 ...
Read more »

使用global阅读代码

Posted on 2007-06-12 |
由于使用了wordpress来架设blog,所以近期在阅读它的代码。先推荐一个免费工具ZDE(Zend Development Environment),这个工具在windows下用起来还凑合,但是有IDE的通病,就是庞大而臃肿,找了半天没找到代码reference的功能,于是这就引出了今天的主角 global。 用global一直只是读c和c++的,今天才留意到global还有分析PHP代码的功能,不过暂时只支持PHP4,但对我来说已经够用了,先说一下它的安装办法。在Windows下边我是结合cygwin和emacs一起使用的,安装很简单,分下边几个步骤: 如果使用cygwin,则解压global的zip包到/usr/local下边。如果不用cygwin的话,只要复制global中bin目录的内容到系统路径就可以了,比如c:/windows,不过这样就无法方便的阅读manual了。 如果使用emacs,复制gtags.el目录到emacs的load-path,然后在.emacs中设置: (autoload 'gtags-mode "gtags" "" ...
Read more »

《深入理解Linux内核》读书笔记

Posted on 2007-06-10 |
[TOC] 内存寻址 逻辑地址 逻辑地址(logical address):在机器语言中指定一个操作数或者指令的地址,由 段(segment)+ 偏移(offset) 组成。 段标识符(segment identifier),即 段选择符(segment selector),是一个16bit字段(可以理解为段的索引信息) 段选择符由三部分构成: index(15bit):指明对应段描述符在GDT/LDT中的位置。 TI(1bit):指示该段在GDT还是LDT中。 RPL(2bit):表示访问该段所需要的CPU最低等级。 段寄存器存放段选择符: cs(代码段,同时标识CPU当前特权级)、ss(栈段)、ds(数据段)、es、fs和gs。 段的具体信息由 8字节 段描述符(segment descriptor)表示,所有段描述符存放在全局描述符表(GDT)或局部描述符表(LDT)里。 GDT和LDT在内存里的地址和大小保存在gdtr和ldtr控制寄存器里。 从段选择符查询段描述符的步骤: ...
Read more »

达夫设备

Posted on 2007-06-04 |
看一段代码: void send1(int *to, int *from, int count) { do { *to++ = *from++ ; } while( --count > 0); } 很容易看出来这段代码的作用,把count个整型数据从from复制到to。不过,还有更快的写法吗?看下边这段代码: void send2(int *to, int *from, int count) { int n = (count + 7 ) / 8 ; switch (count % 8 ) { case 0: do { *to++ = *from++; case 7: *to++ = *from++; case 6: *to++ = *from++; case 5: *to++ = *from++; case 4: *to++ = *from++; case 3: *to++ = * ...
Read more »

关于域名注册的事情

Posted on 2007-05-25 |
最近因为想要注册个域名来写个人blog,所以接触到一些域名注册的事情。发现了很多自己以前不知道的新鲜内容,拿出来与大家分享一下。我概念里边的域名注册,无非就是自己去一些域名注册商,比如国内的万网、网际互联之类的地方搜索一下自己想要的域名,如果有的话就注册(估计这种情况基本不会发生 :P);没有就只能选感觉次点的域名,大抵如此。 大家都知道好域名也是稀缺资源,所以事实上也没有这么简单,听说了不少域名卖出天价的事例,必然有很多人也希望靠抢注域名来发财,这跟恶意抢注@live.com之类的思想是一致的,最近水木还风传某某帐号卖¥3000之类的。所以伴随域名注册服务的还有过期域名预定服务(backorder)、域名拍卖、域名过户交易等服务,下边主要说一下.cn域名的情况。 现在的好域名基本已经绝迹了,比如三位数的.com/.cn早已不存在了,所以一旦有这样有潜在价值的域名过期(pendingDelete)的话,基本会被国内某些服务商保留的(clientTransferProhibited),绝对不会流失出来让普通用户注册掉;因为一个域名一年的费用不过几十块钱而已,前段时间.cn域名甚至免费 ...
Read more »

Unicode和中文字符处理

Posted on 2007-05-22 |
编码方式 UTF8 单字节(byte)。目前使用1~4字节,变长编码,可以任意扩充,参考 RFC3629。 UTF16 双字节(word)。超过U+10000的编码以4字节编码。 UTF32 四字节。 Qt QString 和 Java String 内部是UTF16表示。UTF16有字节序要求,UTF8没有。 UTF-8编码 Unicode内码范围(HEX) UTF8串(BIN) 0000 0000-0000 007F 0xxxxxxx 0000 0080-0000 07FF 110xxxxx 10xxxxxx 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx 0001 0000-0010 FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx ...
Read more »
1 … 13 14 15 … 19
Julian Qian

Julian Qian

记录编程、Hack和自娱自乐的一些玩意。

189 posts
60 tags
RSS
Creative Commons
© 2024 Julian Qian
Powered by Jekyll
Theme - NexT.Mist