代码改变世界

抢红包算法——线段分割法

2020-05-27 17:17 by wish123, 605 阅读, 0 推荐, 收藏, 编辑
摘要:抢红包算法经常在面试的时候被问到,那么今天我就给大家分享一个比较常用容易理解的算法,线段分割法的实现。 算法思路: 线段分割法就是把红包总金额想象成一条线段,而每个人抢到的金额,则是这条主线段所拆分出的子线段。 当N个人一起抢红包的时候,就需要确定N-1个切割点。 因此,当N个人一起抢总金额为M的红 阅读全文

vim 替换模式

2020-05-25 07:28 by wish123, 365 阅读, 0 推荐, 收藏, 编辑
摘要:替换命令 vim提供了一个简单的替换命令:r命令。r命令用于替换光标所在的字符,做法是先将光标移动到需要替换的字符处,按一下r键,然后输入新的字符。注意,全程无需进入插入模式,也不会进入插入模式。 如果先输入[数字]再输入r,最后输入新的字符,说明从当前光标的位置开始,替换【数字】个新字符。 替换模 阅读全文

Innodb中mysql如何快速删除2T的大表

2020-05-23 22:47 by wish123, 124 阅读, 0 推荐, 收藏, 编辑
摘要:OK,这里就说了。假设,你有一个表erp,如果你直接进行下面的命令 drop table erp 这个时候所有的mysql的相关进程都会停止,直到drop结束,mysql才会恢复执行。出现这个情况的原因就是因为,在drop table的时候,innodb维护了一个全局锁,drop完毕锁就释放了。这意 阅读全文

RabbitMQ保障消息 100% 投递成功方案

2020-05-23 22:41 by wish123, 376 阅读, 0 推荐, 收藏, 编辑
摘要:什么是生产端的可靠性投递? 保障消息的成功发出 保障MQ节点的成功接收 发送端收到MQ节点(Broker) 确认应答 完善的消息补偿机制 如果想保障消息百分百投递成功,只做到前三步不一定能够保障。有些时候或者说有些极端情况,比如生产端在投递消息时可能就失败了,或者说生产端投递了消息,MQ也收到了,M 阅读全文

RabbitMQ幂等性的主流解决方案

2020-05-23 20:52 by wish123, 462 阅读, 0 推荐, 收藏, 编辑
摘要:简单来说就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的。 我们可以借鉴数据库的乐观锁机制来举个例子 首先为表添加一个版本字段version 在执行更新操作前呢,会先去数据库查询这个version 然后执行更新语句,以version作为条件,例如: UPDATE T_REPS SET C 阅读全文

PHP 源代码压缩小工具

2020-04-07 13:20 by wish123, 347 阅读, 0 推荐, 收藏, 编辑
摘要:所有的PHP文件包在一个PHP文件移除所有的注释移除多余空格保持输出纯PHP(即不需要任何额外的处理步骤来解析这个文件) 使用方法:(在命令行运行) php compactor.php DESTINATION.php SOURCE.php compactor.php #!/usr/bin/env p 阅读全文

mysql的utf8与utf8mb4 异同;utf8mb4_unicode_ci 与 utf8mb4_general_ci 如何选择

2020-03-20 13:52 by wish123, 643 阅读, 0 推荐, 收藏, 编辑
摘要:如图,一般使用如下配置 utf8mb4是4个字节。utf8是3个字节。utf8mb4兼容性更好,占用空间更大。 主要从排序准确性和性能两方面看: 准确性utf8mb4_unicode_ci 是基于标准的Unicode来排序和比较,能够在各种语言之间精确排序utf8mb4_general_ci 没有实 阅读全文

像母语者一样说美语 How to Improve Spoken American English - Sound like a Native Speaker

2019-11-09 15:18 by wish123, 321 阅读, 0 推荐, 收藏, 编辑
摘要:视频讲解: 视频详情见:https://www.bilibili.com/video/av75075387/ 总结分析: 001 要点总结: 1. 本富兰克林方法: 要你写下一切听到的东西 2. 辅音T在两个元音之间,发音像D 3. 三个词是作为一个整体读:“a lot of,a lot of”,重 阅读全文

select,poll,epoll最简单的解释

2019-08-22 11:32 by wish123, 1436 阅读, 1 推荐, 收藏, 编辑
摘要:从事服务端开发,少不了要接触网络编程。epoll 作为 Linux 下高性能网络服务器的必备技术至关重要,nginx、Redis、Skynet 和大部分游戏服务器都使用到这一多路复用技术。 epoll 很重要,但是 epoll 与 select 的区别是什么呢?epoll 高效的原因是什么? 网上虽 阅读全文

Percona,MariaDB,MySQL衍生版如何取舍

2019-07-30 16:25 by wish123, 738 阅读, 0 推荐, 收藏, 编辑
摘要:缘起 自从甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险。而且Oracle对培养MySQL这个免费的儿子并不太用心,漏洞修补和版本升级的速度一段时间非常缓慢,所以业界对MySQL的未来普遍不抱有乐观态度。因此社区采用分支的方式来避开这个风险,例如谷歌、Facebook、RedHat都将M 阅读全文