Blinkbean
Golang-字符串高效拼接 Golang-字符串高效拼接
原文链接在我们编程的时候,和字符串打交道是必不可少的,我们对数据库里文本的处理,Web文本的显示,文本数据的存储等都需要和字符串打交道,那么对于字符串来说,查找、拼接这些都是常用的操作,尤其是以拼接使用的比较多,比如把一个人的姓名和年龄拼接
2021-03-05
Golang-9宫格头像生成 Golang-9宫格头像生成
先看效果 头像间有间隔 头像间无间隔 代码 网络图片下载到本地 func multiGetImages(urls []string, dir string, prefix string)(localPath []string)
2021-02-07
你的AES加密结果相同吗 你的AES加密结果相同吗
AES加密后的结果,数据接收方解不出来,是哪里的问题?AES的安全性: 在密码学的意义上,只要存在一个方法,比穷举法还要更有效率,就能被视为一种“破解”。故一个针对AES 128位密钥的攻击若“只”需要2^120^计算复杂度(少于穷举法 2
2021-01-07
Golang sync/atomic包的原子操作是怎么保证的 Golang sync/atomic包的原子操作是怎么保证的
在Go语言标准库中,sync/atomic包将底层硬件提供的原子级内存操作封装成了Go的函数。 Mutex由操作系统实现,而atomic包中的原子操作则由底层硬件直接提供支持。在CPU实现的指令集里,有一些指令直接封装进atomic包,这些
2021-01-07
算法导论-单数组实现双端队列 算法导论-单数组实现双端队列
栈插入和删除元素只能在同一端进行,队列的插入操作和删除操作分别在两端进行,与它们不同的,有一种双端队列(deque),其插入和删除操作都可以在两端进行。写出4个时间均为O(1)的过程,分别实现在双端队列插入和删除元素的操作,该队列使用一个数
2020-10-07
算法导论-两个栈实现队列 算法导论-两个栈实现队列
用两个栈实现队列,并分析相关队列操作的运行时间。 单栈push和pop的运行时间都为O(1),所以需要考虑的就是两个栈之间切换所用时间。 最坏情况:在push和pop交替操作时,需要将一个栈中的数据转移到另一个栈中,转移所用时间为O(n),
2020-10-07
算法导论-两个队列实现栈 算法导论-两个队列实现栈
用两个队列实现栈,并分析相关栈操作的运行时间。思路同:两个栈实现队列 type DequeStack struct { pushDeque *Deque popDeque *Deque flag bool
2020-10-07
算法导论—一个数组中实现两个栈 算法导论—一个数组中实现两个栈
如何在一个数组A[1..n]中实现两个栈,使得当两个栈的元素个数之和不为n时,两者都不会发生上溢。 要求push和pop操作的运行时间为O(1)。 实现: 两个栈分别从数组的两端开始,向中间push元素,直到两个指针相遇。package
2020-10-05
Redis-exists有可能超出你的预期 Redis-exists有可能超出你的预期
Redis的Exists有可能超出你的预期 理论上每个key都应该有过期时间(当然也可以是一万年),通常情况下用exists来判断一个key是否存在都没什么问题(一般过期时间都比较长)。但如果过期时间需要精确到秒或十秒及,那么exists就
2020-08-03
Mysql-自增列AUTO_INCREMENT Mysql-自增列AUTO_INCREMENT
AUTO_INCREMENT两种情况1、在载入语句执行前,已经不确定要插入多少条记录。 在执行插入语句时在==表级别==加一个==auto-inc锁==,然后
2020-07-20
Redis-两次redis操作用不用pipeline Redis-两次redis操作用不用pipeline
为什么需要 pipeline ? 正常情况下,客户端发送一个命令,等待 Redis 应答;Redis 接收到命令,处理后应答。请求发出到响应的时间叫做往返时间,即 RTT(Round Time Trip)。在这种情况下,如果需要执行大量的命
2020-07-17
Emotions Emotions
图片 黑人问号 原来如此
2020-07-16 blinkbean
Mysql-索引与算法 Mysql-索引与算法
B+树索引的管理 创建索引 对于索引的添加或删除,MySQL先创建一张临时表,把数据导入临时表,删除原表,然后把临时表重命名为原来的表。因此大表创建和删除索引的时间非常长。 快速索引创建法:对于非聚集索引的创建,InnoDB会对表加S锁,创
2020-07-15
Mysql-碎片整理遇到的那些事 Mysql-碎片整理遇到的那些事
为什么要碎片整理 MySQL中使用varchar、text、blob等可变长度的文本数据类型之后需要做额外的MySQL数据表碎片整理。 当MySQL从表中删除一行内容,该段空间就会被留空。如果有大量的删除操作,会使留空空间变得比存储列表内容
2020-07-13
Mysql-文件 Mysql-文件
参数文件mysql --help | grep my.cnf 没有参数文件,取源代码中的默认值。 日志文件 错误日志 # 查看文件位置 show variables like 'log_error';:hexoPostR
2020-07-12
6 / 8