自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

求索

Make Something Different

  • 博客(295)
  • 资源 (28)
  • 收藏
  • 关注

翻译 开发者应当了解的WebKit知识

对一些开发者而言,WebKit就是一个黑盒子。丢进去HTML、CSS、JS等一连串的东西,而WebKit就能变魔术一般显示出一个很棒的网页出来。实际上,正我的同事IlyaGroriks提到的:  WebKit不但是白盒,而且是一个开放的白盒。让我们花点时间来理解以下这些问题:什么是WebKit? 什么不是WebKit? 浏览器是如何使用WebKit的? 为什么WebKit分

2013-03-02 22:46:22 71751 6

原创 [WebKit]WebKit2多进程机制的解析

在WebKit模块化分析>>中说到WebKit2中的多进程模型。多进程模型已经是浏览器的基本架构要素,下面展开分析一下WebKit2中的多进程模型。协作决定接口,确立责任分工后,对于模块或系统间最重要的事莫过于接口定义,而且是有着简洁明确的定义。对于WebKit2中三个进程中的交互也是相当频繁和多样,如果使用传统的查表法对应解析执行,就会面临巨大的维护成本。WebKit2使用了En

2013-02-25 22:54:58 7215 1

原创 自组织团队建设很容易吗? (问题与对策的思考)

自我驱动或者自组织团队是现在软件公司努力建设的方向,自我驱动也常常挂在嘴边。但以我的观察,自我驱动或自组织团队建设并没有带有真正的团队生产力提升,反而很易遇到发展瓶颈!自组织团队的困境问题在哪里? 我今天终于恍然大悟。这也许也是敏捷在中国一直处于困境的原因之一。简而言之,在自我驱动团队建设上缺少方法和执行力!思想是别人的,而做法仍然是自己的。可以简单地通过几个方向来审视

2013-02-22 00:15:17 8210 5

原创 [WebKit]WebKit2 API解析

这里是对上一篇>的进一步展开。先从API层开始。API概览主要类图WebKit提供了灵活的回调机制用来支持客户端与内核的交互,在API中有一些Set Client类的函数,Client一般就是用于注册针对某一功能的回调函数。如向WKContext注册history item处理的回调函数,就会使用下面这个结构(WKContext.h):struct WKCo

2013-02-18 23:44:35 10876

原创 MBTI在软件开发团队中的应用

人绝不是一种资源。一方面我们不可能因人设岗,另一方面也不能忽略人性的差异。面对问题时,不要总是单纯地从人的态度或品德上查找问题,而是要反思人事安排和流程建设上的不足。奢望一个人改掉他的缺点,还不足充分发挥他的优点。前言MBTI将人区分为16类人格特质,我无法断言是否真得能表达出人的真实一面,毕竟只是统计性的结果。我的思考并不在于它归类的结果,而在于它的归类方法。

2013-02-03 02:07:08 5841 2

转载 汇编语言指令以及伪指令速查手册

汇编语言指令以及伪指令速查手册(备查)它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.   1. 通用数据传送指令.     MOV   传送字或字节.     MOVSX 先符号扩展,再传送.     MOVZX 先零扩展,再传送.     PUSH   把字压入堆栈.     POP   把字弹出堆栈.     PUSHA 把AX,CX,DX,B

2013-02-01 16:22:34 2365

翻译 Objective-C的方法替换

Objective-C的方法替换(Method Replacement for Fun and Profit)本文将要讨论Objective-C中的方法替换(method replacement)和swizzling(移魂大法)。 重写类的方法(Overriding Methods)Overriding methods在任何面向对象语言中都很常见,主要用于子类化中。在子

2013-01-23 00:08:44 12904 3

原创 使用LLDB脚本简化打印复杂数据的操作

上次提到用了LLDB脚本来扩展一些功能。 这次是简化打印复杂数据的操作。 不知道大家都没有遇到过在gdb和lldb里输出一个类时困扰,常常要一个个属性展开下去,或者调用提供函数来检查。分享一个使用LLDB脚本来简化变量输出的方法。 以输出Element的属性为例,其下面的属性很多,我们其实只想知道属性名称和值就可以了。数据结构展开如下: 如果使用lldb脚本,只需要输入

2013-01-14 22:38:32 3995 1

转载 Business Intelligence/Big Data in 2013 and Beyond

原文在这里By Serhiy Haziyev, Director of Software Architecture at SoftServe, Inc. \\ December 2012Business Intelligence & Big Data is a current hot trend among multiple technology enabled enter

2013-01-08 00:35:50 2785

原创 WebKit模块化分析

模块化      软件的首要技术使命是管理复杂度(Complexity)。这是>中的一个标题。软件本质性困难的根源都在于复杂性。Dijkstra指出没有谁的大脑能容得下一计算机程序。正如社会进步催生社会分工一样,软件行业也自然而然地发展出来了模块化方法,将整个系统分解为多个子系统来降低问题的复杂度,分而治之。它有两个主要的目的:   1. 分工  (角色与责任)   2. 信息隐藏 (

2013-01-03 22:51:17 14160 12

原创 项目风险管理起步

如果风险止于发现者则不能称为有风险管理,必须是在规范的流程之下,有计划的采取行动,这才算是风险管理的起步阶段。1. 培养风险意识(Risk Awareness)需要在开发的各个阶段,训练团队成员能主动发现出风险,然后报告出来并同相关人员进行沟通。整个过程可能缺少流程定义,还没有约束,但它是团队风险文化建立的起点,也是建立风险管理的基础。2. 初级风险管理  从风险意

2012-12-24 00:33:57 4479 2

原创 项目风险管理

软件项目管理中的风险管理像是把瑞士军刀,高效全能。它是项目全面管理的一部分,风险管理应该与关键的项目实施过程紧密相连,贯穿项目始终。风险管理风险管理工具只是辅助,关键是在项目中要有风险意识。我们习惯于处理问题(issue),但却疏于应对风险(risk)。关于风险和问题如何区别的讨论,不单在国内,在国外也一直没有定论,在英文两者都是problem。一般认为问题(issue)是已经存在

2012-12-23 00:28:19 3630

原创 LLDB中的Python脚本

上次说了查看当前视图和参数的方法,要记住一串`*(int*)($esp+4)` 实在不爽。 于是查到可以使用LLDB脚本来完成。写了一个脚本(下载),本来想做个递归查询的,因为不是源代码调试,就没办法直接做到,需要花更多的时间,现在没空了。 脚本自己看,参考的资料在这里, 不是很详细,就算是有: LLDB Python Reference Using Scripting a

2012-12-21 00:56:08 4915 4

原创 [iOS逆向工程] 在汇编语言调试中获取当前实例句柄

在分析Safari行为的时候想到要用objective-c的特性随时可以语义化的查看一下UIView的各种状态,比如在UIView方法内部设了个断点,想看一下当前视图结构。只要得到当前实例的句柄就可以了。查了一些资料,记录一下。函数参数的传递iOS Simulator里应用是跑在32bits模式下的(在Activity Monitor可以看到),依据>里关于Intel 32

2012-12-19 01:03:32 6407 5

原创 Webkit中HTML5 Video的实现分析(六) - Safari视频机制分析

Safari中的视频相关操作封装在QuickTime Plugin里面,存放于/Library/Internet Plugin目录下。 下图是相关类的class diagram:其中的QuickTime Plugin是通过已淘汰的Apple之前定义的Webkit Plugin协议来实现的,而不是现在支持的Netscape API的机制。可以参考以下文档:

2012-12-17 23:48:06 5131 3

原创 我对模块化的理解

模块化是一个"发现"模块化(Modularity)这个概念与其说是一种创新,不如说是一个"发现"。这正是人们在解决问题时常用的行为方式和思维过程。它不是单纯的技术问题,更深深地影响着整个社会生活。可以读读>, 在>第4章也提到了这本书!我们获取知识有两个重要的方式:归纳(conclude)和演绎(deduce),不用多解释。它们其实就是自下而上和自上而下的差别。人类有与生俱来的抽象

2012-12-14 01:21:04 3497 2

翻译 Twitter广告平台的私有API

Promoted Tweets是Twitter的一个广告平台。本文作者是发现在Twitter官方的应用中并没有显示一些广告,而决定分析Twitter是不是做了什么手脚。没有详细的步骤,只是可以了解一些工具的使用和Twitter的一个小动作。 Mac上的Twitter有些奇怪的行为: Timeline上的一些内容被过滤掉了. 下图就是一个对比,相较网页版本,其中"howabo

2012-12-12 06:53:38 2562

原创 [Mac OS/iOS]反汇编工具Hopper分析Crash Log

在Mac OS下分析Crash Log有很多种方法,这里不是要说明如何分析的Crash Log, 主要是展示下Hopper的使用。 强大的IDA大家可能已经知道,但它的Mac OS版本又让人回到了DOS时代。幸运的是Mac OS有了一个小巧的替代品:Hopper, 基本上满足了工作上的反汇编的需要,包括伪代码以及控制流图(Control Flow Graph),支持ARM指令集并对Objectiv

2012-12-12 06:40:45 18943 1

原创 软件公司中的维护团队建设

相对于软件公司中的开发团队,维护团队似乎常常默默无闻,做事相对于保守,远没有开发团队那样常常让人有新鲜感。这是一种很普遍的现象,也就是维护团队的价值常常被有意或无意地降低了。 事实上,维护团队的建设和管理比开发团队所应对的挑战大得多,而运行得当的话,可以同项目团队或开发团队形成互补,发挥驱动力。软件维护团队的目标和流程软件维护团队被赋予维护已交付产品的职责,主要工作内容是分析修复新

2012-12-08 00:03:52 10216 12

转载 Salesforce遭竞争 IBM和甲骨文均收购云业务

收藏一篇文章! Salesforce是个非常值得关注的产品。腾讯科技讯(Kathy)北京时间12月12日消息,据国外媒体报道,作为商用软件行业的一个边缘参与者,创办于1999年的Salesforce.com曾遭受过一些贬低。但是在最近,Salesforce获得了高科技世界中最真诚的褒赞:其竞争对手耗资数十亿美元收购了一些公司,这些公司像Salesforce一样,利用“云”以租赁方式为企业提

2012-11-27 00:10:19 1972

翻译 iOS:应用程序的线程安全性

本文在于说明iOS应用的Objective-C代码的线程安全性。先是简单介绍一下线程安全的基本知识,然后通过一个小例子来观察非线程安全代码,最后会稍稍介绍一个可以用来分析线程安全隐患的工具。1) 基础知识 (Threading Basics)当启动一个应用时,iOS会对应创建一个进程(process)和一块为之分配的内存。简单地说,一个应用进程的内存包括三个部分: (更详细

2012-11-01 00:41:51 11304 4

原创 关键链项目管理(二) 关键链

项目最本质的一个特性是不确定性,所以实际的执行与预估有些偏差很正常。预估较实际所花费的工作量时大时小,有人快,有人慢。单独从个人能力来解释进度并不客观,因为本来项目排程时就应当考虑到人的能力的不同。既然一切都在项目进度规划中定义,所有工作都能按步就搬的完成自然最好,但项目的不确定性告诉我们这是难以确定的。总有些任务会提前,也总有些任务会滞后。如果我们只关注滞后的任务,那可以想像项目总会

2012-10-30 00:00:24 3287

原创 关键链项目管理(一) - TOC, 约束理论

帕金森定律(Parkinson's law):   只要还有时间,工作就会不断扩展,直到用完所有的时间。   简言之,工作总在最后一刻才能完成。在软件项目管理过程中,开发周期和生产力往往是最难掌控的。一方面要确保一个安全的开发周期,另一方面又能让团队发挥出最佳生产力。单单强调人的素质等因素,会将事情变得更为复杂且不可控。关键链(Critical Chain)可以帮助解决这些问题

2012-10-24 00:59:09 4129

原创 Webkit中HTML5 Video的实现分析(五) - WebKit中视频事件的传递

HTML的每个元素都可以让JavaScript在某些事件发生时,进行处理。就比如onclick="clickButton()"之类的属性设定。像下面这篇博客所讲的一样,在WebKit中每个元素都有其对应的JS绑定的实现:[WebKit]为JavaScript Binding添加新DOM对象的三种方式及实作对于视频元素,可以对应看看JSHTMLMediaElement

2012-10-22 00:15:41 7917 1

原创 网站HTML5视频问题汇总

最近一直在处理HTML5视频相关的问题,以下是一些和各个视频网站与HTML5 Video相关的问题(不是针对Flash视频):优酷在清晰度切换时的事件处理不当优酷在视频下面的清晰度切换时,在JavaScript中会重新呼叫this.video.load()加载视频,但问题在于video的abor和errort处理函数会在WebKit内核的浏览器中造成递归调用。因为出错后,又再次尝试进行加载

2012-10-18 23:04:19 5777 1

原创 为什么要记录Bug的制造者或引入者?

看到Stack Exchange上对于在Bug Report中加入"Person to blame"栏位的讨论,这的确是一个很好的题目,这里面包含了很多的东西。该不该加这个栏位且不说,其实最重要是看动机和目的。为什么管理者要加这个栏位呢? 自然是可以方便地统计出哪个组、哪个伙计引入的Bug状况。这可是绩效考核中一项非常有效的KPI(核心绩效指标),一定能符合SMART原则,随后的奖惩也

2012-10-16 23:55:51 2427

转载 从管理学看敏捷开发Scrum

2010-12-21 14:13 宗子城每次我们看敏捷开发Scrum都是从技术角度,今天我们尝试从管理角度来看这个问题。ScrumScrum近几年已经成为最有影响的软件开发过程,从Forrester 关于敏捷模式的调查报告我们可以看出一些倪端,而且微软也推出了更Scrum的模板,相信.Net平台下越来越多的团队会采用这一过程。 图1: Forrester 关于敏捷模

2012-10-15 22:57:31 2712

原创 推荐淘测试的Instrument Driver (iOS下的自动化测试)

今天看到了下面这篇博客,是淘测试开发的iOS自动化测试工具,非常值得学习应用:  InstrumentDriver,对iOS自动化测试说 Yes!InstrumentDriver 是 Mobile自动化小组最近实现的基于 instrument,针对 iOS 的自动化测试框架,目前支持 java 语言编写测试用例。     研究过iOS自动化测试的同学肯定对 instrument U

2012-10-15 22:30:26 10270 1

原创 从Secure Shell看Chrome强大的Native Client

Google Chrome App Store中有一个强大的SSH client(可以代替PuTTY), 关键它是集成在网页之中,下面是截图:它的强大正是Chrome强大的Native Client所造就的。Native Client可以理解为网页中可以与用户进程交互,从而有了其它plugin机制无法达到性能和功能。Goolge提供了完整的开发环境,比如:G

2012-10-09 23:56:25 6736

原创 [Objective-C]为现有对象增加额外的实例变量/数据

想到要如何为所有的对象增加实例变量吗? 使用Category可以很方便地为现有的类增加方法,但却无法直接增加实例变量(有为此使用查表法的,也算曲线救国吧)。不过从Mac OS X v10.6开始,系统提供了Associative References,这个问题就很容易解决了。我根据Objective-C Reference中的示例修改了一下,直接上代码了。重点是其中objc_setAs

2012-10-09 23:01:38 3419

翻译 C++中的static变量

虽然是老生常谈,但下面这篇文章还是概括地很全面的。C++中的static有以下三种不同的效果:当用于成员变量时,表示它将由类分配管理而不是实例。当在一个函数中时,数据将会被静态分配,在函数第一次被调用时初始化,且一直存在到程序退出。它当然也仅在当前函数中可用。这个特性经常被用于单例的延迟建构。 当在一个编译单元中(如源文件),它可以在本单元中视为全局的,但对

2012-10-09 21:15:07 1929 1

转载 Mac OS中SVN工具Versions日期重置脚本

Versions是一个Mac OS下挺棒的SVN工具,不过有日期限制。网上有人提供了将Versions的使用日期重置的脚本,这个脚本有些值得学习的地方。贴出来做个记录。 #!/usr/bin/env pythonimport os, sys, re, plistlib, subprocess, re, timeuserdir = os.path.expanduser

2012-09-25 23:11:43 2875

翻译 【iOS/Mac OS】程序崩在objc_msgSend(),怎么办?

程序崩在objc_msgSend(),怎么办? 最可能的原因是,当你向一个已经释放的对象发送消息时,或者虽然指针是正确的,却被别的对象破坏了内容(比如内存越界),再或者使用了悬摆指针(dangling pointer)。偶尔的时候也会是因为内存错误导致运行时的数据结构被破坏,但通常问题还是在接收者本身。 无论用Debugger还是通过崩溃日志(crash log),都可以得到远比b

2012-09-24 23:55:45 18252 3

原创 拦截MPMoviePlayerController的点击事件

为了解决在MPMovieController上添加一个和控制栏一起显示的按钮,特别研究了一下MPMoviePlayerController的结构 (controlStyle是default,为了便于查看,省去了部分输出):(lldb) po [m_view recursiveDescription](id) $1 = 0x179529f0 >   |    |    |

2012-09-20 23:27:27 10380 6

翻译 Objective-C中Extension与Category的使用

Objective-C 2.0增加了class extensions用于解决两个问题:允许一个对象可以拥有一个私有的interface,且可由编译器验证。支持一个公有只读,私有可写的属性。私有接口(Private Interface)Objective-C 2.0以前, 若要定义私有函数,通常是在实现文件中声明一个"Private" category:@interface My

2012-09-18 23:22:04 12341 1

原创 自然而然的设计

设计,似乎有点高深莫测! 一堆的模式、模型,让人无所适从。学了记不住,记住又用不上。我觉得设计应当是自然而然的事,从实际问题出发找出实际的解决方案就可以了。其实难点在于能不能看到问题。回想起12年前的2000年,当时刚进入一家ERP公司,被安排为一家灯饰公司"客制"(所谓客制就是定制的意思!)人事系统。当时系统总被客户抱怨薪资结算太慢,四千人的工资要跑一晚上。下班时开始结算,第二天

2012-09-12 00:57:02 7264 5

原创 浏览器的读图时代

随着媒体进入读图时代,用户对浏览网络相册和图片新闻的需求,必然日益强烈. 浏览器是否可以像EverNote Clearly那样增强文本阅读的方法来提高图片阅读体验呢?未来有没有可能将现在各家独立开发的图片slideshow工具,统一为HTML5标准标签加以支持呢? 就好像现在的Audio, Video一样. 也有全屏模式,也可以设定控制栏.只是要注意画面切换的效果. 这一切行为可以

2012-09-03 23:18:43 2620 1

翻译 混合使用Objective-C,C++和Objective-C++

之前有段时间,我参与了一项使用了C++库的Objective-C项目。写了一篇关于混编的文章,结果却出乎意料的成为Google搜索中关于Objective-C++的最靠前的结果之一。后来,Apple将基于LLVM的clang做为主选编译器。其作用之一就是可以保证Objective-C的演化,而GCC的进化却太慢了。之前文章就不太适用了,而且在这个过程,我也收到了一些回馈,这些都促使我写

2012-09-02 23:42:59 64582 11

原创 解决循环引用的一个例子

最近在讨论设计时注意到一个循环引用的问题。它是在使用引用计数指针时发生的。如下图所示:ClassA和ClassB分属两个不同的线程,ClassB通常由ClassA发起请求创建,并由ClassA使用,ClassB则会在必要时通知ClassA一些事件。两者中各保留了对方的一个引用计数指针RefPtr。如果在析构时释放成员变量的话,就会发生循环引用的问题,导致两个对象释放失败。 最直

2012-08-29 23:57:44 4414 1

原创 关于手机浏览器用户群的思考

今天看到一篇报道:“三低用户”过半 手机浏览器用户“屌丝”当道  对于其中30岁年龄一条,我就已经不在手机浏览器的核心用户范围内了。先转述其中一部分文字:在“手机浏览器用户群特征”方面,沙利文报告指出,“低年龄、低学历、低收入”群体是手机浏览器的核心用户,手机浏览器市场可谓“屌丝”当道。30岁以下的用户占87%,高中文化程度以下用户占74%,月收入低于3000元的用户占到了77.6%。

2012-08-25 00:01:51 6068 3

Google Chrome中的高性能网络

内容是"The Performance of Open Source Applications" (POSA)的草稿, 也是The Architecture of Open Source Applications的后继者. POSA囊括了一批针对性能的优化和设计,以及开发过程中的性能管理等内容的论文

2013-09-03

High Performance Browser Networking

Ilya Grigorik写的强文。 What every web developer should know about networking and web performance

2013-08-13

WebKit中两个小设计(以小见大)

通过介结WebKit中使用的两个小的技术点,来展示一些设计概念。

2013-07-26

Java虚拟机即时编译器的一种实现原理

讲述了JIT中的Trampoline的实现,对于了解JIT很有帮助.

2013-06-09

面向 HTML5 的图形加速和面向移动设备的 JAVASCRIPT 引擎 JIT 优化

本文将首先介绍 HTML5 带来的性能挑战。由于渲染引擎和 JavaScript 引擎 是 Web 运行时两个重要的基本构造模块,本文随后将讨论图形加速技术和 即时 (JIT) 优化技术应用于英特尔® 凌动TM [2] 处理器平台的解决方案,以显 著提升这两大组件的性能。文中评估了我们的解决方案对典型 HTML5 和 JavaScript 基准测试的影响,同时展望了未来工作的走向。

2013-06-09

主动自我优化的编译器

ADAPTIVE OPTIMIZATION FOR SELF - RECONCILING HIGH PERFORMANCE WITH EXPLORATORY PROGRAMMING 关于编译器优化的好文章,包括Inline Cache, Type feedback, Adaptive Recompilation, Performance Evaluation, Self Improving compiler...

2013-06-09

LLDB查看数据类型的示例脚本

不知道大家都没有遇到过在gdb和lldb里输出一个类时困扰,常常要一个个属性展开下去,或者调用提供函数来检查。我分享一个使用LLDB脚本来简化变量输出的方法。

2013-01-14

软件维护计划示例

软件维护计划的例子. 涉及范围、成本、风险等内容。

2013-01-07

McCabe的复杂度论文

McCabe关于软件复杂度的论文,全面而细节。反观现在许多关于McCabe复杂度的介绍却没能这么详细透彻。

2013-01-07

LLDB的Python扩展脚本

在LLDB下可以使用Python编写脚本扩展指令。 可以参考http://blog.csdn.net/horkychen

2012-12-20

Trace-based JIT简介(对Method JIT的改进)

IBM的一份对Method JIT和Trace JIT说明的文档。

2012-08-22

二维条码的插件(Chrome)

做了一个二维条码的插件,默认将当前网页地址转为二维条码。

2012-07-20

二维条码生成插件

二维条码生成插件,重构后。支持右击菜单,简化JS.

2012-07-20

二维条码生成插件 (Chrome)

做了一个二维条码的插件,默认将当前网页地址转为二维条码。

2012-07-14

Extreme Programming Explained英文版 第2版

XP的专业名词翻译得五花八门。这本书是正统之作,有个英文版,可以对照看看一些专业名词。

2012-06-28

Delphi数据库开发入门

2004年左右为同学写的Delphi数据库开发的入门教程,有一些纪念意义。

2011-11-23

代码优化的三个阶段

很久以前写的一个PPT,讨论了算法、流程及编码技巧三个层次的代码优化。

2011-11-23

<<突破思维障碍>>的思维导图 (Freemind)

<<突破思维障碍>>的思维导图 (Freemind)

2011-10-18

使用Cocoa开发的二十四点计算程序

使用Cocoa写了一个小的二十四点计算程序,可供初学者学习Cocoa使用。中间有一个递归调用的示例。 *XCode 3.2

2011-05-21

Lenovo LJ2000打印机驱动

以前自己分析了LJ2000数据所写的驱动程序,可以支持Mac OS及Linux,原来放在MacLinux.cn上,后来网站关掉了。偶然发现竟然有人在引用它,觉得它可能还有点用,就放上来分享.里面包含三个包: Linux:2 (DEB&RPM) Mac OS:1

2010-12-06

代码大全之编程基本功

小组内对代码大全学习的资料,包含的是程序撰写的基本概念!

2010-10-03

PMBOK 3思维导图(第3&4章)

利用MindManager绘制的PMP第3及4章的思维导图,有助于组织记忆!

2010-05-23

The book of Wireless

比较系统的介绍Wireless的资料! 涉及Wireless的基础知识和技术背景!很值得参考,唯一不足是英文书!

2010-03-20

UPnP Device Architecture

UPnP 参考资料! UPnP是实现DLNA的核心,所以读一读会有一些基本概念!

2010-03-18

STL Documents from SIG.com

将SIG上的STL Documents下载后转为CHM文件,方便查询! 本来cnheying已经做了,可惜下载不了,我重做了一下跟大家分享!

2009-09-20

实战KDevelop进行Linux软件开发

很多高手在Linux下很喜欢使用Makefile进行开发,但事实上并不是所有人都适合使用Makefile,尤其是初入Linux世界的人。 许多年来,Linux很难得以普及,就是因为使用及开发的难度被无端地夸大了,许多高手都以能运用复杂的指令为荣,而不愿意轻意妥协于那些更易于掌握的工具。而我认为不要在意用什么开发,只要关注你要开发什么!所以至于工具,自然由你决定。KDevelop也是一个选择,至少它可以使开发者摆脱Makefile体系的困扰! 软件开发要以产品论英雄,任何工具都是熟能生巧罢了,结果也都是殊途同归,没什么复杂的。

2009-03-11

实战KDevelop进行Linux软件开发

很多高手在Linux下很喜欢使用Makefile进行开发,但事实上并不是所有人都适合使用Makefile,尤其是初入Linux世界的人。 许多年来,Linux很难得以普及,就是因为使用及开发的难度被无端地夸大了,许多高手都以能运用复杂的指令为荣,而不愿意轻意妥协于那些更易于掌握的工具。而我认为不要在意用什么开发,只要关注你要开发什么!所以至于工具,自然由你决定。KDevelop也是一个选择,至少它可以使开发者摆脱Makefile体系的困扰! 软件开发要以产品论英雄,任何工具都是熟能生巧罢了,结果也都是殊途同归,没什么复杂的。

2009-03-11

空空如也

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

TA关注的人

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