自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(152)
  • 收藏
  • 关注

原创 新系统配置GitHub和Gitee

详细的图文教程,新系统配置GitHub和Gitee

2022-09-21 16:48:11 900 1

原创 Git报错:[email protected]: Permission denied (publickey)

[email protected]: Permission denied (publickey)

2022-09-18 20:14:05 9455 2

原创 基于Vue3 + Cesium的简易开发模板

【代码】基于Vue3 + Cesium的简易开发模板。

2022-09-04 15:28:19 978 1

原创 基于Vue2 + Cesium的简易开发模板

【代码】基于Vue2 + Cesium的简易开发模板。

2022-09-04 15:25:30 664 5

转载 空间数据结构(四叉树/八叉树/BVH树/BSP树/k-d树)

一个自定义区域一般是一个凸多边形,然后可通过一些编辑器手动设置好其各顶点位置,最终手工划分出一块凸多边形区域。3D凸多面体一般很少用,即使在要求划分区域属于同一XOZ面不同高度的3D世界里,考虑到性能,可能更适合用凸多边形+高度来划分区域。此外一提,能不用凹多边形就不用。因为许多程序算法都可以应用在凸多边形上,而相对应用于凹多边形上可能行不通或者得用更低效的算法为了达到自定义区域之间的无缝衔接,游戏程序还往往采用图(或者树)结构来存储这些自定义区域,表示它们之间的联系。

2022-09-03 16:03:45 5411 1

转载 三维文件格式知多少

三维软件之间互相导入导出一般会涉及到一些格式不兼容的问题,这里就给大家普及一下这些常用的三维文件格式。不同的格式有着不同的定位及用处,有开源的也有商业的。目前很多三维软件之间互导迫在眉睫,无论是使用什么三维软件确保文件能够在多个软件之间链接成为了必须马上解决的事情。...

2022-08-27 13:54:11 725

原创 初见物理引擎库Cannon.js:与Cesium的整合

本文是“初见物理引擎库Cannon.js”系列的第四篇文章,在本文中主要讲解Cannon.js和Cesium的整合方法。

2022-08-18 14:58:10 1031

原创 初见物理引擎库Cannon.js:CannonDebugRenderer的基本使用

能够在Cannon.js的物体表面生成线框,用于对物理场景中的物体进行调试,如下图所示:在Three.js中可以为材质添加wireframe属性,为Meshcolor : 0x00ff00 , wireframe : true , // 材质线框 }) ,不同于Three.js中的材质线框,所绘制的线框是基于Cannon.js物体的。......

2022-08-14 11:47:12 906

原创 初见物理引擎库Cannon.js:使用dat.gui修改物体属性

熟悉Three.js的读者肯定对dat.gui不陌生,通过该工具能够创建一个小型的菜单,如下图,在菜单中能够实时的修改一些变量或执行一些操作:在Three.js官方案例中,也大量的使用了此类工具,如,如下图:只不过官方使用的是lil-gui,而不是dat.gui,两者实现的功能和使用方式类似,本文仅讲解dat.gui。...............

2022-08-09 14:22:34 880

原创 初见物理引擎库Cannon.js:基本使用

物理引擎库Cannon.js的基本使用方法

2022-08-04 14:15:34 10558 7

转载 图解WebGL&Three.js工作原理

图解WebGL&Three.js工作原理

2022-08-02 13:00:26 259

原创 This beta version of Typora is expired,please download and install a newer version.

开源的Markdown编辑器:MarkText

2022-07-16 13:12:07 2462 2

原创 跨域的原理和处理跨域的常用方法

1 浏览器同源策略1.1 同源策略简介同源策略是浏览器的一个重要的安全策略,它用于限制一个源与另外一个源之间的交互,它能帮助阻隔恶意脚本,减少隐私泄露和网络攻击等风险。1.2 源(Origin)通常把访问Web中内容的地址就叫源(Origin),具体来说就是访问一个内容的URL,在URL中必须指明协议、主机域名和端口。一个URL可能包含协议、主机域名、端口、目录、文件名、查询参数和锚点这些部分,以下面URL为例:https://syzdev.cn:443/news/index.html?cate

2022-04-24 16:11:20 2869

原创 AJAX基础

1 AJAX简介Ajax = Asynchronous Javascript And XML,即异步JavaScript和XML,它最大的特点就是能够在网页不刷新的情况下向服务端发送HTTP请求,然后得到HTTP响应。AJAX不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式。1.1 AJAX的优点可以无需刷新页面与服务器进行交互运行根据用户事件来更新部分页面内容1.2 AJAX的缺点没有浏览历史,不能回退存在跨域问题SEO问题2 XML简介之所以在AJAX中提到XML

2022-04-08 16:56:57 1083

原创 JavaScript原型与原型链(总结篇)

1 构造函数和实例对象构造函数的prototype属性为其实例化对象的原型__proto__:function Cat(name, age) { this.name = name this.age = age}const kat = new Cat('kat', 2)console.log(kat.__proto__ === Cat.prototype) // true2 构造函数属性constructorconstructor属性用于通过实例对象或原型获取其构造函数:funct

2022-04-06 12:26:19 1063

原创 JavaScript原型与原型链(进阶篇)

1 intanceof运算符instanceof运算符用于判断构造函数的prototype属性是否出现在对象的原型链中,使用方法如下:function Cat(name, age) { this.name = name this.age = age}const kat = new Cat('kat', 2)console.log(kat instanceof Cat) // trueconsole.log(kat instanceof Object) // true在这个例子中,由

2022-04-05 13:53:15 574

原创 JavaScript原型与原型链(基础篇)

0 前言原型机制一直都是JavaScript的核心之一,网上有人说理解了原型机制,也就理解了JavaScript的一半精髓了。网络上关于原型的文章大多数都是围绕着“原型是什么?”“原型如何使用?”这两大核心问题的,但是对于JavaScript初学者,尤其是有C++或Java基础的JavaScript初学者来讲,很难理解另一种非类(class)的继承机制,出于这个问题,本文从语言设计者的角度,由浅入深、循序渐进的介绍JavaScript的继承机制,并引入原型的概念,希望对初学者有所帮助。注意:了解ES6的

2022-04-02 16:16:02 1611 1

原创 浏览器Cookie详解

1 Cookie是什么参考:HTTP cookies - MDNHTTP Cookie(也叫 Web Cookie 或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据(一般为4KB),它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie 使基于无状态的HTTP协议记录稳定的状态信息成为了可能。2 Cookie产生的背景Cookie的诞生是为了弥补HTTP无状态的缺点,所谓无状态,

2022-04-01 13:54:07 3591

原创 图解CSS伪类和伪元素

1 简介伪类和伪元素都属于CSS选择器的附加关键字,在形式上,用单冒号:表示伪类,用双冒号::表示伪元素,如:// 伪类div:hover { }// 伪元素div::after { }注意:由于历史遗留问题,伪元素div::after和div:after两种写法在大部分浏览器下是等同的,不过按照规范,应当使用单冒号:用于表示伪类,双冒号::用于表示伪元素,以便区分伪类和伪元素。2 伪类伪类用于表示元素的某种状态,主要有操作状态,选择器状态以及表单状态几种,本文主要介绍操

2022-03-31 14:10:15 1911

原创 图解CSS选择器状态伪类

1 本文简介在CSS伪类中,主要分为操作状态伪类、选择器状态伪类和表单状态伪类几种,本文要介绍的选择器状态伪类在规范中大概有十几种,本文仅介绍常见的类型,即与type有关的选择器状态伪类和与child有关的选择器状态伪类两种。2 选择器状态伪类2.1 type相关element:first-of-type:选择父元素下的第一个类型为element的元素。如下面例子中span:first-of-type会匹配所有拥有子元素span的父元素,并忽略父元素中的非span元素,再匹配各个父元素中的第一个s

2022-03-30 13:55:51 1052

原创 Emmet语法总结

1 Emmet简介Emmet一个Web开发工具,用于加快HTML和CSS代码的编写速度。使用Emmet能够通过简短的表达式生成HTML或CSS代码片段。另外,截至2022年,主流的编辑器工具如Visual Studio Code、WebStorm都已经集成了Emmet工具,无需手动安装即可使用。如在Visual Studio Code中新建index.html,输入div,可以看到Emmet Abbreviation说明这是一个Emmet语法规则,如下图所示:此时点击Emmet Abbreviati

2022-03-29 17:54:17 12551 5

原创 常见CSS单位总结

0 前言在CSS中,单位分为相对单位和绝对单位两种:相对单位:元素大小参照另一个对象的大小来决定;绝对单位:元素大小是所设定的固定的绝对值。1 相对单位CSS中的相对单位主要分为两大类:字体相对单位:与font-size属性有关的单位,常见的字体相对单位有em和rem;浏览器窗口相对单位:与浏览器窗口大小有关的单位,常见的浏览器窗口相对单位有vw、vh、vmax和vmin。1.1 emem(Element meter)是一个相对单位,它有如下特点:em参照的对象是其父元素的fo

2022-03-28 13:02:41 2426 2

原创 图解CSS定位

1 前言1.1 定位的背景在CSS中,元素放置规则分为以下三种:普通文档流:元素按照从上至下,从左至右的顺序排列,但元素又分行内元素和块级元素,其排列方式有所不同:行内元素:水平排列,直到水平方向占满一行后再另起一行排列。块级元素:垂直排列,每一个块级元素都会独自占用一行。浮动流:设置浮动的元素会向左或向右浮动,直到碰到父级元素或其他浮动的元素,需要注意的是,设置浮动的元素只是半脱离文档流。脱离文档的定位流:当定位设置为absolute绝对定位或fixed固定定位时,元素会完全脱离文档

2022-03-27 13:12:46 1001

原创 图解flex布局

说明:本文在内容结构部分引用自阮一峰-Flex 布局教程,但大部分内容做了修改和补充,并且重绘了所有图例。1 什么是flex布局?flex是flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。任意容器都可以定义为flex布局:display: flex;还有一种方式为display: inline-flex; 可以给行内元素添加flex布局,inline-flex和inline-block一样,对内部元素来说是个display: flex 的容器,对外部元素来说.

2022-03-26 15:18:43 1046 1

原创 JavaScript数组方法大全解

0 前言本文只讲解标准化方法,而不会讲解实验性方法,如at()、groupBy()、groupByMap()和toSource()。数组中的部分方法需要提供区间范围begin/start和end,所有含有这类范围的方法,其区间都遵循左闭右开原则,如(1,4),在数学上可以理解为[1,4)。部分数组方法会改变原数组,这一点一定要注意。1 是否改变原数组1.1 改变原数组的方法填充与复制方法:fill()、copeWithin();栈方法:pop()、push();队列方法:shift()

2022-03-25 14:56:22 1632 3

原创 JavaScript中this的五种绑定方式详解

1 this的五种绑定方式1.1 默认绑定默认绑定是指当函数调用时,没有为其指定对象上下文,此时会将该函数的this绑定到全局对象(window对象)。自ES5有了严格模式之后,默认绑定方式又分为非严格模式的默认绑定和严格模式的默认绑定。1.1.1 非严格模式在非严格模式下,函数的默认绑定只能绑定到全局对象window,见下面例子:var myName = 'syzdev' // 相当于 window.myName = 'syzdev'function sayName() { // 这里的

2022-03-22 20:17:38 2208

原创 CSS层叠上下文、层叠顺序和层叠等级

0 前言在讨论层叠上下文和层叠顺序之前先举个例子,创建两个box,其中红色box长200px宽400px,蓝色box长400px宽200px: <div class="box"> <div class="blue-box"></div> </div> <div class="box"> <div class="red-box"></div> </div>.box { po

2022-03-19 16:18:27 2638

原创 CSS中的BFC机制

1 什么是BFC块格式化上下文BFC(Block Formatting Context,BFC) 是Web页面的可视CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。以上内容摘自MDN,其实通俗来讲BFC就是一个独立的布局环境,BFC中的元素布局不受外部元素的影响,也不会影响到外部元素。2 如何触发BFC其实在日常开发中经常会主动触发BFC:给元素设置浮动(float: left | right)给元素设置脱离文档流的定位(position: absolute

2022-03-17 14:50:53 2224

原创 CSS浮动和清除浮动

1 浮动简介CSS浮动是指浮动元素会脱离“文档流”并向左或向右浮动,允许文本和内联元素环绕它,直到碰到父元素或者另一个浮动元素。需要注意的是,在CSS定位中absolute绝对定位以及fixed固定定位属于完全脱离文档流,其位置即不受其他元素影响,也不会影响到其他元素。而CSS浮动属于半脱离文档流,因为文本和内联元素会环绕浮动元素,这个也是float浮动属性被设计出来的初衷。下面举个具体的例子,代码如下:.content { border: 5px solid pink; border-ra

2022-03-15 13:20:06 1777 1

原创 github报错“remote: Support for password authentication was removed on August 13, 2021. Please use a p”

1 报错原因remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.根据提示,错误的原因是“对密码(password)身份验证的支持已于2021年8月13日删除。请改用个人访问令牌(token)。”这个是8月13日的变更,具体原因也不太清楚,下面是我自己摸索出来的解决办法,仅供参考。2 解决方法打开github的To

2021-08-14 19:01:18 5878 2

原创 npm镜像源的查看和切换

1 镜像源的切换全局切换镜像源:npm config set registry [http://registry.npm.taobao.org](http://registry.npm.taobao.org)查看镜像源使用状态:npm get registry全局切换官方镜像源:npm config set registry [http://www.npmjs.org](http://www.npmjs.org)2 使用nrm切换镜像源下载 nrm:npm install -g nrm查看

2021-08-14 17:22:53 13153

原创 注册天地图Token教程

1 获取天地图Token进入天地图官网,打开“天地图应用开发许可升级说明”,使用天地图服务,也是要申请 Token 的,接下来注册天地图账号,打开注册页面,根据提示注册即可,注册完成后点击右上角的“控制台”:点击右上角的“创建新应用”,由于天地图系统对 Token 严格区分,所以我们就在“应用类型”里选择“浏览器端”。2 使用天地图Token创建成功后,复制 Token,接下来在 Cesium 中加载天地图服务,在第10行的 url 中,将末尾的“你的Token”更换为你自己刚刚创建的 Toke

2021-08-11 12:29:49 4642

原创 解决Cesium无法加载出地球的问题

如图只看得到星空,看不到地球:界面下方的文本:This application is using Cesium’s default ion access token. Please assign Cesium.Ion.defaultAccessToken with an access token from your ion account before making any Cesium API calls. You can sign up for a free ion account at https

2021-08-10 12:48:32 11299 18

原创 Express基础

1 简介Express是一个基于Node平台的web应用开发框架,它提供了一系列的强大特性用来创建各种Web应用。提供了方便简洁的路由定义方式;对获取HTTP请求参数进行了简化处理;对模板引擎支持程度高,方便渲染动态HTML页面;提供了中间件机制有效控制HTTP请求;拥有大量第三方中间件对功能进行扩展。可以使用 npm install express 命令安装Express,安装后包含两个文件夹:node_modules:包含所有依赖包;package-lock.json:

2021-08-09 11:07:20 148

原创 01-Vue博客后台管理页面框架搭建

目录0 项目开源地址1 效果图2 开发过程2.1 Element UI 安装2.2 Element UI 官方示例2.2 解决侧栏菜单没对齐问题2.3 给侧栏菜单添加路由功能2.4 侧栏菜单折叠展开功能0 项目开源地址???? syzdev / vv-blog1 效果图2 开发过程2.1 Element UI 安装假设项目已经通过脚手架创建,名为admin:进入admin目录下,输入命令vue add element选择引入方式,全局或按需都可以(第一次使用建议全局引入)选择简体中文

2021-04-07 13:44:09 563

原创 00-基于Vue的博客项目展示

目录0 项目开源地址1 博客页面展示1.1 首页1.2 文章页2 后台管理页面展示2.1 登录页面2.2 新建文章-Markdown编辑器2.3 新建文章-富文本编辑器2.4 文章列表2.5 文章预览2.6 文章分类列表2.7 新手引导0 项目开源地址???? syzdev / vv-blog1 博客页面展示1.1 首页1.2 文章页2 后台管理页面展示2.1 登录页面2.2 新建文章-Markdown编辑器2.3 新建文章-富文本编辑器2.4 文章列表2.5 文章预览

2021-04-06 14:06:09 395

原创 解决vue-awesome-swiper中swiper/css/swiper.css无法导入问题

0 文章太长懒得看将语句:import 'swiper/css/swiper.css'修改为:import 'swiper/swiper-bundle.css'1 出错原因报错提示为 * swiper/css/swiper.css in ./src/main.js … :可以发现是css的引用出了问题。vue-awesome-swiper 中的Global Registration写道:// import styleimport 'swiper/css/swiper.css'这是Swi

2021-02-19 16:11:08 8300 6

原创 解决前后端base64编码传递时的中文乱码问题

1 前端JavaScript加密window.btoa(unescape(encodeURIComponent(str)))2 后端Java解密String decode = new String(Base64.getDecoder().decode(str), StandardCharsets.UTF_8);

2020-10-20 19:27:31 2400

原创 MD5算法实现原理

目录1 MD5 简介2 MD5 实现步骤2.1 将明文变为 ASCII 码2.2 填充和附加2.3 分组2.4 预处理2.5 循环加工3 blueimp-md5 源码4 遗留的问题4.1 四个非线性函数4.2 左循环偏移量4.3 正弦补充值5 总结1 MD5 简介信息摘要算法 MD5 (Message Digest 5),其中数字 5 代表这是第五代算法,之前还有 MD1、MD2、MD3 和 ...

2020-04-16 21:12:16 1430

原创 计算机网络中常见的名词缩写

Tips:推荐使用 Ctrl + F 搜索。1 计算机网络概述ISP互联网服务提供者 ISP (Internet Service Provider),任何机构和个人只要向某个 ISP 交纳规定的费用,就可从该 ISP 获取所需 IP 地址的使用权,并可通过该 ISP 接入到互联网。在国内常见的 ISP 有中国电信、中国移动、中国联通、中国铁通、中国长城互联网等。WWW互联网的迅猛发展...

2020-04-16 15:12:49 24023 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除