近况与展望
之前放下豪情状语,但是从事实上来看也有三个月没有更新博客了。不得不说懒惰才是阻碍人类进步的第一生产力啊。倒不是说行为上的懒惰。从事实上看最近代码是没有少写的,也推了两个还算可以的玩具到github上。
记一些分库带来的查询问题的解决方案
问题数据库太大的时候,经常会出现拆库拆表的情况。这样当我们需要数据的时候,需要从一系列表(tab_xxx_时间、tab_xxx_序号)中进行select操作。这种操作是比较麻烦的。虽然有很多数据库的中
服务器折腾记
下班回家仓促随便写的一篇关于配服务器的复盘+经验文章。感觉把教程和杂记这两个属性参杂写混在了一起,很四不像。希望对你有所帮助。
c++20新特性
大特性协程这个协程有点像python的。有迭代器,比较适合异步编程,有空写一篇新协程的文章。模块c++史诗级地加强,但是STL自己都不支持。还是任重道远。约束与概念模板高阶技巧进一步加深。更加复杂了,可以实现更加复杂的功能。有空写文章。小特性功能特性测试加了一些用于测试(编译器?环境?)是否具备某种
redis之我见
redis相当于一套运行在内存里面的支持rpc的某种通用存储模块,因为在内存中,所以不像mysql一样需要使用非常复杂的方法才能实现高效搜索。同时因为在内存里面,他可以支持比较复杂的操作与一些相对复杂的数据类型。redis内部的数据是在一个map里面,里面的value又支持各种数据类型。redis也
dll、lib、h
链接库是一种把一部分代码分离出去的技术,动态链接可以实现一部分的不编译主体的情况下替换部分代码,理论上甚至可以热替换。静态链接的意义除了可以防止源码泄漏以外和为dll提供索引外,应该还有一些我所不知道的好处。.h是lib的入口。编译器在编译时必须要有调用函数的定义,这个就是放置在.h里面的。在编译时
go的nil
protobuf之我见
功能protobuf是一种将协议结构体序列化为二进制串、将二进制反序列化为协议结构体的一种协议。与xml和json不同,这是一种二进制的通信协议。protobuf几乎完全舍弃了数据结构化(元信息的删减和数据的压缩使数据远没有json那么直观),导向数据序列化。甚至数据包的大小比结构体直接以字节形式塞
mysql事务相关
事务如果一次性提交很多条相关的语句。例如删除玩家,并删除相关的数据。这些数据往往需要好多个sql语句才能完全清空。这就导致了如果访问的是一些临界区的例子(打个比方),可能会出现一些一致性的问题。理论上我们可以在驱动数据库的程序内对临界区代码加锁,但是太麻烦了。sql数据库一般会有事务功能,他相当于一
go modules
前言原先的 gopath 已经严重过时,新的go版本已经默认开启 go modules 了。本来,虽然 gopath 有很多劣势,但是我还是有路径依赖的倾向,懒得去看新标准了。但是公司的go server也用了 go modules 这就很有必要看一看了。正文总得来说 go modules 这套系统
c++17新特性
移除auto_ptr被移除由于以下原因被移除语义不清晰。auto_ptr的拷贝被改写为移动,很容易让认误解。在拷贝时原指针被赋NULL,很容易导致重大错误。风格与现代c++不符,移动操作现在已经有移动语义了。现在右值转发都使用移动语义进行,显得auto_ptr的这种拷贝移动更奇怪了。功能上,原来使用