Docker笔记(自用)
随手记点笔记,不全,自用 Docker 基础命令 服务相关命令 systemctl start docker systemctl stop docker systemctl restart docker systemctl status docker systemctl enable docker 为 docker 服务设置开机自启 镜像相关命令 docker images 查看本地镜像 docker search 镜像名称 搜索镜像 docker pull 镜像名称:版本号 从 docker 仓库拉取某版本的镜像到本地 docker build 创建 dockerfile 镜像 容器相关命令 docker ps -a 查看所有本地容器 举例:docker run -it --name=cl centos:7 /bin/bash 创建一个名为 cl 的 centos7 的容器并以 bash 这个 shell 进入交互式界面 exit 可以退出容器但会使带-t 参数的交互式容器停止,所以要避免-t 参数的使用,但是可以使用^p^q...
Redis笔记02(自用)
随手记点笔记,不全,自用 删除策略 定时删除 定时删除,CPU 占用大 惰性删除 过期数据二次访问后才删除,内存占用大 定期删除 随机抽查删除,hz 值决定了 CPU 和内存哪个占用大 淘汰策略 内存不足时按策略删除 maxmemory ?mb 最大可用内存,默认为 0 不限制,一般设置物理机的 50%以上 maxmemory-samples count 每次随机删除的数据个数 maxmemory-policy policy 删除策略 volatile 易失数据 volatile-lru 按最后一次使用时间 volatile-lfu 按最近使用次数 volatile-ttl 按即将过期的数据 volatile-random 随机 allkeys 全库数据 allkeys-lru 按最后一次使用时间 allkeys-lfu 按最近使用次数 allkeys-random 随机 no-enviction 放弃数据驱逐 主从复制 建立连接的流程 设置 master 地址和端口并保存 建立 socket 连接 发送 ping...
MyBatis如何获取刚刚插入数据的ID
有时业务逻辑中需要获取刚刚插入的数据的自增 ID 值以用于后续使用,MyBatis 提供了 LAST_INSERT_ID() 函数获取该 ID 值: 1234567891011<mapper> <insert id="add" parameterType="pojo"> <!--insert操作结束后查询最后一条插入的数据的ID值并将其赋值给pojo对象中的id属性--> <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id"> select LAST_INSERT_ID() </selectKey> insert into table(items) values(#{items}) ...
Redis笔记(自用)
Redis Redis: Remote Dictionary Server 三个特点: Redis 支持数据持久化. 可以将内存中的数据保持在磁盘中, 重启后可再次使用 Redis 支持 key-val, list, set, zset, hash 等数据结构存储 Redis 支持数据备份, master-slave 模式数据备份 零碎基础知识 单进程 (*) 单进程处理客户端的请求, 对读写事件响应是通过 epoll 函数而包装来操作. Redis 实际处理速度完全依靠主进程执行效率 默认 16 个数据库, 类似数组下标从 0 开始, 初始默认使用 0 号库 select 切换数据库 dbsize 查看当前数据库的 key 的数量 flushdb 清空当前数据库 flushall 删全部库 统一密码管理, 16 个库同一个密码 Redis 索引是从 0 开始 默认端口 6379 Redis 数据类型 五大数据类型 String (字符串) Hash (哈希, 类似 Java HashMap) List (列表) Set (集合) Zset (Sorted Set:...
MySQL事物隔离级别笔记
隔离级别 脏读(Dirty Read) 不可重复读(NonRepeatable Read) 幻读(Phantom Read) 未提交读(Read uncommitted) yes yes yes 已提交读(Read committed) no yes yes 可重复读(Repeatable read) no no yes 可串行化(Serializable ) no no no 未提交读(Read uncommitted):能读取到别的事务未提交的数据 已提交读(Read committed):只能读取到别的事务已经提交的数据 可重复读(Repeatable):在读取数据后直接加锁,其他事务无法修改和删除这些数据,但是防不住 insert 的新数据 可串行化(Serializable):读取用读取锁,写入用写入锁,这两个锁互斥,这样能保证数据绝对安全,但是性能低下 脏读(Dirty Read):可以读取到未提交的数据 不可重复读(NonRepeatable Read):在读取完数据后数据又修改并 commit...
记一次反编译PyInstaller打包的可执行文件获得其Python源码的过程
笔者因为一些原因,需要反编译别人打包好的 Python3 写的 exe 程序获得其源码,但是本人对于 Python 的反编译是一窍不通的,于是在十分钟的谷歌学习后,这篇文章诞生了 第一步 首先,我们安装完 python 并且配置好环境变量后,去下载 pyinstxtractor.py 这个工具,他能把 PyInstaller 打包的 exe 文件里包含的依赖库和已编译好的.pyd 或者.pyc 字节码文件给“解压”出来,这其中,.pyd 文件的反编译特别复杂(因为.pyd 其实是已经编译成.c 后封装成类似.dll 的东西了,根本看不出 Python 的源码了),技术力不足的我这部分无能为力,本次讲的是.pyc 的反编译。 1python pyinstxtractor.py Test.exe 运行工具“解压”完成后, 我们看到目录中生成了一个文件夹: 图中的 Test.exe_extracted 文件夹便是 Test.exe 文件被“解压”后的结果,然后我们找到类型为.pyc 的字节码文件(或者如下图所示的类型为文件的文件) 然后把他们改为后缀名为.pyc...
记一次拿到光猫超管账号改路由为桥接的过程
大家都知道,电信的光猫一般性能都比较差,在实现了光电转换功能的同时,默认的路由模式会让光猫背负起本来是路由器在干的拨号上网功能,笔者最近发现家里的网时不时会断流一秒,导致玩彩虹六号卡卡的,就想着如何改桥接,先是在网上搜到了通用的超级管理员密码 telecomadmin nE7jA%5m,但试了下发现是错误的,并且网上那种固定端口获取 dump 文件的方法也不适用于我的光猫,于是拨打客服电话问了问,客服也不愿意说,就只能自己动手了 以下是全过程记录: 第一步 首先,安装抓包软件 Fiddler Classic,然后准备好一个 fat32 格式的 U 盘,并在里面新建一个文件夹 然后插到光猫上,浏览器输入 192.168.1.1 进入天翼网关 输入光猫背后贴的用户账号密码,就是 useradmin 那个 然后进入存储管理,我们发现,U 盘被识别出来了 这时我们启动 fidder,然后选择下图所示的事前断点 然后手动去点击文件夹目录,你会发现,点不动,点不动就对了 这时去寻找到 cgi-bin/luci/admin/storage/openFolder 这条...
Windows系统如何解除UWP应用的网络隔离
微软服务器对于大陆的连接质量不是很好,很多 UWP 应用时常无法正常使用,而且,UWP 应用是与系统网络隔离的,那么,如何让 UWP 的流量走代理呢,微软官方的开发者中心给出了一个方法: https://docs.microsoft.com/en-us/windows/iot-core/develop-your-app/loopback 以下是实施这个方法的全过程: 情景一(单个设置): 首先打开注册表,Win+R 键,输入 regedit 回车 找到以下路径: 1HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings 其中,左边的注册表项即为应用的 SID 值 右边的 DisplayName 对应的值即为应用的名称,比如这里就是 Windows 商店 接着,使用管理员权限打开 CMD 或者 Powershell 输入 1CheckNetIsolation.exe loopbackexempt...