可视化学习:利用向量判断多边形边界-编程思维

引言 继续巩固我的可视化学习,向量运算是计算机图形学的基础,本例依旧是向量的一种应用,利用向量判断多边形边界,但是多边形的边界判断稍微有点复杂,所以除了应用向量之外,还需要借助三角剖分的相关工具。这个例子中可视化的展示采用Canvas2D来实现。 问题 假设Canvas画布上存在一个如下多边形: 我们移动鼠标的时候,想要实现一个效果,就是当鼠标移动到多边形内部的时候,将多边形内部的填充颜色更新

浏览器事件循环event loop-编程思维

引言: 事件循环不是浏览器独有的,从字面上看,“循环”可以简单地认为就是重复,比如for循环,就是重复地执行for循环体中的语句,所以事件循环,可以理解为重复地处理事件,那么下一个问题是,处理的是什么事件,事件的相关信息从哪里获取。 因为我没有用nodejs做过什么项目,所以这里我暂且只关注浏览器的事件循环,但我想就“事件循环”本身而言,原理应该是相同的,不过就具体的实现可能存在一些差异。 一道

前端计算数字精度丢失问题解决方法记录-编程思维

在日常一些需求中,总会遇到一些需要前端进行手动计算的场景,那么这里需要优先考虑的则是数字精度问题!具体请看下面截图 如图所示,在JavaScript进行浮点型数据计算当中,会出现计算结果“不正确”的现象。 我们知道浮点型数据类型主要有:单精度float、双精度double。 浮点型简单来说就是表示带有小数的数据,而恰恰小数点可以在相应的二进制的不同位置浮动,可能是因为这样就被定义成浮点型了。(

【vue3响应式原理#02】proxy and reflect-编程思维

专栏分享:vue2源码专栏,vue3源码专栏,vue router源码专栏,玩具项目专栏,硬核💪推荐🙌 欢迎各位ITer关注点赞收藏🌸🌸🌸 背景 以下是柏成根据Vue3官方课程整理的响应式书面文档 - 第二节,课程链接在此:Proxy and Reflect - Vue 3 Reactivity | Vue Mastery 本篇文章将解决 上一篇文章 结尾遗留的问题:如何让代码自动实现响应

使用脚本整合指定文件/文件夹,执行定制化 eslint 命令-编程思维

背景 最近面对一个庞大的项目,但是只需要修改某个模块,每次都手搓命令太麻烦了,于是就想着能不能写个脚本来辅助处理这些事情。 解决方案 定制化一键 ESLint,执行文件下载地址: https://github.com/mazeyqian/go-gin-gee/releases/tag/v1.4.0 基础使用 以下案例以 macOS 为例,其他系统自行替换对应的文件。 案例 1:指定文件 fil

spring boot-编程思维

安装 ffmpeg FFmpeg 下载地址:GitHub releases。请下载:ffmpeg-master-latest-win64-gpl-shared.zip 压缩包。 解压到你系统盘任意位置(前提是你以后找得到这玩意儿在哪)。 接下来就是配置其环境变量,所有的环境变量都是配置它的启动文件的路径到你系统的 Path,基本上都是(也有例外的?)。如 FFmpeg,就是复制其解压路径下的 b

ts/js-编程思维

工具函数 防抖函数和节流函数的区别,可以查看这篇文章,写得比较好:面试官:什么是防抖和节流?有什么区别?如何实现? 防抖(debounce) 通过定时器实现。1 秒内触发了 10 次防抖,定时器是 500ms 执行一次,那么,这防抖函数里面的回调函数只会在 1.5s 之后执行,因为点击的这 10 次,都会清除定时器,导致里面的回调函数没办法执行。 file:[debounce.ts] expo

javascript 将对象转换为数组-编程思维

JavaScript 将对象转换为数组 在 JavaScript 中,你可以使用不同的方法将对象转换为数组,具体取决于对象的结构和你希望在数组中得到什么样的数据。以下是一些常见的方法: Object.keys() 方法: 这种方法将对象的键转换为数组。 const obj = { a: 1, b: 2, c: 3 }; const arr = Object.keys(obj); consol

cloudflare workers部署pixiv图片反代-编程思维

CloudFlare Workers部署Pixiv图片反代 众所周知,pixiv的图片伺服器网域为i.pximg.net,因为有盗连保护,只要Referer是空值或不是来自pixiv的网域就会返回403。今天我就带大家解决这个问题。 通过CF创建服务代理。 CF的官网网址 https://www.cloudflare.com/zh-cn/ 然后邮箱注册一个账号,注册成功后,然后进