井字棋解法(补充)
还是井字棋http://blog.itpub.net/29254281/viewspace-1852817/今天和王工相互印证之下,发现原来的SQL还是有点问题.1.原来的SQL没有计算平局的情况2.我对于棋盘的理解有错误.下面这个棋盘(Board)MOVES=3175968,BOARD=XOXOXOX,WINNER=X其实应该是O-X-OOXXX居然把题目理解错了...3.还有一个bug.假如先...
MySQL5.6 GTID新特性实践
转载自:http://cenalulu.github.io/mysql/mysql-5-6-gtid-basic/GTID简介什么是GTIDGTID(Global Transaction ID)是对于一个已提交事务的编号,并且是一个全局唯一的编号。GTID实际上是由UUID+TID组成的。其中UUID是一个MySQL实例的唯一标识。TID代表了该实例上已经提交的事务数量,并且随着事务提交单调递增...
井字棋解法
题目:井字棋两个玩家,一个打圈(O),一个打叉(X),轮流在3乘3的井字格上打自己的符号,最先以任意一行、一列或对角线连成一线则为胜。规定X先手。一个终局棋谱(MOVES)指的是从开始下子到一方获胜或者下完9个子出现平局,从头到尾的下子情况。一方获胜后,本局即终止。不得提前认输。格子从上...
MySQL树形遍历(二)
转载自:http://blog.csdn.net/dreamer0924/article/details/7580278英文原文:http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/预排序遍历树算法:modified preorder tree traversal algorithm 这个算法有如下几个数据结构1 lft 代表左 left2 rgt 代表右 right3 lvl...
一旦被激怒,赶快来看看
人的一切愤怒本质上都是对自己无能的痛苦K神在群里聊天说的一句话.至理名言啊..以后一旦被激怒,赶快来看看.制怒
MySQL树形遍历
借鉴Oracle Hr模式下的Employees表的结构和数据DROP TABLE IF EXISTS `employees`;CREATE TABLE `employees` ( `employee_id` int(11) NOT NULL, `FIRST_NAME` varchar(20) DEFAULT NULL, `LAST_NAME` varchar(25) DEFAULT NULL,...
Lua学习笔记--面向对象(三)
Lua通过Self指针实现面向对象.对象其实是一个table,table不仅包括数据,还包括函数account={balance=10}function account.withdraw(self,v) self.balance=self.balance-vendlocal a=accountaccount=nila.withdraw(a,2)print(a.balance) self是每个函数...
Lua学习笔记--迭代器和协程(二)
迭代器function iterator(tab) local i=0 return function() i=i+1; return tab[i] ...
Lua学习笔记(一)
构造一个空的table,接收终端的输入a={}for i=1,5 do a[i]=io.read()end#a可以获取table a的最后一个元素的索引.遍历tablefor i=1,#a do print(a[i])end清空最后一个元素a[#a]=nil获取最后一个元素print(a[#a])追加元素a[#a+1]="edmond"选...
开始学习OpenResty
OpenResty下载地址https://openresty.org/download/ngx_openresty-1.9.3.2.tar.gzNginx增加模块需要重新编译.OpenResty 将很多常用的模块,包括LUA支持,cjson等,直接打包在一起.使用起来非常的方便.随手用的模块都有,也免去了重新编译的烦恼.安装:useradd -m nginx加压文件,创建目标文件夹OpenResty[nginx@localh...
58同城数据库架构学习
上周六去听upyun的技术分享.其中非常受用的是沈剑老师分享的58同城数据库架构.58同城都是服务化架构.他们主要的架构如下.他们每个构建,或者说服务,都是由两个双向同步的数据库和一个redis缓存组成.一般来说,保障数据库读能力的高可用比较简单,多搭建几个Slave即可.但是M-S架构有同步延迟的问题.但是保障数据库写能...
用Redis构建分布式锁
转载自:http://ifeve.com/redis-lock/《Redis官方文档》用Redis构建分布式锁原文链接 译者:yy-leo 校对:方腾飞(红体标记重点)用Redis构建分布式锁在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段。 有很多三方库和文章描述如何用Redis实现一...
管好统计信息,开启SQL优化之门
在DBA的工作中,SQL优化的工作量占工作很大的一块,我们在平时工作中也是这样,常常遇到一些执行效率低下的SQL语句,而这些执行效率低下的SQL,有的是业务系统刚刚上线的,有的是已经执行很久但因为执行环境变化而导致出现的。这里给大家分享一个SQL的优化案例分析。 根据我们监控系统,发现线上O...
Peterson算法
转载自:http://blog.csdn.net/speedme/article/details/17595821因为P1,P2两个进程的执行顺序是随机的,可能顺序执行也可能是并发的,由图可见,不同的执行顺序,COUNT的值会不同,这是不允许的。像这种情况,及多个进程并发访问和操作同一数据且执行结果与访问发生的特定顺序有关,称为竞争条件。为了避免...
开始学习调试MySQL
上周参加Oracle技术嘉年华 2015收获非常大.其中吕海波老师分享的内容是 《调试Oracle二三例:调试技术在日常运维中的应用》其中有关于调试MySQL源码的内容.实验如下:下载MySQL 5.7的源码http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.9.tar.gz编译,注意增加 DEBUG 选项。(cmake的版本要求在2.8.2以上)...
GDB十分钟教程
GDB十分钟教程作者: liigo原文链接: http://blog.csdn.net/liigo/archive/2006/01/17/582231.aspx日期: 2006年1月16日本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的...
吕海波(Vage)- 突然35岁:捡点我的职业生涯
吕海波(Vage)- 突然35岁:捡点我的职业生涯网址: http://www.eygle.com/digest/2013/07/vage_35_alibaba.html &...
即时聊天(IM)存储方案
单位即时聊天改版了.正好趁着这次机会踢了MongoDB.大家都拍手叫好..可见MongoDB这玩意多么的不得人心...都觉得不好用..场景描述:我们的IM软件有PC端和手机端.同时在线的用户,通过长连接转发,并且存储消息.接收方不在线,存储消息.用户打开电脑端软件或者手机端网络掉线重新连接,都需要获取未读消息数量.当用户点击未...
MySQL大量数据入库的性能比较(分区)
测试程序还用之前的http://blog.itpub.net/29254281/viewspace-1841299/这次测试,使用的是家里的电脑,性能比单位工作的电脑配置要好一些.MySQL配置innodb_buffer_pool_size=512minnodb_flush_log_at_trx_commit =0sync_binlog=0innodb_support_xa=0log_bin=master版本 5.6.14每次测试,Insert 200w记录.1.使...
MySQL大量数据入库的性能比较
单位IM改版了用户聊天内容要存放在数据库.一般JAVA Insert MySQL有如下几种方式1.自动提交Insert2.事务提交Insert3.批量提交4.使用Load File接口模拟表结构如下create table chat_message( id bigint primary key auto_increment, ...