<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Boyhou 的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Boyhou</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Boyhou]]></copyright><item><title><![CDATA[MySQL非主从环境下数据一致性校验]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/128835744</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/128835744</guid><author>Boyhou</author><pubDate>Wed, 01 Feb 2023 16:04:57 +0800</pubDate><description><![CDATA[另一种需求是，整库进行字符集转换：库表定义都是utf8，但应用连接使用了默认的 latin1，要将连接字符集和表字符集统一起来，只能以latin1导出数据，再以utf8导入，这种情况数据一致性校验，且不说binlog解析程序不支持statement（如canal），新旧库本身内容不同，pt-table-checksum 算出的校验值也会不一样，失效。]]></description><category></category></item><item><title><![CDATA[[leetcode]Add Two Numbers]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/49435045</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/49435045</guid><author>Boyhou</author><pubDate>Tue, 27 Oct 2015 01:05:25 +0800</pubDate><description><![CDATA[You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a link]]></description><category></category></item><item><title><![CDATA[python 学习笔记二]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/17378835</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/17378835</guid><author>Boyhou</author><pubDate>Tue, 17 Dec 2013 16:18:02 +0800</pubDate><description><![CDATA[当你创建一个对象并给它赋一个变量的时候，这个变量仅仅 引用 那个对象，而不是表示这个对象本身！也就是说，变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定。

如果你想要复制一个列表或者类似的序列或者其他复杂的对象（不是如整数那样的简单 对象 ），那么你必须使用切片操作符来取得拷贝。如果你只是想要使用另一个变量名，两个名称都 引用 同一个对象，那么如果你不小心的话，可能会引来各种]]></description><category></category></item><item><title><![CDATA[python 学习笔记]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/17262827</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/17262827</guid><author>Boyhou</author><pubDate>Wed, 11 Dec 2013 14:29:36 +0800</pubDate><description><![CDATA[1 List


# List examples
shoplist = ['peach','mango','banana']
print('I have',len(shoplist),'items to buy!')
print('These items are:')
for item in shoplist:
    print(item)
    
# After append the]]></description><category></category></item><item><title><![CDATA[三个事和三个问题]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/14054193</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/14054193</guid><author>Boyhou</author><pubDate>Sat, 02 Nov 2013 13:06:41 +0800</pubDate><description><![CDATA[转至：http://coolshell.cn/articles/6142.html
从9月份开始，是很多在校毕业生的择业时期，有很多很多朋友写邮件给我让我帮他们参考如何选择工作（对不起我无法在第一时间回信，因为实在是太多了，我那繁忙工作和生活都没办法让我能即时回复），并且还有一个已经工作了多年的技术很强的朋友因为跳槽没有跳好，也和我说了很多他 的感受。从这个过程中让我有了很多感触和想法想和大家分]]></description><category></category></item><item><title><![CDATA[完全二叉树插入新结点]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/12955067</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/12955067</guid><author>Boyhou</author><pubDate>Tue, 22 Oct 2013 22:01:04 +0800</pubDate><description><![CDATA[在一个完全二叉树中插入新的节点，注意这里的完全二叉树并非二叉搜索树，因此我们只需要定位最后一个结点就可以了，不需要满足二叉搜索树的条件。

一个最简单的想法就是BFS，如果不是満二叉树，找到第一个有一个子树为空的节点即可。否则，则需要找到最下一层的最左结点。

另外一个想法是利用完全二叉树的性质，首先判断左子树的最右结点与右子树的最右结点高度，如果相等，只需要插入到左子树即可，否则插入右子]]></description><category></category></item><item><title><![CDATA[虚函数与虚继承寻踪]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/12835783</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/12835783</guid><author>Boyhou</author><pubDate>Thu, 17 Oct 2013 13:03:52 +0800</pubDate><description><![CDATA[转载地址：http://www.cnblogs.com/fanzhidongyzby/archive/2013/01/14/2859064.html
详见《深度探索C++对象模型》
封装、继承、多态是面向对象语言的三大特性，熟悉C++的人对此应该不会有太多异议。C语言提供的struct，顶多算得上对数据的简单封装，而C++的引入把struct“升级”为class，使得面向对象的概念更加强大。继]]></description><category></category></item><item><title><![CDATA[my2DAlloc]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/12658509</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/12658509</guid><author>Boyhou</author><pubDate>Sat, 12 Oct 2013 23:28:48 +0800</pubDate><description><![CDATA[题目
原文：
Write a function called my2DAlloc which allocates a two dimensional array. Minimize the number of calls to malloc and make sure that the memory is accessible by the notation arr[i][j].
译文：]]></description><category></category></item><item><title><![CDATA[Aligned malloc in C++]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/12658349</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/12658349</guid><author>Boyhou</author><pubDate>Sat, 12 Oct 2013 23:07:11 +0800</pubDate><description><![CDATA[void *aligned_malloc(size_t required_bytes, size_t alignment) {
  void *p1;
  void **p2;
  int offset=alignment-1+sizeof（void*);
  if((p1=(void*)malloc(required_bytes+offset))==NULL)
  return NULL;]]></description><category></category></item><item><title><![CDATA[memcpy 和 memmove]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/12657693</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/12657693</guid><author>Boyhou</author><pubDate>Sat, 12 Oct 2013 22:18:32 +0800</pubDate><description><![CDATA[memcpy




代码:
;***
;memcpy.asm - contains memcpy and memmove routines
;
;       Copyright (c) 1986-1997, Microsoft Corporation. All right reserved.
;
;Purpose:
;       memcpy() copies a s]]></description><category></category></item><item><title><![CDATA[K-D Tree]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/12657569</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/12657569</guid><author>Boyhou</author><pubDate>Sat, 12 Oct 2013 22:11:14 +0800</pubDate><description><![CDATA[简简介

k-d树[1]（k-dimensional树的简称），是一种分割k维数据空间的数据结构。主要应用于多维空间关键数据的搜索（如：范围搜索和最近邻搜索）。

2应用背景

SIFT算法中做特征点匹配的时候就会利用到k-d树。而特征点匹配实际上就是一个通过距离函数在高维矢量之间进行相似性检索的问题。针对如何快速而准确地找到查询点的近邻，现在提出了很多高维空间索引结构和近似查询的算法]]></description><category></category></item><item><title><![CDATA[我还是喜欢吉克隽逸]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/12234327</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/12234327</guid><author>Boyhou</author><pubDate>Wed, 02 Oct 2013 13:23:05 +0800</pubDate><description><![CDATA[如果你了解中国的市场，中国观众的审美，就算没黑幕，梁博夺冠几率也大。如果你在其它文化创意行业有过经验，你会发现梁博夺冠简直是意料之中的意料之中。
微博、网上上那么多人说喜欢莫愁，喜欢吉克俊逸，那是因为网上，微博上的人根本不是中国市场的基石。中国的主流受众，在评判一个不熟悉的领域时不会看重独特性和创造性，而会看——这个东西“像”一个什么他们所熟悉的另外的东西。“像”什么才是最重要的，而不是“是”什]]></description><category></category></item><item><title><![CDATA[构造函数中调用虚函数]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/12112411</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/12112411</guid><author>Boyhou</author><pubDate>Fri, 27 Sep 2013 22:34:21 +0800</pubDate><description><![CDATA[转载地址：http://www.cnblogs.com/carter2000/archive/2012/04/28/2474960.html
 
#include 

class Base
{
public:
    Base() { Foo(); }   ///< 打印 1

    virtual void Foo()
    {
        std::cout <<]]></description><category></category></item><item><title><![CDATA[网络通信 Socket 编程]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/10829993</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/10829993</guid><author>Boyhou</author><pubDate>Sun, 01 Sep 2013 17:04:21 +0800</pubDate><description><![CDATA[网络中进程之间通信
本地的进程间通信（IPC）有很多种方式，但可以总结为下面4类：


消息传递（管道、FIFO、消息队列）

同步（互斥量、条件变量、读写锁、文件和写记录锁、信号量）

共享内存（匿名的和具名的）

远程过程调用（Solaris门和Sun RPC）

但这些都不是本文的主题！我们要讨论的是网络中进程之间如何通信？首要解决的问题是如何唯一标识一个进程，否则通]]></description><category></category></item><item><title><![CDATA[执着]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/10630483</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/10630483</guid><author>Boyhou</author><pubDate>Fri, 30 Aug 2013 18:45:15 +0800</pubDate><description><![CDATA[当生活给了你一把个理由哭泣时
你就拿出一千个理由笑给它看
生活之路本就不可能是一片坦途
最后走到终点的不一定是最聪明的
但一定是最执着的
选对了目标那就永远不要再怀疑自己
上帝也许并没有告诉你什么是希望
但它也一定没有定义什么是绝望
只有放弃才是最大的失败
而当你真的想要做出一件事情的时候
连你的对手也会为你提供帮助]]></description><category></category></item><item><title><![CDATA[游戏设计中的纹理贴图]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/10473797</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/10473797</guid><author>Boyhou</author><pubDate>Thu, 29 Aug 2013 11:05:47 +0800</pubDate><description><![CDATA[BMEM技术(凹凸映射Bump Mapping)

BMEM技术通过一张叫做高度图（Height map）的灰度图来储存每一点的高度信息然后直接由API处理。

凹凸映射和纹理映射（Texture Mapping是将纹理空间中的纹理像素映射到屏幕空间中的像素的过程）非常相似。然而，纹理映射是把颜色加到多边形上，而凹凸映射是把粗糙信息加到多边形上。这在多边形的视觉上会产生很吸引人的效果。我们]]></description><category></category></item><item><title><![CDATA[图形加速卡技术]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/10163673</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/10163673</guid><author>Boyhou</author><pubDate>Wed, 21 Aug 2013 22:25:06 +0800</pubDate><description><![CDATA[转自：http://www.opengpu.org/bbs/forum.php?mod=viewthread&tid=4197

前言：眼泪的多年收藏啊，这是篇相当好的文章。
首先本文非常专业地道，当然，新手朋友们肯定会晕的，我看着都头大…… 不过其讲解的知识非常系统详细。
基本上，显卡的所有基础知识都涵盖了，有兴趣的朋友可以仔细看看、学习一下。眼泪我也同样再复习复习。

另外，这篇虽]]></description><category></category></item><item><title><![CDATA[Direct3D渲染管线]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/10163321</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/10163321</guid><author>Boyhou</author><pubDate>Wed, 21 Aug 2013 22:10:37 +0800</pubDate><description><![CDATA[转载至  Direct3D渲染管线简介
渲染管线负责执行一系列必要的步骤从而把3D场景转换为可以在显示器上显示的2D图像。在Direct3D中，渲染管线的步骤大致如下：

(1)局部坐标系到世界坐标系
假设我们在制作一款游戏，现在，要求构建一个铁匠铺用来放在游戏场景中。我们不可能在游戏场景(世界坐标系)中构建铁匠铺，因为我们不知道它会被放在哪里，大小如何，以及朝向哪里。所以，我们在局部坐标]]></description><category></category></item><item><title><![CDATA[为什么游戏叫第九艺术？]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/10125429</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/10125429</guid><author>Boyhou</author><pubDate>Tue, 20 Aug 2013 22:14:04 +0800</pubDate><description><![CDATA[游戏是继 绘画、雕刻、建筑、音乐、诗歌（文学）、舞蹈、戏剧、电影（影视艺术）之后人类历史上的第九艺术。
第九艺术就是近年来兴起的电脑游戏技术。这项技术是融合了音乐美术电影制片，电脑软硬件技术等各种美学元素的一种复合型技术。精彩的故事情节，美妙的游戏画面，动听的游戏音乐，可爱的角色造型，每一样都散发着第九艺术的独特魅力。
然而，也因为它的魅力非凡，致使很多人沉迷其中，玩物丧志，再美好的东西一旦沉]]></description><category></category></item><item><title><![CDATA[移动游戏开发引擎]]></title><link>https://blog.youkuaiyun.com/Boyhou/article/details/10108977</link><guid>https://blog.youkuaiyun.com/Boyhou/article/details/10108977</guid><author>Boyhou</author><pubDate>Tue, 20 Aug 2013 16:09:53 +0800</pubDate><description><![CDATA[移动游戏引擎介绍
游戏引擎是一组完整的解决方案，能够在保持一定弹性的原则下，提供最大程度的功能性与便利性。在它之上还有更低级的层级架构。]]></description><category></category></item></channel></rss>