自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一个很好的工具网站推荐

我们为什么要建立书房网www.shufun365.com?    因为我们在上网的过程中希望将对我们自己有用的信息收集并管理起来,就像我们以前阅读报纸的时候我们的手上通常会有一本大大的剪报夹,把我们感兴趣的东西剪下来,贴在我们的心爱的剪报夹里,但是网络时代来了,网上却没有找到一个合适的剪报夹,我们通常需要把想要的包含信息的网页整个收藏下来,但是我们会发现这个方法有种种的不方便,网页被移除;在不

2013-03-11 21:28:49 1225

原创 大龄程序员的出路在哪里?

据观察,大龄程序员的出路无非是三条:做管理、自己创业和继续写程序。    做管理是绝大多数人的选择,原因嘛,大环境就是这样,人家不要年龄大的程序员,再加上你年龄大些了,实战经验丰富,不让你带人让谁去带?可是这么看似很自然的事情也不容易:程序员大多不善交际,做管理就是管人理事,管理也是需要许多知识的,不是光有技术资本就能管得了人理得了事的,所以从单纯写程序转到管理能不能转过来还得打个大大的问

2013-04-02 20:17:38 25307 59

原创 手机游戏繁荣时代,团队的N条死路

手游市场繁荣背后,创业者不能盲目乐观海豚(手机游戏从业者)首先写这篇东西,真是抱着十分沉重的心情写的,几年前我针对WEBGAME(网页游戏)市场写了WEBGAME繁荣下的危机,之后之前写的所有东西都被市场一一验证了,同时各种类型的WEBGAME创业者该怎么死的也就怎么死了。现在同样的手机游戏也是开始了一片繁荣景象,满世界的投资资金,满世界的小创业团队,甚至可以说这波手游热潮比WEB

2013-03-31 09:08:45 1612

原创 哲理小故事---理想和现实

有两个和尚他们分别住在相邻的两座山上的庙里。这两座山之间有一条溪,于是这两个和尚每天都会在同一时间下山去溪边挑水,久而久之他么变成为了好朋友。就这样时间在每天挑水中不知不觉已经过了五年。突然有一天左边这座山的和尚没有下山挑水,右边那座山的和尚心想:"他大概睡过头了。"便不以为意。哪知道第二天左边这座山的和尚还是没有下山挑水,第三天也一样。过了一个星期还是一样,直到过了一个月右边那座山的和尚终于受不

2013-03-31 08:56:04 3795 2

翻译 V4L2 Linux驱动简介(3)基本I/O原理

如果有人在video for linux API规范上花了我时间的话,他肯定已经注意到了一个问题,那就是V4L2大量使用了ioctl接口。视频硬件有大量的可操作旋钮,可能比其它任何处设都 要多。视频流要与许多参数相联系,而且有很大一部分处理要通过硬件进行。不使用硬件有良好支持模式可能导致表现不好,甚至根本没有表现。所以我们不得不揭 露硬件的许多特性,而对最终应用表现得怪异一点。    传统上来

2013-03-14 11:10:13 3291

翻译 V4L2 Linux驱动简介(2)驱动结构

这篇文章是LWN写V4L2接口的设备驱动系列文章的第二篇。没看过介绍篇的,也许可以从那篇开始看。这一期文章将关注Video for Linux驱动的总体结构和设备注册过程。开始之前,有必要提一点,那就是对于搞视频驱动的人来说,有两份资料是非常有价值的。•TheV4L2 API Specification . (V4L2 API说明)这份文档涵盖了用户空间视角下的API,但在很大程度上,V4

2013-03-13 10:57:00 2625

翻译 V4L2 Linux驱动简介(1)

书房网原文链接    笔者最近有机会写了一个摄像头的驱动,是“One laptop per child”项目的中摄像头专用的。这个驱动使用了为此目的而设计的内核API:the Video4Linux2 API。在写这个驱动的过程中,笔者发现了一个惊人的问题:这个API的文档工作做得并不是很好,而用户层的文档则写的,实际上,相当不错。为了补救现在的状况,LWN将在未来的内个月里写一系列文

2013-03-12 14:38:21 2204

原创 Ubuntu12.04上NFS Server安装使用过程

原文链接:Ubuntu12.04上NFS Server安装使用过程实现步骤:1.服务器端:sudo apt-get install portmap2.服务器端:sudo apt-get install nfs-kernel-server3.客户端:sudo apt-get install nfs-common4.服务器端配置:sudo gedit /etc/exports

2013-03-12 10:42:07 12386 1

原创 程序员办公自我保护调理

大多数人每天都在计算机或工作站边上工作小时。最终结果?肌肉疲劳、颈部疼痛,极端情况下会导致肌骨骼疾病,甚至物理性损伤。我最近了解了一项在 19 个国家和地区进行了为期 12 个月的全球性研究,发现大多数员工都经历过至少一次不同身体部位的疼痛。 该研究将颈部和下背痛列为最常见的疼痛。就我个人而言,我发现工作时采取安全、舒适的姿势有助于最大限度地提高工作效率和减少每天 8 小时工作后的

2013-03-11 21:43:31 1884 1

翻译 Fragment的概念与使用(二)--构建灵活的Android应用UI

当你的应用需要支持很多种屏幕尺寸,你可以在不同的布局配置中重用你的Fragment组件在可用的屏幕尺寸上优化用户体验。例如,在手持设备中一次只显示一个Fragment可能是一个合适的选择,当然在Pad设备中将两个Fragment拼在一起来填满更大尺寸的屏幕,同时为用户显示更多的信息。在上图中,两个Fragment,配合不同的配置显示在不同尺寸的屏幕上的效果。FragmentMa

2012-12-28 22:12:09 23407

原创 Fragment的概念与使用(一)--基本概念

Fragment的概念       Fragment是Android honeycomb 3.0新增的概念,你可以将Fragment类比为Activity的一部分,它拥有自己的生命周期,接收自己的输入,你可以在Activity运行的时加入或者移除Fragment.(或者我们也可以将Fragment类比为一个可以在不同的Activity中重用的子Activity。    Fragme

2012-12-28 21:11:15 6252

原创 深入理解Activity的生命周期

管理你的Activity的生命周期当用户在系统与你的应用之间切换的过程中,你的应用中的Activity实例也会在自己的不同生命周期中切换。例如,用户第一次打开你的应用,应用展现在用户的手机桌面,获取用户的输入焦点。在这个过程中,Android系统调用了你的Activity中的一系列的生命周期方法,这些方法建立了应用组建和用户之间的联系。如果用户启动了应用中的另外一个Activity,或者直接切

2012-12-28 12:34:52 6567 2

原创 Android应用中的组件功能简介

Android应用通常由一个或者多个组件组成,这些组件包括Activity,Service, BroardcastReceiver, ContentProvider等 Activity是Android应用中负责与用户交互的组件,为用户提供可视化的用户界面,如果应用需要多个用户界面,那么这个应用就需要多个Activity,多个Activity一起组成Activity栈,当前活动的Activi

2012-12-27 10:53:28 1230

原创 u-boot系统启动流程

大多数bootloader都分为stage1和stage2两部分,u-boot也不例外。依赖于CPU体系结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。 1、Stage1 start.S代码结构 u-boot的stage1代码通常放在start.S文件中,他用汇编语言写成,其主要代

2012-12-07 14:45:07 928 1

转载 LTP工具说明

LTP工具说明 1.... LTP测试套件......................................................31.1        简介.......................................................................................................

2012-11-29 14:26:11 39706 6

翻译 我如何征服MIT的计算机科学课程

我是如何征服MIT的计算机科学课程的,Scott Young我一直被快速学习的愿景所激励,精通技术对我来说很重要。掌握专业的技术为你的事业的成功,可以挣到更多的钱,享受生活增加了筹码。如果变得卓越是你的目标的话,那么学习就是通向卓越的方法。且不论快速学习的好处,很多人看起来不会去学习如何去学习。可能是因为他们不相信这是可能的,他们认为学习速度是天生的。总

2012-10-30 13:29:53 5652

翻译 高效居家办公的20个方法

Twenty Ways to Stay Productive When Working at Home高效居家办公的20个方法How do you stay productive when you are working at home by yourself?Although many people working from home enjoy the freedom and

2012-10-27 15:16:05 3638

翻译 微博:中国最有力的媒体

Weibo: the most powerful media in China微博:中国最有力的媒体KaiFu LeeOctober 25, 2012inShare8 (Part of Chinese innovation series, toshare innovative companies and products in China)(中国式创新系列,分享中国的创

2012-10-26 11:05:58 2088

翻译 中国公司能创新吗?--Kaifu Lee

Can Chinese companies innovate?中国公司能创新吗? The pictures above are the "FourGreat Inventions" of China: paper, compass, printing, and gunpowder, Thousands ofyears later, the Chinese seem to h

2012-10-26 10:09:23 1898

转载 C++中const用法总结

C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用   如下表所示:No.作用说明参考代码

2012-10-22 12:14:46 732

原创 为什么对象如此重要----C++学习笔记之一

对于面向对象的程序设计方法,首先要建立对象的概念:1、万物皆为对象。对象可以被认为是一个奇特的变量,他能存放数据,并且可以对他提出请求,要求他执行自身的运算。2、程序就是一组对象,对象之间相互通过发送消息互相通知做什么。更具体的讲可以将消息看做对于某个对象的某个特定方法。3、每个对象都有他自己的由其他对象构成的存储区。这样就可以通过已经存在的对象来构造新的对象,

2012-10-20 16:46:26 719

翻译 风险投资者不青睐你的5个原因

Five reasons a VC didn't back you风险投资者不青睐你的5个原因Kai Fu LeeOctober 12, 2012You are an entrepreneur who wants to find and win over a venturecapitalist (VC) or an angel to give your idea a financi

2012-10-19 18:20:20 912

原创 利用pkill调用做进程监控

pkill 和killall 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。  pkill   -0就是不发送任何信号,但是系统会进行错误检查。 所以经常用来检查一个进程是否存在,当进程不存在时, pkill   -0 会返回错误。 for(i=0;i{    sprintf(cmdline,"pkill -0%s",applist[i]

2012-10-19 12:28:57 853

原创 GPIO配合移位寄存器控制LED

在最近的一个项目当中用到了一个通过2个GPIO配合两个移位寄存器控制16个LED灯的案例,才开始的感觉蛮简单,但是实际做的时候却发现了一些问题,当然最后还是比较完美的完成了任务,现在总结一下 移位寄存器的时序图:首先是基本功能就是通过GPIO模拟时序写寄存器,一个寄存器是8位,两个移位拼在一起就是16位,在模块当中的将写寄存器封装成一个函数 #define sc

2012-10-19 09:37:42 3167 1

翻译 为什么中国没有出现扎克伯格

More specifically, why are there hardly any twenty-year-old wunderkind entrepreneurs in China?很奇怪,为什么在中国很少有二十几岁的创业者呢?I pulled the last 10 China IT IPOs in the US, and found that the founders w

2012-10-19 08:53:57 1536

翻译 Google和Microsoft的地图服务--李开复

As mobile usage becomes more prominent, one technology thatdramatically rises in value is Maps.  Mobile devices becomelocation-aware, which can provide much end-user and commercial value. It's interes

2012-10-19 08:52:16 2922

翻译 为你自己找一个导师

Get yourself a mentor李开复A personal mentor is like a personal trainer -- someone who can give you objective and personalized help to make you better.个人顾问就像一个个人教练—一个可以在特定的事情上给你个性化帮助,是你变得更好的人。

2012-10-19 08:50:46 836 1

转载 Linux内核线程编程方法

内核经常需要在后台执行一些操作,这种任务就可以通过内核线程(kernle thread)完成--独立运行在内核空间的标准进程。内核线程和普通的进程间的区别在于内核线程没有独立的地址空间,mm指针被设置为NULL;它只在 内核空间运行,从来不切换到用户空间去;并且和普通进程一样,可以被调度,也可以被抢占。实际上,内核线程只能由其他内核线程创建,在现有的内核线程中创建一个新的内核线程的方法:k

2012-07-12 13:15:45 960

转载 使用find和xargs完成查找任务

在使用find命令的-exec选项处理匹配到的文件时,find命令将所有匹配到的文件一起传递给exec执行。不幸的是,有些系统对能够传递给 exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出” 。这就是xargs命令的用处所在,特别是与 find命令一起使用。find命令把匹配到的文件传递给 xargs命令,而xargs命令

2012-06-06 12:52:14 910

原创 Netlink实例----用户态内核态全包含

/* * netlink_kernel.c */#ifndef __KERNEL__#define __KERNEL__#endif#ifndef MODULE#define MODULE#endif#include #include #include #include #include #include #include #in

2012-05-15 18:18:16 2091

转载 C调试方法之--------Gprofile

一、GProfile简介      GProfile是gcc的一个工具,用于对应用程序的测试。      GProfile可以分析出函数的调用次数、函数的调用关系以及函数消耗的时间。 二、GProfile原理      在编译和链接你的程序的时候,gcc 在你应用程序的每个函数中都加入了一个名为mcount ( or "_mcount" , or "__mcount" , 依赖

2012-05-11 12:00:09 4116

转载 IEEE 802.11 RTS/CTS

DCF(Distributed Coordination Function)。  基本服务群(BSS)是无线局域网的基本单元,它的功能包括分布式协调功能(DCF)和点协调功能(PCF)。DCF是802.11MAC协议的基本媒体访问方法,作用于基本服务群和基本网络结构中,可在所有站实现,它支持竞争型异步业务。       DCF控制机制有一个显而易见的问题,即站点隐藏问题。DCF提供的是一种

2012-05-09 10:18:41 8521 1

转载 NAPI In Linux Network Device Driver

简介: NAPI 是 Linux 上采用的一种提高网络处理效率的技术,它的核心概念就是不采用中断的方式读取数据,而代之以 POLL 的方法来轮询数据,类似于底半方式(bottom-half 的处理模式);但是目前在 Linux 的 NAPI 工作效率比较差,本文在分析 NAPI 的同时,提供了一种高效的改善方式供大家参考。NAPI 是 Linux 上采用的一种提高网络处理效率的技术

2012-05-08 20:50:13 1860

原创 Linux Notification chain学习

概 述    内核许多子系统之间关联紧密,因此在一个子系统发生或者检测到的事件信息很可能对其他子系统来说也是有价值的。为了满足其他子系统对这些事件信息的需求,即在某个子系统内发生或检测到事件时,其他对此感兴趣的子系统也能知道事件的发生,内核提供了notification chain机制。注意:notification chain适用于内核子系统之间的信息传递,不涉及用户态。No

2012-05-07 13:31:38 1501

转载 Linux PCI设备驱动

PCI是一种广泛采用的总线标准,它提供了许多优于其它总线标准(如EISA)的新特性,目前已经成为计算机系统中应用最为广泛,并且最为通用的总线标准。Linux的内核能较好地支持PCI总线,本文以Intel 386体系结构为主,探讨了在Linux下开发PCI设备驱动程序的基本框架。一、PCI总线系统体系结构PCI是外围设备互连(Peripheral Component Intercon

2012-05-04 09:45:32 968

转载 WiFi认证过程需要的协议和服务

什么是 RADIUS 服务器 RADIUS 是一种用于在需要认证其链接的网络访问服务器(NAS)和共享认证服务器之间进行认证、授权和记帐信息的文档协议。RADIUS 的关键功能部件为: 客户机/服务器体系结构 网络访问服务器(NAS)作为 RADIUS 客户机运行。客户机负责将订户信息传递至指定的 RADIUS 服务器,然后根据返回的响应进行操作。 RADIUS 服务器

2012-05-03 14:48:10 12029

转载 UPnP协议学习

UPnP协议具有下述特色:  1. 以网络为应用环境,不考虑“孤岛”中的计算机。  2. 以TCP/IP和整个Internet为基础。这样是“中立”的,不依附于任何操作系统或应用程序,不使用特定的API函数,不受程序设计语言的局限。可以无缝地接入传统网络。  3. 设备可以动态地进入网络中,随后获得IP地址,“学习” 或查找自己应当进行的操作和服务的信息;“感知”别的设备是否存在以

2012-05-03 09:27:15 1986

转载 kmalloc and vmalloc

在设备驱动程序中动态开辟内存,不是用malloc,而是kmalloc,或者用get_free_pages直接申请页。释放内存用的是kfree,或free_pages.   对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。  进程的4GB内存空间被人为的分为两个部分--用户

2012-04-28 12:17:03 742

转载 IGMP技术总结(2)

5.  组播模型分类 根据接收者对组播源处理方式的不同,组播模型分为以下三类:·         ASM 模型:Any-Source Multicast,任意信源组播在ASM 模型中,任意一个发送者都可以作为组播源向某组播组地址发送信息。众多接收者通过加入由该组播组地址标识的组播组以获得发往该组播组的组播信息。在ASM 模型中,接收者无法预先知道组播源的位置,但可以在任意时间加入或

2012-04-26 14:19:35 2655

转载 转:IGMP技术总结(1)

1.  IGMP 简介 IGMP 是Internet Group Management Protocol(互联网组管理协议)的简称。它是TCP/IP 协议族中负责IP 组播成员管理的协议,用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。  IGMP 的版本到目前为止,IGMP 有三个版本:·         IGMPv1(由RFC 1112 定义)

2012-04-26 14:06:21 1193

空空如也

空空如也

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

TA关注的人

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