这是一个系列博客,最终目的是要做一个基于HTMLCanvas的、类似于微软Office的WebOffice套件(包括:文档、表格、幻灯片……等等)。博客园:《从零开始,开发一个WebOffice套件》系列博客目录富文本编辑器Githubrepo地址:https://github.com/zhaokang555/canvas-text-editor富文本编辑器在线Demo:https://zhaokang555.github.io/canvas-text-editor/2.富文本编辑器(MVP)2.29Feature:拖动控制点,调整编辑器大小2.29.1算法监听控制点的拖动事件,将拖动的距离记
上海序说科技,专注于基于Odoo项目实施,实现企业数智化,助力企业成长。老韩头的开发日常,博客园分享(2022年前博文)10月12日,Odoo16版本正式发布,本文将就Odoo官方在性能方面做的优化做一个总结。如果需要官方视频,可以翻阅B站,有不少朋友已经做了搬运工。性能提升切入点Odoo作为B/S架构的应用,终端用户一般使用的是浏览器访问。因此,对于用户侧而言,性能提升的感觉主要体现在用户点击后响应实现变化。如下图官方将该过程分为了Web应用终端网络请求业务应用Odoo主框架逻辑硬件层面Web应用终端在Web应用终端,其实也就是用户侧的浏览器。官方在JS和CSS方便都做了不同程度的优化,如下
上海序说科技,专注于基于Odoo项目实施,实现企业数智化,助力企业成长。老韩头的开发日常,博客园分享(2022年前博文)10月12日,Odoo16版本正式发布,本文将就Odoo官方在性能方面做的优化做一个总结。如果需要官方视频,可以翻阅B站,有不少朋友已经做了搬运工。性能提升切入点Odoo作为B/S架构的应用,终端用户一般使用的是浏览器访问。因此,对于用户侧而言,性能提升的感觉主要体现在用户点击后响应实现变化。如下图官方将该过程分为了Web应用终端网络请求业务应用Odoo主框架逻辑硬件层面Web应用终端在Web应用终端,其实也就是用户侧的浏览器。官方在JS和CSS方便都做了不同程度的优化,如下
Sim/circuit1从波形不难看出ab是相与的关系。moduletop_module(inputa,inputb,outputq);//assignq=a&b;//FixmeendmoduleSim/circuit2 根据波形图可以画出卡诺图并且之前有写过这个卡诺图的逻辑表达式,不难看出相邻逻辑输出会取反,所以这个是一个四变量的异或,0000输出为1,所以还要再取反。moduletop_module(inputa,inputb,inputc,inputd,outputq);//assignq=~(a^b^c^d);//FixmeendmoduleSim/circuit3继续画卡诺图 m
Sim/circuit1从波形不难看出ab是相与的关系。moduletop_module(inputa,inputb,outputq);//assignq=a&b;//FixmeendmoduleSim/circuit2 根据波形图可以画出卡诺图并且之前有写过这个卡诺图的逻辑表达式,不难看出相邻逻辑输出会取反,所以这个是一个四变量的异或,0000输出为1,所以还要再取反。moduletop_module(inputa,inputb,inputc,inputd,outputq);//assignq=~(a^b^c^d);//FixmeendmoduleSim/circuit3继续画卡诺图 m
学习操作系统原理最好的方法是自己写一个简单的操作系统。在上一讲中我们向屏幕打印字符串“GrapeOS”用了十几行汇编代码,如果要输出的字符比较多,这种方法太繁琐了。本讲我们将打印字符串封装成一个函数,使用时就方便多了。一、mbr7.asmmbr7.asm代码如下:org0x7c00;如果没有该行将无法正确打印要显示的字符串。;初始化段寄存器。movax,csmovds,ax;ds指向与cs相同的段。movax,0xb800moves,ax;本程序中es专用于指向显存段。;打印字符串:"GrapeOSbootstart."。movsi,boot_start_stringmovdi,80;在屏幕第
学习操作系统原理最好的方法是自己写一个简单的操作系统。在上一讲中我们向屏幕打印字符串“GrapeOS”用了十几行汇编代码,如果要输出的字符比较多,这种方法太繁琐了。本讲我们将打印字符串封装成一个函数,使用时就方便多了。一、mbr7.asmmbr7.asm代码如下:org0x7c00;如果没有该行将无法正确打印要显示的字符串。;初始化段寄存器。movax,csmovds,ax;ds指向与cs相同的段。movax,0xb800moves,ax;本程序中es专用于指向显存段。;打印字符串:"GrapeOSbootstart."。movsi,boot_start_stringmovdi,80;在屏幕第
KubeSphere社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过commit的贡献者,并对近期重要的PR进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。本次双周报涵盖时间为:2023.03.03-2023.03.16。贡献者名单新晋贡献者本两周共有6位新晋contributor,包括近期在社区发布过KubeSphere相关文章的非代码贡献者。感谢各位对KubeSphere社区的贡献!近期重要更新KubeSphere1.新增iam.kubesphere.io/v1beta1API相关PR:https://github.com/kubesphere/
KubeSphere社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过commit的贡献者,并对近期重要的PR进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。本次双周报涵盖时间为:2023.03.03-2023.03.16。贡献者名单新晋贡献者本两周共有6位新晋contributor,包括近期在社区发布过KubeSphere相关文章的非代码贡献者。感谢各位对KubeSphere社区的贡献!近期重要更新KubeSphere1.新增iam.kubesphere.io/v1beta1API相关PR:https://github.com/kubesphere/
学习操作系统原理最好的方法是自己写一个简单的操作系统。新买的硬盘和优盘在第一次使用时需要格式化,有时候还需要分区。这是为什么呢?分区和格式化到底是干啥呢?本讲将为大家解开这些疑惑。一、文件系统1.分区首先说一下分区,我们平时看到的C盘、D盘等就是一个个分区。硬盘第一个扇区的一部分固定空间叫做分区表,划分分区就是在这个分区表中记录一下各分区的信息,包括各个分区从哪个扇区开始,到哪个扇区结束等。由于GrapeOS所用虚拟硬盘的空间大小只有4MB,没必要分区,所以我们在MBR中也没有填写分区表。2.格式化格式化是在某个分区上做的。如果一个盘没有做分区,那就将整个盘作为一个分区看待,GrapeOS就是