平时主要使用AD、kicad和立创eda,最近在琢磨一下各个软件的使用技巧,提升一下画图效率,首先想到的就是原理图复用,我想象中的原理图复用应该像AutoCAD的图块功能一样。这次先说kicad,摸索半天,感觉kicad没有严格意义上的原理图复用功能,与之类似的叫“层次原理图”https://haipeng.me/2018/12/06/kicad-hierarchical-sheet/这篇博客把这个功能讲的很清楚,就不再赘述。但是这跟我想的有点不一样啊。。。。。于是略作修改:比如我在一个项目中建了一个分层图框,里面画的是24v-5v的电源模块然后在我的项目文件夹里就会出现一个对应的原理图文件
首发地址day02真正的高并发还得看IO多路复用项目仓库地址https://github.com/lzs123/CProxy,欢迎forkandstar!往期教程day01-从一个基础的socket服务说起本节目的使用epoll实现一个高并发的服务器从单进程讲起上节从一个基础的socket服务说起我们实现了一个基本的socket服务器,并留了个思考题先启动server,然后启动一个client,不输入数据,这个时候在另外一个终端上再启动一个client,并在第二个client终端中输入数据,会发生什么呢?实际操作后,我们会发现,在第二个client输入后,服务端并没有响应,直到第一个clien
首发地址day02真正的高并发还得看IO多路复用项目仓库地址https://github.com/lzs123/CProxy,欢迎forkandstar!往期教程day01-从一个基础的socket服务说起本节目的使用epoll实现一个高并发的服务器从单进程讲起上节从一个基础的socket服务说起我们实现了一个基本的socket服务器,并留了个思考题先启动server,然后启动一个client,不输入数据,这个时候在另外一个终端上再启动一个client,并在第二个client终端中输入数据,会发生什么呢?实际操作后,我们会发现,在第二个client输入后,服务端并没有响应,直到第一个clien
本文将介绍一种基于CSS变量技巧,通过合理使用CSS变量,实现CSS动画@keyframes的复用。CSS变量CSS变量大家应该都比较熟悉了,已经不能算是新知识了,快速过一遍。CSS变量(CSSVariable),在之前也叫做CSS自定义属性,其使用方式如下://声明一个变量::root{--bgColor:#000;}这里我们借助了上面#12、结构性伪类中的:root{}伪类,在全局:root{}伪类中定义了一个CSS变量,取名为--bgColor。定义完了之后则是使用,假设我要设置一个div的背景色为黑色:.main{background:var(--bgColor);}这里,我们在需要使
本文将介绍一种基于CSS变量技巧,通过合理使用CSS变量,实现CSS动画@keyframes的复用。CSS变量CSS变量大家应该都比较熟悉了,已经不能算是新知识了,快速过一遍。CSS变量(CSSVariable),在之前也叫做CSS自定义属性,其使用方式如下://声明一个变量::root{--bgColor:#000;}这里我们借助了上面#12、结构性伪类中的:root{}伪类,在全局:root{}伪类中定义了一个CSS变量,取名为--bgColor。定义完了之后则是使用,假设我要设置一个div的背景色为黑色:.main{background:var(--bgColor);}这里,我们在需要使
IO多路复用通过某种机制使进程监听某些文件描述符,当文件描述符中有读或写就绪时,进程能够收到系统内核发送的相应通知从而进行相应的IO操作;IO多路复用有:select、poll、epoll等模式,这里主要介绍select;select本质上也是同步IO,调用时阻塞自己,IO事件就绪后被唤醒返回负责读写操作;在Go中其函数定义如下:funcSelect(nfdint,r*FdSet,w*FdSet,e*FdSet,timeout*Timeval)(nint,errerror)FdSet定义:typeFdSetstruct{Bits[16]int64}select函数实现IO多路复用,通过其参
IO多路复用通过某种机制使进程监听某些文件描述符,当文件描述符中有读或写就绪时,进程能够收到系统内核发送的相应通知从而进行相应的IO操作;IO多路复用有:select、poll、epoll等模式,这里主要介绍select;select本质上也是同步IO,调用时阻塞自己,IO事件就绪后被唤醒返回负责读写操作;在Go中其函数定义如下:funcSelect(nfdint,r*FdSet,w*FdSet,e*FdSet,timeout*Timeval)(nint,errerror)FdSet定义:typeFdSetstruct{Bits[16]int64}select函数实现IO多路复用,通过其参
作者:京东物流刘红妍导读:在自动化测试实践中,为了更好的契合被测业务场景,需要不断优化框架分层结构。本文结合产品模块化思路,意在介绍通过策略模式改造原本复杂分支语句代码,通过理论讲解、思路分析、方案设计、及代码演示,提供自动化脚本重构的落地方案。在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此我的Runner探索之旅开始了!1 痛点随着运输业务场景的不断丰富和自动化脚本量的不断累积,日常在review用例时发现,目前大家仍停留在针对需求定制化用例编写,无法提高用例可复用性和可编排性。当业务流程中间某一环节发生变化时,不
作者:京东物流刘红妍导读:在自动化测试实践中,为了更好的契合被测业务场景,需要不断优化框架分层结构。本文结合产品模块化思路,意在介绍通过策略模式改造原本复杂分支语句代码,通过理论讲解、思路分析、方案设计、及代码演示,提供自动化脚本重构的落地方案。在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此我的Runner探索之旅开始了!1 痛点随着运输业务场景的不断丰富和自动化脚本量的不断累积,日常在review用例时发现,目前大家仍停留在针对需求定制化用例编写,无法提高用例可复用性和可编排性。当业务流程中间某一环节发生变化时,不
什么是阻塞,非阻塞,异步同步,select,poll,epoll?今天我们用一遍文章解开这多年的迷惑。首先我们想要通过网络接收消息,是这样的一个步骤。用户空间向内核空间请求网络数据内核空间把网卡数据读取到内核缓冲区将内核缓冲区的数据复制到用户缓冲区根据我们请求数据的情况不同,以及内核缓冲区到用户缓冲区的不同,分为了阻塞,非阻塞,异步同步的区别。在《UNIX网络编程》一书中,总结归纳了5种I0模型:阻塞I0(BlockingI0)非阻塞I0(Nonblocking I0)I0多路复用(I0Multiplexing)信号驱动I0(SignalDriven I0)异步I0(Asynchronous