thinkphp5+phpspreadsheet实现多表多sheet导出excel
接上一篇导出excel,本文涉及接口类和抽象类,看似没关系,实际就是没什么关系,直接使用即可,下面是代码: 需要掌握的技能:使用composer引入phpspreadsheet代码 实现一个Base基本抽象类
TCP相关面试题(二)—TCP三次握手
TCP三次握手流程: 客户端发出SYN到服务端,服务端回复SYN+ACK给客户端,客户端再次收到之后, 回复ACK给服务端,至此三次握手成功,即一旦完成三次握手,双方都处于 ESTABLISHED 状态,此时连接就已建立完成,客户端和服务端就可以相互 发送数据了。 如何在Linux中查看TCP状态? netstat -napt TCP握手为什么是三…
TCP相关面试题(一)—TCP/IP分层模型,TCP/UDP的区别
理解TCP的序列号,确认应答号,控制位(ACK,RST,SYN,FIN) TCP/IP分层模型:应用层,传输层,网络层,网络接口层 OSI参考模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层 IP 层是「不可靠」的,它不保证网络包的交付、不保证网络包的按序交付、也不保证网络包中的数据的完整性。 如果需要保障网络数据包的可靠性,那么就…
HTTP2 / HTTP3基本特性,都用到了哪些协议
HTTP2相比于HTTP1.1,做到了向下兼容,用HPACK算法和Huffman编码(压缩算法),利用静态表压缩header头部传输字段大小,以此提高传输速率; 但是HTTP2依然存在对头阻塞的问题, 只不过是在TCP层面造成的阻塞; HTTP/2 需要限制 连接时长或者请求次数; HTTP/2 实现了 Stream 并发; 可以根据资源的渲染顺序…
HTTPS优化—针对TLS软硬件优化,握手协议优化
HTTP的性能损耗,主要是 1. TLS握手过程 2. 握手后的对称加密报文传输 针对硬件的优化: HTTPS协议是计算密集型,而不是I/O密集型,所以硬件的优化,更多的是花在CPU,而不是网卡硬盘;适当选择针对性的CPU,比如支持AES-NI特性的CPU,因为已经在指令级别优化了AES; 查看linux的CPU是否支持AES-NI指令集: sor…
判断是否是微信浏览器内部(H5页面)
var ua = window.navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == 'micromessenger') { console.log('是微信浏览器') WeixinJSBridge.call('closeWindow') } else { con…
键入URL访问的大致流程
1.解析URL各部位信息,确定请求路径 -------------------------------------------------------------- 2.生成HTTP消息,找DNS(只指路不带路,了解DNS的请求过程:先缓存,再请求)要IP ----------------------------------------------…