在“我的电脑”上单击鼠标右键,选择管理,在管理窗口的左栏中打开“服务和应用程序”,点击“服务”,
在右边窗口中双击打开名称为“Smart Card”的服务,“常规”->“启动类型”选为自动,“登录”->“登录身份”选择本地系统帐户,点击确定。
然后在该项上单击鼠标右键,选择“启动”,启动windows智能卡服务。

一、进入IDE Settings 里的 Appearance项,选中Override default fonts by ,把 Name 设置为 SimSun,Size 根据自己喜好设置(我一般设为 12)。确定

二、这时就可以选择中文字体了,再更改为你想要的字体。

三、进入IDE Settings 里的 Colors & Fonts 项,先点 Save As...   然后输入一个名称,确定。在Editor Font  的 Name 里选择 字体 为 (Minispaced)宋体或者你想要的字体,Size  为 12。确定

OK,一切搞顶,现在应该就能正常显示中文了。

Windows 8.1和Windows Server 2012 R2 RTM出来了,下载了个英文版的安装上了,发现远景上有朋友提供中文语言包,以下提供两种语言包的安装方法:

一、使用lpksetup命令:

1。WIN+R运行lpksetup

2。选择install display languages

3。点击browse按钮选择语言包

4。点击next进行安装

安装完成后重启电脑,在控件面板中设置默认语言。

 

二、使用dism命令:

1。打开命令行(管理员模式)

2。运行命令dism /online /add-package /packagepath:C:\downloads\Win8lang\ar-sa\lp.cab

3。安装完成后重启电脑,在控件面板中设置默认语言。

前几天更新TortoiseSVN到1.8版本后发现FD(FlashDevelop)里不能使用svn了,在项目面板里的所有文件及文件夹都不能正确显示svn状态了,清一色都显示为未添加版本控制的状态图标,并且在FD的输出面板(output Panel)里输出:

Unable to get repository status: (1)
 

不能获取仓库状态,之所以会这样是因为TortoiseSVN1.8和1.7的文件格式不同.

FD默认使用的是1.7版本的SlikSVN(Slik Subversion),和TortoiseSVN都是svn工具,但不是同一个.我之前一直以为是同一个,以为FlashDevelop为了方便,把TortoiseSVN也包进tools目录了.

TortoiseSVN更新到1.8版本,使用了新格式,FD使用SlikSVN 1.7 将不能做任何操作和显示正确的状态,必须也更新该命令行工具到SlikSVN 1.8以便兼容新格式.

实际上FD兼容任何的svn命令行工具.http://subversion.apache.org/packages.html

配置FD使用SlikSVN

在FD的【工具菜单(Tools)】里选择【程序设置子菜单(Program Settings…)】,打开【设置面板(Settings)】,在左边选择【源代码控制选项(SourceControl)】,在右边找到【SVN】,进行以下设置.

  • Enable SVN:设置为true
  • SVN Path: 设置为svn.exe的路径(包含svn.exe), {FlashDevelop安装目录}\Tools\sliksvnin\svn.exe为1.7版本,1.8版本请到上面下载并安装后,将svn.exe路径写在这里.
  • TortoiseSVN Proc Path: 设置为{TortoiseSVN安装目录}\bin\TortoiseProc.exe

设置完成了,重启机器后就能在FD里使用svn了.

配置FD使用svn

Win8.1更新了宋体字体,中文字体显示漂亮了,但英文字体发虚不渲染,尤其是小号的英文和数字字体,看下图。

1.下载Win8的宋体
2.打开字体文件点击安装
3.导入注册表文件
4.重启Win8.1

 

下载链接:http://pan.baidu.com/share/link?shareid=3689570862&uk=1141169366 密码:h95p

大部分半卡死的现象是因为Dynamic Tick的一个Bug。Dynamic Tick是NT 6.2内核的一个新功能(其实Linux早就有了),原理的话大概是在空闲的时候把CPU完全暂停,来节省电量。但是貌似这个技术还不是很成熟,对“空闲”的判断有时候会出错,所以正常使用的时候CPU也可能会暂停,出现假死。RP出过一个补丁修复过一次,但是貌似还是没有完全修复。
 
解决办法就是把它关掉,关掉之后内核的行为就回到Win7的样子了。所以还是会和Win7一样费电,但是应该就不会假死了。
 
关闭的方法:
用管理员打开CMD,输入

bcdedit /set disabledynamictick yes

,重启。

在很多场合能看到unicode编码过的文字,如“\u6d3b\u52a8\u63a5\u53e3”,虽然程序会认识,但人眼无法阅读,很不方便,网络上很多人写了很多的转换函数,但是一个比一个臃肿,终于发现用一行PHP代码解决的方案:

$str  = '{"success":true,"msg":"\u6d3b\u52a8\u63a5\u53e3"}';

echo $str= preg_replace("#\\\u([0-9a-f]+)#ie","iconv('UCS-2','UTF-8', pack('H4', '\\1'))",$str);

已经无法找到这行代码的原始出处,PHP原生的函数很多功能很强大,但很少人能运用好,真是遗憾。


如果服务端是自己写的,听说php5.4版本以上还可以用以下办法解决:

echo json_encode("汉字", JSON_UNESCAPED_UNICODE);  

 

http://115.com/lb/5lb7rnbr#
Windows Phone SDK update for WP 7.8
115网盘礼包码:5lb7rnbr

 

使用/layout下载的,相信很多朋友已经安装过了,这里留个备用.

不知装了什么软件之后无法打开,点任务栏图标无反应。

打开C:\Program Files\Internet Explorer用管理员权限才能打开iexplore.exe

解决方法:在注册表的HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main点右键[权限]增加一个“everyone”,权限跟管理员一样。

没有人会指责 Gary Reback 反 Google 垄断的言论。毕竟这是 Gary Reback。——著名的硅谷反垄断律师,他是 90 年代微软反垄断案的先锋,正是他让 Larry Page 和 Sergey Brin 这样的创业者有机会创造了像 Google 这样的公司。但是现在,Gary Reback 认为,在一定程度上 Google 已经在成为了昔日的微软,Google 不仅滥用了其统治地位,而且摧毁了所有其他公司的同类产品和服务。Gary Reback 建议所有的创业者,“避开 Google!”

不过,Gary Reback 认为 Google 并没有彻底的变成微软。Google 从微软的案例中学会了政治的重要性——这是微软在它的巅峰时期没做或不愿做的事。Google 花大手笔游说美国政府,FTC(联邦贸易委员会)放弃了他们针对 Google 的调查,因为调查政府哥们众多的公司“太恐怖了”。Gary Reback 认为欧盟和美国对 Google 反垄断案应该更加坚决。Gary Reback 说,如果欧盟委员 Almunia 想留下历史性的政绩,他应该更加积极的对抗“有明显证据”(Reback 语)违反欧盟法律的 Google。对 FTC 新主席 Edith Ramirez,Gary Reback 的建议是把 Google 的案件转给权利更大的司法部处理。

有人可能会说,谁会关心如此复杂、漫漫无期,又远在华盛顿或布鲁塞尔的官司呢。从 Mark Zuckerberg 到 Ron Conway(天使投资人)几乎所有人都明白政治对于促进原创的重要性。想象一下,如果没有 90 年代微软反垄断案的胜利,不仅 Google 可能不会存在,而且硅谷繁荣的生态系统也无法达到今天的规模。所以,Gary Reback 提醒我们,如果 Google 不能被驯服,最终损害的是创业者,是所有怀着打败超级巨头梦想的创业者。

iPhone系统中的Objective-C的内存管理机制是比较灵活的,即可以拿来像C/C++一样用,也可以加个AutoreleasePool让它升级为半自动化的内存管理语言。当然,也不能拿JAVA虚拟机中的全自动化GC来比?

引用计数是实例对象的内存回收唯一参考

引用计数(retainCount)是Objective-C管理对象引用的唯一依据。调用实例的release方法后,此属性减一,减到为零时对象的dealloc方法被自动调用,进行内存回收操作,也就是说我们永不该手动调用对象的dealloc方法。

它的内存管理API老简单老简单了,下面就是它主要操作接口:

1,alloc, allocWithZone,new(带初始化)

为对象分配内存,retainCount为“1”,并返回此实例

2,retain

retainCount 加“1”

3,copy,mutableCopy

复制一个实例,retainCount数为“1”,返回此实例。所得到的对象是与其它上下文无关的,独立的对象(干净对象)。

4,release

retainCount 减“1”,减到“0”时调用此对象的dealloc方法

5,autorelease

在当前上下文的AutoreleasePool栈顶的autoreleasePool实例添加此对象,由于它的引入使Objective-C(非GC管理环境)由全手动内存管理上升到半自动化。

Objective-C内存管理准则

我们可以把上面的接口按对retainCount的操作性质归为两类,

A类是加一操作:1,2,3

B类是减一操作:4,5(延时释放)

内存管理准则如下:

1,A与B类的调用次数保持一制

2,为了很好的保障准则一,以实例对象为单位,谁A了就谁B,没有第二者参与

例:

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSObject *o = [[NSObject alloc] init];    //retainCount为1
[o retain];    //retainCount为2
[o release]; //retainCount为1
[o autorelease]; //retainCount为1
[pool release]; //retaincount为0,触发dealloc方法
        </div>





        </td>





    </tr>





</tbody>
 
对象的拥有者

向对象领域里有个引用的概念,区别于继承,引用常被用来当做偶合性更小的设计。继承是强依赖,对吧。我们要降偶软件的设计,就要尽量减少对它的使用。但没

有任何偶合的模块或功能是没有用的?对吧,那我们只能多用引用了吧。一个实例拥有另一个实例的时候,我们称它为引用了另一个实例。

比如ClassA类的一个属性对象的Setter方法:

- ( void )setMyArray:(NSMutableArray *)newArray {
     if (myArray != newArray) {
         [myArray release];
         myArray = [newArray retain];
     }
}
        </div>





        </td>





    </tr>





</tbody>

假设这个类的一个实例为'a',调用setMyArray后,我们就可以说a拥有了一个新的myArray实例,也可以说a引用了一个新的myArray实例。其中调用的retain方法,使myArray的retainCount加一,我们需要注意以下两个地方:

1,setMyarray方法中,在retain之前先release了旧实例一次

2,在本实例的dealloc方法中,本应该是要再次release当前实例的,但回头看看参考内存管理准则。它并不合理,对吧。。。多了一次release。这里比较推荐的做法是:

[ myArray setMyArray:nil ];

这样可以巧妙的使当前实例release而不出错(我们可以向nil发送消息?其实它本身就是个整数0),并符合我们的内存管理准则。更主要的是,很简单,你不需要考虑过多的事情。

另外一个比较容易忽略而又比较经典的问题是实例变量的循环引用,Objective-C为此区分了,其实也相当相当的简单:

1,强引用,上面讲的就是强引用,存在retainCount加一。

2,弱引用,但凡是assign声明并直接用指针赋值实现的被称之为弱引用,不存在retainCount加一的情况。

AutoreleasePool使Objective-C成为内存管理半自动化语言

如果仅仅是上面这些,很简单,对吧。但往往很多人都会迷糊在自动内存管理这块上,感觉像是有魔法,但其实原理也很简单?

先看看最经典的程序入口程序:

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
        </div>





        </td>





    </tr>





</tbody>

我们先把pool看成一个普通对象?很简单,先是alloc,pool的retainCount为1。第三句release,retainCount为0,自动调用它的dealloc方法。它和任何其它普通对象没 任何区别。

魔法在哪里?

在声明pool后,release它之前的这段代码,所有段里的代码(先假设中间没有声明其它的AutoreleasePool实例),凡是调用了

autorelase方法的实例,都会把它的retainCount加1,并在此pool实例中添1次此实例要回收的记录以做备案。当此pool实例

dealloc时,首先会检查之前备案的所有实例,所有记录在案的实例都会依次调用它的release方法。

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSObject *o = [[NSObject alloc] init];
//在pool实例dealloc时,release一次此实例,重要的是并不是在此行去release
[o autorelease]; 
//此时还可以看到我们的o实例还是可用的,并且retainCount为1
NSLog(@ "o retainCount:%d" ,[o retainCount]); 
//pool 的 retainCount为0,自动调用其dealloc方法,我们之前备案的小o也将在这里release一次
[pool release];
        </div>





        </td>





    </tr>





</tbody>

真对同一个实例,同一个Pool是可以多次注册备案(autorelease)的。在一些很少的情况化可能会出现这种需求:

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSObject *o = [[NSObject alloc] init];
[o retain];
[o autorelease];
[o autorelease];
[pool release];
        </div>





        </td>





    </tr>





</tbody>

们调用了两次A类(retainCount加1的方法),使其retainCount为2,而接下来的两次autorelease方法调用,使其在

pool中注册备案了两次。这里的pool将会在回收时调用此实例的两次release方法。使其retainCount降为0,完成回收内存的操作,其

实这也是完全按照内存管理规则办事的好处?

AutoreleasePool是被嵌套的!

池是被嵌套的,嵌套的结果是个栈,同一线程只有当前栈顶pool实例是可用的:

    </tr>
    </tr>
    </tr>
    </tr>
    </tr>





</tbody>
栈顶 pool_5
栈中 pool_4
栈中 pool_3
栈中 pool_2
栈底 pool_1

 

其代码如下:

NSAutoreleasePool *pool1 = [[NSAutoreleasePool alloc] init];
NSAutoreleasePool *pool2 = [[NSAutoreleasePool alloc] init];
NSAutoreleasePool *pool3 = [[NSAutoreleasePool alloc] init];
NSObject *o = [[NSObject alloc] init] autorelease];
[pool3 release];
[pool2 release];
[pool1 release];
        </div>





        </td>





    </tr>





</tbody>

我们可以看到其栈顶是pool3,o的autorelease是把当前的release放在栈顶的pool实例管理。。。也就是pool3。

在生命周期短,产生大量放在autoreleasePool中管理实例的情况下经常用此方法减少内存使用,达到内存及时回收的目的。

AutoreleasePool还被用在哪里?

在上面的例子里,也可以看到,我们在执行autorelease方法时,并没有时时的进行release操作?它的release被延时到pool实例的

dealloc方法里。这个小细节使我们的Objective-C用起来可以在方法栈中申请堆中的内存,创建实例,并把它放在当前pool中延迟到此方法

的调用者释放?

自身以前也写过cocos2d-x如何优化内存的应用,以及内存不够的情况下怎么样处置惩罚游戏。今天在微博中看到有友好简介了下内存,挺详细的。不晓得是谁写的,我纪录下。

一,IOS与图片内存
在IOS上,图片会被积极缩放到2的N次方大小。例如一张1024*1025的图片,占用的内存与一张1024*2048的图片是一致的。图片 占用内存大小的共计的公式是;长*宽*4。何等一张512*512 占用的内存即是 512*512*4 = 1M。其他尺寸以此类推。(ps:IOS上支持的最大尺寸为2048*2048)。
 
 
二,cocos2d-x 的图片缓存
Cocos2d-x 在机关一个精灵的时辰会运用spriteWithFile或者spriteWithSpriteFrameName等 岂论用哪类方式,cocos2d-x都会将这张图片加载到缓存中。若是是第一次加载这个图片,那就会先将这张图片加载到缓存,往后从缓存读取。假如缓存中 已经存在,则直接从缓存中提取,免去了加载进程。
 
图片的缓存主要由下列两个类来措置:CCSpriteFrameCache, CCTextureCache
 
CCSpriteFrameCache加载的是一张拼接过的大图,每个小图只不过大图中的一个地域,这些地域信息都在plist文件中生存。用的时辰只重要根据小图的称号便可以加载到这个区域。
 
CCTextureCache 是寻常的图片缓存,我们所有直接加载的图片都会默许放到这个缓存中,以行进挪用听从。
因而,每次加载一张图片,或者颠末plist加载一张拼接图时,都会将整张图片加载到内存中。假设不去监禁,那就会一直占用着。
 
 
三,渲染内存。
不要认为,合计内存时,只算计加载到缓存中的内存便可以了。以一张1024*1024的图片为例。
CCSprite *pSprite = CCSprite::spriteWithFile("a.png");
 
挪用上边这行代码之后,可以在LEAKS东西中看到,增多了大概4M的内存。而后接着调用
addChild(pSprite);
 
这时,内存又增进了4M。也便是,一张图片,若是必要渲染的话,那它所占用的内存将要X2。
 
再看看经过plist加载的图片,例如这张大图尺寸为2048*2048。想要加载此中的一张32*32的小图片
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("b.plist");
此时内存增加16M (汗)
CCSprite *pSpriteFrame = CCSprite::spriteWithSpriteFrameName("b1.png");
b.png 大小为32*32 ,想着也便是增进一点点内存,可实践情况是增长16M内存。也就是只有渲染了此中的一局部,那末整张图片都要一块儿被加载。
 
但是环境不是那末的糟糕,这些曾经渲染的图片,假定再次加载的话,内存是不会再持续抬高的,比方又添加了100个b.plist的另一个区域,图片内存照旧共增加16+16 = 32M,而不会继续上升。
 
 
四,缓存禁锢
假定游戏有不少场景,在切换场景的时刻可以把前一个场景的内存所有开释,预防总内存过高.
CCTextureCache::sharedTextureCache()->removeAllTextures(); 拘留到今朝为止所有加载的图片
CCTextureCache::sharedTextureCache()->removeUnusedTextures(); 将引用计数为1的图片开释掉CCTextureCache::sharedTextureCache()->removeTexture(); 单独囚系某个图片
CCSpriteFrameCache 与 CCTextureCache 监禁的门径差不久不多。
值得留神的是扣留的机缘,多在切换场景的时刻禁锢资本,假定从A场景切换到B场景,调用的函数顺序为B::init()---->A::exit()---->B::onEnter() 。
可若是使用了切换效果,譬如CTransitionJumpZoom::transitionWithDuration这样的函数,则函数的挪用顺序酿成B::init()---->B::onEnter()---->A::exit() 。
而且第二种方式会有一刹时将两个场景的利润叠加在一起,若是不采用偏激,很可能会由于内存短促而瓦解。
无心强逼监管悉数资源时,会使某个正在履行的动画取得引用而弹出异常,可以挪用CCActionManager::sharedManager()->removeAllActions();来解决。
 
 
五,内存优化
优化的心得等于只管即便去拼接图片,使图片边长尽可能的保持2的N次方况且装的很满。但要寄望,有逻辑相干的图片只管即便打包在一张大图里,其 他一点就是打包的时辰要思考到层的漫衍。由于为了渲染依顺可能会用到CCSpriteBatchNode;对立个BatchNode里的图片凡是位于一个 层级的,是以必须根据各个图片的层级关系,打包到不合的plist里。偶尔内存与依顺不成以兼得,只能只管即便失调了。
 
 
六,其他
最后附一个各代IOS设施的内存制约环境
设备                                              倡议内存                   最大内存
iPad2/iPhone4s/iphone4                170-180mb                 512mb
iPad/iPod touch3,4/iphone3gs          40-80mb                  256mb
iPod touch1,2/iPhone3g/iPhone1         25mb                    128mb
上述提倡内存只不过一些人自己测试的事实,可用的RAM不大于最大内存的一半,如果挨次逾越最大内存的一半,则可能会挂掉。
其他在LEAKS里查抄模拟器中与真机总的内存,会有较大收支。在摹拟器中的终归与实践更接近一些。

微软已经发布了Visual Studio 2012的Update 2,并带来了丰富的新功能。本次更新提供了一些VS2012的“重大改进”。早在1月的时候,微软就为本次更新提供了一个预览版本,以收集大家的测试和反馈,而现在,本次更新的最终版本已能够下载了。新功能中有一个新的"VS Blue"主题,其中也涉及到了XAML designer载入时间的性能增强。



微软在官方一篇博文里表示,"与VS2012.1一样(VS2012.2包含VS2012.1),本次发布包含了重要的修复和丰富的新功能,解决了来自社区反馈的问题,并且向软件开发市场的趋势看齐"。

新的改进包括"敏捷规划"(Agile Planning)、质量实施(quality enablement)、Windows Store开发、line-of-business development、常规的开发人员体验,以及bug修复和性能改进。

下载:
Update 2 for Visual Studio 2012

有很多兄弟喜欢用Windows Server版本的OS(特别是一些IT人士),默认的Zune不能安装在Windows Server上。
解决办法:
1、我的OS是x64的,下载x64的zune,右键用WinRAR解压,当然你也可以用在命令行用:ZuneSetupPkg.exe /x来解压。
2、进入刚刚你解压的目录下x64\packages目录,如果你的是32位的系统就进入  x86\packages
3、安装 zune-x64.msi 文件,如果你是32位的就安装 zune-x86.msi, 安装的过程中会有个提示错误,但是不用去理他,记录在windows的事件管理器中的错误描述为:”Product: Zune -- FirewallCA 17:36:25.952: Operation 'PreserveWirelessFWRuleConfig' has finished with result 0x80070002.“   
4、安装上面目录中的  zunewmdu-x64.msi(32位的安装 zunewmdu-x86.msi)。
5、此时你的Zune还是英文的,安装上面目录的中文包 zune-chs.msi,大功告成。

看视频非常讨厌优酷等网站的P2P,技术原理:Flash的P2P,可以在mms.cfg里面关闭.

复制以下代码到记事本完成后保存成a.bat文件,然后去运行(双击)文件.

echo RTMFPP2PDisable=1 >> %windir%\system32\Macromed\Flash\mms.cfg



echo RTMFPP2PDisable=1 >> %windir%\syswow64\Macromed\Flash\mms.cfg



echo RTMFPP2PDisable=1 >> %windir%\system32\mms.cfg

 

昨天安装好Window Server 2012后,使用Firefox,如果页面有Flash会一直崩溃,查了下,原来从Flash Player 11.4开始,为Vista以上版本的Firefox增加了一项保护模式,限制恶意SWF攻击。

要禁用此功能,需要在mmc.cfg文件中添加一行

ProtectedMode=0

mmc.cfg文件位于:

Windows 32bit: C:\windows\system32\macromed\flash

Windows 64bit: C:\windows\syswow64\macromed\flash

 当然你也可以把Flash Player回退到11.4之前http://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html
Flash Player Uninstaller: http://download.macromedia.com/get/flashplayer/current/support/uninstall_flash_player.exe

Windows Server 2012 安装.NET2.0-3.5的方法与和WIN8下的安装方法不同,首先提取Windows Server 2012 安装光盘或者ISO文件里的sources目录下的sxs目录方到一个分区的根目录下,比如H盘的sources\sxs目录

然后运行管理员 Windows PowerShell—-不知道这是啥? 看下图吧

然后把一下命令复制进去回车确定,注意H为你sources\sxs目录所在的盘符

Install-WindowsFeature –name NET-Framework-Core –source h:\sources\sxs

2分钟就把.NET2.0-3.5安装好了

 

----更新Windows2012R2RTM的安装方法:

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:f:\sources\sxs

 

windows8下面安装.NET3.5,即便是离线安装包,整个安装过程还是需要联网验证。下面是离线安装的步骤:

1装载Windows8ISO

2Win+X,选择命令提示符(管理员)

3输入以下命令:(G:为装载Windows8的盘符)

dism.exe /online /enable-feature /featurename:NetFX3 /Source:G:\sources\sxs

4安装完成后,打开控制面板>程序和功能>启用或关闭Windows功能,可以看到.NET FrameWork3.5 已经勾选。

image

10号终于决定离开公司了,在这地方待了近四年的时间,历经项目开发的其中各种滋味。

在四年的时间中,搞不清楚自己到底成长多少,自己的器量有多大。

最后这段时间经常有公司的同事们用各种办法挽留,然而到最后自己也没能坚持下来。

成长过程中,要经的住诱惑,改变是必须的,但是不可避免地伴随着成长之痛。

自己还需要得到更多的磨练,更多的机会,才能成器。

万城不是一个适合做开发做团队做互联网的地方,

骨子里少互联网的团队那种该有的精神和目标,过多的是想依小求大,相互牵制,很多事情做的事得其反。
现在,对于有些事情、有些人也无心去评价,一切自有时间来证明。
而所有曾经在万城为同一个目标努力过的朋友,将成为我生命中不可磨灭的记忆,同时祝福所有人。
希望有一天可以组建自己的互联网团队,并取的一席之地。

也希望万城的复仇项目最终可以浴火重生,其它的项目可以进展顺利。

其时我更好看好其它项目,如果不是在这个环境下的话。

历经磨难方可救赎,感受悲苦便知甘甜。圣洁之火源于幽暗,涅磐之后得以重生。

1.什么是游戏功能
游戏功能即game feature,一个游戏的各个子系统。如法术系统,状态系统,天赋系统,包裹系统,P2P交易系统,修理系统,附魔系统等等。
游戏功能由策划进行设计,然后交给美术和程序执行。
2.什么是审核

审核是一个功能设计的过滤器,这种过滤针对设计的可执行性,而非功能本身。
3.为什么要审核
策划们不明白每个功能的执行优先级。程度:有时候。危害:功能做出来了,但是暂时成为了摆设。
策划们的设计文档是不够详细,不够完整,甚至有些细节还没有想清楚或者在自己的部门内达成一直认识的。程度:经常。危害:这种设计就是反复被变更和修改的那种设计,程序也会因此越改越烂,并且功能要拖拖拉拉好几个里程碑。
国内的公司都不怎么大,公司的法人会出来用独裁手段让大家执行某个功能。程度:偶尔。危害:说不准。
程序是食物链上的最后一环,如果前面没有把好关,那么后面就要拉肚子生病。
审核能过滤掉目标和受众不明确的功能。
审核能过滤掉设计不完整的功能。
审核能判断出功能的执行优先级。
4.审核的基本原则
因为我是一个程序,我也信任自己的策划同事,所以最基本的原则是,不对功能在设计上做任何评论和质疑。
审核只关心功能的目标,设计的信息完整性,和由此引申出来的可执行性。
审核没有通过并不会一棒子打死功能和设计,只要功能和设计能通过审核,就能被执行。
5.怎样审核
   5.1规则集合
规则集合是一组标准,只有一个功能的设计完全通过这组标准的时候,才能加入执行队列。
这组规则不是一个人建立的,而是所有有责任心的同事提出的意见中提炼出来了。
我先大概提出这么一些:
*功能必须为玩家的一个以上的生命期提供主要服务(新手期,兴奋期,参与沉迷期)
*功能必须针对一种类型以上的玩家(探索型,成就型,杀手型,社交型)
*功能支持零个以上的其他功能。
*功能依赖的其他功能必须已经实现。
*功能设计可以通过程序正常表现。
*功能设计中必须提供详细的美术需求。
*功能设计中的基本面必须完整。
*功能设计中必须拟定需要用到的数据表格。
   5.2审核小组
审核小组从同事中找5个人左右,各个部门都必须占有1个以上的席位。每个组员仅负责其中的几条规则,各个组员所负责的规则之间不能有交集。
每个组员用自己负责的规则对功能和设计做出通过和不通过的判断,并对不通过的的判断给出具体理由。
每个不通过的判断都必须得到组内3人以上(含3人)的认可。
   5.3审核过程
策划完成功能设计之后,必须提供一份针对审核规则的设计说明文档,以便于审核小组能迅速的判断出功能的设计是否能执行。
审核小组全员通过功能设计后,通过审核规则中的算法规则(我没有提供,因为这要考虑很多方面)计算功能的执行优先级,加入功能队列,由PM进行工作分配。
没能通过的功能设计,将包含一份详细的犯规细节清单还给策划。然后策划进行工作避开这些犯规后,可以再次提交审核。

  最近互联网真是硝烟四起啊!趁着360与腾讯斗得你死我活的时候,卡巴斯基借机推出了“全民脱险”活动,免费向所有人赠送卡巴斯基安全部队2011正版一年激活码。鹬蚌相争,渔翁得利,估计卡巴是想将360流失的用户收拢了吧。不管怎样,对用户来说,能免费使用原本售价近200多元的杀毒软件,还是好事一件!

卡巴斯基作为老牌的杀毒软件大家都很熟悉了,这次安全部队2011版在功能和优化上都有了很大的提高,而且加强了对网银、网游的安全监管。性能方面,这次官方还直接宣传说“卡巴斯基再也不卡了!”,可见他们对这个版本的性能优化挺有信心的吧,喜欢卡巴的同学别浪费了这次免费的机会哟……

卡巴斯基安全部队2011安全堡垒功能

        新版的卡巴斯基安全部队2011拥有非常多的改进,产品设计更加成熟,细节方面更加完善。区域过滤、程序管控、省电模式和增强版家长管控都为这款产品增色许多。反正大家对卡巴斯基其实都很熟悉了,一般的功能我就也不必费文字来描述了。这次2011相比以前,我认为最大特色就是加入了一个叫做“安全堡垒”的实用功能,就这一点就让我有使用它的冲动了。

卡巴斯基安全部队2011

        安全堡垒类似于“影子系统”,为浏览器和其它应用程序提供了一个受保护的虚拟环境,以更好地保护系统和隐私数据安全。安全堡垒共分为三个小功能:安全桌面、安全浏览器和安全键盘,通过这三个功能的配合使用,可以非常有效地防止用户隐私数据被盗,系统被恶意修改等问题。

         和影子系统类似,你可以在“安全桌面”里运行一些危险的程序或测试未知安全性的程序,不会对你的真实系统产生影响;同理,你可以在“安全浏览器”里测试访问危险的网站而不怕真实的系统受到任何影响了;而“安全键盘”就是能保护你在网银、或任何程序里输入账号密码的信息不被木马偷听或盗取。

写在后面:

        总的来说,《卡巴斯基安全部队2011》作为卡巴斯基公司本年度最重磅级的产品,能免费提供1年的使用激活码,其实还算是比较厚道的了。喜欢卡巴的朋友要尽快抢了,因为这个免费活动到2010年12月3日就会结束。

申请卡巴斯基免费1年正版激活码:

活动时间:2010年11月4日至2010年12月3日
免费申请地址http://song.kaba365.com/

狗咬狗,害了用户,但两个软件都有方便之处,所以共享的方法如下:
XP系统,在C:\Documents and Settings\你的用户名\Application Data\Tencent\QQ下,把SafeBase这个文件夹的权限设置为完全拒绝。
Vista\WIN7系统,在C:\Users\你的用户名\AppData\Roaming\Tencent\QQ下,把SafeBase这个文件夹的权限设置为完全拒绝。
TM版的,只是把文件夹QQ改为TM下的文件夹SafeBase权限为禁止。
这个safebase文件夹中显示的所有用户组,全部设为拒绝即可。
xp中,如果文件的选项卡中没安全选项,则,打开我的电脑,工具栏,文件夹选项,查看,在查看中把“使用简单文件共享(推荐)”勾去掉,就可以看到文件夹属性的“安全”选项卡。
-------------
此方法已测试。可行。
-------------
运行了五个小时之后的截图。二者均更新到最新版。
Open in new window
新增一张图:刚才刚则截的。
Open in new window

据国外媒体报道,来自国外媒体Neowin网站的消息称,目前,微软已经官方对外发布Windows 7 SP1的RC版本,版本号为windows6.1-KB976932。近段时间,Windows 7 SP1 RC版本的builds不断被泄露到网络中,可能就是由于这个原因微软才不得已提前对外Windows 7 SP1 RC版。

据了解,微软对外发布的Windows 7 SP1 RC包括32位和64位两个版本,64位版本的体积大小为865.4MB,32位版本的体积大小为514.7MB。微软表示,Windows 7 SP1将会包括Remote FX和Windows 7 RTM的累积更新与安全修复补丁。

通过安装Windows 7 SP1,用户将能够更加方便、快速地安装以往微软针对Windows 7 RTM发布的安全补丁和功能增强。

微软表示,所有运行正版Windows 7 RTM操作系统的用户都能够免费安装SP1。

 

RC候选版是最新的公开测试版本,这也就意味着距离正式的RTM版不远了。正如之前微软的声明,SP1中新增的功能只有与Windows Server 2008 R2相关的虚拟化技术:RemoteFX、动态内存(Dynamic Memory)。这些功能将帮助消费者通过虚拟桌面基础架构(Virtual Desktop Infrastructure,VDI)来部署Windows,并且获得可扩展和更加丰富的用户体验

Windows 7 SP1则能帮助PC机利用上述基于服务器的功能,从而为终端用户提供更丰富的VDI体验。此外,SP1并没有新增专门针对Windows 7的功能

最低系统要求:

— 1 GHz以上32位或64位处理器

— 1GB RAM(32位)/2GB RAM(64位);

— 16GB可用磁盘空间(32位)/20GB可用磁盘空间(64位);

— DirectX 9图形处理器,WDDM 1.0或更高版本驱动

— 兼容DVD;

Windows 7/Server 2008 R2 SP1 RC候选版下载页面(需注册):

http://technet.microsoft.com/en-us/evalcenter/ff183870.aspx

 

用户可以通过以下链接去下载32位或64位的Windows 7 SP1 RC版本:
http://download.microsoft.com/download/0/A/F/0AFB5316-3062-494A-AB78-7FB0D4461357/windows6.1-KB976932-X86.exe
http://download.microsoft.com/download/0/A/F/0AFB5316-3062-494A-AB78-7FB0D4461357/windows6.1-KB976932-X64.exe
http://download.microsoft.com/download/0/A/F/0AFB5316-3062-494A-AB78-7FB0D4461357/7601.17105.100929-1730-3_Update_Sp_Wave1-RC1SP1.1_DVD.iso 

刚装完VS2005,建了个Win32工程,一编译就出现 “项目 : error PRJ0003 : 生成“cmd.exe”时出错。”。

解决方案:工具—>选项—>项目和解决方案—>VC++目录,在可执行文件栏中加上如下路径:

$(SystemRoot)\System32
$(SystemRoot)
$(SystemRoot)\System32\wbem

现在运行成功了,输出内容:

------ 已启动生成: 项目: Game, 配置: Debug Win32 ------

正在嵌入清单...

生成日志保存在“file://e:\Visual Studio 2005\Projects\Game\Game\Debug\BuildLog.htm”

Game - 0 个错误,个警告

========== 生成: 成功1 个,失败0 个,最新0 个,跳过0 个==========