摘要: JIT 编译保持了平台无关性,但是付出了一定代价。因为在程序执行时进行编译,所以编译代码的时间将计入程序的执行时间。AOT指运行前编译,这两种编译方式的主要区别在于是否在“运行时”进行编译 阅读全文
posted @ 2021-08-24 21:54 zhoulujun 阅读(575) 评论(0) 推荐(2) 编辑
摘要: JavaScript的数组与对象遍历有那些方法(for while for in for of map foreach every),他们的性能对比如何?需要注意那些事项?为什么禁止使用for in,他的性能为何非常差? 阅读全文
posted @ 2021-08-24 20:31 zhoulujun 阅读(1293) 评论(0) 推荐(0) 编辑
摘要: 据说Homebrew作者去谷歌涮二叉树翻转被KO,害的我再次把二叉树常用的算法整理收集下,万一哪天被fire了。当然学习并不是为了面试啥的 阅读全文
posted @ 2021-08-16 00:16 zhoulujun 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 二叉排序树是为了实现动态查找而设计的数据结构,它是面向查找操作的,平均时间复杂度是O(log₂N),当二叉查找树退化为单链表时,此时查找效率为O(n)。所以我们需要平衡二叉树。平衡二叉树最难的就是旋转,平衡红黑树 阅读全文
posted @ 2021-08-16 00:08 zhoulujun 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 二叉树通常采用链式存储结构,存储结点由数据域和指针域。用一组连续的存储单元依次自上而下,自左至右存储完全二叉树上的结点元素,即将二叉树上编号为i的结点元素存储在加上定义的一维数组中下标为i-1的分量中。 阅读全文
posted @ 2021-08-15 23:55 zhoulujun 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 二叉树的遍历是指不重复地访问二叉树中所有结点,主要指非空二叉树。二叉树的遍历分为深度优先遍历(先序遍历、中序遍历、后序遍历)和广度优先遍历 (层次遍历),遍历方法图解看起来更加数十年 阅读全文
posted @ 2021-08-15 23:37 zhoulujun 阅读(564) 评论(0) 推荐(0) 编辑
摘要: instanceof操作符的内部实现机制和隐式原型、显式原型有直接的关系。instanceof 的作用是判断一个对象是不是一个函数的实例。instanceof运算符的实质:用来检测 constructor prototype是否存在于参数 object的原型链上。 阅读全文
posted @ 2021-08-15 22:33 zhoulujun 阅读(71) 评论(0) 推荐(0) 编辑
摘要: new 运算符是用来实例化一个类,从而在内存中分配一个实例对象。但在 javascript 中,原型语言没类,只有对象,只有对象继承对象,依靠原型链继承。new存在的意义在于它实现了javascript中的继承。new一个构造函数,得到的实例 阅读全文
posted @ 2021-08-15 22:26 zhoulujun 阅读(505) 评论(0) 推荐(0) 编辑
摘要: 在经典的面向对象语言中,可能倾向于定义类,继承类。原型语言 只有对象,没有类;对象继承对象,而不是类继承类。继承的对象函数并不是通过复制而来,而是通过原型链继承。JavaScript里面没有类这个概念,es6中class虽然很像 阅读全文
posted @ 2021-08-14 20:55 zhoulujun 阅读(118) 评论(0) 推荐(0) 编辑
摘要: GitHub在本地可以用用户密码校验,也可以是person token校验,还可以用ssh。但是Support for password authentication was removed on August 13, 2021 Please use a personal access token instead 个人推荐还是SSH 免登方式使用较好 阅读全文
posted @ 2021-08-14 19:34 zhoulujun 阅读(10722) 评论(0) 推荐(2) 编辑
摘要: 和jpg图片类似,png图片由HEX:8950 4E 47 0D 0A 1A 0A开头,00 00 00 00 49 45 4E 44 AE 42 60 82结尾。中间夹杂着数据块。分为关键数据块(critical chunk)与辅助数据块(ancillary chunks),每个数据块的含义是啥,数据块结构如何。hex码如何解读PNG内容 阅读全文
posted @ 2021-08-07 19:39 zhoulujun 阅读(4991) 评论(0) 推荐(0) 编辑
摘要: png是一种无损压缩的位图片形格式,其设计目的是试图替代GIF和TIFF文件格式。主要还是撇开LZW专利限制。2003年11月10,PNG现行版本的国际标准(ISO IEC 15948:2003)发布,虽然同年网络上最受欢迎的GIF专利就过期,但是PNG还是成为 阅读全文
posted @ 2021-08-07 19:35 zhoulujun 阅读(346) 评论(0) 推荐(0) 编辑
摘要: JIT 编译保持了平台无关性,但是付出了一定代价。因为在程序执行时进行编译,所以编译代码的时间将计入程序的执行时间。AOT指运行前编译,这两种编译方式的主要区别在于是否在“运行时”进行编译 阅读全文
posted @ 2021-08-07 19:20 zhoulujun 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 之前整理过《Java注解(批注)的基本原理》,typescript通过注解添加元数据,然后在装饰器中获取这些元数据,完成对类、类的方法等等的修改,可以在装饰器中添加元数据的支持 阅读全文
posted @ 2021-08-07 19:09 zhoulujun 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 在看《欧拉角、旋转矩阵、四元数合辑 》,就之前所学做点笔记,以便以后再次复习。 先复习先基本概念 坐标系 我们为了能够科学的反映物体的运动特性,会在特定的坐标系中进行描述,经常要用到以下几种坐标系: 大地坐标系统 地心固定坐标系统 本地北东地坐标系统 机载北东地坐标系统 机体轴坐标系统 其中3、4、 阅读全文
posted @ 2021-08-07 19:01 zhoulujun 阅读(3773) 评论(0) 推荐(0) 编辑
摘要: 状态管理的解决思路就是:把组件之间需要共享的状态抽取出来,遵循特定的约定,统一来管理,让状态的变化可以预测。是Vue,还是React,都需要管理状态state。react采用redux集中方案,vue直接给出vuex一把梭。需要注意异步操作 阅读全文
posted @ 2021-08-07 18:47 zhoulujun 阅读(378) 评论(0) 推荐(1) 编辑
摘要: OGC主要目的就是制定与空间信息、基于位置服务相关的标准。WMTS是缓存技术标准,弥补了WMS不能提供分块地图的不足,牺牲了提供定制地图的灵活性,代之以通过提供静态数据来增强伸缩性。 阅读全文
posted @ 2021-07-26 00:33 zhoulujun 阅读(1778) 评论(0) 推荐(1) 编辑
摘要: selenium三件套IDE WebDriver Grid分别能解决什么问题。selenium左UI自动化测试如何入门做些最基本的操作,Selenium IDE如何下载,安装,操作。Selenium WebDriver JavaScript脚本如何编写,有哪些注意点 阅读全文
posted @ 2021-07-26 00:06 zhoulujun 阅读(251) 评论(0) 推荐(1) 编辑
摘要: Android有monkey左压测,也可以编写脚本左UI交互测试。PhantomJS可以用用于页面自动化、网络监测、网页截屏,但无界面测试。selenium 是一套完整的web应用程序测试系统,包含了兼容性测试、测试的录制……web自动化测试,selenium 阅读全文
posted @ 2021-07-25 23:50 zhoulujun 阅读(779) 评论(0) 推荐(0) 编辑
摘要: 测试分类:单元测试|集成测试|端到端测试,测试分层:单元测试|接口测试|UI测试,其中接口测试相对收益更大。单元测试是程序稳健的基础,也是提高程序员自身素养的手段。UI测试最难实施,web自动化测试中UI自动化测试如 阅读全文
posted @ 2021-07-25 18:27 zhoulujun 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 拖放(Drag和 drop)是 HTML5 标准的组成部分。相比之前用jquery-UI等库实现,更加方便。使用css 设置resize属性,通过observeResize监听元素的大小改变。这个也是一个优化。 阅读全文
posted @ 2021-07-13 22:10 zhoulujun 阅读(671) 评论(0) 推荐(0) 编辑
摘要: 大地水准面 参考椭球体 大地基准面如何逐步逼近地球表面,地球椭球的中心与地球质心差异而产生的地心大地坐标系、参心大地坐标系有何不同?EPSG:4479与EPSG:4480、墨卡托投影与伪墨卡托投影有何不同?EPSG:4326(WGS84),Web Mercator 阅读全文
posted @ 2021-07-13 22:00 zhoulujun 阅读(2532) 评论(0) 推荐(2) 编辑
摘要: 之前写《再谈BOM和DOM(4):HTML DOM Event 对象》时候,对event对象及各种dom事件没有详细道来,这里些表格。备查。 Event 对象 Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。 事件通常与函数结合使用,函数不会在事 阅读全文
posted @ 2021-07-13 21:55 zhoulujun 阅读(98) 评论(0) 推荐(0) 编辑
摘要: JavaScript 里面event事件计算元素位置,计算元素位置,如e target。总会被clientX,offsetX,screenX,pageX,offsetLeft,scrollLeft弄的晕头转向,有时候不是很确定。这里图形说明的很好。总结性笔记。 阅读全文
posted @ 2021-07-13 21:42 zhoulujun 阅读(108) 评论(0) 推荐(0) 编辑
摘要: js在操作DOM中存在着许多跨浏览器方面的坑,虽然现在有jquery可以一劳永逸地解决这些问题。但是还是把这些收集起来。做个备忘录。 阅读全文
posted @ 2021-07-13 21:36 zhoulujun 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 事件就是用户或浏览器自身执行的某种动作。响应某个事件的函数就叫事件监听器,户产生的事件(比如鼠标点击)只要指定过回调函数,这些事件发生时就会进入 "任务队列 ",等待主线程读 阅读全文
posted @ 2021-07-13 21:26 zhoulujun 阅读(131) 评论(0) 推荐(0) 编辑
摘要: web前端开发,JS修改页面,首选就是的页面元素查找,节点遍历。DOM通过创建树来表示文档,描述了处理网页内容的方法和接口,从而使开发者对文档的内容和结构具有空前的控制力,用DOM API可以轻松地删除、添加和替换节点。 阅读全文
posted @ 2021-07-13 21:20 zhoulujun 阅读(118) 评论(0) 推荐(0) 编辑
摘要: DOM模型将整个文档看成一个树形结构,并用document对象表示该文档。NodeType属性来表明节点类型,element是包含在node里的,它的nodeType是1,Document文档对象元素查找,DOM节点关系说明,元素对象操作 阅读全文
posted @ 2021-07-13 21:08 zhoulujun 阅读(180) 评论(0) 推荐(0) 编辑
摘要: DOM是为了操作文档出现的接口,浏览器向我们提供了当前网页的地图或者说模型,而我们可以通过js去读取这张地图对html元素进行查找及修改,BOM主要是处理浏览器窗口和框架,比如操作浏览器历史记录,获取浏览器信息等。 阅读全文
posted @ 2021-07-13 20:45 zhoulujun 阅读(190) 评论(0) 推荐(0) 编辑
摘要: Service Worker可拦截客户端的请 向客户端发送消息 向服务器发起请求等等,其中最重要的作用之一就是离线资源缓存。Service worker是一个注册在指定源和路径下的事件驱动worker。用JavaScript控制关联的页面或者网站并拦截请求 阅读全文
posted @ 2021-07-03 16:55 zhoulujun 阅读(487) 评论(0) 推荐(0) 编辑
摘要: web messaging 跨文档通信(cross-document messaging):跨就是我们国内更为熟知的HTML5 window.postMessage()应用的那种通信; 通道通信(channel messaging): 伴随着server-sent事件以及web sockets, 跨 阅读全文
posted @ 2021-07-03 16:46 zhoulujun 阅读(497) 评论(0) 推荐(0) 编辑
摘要: preload 是一个声明式 fetch,可以强制浏览器在不阻塞 document 的 onload 事件的情况下请求资源。​webpack code-splitting 搭配preload优化单页面应用,可以大幅提示用户的网卡请求等待感知 阅读全文
posted @ 2021-06-26 17:32 zhoulujun 阅读(731) 评论(0) 推荐(0) 编辑
摘要: 本来想标题党:一个组件的自我修养之路。其实就是通过 (Intersection Resize)Observer+getBoundingClientReact去优化图表列表性能,给新手指出其中的注意事项。 阅读全文
posted @ 2021-06-26 17:22 zhoulujun 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 前言: 关于Vue2.x 的TS改造,其实没有啥好说的。 对于vue-cli项目来说,从新跑一遍 vue create xxx-project ,选择Manually select features ,重新选择上typescript 选项即可。或者直接vue add typescript也可。 网上 阅读全文
posted @ 2021-06-25 22:17 zhoulujun 阅读(4040) 评论(0) 推荐(0) 编辑
摘要: 跳频为CDMA Wi-Fi等技术奠定了坚实的基础,被公认为CDMA之母。本文聊跳频技术的发展史时,顺便聊聊跳频技术父母安塞尔 海蒂·拉玛的经历。特别是女神海蒂·拉玛传奇的一生的给吗感叹。 阅读全文
posted @ 2021-02-24 21:49 zhoulujun 阅读(2332) 评论(0) 推荐(1) 编辑
摘要: 通过计算X轴文章渲染的总体宽度与图表容器的宽度,然后自动去调整x轴的显示方案,是才去旋转还是 换行。文字可以正常显示,不做调整。只有横排显示空间不够时,才做调整。 阅读全文
posted @ 2021-01-28 21:54 zhoulujun 阅读(3053) 评论(0) 推荐(0) 编辑
摘要: 想要从​@mixin themeify {@each $theme-name, $theme-map in $themes {……方案转为普通方案如何办,sass变量如何自动转为css变量实现主体 阅读全文
posted @ 2020-12-11 22:58 zhoulujun 阅读(1661) 评论(0) 推荐(0) 编辑
摘要: 在《DarkMode(1):产品应用深色模式分析》提过,单纯反转是不行的。但是,把不需要反转的,在反转过来。或者用js,给想要反转的,加上反转样式,再对其他的做微调。这样个人觉得,开发成本是最低的 @media (prefers-color-scheme: dark) { // one .app{ 阅读全文
posted @ 2020-12-11 22:55 zhoulujun 阅读(610) 评论(0) 推荐(0) 编辑
摘要: 深色模式实现起来有很多种。但是最简易的还是 :not(img) { filter: invert(100%) hue-rotate(180deg); } 最舒服。对于不是很复杂的页面,足够了 阅读全文
posted @ 2020-12-11 22:49 zhoulujun 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 暗黑模式实现,最初的设计,就是参考之前的主题模式。所谓多套主题/配色/皮肤,就是我们很常见的换肤功能。换肤简单的实现就是更换 css实现不同样式呈现不同肤色。 之前做不同颜色的皮肤,暗黑模式可以单做其中的一种黑色暗黑主题。 通用的方法,就是less、sass、post-css,把颜色抽离出变量。然后 阅读全文
posted @ 2020-12-11 22:42 zhoulujun 阅读(1347) 评论(0) 推荐(0) 编辑