??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品18,久久人人爽人人爽人人片AV麻豆,久久精品无码一区二区三区免费http://www.shnenglu.com/singohgod/category/2215.html每天晚上入睡Q都迎来崭新的明天Q这是梦想Q?大宝天天?/description>zh-cnWed, 24 Aug 2011 10:59:14 GMTWed, 24 Aug 2011 10:59:14 GMT60[摘录]Windows7中关机、睡眠和休眠的区?/title><link>http://www.shnenglu.com/singohgod/archive/2011/08/24/154217.html</link><dc:creator>大宝天天?/dc:creator><author>大宝天天?/author><pubDate>Wed, 24 Aug 2011 08:13:00 GMT</pubDate><guid>http://www.shnenglu.com/singohgod/archive/2011/08/24/154217.html</guid><wfw:comment>http://www.shnenglu.com/singohgod/comments/154217.html</wfw:comment><comments>http://www.shnenglu.com/singohgod/archive/2011/08/24/154217.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/singohgod/comments/commentRss/154217.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/singohgod/services/trackbacks/154217.html</trackback:ping><description><![CDATA[@import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); <span style="line-height: normal; "> <div><font size="3"> <p>假设l过一D|间的使用Q电脑里q行了很多程序,q些E序有些保留在内存中Q有?#8220;暂存”在硬盘中。如果这时候我们不打算使用电脑Q那?#8220;x”?#8220;休眠”Q和“睡眠”的不同点可以体现出来了?/p> <ul> <li>如果“x”Q这时候Windows会保存所有运行中的程序的状态(例如在Word里写了一半的文档Q,把所有程序都关闭Q可以想像成直接把书合上Q,q保存到盘中,然后d切断电脑的电源?/li> <li>如果“休眠”Q这时候Windows也会把运行中的所有程序重C存到盘。但和关机的不同在于Q关机时候,Windows会把?#8220;合上”Q然后放回书柜;但休眠时候,Windows不把书合上,直接攑֛书柜Qƈ把书桌上的所有东襉K清空Q然后彻底切断电脑的甉|?/li> <li>如果睡眠Q这时候Windows一样会把书攑֛书柜Q但是书依然保持打开状态,到这一步和休眠时完全相同的。但是在睡眠Ӟ书桌上的内容q不会被清空QWindows会切断除了内存之外其他所有设备的供电Q但对内存的供电依然持箋Q因此内存中的数据不会丢失?/li> </ul> <p>q?也就是说Q如果要让电脑关机,Windows首先要关闭所有运行中的程序,然后关闭pȝ后台的服务,接着向主板和甉|发出Ҏ的信P让电源切断对所有设 备的供电Q电脑彻底关闭。下ơ开机后Q电脑完成自工作Q然后将Windowspȝ载入内存Q接着l箋加蝲其他后台服务Qƈ昄d界面。登录后Q才可以 q行自己的程序,开始用电脑。整个过E因d关闭q头开始启动系l和E序Q因此所需的时间最常?br /> <br /> 对于待机模式Q如果要电脑放?待机模式QWindows会自动向甉|发出另一U特D信P随后甉|会切断除了内存外其他讑֤的供电,内存中依然保存了pȝq行中的所有数据,q个q程一 两秒钟就可以完成。当从待机状态进入正常状态时Q只要通电Q然后Windows׃l箋从内存中保存的上一ơ的“状态数?#8221;下运行,q个q程也只需要几U?钟?br /> <br /> 可见Q对于待机状态,完全可以不用关闭自己的程序,如果需要,随时可以待机。而要恢复时也只需要按下电源按钮,几秒钟即可恢复。但q?U模式虽然方便,但有一个致命的~陷Q不能停止对内存的供c因为内存是一U易失性存储设备,必须在保证供늚情况下才能维持其中的数据。因此一旦电脑在 待机状态下断电Q哪怕不CU钟Q内存中的数据将丢失Q下ơ开机的时候,Windows会像从关机状态下启动那样重新开始?br /> <br /> 休眠模式和待 机模式类|只不q在休眠状态下QWindows会将内存中的数据保存到硬盘上pȝ盘根目录下的一个文件中Q可以将q个文g理解为内存状态的“镜像”Q?而下ơ开机后则从内存上的休眠文g内读取数据,q蝲入物理内存。休眠模式可以实现和待机模式cM的功能,只不q恢复速度E慢Q而且需要在盘上占据一块和 物理内存一样大的空间来保存休眠文g。物理内存越多,占用的空间就多Q而进入状态和从状态恢复所需的时间也p长(毕竟需要把文g从硬盘读入内存,而硬 盘的速度一直都是最慢的Q。但q种模式的优点也有很多,不怕断电!毕竟断电后硬盘上的数据ƈ不会丢失?br /> <br /> Windows Vista中开始新增了的一U睡眠模式则l合了待机和休眠模式的所有优炏V在q入睡眠模式后,Windows会首先将内存中的数据保存到硬盘上Q这一点类 g眠)Q同时切断除了内存外其他讑֤的供电(q一点类似待机)。在恢复Ӟ如果没有断过电,那么pȝ会从内存中直接恢复,只需要几U钟Q而就断电,?为硬盘中q保存有内存的状态镜像,因此q可以从盘上恢复,虽然速度要稍微慢一些,但至不用担心数据丢失?/p> <div> <div>收v该表格展开该表?/div> <table cellspacing="1"> <tbody> <tr> <th> </th><th><span style="background-color: yellow; ">q入速度</span></th><th><span style="background-color: yellow; ">恢复速度</span></th><th><span style="background-color: yellow; ">是否耗电</span></th><th><span style="background-color: yellow; ">断电后结?/span></th> </tr> <tr> <td><span style="background-color: yellow; ">睡眠</span></td> <td><span style="background-color: yellow; ">几秒?/span></td> <td><span style="background-color: yellow; ">不断늚情况下几U钟</span></td> <td><span style="background-color: yellow; ">需要对内存q行量供电</span></td> <td><span style="background-color: yellow; ">断电后,未保存数据不受损Q但恢复速度需要略微g长些</span></td> </tr> <tr> <td><span style="background-color: yellow; ">休眠</span></td> <td><span style="background-color: yellow; ">两分钟左?/span></td> <td><span style="background-color: yellow; ">两分钟左?/span></td> <td><span style="background-color: yellow; ">完全不耗电</span></td> <td><span style="background-color: yellow; ">未保存数据不会丢?/span></td> </tr> <tr> <td><span style="background-color: yellow; ">待机</span></td> <td><span style="background-color: yellow; ">几秒?/span></td> <td><span style="background-color: yellow; ">几秒?/span></td> <td><span style="background-color: yellow; ">需要对内存q行量供电</span></td> <td><span style="background-color: yellow; ">断电后所有未保存数据都会丢失</span></td> </tr> </tbody> </table> </div> <p><br /> lg所qͼq几U模式各有利弊,但只要Windows和所用硬件支持,?span style="background-color: yellow; ">强烈使用睡眠功能代替以往习惯的关机操?/span>。毕竟睡眠功能的优势显而易见,不仅可以避免漫长的启动过E,而且完全可以把电脑当作电视一L一般电器,随开随关Q完全不用担心丢失数据?/p> </font></div> </span> @import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);<img src ="http://www.shnenglu.com/singohgod/aggbug/154217.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/singohgod/" target="_blank">大宝天天?/a> 2011-08-24 16:13 <a href="http://www.shnenglu.com/singohgod/archive/2011/08/24/154217.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转蝲]linux下automake用法http://www.shnenglu.com/singohgod/archive/2011/08/01/152224.html大宝天天?/dc:creator>大宝天天?/author>Mon, 01 Aug 2011 09:40:00 GMThttp://www.shnenglu.com/singohgod/archive/2011/08/01/152224.htmlhttp://www.shnenglu.com/singohgod/comments/152224.htmlhttp://www.shnenglu.com/singohgod/archive/2011/08/01/152224.html#Feedback0http://www.shnenglu.com/singohgod/comments/commentRss/152224.htmlhttp://www.shnenglu.com/singohgod/services/trackbacks/152224.html
作ؓLinux下的E序开发h员,大家一定都遇到qMakefileQ用make命o来编译自己写的程序确实是很方ѝ一般情况下Q大安是手工写一个简单MakefileQ如果要惛_Z个符合自pY件惯例的Makefile׃那么Ҏ了?nbsp;


在本文中Q将l大家介l如何?nbsp;autoconf和automake两个工具来帮助我们自动地生成W合自由软g惯例的MakefileQ这样就可以象常见的GNUE序一P只要使用“./configure”Q?#8220;make”Q?#8220;make install”可以把E序安装到Linuxpȝ中去了。这特别适合惛_开放源代码软g的程序开发h员,又或如果你只是自己写些小的ToyE序Q那么这个文章对你也会有很大的帮助?/p>

~译一个简单的源文件main.c,需要自动生成一个makefile,以下是步骤:

W一步:

----------

?root/project/main目录下创Z个文件main.c,其内容如下:

------------------------------------------------

#include <stdio.h>

int main(int argc, char** argv)

{

printf("Hello, Auto Makefile!\n");

return 0;

}

------------------------------------------------

此时状态如下:

[root@localhost main]# pwd

/root/project/main

[root@localhost main]# ls

main.c

[root@localhost main]#

W二步:

----------

q行 autoscan , 自动创徏两个文gQ?autoscan.log configure.scan

此时状态如下:

[root@localhost main]# autoscan

[root@localhost main]# ls

autoscan.log configure.scan main.c

[root@localhost main]#

W三步:

----------

修改configure.scan的文件名为configure.in

查看configure.in的内容:

------------------------------------------------

# -*- Autoconf -*-

# Process this file with autoconf to produce a configure script.

AC_PREREQ(2.61)

AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS)

AC_CONFIG_SRCDIR([main.c])

AC_CONFIG_HEADER([config.h])

# Checks for programs.

AC_PROG_CC

# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

AC_OUTPUT

------------------------------------------------

解读以上的文Ӟ

------------------------------------------------

# -*- Autoconf -*-

# Process this file with autoconf to produce a configure script.

# AC_PREREQ:

# 保使用的是_新的Autoconf版本。如果用于创建configure的Autoconf的版

# 本比version 要早Q就在标准错误输出打C条错误消息ƈ不会创徏configure?/p>

AC_PREREQ(2.61)

#

# 初始?定义软g的基本信?包括讄包的全称,版本号以及报告BUG旉要用的邮地址

#

AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS)

#

# 用来侦测所指定的源码文件是否存在,来确定源码目录的有效?/p>

#

AC_CONFIG_SRCDIR([main.c])

#

# 用于生成config.h文gQ以便autoheader使用

#

AC_CONFIG_HEADER([config.h])

# Checks for programs.

AC_PROG_CC

# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

#

# 创徏输出文g。在`configure.in'的末调用本宏一ơ?/p>

#

AC_OUTPUT

------------------------------------------------

修改动作:

1.修改AC_INIT里面的参? AC_INIT(main,1.0, pgpxc@163.com)

2.d宏AM_INIT_AUTOMAKE, 它是automake所必备的宏Q也同前面一PPACKAGE是所要生Y件套件的名称QVERSION是版本编受?/p>

3.在AC_OUTPUT后添加输出文件Makefile

修改后的l果:

------------------------------------------------

# -*- Autoconf -*-

# Process this file with autoconf to produce a configure script.

AC_PREREQ(2.61)

AC_INIT(main, 1.0, pgpxc@163.com)

AC_CONFIG_SRCDIR([main.c])

AC_CONFIG_HEADER([config.h])

AM_INIT_AUTOMAKE(main,1.0)

# Checks for programs.

AC_PROG_CC

# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

AC_OUTPUT([Makefile])

------------------------------------------------

W四?

q行 aclocal, 生成一?#8220;aclocal.m4”文g和一个缓冲文件夹autom4te.cacheQ该文g主要处理本地的宏定义?/p>

此时的状态是Q?/p>

[root@localhost main]# aclocal

[root@localhost main]# ls

aclocal.m4 autom4te.cache autoscan.log configure.in configure.in~ main.c

[root@localhost main]#

W五步:

q行 autoconf, 目的是生?configure

此时的状态是Q?/p>

[root@localhost main]# autoconf

[root@localhost main]# ls

aclocal.m4 autoscan.log configure.in main.c

autom4te.cache configure configure.in~

[root@localhost main]#

W六步:

q行 autoheaderQ它负责生成config.h.in文g。该工具通常会从“acconfig.h”文g中复制用户附加的W号定义Q因此此处没有附加符号定义,所以不需要创?#8220;acconfig.h”文g?/p>

此时的状态是Q?/p>

[root@localhost main]# autoheader

[root@localhost main]# ls

aclocal.m4 autoscan.log configure configure.in~

autom4te.cache config.h.in configure.in main.c

[root@localhost main]#

W七步:

下面卛_q行 automake, 但在此之前应该做一下准备工?

首先

创徏一?nbsp;Makefile.am.q一步是创徏Makefile很重要的一步,automake要用的脚本配|文件是Makefile.amQ用户需要自己创建相应的文g。之后,automake工具转换成Makefile.in?/p>

q个Makefile.am的内容如下:

------------------------------------------------

AUTOMAKE_OPTIONS=foreign

bin_PROGRAMS=main

main_SOURCES=main.c

------------------------------------------------

下面对该脚本文g的对应项q行解释?/p>

其中的AUTOMAKE_OPTIONS|automake的选项。由于GNUQ在W?章中已经有所介绍Q对自己发布的Y件有严格的规范,比如必须?带许可证声明文gCOPYING{,否则automake执行时会报错。automake提供了三UY件等U:foreign、gnu和gnitsQ让?户选择采用Q默认等Uؓgnu。在本例使用foreign{Q它只检必ȝ文g?/p>

bin_PROGRAMS定义要生的执行文g名。如果要产生多个执行文gQ每个文件名用空格隔开?/p>

main_SOURCES定义“main”q个执行E序所需要的原始文g。如?#8221;main”q个E序是由多个原始文g所产生的,则必L它所用到的所有原 始文仉列出来,q用I格隔开。例如:若目标体“main”需?#8220;main.c”?#8220;sunq.c”?#8220;main.h”三个依赖文gQ则定义 main_SOURCES=main.c sunq.c main.h。要注意的是Q如果要定义多个执行文gQ则Ҏ个执行程序都要定义相应的file_SOURCES?/p>

其次

使用automake对其生成“configure.in”文gQ在q里使用选项“—adding-missing”可以让automake自动d有一些必需的脚本文件?/p>

q行后的状态是Q?/p>

------------------------------------------------

[root@localhost main]# automake --add-missing

configure.in:8: installing `./missing'

configure.in:8: installing `./install-sh'

Makefile.am: installing `./depcomp'

[root@localhost main]# ls

aclocal.m4 config.h.in configure.in~ main.c Makefile.in

autom4te.cache configure depcomp Makefile.am missing

autoscan.log configure.in install-sh Makefile.am~

[root@localhost main]#

------------------------------------------------

W八?/p>

q行configureQ在q一步中Q通过q行自动配置讄文gconfigureQ把Makefile.in变成了最l的Makefile?/p>

q行的结果如下:

------------------------------------------------

[root@localhost main]# ./configure

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

checking for gcc... gcc

checking for C compiler default output file name... a.out

checking whether the C compiler works... yes

checking whether we are cross compiling... no

checking for suffix of executables...

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ISO C89... none needed

checking for style of include used by make... GNU

checking dependency style of gcc... gcc3

configure: creating ./config.status

config.status: creating Makefile

config.status: creating config.h

config.status: executing depfiles commands

[root@localhost main]# ls

aclocal.m4 config.h.in configure.in main.c Makefile.in

autom4te.cache config.log configure.in~ Makefile missing

autoscan.log config.status depcomp Makefile.am stamp-h1

config.h configure install-sh Makefile.am~

[root@localhost main]#

------------------------------------------------

W九?/p>

q行 makeQ对配置文gMakefileq行试一?/p>

此时的状态如?

------------------------------------------------

[root@localhost main]# make

cd . && /bin/sh /root/project/main/missing --run aclocal-1.10

cd . && /bin/sh /root/project/main/missing --run automake-1.10 --foreign

cd . && /bin/sh /root/project/main/missing --run autoconf

/bin/sh ./config.status --recheck

running CONFIG_SHELL=/bin/sh /bin/sh ./configure --no-create --no-recursion

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

checking for gcc... gcc

checking for C compiler default output file name... a.out

checking whether the C compiler works... yes

checking whether we are cross compiling... no

checking for suffix of executables...

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ISO C89... none needed

checking for style of include used by make... GNU

checking dependency style of gcc... gcc3

configure: creating ./config.status

/bin/sh ./config.status

config.status: creating Makefile

config.status: creating config.h

config.status: config.h is unchanged

config.status: executing depfiles commands

cd . && /bin/sh /root/project/main/missing --run autoheader

rm -f stamp-h1

touch config.h.in

make all-am

make[1]: Entering directory `/root/project/main'

gcc -DHAVE_CONFIG_H -I. -g -O2 -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c

mv -f .deps/main.Tpo .deps/main.Po

gcc -g -O2 -o main main.o

cd . && /bin/sh ./config.status config.h

config.status: creating config.h

config.status: config.h is unchanged

make[1]: Leaving directory `/root/project/main'

[root@localhost main]# ls

aclocal.m4 autoscan.log config.h.in config.status configure.in depcomp main main.o Makefile.am Makefile.in stamp-h1

autom4te.cache config.h config.log configure configure.in~ install-sh main.c Makefile Makefile.am~ missing

[root@localhost main]#

------------------------------------------------

W十?/p>

q行生成的文?mainQ?/p>

------------------------------------------------

[root@localhost main]# ./main

Hello, Auto Makefile!

[root@localhost main]#

------------------------------------------------

我用的是ubuntu

以上是全文?但有一处要?用aclocal

全报有一个m4文g有错.扑ֈ报错的那一?把变量加个中括号可以了

@import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

]]>
[转蝲]Flex 4里的fx、mx以及s命名I间http://www.shnenglu.com/singohgod/archive/2011/06/27/149595.html大宝天天?/dc:creator>大宝天天?/author>Mon, 27 Jun 2011 10:09:00 GMThttp://www.shnenglu.com/singohgod/archive/2011/06/27/149595.htmlhttp://www.shnenglu.com/singohgod/comments/149595.htmlhttp://www.shnenglu.com/singohgod/archive/2011/06/27/149595.html#Feedback0http://www.shnenglu.com/singohgod/comments/commentRss/149595.htmlhttp://www.shnenglu.com/singohgod/services/trackbacks/149595.htmlFlex 4带给我们的,是全新的命名I间。了解这些命名空间必定是一件好事情。Flex 4有三个非帔R要的命名I间Q分别是Q?/p>

xmlns:fx=”http://ns.adobe.com/mxml/2009″
xmlns:mx=”library://ns.adobe.com/flex/halo”
xmlns:s=”library://ns.adobe.com/flex/spark”


1、xmlns:fx=”http://ns.adobe.com/mxml/2009″
        fx命名I间下包含ActionScript元素和内建到MXML~译器里的标{?/p>

        前者ActionScript元素是?Object、Number、Boolean以及Array对象{等Q在《Adobe Flex 4 Beta Language Reference》的包(Top LevelQ里可以查看完整的顶U元素。后者内建到MXML~译器里的标{֌?lt;fx:Script>?lt;fx:Declarations>?lt;fx:Style>{等Q在《Adobe Flex 4 Beta Language Reference》附录(AppendixesQ里?#8220;MXML Only Tags”可以查看完整的编译器元素。值得注意的是Q这个命名空间ƈ不包?Halo ?Spark lgQHalo是以前版本的lg库,而Spark是Flex 4新出的组件库Q。在Flash Builder安装目录下可以找?#8220;mxml-2009-manifest.xml”文gQ例如我的电脑是C:\Program Files\Adobe\Flash Builder Beta\sdks\4.0.0\frameworks\mxml-2009-manifest.xmlQ,q个xml文g描述了完整的 ActionScriptcR不q你可以注意刎ͼ它ƈ没有包含MXML~译器标{,那是因ؓq些标签是内建到MXML~译器?/p>


2、xmlns:mx=”library://ns.adobe.com/flex/halo”
        mx命名I间包含着攑֜ mx.* 包里那些lgQFlex图表、Flex数据可视化组件等{。对Flex 3很熟悉的话,mx包里的组件你也不陌生了。在Flex 4 SDK的安装目录下可以扑ֈ“halo-manifest.xml”文gQ例如我的电脑是C:\Program Files\Adobe\Flash Builder Beta\sdks\4.0.0\frameworks\halo-manifest.xmlQ,q个XML文g列出了所有组件了?/p>


3、xmlns:s=”library://ns.adobe.com/flex/spark”
        s命名I间可真是新鲜事了,spark.* 包里的组仉在这个命名空间里Q不只spark包,flashx.*包的text frameworkcM在这个命名空间里。这个命名空间包含不RPCc,例如 WebService、HTTPService和RemoteObjectlgQ这些组件同时也在mx命名I间下,也就是说Q创些组件时Q你不但可以使用“S:”前缀Q也可以使用“mx:”前缀。其实不只这些RPClgq两个命名I间Q像graphics、effect和statecM是共?s ?mx 命名I间的。在Flex 4 SDK安装目录下打开spark-manifest.xml文g来看看完整的sparklg吧?/p>

 

 



]]>
[转蝲]Flex是咋回事http://www.shnenglu.com/singohgod/archive/2011/06/27/149591.html大宝天天?/dc:creator>大宝天天?/author>Mon, 27 Jun 2011 09:58:00 GMThttp://www.shnenglu.com/singohgod/archive/2011/06/27/149591.htmlhttp://www.shnenglu.com/singohgod/comments/149591.htmlhttp://www.shnenglu.com/singohgod/archive/2011/06/27/149591.html#Feedback0http://www.shnenglu.com/singohgod/comments/commentRss/149591.htmlhttp://www.shnenglu.com/singohgod/services/trackbacks/149591.htmlFlex是咋回事之一 集CS和BS之大成的RIA

用了一q多FlexQ感触多多。偶有同行的朋友问我啥是FlexQ说实话Q一时半会儿我还真说不清楚。尤其是对于一个从未接触过Flex的朋友,惌由浅入深地只用嘴巴不用电脑给他讲明白Q这实难ؓ一个整天只跟机器打交道的程序员了。后来我想了一个办法,我说你知道开心农场吧Q那是拿Flex做的。这下子很多人有兴趣了,呵呵Q如果你也有兴趣Q请l箋往下看。失a未察之处Q欢q拍砖?/p>

 

一般来_一Ҏ术的产生都是Z解决业界的重大难题而出现的。那么说到Flex我们׃得不先说一下RIA。RIAq个概念其实早就出现了,我最初是07q在《程序员》杂志上关于Ajax技术的介绍时看到的。到?8q_伴随着|络视频的飞速发展,RIA应用已经搞得有声有色热火朝天了,其实译q来是个富客户端(Rich Internet ApplicationQ,相较于BS的瘦客户端,也可以称之ؓ胖客L。当然如果你已经被这些名词概늆得焦头烂额,误跛_D(黑好心提示Q本部分仅余四段。。。)?/p>

 

RIA单的_是CS+BS的开发部|模式。CS和BS大家都很熟悉QCS的全拼是Client/ServerQ它的优点在于借助局域网的信息安全和带宽优势Q充分利用客h器的q算能力从而降低服务器压力Q缺点就是安装部|更新麻烦,比如老板让我跑到一千公里外的客户那安装一千台机器的客LQ过几天我回来了Q老板说那Ҏ几台机器q行有问题,你去l护一下~Q过几个月,老板说你L那一千台机器全部升一遍,他们自己不会装。。。呵呵,q些痛苦我当然不曄历,我杜撰的?/p>

 

那么?998q_互联|风起云涌的时候,BSQBrowser/ServerQ逢时而生。BS充分利用互联|的优势Q解决了CS安装部v更新的一大难题。通过把业务逻辑处理攑֜服务器端Q然后解析ؓHTMLQ利用HTTP协议传输到客L览器上׃事大吉。看h很美Q其实干q就知道也很痛苦。哪儿痛呢,痛的当然是我们这些开发者。安装部|更新倒是省事儿了Q装个IEQ给个网址p让客L录了。但是,ZHTML+JavaScript的技术让人很崩溃。JavaScript我好久不用了Q在以前毕业实习的时候,感觉开发和调试都不方便Q而且q面临着不同览器不兼容的噩梦(据说现在上述问题随着Ajax的风行有所改善Q我不太了解Q。另外,BSq有一些潜在的~点。比如,客户端体验简单,不易开发丰富的效果来展C数据(q和当时的网l带宽也有关p)Q必联|才能运行,信息安全无法保障Q应用程序需要通过其他技术辅助才能操作客L资源Q服务器负蝲q高而客hq算能力未充分用等?/p>

 

l合来讲QBS仍然是一个不错的解决ҎQ它的Web应用E序和CS的桌面应用程序曾一度二分天下,各领风骚数十q。从解耦角度来看,CS以数据库的方式把数据从程序中分离QBS以浏览器面的方式把界面和逻辑再次分离Q然而第二次分离是不d的。表面上只是代码l构的分,从实质上看表现层仍然是逻辑层的附庸Q前台UI完全和后台实现技术绑死(把已有项目后CC#换成JAVA是不可能的。。。)Z解决q个问题QRIA出现了(Z搞定了一些其他问题,比如面异步hQ前台UI不够丰富{等Q,RIA基本实现了不依赖于特定后台技术,能与多种服务端搭配用?/p>

 

?002q_MacroMedia公司Q简UMMQ?5q被Adobe收购Q首先在Flash Player6中引入了RIA概念?004q_MM正式发布Flex1.0Q汗Q终于说到Flex了)Q随着Ajax的火爆,RIA开始受到广泛关注。RIA主要有两个方面的含义Q一是用L面的丰富卛_客户端,二是数据模型的智能,服务器已l变成了支持客户端正常运行的数据服务Qƈ提供了异步数据传输和脱机~存机制{复杂的数据处理能力。前面提刎ͼRIA本质上就是CS+BSQ它想集大成Q想搞ȝQ想l结CS和BS二分天下的局面。说显点就是,如果以前的CSE序现在能在|络上运行,q且保持了原来的功能和特征,那么q就是一个RIA。关于RIA的详l介lGOOGLE上一搜一大把Q在此就不l作详细展开。回到当下,RIA各种技术一番拼杀Q现在广Zh知的只剩下四个NB伙QAjax、Flex、SilverLight、JavaFx。在本文W二部分中,我将要介l一下FlexQ貌D度有点儿慢,多谢支持。。。)

 

 

Flex是咋回事之二 前世今生 

 

先说一下Flash PlayerQ简UFPQ。经怸|的朋友一定遇到过Flash Player版本升的提C吧Q这东西其实是览器插Ӟ据说已经有了98%的安装普及率Q没办法Q谁让咱们这么爱看视频呢QFP具体介绍误http://baike.baidu.com/view/1585492.htmQ。Flex生成的页面主要是通过Html包装一下生成的swf文gQ和Flash生成的swf一P它也靠FP才能完美q行Q这有点cMJVM虚拟机和.NET FRAMEWORKQFP里内嵌了AVM虚拟机)。FP又分调试版和产品版,M来讲Q咱们只用FP提供的APIQ以及及时关注最新版本的功能Q其余不会过多接触(我对FP10关于3D斚w的支持很感兴,不过貌似其支持效果不太理惻I?/p>

 

再说一下Flash的历双Ӏ在1996q?Y件公司FutureWave SoftwareZlNetscape开发一个全新的|页览插gQ创Z名ؓFuture Splash Animator的动态小E序Q该产品ZJavaQ是׃个称为SmartSketch的品演化而来Q这是Flash的老祖了。具有讽刺意味的是,q家FutureWave的公司本来是打算把这Ҏ术卖lAdobe的,但在那个时候AdobeҎ不睬它。而MacromediaQ简UMMQ却很有兴趣Q就q样?996q?1?MM在拥有了FutureWaveq家公司的技术后Q把FutureSplash重新命名为Flash Player 1.0。在随后的许多年_Flash被打包ؓStudio套g的一部分Qƈ与其他Studio产品Q如Dreamweaver和FireworksQ一起发布,世hU网三剑客。。。三剑客横行无敌Q到?5q??8日这天,ADOBE实在看不下去了,阔Ԓ出手Q又?4亿美元天h购MM。。。ADOBE大叔估计很后悔当q没收购Future SplashQ搞到现在,被MMl做大了QFlash具体历史介绍参见http://flash.9ria.com/viewthread.php?tid=13194?a >http://space.flash8.net/space/?625743/viewspace-350122Q?/p>

 

如同今年4月Oracle收购Sun一PMM嫁入ADOBE豪门Q在当时的业界也是一片哗然炸雗许多MM的忠实粉丝觉得,那三剑客是被ADOBE大叔招安了啊Q依据其收购产品的一贯猥琐恶行,q几位剑侠估计很快就会被不声不响地给整掉了(当时Flexq是襁褓Q大安没注意到。。。)Fireworks是PhotoShop的老对头了Q肯定是斩立冻IDreamweaver要不是改装变nQ要不就是各U理q接缓死;Flash日子会好q些Q但其一贯的MM风格是否能gl也很难保证?/p>

 

然而ADOBEq次Z意料的善良,三剑客无一遗弃Q相反还忍痛把自己推行多q的SVGȝQ个Z很喜ƢSVGQ无奈和FLASH冲突Q出于商业策略,q孩子被牺牲了)。在最新的CS4QCreative Suite 4Q品系列中Q三剑客依然zd四射C其他成员工具们和谐奋q。那么事隔收购事件四q多之后Q我们已l渐渐接受了MM产品前面加上的ADOBE标签。可以说QADOBE充分吸纳整合了MM的精和风格Q无论是FPq是三剑客,ADOBE一直都在努力地做得更好更和谐。(本h现在已经是ADOBE FANS了,哈哈Q不q还是挺怀念Flash MX2004 和Dreamweaver2004那个时代的,管当时也没闪出啥东西来。。。)

 

说了q么多关于Flash的事情,其实是因为Flash比Flex更出名,ADOBE也察觉到q一点,所以在预备推出FLEX4Ӟ又将其更名ؓFlashQ只是SDK仍然沿用FLEX的名受FLEX和FLASHq没有本质区别,它们最l都是{为ActionScript源文Ӟ然后被编译ؓ二进制的swf文gQ就和JAVA文g被编译成class一PQ再交由FPQFP像JVM虚拟ZP来执行。不同的是,FLASH更偏向于设计人员Q它有时间u和的概念,能更好地实现动画、特效、短片等工效果。Flex是面向开发者的Q隐藏了旉轴的概念Q只有两帧)Q更专注于解决企业应用的表现层方案,提供了大量的通用lg用于构徏前端面、通过数据服务技术能更好的分ȝ面和逻辑业务层?/p>

 

?4q?月MM手中的Flex1.0Q到05q?0月ADOBE手中的Flex2.0Q再?7q?月伴随着强大的面向对象语aActionScript3出现的Flex3.0,再到明年初发布的强力Flex4.0。借着RIA的春风,Flex在不断走向成熟的同时Q也被更多的业界开发者和企业用户所x接受。如果看到这里你很感兴趣Q推荐在GOOGLE上搜索一把,现在不是08q了Q网上已l涌现出大量的简易教E供我们参考学习。当然如果你有些闲钱Q或是想pȝ地学习一下,也可以买几本书。(有时间我会整理些|站博客和书c推荐的Q?/p>

 

在本文第三部分中Q我结合项目经验谈一下Flex的优~点和用心得。没用过Flex的可能无法共鸣吧Q那q接蟩q不看了Q呵?/p>

 

 

Flex是咋回事之三 谁用谁知?/strong>

 

一Ҏ术,从概忉|出到技术研发到商业发布Q再到实际应用,最l将产品呈现在用户面前,q是一个O长而复杂的q程。在q当中,很多有创意有生命力的技术因为各U原因小遗憑֜不幸夭折了。Flex能走C天确实不易,下面让我们从不同的角度来看一下它是如何过x,赢得众多青睐的?/p>

 

技术角度:

Q1Q具备了RIA时代富客L的优点(C/S+B/SQ?/p>

Q2Q支持多U服务器语言QJAVA?NET、PHPQ及L框架QSpring、HibernateQ?/p>

Q3Q与Javal合后相当强大,能充分利用Java的资源背?/p>

Q4Q拥有丰富的lg和第三方lgQ对企业U的数据汇d业务程展现力较强悍

Q5Q借助开源的力量Q拥有众多民间组l和牛h支持

Q6QAdobe公司Q还有MM多年U篏Q的强大背景

Q7Q源于Flash的天生丽质,L使用多媒体资源,动态交互性强

Q8Q借助FlashPlayer的安装普及度Q轻村֮现跨览器跨q_

Q9Q良好的架构设计和制作精良的文档CZQ明qFLEXQ同步推Z文版Q?/p>

Q1Q)借助于插件丰富的Eclipse开发^台ƈ拥有独立的IDE

Q1Q)框架设计重用性高Q有利于模块化设?/p>

Q1Q)q几q发展态势良好Q获得了q泛认可Q品和技术也发成熟

 

开发者角度:

Q1Q开源,透明Q国人没有不喜欢开源的Q哈哈)

Q2Q基于Eclipse开发^収ͼ易上手,且插件丰富(巨h的肩膀啊~Q?/p>

Q3Q基于Eclipseq_Q开发调试方?FB4中的条g断点Q?/p>

Q4QActionScript语言与Java的融合度和相似度较高Q易学易?/p>

Q5QMXML标签与XML怼Q逻辑清晰可读性强

Q6Q架构设计良好,耦合度低Q有利于lg重用

Q7Q无需针对不同览器编写代码,摆脱~写和调试的噩梦Q针对JS说的Q?/p>

Q8Q类似VB的可视化拖拽lgQ快速创建界?/p>

Q9Q方便定制及使用W三方的皮肤和样式,无需工也有好效?/p>

Q1Q)支持多媒体资源,L开发动态交互性强的界?/p>

Q1Q)众多的RPClg保障对后台数据访问的安全性和效率

Q1Q)文档CZ丰富Q通过|络可以获取大量的学习资?/p>

Q1Q)q两q发展态势良好Q前景光?/p>

 

企业角度Q?/p>

Q1Q开源,免费Q其实很多时候还是直接用破解的。。。)

Q2Q具备了RIA时代富客L的优点(C/S+B/SQ(潮流啊~Q)

Q3Q项目和lg的重用性高Q易于资源积累和快速构?/p>

Q4QFlex提供了与其他语言的结合,能广泛利用已有的资源

Q5Q界面华丽,客户认可度高

Q6Q学习曲U一般,培训成本?/p>

 

用户角度Q?/p>

Q1Q部|和更新方便

Q2Q界面漂亮,交互性强

Q3Q安?/p>

 

说了q么多好话,再来l合说一下缺炏V鉴于我着q于Flex的光环效应,没有看到的缺点还误位多多提出?/p>

~点Q?/p>

Q1Q不擅长处理复杂的业务流E,主要q是适合展现QFlex不是万能的)

Q2Q承了Flash的诸多优点,却唯独丢掉了Flash的小巧轻盈(减肥是永恒的话题Q?/p>

Q3Q目前尚没有比较好的减肥{略Q带宽较好时q不是问题(不是一般的卡。。。)

Q4Q对服务器和客户端的g讑֤都有一定要求(CPU和内存占用很生猛。。。)

Q5Q运行期内存泄露状况严重Q尽可以通过一定手D|善(q个很崩溃)

Q6Q对一些较专业的领域涉及较,需要第三方lg支持Q比如地质方面的Q?/p>

Q7QAdobe公司对中国分部的支持不够Q感觉宣讲和文档都做得不够)

Q8Q搜索引擎对swf文g的支持不够(Adobe一直在努力Q?/p>

Q9Q与以往览习惯不同Q比如右键被屏蔽Q图片无法保存(可以改善Q?/p>

 

鉴于Flex生成的swf文g太肥是其主要~点Q加载慢Q运行慢Q内存占用多Q,我就主要从减肥和优化的角度来说一下用心得?/p>

使用心得Q?/p>

Q1QFlex只是前台展现Q需要搭配强大的后台Q注意前后台的均衡和优化Q?/p>

Q2Q考虑异步加蝲Q比如分步加载外部资源)

Q3Q界面推荐用相对布局Q合理组合,避免多余嵌套

Q4Q界面加载图片推荐用外部加载方式,可能多使用矢量囑Ş

Q5Q规范CSS样式表,其注意使用的外部字体大?/p>

Q6Q用额外的皮肤和特效时需要综合考虑生成的文件大和执行效率

Q7Q适当地考虑延时加蝲{略Q主界面只显C必要的内容

Q8Q规范编码,提高执行效率Q避免内存泄?/p>

Q9Q用RSL和Module和其他有效方式努力减?/p>

Q1Q)可能重写一些承底层类的组Ӟ执行效率更好

Q1Q)慎重使用重量U组Ӟ比如DataGridQAdvancedDataGridQ?/p>

 

原文来自Q雨枫技术教E网 http://www.fengfly.com



]]>
[转蝲]大型上市游戏公司重要职能架构http://www.shnenglu.com/singohgod/archive/2010/09/17/126834.html大宝天天?/dc:creator>大宝天天?/author>Fri, 17 Sep 2010 02:40:00 GMThttp://www.shnenglu.com/singohgod/archive/2010/09/17/126834.htmlhttp://www.shnenglu.com/singohgod/comments/126834.htmlhttp://www.shnenglu.com/singohgod/archive/2010/09/17/126834.html#Feedback0http://www.shnenglu.com/singohgod/comments/commentRss/126834.htmlhttp://www.shnenglu.com/singohgod/services/trackbacks/126834.html大型上市游戏公司重要职能架构 - 新好

作者:新好
博客Q?a target=_blank>http://blog.sina.com.cn/u/1054908282?retcode=0

 

首席执行官【CEO?/strong>

国人在20世纪60q代q行公司ȝl构攚w创新时的产物、它的出现在某种意义上代表着原来董事会手中一些决{权q渡到经营层手中、CEO概念最早出现在一些网l企业。在那里CEO往往是自的、也很少有hȝI这一U谓对企业到底意味着什么。但是,?#8220;CEO”在中国叫得越来越响时候、高层h员称谓改变不是一件小事、设立CEO职位不仅仅是Ҏ追赶。事实上QCEO做的事情重点在于“执行”。大多数中国公司往往CEO做的事情恰恰不是“执行”Q更像是“董事?#8221;?/p>


首席财政官或财务ȝ【CFO?/strong>

C公司中最重要、最有h值顶管理职位之一、掌握着企业经pȝ(财务信息)和血液系l?现金资源)灵魂人物。做一名成功CFO需要具备丰富金融理论知识和实务l验。公司理财与金融市场交互、项目估仗风险管理、品研发、战略规划、企业核心竞争力识别与徏立及z悉信息技术及电子商务对企业冲ȝ都是CFO职责范围内事。大型公司运作中CFO是穿插在金融市场操作和公司内部胦务管理之间角艌Ӏ担当CFO人才大多是拥有多q在金融市场驰骋l验的h。在国优秀的CFO常常在华街做过成功基金l理人?/p>


首席营运官【COO?/strong>

负责公司日常营运、辅助CEO工作。一般来讲COO负责公司职能理l织体系、ƈ代表CEO处理企业日常职能事务。如公司未设有总裁职务则COOq要承担整体业务理职能、主企业营销与综合业务拓展、负责徏立公司整个销售策略与政策、组l生产经营、协助CEO制定公司业务发展计划、对公司l营l效q行考核。也有把q营ȝU呼为COO的?/p>


首席市场官【CMO?/strong>

指市场ȝ


首席技术官【CTO?/strong>

技术ȝ


销售ȝ【CSO?/strong>

渠道销售ȝ


公关ȝ【CPO?/strong>

政府事务、媒体、重要公怸人物公共关系Q主要是搞定人?/p>


首席信息官【CIO?/strong>

大多数公司把q个职位变成了盯人盯,有点象明朝时候的“东厂”Q所以说中国是个很神奇的国家?/p>


开发ȝ【CDO?/p>

Zȝ 【CHO?/p>

首席品牌官【CBO?/p>

首席文化官【CCO?/p>

首席知识官【CKO?/p>

首席谈判官【CNO?/p>

质量ȝ【CQO?/p>

评估ȝ【CVO?/p>


首席发言人【CAO?/strong>

专门负责解答媒体、债权人和用户{有关问题询问?/p>


首席商业计划官【CBO?/strong>

首席财务官助理之一、专门针对不同投资h制订相应BP?/p>


首席成本控制官【CCO?/strong>

凡超qXXXX元以上支出必ȝCC0批准?/p>


首席域名官【CDO?/strong>

负责公司域名注册、网站清盘时域名拍卖、域名法律纠UL相关问题?/p>


首席交换官【CEO?/strong>

一般由国际CEO自由联盟随时更换、常讄期职能岗位、类D球教l?/p>


首席斚w制订官【CGO?/strong>

规划公司宏伟蓝图、一般是5q以后目标?/p>


首席协调官【CHO?/strong>

调解投资者和l营者之间的冲突、确保公司内部矛盾不要泄霌Ӏ?/p>


首席查官【CIO?/strong>

查公司内部工作状c监督员工工作态度?/p>


首席执法官【CJO?/strong>

解决内部劌U纷、包括员工对降薪、辞退补偿{所引v问题?/p>


|络q接专员【CKO?/strong>

最J忙的岗位之一、当中国电信|络q接中断时及时向员工通报?/p>


首席律师【CLO?/strong>

负责公司被控侉|时应诉以及各U合同文本审核。主要是灭h的打手?/p>


首席媒体官【CMO?/strong>

保持和媒体之间友好关[来源QGameRes.com]pMؓ公司随时发布新闻做准备,cM首席代表?/p>


首席新闻官【CNO?/strong>

向媒体披露公司被黑、裁员、被收购{重大新闅R一般由公司市场ȝ担QQ类似政府部门新da人,主要由司长部门领导担QQ公司声音的l一出口?/p>


首席隐私官【CPO?/strong>

负责公司内部员工Email、ICQ、OICQ{通信内容监控?/p>


数量指标~造专家【CQO?/strong>

负责注册用户数量、页面浏览、营业收入等指标~造?/p>


首席裁员官【CRO?/strong>

负责与裁员有关事务、直接向股东大会负责、包括董事长在内都不得干预工作?/p>


首席战略官【CSO?/strong>

由已l退位公怸要创Zh担QQ在政府机关一般称研员或顾问?/p>


首席联盟官【CUO?/strong>

以战略联盟名义专门寻找有收购自己意向的公司?/p>


投资者关pRCVO?/strong>

首席财务官另一重要助理?/p>


首席|络写手【CWO?/strong>

负责小事扩大化、通过炒作辑ֈ扩大公司名度目的QM用文人,比如l陈天桥Q史玉柱~故事,造神?/p>


形象代言人【CXO?/strong>

Q中国特有)一般由学历不高且没有什么网l知识的q轻人担仅R?/p>


公司元老【CYO?/strong>

荣誉U号授予在公司工作满Xq员工(通常I缺Q?br>



]]>
[转蝲]|游数据解释http://www.shnenglu.com/singohgod/archive/2010/09/17/126833.html大宝天天?/dc:creator>大宝天天?/author>Fri, 17 Sep 2010 02:38:00 GMThttp://www.shnenglu.com/singohgod/archive/2010/09/17/126833.htmlhttp://www.shnenglu.com/singohgod/comments/126833.htmlhttp://www.shnenglu.com/singohgod/archive/2010/09/17/126833.html#Feedback0http://www.shnenglu.com/singohgod/comments/commentRss/126833.htmlhttp://www.shnenglu.com/singohgod/services/trackbacks/126833.html做网游的,当然要懂点这些知?br>
|游数据解释

作者:新好
博客Q?a target=_blank>http://blog.sina.com.cn/u/1054908282?retcode=0

 

【用h?-注册用户?/font>不同目注册用户质量完全不同Q运营商l出不真实数据,那数据调查报告真实性呢Q根本没有明白用戯量的意义?br>
【在Uh数】【最高在Uѝ?/font>某个旉能达到的最高在Uѝ?br>
【活跃h数?/font>hƺ骗性的数字Q必L“每日z跃用户”“每周z跃用户”“每月z跃用户”“每季z跃用户”“最q多天内活跃用?#8221;{。在q段旉内进入游戏的人?br>
【每个活跃用户^均在U时间?/font>上面说了z跃用户敎ͼ如果没有本数据上面那个也没有意义、每个用户都在线2分钟马上׃U,z跃用户价值是多少呢?能和上线十几个时在线玩家{gQ?/p>


【游戏^均在Uh数?/font>
1?4时内^均在Uh敎ͼ数据采样旉密集越_?/p>

2、不同游戏每个^均在U是׃同数量用户造就的。一个好游戏可以大量_住玩家长时间舍不得下线?/p>

3、如果活跃用hơ上U^均在U?时Q那么需?个活跃用户增?个^均在U,如每ơ只让用L游戏5分钟p了,哪怕游戏非常好用户每天都上?分钟Q那么必L60/5*24=288个活跃用h能达?个^均在Uh数。要Ҏ情况判断推广z跃用户ҎQ还是增加游戏粘着更容易?/p>


【^均在UѝL册用戗活跃h数及最高在U比例?/font>
曄有专家说是xxxx?%Qxxxx?.7%{,他们可能针对某款能接触到的网游数据而来Q如果不知道数据是在什么条件下产生的,每款产品都不一栗比例随着不同市场、不同品、不同渠道、不同服务会D_数据和比例完全不一栗哪怕一模一样品都可能完全不一h据,别h注册100万用戯?万在U,不代表你宣传注册100万也?万。各斚wl节太多Q资本家很少全面看成功创业者所付出的努力?/p>


【Arpu值定义之争?/font>
1、有是每个消费用L每日p?br>2、有是每个活跃用L每月p?br>3、上市公司胦报数据定义:产品毛收?qAPA/arpuQ要么增加APA数量Q要么增加ARPU。对于运营商要根据多^均在U确定服务器、带宽、客h务、需要多推q成本才能篏计^均在U等q营成本?br>
【收Ҏ式固定倹{?/font>
很好:每小?毛(或点卡定P*24时*30?288?月,一Ƅ万在U收费网游大致收入是1000000*288Q每?.88亿毛收入Q有很多数字,如免费用期用户比例D真实值减、各U因素导致免Ҏ戏用h例导致真实收入减、用戯买点卡很多h没用完导致真实收入增多,渠道压了货最后没有退D收入增多{)?/p>


【免费制动态arpu倹{?/font>
1、大多数|游都在学习免费模式Q利用收贚wL盈利Qarpu值大关pd生存的重要指标?/p>

2、很多愣头青听见大师宣传免费模式Q连免费模式数据都不清楚情况下凭感觉坚定认ؓ免费模式是潮、趋ѝ陈天桥不看产品数据Q道h费增加到可替代收Ҏ式,凭灵光一闪把每季度几亿时间点卡给扔了Q看到这两年来盛大从免费模式赚取过收费模式q是有瑕늚Q至在Uh数没有按盛大惌的大q度增加?/p>


【收费制?/font>
推广1个收费制游戏在线用户q比推广N个免Ҏ戏在U用h加困难,免费模式arpu值大于收Ҏ式时Q自然免Ҏ式要比收Ҏ式更好?br>
【推q成本?/font>
1、打花多少钱宣传推q品?br>2、除了资金还要考虑人力成本和时间成本?br>3、仔l计每个在U用hq成本,花多钱才能增加1个^均在Uѝ?br>4、大部分情况?个^均在Uarpug?个^均在U推q成本。如能找到廉hq方式增加在U,费用低于用户arpu|别犹豫赶紧推q吧?br>
【推q效果?/font>
1、作为市Zh员是掌握每种营销方式效果数据。有多少看到q告AQ有多少目标用户看到q告、引起多目标用戯住、让多少目标用户感兴、多用户尝试、剩下是产品本n和客h务的事。对个市场来说撒谎不是缺炏V无法让更多用户来尝试品才是失败?/p>

2、注意以上部分数据,不要L怿q告商瞎吹,自己掌握的数据才是最真实不会ƺ骗你的?/p>

3、精掌握各U营销方式效果数据Q相信你不会随便p钱,拍着脑瓜子就上一些性h比不合适的q告?/p>


【市场潜力分U?/font>
不要定义一个遥不可及的市场目标Q例如全世界有多hQ每个h都需要住房,而你是个有房Cx的年MhQ你告诉别h你的市场目标是多亿亿全球用L房。这L标是没有意义的。可执行的目标是很重要的Q只要是可执行哪怕在旁h眼里看v来很狂妄Q也没有什么不可以?/p>


【运营网l游戏一定要知道分?/font>
1. 可以直接推广到的那些人?手把手,或者通过你的个h媒体Q言传n教)
2. 能在你所拥有预算内控制哪些媒体,做哪些事情,有多用户会因ؓ怎样宣传内容而尝?br>3. q有哪些资源Q哪些朋友支持,帮助Q在你所拥的预算内能帮你打开哪些市场?br>4. 人才Q能否找到比你更优秀的h才、专家帮助你宣传、推q扩大市?/p>


【用L分举例?/font>
1、非常关注你的品网游用h可能成ؓ你的用户
2、宣传推qƈ引v他们注意的网l游戏用?br>3、到处寻找新游戏的网l游戏用?br>4、同cȝl游戏的用户
5、异cȝl游戏的用户


【所有h?/font>以上分不一定准,不一定适合你,对于你很可能每需要投入成本不一P没有史玉׃个亿׃要开始把目标用户定义为所有h而去打全国广告,否则会发现投入成本一定收不回来?/p>


【目标市场定义?/font>
1、每个h都想产品占领最大最多市场,由各斚w条g有限必须按对市场分Q分析目前阶D能覆盖目标市场?/p>

2、近两年很火Uv和蓝hc?br>
3、准定位市场、细分市场目的是降低市场推广成本Q增加推q有效程度。如果有_的推q成本,你自然可以多做泛媒体Q广大增加知名度Q宣传面?/p>


【流q?/font>很容易被遗忘却异帔R要,军_游戏生死重要数据Q市场推q好不容易拉的玩家留不留得住?br>【初期流q?/font>试用户转变为成熟活跃用P所需耗费的时?br>【自然流q?/font>成熟z跃用户自然失率,产品好坏Q内涵丰富最大程度决定着自然失率高低?/p>


1、品本w有很多问题会带来非常高自然流qQ品的画面、操作、各斚wl节都是关系C品品质直接开发因素?/p>

2、很多游戏h都分析《梦q西游》从技?span style="DISPLAY: none; FONT-SIZE: 0px">[来源QGameRes.com]层面完全没有优势产品Z黏着度那么高Q流q那么低。游戏内涉|最重要的因素,q关pd游戏生命周期。如果玩家把所有内定w全部玩到需?个月Q那?个月是|络游戏每个用户生命周期Q当玩家感觉没有可玩内容时他自然会离开。有的游戏是可以让玩家玩几年q有新内容,有的游戏虽然好但是生命周期短。现在有来多游戏学会利用循环dQ或随即生成d增加生命周期
3、网游开发者不要冲着单新概念做游戏,不是做噱_做有内涵的好游戏Q充分利用你的技术团队实现效果,而不是盲目专门搞效果搞噱_让用户乐意留在游戏里面?/p>


【客h务?/font>很重要作用是减少失率,没有客户服务游戏不可避免扩大流qQ流q大神仙也没得救。盛大第一W收入用来徏立客h务中心ؓ了什么?商业数据上说是降低失率?/p>


【线上活动?/font>通过zdQ可能是CQ务、策划活动、客服执行活动)临时性增加拉高在U,减缓或阻止短旉内玩家流失?/p>


【用戯然增长率?/font>在推q下增加1个^均在U成本低于【用户arpu倹{?【^均每个用L命周期】。可以不断持l增加用h况下、新q入玩家大于产品失率就q入滚雪球效应了。大多数产品一停止大规模推q成本投入流q都远大于增长率。很多项目在初期炒作后很快用h量陆l流失,最后不得不倒闭的原因?/p>


【收入潜力倹{?/font>和arpu值矛盄|arpuD低证明潜力越大,arpuD高反而说明相同用h量下收入增长潜力。有些公司(q没扑ֈ盈利模式却有较多用户的网站或游戏Q把q个作ؓ他们的未来卖炏V?/p>


【更多细节数据?/font>做好游戏不仅仅看l果型数据,更多对于开发策划要看过E走向型数据?/p>


【例如?/font>
1、有些数据可以告诉你在推q过E中哪个环节失用户最多?br>
2、有些数据可以告诉你、玩家喜Ƣ哪些系l,讨厌什么。无论喜p是讨厌都比不q【态度p|】漠不关心、死鸭子嘴硬。玩家对_ֿ{划的内Ҏ不关心,q是最p|的策划?/p>

3、有些数据可以告诉哪些收Ҏ玩家能够接受的(管有些收费内容Q玩家可能永q会骂,但每天都有大量用户在付费Q有些收费看h没h骂,实际上根本没有h使用Q都要通过q营数据分析Q?br>
4、有些数据可以很清楚告诉你用户在刷钱、在作弊、在利用漏洞、在用外挂、修改封包。如果有自动化数据分析技术几乎可以发C多玩家作弊。注意只是发玎ͼ能否解决q取决于高层重视态度及技术h员能力和速度Q要知道而这些问题几乎导致了大量游戏M?/p>

5、数据很清楚告诉你游戏经体制是否稳固,游戏中不断增加的金钱奖励Q道具销售是否造成通货膨胀{更多的l节问题?/p>

]]>[转蝲]很有参考意义的昑֍性能排行?/title><link>http://www.shnenglu.com/singohgod/archive/2010/05/17/115566.html</link><dc:creator>大宝天天?/dc:creator><author>大宝天天?/author><pubDate>Mon, 17 May 2010 02:40:00 GMT</pubDate><guid>http://www.shnenglu.com/singohgod/archive/2010/05/17/115566.html</guid><wfw:comment>http://www.shnenglu.com/singohgod/comments/115566.html</wfw:comment><comments>http://www.shnenglu.com/singohgod/archive/2010/05/17/115566.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/singohgod/comments/commentRss/115566.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/singohgod/services/trackbacks/115566.html</trackback:ping><description><![CDATA[貌似采集?009q?0月左叻Iq不包括ati5xxxpd<br><br> <p><font color=#ff6600><font size=3><strong>全部?DMARK06默认分L率得分计?游戏内实际C计算在内(因ؓNVIDIA和ATIҎ戏优化造成得分不公?</strong></font><font size=3><strong>排名120后的昑֍因时间过长无法测?只按历年来网上评分排?(所有排名显卡均为官方公杉K率测?.</strong></font></font></p> <p><font color=#ff0000 size=3><strong>001 NVIDIA GTX295<br>002 ATI HD4870X2<br>003 NVIDIA GTX285</strong></font><font color=#ff0000 size=3><strong><br>004 ATI HD4850X2<br>005 NVIDIA GTX280<br>006 ATI HD4870<br>007 NVIDIA GTX260<br>008 ATI HD3870X2<br>009 ATI HD4850<br>010 NVIDIA 9800GTX+=NVIDIA GTX250<br>011 NVIDIA 8800Ultra<br>012 NVIDIA 8800GTX<br>013 NVIDIA 9800GTX<br>014 ATI HD4830<br>015 NVIDIA 8800GT=NVIDIA 9800GT <br>016 NVIDIA 8800GTS<br>017 NVIDIA 8800GS 768M=NVIDIA 9600GSO 768M<br>018 NVIDIA 9600GT 512<br>019 NVIDIA 7950GX2<br>020 ATI HD2900XT<br>021 ATI HD3870<br>022 NVIDIA 8800GS 384M=NVIDIA 9600gso 384M<br>023 ATI X1950XTX <br>024 NVIDIA 7900GTX<br>025 ATI HD3850<br>026 ATI HD4670<br>027 9600GSO 512M<br>028 NVIDIA 9600GT 256<br>029 ATI X1900XTX<br>030 ATI X1950XT <br>031 NVIDIA 7950GT     <br>032 ATI 1900XT<br>033 ATI HD3690<br>034 NVIDIA 8600GTS<br>035 NVIDIA 7900GT <br>036 ATI X1800XT <br>037 ATI X1950Pro<br>038 NVIDIA 7800GTX<br>039 NVIDIA 7900GS<br>040 ATI X1950GT <br>041 ATI X1900GT <br>042 ATI X1800XL <br>043 NVIDIA 7800GT <br>044 ATI X850XT/XTPE<br>045 ATI HD3670<br>046 ATI HD4650<br>047 NVIDIA 9500GT<br>048 NVIDIA 8600GT<br>049 ATI HD3650<br>050 ATI X1800GTO <br>051 ATI X800XT/XTPE<br>052 NVIDIA 7600GT     <br>053 ATI HD2600XT<br>054 ATI X1650XT<br>055 NVIDIA 6800Ultra<br>056 NVIDIA 6800GT <br>057 NVIDIA 6800GS <br>058 ATI X800XL<br>059 ATI X850Pro <br>060 NVIDIA 6800<br>061 ATI X1650 Pro <br>062 ATI X800pro/GTO <br>063 ATI X1600XT <br>064 NVIDIA 7600GS<br>065 ATI X800SE<br>066 ATI X1300XT<br>067 NVIDIA 8500GT=NVIDIA 9400GT <br>068 ATI X1600Pro   <br>069 NVIDIA 7300GT <br>070 NVIDIA 6800XT/LE <br>071 NVIDIA 6600GT <br>072 ATI X700Pro <br>073 ATI 9800XT <br>074 ATI 9800Pro <br>075 ATI 9700Pro <br>076 ATI 9800 <br>077 S3 Chrome S27 <br>078 ATI X700 <br>079 NVIDIA 5950Ultra <br>080 ATI 9700 <br>081 NVIDIA 5900Ultra <br>082 NVIDIA 5800Ultra <br>083 NVIDIA 5900<br>084 NVIDIA 5800 <br>085 ATI X1300Pro <br>086 NVIDIA 8400GS<br>087 ATI HD2400Pro<br>088 NVIDIA 7300GS <br>089 NVIDIA 6600 <br>090 NVIDIA 5900XT <br>091 ATI X1300 <br>092 ATI X600XT <br>093 NVIDIA 7300LE<br>094 NVIDIA TI4800 <br>095 NVIDIA TI4600 <br>096 ATI 9600XT <br>097 NVIDIA TI4800SE <br>098 NVIDIA 5700Ultra <br>099 ATI 9500 256bit <br>100 9800SE 128bit <br>101 ATI X600 <br>102 ATI X550<br>103 ATI 9600Pro <br>104 NVIDIA TI4400 <br>105 ATI 9500Pro<br>106 NVIDIA 6600LE <br>107 ATI X1300SE <br>108 NVIDIA 5700 <br>109 ATI 9600 <br>110 NVIDIA 6200 <br>111 NVIDIA TI4200 <br>112 NVIDIA 5600<br>113 ATI 9550<br>114 NVIDIA 5600XT <br>115 ATI 9600SE <br>116 NVIDIA 5500 <br>117 NVIDIA 7100GS <br>118 ATI X300 <br>119 ATI 9550SE<br>120 NVIDIA 6200A<br>121 ATI 9200Pro <br>122 ATI 9000Pro <br>123 ATI 8500Pro <br>124 NVIDIA GeForce3 TI500 <br>125 ATI 8500 <br>126 ATI 8500LE <br>127 NVIDIA 5200Ultra <br>128 ATI 9200 <br>129 ATI 9250 <br>130 NVIDIA GeForce4 MX460 <br>131 NVIDIA 5200 <br>132 ATI 9000 <br>133 ATI 9200SE <br>134 NVIDIA GeForce3 TI200 <br>135 NVIDIA GeForce3 <br>136 NVIDIA GeForce4 MX 440 <br>137 ATI 7500 <br>138 ATI 7200 <br>139 NVIDIA GeForce2 Ultra <br>140 ATI 7000 <br>141 NVIDIA GeForce2 GTS <br>142 NVIDIA GeForce4 MX 420 <br>143 ATI Radeon <br>144 Voodoo5 5500 <br>145 NVIDIA GeForce2 MX 400 <br>146 NVIDIA GeForce256 <br>147 NVIDIA GeForce2 MX <br>148 Voodoo4 4500 <br>149 NVIDIA TNT2 <br>150 ATI Rage128 Pro <br>151 Voodoo3 <br>152 TNT <br>153 ATI Rage128 <br>154 NVIDIA Riva128 <br>155 ATI Rage3D Pro <br>156 Voodoo Banshee <br>157 Voodoo2 <br>158 NVIDIA Riva <br>159 ATI Rage3D <br>160 Voodoo</strong></font></p> <img src ="http://www.shnenglu.com/singohgod/aggbug/115566.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/singohgod/" target="_blank">大宝天天?/a> 2010-05-17 10:40 <a href="http://www.shnenglu.com/singohgod/archive/2010/05/17/115566.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[原创]如果你觉得svn慢,不妨试试git?/title><link>http://www.shnenglu.com/singohgod/archive/2010/04/23/113350.html</link><dc:creator>大宝天天?/dc:creator><author>大宝天天?/author><pubDate>Fri, 23 Apr 2010 09:23:00 GMT</pubDate><guid>http://www.shnenglu.com/singohgod/archive/2010/04/23/113350.html</guid><wfw:comment>http://www.shnenglu.com/singohgod/comments/113350.html</wfw:comment><comments>http://www.shnenglu.com/singohgod/archive/2010/04/23/113350.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/singohgod/comments/commentRss/113350.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/singohgod/services/trackbacks/113350.html</trackback:ping><description><![CDATA[好处是分布式,版本库在本地Q速度快,很适合开源项目用,也很适合喜欢做点改动就提交的hQ如果是自己的小目更适合?br>而且q可以用git-svnQ两个一L~ <img src ="http://www.shnenglu.com/singohgod/aggbug/113350.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/singohgod/" target="_blank">大宝天天?/a> 2010-04-23 17:23 <a href="http://www.shnenglu.com/singohgod/archive/2010/04/23/113350.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[原创]推荐轻量U的很易部v和用的目理和bug跟踪工具Redminehttp://www.shnenglu.com/singohgod/archive/2010/04/23/113348.html大宝天天?/dc:creator>大宝天天?/author>Fri, 23 Apr 2010 09:18:00 GMThttp://www.shnenglu.com/singohgod/archive/2010/04/23/113348.htmlhttp://www.shnenglu.com/singohgod/comments/113348.htmlhttp://www.shnenglu.com/singohgod/archive/2010/04/23/113348.html#Feedback0http://www.shnenglu.com/singohgod/comments/commentRss/113348.htmlhttp://www.shnenglu.com/singohgod/services/trackbacks/113348.html

]]>
[转蝲]E序员每天每周每月每q该做的?/title><link>http://www.shnenglu.com/singohgod/archive/2007/05/18/24322.html</link><dc:creator>大宝天天?/dc:creator><author>大宝天天?/author><pubDate>Fri, 18 May 2007 03:03:00 GMT</pubDate><guid>http://www.shnenglu.com/singohgod/archive/2007/05/18/24322.html</guid><wfw:comment>http://www.shnenglu.com/singohgod/comments/24322.html</wfw:comment><comments>http://www.shnenglu.com/singohgod/archive/2007/05/18/24322.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/singohgod/comments/commentRss/24322.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/singohgod/services/trackbacks/24322.html</trackback:ping><description><![CDATA[<p>看了觉得非常不错Q所以我军_在我卛_CPPC之后列上详细的日月年计划Q照章执行!Q!<br><br></p> <p><span style="COLOR: #0000ff">  <strong><font size=4>E序员每天该做的?/font></strong></span></p> <p><br><span style="COLOR: red">  1、ȝ自己一天Q务的完成情况</span><br>  最好的方式是写工作日志Q把自己今天完成了什么事情,遇见了什么问题都记录下来Q日后翻看好处多多?/p> <p><span style="COLOR: #ff0000">  2、考虑自己明天应该做的主要工作</span><br>  把明天要做的事情列出来,q按照优先排列Q第二天应该把自己效率最高的旉分配l最重要的工作?/p> <p><span style="COLOR: #ff0000">  3、考虑自己一天工作中p的地方,q想出避免下一ơ再犯的Ҏ</span><br>  出错不要紧,最重要的是不要重复犯相同的错误Q那是愚蠢?/p> <p><span style="COLOR: #ff0000">  4、考虑自己一天工作完成的质量和效率能否还能提?/span><br>  一天只提高1%Q?65天你的效率就能提高多倍你知道吗? (1+0.01)^365 = 37 倍?/p> <p><span style="COLOR: #ff0000">  5、看一个有用的新闻|站或读一张有用的报纸Q了解业界动?/span><br>  闭门造R是不行的Q了解一下别人都在做什么,对自p带来很多启示?/p> <p><span style="COLOR: #ff0000">  6、记住一位同事的名字及其特点</span><br>  你认识公司的所有同事吗Q你了解他们吗?</p> <p><span style="COLOR: #ff0000">  7、清理自q代码<br></span>  今天完成的代码,把中间的调试信息Q测试代码清理掉Q按照编码风格整理好Q注释都写好了吗Q?/p> <p><span style="COLOR: #ff0000">  8、清理自q桌面</span><br>  当日事当日毕Q保持清z干劲的桌面才能让你工作时不分心Q程序员特别要把电脑的桌面清理干净?/p> <p> </p> <p><span style="COLOR: #0000ff">  <strong><font size=4>E序员每周该做的?/font></strong></span></p> <p><br><span style="COLOR: #ff0000">  1、向你的老板汇报一ơ工?/span><br>  让你的老板知道你在做什么,q很重要。可以口头、书面、邮Ӟ看你老板的工作方式而定?/p> <p><span style="COLOR: #ff0000">  2、进行一ơ自我ȝQ非正式Q?br></span>  q周之内自己表现得怎么P该加分还是扣分?</p> <p>  3、制定下周计?br>  把下周要做的事情列出来,一栯分清楚优先?/p> <p><span style="COLOR: #ff0000">  4、整理自q文g夏V书柜和电脑文g</span><br>  把桌面以外的地方也要清理q净Q电脑的文g夹,收到的邮Ӟ把过时的垃圾全部清理掉?/p> <p><span style="COLOR: #ff0000">  5、与一个非公司的朋友沟?/span><br>  它山之石Q可以攻玉?/p> <p><span style="COLOR: #ff0000">  6、看一本杂?/span><br>  找一本适合自己的专业杂志?/p> <p><span style="COLOR: #ff0000">  7、纠正自己或同事一个细节上的不正确做法</span><br>  《细节决定成败》看q了吗?没看q强烈徏议先看看?/p> <p> </p> <p><span style="COLOR: #0000ff">  <strong><font size=4>E序员每月该做的?/font></strong></span></p> <p><br><span style="COLOR: #ff0000">  1、至和一个同事一起吃饭或喝茶</span><br>  不光了解自己工作伙伴的工作,q要了解他们的生zR?/p> <p><span style="COLOR: #ff0000">  2、自我考核一?/span><br>  相对正式地考核自己一下,你对得vq个月的工资吗?</p> <p><span style="COLOR: #ff0000">  3、对你的同事考核一?/span><br>  你的同事表现怎么P哪些人值得学习Q哪些h需要帮助? </p> <p><span style="COLOR: #ff0000">  4、制定下月的计划Q确定下月的工作重点</span></p> <p><span style="COLOR: #ff0000">  5、ȝ自己工作质量改进状况</span><br>  自己的质量提高了多少Q?</p> <p><span style="COLOR: #ff0000">  6、有针对性地对一工作指标做深入地分析ƈ得出改进的方?/span><br>  可以是对自己的,也可以是对公司的Q一定要深入地分析后拿出自己的观Ҏ。要惛_老板面前说得上话Q做的成事,工作上功夫要做?/p> <p><span style="COLOR: #ff0000">  7、与老板沟通一?/span><br>  最好是面对面地沟通,好好表现一下自己,虚心听取老板的意见,更重要的是要了解老板当前兛_的重炏V?/p> <p> </p> <p><span style="COLOR: #0000ff">  <strong><font size=4>E序员每q该做的?/font></strong></span></p> <p><br><span style="COLOR: #ff0000">  1、年lȝ</span><br>  每个公司都会做的事情Q但你真正认真地ȝq自己吗Q?/p> <p><span style="COLOR: #ff0000">  2、兑现给自己、给家h的承?/span><br>  l老婆、儿子的新年C物C没有Q给自己的呢Q?/p> <p><span style="COLOR: #ff0000">  3、下q度工作规划</span><br>  好好x自己明年的发展目标,争取升职/加薪、蟩槽还是自己出来干Q?/p> <p><span style="COLOR: #ff0000">  4、掌握一Ҏ技?/span><br>  臛_是一,作ؓE序员一q要是一Ҏ技术都学不到手Q那׃定会被淘汰。掌握可不是看本书就行的Q要真正懂得应用Q最好你能够写一教E发表到你的blog ?/p> <p><span style="COLOR: #ff0000">  5、推ZU新产品</span><br>  可以是一个真正的产品Q也可以只是一个类库,只要是你创造的东西pQ让别h使用它,也ؓ世界作点贡献。当然如果真的很有h|收点注册费也是应该的?/p> <p><span style="COLOR: #ff0000">  6、与父母团聚一?/span><br>  常回家看看,常回家看看?/p> <img src ="http://www.shnenglu.com/singohgod/aggbug/24322.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/singohgod/" target="_blank">大宝天天?/a> 2007-05-18 11:03 <a href="http://www.shnenglu.com/singohgod/archive/2007/05/18/24322.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转蝲]一个程序员的奋?/title><link>http://www.shnenglu.com/singohgod/archive/2006/07/16/10138.html</link><dc:creator>大宝天天?/dc:creator><author>大宝天天?/author><pubDate>Sun, 16 Jul 2006 13:37:00 GMT</pubDate><guid>http://www.shnenglu.com/singohgod/archive/2006/07/16/10138.html</guid><wfw:comment>http://www.shnenglu.com/singohgod/comments/10138.html</wfw:comment><comments>http://www.shnenglu.com/singohgod/archive/2006/07/16/10138.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/singohgod/comments/commentRss/10138.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/singohgod/services/trackbacks/10138.html</trackback:ping><description><![CDATA[ <p> <font style="BACKGROUND-COLOR: #ffffff" color="#ff3300">q是我收藏的一文章,每每在遇到挫折的时候就拿出来读一读,L能给我动力!</font> <br /> <br />q些日子我一直在写一个实时操作系l内核,已有成了,{写完我会全部公开Q希望能够ؓ国内IT的发展尽自己一份微薄的力量。最q看到很多学生朋友和我当q一h有方?Q所以把我的l历写出来与大家共勉Q希望能l刚如行的朋友们一点点帮助?一转眼我在IT行业学习工作已经七年多了Q这期间我做q网,写过MIS、数据库Q应用程序,做过通信软g、硬仉动、协议栈Q到现在做操作系l内核和IC相关开发,q中间走了很多弯路,也吃了不苦?</p> <p>我上的是一个三的高校Q就q同一个城市的人多数都不知道。因为学校不好也没 有指望能靠学校名气找一个好工作。所有的希望都寄托在自己的努力上了,大一开学前的假期我开始了学习Q记得我买的W一本书是《计机基础DOS3.0》,大家别吓着了,其实当时已经普及了DOS6.22了,只是我在书店里看CDOS4.0Q?.0Q?.0的书Q以为像p那样是第四、五、六册,记得当时到处找DOS1.0Q现在想想也q好我没有找刎ͼQ开学前我学完了PASCALQ那时既没有计算Z没有人可以请教,我连E序是什么的概念都没有, 只好死记背代码Q然后拿U写Q我一直到大三才有了一?86Q在q之前用U写了多程序我也记不清楚了Q只知道最长的一个我拿A4大小的草E纸写了30多页Q我的C语言、C++ 、VC都是在这L条g下入门的。所以说条g是可以克服的Q希望我的经历多给条g艰苦的同学们一点信心。第一ơ上机是在我姐夫的机房,我的心情Ȁ动的无与伦比Q但是一上机我立d了眼Q他们用的是英文版的Win3.1Q我的那点DOS知识都见了鬼Q上机提心吊胆的一늞摸,一不小心把Word弄成了全屏,怎么都还不了原,当时真是心急如焚,我以为机器被我弄坏了。第一个C语言E序Q就是那个经典的HelloWorldQ我调了几个星期Q上机机会非常少Q也没有书告诉我开发环境(TC2.0Q需要设|,而且开始我都不知道有编译器Q我甚至自作聪明把写好的E序扩展名从.cҎ.exeQ结果可?<br />而知。大一学完了C、X86的汇~、数据结构、C++。由于精力都花在自学上了Q大一下四门课挂了彩,三类学校是q点好,挂上一二十门也照样毕业。不q扯q点_我那么刻苦都及不了格Q可见我们国家的计算机教育有多死ѝ?</p> <p>大二准备学VC和BCQ当旉以取舍,后来选了VCQ不为别的,只ؓ书店里两本书QVC 那本便宜6块钱。我的努力在班上无h能及Q学的日夜不分,大三有了计算机后更是如此Q?很多ơ父亲半夜教训我说我不要命了Q我一直觉得自己基差,记忆又不行,条g也不?Q所以觉得只有多q旉才能赶上别h。居然后来有许多朋友说我有学计算机的天赋Q?让我哭笑不得。我用的?86Q?6M内存Q?G盘Q当时同学们的配|都是P166MMXQ我安装 一个Windows NT4.0需要一个通宵Q编译一个BC5.0向导生成的程序需要近两个时Q我的显C器是个二手的,辐射非常大,开机屏q冒火花Q看h很酷的:Q,有一ơ程序写的太久,觉得怎么白色的编辑器背景变成了Ԍ以ؓ昄器坏了,后来才发现眼睛不行了Q不q说来也奇怪,C天我的视力还能保?.5Q真是个奇迹。但是就是那台破机器陪伴了我两年Q让我学会了VC、Delphi、SQLServer{。后来那台机器给我阿姨打字用Q据她说一天她正打的开心,一股青烟夹着火苗从显C器d来,之后它才寿终正寝?</p> <p>大三假期找了个机会在一个计机研究所实习Q与其说实习不如说是做义工,工作了两个月一分钱没有ѝ但是这两个月对我的发展帮助很大Q让我早一步了解了C会Q刚ȝ时候我当然是一H不通,在那里我熟悉了网l,学会了Delphi和Oracle。由于工作很认真Q?得到了比较好的评P在一位长者的引荐下,我开始和他们一起做目Q这使我在大三大四就有了自己的收入,大四又找了两家MIS公司DQ虽焉不多Q但是在学生期间?000多的收入我已l非常满了Q我l于用自p的钱把计机换了。大四下开始找工作Q这时我的工作经验已l比较多Q当然现在想想非常幼E)Q开始听父母的想去那个研I所Q?实习q那个部门也希望我能去,但是不知道ؓ什么最后不了了之,q种单位是比较官僚 Q我一气之下就C我兼职的一个公司做MIS的TeamLeader。在大三到毕业一q的旉Q做q了各种MISQ从煤气、烟厂、公安、铁路、饮食到高校Q什么有钱做什么,工作也很辛苦 Q经常加班和熬通宵Q从跟客戯需求到设计、编码、测试、交付都要上。那时觉得很有成感Q觉得自p不错Q现在想想真是很肤浅?</p> <p>刚走上工作岗位的学生很容易被误导Q各U开发工兯人眼q݋乱,同时也觉得很?公司器重Q但q样工作永远是一个低层次的开发者。不要跟我说什么系l分析有多么多么重要Q多么多么难。你以ؓ自己跟用戯需求做设计是pȝ分析和设计了吗,国内又有几个公司能够做的很到位很规范Q我是ISO9000内审员,也在Rational公司受过多次培训Q拿?个证书,q有一个公司让我去做CMM。这些我听过很多Q但是很多事情到国内变了性质Q一个公怸是通过了ISO9000或者CMMp规范了,我现在在一家有几十q历史的外企工作Q里面的理不是一般国内企业能及的。作Z个毕业不久以前没有步入过C会的学生,几乎不可能在很短的时间掌握系l分析和设计Q面向对象、UML只是一个工P关键是h本n的思想Q不是说你熟悉了C++、Rosep够做出好的设计,相反如果你具备了很高的素质,你可以用C写出比别人用C++更加模块化的E序?</p> <p>话说q一些,国内软g开发行业有一个怪圈Q很多h觉得VC > Delphi > VBQ真是很搞笑。这几个软g我都做过开发,说白了他们都是工P应该Ҏ应用的需要选择采用哪个Q而不是觉得哪个上层次。如果你因ؓ用某个开发工具很有面子而选择的话Q只能说明你很浅薄。如果说层次Q那么这些工具都不上层次Q因为它们用来用去都是一些系l的APIQ微软的朋友不会因ؓ你记住他们多个API或者多个cd会觉得你很了不vQ你永远只是他们的客P他们看重的是你口袋里的银子。我也做q系l内核,我也装q很多APIQ同h也不会看重那些用这些API做二ơ开发的客户Q除非他能够作出自己独到的设计?/p> <p>至于有h认ؓC++ > C那更是让人笑掉大牙,不妨你去打听一下,现在有几个操作系l内核是用C++写的Q又有几个实时系l用的是C++Q当然我也不是说C++不好Q但是目前的内核和实时系l中C++q无法与CҎQ至于说C++适合做应用系l的开发那是另外一回事。所以我的观Ҏ不在于你用什么工具和语言Q而在于你q什么工作。你的设计体C你的技术层ơ?</p> <p>q样q了一q我觉得非常苦闷Q做的大多数都是熟练工种的活Q个人技术上没有太多 的提高也看不到方向。所以决定离开q个城市MPL更好的发展,q且打算攑ּ我以前的MIS转到通信行业?</p> <p>写到q里不能不提到我x友,我们是在来上前半年认识的,她大四在我公司实习,公司z֥l我写文档,我们的感情发展的很快。她告诉我很多事情,她家原本是改革开攄W一Ҏ发户Q她母亲爱打牌,输掉了几百万Q还Ơ了很多债,Ҏh友,但是她对他没有感情,只因Zl了Ҏ亲两万多块钱Q后来还她写了四万块的借条Q她h友背叛过她ƈ且不止一ơ打她,现在逼她l婚不然p她还钱。这人居然还是一个高校的老师Q她母亲把父亲给她的学费׃Q因为拖Ơ学费她没有办法拿到毕业证。她母亲现在有病需要钱Q我拿出了自q一点积蓄ƈ且跟朋友们接了一些,替她交了学费q给Ҏ亲看 病(后来才知道看病的钱又不知所l,pҎ亲是不是有病我都不知道,但她也是没有办法Q。这个时候我家知道了一些事情,坚决反对我和她在一P她原来的h友也极力破坏。无奈之下我们决定早一定离开q个伤心的城市,q且瞒着我们家。由于时间仓促,我只准备?000块钱Q她仅有的几癑֝׃被她母亲要去了,我买了三张票Q一张是中午的,两张是晚上的Q中午我的家人把我送上船,他们一d我就下了船,我和她乘坐晚上的船离开了这个我和她生活了很多年的城市,带走的只是一w债务。没有来q上L我们两个性倔强Q都不愿意去ȝ同学和朋友。来Ch傍晚6点半Q我们都不知道该d里,我们找了一?0块钱的旅馆,q个戉Kq窗户都没有Q?月䆾的天气酷热难耐,戉K里非帔R热。第二天我们开始租房子Q因n上的׃多,我们基本都是步行Q花了一个星期时_不知道在东转了多少圈后扑ֈ了一?00块的房子Q但是我们都不了解上h付三压一Q还要付半个月的中介费,C一些锅瓢盆后Q我们n上只?00块钱了,工作都还没有着落,q?00块钱要支持到我们拿到W一个月工资Qؓ了省钱我?<br />自己做饭Q每天买菜只׃块钱Q她非常喜欢吃(也可能她在大学经常挨饿的愿意Q,看到她现在这L吃P用我真的很不忍心。她以前的男朋友也没有放q她Q经常打电话来骚扎ͼq且来上L她,q说了不恐吓她的话Q她q于善良Q说他以前毕竟帮助过她,叫我不要与他一般见识。以后的每天在家是苦等面试通知Q原本我惌速找一家MIS公司解决眼前的困难,但是她坚持让我不要放弃自q理想Q终于功夫不负有心hQ我扑ֈ了一安信公司Q?000块的工资虽然赶不上MIS公司l我开出的价位Q但也够在上L存。她也找C工作Q第一天上班她哭了Q这是她来上L一ơ流泪,我心里很隑֏也很感动?/p> <p>׃是全新的行业Q我把自己降C零点Q我学的VC、Delphi、数据库z不上用场, 摆在我面前的是嵌入式、协议、信令一些我从未接触q的知识。我知道我没有退路,于是拼命的学习,我把自己当做一个应届毕业生一P一分努力一分收P半年q去我终于熟悉了工作Qƈ且得C公司的表彎ͼ薪水也加了一U。后面的日子里我们省吃P用,把欠朋友?万多块钱q了Q日子终于上了正轨。这时女朋友告诉我她惌研I生Q我也很支持Q于是她辞职在家备考?</p> <p>另外Q在q里我要感谢我的ProjectManagerQ他原来是一个大通信公司的品经理, 对h非常和善Q我从他那里学到了很多知识,而且他也l了我许许多多无U的帮助。在工作上他l我充分的空间和信Q。记得公司安排我l护一个接入服务器软gQ由于代码量不算太小Q?万行Q,资料和文档都不齐全,我维护v来非常吃力,所以想重新把它做一遍, 公司领导不太支持Q可能觉得工作量太大Q但是他极力支持我,U下里他让我放手dQ?我的l护工作他挤旉做。在他的支持下,我花了半q时间完成了接入服务器的软gQƈ且实C一个相对完整的TCP/IP协议栈。在q里我学会了嵌入式系l设计、驱动开发、TCP/IP和很多通信的知识,我花了一q时间终于自己从MIS开发{C通信行业Qƈ且站E了脚跟。我的开发大量是对硬件的直接操作Q不再受微Y的操作系l,VC、Delhpiq些开发工LU束Q我l于看到了另外一片天I?</p> <p>我做事情喜欢q根问底Q随着开发的深入QY件开发与g联系来紧密,g?识的匮乏又对我的发展产生了障,而且芯片技术基本上掌握在国外公司的手里Q这对做pȝU设计是一个非常大的制U,一个新产品出来Q第一道利润(也往往是最丰厚的利润)常常都被IC公司如Intel、Motorola赚去了,国内的厂商只能喝Ҏ。所以我军_解决自己的硬件技术障,q打离开通信行业Q进入IC设计相关领域?</p> <p>当然我明白如果我对硬件了解的非常,没有哪家IC公司会仁慈到招我q样一个一H不通的人来培训。所以我必须努力打好基础Q学一些相关知识ؓ以后做准备。就像我开始从MIS转到通信一P我看q大量通信斚w的书Qƈ且给一个ISP做过RADIUS计费分拣収ͼ在这L背景下这安信公司才给了我q个Z。我在的通信公司是做pȝ设计的,有不PCB Layoutg人员Q^常我注意向他们学习Q由于我做的是YӞ在公司看g资料不好意思,所以开始只好在家看Q刚来上工作我q箋一q都在加班,后来不加了,因ؓ我要挤出旉学习Q通常?2点左右睡Q第二天5点半P我上班比较早Q地铁上如果Z多我也用来看书。学习当然不会是一帆风的Q有些实在不懂的问题q累v来问g人员Q他们的帮助使我学习q度快了很多Q因为在没有人点拨的情况下自学,我的一半时间是花在解决疑难问题上,但这U问题经常是别h的一句话可以让我豁然开朗,我非常庆q我有这L学习环境。在后面的一q里Q我学会了看g原理图,学会了简单的g设计Q模拟电路方面还有不的差距Q,事情是q样的,当你安安份䆾做YӞ别h永远认ؓ你是软g开发h员,在你开始学习硬件时别h未必会认同,有位中兴通讯的朋友还Ҏ说过Q一个h不可能把所有东襉K学完。我也明白这一点,但我希望自己做的更好。但当你熟悉g后大家又会觉得你好像原本是软硬仉懂的Q同事们也都习以为常了。这个时候我可以把硬件资料堂堂正正的拿到公司看,没有人再大惊怪了?让我比较自豪的是我通过自己的努力做了一个IADQY交换的终端设备)pȝҎQ包含Yg的选型、设计等内容Q这个方案得C公司和同事们的认同,让我感到非常ƣ慰?</p> <p>技术是相辅相成的,当我的硬件有了一定的q步后,我的软g设计也有了很大的提高 Q我可以从更深层ơ理解问题,我做的接入服务器CPU是Motorola PowerPC860Q熟悉的朋友都知?60 QMC与Y件的扚w数据传输通常采用BD表的方式Q硬件h员做驱动的时候习惯采用固定BD表,每接收或发送数据都数据从BD表拷贝到用户BufferQ或从用户Buffer拯到BD表,׃理解的比较深入,我自己重新实Cq个q程Q采用动态BD表的方式Q驱动从一个网口接收数据,提交l我的Y件进行三层交换,直至从另外的接口发送出去,没有q行一ơ拷贝。这L设计大大提高了性能Qɾpȝ的指标接q理论倹{Yg的结合我的设计水^上了一个台阶。我现在写的q个操作pȝQ编译后我把E序反编译成汇编Q找出其中不优化的代码,然后在CE序中进行调整。D个例子,很多CPU没有专门的乘法指令,q个大家应该都知道,在这UCPU上进行一个乘法操作常怼p大量的指令周期, 有的朋友会说q个我知道,我会量避免采用×P但是事情往往不是那么单,你知?<br />C语言中数l的下标操作是怎么实现的吗Q仔l看看反汇编的代码你׃明白Q同h通过下标的定位操作,C~译器会有时候会产生位移指oQ但有时候会用乘法实玎ͼ两者效率往往是天壤之别,所以明白这些问题你才能系l性能提升到极致? <br />些问题就不多说了Q有兴趣的话以后可以共同探讨?</p> <p>话说q一点,我由L希望在Y件上做的比较深入的朋友们有机会学学硬件以及其?相关知识Q尤其是做底层开发和嵌入式设计的。这对Y件技术的提高有非常大的帮助,否则很多事情你只知道该这样但不会明白Z么该q样。我q个观点在我现在的IC公司Project Manager那里也得C验证。他告诉我们公司现在?02.11芯片产品的Y件经理原本是做该芯片g设计的,某某某原本是做Y件的Q现在在做ICQ类似的例子q有很多Q只是在国内q样的风气不是非常流行?</p> <p>我有一些心得体会与大家分nQ只有当我干好本职工作后Q我才会学习与工作关pM 大的技术,q样公司的上司才不至于反感,在入门阶D늚问题我通常不去问那些资׃h?Q而是问一些资历比较浅的朋友,比如刚毕业不久的学生Q因Z们往往会跟你详l的讲解Q而资׃h士通常觉得你的问题太简单,所以回{的也很单,我又不好意思多问。等技术上了一定的层次后我才会问他们,他们也能l你比较深入的回{。另外,有些朋友说我Z比较好,他们也希望能从事新的工作可惜没有ZQ我听了只有苦笑Q我的机会了解的人都应该知道Q我没有出生在什么IT世家Q)也没有谁一路提拔我Q所有的路都是自p出来的,我母亲去世比较早Q我的后母(我叫奚w姨)看着我努力过来的Q一ơ她看我大年30q在写程序,她说像我q样努力木头都能学出来?</p> <p>我的最l目的是IC而不是PCBQ所以我下一步的准备开始学习IC设计的知识。公司的同事没有懂IC设计的,后面的\又要靠自׃Q我C不少相关的书Q在|上也查了很多的资料Q我׃大量的时间去学习VHDLQƈ且用软gq行了一些简单的设计和仿真(没有设计ASICQ只是针对FPGAQ,随着学习的深入,我渐渐明白了IC设计的基本流E,同时也明白了q条路的艰辛。这个时候我已经做好了蟩槽的准备Q我向一家业界又一定知名度的IC设计公司投了历,q过了O长的面试Q?个多时Q。其他的一切我都比较满意,唯独薪资差强人意Q我也明白原因,因ؓ我是q个行业的新人,我没有经验,我再一ơ将自己清零了。公司老板问我6000多一个月能不能接受,我知道他也是照章办事。想x通信行业的朋友们Q基本上都是q薪10万以上,月薪q万的也比比皆是Q朋友们也帮我介l了不少待遇不错的公司,我该怎么选择Q当时我很犹豫,我热爱我的事业,我向往我的q求Q?但我也是一个普通的人,我也需要养家糊口,我也x一点买房买车。生zȝ我出了一道难题?</p> <p>爱因斯坦?3岁时说过“一个h没有?0岁以前达成科学上的最大成,那他永远都不会有。”这句话l了我很大的压力和震动,我马上就26岁了Q离30只有四年旉Q我必须抓紧q几q宝늚旉Q努力达到我技术上的最高峰。ؓ了这个理惻IZ能离自己的梦更近一些,我选择了这家IC公司Q我明白自己的薪资和公司刚进来的士研究生相差无几, 但ؓ了今后的发展只能忍受Q一切又得重新开始。换行业是一个非常痛苦的q程Q尤其从一个春风得意的位置换到一个陌生的岗位Q感觉象从温暖的被子里钻出来跌冰水中,让h难以接受。在原来那家通信公司Q我是唯一两年旉涨了五次工资的员工,公司和同事都l了我极大的认可Q工作上也常常被委以重Q。但现在q一切都成了q去Q在新的公司我只是一个新?没有人知道也没有人在意我q去的成l。我军_重新开始,我把自己看作新毕业的学生Q我要用自己的努力得到公司的认可。进入新的行业是非常痛苦的,我告诉自己必d受这一切,虽然外面有很多诱惑,但是既然作出了选择我就不允许自p易放弃?</p> <p>我现在已l在q家新公怸了一个多月的班,开始非常艰难,现在慢慢适应了。第一 个月l束ӞTeam Leader找我谈话Q说我是新进员工中最优秀的一个,我心里很ƣ慰Q这也算Ҏ努力的一个肯定吧。在q里q要感谢我的x友,她给了我很大的支持和鼓舞Q?每次在我动摇的时候她都在鼓励我,让我坚持自己的理惻I刚来上v是她让我不要勉强dMISQ这ơ也是她让我住了月薪过万的诱惑Q没有她我可能不会有今天的成l?现在的公司有自己的操作系l,自己的CPU、DSP和其它芯片,在这里我能学C界上最先进的技术,我们的设计开发不再完全依赖别人的g和系l,q让我很开心。我打算{工作步入正轨后Q全力学习新的知识,实现我的理想?<br />在后面的两年里我l自己定下了几个目标Q?<br />一.努力做好本职工作Q在工作上得到公司和同事们的认同Q?<br />?努力学习ICg设计知识Q多向同事请教,q利用一切机会多实践Q?<br />?实现我的实时操作pȝ的主要部分,完成TCP/IP协议栈模块,q免费发布源代码Q?<br />?和我x友结婚ƈC套小房子Q这是最重要的,因ؓ我明白事业是可以重来的,但是珍贵的感情很隑֤而复得?</p> <p>在这里提一下我现在开发的操作pȝQ它是一个实时嵌入式pȝQ目前支持以下特性: </p> <p>a.支持旉片轮转调度和Z优先U调度,最?4个优先Q?<br />b.抢占式实时内核; <br />c.Z便于ULQ主体用标准C实现Q?<br />d.汇编代码非常,不到100行; <br />e.支持d理Q各d有独立的堆栈Q?<br />f.q程同步和通信目前完成了SemaphoreQMessage Queue正在调试Q?<br />g.实现了定时系l调用; <br />h.可以在windows上仿真调?<br />我还打算下一步实C先反{保护QEvent FlagQData PipeQ内存管理(以前实现q)、驱动接口等?在这之后我还会努力完善它Q比如加入文件系l,协议栈、调试接口等。希望朋友们提出自己的意见和Q在此不胜感ȀQ?</p> <p>后记Q?</p> <p>像有的朋友说的Q我的经历或怼l一些朋友生误|在这里我必须说明一下?我来上v以前学习q于拼命Q常常晚上只?个多时Q我w高1c?1Q那时只?08斤(我现?30多)Q家Z说我q样拼命zMq?0岁,但是当时的我太固执,我对他们说只要能实现理想z?0岁我够了。那时的拼命使我的n体受C影响Q有一ơ早上突然腰肌剧痛难忍,痛的我倒在床上站不h。虽然我现在已经比较注意Q但有时候还会隐隐作痛。后来在x友说服了我,来上以后我不再如此。我l常引用父亲的一句话“n体是革命的本钱”?</p> <p>而且我也发现拼命不是办法Q我可以熬一两个通宵Q最多的一ơ我q箋工作了三天三夜, 但是我半个月都没有恢复过来,q样是不是得不偿失?学习工作应该是一个长期的q程Q?像马拉松而不是百c_刺。我现在非常注意调整学习和工作的强度Q我要保证每天尽量有相对充沛的精力,一些年ȝ朋友觉得自己也应该拼命努力,q让我多有些担心,如果我的故事能让你在学习工作上多一点兴,我会感到很开心,但如果误g某些朋友Q让你做一些不值得的付出,我会感到很内疚?</p> <p>技术没有贵贱只分,我以前换行业是因q兴趣所_而不是对哪个行业有什?偏见。我希望我的l历不要l朋友一个错误的导向Q觉得我始终向更高的技术发展。其实各行各业做到顶都是很困难的。话又说回来虽然技术没有贵贱,但是门槛是有高低的, 无论如何Q做IC的门槛要比做|页的高Q这一Ҏ可否认。国家各Uh才都是需要的Q但是作Z人奋发向上的xq是应该有的Q努力在自己喜欢的行业上做的更好Q而不应该停留在比较肤的层次上?</p> <p>我是一个自p得比较有自知之明的hQ或许我最大的优点是知道自己有很多缺?Q)。我的故事中很多的曲折和错误都是由我的缺炚w成的,希望大家用审慎的眼光看待我的l历Q不要被我的“花a巧语”所qh。我学习有些随心所Ԍq给我带来了无尽的麻烦,也大大阻的我的发展。记得我时候成l比较出Ԍ但是后来学习严重偏科Q导致我中学成W一再滑坡,也没有考上什么好的学校,时候的一个朋友,当时的成l和我相仿,但是没有我这个缺点,她上了清华,后来在去了美国深造,在一个著名导师手下研I理论科学,q未不是一条更好的\。另外我的学习方法也是在不断改善中的Q过?的学习过于讲I数量和旉Q那样学习既苦而已效率不高Q现在我非常注意学习的效率和技巧,q样才是学习的捷径(当然不是指投机取巧)Q比如说学一相对陌生的技术,如果有条Ӟ不妨问一问有l验的hQ不需要问很多Q往往他不l意的几句话会给你非常大的帮助,甚至过你看一个星期的书。带着q样的思想再去学习你会节省很多旉Q这样何乐不为呢Q这些年中我学了不少的东西,׃开始非常盲目,所以学的东西杂乱无章,现在回想h让我啼笑皆非Q我把大量的旉费在一些没有必要深入了解的知识上,毕竟一个h的精力是有限度的。很多朋友很我一样都背过五笔字ŞQ的它是个不错的输入法Q但是对一个研发h员它l对不值得你去背,你的旉应该花在有h值的地方。我q样的事情还做过很多Q我背过CCED、WPS的命令和快捷键,在dBase基本退出历史舞台后我还׃很多旉d习它的用。所以我的学习在前期~Z规划Q没有明的短期目的、中期目标,只有一个虚无飘渺的长期的理惟뀂这像做设计一P好的设计是从需求抽象到代码有很多过E,而不能得C需求就立刻开始开始编码?</p> <p>当然q么些年的学习和工作多多少有些收获Q下面我说说我的一些学习的心得Q这 些方法未必正,我也在不断探索和改进中。我的学习和工作有相Ҏ的目标Q我不会一时心动而去学习某一技术,在下军_之前我会考虑很多Q包括长期的发展Q个\U的规划Q需要付出的代h、可能遇到的困难及解决的办法{等Q在军_后还会制定更加明的计划Q包括短期、中期和长期的,w边可以利用到的资源Q包括好的书c、资料、Yg环境Q也包括有经验的朋友或者师长)Q以及每一个阶D|怎么q渡到高一阶段的计划,往往在一个学习阶D一旦上路后会走的相寚w利,但是跨阶D通常比较ȝQ比如从学习基础知识转到实践。另外我C也有自己的方法,现在世面上高质量的书q不如低质量书多Q对于一个陌生的技术,往往在第一ơ买书会选择错误Q即使买C本好书但是它的方向也未必适合你,所以我通常会先在网上查找一些该技术的介绍Q有了一点点概念后再M一本比较薄、相对便宜ƈ且内容相Ҏ泛而谈的书Q这是国内作者最善于写的书:Q?Q再把它览一遍后我就会基本明白这门技术的要点Q后面买书和制定计划׃明确的多。否则一开始就x本好书往往比较困难Q而且买回来后努力学习Q有时候学了一半才发现是本低质量的书或者是相对q时技术,让h非常懊恼。另外让有经验的人帮你介l,通常也是一个不错的选择?</p> <p>有些朋友惛_通信、嵌入式开发,但总觉得自己没有Yg环境Q我按我的了解l?大家介绍一下怎么建立q样的环境,当然我了解的只是我学习和工作的方向。通信我做的是数据|方面的工作Q包括TCP/IP、二三层交换、对接入|、H.323和Y交换也有一点认识。这些Yg环境都是可以在PC上构建的。你甚至可以在一个没有网卡的PC上徏立一个包含多个\由器、接入服务器、VoIP|关、网守、主机等的仿真网l环境,而且与实际的|络相当接近Q当然这需要你有清晰的|络概念和一定的|络知识Q我一直在努力开发一套Y件将q个q程化,目前试验已经做完Q我可能会将它融入我的操作系l外围扩展Y件中。这LҎ我无法用单的语句讲的很清楚,我可以说一下大概的思想Q就是在PC上实C真网卡,Q知道Windows怎么在没有网卡的机器实现虚拟|卡技术的朋友都应该会明白Q,然后每一个仿真网卡对应一个虚拟设备,如\由器或者主机。你也可以借助W三方工具完成部分工作,如VmWare{。我现在是利用一个仿真网卡做自己的开发的?</p> <p>至于嵌入式开发环境更加容易实玎ͼPC是一个非常大的硬件^収ͼ现有的嵌入式?作系l通常都支持X86Q你可以在上面做开发,通过软盘Boot或者用虚拟机装蝲Q我用VxWorks做了试验Q在一台PC上跑Windows和VxWorks两个pȝ。另外Windows上的兼容DOS?6位仿真X86环境也ؓ很多操作pȝ提供了绝佳的试验环境Q我的操作系l在Windows上就是这样实现的。Linux在嵌入式中应用也比较q泛Q它在网上有大量的资料,而且也相Ҏ较容易实c同时很多完善的嵌入式开发环境支持Y件仿真,如Tornado、WinCE{?</p> <p> </p> <p> </p> <p> </p> <p> </p> <p>前段旉处理了很多事情,一直没有写下去Q花光了所有的U蓄C一套房子,同时把户口的事情也基本办完了Q这几天E微~口气。昨天跟我的一个老上司见面聊了半天,心里感慨万千。他从外在条件看让不外人M慕,二十多岁做过C863目的负责hQ博士毕业的׃h单位也非常好。现在三十出头的他在一个通信公司做品经理,工资虽然不算高但也有一两万Q而且q持有股份。但是我们了解的人才理解他的艰辛。“白领”这个词在一些h看来是仿佛是一个动人的光环Q但是在我看来是一个无奈的名字Q每天行走在大街上,来来往往的R中有多是“白领”的Q又有几个“白领”住的v高档的住宅?在上一套别?00万不ؓ奇,按揭h下来总额接近600万,q薪二十万在上v是一个中高“白领”,高额的税金去掉了你百分之几十的收入后Q这L下来不吃不喝也要四十多年Q加上生zȝ其他开支,注定了你与这L住宅无缘。看着外面一套套别墅Q一辆辆好RQ我不知道它们是谁的Q但我知道其中没有什么白领。我觉得自己很ؓ,在这个喧闹的都市中我如同一只蚂蚁,但我有不甘于q_Q我不愿做一个单U的“白领”?/p> <p>  其实很多朋友q不了解我,我不是一个追逐时技术的人,我只是不愿意做一个所谓的“白领”,更加不愿意做一个单U的“程序员”。我不甘愿^凡的生活一辈子。我在不断的努力Q我的方向非常明,我要做多Ch不做和做不到的事情,很多朋友Ҏq样频繁的换方向不理解,觉得一个h只要熟悉一U技术就可以了,对于q样的看法我只能说你薄Q现在的大的pȝ和品往往都是软g、硬件和应用相结合的Q我要做的不是哪个方面的专家Q而是希望能够成ؓpȝ设计师。我不相信一个只_N发动机的专家能够设计一辆好车,同样我也不相信对g一H不通的做出一个操作系l,或者一个对财会没有一Ҏ늚设计Z个优U的胦务Y件。在工作中我发现C会上非常缺乏边~h才,其是在国内。在国外一个h软硬件兼修非常普遍。如果设计品的人只了解他的专业那么是很难有的设计。所以我必须着自己q轻学的更加q泛一些,q样才能提高自己的综合素质,q也是ؓ什么高校那么多非专业课E。学习工作了q些q_实际上都没有qITq个行业Q我现在的公司开发一个系l时Q先是将最l功能列举清楚ƈ分析可行性,然后划分哪些是用芯片实现Q哪些是用硬件电路实玎ͼ哪些是用软g实现Q这L设计才能做出最好的pȝ。如果一个设计者单U只懂一个方面是不可能做到这一点的?/p> <p>  自负常常伴随着无知Q记得我大学毕业Ӟ论文{辩会上我和专家l组长争h了,因ؓ我对自己的设计非常得意,而他虽然是鸡蛋里挑骨_但是׃知识非常有限Q我无法回答他的问题Q所以有些“恼成怒”。我原来一直喜Ƣ用“所谓”最好的开发工P记得做过一个愚蠢的设计Q一个排课表的Y件我用VC+Oracle开发。这些经历我牢记在心Q时L醒自己学会谦虚。我的亲w经历加上我对一些nҎ友的观察发现q样一个现象。当一个h只会他认为最好的技术,而对其他的一无所知,q样的hl常是目IZ切?br />从第一个“Hello World”到今天的操作系l,前前后后写了很多代码Q从q中间我也积累了很多心得。由于我是在没有人指导的情况下自学编码的Q所以走了很多弯路,也犯了不错误。最初我写程序全凭自q感觉Q写一个新E序对结构设计不很重视,以ؓ学好语言Q数据结构就可以写出好的E序Q其实远不是q样的。没有设计的情况下,也可以写Q但是程序无法写的很大、很复杂。我个h的经验是q样的系l超q?000行我无法控制了Q以前我用VC写过一个Windows下的应用E序Q大?000行左x对它失去了控Ӟ整个代码一团糟Q这8000行倒是可以相对E_的运行,但是我没有能力再增加什么新的代码,动辄前后冲突Q要么就是新代码与旧设计格格不入Q需要调整旧的程序。最开始我写程序喜Ƣ追求代码的_yQ别人很多行写出来的代码自己只写很少可以实玎ͼ感觉那样比较酗其实这样也是非帔R误的Q我现在写程序非常注重结构设计,Zl构清晰我愿意牺牲一Ҏ率?/p> <p>  下面一D话是我写程序的座右铭,希望与大家共勉:</p> <p>  Make it right before you make it faster.<br />  Keep it right when you make it faster.<br />  Make it clear before you make it faster.<br />  Do not sacrifice clarity for small gains in efficiency.<br />  Brian Kernighan</p> <p>  另外补充一点:我和我的x友现在非常好Q双方的家h都认可了Q我们决定在q期l婚?br /></p> <img src ="http://www.shnenglu.com/singohgod/aggbug/10138.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/singohgod/" target="_blank">大宝天天?/a> 2006-07-16 21:37 <a href="http://www.shnenglu.com/singohgod/archive/2006/07/16/10138.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>U念开?/title><link>http://www.shnenglu.com/singohgod/archive/2006/07/13/9791.html</link><dc:creator>大宝天天?/dc:creator><author>大宝天天?/author><pubDate>Thu, 13 Jul 2006 04:53:00 GMT</pubDate><guid>http://www.shnenglu.com/singohgod/archive/2006/07/13/9791.html</guid><wfw:comment>http://www.shnenglu.com/singohgod/comments/9791.html</wfw:comment><comments>http://www.shnenglu.com/singohgod/archive/2006/07/13/9791.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/singohgod/comments/commentRss/9791.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/singohgod/services/trackbacks/9791.html</trackback:ping><description><![CDATA[ <p>早上发了甌Q很快就收到了通过的邮Ӟ站长工作真是负责。特此发表一文以做纪念!</p> <img src ="http://www.shnenglu.com/singohgod/aggbug/9791.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/singohgod/" target="_blank">大宝天天?/a> 2006-07-13 12:53 <a href="http://www.shnenglu.com/singohgod/archive/2006/07/13/9791.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.taozhenyuan.cn" target="_blank">þþƷѿ</a>| <a href="http://www.dgjiajun.net.cn" target="_blank">97þþƷ</a>| <a href="http://www.0379f.cn" target="_blank">þþþþùƷ</a>| <a href="http://www.forsagecn.cn" target="_blank">þþþAVۺϲҰ </a>| <a href="http://www.nxol.net.cn" target="_blank">þۺϾɫۺϾ99</a>| <a href="http://www.aisile.com.cn" target="_blank">þ99Ʒ99þ</a>| <a href="http://www.emitel.cn" target="_blank">Ʒþ</a>| <a href="http://www.ut100.cn" target="_blank">Ʒþù鶹99վ</a>| <a href="http://www.2cafe.cn" target="_blank">¾þþþa</a>| <a href="http://www.510dpw.cn" target="_blank">þþŮ붯ȺëƬ</a>| <a href="http://www.412news.cn" target="_blank">ھƷþþþӰԺձ </a>| <a href="http://www.1104f.cn" target="_blank">޾ƷŮþþþ99</a>| <a href="http://www.hjj9588.cn" target="_blank">Ʒ99þþþƷ</a>| <a href="http://www.114best.com.cn" target="_blank">ŷ޹Ʒþ</a>| <a href="http://www.u6768.cn" target="_blank">ݺɫþþһ</a>| <a href="http://www.syggzy.org.cn" target="_blank">޾Ʒһþ </a>| <a href="http://www.bolidianqi.cn" target="_blank">ɫ99þþþø߳ۺӰԺ</a>| <a href="http://www.antispy.cn" target="_blank">ձƷþ</a>| <a href="http://www.029canon.cn" target="_blank">þպƬ</a>| <a href="http://www.icsy.cn" target="_blank">ɫۺϾþþþһ</a>| <a href="http://www.e-li.cn" target="_blank">AVվþþƷ</a>| <a href="http://www.gznfrc.com.cn" target="_blank">AVһȾþ</a>| <a href="http://www.duansisi.cn" target="_blank">þerƵᆱƷ</a>| <a href="http://www.orionstaros.cn" target="_blank">˹ھƷþþþӰԺVR</a>| <a href="http://www.51fsyf.cn" target="_blank">޾ƷƷþ99</a>| <a href="http://www.yunshanhong.cn" target="_blank">re99þ6Ʒ</a>| <a href="http://www.tmqywedding.cn" target="_blank">Ʒ91þþþþþ </a>| <a href="http://www.malmoarts.cn" target="_blank">޾ƷþþþĻ</a>| <a href="http://www.51jintianfang.cn" target="_blank">þһѵ </a>| <a href="http://www.qqzhuti.cn" target="_blank">91Ƶ91þþ</a>| <a href="http://www.suzhougarden.cn" target="_blank">þݹֻƬ</a>| <a href="http://www.dafa888da.cn" target="_blank">ۺϳ˾þôƬ91</a>| <a href="http://www.svelan.cn" target="_blank">ɫۺϾþ</a>| <a href="http://www.7-go.cn" target="_blank">99þþƷһ</a>| <a href="http://www.fujianedu.com.cn" target="_blank">þþþ18</a>| <a href="http://www.xkr-bsc.cn" target="_blank">91Ʒ91þþþø</a>| <a href="http://www.jrlxcc.cn" target="_blank">þݺҹҹ2020츾 </a>| <a href="http://www.mayishenggou.cn" target="_blank">97þþƷˬ</a>| <a href="http://www.ireboot.cn" target="_blank">ŷƷۺϾþ</a>| <a href="http://www.shaoxing2010.cn" target="_blank">þ99Ʒþþ</a>| <a href="http://www.cnhtyy.cn" target="_blank">AVһȾþ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>