编程的乐趣

编程为什么有趣?作为回报,它的从业者期望得到什么样的快乐? 首先是一种创建事物的纯粹快乐。如同小孩在玩泥巴时感到愉快一样,成年人喜欢创建事物,特别是自己进行设计。我想这种快乐是上帝创造世界的折射,一种呈现在每片独特、崭新的树叶和雪花上的喜悦。 其次,快乐来自于开发对其他人有用的东西。内心深处,我们期望其他人使用我们的劳 […]

关于计算机的 Boot

boot是bootstrap的简写形式,当然这里的bootstrap不是指web框架的bootstrap,而是指计算机的“引导”。 bootstrap原意是靴子,但是这跟计算机有什么关系呢? 这源于一句谚语: pull oneself up by one’s bootstraps 拽着鞋带把自己拉起来 这个 […]

SQL根据不同的条件查询count

在一条语句中根据不同的条件count对应的数据。 以上语句可以根据两个不同的条件一次计算出对应的count值,很明显的用到的是IF函数。IF( expr1, expr2, expr3)。 以下来自官方文档的说明 If expr1 is TRUE (expr1 <> 0 and expr1 <> NULL), […]

Sqlite Attach和Detach

sqlite是基于文件的数据库,正常使用sql语句操作一般都是同一个数据库,即同一个文件。若要同时操作多个sqlite数据库呢,这时候就可以用Attach和Detach语法。 Attach 附加数据库,将一个数据库文件附加到当前连接上。 Detach 分离数据库,跟Attach相反,即分离附加的数据库。 假设现在有两个 […]

SVN的使用及代码合并

客户端使用 下载地址在此 安装过程省略。 安装后,软件默认设置为英文,有需要可以右键任意位置,打开下拉菜单中svn里setting选项,将语言设置为中文,但是建议使用英文。 安装后,在需要作为代码仓库的目录下建立一个文件夹,右键该文件夹,选择SVN Checkout 选项。 Url中填写的是svn的仓库地址,可以在自己 […]

数据结构 – 栈

栈本质上是线性表,而且是操作受限的线性表。 栈的概念 栈,是一种后进先出(LIFO, last in first out)的线性数据结构。与一般线性表(数组、链表)不同,栈是一种操作受限的线性表,只允许在栈的一端进行出栈(pop)和入栈(push)操作。 把线性表看成上图中的桶,只允许在表的一端进行入栈和出栈操作,这个 […]

SQL查询表中是否存在符合条件的记录

判断记录是否存在,最主要的问题就是性能问题 话不多说,直接上结果 ifnull 函数:如果第一个参数值为null,返回第二个参数的值,如果不为 null 则返回第一个参数的值 错误示范: 根据结果的数量进行比较,简单易懂。但是count(*)统计全表数量,性能开销较大

Mysql-双机热备

首先建立两个mysql环境。该文章中数据库环境为Centos7, mysql5.7.28,均为虚拟机,在主机上使用Navicat通过局域网连接两个数据库进行测试。 由于复制功能基于二进制日志,所以在开启复制之前,应保证两个数据库中都有相同的库结构及数据,否则容易引起复制语句异常。Mysql的版本最好保持一致避免可能的异 […]