
学习笔记
文章平均质量分 83
正向,决断
这个作者很懒,什么都没留下…
展开
-
FastCGI
FastCGICGI什么是CGICGI(common gateway interface)通用网关接口描述了客户端和服务器程序之间传输数据的⼀种标准,可以让⼀个客户端,从⽹⻚浏览器向执⾏在⽹络服务器上的程序请求数据。CGI独⽴于任何语⾔的,CGI程序可以⽤任何脚本语⾔或者是完全独⽴编程语⾔实现,只要这个语⾔可以在这个系统上运⾏。Unix shell script、Python、 Ruby、PHP、 perl、Tcl、 C/C++和 Visual Basic 都可以⽤来编写CGI程序。最初,CGI是原创 2022-03-06 15:42:15 · 3790 阅读 · 0 评论 -
笔记-连接池
笔记-连接池池化技术池化技术能够减少资源对象的创建次数, 减少对象创建和销毁的事件原理正常一个MySQL的操作流程: TCP三次握手->MySQL认证->SQL执行->MySQL关闭->四次挥手将TCP三次握手和MySQL认证创建后的连接放到连接容器(连接池)中池化后的MySQL操作流程: 从连接池取出一个连接->MySQL执行->归还MySQL连接连接池设计DBConnection, 数据库的连接对象, 同时数据库的操作由DBConnection实原创 2022-02-14 13:54:22 · 273 阅读 · 0 评论 -
笔记-Qt多线程
笔记-Qt多线程QThread-线程实现方式1, 不推荐继承QThread对象, 然后重新实现虚函数QThread::runclass WorkerThread : public QThread{ Q_OBJECT void run() override { QString result; /* ... here is the expensive or blocking operation ... */ emit resultRe原创 2022-02-13 15:04:57 · 540 阅读 · 0 评论 -
笔记-信号和槽
笔记-信号和槽事件驱动模型事件驱动模型Qt事件机制信号和槽的原理和实现信号和槽的原理和实现QMetaObject:: activateSLOT和SIGNAL宏会利用预编译器将一些参数转化成字符串,并且在前面添加上编码。在调试模式中,如果signal的连接出现问题,提示警告信息的时候还会注明对应的文件位置。qFlagLocation 用于定位代码对应的行信息,会将对应代码的地址信息注册到一个有两个入口的表里。Q_CORE_EXPORT const char *qFlagLocation(原创 2022-02-13 15:04:30 · 785 阅读 · 0 评论 -
学习笔记_信号和槽
学习笔记_信号和槽信号和槽机制(signal and slot)信号和槽机制用于完成界面操作的相应,是完成任意两个Qt对象之间的通信机制。信号会在某个特定情况或动作下被触发,槽是等同于接受并处理信号的函数。若要将一个窗口部件的变换情况告知另一窗口部件,则向另一窗口部件发送信号。每个Qt对象都包含若各个预定义的信号和槽,当某一特定事件发生时,一个信号被发送,与信号相关联的槽则会相应信号并完成相应的操作。信号和槽可以自定义。信号和信号相连,槽相应信号connect(Object1,SIGNAL(sig原创 2022-02-11 13:44:48 · 476 阅读 · 0 评论 -
学习笔记_原子操作CAS和锁实现
学习笔记_原子操作CAS和锁实现加锁是对一块临界资源加锁,加锁是对临界资源的操作, 所有的占用(临界资源在工作)// idx++, 自增操作的汇编实现其实是3条指令Mov [idx], %eaxInc %eaxMov %eax,[idx]互斥锁pthread_mutex_t, 会进行线程的切换, 切换去执行其他任务, 执行完在来判断临界找资源是否可用使用场景:临界资源操作复杂(比线程切换复杂), 或有发生系统调用, 优先选择mutex, 如文件读写pthread_mutex_t mute原创 2022-02-11 07:42:22 · 339 阅读 · 0 评论 -
学习笔记_UDP的可靠传输协议QUIC
学习笔记_UDP的可靠传输协议QUICUDP可靠性设计,解决的是数据实时性问题,流速问题如何做到可靠性传输ACK机制确保对方应答重传机制定时机制,重传策略序号机制 3 2 1 ->2 3 1对包进行编号重排机制 2 3 1 -> 3 2 1根据包的序号进行重排,不是当前的先进行缓存窗口机制发送数据给对方,当时对方一直收,导致我的发送缓存区满了UDP和TCP的区别UDP每一次必须一次读完,没读完的就丢掉了选项UDPTCP是否连接无连接面向原创 2022-02-11 07:40:16 · 1770 阅读 · 0 评论 -
学习笔记_网络编程中关注的问题
学习笔记_网络编程中关注的问题概念全连接队列(sync queue)和半连接队列(accept queue)当服务端接收到客户端第一次SYN握手请求时,将创建的request_sock结构,存储在半连接队列中(向客户端发送SYN+ACK,并期待客户端响应ACK),此时的连接在服务器端出于SYN_RECV状态。当服务端收到客户端最后的ACK确认时,将半连接中的相应条目删除,然后将相应的连接放入 全连接队列中, 此时服务端连接状态为ESTABLISHED。 进入全连接队列中的连接等待accept()调用取原创 2022-02-11 07:37:12 · 161 阅读 · 0 评论 -
学习笔记_树(数据结构)
学习笔记_树哨兵 NIL哨兵sentinel是一个哑dummy对象, 可以用来简化边界条件;可以用在环形双向链表中, nil介于头和尾之间二叉查找树注意点根节点是树中唯一父节点为nil的节点特性如果一个节点y是节点x的左子树,则key[y] < key[x]如果一个节点y是节点x的右子树,则key[y] > key[x]遍历-中序遍历获得的查询结果是递增的INORDER-TREE-WALK(x) if x != nil then INORDER-TREE原创 2022-02-11 07:35:31 · 123 阅读 · 0 评论 -
学习笔记_协程的实现和原理
学习笔记_协程的实现和原理ucontextuser context 用户上下文23 general register 23个通用寄存器enum{ REG_R8 = 0, # define REG_R8 REG_R8 REG_R9, # define REG_R9 REG_R9 REG_R10, # define REG_R10 REG_R10 REG_R11, # define REG_R11 REG_R1原创 2022-02-11 07:32:55 · 277 阅读 · 0 评论