首页技术区最新随笔(rss)

MAC 开发笔记 - Objective-C 语法

MAC平台上一个重要的开发语言是Objective C。Objective C看起来和C有那么一点关系——没错,它是基于C的面向对象的扩展,但是它又不是C++。严格地说,Objective C更象是在C的基础上,Smalltalk的另外一个实现。

Selector是Objective C语法上的一个特色。没有接触过Smalltalk等纯对象语言的朋友可能对Selector的概念感到难以理解,不过如果了解了Selector本身的用途,那么对这个新的概念就不难理解了。

Smalltalk这样比较纯粹的对象语言看重程序应用的灵活性。在基本C/C++的框架内,使得代码在编译前都必须明确所有方法调用和函数调用的类型。一旦编译完成,在代码运行时,想要改变函数调用的类型或方法调用的形式是不可能的。而在Smalltalk的理想世界中,一个纯粹是由对象组成的世界,一切在运行时应该都是可以根据环境的变化而改变的,包括对对象方法的调用的形式和类型。然而灵活的代价是牺牲效率,在计算机处理能力底下的时期,C/C++的效率统治了一切。不过当计算机处理能力获得的成本越来越低时,人们对灵活性的要求也就日益突出了。

Selector就是为了灵活性而存在的语法特性之一。它的目的概括说起来有两个:第一,可以在运行时,动态地改变被调用的对象(类),第二,可以在运行时,动态地改变调用的方法。

以上这段话其实是不准确的。因为对象方法调用是C++中的概念,Objective C中的没有调用的概念,而是对象之间“消息”的传递(messaging)。

要适应Objective C的开发,对C++ 程序员来说需要一个思路转换的过程。Java开发人员可能感觉会稍好点,不过对于动态类型部分也需要继续学习。不过Objective C 还有一个好处是,它的编译器最终还是兼容C++语法的,如果你实在适应不了,那么你也可以尝试在Objective C代码里混入C++的代码。不过这样的代码维护起来可就没那么简单了。


2010-03-21 18:07 作者: 陆宁【评论:0】【阅读:13】 

卫生筷有什么错

     摘要: 最近卫生筷突然成了央视媒体的众矢之的。央视用官方毋庸质疑的语气指出,卫生筷的生产过程中存在诸多的卫生问题和黑幕。    听到这个消息以后,说实话我觉得非常的疑惑。卫生筷顾名思义,是为了顾客卫生目的而制造的,一种可以在公开市场上购买到的产品。央视指出目前的卫生筷产品质量存在诸多隐患,是否是为了监督和鼓励卫生筷生产企业提高质量和工艺,制造出更清洁更安全的卫生筷吗?    我又想起上海东方台有个很IB的...  阅读全文

2010-03-21 00:20 作者: 陆宁【评论:0】【阅读:26】 

测试uClibc+BusyBox

     摘要: uClibc和BusyBox已经编译好了 ,在把它们加入固件之前最好先测试一下。测试方法是建立一个模拟的根文件系统,通过chroot命令来建立一个新的执行环境,在这个环境下所执行的命令以及动态连接库都来自于这个模拟的根文件系统。模拟根文件系统的制作方法(在PC上执行):准备一个U盘或移动硬盘,格式化成ext3文件系统。假设编译好的uClibc和BusyBox分别放在/home/user/dist...  阅读全文

2010-03-18 23:37 作者: gouzhuang【评论:1】【阅读:58】 

PHP中的拦截器设计

     摘要: <?phpclass Action{  public function perform(){  echo 'hello,fanyh!<br>' ; }}/** * Interceptor接口 * @author Administrator * */interface Interceptor{&nbs...  阅读全文

2010-03-18 21:08 作者: fanyh【评论:1】【阅读:42】 

【领星任务栏托盘图标系列程序】2010.03.19版

     摘要: 【领星任务栏托盘图标系列程序】简单说明 ◆安装方法  双击1setboot.bat会在开始菜单的启动文件夹中新建快捷方式  那么以后开机即会自动启动   如果不想让图标自动隐藏,请在控制面板的任务栏属性对话框中  找到隐藏不活动的图标,然后自定义,将本程序的图标设置为:  “总是显示” ◆主要功能  在任务栏系统托盘处显示当前日期的小图标  鼠标左键或右键单击此均会弹...  阅读全文

2010-03-18 15:43 作者: lxasp【评论:0】【阅读:41】 

重新编译uClibc

     摘要: MP800H官方固件中使用的uClibc版本为0.9.28,也是相当老的版本(2005年发布的)。但是由于现有的工具链都是基于这个版本的,到目前为止,升级到新版本的尝试还不成功的。(这不是目前最紧迫的任务,我会晚点再研究)既然不升级,为什么还要重新编译呢?因为官方编译的版本没有打开完整RPC支持(配置文件中:UCLIBC_HAS_FULL_RPC=y),没有它NFS服务器不能工作。还是用华硕公布的...  阅读全文

2010-03-18 15:16 作者: gouzhuang【评论:1】【阅读:54】 

MAC Air使用手记

没想到MAC Air成了我买的第一台苹果电脑。考虑到要做开发,所以配置要尽量高一点,又不愿意背太重的机器,主要是寄希望于SSD硬盘能够解决笔记本开发性能受硬盘转速限制的问题。所以选了Air的高配。当然,价格也因此相当地高。

买之前主要的顾虑是触摸板。因为之前一直用IBM的机器,小红点早已离不开了,怕不习惯。另外以前用过带触摸板的机器,打字的时候手掌难免会不时碰到触摸板,鼠标乱跑,很不爽。买回来使用后发现,苹果对这个问题解决的还是不错的,手掌无意识地接触到触摸板的情况有意被屏蔽掉了。所以虽然使用效率比小红点略差一点,基本上还是比较舒适的。

使用的总体舒适度出乎我的意料,可以用相当好来形容。虽然在小红点这一项上不如IBM,但是综合打分我认为要高于IBM的机器。首先是13英寸LED的屏对我的眼睛非常友好,阅读各种字体,包括很小的字体都比较轻松。另外宽大的掌托对手腕的支撑,还是很舒服的。由于配置的是SSD硬盘,掌托的表现可以用冷静两个字来形容。键盘的手感偏软和纸感,但是很省力,按键背光很柔和,视觉效果非常好,除了我现在还找不到我习惯用的PgUP和PgDw键在哪里以外,文本输入可以认为是一种享受。整个系统的运行速度非常快,启动应用程序的速度也很快,SSD的投资确实还是值得的。而MAC OS,虽然我是第一次使用,有些地方还不太习惯,但是在细节方面,比如字体,布局,比Windows确实要高出一筹。
放在腿上、被子上得时候,机器底部的热量还是比较大的,主要集中在左半个机身,特别是在看视频等应用的情况。不过放在平整的桌面上时会好得多。
支持多个手指的触摸板是一大特色。两个手指滑动网页的手势感觉很好。三个四个手指用的相对少一些了。

Safari打开网页的速度非常快,比IE快得不止是一点点,让我惊异于IE是否有意拖慢了速度。

不过拖动这个手势动作解决的不是非常好,经常会误操作。为避免出错,只好降低操作速度。另外苹果的中文拼音输入法做得还不太好,谷歌输入法居然没有MAC版:-( 只好先忍受一下了。

2010-03-18 03:38 作者: 陆宁【评论:1】【阅读:50】 

该死的Resx

     摘要: 错误 6 Invalid Resx file. Could not load type Vidicon.MainApp.VidiconPropertity, Vidicon.MainApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null which is used in the .RESX file.  E...  阅读全文

2010-03-17 23:01 作者: 游子【评论:2】【阅读:50】 

关于“转基因”食品的一些思考

近日国家宣布开放“转基因”水稻种植,在国内引起轩然大波,舆论一片哗然,而有关部门却对此讳莫如深。关于“转基因”对人究竟有无潜在伤害的技术性问题,我们暂且不去讨论。但是政府为何选择这个时间开放这个领域,着实令人回味。直到前几天新浪网转载了关于东北大量中小大豆加工厂停产的情况,政府近年来不为普通民众所知的农产品市场上所受的压力,才为我等窥见一二。

在外资疯狂进入国内各个领域的同时,农业领域亦不能独善其身。我国传统农产品市场面对美国庞大而高度成熟的转基因农产品市场,在价格方面几乎毫无还手之力。国内传统农产品如果不是靠国家的补贴还在勉强维季,早已溃不成军。中国是个农业大国,历来虽然称不上领先世界,但也有以袁隆平为代表的一代先进农业技术领军人物为国家提供自给自足的农产品可为自豪。然而袁院士的神话还没有热传几年,转基因产品已经杀到“杂交”稻的城楼下。在利润的驱使下,国内各农产品加工企业,实际上早已默认了转基因产品的主流地位。像新浪网转载的东北大豆加工厂大面积停工的情况,只是冰山一角。如果形势继续发展下去,恐怕国家的财政补贴也无法挽救整个行业。

政府能否像欧洲市场一样封杀“转基因”产品?从目前的政治形势看恐怕不太现实。如此政府只有一条路,就是开发自己的转基因技术,国内的农民和农产品加工企业尚有一丝活路。由此可以理解袁院士发表的几次对于转基因产品的评论,而最终又宣称将研究转基因技术。老将再次担纲,从“杂交稻”转向转基因,形势然也。而转基因是否有害人体健康,只能留待“在发展中去解决”了。

写到此处,不由一阵悲哀。中国发展了30年,攒了大堆的美元财富,而在各个实业领域,却无一不被证明仍然几无还手之力。温总理前日提到中国要实现现代化尚需百年,此话若当真是发自肺腑,则政府尚需改弦更张,卧薪尝胆啊。

2010-03-16 23:53 作者: 陆宁【评论:0】【阅读:50】 

诡异的bug

今天在写3Ddemo时,发现release版能运行,debug不能运行,截图如下:

后来从编译的输出内容发现,在debug版中有一个库(自己另外写的)不是最新版本的,重新编译后才好了。

2010-03-16 18:18 作者: Richmond【评论:0】【阅读:53】 

升级BusyBox

     摘要: 海信MP800H官方固件里的busybox版本是1.1.3,是2006年发布的,确实有点老旧。最新的稳定版是2009年12月发布的1.15.3,与1.1.3版相比修正了很多bug并增加了一些新的应用程序(applet),特别是增加了ftpd。当然也有一些应用被删除了:e2fsprogs(ext2/ext3文件系统工具: mke2fs, e2fsck, tune2fs等),原因是它相对于busybo...  阅读全文

2010-03-16 15:58 作者: gouzhuang【评论:2】【阅读:98】 

交叉编译(Cross Compiling)

     摘要: RTD1073是基于32位MIPS指令集的,与我们常用的x86平台是不兼容的。为了能够生成在RTD1073上运行的程序,必然要用到交叉编译工具。简单说,交叉编译就是在一个平台(编译平台/build platform)上生成另一个平台(目标平台/target platform)的执行代码。通常目标平台是一些运算能力较弱的嵌入式系统。交叉编译工具链(cross compile tool chain)是...  阅读全文

2010-03-16 12:55 作者: gouzhuang【评论:0】【阅读:75】 

固件解析(Firmware Dissected)

     摘要: 分析了海信官方发布的MP800H高清播放机固件的结构,为自制固件奠定了基础。  阅读全文

2010-03-16 09:29 作者: gouzhuang【评论:0】【阅读:133】 

Tcl闭包

     摘要: Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 ...  阅读全文

2010-03-15 20:26 作者: gyn_tadao【评论:0】【阅读:69】 

在AIX上用SDD命令查看DS4K/DS5K的prefer path

     摘要: sddpcm_get_config -Av 这个命令可以在主机端查看DS4K/5K的LUN是否分布在Prefer的controller上                      ...  阅读全文

2010-03-15 18:17 作者: 笑笑【评论:0】【阅读:62】 

下载源代码(Download The Source Code)

华硕有一款播放机叫O!Play HDP-R1, 也是基于RTD1073。她公开了Linux内核、系统程序源码,并提供了交叉编译工具链(cross compile toolchain)。

如何下载:

1. go to http://support.asus.com/download/download.aspx?SLanguage=en-us
2. 在左上角"Input Model to Search"处输入"O!Play HDP-R1"然后点击Search Info按钮
3. 搜索结果应该显示 O!Play HDP-R1,点击它进入下载页面。源码在Source Code下面。

2010-03-15 15:13 作者: gouzhuang【评论:2】【阅读:103】 

目标系统(The Target System)

半年前买了一台海信MP800H高清播放机。当时比较了很多款播放机,最后认为这一款有较高的性价比,所以就买了。使用了一段时间,感觉还不错。

MP800H采用的是Realtek RTD1073 数字多媒体处理器,支持MPEG1/2/4, H.264, VC1, RM/RMV解码,内置以太网,2xUSB2.0接口,HDMI输出。微处理器是MIPS 24k,SDRAM 128M,Flash Memory 16M。操作系统为Linux,内核版本:2.6.12。

在网上搜索发现有不少其它品牌的播放机也采用RTD1073,或其姊妹产品如 RTD1261等。这些播放机的软/硬系统都是非常类似的。有些厂家公开了部分源代码,有Linux内核源码,系统及应用程序源码,甚至有播放程序的源 码。网上也有不少论坛在讨论如何为这些播放机扩展/开发新的应用。本博客将记录我对MP800H开发的研究与实践。

2010-03-15 14:50 作者: gouzhuang【评论:1】【阅读:79】 

php开源b2b系统对比

php开源b2b系统最近自己试用了一下,基本上有点名气都测试了一下。
各有千秋。

下面是收集的几个不错的介绍给大家:

Destoon 演示地址: http://demo.destoon.com/v2.5/

PHPB2B Athena 演示地址:http://www.yxjcm.com

B2B-BUILDER 演示地址: http://www.jygycp.com/

大家可以对比一下。

2010-03-14 20:53 作者: koo【评论:0】【阅读:72】 

Centos 5.4+subversion+apache+trac整合配置资源包

centos 5.4 DVD官方获得
subversion 以下地址获得 http://summersoft.fay.ar.us/pub/subversion/latest/

trac获得  http://trac.edgewall.org/wiki/TracGuide

如果没有安装subversion-python 会造成trac 建库时提示无法访问svn库 ImportError: No module named svn,无法建索引,或警告svn bindings警告
Warning:

You should install the SVN bindings

---------------------------------------------------------------------
Project environment for 'My Project' created.
Python 2.4.3 (#1, Sep  3 2009, 15:37:12)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import svn
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ImportError: No module named svn
>>>




2010-03-14 17:50 作者: David【评论:0】【阅读:107】 

2012,我們將會迎來什麼?

     摘要: 近來,看到了越來越多的末日論,也看到了越來越多相信末日論的人們。和1999末日論相比,這次的影響顯然更大也更可怕。除了影片「2012」的影響外,還有什麼讓大家如此驚慌呢?對此,我作了一些搜索和思考,並決定將結果分享給大家。我不會提及預言、占卜、電影、數字遊戲、靈性提昇之類的東西,只擺出事實,而這些事實每個人都可以自行檢驗,並做出自己的判斷。開始之前,我想先聲明一下我的立場:我相信我們正在面臨一些大麻煩,但我不相信2012會是我們的末日。  阅读全文

2010-03-14 17:10 作者: Addone【评论:0】【阅读:98】 

第一次开博

今天刚刚开通了博客,这也是我的第一个博客。最近对嵌入式Linux产生兴趣,我将以此为开端,记录下一些学习心得与大家共享。

2010-03-11 13:21 作者: gouzhuang【评论:0】【阅读:96】 

安装sql server 出现的错误

昨天,想装个sql server 2000,一路过来,真是麻烦,现记录如下,当作以后查看:
主要内容为截图,解决方法网上有很多:
1、。 这个错误是因为这个安装文件是sp4,一个补丁包。, 晕!
2。这个错误是因为我之前在注册表中把ODBC中相关的sql信息删了,没办法,只有重装系统才最终装好了sql server 2000.

2010-03-11 12:35 作者: Richmond【评论:0】【阅读:76】 

DELL Precision R5400 Workstation远程访问解决方案

     摘要: 在这个远程访问方案中,包含以下几个组件:1. 专用的远程工作站Dell Precision R5400 Workstation2. Graphics Card3. Remote Access HOST CARD (PCI-e)4. Portal Dell FX100如下图所示:Graphics Card支持复杂的多个监视器,R5400的图形卡有NIDIA和ATI(AMD)的可供用户选择。最多可以连...  阅读全文

2010-03-09 15:14 作者: Jerome【评论:1】【阅读:80】 

慧路e-learning助力零售连锁企业,打造智慧卖场

     摘要: 慧路e-learning助力零售连锁企业,打造智慧卖场 《亚太IT动态》   近日慧路软件科技(中国)有限公司在广州召开了“慧路e-learning新业务说明会”慧路WITROAD在本次讨论会上隆重推出首款针对零售连锁企业的e-learning系统,率先在国内推出针对行业应用的e-learning模式,系统升级中国零售连锁企业的e-learning应用。 ...  阅读全文

2010-03-02 10:41 作者: 于戈戈【评论:3】【阅读:113】 

std::string vs2008

在VS2008中 发现用了std::string型变量 在自己机器上能运行 而在别人机器上爆 难道是是少了某个文件么,检查中......

2010-02-25 20:37 作者: Richmond【评论:2】【阅读:123】 

对在Erlang中用的makefile的一点解释

     摘要: 又重新开始读了《Programming Erlang》,也就又读到了第六章中的makefile,结合学习中的具体情况,略作了修改如下:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->.SUFFIXES: .erl .beamOUT = ./beam.e...  阅读全文

2010-02-24 13:49 作者: gyn_tadao【评论:2】【阅读:141】 

何时使用多线程?

1 改善用户体验,将用户界面线程与工作线程分开,避免界面失去响应;
2 提高I/O效率,多线程方式比定时查询方式操作I/O更节省CPU、时延更小,提高系统的吞吐率;
3 解耦I/O操作,将一系列可并行的I/O操作放在不同线程中执行,避免串行执行造成等待影响系统速度;
4 充分利用CPU,对于计算密集型的软件,采用多线程并行方式可以充分发挥多颗多核CPU的威力,大大提高速度。

2010-02-21 16:55 作者: 李珍宝【评论:1】【阅读:149】 

关于无人战斗机发展的一些随想

X-47B计划于2010年2季度首飞,而且是从航母上起飞。无人机的时代真的悄悄来临了。

有一点我觉得很有意思的是,理论上X-47B可以有很多种外形设计选择。不过最终出现在我们面前的是这个带着尖锐头部的箭簇型机体。记得我在看《Battlestar Galactica》时曾经思考了一下这个外形对于人的心理的影响的问题:较为圆润的外形的战舰设计,可使得人们倾向于产生一种正义的力量感。而Cylone人战舰那尖锐的外观设计,则让人会不由自主地产生一种邪恶的感觉。



美国的工程师当然没有可能认为自己是邪恶的代表。但是从X-47现在的外观来看,他们对于这个人类历史上首次可以用于直接战斗的“thing”,潜意识里是否会有着本能的抗拒或者恐惧?我这么想是因为我几乎可以肯定,这些工程师每个人都看过詹姆斯卡梅隆的《终结者》,他们一定也非常清楚这个X-47B,或许就是“审判日”的源头。

不管怎么样,现在无人攻击机成军已经没有任何悬念。唯一还有变数的就是执行空对空作战任务的无人战斗机是否会被列装——这是人类飞行员最后的阵地。

对于无人战斗机我脑子里常常出现的就是两个场景:一个是《星际》中Protos飞船母舰——航母从肚子里放出无数漫天飞舞的无人战斗机,为数众多的敌人地面部队顿时灰飞烟灭。。。另外一个场景就是《Battlestar Galactica》中Cylone人的基地战舰——像蝙蝠一样满满当当地倒挂在战舰舰桥上的机器人战机,从舰桥上掉下来然后密密麻麻地扑向人类的战星。。。无论哪一个场景都非常邪恶,都足以让任何一个人类飞行员胆寒。想到这种末日景象我常常会想,人真的可以选择自己的未来吗?

2010-02-20 01:48 作者: 陆宁【评论:0】【阅读:134】 

Catalyst3550通过Port-channel与uBR7114互联丢包问题处理

     摘要: Catalyst3550通过Port-channel与uBR7114互联丢包,接口产生大量output buffer failures  阅读全文

2010-02-11 13:44 作者: 梯玛【评论:1】【阅读:158】 

Javascript Remote Object Invoker

经过反复研究,我不得不自己写一个JsonLib
下面是一点泛型的研究

并且准备搬家了。。。。

http://zcy860511.javaeye.com/blog/585900

2010-02-02 23:17 作者: 烟灰这名字被人抢了……【评论:0】【阅读:134】 

导航

网站分类

专题

统计信息

Google站内搜索

 

聚合

Blog客户端API

推荐客户端

24小时内最热随笔

非技术区

转载区

最新评论

博客排行榜[前100人]