July 19th, 2010
本系列的最后一篇,就扯些和鼓浪屿有关而又不是那么系列的事情。
一、望远镜不是好抢的!
由于技术上的失误,我们三个人上鼓浪屿的时候,坐了15块钱/人的游览船。船开了一会会,某处的喇叭就开始喊“船上有望远镜,大家可以到前面来拿,看看海峡对面的风景”。我和光哥正四处张望哪里有望远镜时,均量已经得意地拿着望远镜出现在我们面前。三个人很二地蹲在船头看着n远的台湾,废了半天劲什么都没看见。过了会,船上的水手过来收取每个望远镜十块的使用费。当时我们的冲动是趁他不注意把望远镜扔进海里,来个死无对证。幸好我们是社会主义好青年,所以乖乖付了十块钱。
二、便利贴是用来说倾诉的~
不管是龙头大排档,还是张三疯欧式奶茶店,墙上都贴满了客人们亲手写的便利贴。
有独自旅行者对未来自己的寄托,有小两口浓情蜜意的见证,偶尔也有饥渴者留下的电话号码和好事者的备注。
三、每家都有小别墅
鼓浪屿上别墅到处都是,几乎家家户户都住的是别墅,只是装修有差异罢了。
家庭旅馆的兴起,使得鼓浪屿上的别墅着实火了一把。又能自己住又能赚钱,何乐不为呢?
四、酒吧很多很生猛
世界杯决赛那天,我们半夜跑去酒吧看比赛。赛前老板决定放点电影,光哥要求来点刺激的。
老板突然眼神一变,很正气凛然地说:“K粉要不要?一万一条!要不要?”
于是我们几个很安静地闭嘴了……
五、海景很脏很丑陋
虽然说鼓浪屿是个著名的旅游景点,但是海水真的很脏。
跳进充满垃圾和泥沙的海水中,需要不亚于直面房价的勇气。
奇怪的是,这样的海水,居然还能撑起好几个海水浴场。相当崩溃……
六,没吃沙茶面,好遗憾……
这次实在是没空吃沙茶面了。幸好八月中旬技术保障部组织了一次厦门outting。
嘿嘿,正好把沙茶面补上~
Tags: 便利贴, 别墅, 海水浴场, 酒吧, 鼓浪屿
Posted in My Life | 1 Comment »
July 14th, 2010
按照上一篇blog的记述,我们已经安全抵达鼓浪屿,并找到了著名的缘中园安顿下来,接着就是品尝各种各样的美食了。
鼓浪屿上的美食,主要分为海鲜和甜点、饮品。海鲜主要集中在龙头路的大排档和海滨浴场的沙滩边。甜点主要是台湾特色的凤梨酥、绿豆糕。饮品有冰椰子、鲜榨果汁,以及欧式奶茶。不得不提一下,我到了鼓浪屿之后深感肚皮之小,肠胃功能之弱。建议大家备好健胃消食片和止泻药,不然真的会饮恨当场。
Read the rest of this entry »
Tags: 八爪鱼, 冰镇椰子, 凤梨酥, 厦门, 土笋冻, 张三疯欧式奶茶, 沙茶酱, 海瓜子, 海蛎煎, 烧仙草, 烧烤, 秋刀鱼, 菲利宾腊肠, 西班牙腊肠, 赵小姐的店, 鲜榨果汁, 鸡脯肉, 鼓浪屿, 龙头
Posted in My Life | No Comments »
July 14th, 2010
Tags: 厦门, 娜雅, 旅馆, 火车, 缘中园, 船屋, 鼓浪屿
Posted in My Life | No Comments »
July 9th, 2010
很久之前看过Understanding MySQL Internals的一些片段。最近很烦,于是又翻了翻(纯发泄)。
handlerton提供的是存储引擎的一些特性。比如记录点、提交、回滚。同一个引擎跨表的操作需要在handlerton里面完成,比如说引擎的初始化,跨表的事务。
handler提供了表的基本操作。比如打开关闭表、扫描数据索引,都可以在handler里面找到相应的接口。每个handler的子类进行初始化对象的时候,必须向构造函数传递一个handlerton对象的引用。
handler类有很多纯虚函数,必须要在handler的子类里面实现。这些函数决定了存储引擎的底层io方式,包括数据存取和索引。
ha_example.h里可以很方便地找到这些纯虚函数:
int open(const char *name, int mode, uint test_if_locked); // required
int close(void); // required
int rnd_init(bool scan); //required
int rnd_next(uchar *buf); ///< required
int rnd_pos(uchar *buf, uchar *pos); ///< required
void position(const uchar *record); ///< required
int info(uint); ///< required
int external_lock(THD *thd, int lock_type); ///< required
ha_rows records_in_range(uint inx, key_range *min_key, key_range *max_key);
int create(const char *name, TABLE *form, HA_CREATE_INFO *create_info); ///< required
THR_LOCK_DATA **store_lock(THD *thd, THR_LOCK_DATA **to, enum thr_lock_type lock_type); ///< required
貌似有点困了。改日用GDB调试一下EXAMPLE引擎,再上来写一个~
Tags: handler, handlerton, MySQL
Posted in MySQL Internals | No Comments »