<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[味辣鸡的基地]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Nagi_Way</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Nagi_Way]]></copyright><item><title><![CDATA[客户端模拟器的改进]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/85641192</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/85641192</guid><author>Nagi_Way</author><pubDate>Wed, 02 Jan 2019 21:20:27 +0800</pubDate><description><![CDATA[目录客户端模拟器的作用现有模拟器存在的问题改进方案
客户端模拟器的作用
漏洞往往会给玩家带来不好的体验，或者破坏游戏的平衡。因此，有效的减少漏洞的数量在游戏开发中需要被重视。
服务端代码的编写先于客户端的代码，因此如果想要测试代码，需要等到客户端的功能完成或者是编写模拟器测试。
因此客户端模拟器起到了服务的同学能在客户端没有开发的情况，对服务端的bug自测一遍的作用。
现有模拟器存在的问题
但模拟...]]></description><category></category></item><item><title><![CDATA[如何更好地与其他程序员协作【代码的语义】]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/83959603</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/83959603</guid><author>Nagi_Way</author><pubDate>Sun, 11 Nov 2018 16:30:20 +0800</pubDate><description><![CDATA[####代码的职能
个人认为，同时具备以下3个职能的代码才是好的代码。

正确执行，没有bug。
简单易懂，方便他人理解。
设计巧妙，功能易于扩展，需求容易变更。

绝大多数的代码并不能满足以上3点要求，由于任务工期的紧张，很多代码仅仅能够满足第一点要求。不，有时候连第一点要求也无法满足。因为只能证明当前的代码有bug，而不能保证代码永远没有bug。尤其是在代码没有满足第二点职能的时候。
短期内，...]]></description><category></category></item><item><title><![CDATA[#pragma pack(push,1) & #pragma pack(pop)]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/77873188</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/77873188</guid><author>Nagi_Way</author><pubDate>Wed, 06 Sep 2017 22:25:37 +0800</pubDate><description><![CDATA[原文地址  http://blog.youkuaiyun.com/mannhello/article/details/5384431
1 引子
      在程序中，有的时候我们定义结构体的时候，要用#pragma pack(push,1) & #pragma pack(pop)类似代码将结构体包起来。
一般形式如下：
#pragma pack(push,1)； 
struct A
{
 
} ；
#pragm]]></description><category></category></item><item><title><![CDATA[参数依赖查找]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/77170877</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/77170877</guid><author>Nagi_Way</author><pubDate>Mon, 14 Aug 2017 22:35:48 +0800</pubDate><description><![CDATA[转自 Exceptional c++]]></description><category></category></item><item><title><![CDATA[UML类图几种关系的总结]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/76598547</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/76598547</guid><author>Nagi_Way</author><pubDate>Wed, 02 Aug 2017 21:08:49 +0800</pubDate><description><![CDATA[在UML类图中，常见的有以下几种关系:泛化（Generalization）,  实现（Realization）,关联（Association）,聚合（Aggregation）,组合(Composition)，依赖(Dependency)
 
1.泛化(Generalization)
【泛化关系】：是一种继承关系,它指定了子类如何特化父类的所有特征和行为例如：老虎是动物的一种.
【箭头指向】：带三角箭]]></description><category></category></item><item><title><![CDATA[uml图中实线箭头和虚线箭头的区别]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/76598463</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/76598463</guid><author>Nagi_Way</author><pubDate>Wed, 02 Aug 2017 21:03:44 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/langtianya/archive/2012/08/28/2659950.html 
  概念： 
实线箭头表示单向关联，即：关联类知道被关联类的公共属性及操作，但被关联类 并不知道关联类的公共属性及操作。 
关联单向、双向之分。双向关联用没有箭头的实线表示 ，实线箭头表示Object   Message，也就是类间的消息发送， 
比如：方法调用和请求]]></description><category></category></item><item><title><![CDATA[《effective modern c++》笔记之c++类型推导(1)]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/74497228</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/74497228</guid><author>Nagi_Way</author><pubDate>Thu, 06 Jul 2017 20:25:46 +0800</pubDate><description><![CDATA[模版类型推导



如果你不介意看一下伪代码，我们可以把函数模版看做下面是这个样子。

templatetypename T>
void f(ParamType param);

然后一个函数调用长这样：



f(expr);

推导出来的T的类型不仅取决于expr，还取决于ParamType

有以下三种情况：


ParamType是一个引用或者指针，但不是universal referen]]></description><category></category></item><item><title><![CDATA[static_cast]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/72934273</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/72934273</guid><author>Nagi_Way</author><pubDate>Fri, 09 Jun 2017 20:17:57 +0800</pubDate><description><![CDATA[http://en.cppreference.com/w/cpp/language/static_cast

rvalues, lvalues, xvalues, glvalues, and prvalues都是什么 


static_cast



使用隐式转换或者用户自定义的转换从一个类型转变为另一个类型。 


语法



static_castnew_type > (  expressi]]></description><category></category></item><item><title><![CDATA[搜索题练习]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/72888133</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/72888133</guid><author>Nagi_Way</author><pubDate>Tue, 06 Jun 2017 21:54:31 +0800</pubDate><description><![CDATA[时间限制：1秒
空间限制：32768K大家一定玩过“推箱子”这个经典的游戏。具体规则就是在一个N*M的地图上，有1个玩家、1个箱子、1个目的地以及若干障碍，其余是空地。玩家可以往上下左右4个方向移动，但是不能移动出地图或者移动到障碍里去。如果往这个方向移动推到了箱子，箱子也会按这个方向移动一格，当然，箱子也不能被推出地图或推到障碍里。当箱子被推到目的地以后，游戏目标达成。现在告诉你游戏开始是初始的地]]></description><category></category></item><item><title><![CDATA[最大和]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/72860884</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/72860884</guid><author>Nagi_Way</author><pubDate>Sun, 04 Jun 2017 19:35:28 +0800</pubDate><description><![CDATA[求最大和在一个N*N的数组中寻找所有横，竖，左上到右下，右上到左下，四种方向的直线连续D个数字的和里面最大的值输入描述:
每个测试输入包含1个测试用例，第一行包括两个整数 N 和 D :
3 <= N <= 100
1 <= D <= N
接下来有N行，每行N个数字d:
0 <= d <= 100输出描述:
输出一个整数，表示找到的和的最大值输入例子:
4 2
87 98 79 61
10 27 9]]></description><category></category></item><item><title><![CDATA[网易春招面试题--搬砖]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/72835111</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/72835111</guid><author>Nagi_Way</author><pubDate>Sat, 03 Jun 2017 15:50:57 +0800</pubDate><description><![CDATA[小易有n块砖块，每一块砖块有一个高度。小易希望利用这些砖块堆砌两座相同高度的塔。为了让问题简单，砖块堆砌就是简单的高度相加，某一块砖只能使用在一座塔中一次。小易现在让能够堆砌出来的两座塔的高度尽量高，小易能否完成呢。

输入描述:
输入包括两行：
第一行为整数n(1 ≤ n ≤ 50)，即一共有n块砖块
第二行为n个整数，表示每一块砖块的高度height[i] (1 ≤ height[i] ≤ 5]]></description><category></category></item><item><title><![CDATA[矩阵快速幂练习]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/72794464</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/72794464</guid><author>Nagi_Way</author><pubDate>Sun, 28 May 2017 20:01:24 +0800</pubDate><description><![CDATA[参考 http://m.blog.youkuaiyun.com/article/details?id=52058209应用篇
主要通过把数放到矩阵的不同位置，然后把普通递推式变成"矩阵的等比数列"，最后快速幂求解递推式:
先通过入门的题目来讲应用矩阵快速幂的套路(会这题的也可以看一下套路)：
例一:  http://poj.org/problem?id=3070
题目：斐波那契数列f(n),给一个n，求f(n)]]></description><category></category></item><item><title><![CDATA[快速幂取模算法]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/72793356</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/72793356</guid><author>Nagi_Way</author><pubDate>Sun, 28 May 2017 15:44:25 +0800</pubDate><description><![CDATA[快速幂取模算法
        
        
        
            所谓的快速幂，实际上是快速幂取模的缩写，简单的说，就是快速的求一个幂式的模(余)。在程序设计过程中，经常要去求一些大数对于某个数的余数，为了得到更快、计算范围更大的算法，产生了快速幂取模算法。我们先从简单的例子入手：求abmodc
算法1.直接设计这个算法：int ans = 1;
for(int i =]]></description><category></category></item><item><title><![CDATA[dp练习]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/72784844</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/72784844</guid><author>Nagi_Way</author><pubDate>Sat, 27 May 2017 21:59:56 +0800</pubDate><description><![CDATA[最长公共子序列 http://poj.org/problem?id=1458void lcs1458()
{
    char s1[500], s2[500];
    while(scanf("%s %s",s1,s2)!= EOF)
    { 
    int len1 = strlen(s1);
    int len2 = strlen(s2);
    int lcs[500][500]]></description><category></category></item><item><title><![CDATA[2017网易春招编程题]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/72784198</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/72784198</guid><author>Nagi_Way</author><pubDate>Sat, 27 May 2017 20:23:49 +0800</pubDate><description><![CDATA[一种双核CPU的两个核能够同时的处理任务，现在有n个已知数据量的任务需要交给CPU处理，假设已知CPU的每个核1秒可以处理1kb，每个核同时只能处理一项任务。n个任务可以按照任意顺序放入CPU进行处理，现在需要设计一个方案让CPU处理完这批任务所需的时间最少，求这个最小的时间。输入描述:
输入包括两行：
第一行为整数n(1 ≤ n ≤ 50)
第二行为n个整数length[i](1024 ≤ len]]></description><category></category></item><item><title><![CDATA[操作系统之内存管理科普]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/72778178</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/72778178</guid><author>Nagi_Way</author><pubDate>Sat, 27 May 2017 09:01:48 +0800</pubDate><description><![CDATA[转载自http://www.cnblogs.com/xuanku/p/os_memory.html
            简介
本篇文章主要介绍操作系统是如何进行内存管理的。
文章会介绍几本的分段，分页，以及虚拟内存的相关知识。
内存管理
需求重定位
现在操作系统中, 一个进程运行过程中可能会因为进程切换而在内存和磁盘中来回切换。如果没有重定位, 进程在重新回到内存来运行的时候, 就必须要加载到上]]></description><category></category></item><item><title><![CDATA[volatile关键字]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/72773809</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/72773809</guid><author>Nagi_Way</author><pubDate>Fri, 26 May 2017 21:37:50 +0800</pubDate><description><![CDATA[volatile关键字
        
        
        
                　　volatile关键字是一种类型修饰符，用它声明的类型变量表示可以被某些编译器未知的因素更改，比如：操作系统、硬件或者其它线程等。遇到这个关键字声明的变量，编译器对访问该变量的代码就不再进行优化，从而可以提供对特殊地址的稳定访问。使用该关键字的例子如下：]]></description><category></category></item><item><title><![CDATA[操作系统内存管理]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/72661925</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/72661925</guid><author>Nagi_Way</author><pubDate>Tue, 23 May 2017 20:22:57 +0800</pubDate><description><![CDATA[本文是Modern Operating Systems第三章的笔记。没有内存抽象最简单的抽象就是没有抽象，早期的个人电脑上运行的程序可以直接看到物理内存。这导致了不太可能在一个电脑上运行两个程序，因为一个程序可能破坏另一个程序保存的数据（因为它们可以直接看到物理内存，便可以覆盖另一个程序的数据）。早期个人电脑的内存模型如上图，一个用户程序运行完之后才能运行另一个。 
内存抽象：地址空间将物理内存暴露]]></description><category></category></item><item><title><![CDATA[Unity着色器基础]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/72055163</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/72055163</guid><author>Nagi_Way</author><pubDate>Sun, 14 May 2017 19:18:44 +0800</pubDate><description><![CDATA[本文翻译自catlikecoding1 默认场景当你在Unity中创建一个新场景时，你会得到一个默认的camera和directional light.通过GameObject/ 3D Object/ Sphere创建一个简单的球体，把它放在原点,然后把camera放在它前面。 
虽然这是很简单的场景，但已经可以进行复杂的渲染操作。为了更好地了解渲染的过程，删掉一些东西会很有帮助。1.1删除通过 W]]></description><category></category></item><item><title><![CDATA[VSync是什么]]></title><link>https://blog.youkuaiyun.com/Nagi_Way/article/details/71480748</link><guid>https://blog.youkuaiyun.com/Nagi_Way/article/details/71480748</guid><author>Nagi_Way</author><pubDate>Tue, 09 May 2017 16:59:51 +0800</pubDate><description><![CDATA[VSync是垂直同期(Vertical Synchronization)的简称。基本的思路是将你的FPS和显示器的刷新率同期起来。其目的是避免一种称之为”撕裂”的现象。再下面我将详细介绍这些内容。
每一台CRT显示器都有自己的刷新率。其单位是HZ.其数值是显示器每秒钟更新画面的次数。不同的显示器支持再不同分辨率下的不同刷新率。它的范围可以从低到60高到100。注意它不是你游戏中所提到的那个FPS.如]]></description><category></category></item></channel></rss>