sql VariablesErrConnDone 在已经提交或回滚的连接上执行的任何操作都会返回 ErrConnDone。 var ErrConnDone = errors.New("database/sql: connection is already closed") ErrNoRows 当 QueryRow 没有返回行时,Scan 返回 ErrNoRows。在这种情况下,QueryRow 会返回一 2022-09-24 Golang > 标准库 > database #golang
git commit规范 Angular.js 项目所使用的git commit规范每次提交,Commit message 都包括三个部分:Header,Body 和 Footer。其中,Header 是必需的,Body 和 Footer 可以省略 HeaderHeader部分只有一行,包括三个字段:type(必需)、scope(可选)和subject(必需) type build:编译相关的修改,例如发布版本、对项目构建 2022-09-24 前端 > React
通用寄存器 在汇编世界里,我们主要通过汇编指令来操纵两种东西: 寄存器 内存地址 通用寄存器寄存器的位数由于 x86-64 架构惊人的后向兼容性,同一个寄存器,我们可以使用其中的 8bit、16bit、32bit、64bit,以 ax 寄存器为例,分别是 ah/al、ax、eax、rax,如下图所示: 通用寄存器的逻辑结构一定要记住: 这就导致一个问题,从大的寄存器上往小的寄存器上 mov 2022-09-24 汇编 #assembly
cpu如何2+3 数据宽度和逻辑运算圆 体现 正负数 cpu加法 示例:2+3 0010 xor 0011 = 0001 0010 & 0011 = 0010 0010 << 1 = 0100 判断0100是否等于0,如果等于,则结果为0001,显然不等于,则继续 0001 xor 0100 = 0101 0001 & 0010 = 0 2022-09-24 汇编 #assembly
内存 X86CPU 和 AMD64(X86-64)CPU 的区别: 通用寄存器的位宽不同:AMD64 通用寄存器是 64 位,而 X86 通用寄存器是 32 位,所以 AMD64 一次能处理 64 位数据,而 X86 一次只能处理 32 位数据。 支持的寻址空间不同:操作内存的最小单位是字节,每个内存地址(内存编号)指向一个字节,2^32 = 4294967296,所以 X86 支持的最大 2022-09-24 汇编 #assembly
堆栈 什么是堆栈堆栈 在有些文章中也叫做 栈 可读、可写 这些都是针对正向的,编译器限制的,对于逆向而言,没有这些限制。 BASE 是栈底,TOP 是栈顶 栈底是高位,栈顶是低位,以 4G 内存为例,最高位 FFFFFFFF,最低位 00000000 栈底固定,栈顶不固定 RSP 和 RBP 通用寄存器rsp 存储栈顶,rbp 存储栈底。 mov rdi,rsp call 0x7f51189ef05 2022-09-24 汇编 #assembly
标志寄存器 请问 SI,DI 的区别?在用法上的区别? 最重要的是他们的默认段寄存器不同,SI 是 DS,DI 是 ES。 PE 下断点 WIN32 API 什么是函数调用 熟悉堆栈 Call JCC 标志寄存器 一个函数开始执行的时候,栈顶存储的是这个函数的地址: 2022-09-24 汇编 #assembly
7种寻址方式 https://blog.csdn.net/u012928324/article/details/69334931 立即寻址 寄存器寻址 直接寻址 寄存器间接寻址 寄存器相对寻址 基址加变址寻址 相对基址加变址寻址 寄存器间接寻址 寄存器相对寻址 2022-09-24 汇编 #assembly
Firefox 视频全屏黑一秒: full-screen-api.transition-duration.enter 0 0 full-screen-api.transition-duration.leave 0 0 2022-09-24 工具 #firefox
firefox userChrome.css /* ===================================== 标签栏调整 ===================================== */ /*标签高度*/ #titlebar, #tabbrowser-tabs { --tab-min-height: 28px !important; } /** 去除标签与导航栏之间的空隙 Tab B 2022-09-24 工具 #firefox
mysql5.7内置函数和操作 表达式求值中的类型转换CONCAT() 隐式转换CONCAT()的参数为string类型,所以如果传入其他类型,会被隐式转换。 mysql> SELECT 1+'1'; -> 2 mysql> SELECT CONCAT(2,' test'); -> '2 test' 如果想显式转换,请使用 CAST mysql> SELECT 38.8, CAST(38.8 A 2022-09-24 运维 > MySQL
数据结构 郝斌数据结构自学笔记 概述什么叫数据结构数据结构是软件中最核心的课程 我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行的相应操作,这个相应的操作也叫算法。 数据结构 = 个体的存储 + 个体的关系存储 算法 = 对存储数据的操作 程序 = 2022-09-24 数据结构 #数据结构
转载-raft 寻找一种易于理解的一致性算法(扩展版)摘要Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos 算法相同的功能和性能,但是它的算法结构和 Paxos 不同,使得 Raft 算法更加容易理解并且更容易构建实际的系统。为了提升可理解性,Raft 将一致性算法分解成了几个关键模块,例如领导人选举、日志复制和安全性。同时它通过实施一个更强的一致性来减少需要考虑的状态的数量。一项用户研究的结 2022-09-24 算法 #raft
安装windows virtio-win: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/ https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.189-1/virtio 2022-09-24 运维 > 虚拟化和KVM #kvm
gdb的基本使用 调试 php 的时候,可以在 ZEND_ECHO_SPEC_CV_HANDLER 打断点, 这样 echo 变量的时候, 会断点调试; (gdb) b ZEND_ECHO_SPEC_CV_HANDLER 打印数组 int array = (int) malloc (len sizeof (int));parray@len @左边是数组地址,右边是数组长度 在提示符下直接敲回车表示重复上 2022-06-28 C #C
性能优化 静态资源尽量使用cdn,且使用单独域名 做好loading 小图片使用 精灵图/雪碧图,如果使用HTTP2.0,则此项无需优化 图片懒加载 代码切割,懒加载 防抖和节流 持续触发事件,例如 缩放、滚动、鼠标移动,键盘输入,多次快速点击等,如果每次都触发执行函数,则会有性能下降、频繁请求等问题。这种情况就适合使用防抖和节流。 防抖:触发事件后 n 秒后才执行函数,如果在 n 2022-02-23 前端 #JavaScript
局部变量和全局变量 局部变量在事件回调函数返回后,所有局部对象和变量会全部回收,不需要 unset 。如果变量是一个资源类型,那么对应的资源也会被 PHP 底层释放。 function test() { $a = new Object; $b = fopen('/data/t.log', 'r+'); $c = new swoole_client(SWOOLE_SYNC); 2022-01-25 PHP > EasySwoole #EasySwoole
umount无法解除挂载 问题: [root@zabbix /]# umount /dev/sdc1 umount: /data1: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1 解决: [root@zabbix / 2022-01-25 运维 > 基础 > 磁盘 #磁盘管理 #文件系统
pvcreate无法创建物理卷 问题: [root@484288 ~]# pvcreate /dev/sdc Device /dev/sdc excluded by a filter. 解决方法: wipefs -a /dev/sdc 参考: https://serverfault.com/questions/917650/vgextend-device-excluded-by-a-filter http://it.ck 2022-01-25 运维 > 基础 > 磁盘 #磁盘管理 #文件系统