02 | 余数:原来取余操作本身就是个哈希函数
提起来余数,我想你肯定不陌生,因为我们生活中就有很多很多与余数相关的例子。 比如说,今天是星期三,你想知道 50 天之后是星期几,那你可以这样算,拿 50 除以 7(因为一个星期有 7 天),然后余 1,最后在今天的基础上加一天,这样你就能知道 50 天之后是星期四了。 再比如,我们做 Web 编程的时候,经常要用到分页的概念。如果你要展示 112…
二进制
二进制转十进制 十进制计数是使用 10 作为基数,那么二进制就是使用 2 作为基数 二进制左移一位,其实就是将数字翻倍 二进制右移一位,就是将数字除以 2 并求整数商的操作
MySQL大表优化方案
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的…
互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景
正文 多线程访问共享资源的时候,避免不了资源竞争而导致数据错乱的问题,所以我们通常为了解决这一问题,都会在访问共享资源之前加锁。 加锁的目的就是保证共享资源在任意时间里,只有一个线程访问,这样就可以避免多线程导致共享数据错乱的问题 当已经有一个线程加锁后,其他线程加锁则就会失败,互斥锁和自旋锁对于加锁失败后的处理方式是不一样的: 互斥锁加锁失败后,…
configparse模块
ConfigParser 是用来读取配置文件的包。
操作PyWeChatSpy
https://zhuanlan.zhihu.com/p/118674498
Python时间操作
1、获取秒级时间戳与毫秒级时间戳、微秒级时间戳 import time import datetime t = time.time() print (t) #原始时间数据 print (int(t)) #秒级时间戳 print (int(round(t * 1000))) #毫秒级时间戳 print (int(round(t * 1000000))…
php导出
导出工具类 <?php namespace app\service; class ExportUtil { public static $cellName = [ 'A','B', 'C','D', 'E', 'F','G','H','I', 'J', 'K','L','M', 'N', 'O', 'P', 'Q','R','S', …
python中文分词库jieba
from flask import Flask from flask import request import jieba import json app = Flask(__name__) @app.route('/') def index(): kw = request.args.get('kw') result = jieba.lcut(k…
requirements.txt的使用
导出原项目的依赖 pip freeze > requirements.txt 在新项目中一次性安装依赖 pip install -r requirements.txt