<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[syzdev的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/syzdev</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; syzdev]]></copyright><item><title><![CDATA[新系统配置GitHub和Gitee]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/126974785</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/126974785</guid><author>syzdev</author><pubDate>Wed, 21 Sep 2022 16:48:11 +0800</pubDate><description><![CDATA[详细的图文教程，新系统配置GitHub和Gitee]]></description><category></category></item><item><title><![CDATA[Git报错：git@github.com: Permission denied (publickey)]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/126921031</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/126921031</guid><author>syzdev</author><pubDate>Sun, 18 Sep 2022 20:14:05 +0800</pubDate><description><![CDATA[git@github.com: Permission denied (publickey)]]></description><category></category></item><item><title><![CDATA[基于Vue3 + Cesium的简易开发模板]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/126689973</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/126689973</guid><author>syzdev</author><pubDate>Sun, 04 Sep 2022 15:28:19 +0800</pubDate><description><![CDATA[【代码】基于Vue3 + Cesium的简易开发模板。]]></description><category></category></item><item><title><![CDATA[基于Vue2 + Cesium的简易开发模板]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/126689879</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/126689879</guid><author>syzdev</author><pubDate>Sun, 04 Sep 2022 15:25:30 +0800</pubDate><description><![CDATA[【代码】基于Vue2 + Cesium的简易开发模板。]]></description><category></category></item><item><title><![CDATA[空间数据结构(四叉树/八叉树/BVH树/BSP树/k-d树)]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/126406490</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/126406490</guid><author>syzdev</author><pubDate>Sat, 03 Sep 2022 16:03:45 +0800</pubDate><description><![CDATA[一个自定义区域一般是一个凸多边形，然后可通过一些编辑器手动设置好其各顶点位置，最终手工划分出一块凸多边形区域。3D凸多面体一般很少用，即使在要求划分区域属于同一XOZ面不同高度的3D世界里，考虑到性能，可能更适合用凸多边形+高度来划分区域。此外一提，能不用凹多边形就不用。因为许多程序算法都可以应用在凸多边形上，而相对应用于凹多边形上可能行不通或者得用更低效的算法为了达到自定义区域之间的无缝衔接，游戏程序还往往采用图（或者树）结构来存储这些自定义区域，表示它们之间的联系。]]></description><category></category></item><item><title><![CDATA[三维文件格式知多少]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/126336556</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/126336556</guid><author>syzdev</author><pubDate>Sat, 27 Aug 2022 13:54:11 +0800</pubDate><description><![CDATA[三维软件之间互相导入导出一般会涉及到一些格式不兼容的问题，这里就给大家普及一下这些常用的三维文件格式。不同的格式有着不同的定位及用处，有开源的也有商业的。目前很多三维软件之间互导迫在眉睫，无论是使用什么三维软件确保文件能够在多个软件之间链接成为了必须马上解决的事情。...]]></description><category></category></item><item><title><![CDATA[初见物理引擎库Cannon.js：与Cesium的整合]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/126332158</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/126332158</guid><author>syzdev</author><pubDate>Thu, 18 Aug 2022 14:58:10 +0800</pubDate><description><![CDATA[本文是“初见物理引擎库Cannon.js”系列的第四篇文章，在本文中主要讲解Cannon.js和Cesium的整合方法。]]></description><category></category></item><item><title><![CDATA[初见物理引擎库Cannon.js：CannonDebugRenderer的基本使用]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/126264089</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/126264089</guid><author>syzdev</author><pubDate>Sun, 14 Aug 2022 11:47:12 +0800</pubDate><description><![CDATA[能够在Cannon.js的物体表面生成线框，用于对物理场景中的物体进行调试，如下图所示：在Three.js中可以为材质添加wireframe属性，为Meshcolor : 0x00ff00 , wireframe : true , // 材质线框 }) ,不同于Three.js中的材质线框，所绘制的线框是基于Cannon.js物体的。......]]></description><category></category></item><item><title><![CDATA[初见物理引擎库Cannon.js：使用dat.gui修改物体属性]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/126245246</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/126245246</guid><author>syzdev</author><pubDate>Tue, 09 Aug 2022 14:22:34 +0800</pubDate><description><![CDATA[熟悉Three.js的读者肯定对dat.gui不陌生，通过该工具能够创建一个小型的菜单，如下图，在菜单中能够实时的修改一些变量或执行一些操作：在Three.js官方案例中，也大量的使用了此类工具，如，如下图：只不过官方使用的是lil-gui，而不是dat.gui，两者实现的功能和使用方式类似，本文仅讲解dat.gui。...............]]></description><category></category></item><item><title><![CDATA[初见物理引擎库Cannon.js：基本使用]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/126157124</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/126157124</guid><author>syzdev</author><pubDate>Thu, 04 Aug 2022 14:15:34 +0800</pubDate><description><![CDATA[物理引擎库Cannon.js的基本使用方法]]></description><category></category></item><item><title><![CDATA[图解WebGL&Three.js工作原理]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/126120023</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/126120023</guid><author>syzdev</author><pubDate>Tue, 02 Aug 2022 13:00:26 +0800</pubDate><description><![CDATA[图解WebGL&Three.js工作原理]]></description><category></category></item><item><title><![CDATA[This beta version of Typora is expired,please download and install a newer version.]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/125818443</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/125818443</guid><author>syzdev</author><pubDate>Sat, 16 Jul 2022 13:12:07 +0800</pubDate><description><![CDATA[开源的Markdown编辑器：MarkText]]></description><category></category></item><item><title><![CDATA[跨域的原理和处理跨域的常用方法]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/124384965</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/124384965</guid><author>syzdev</author><pubDate>Sun, 24 Apr 2022 16:11:20 +0800</pubDate><description><![CDATA[1 浏览器同源策略
1.1 同源策略简介
同源策略是浏览器的一个重要的安全策略，它用于限制一个源与另外一个源之间的交互，它能帮助阻隔恶意脚本，减少隐私泄露和网络攻击等风险。
1.2 源（Origin）
通常把访问Web中内容的地址就叫源（Origin），具体来说就是访问一个内容的URL，在URL中必须指明协议、主机域名和端口。
一个URL可能包含协议、主机域名、端口、目录、文件名、查询参数和锚点这些部分，以下面URL为例：
https://syzdev.cn:443/news/index.html?cate]]></description><category></category></item><item><title><![CDATA[AJAX基础]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/124045716</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/124045716</guid><author>syzdev</author><pubDate>Fri, 08 Apr 2022 16:56:57 +0800</pubDate><description><![CDATA[1 AJAX简介
Ajax = Asynchronous Javascript And XML，即异步JavaScript和XML，它最大的特点就是能够在网页不刷新的情况下向服务端发送HTTP请求，然后得到HTTP响应。AJAX不是新的编程语言，而是一种将现有的标准组合在一起使用的新方式。
1.1 AJAX的优点

可以无需刷新页面与服务器进行交互
运行根据用户事件来更新部分页面内容

1.2 AJAX的缺点

没有浏览历史，不能回退
存在跨域问题
SEO问题

2 XML简介
之所以在AJAX中提到XML]]></description><category></category></item><item><title><![CDATA[JavaScript原型与原型链（总结篇）]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/123986987</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/123986987</guid><author>syzdev</author><pubDate>Wed, 06 Apr 2022 12:26:19 +0800</pubDate><description><![CDATA[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) // true


2 构造函数属性constructor
constructor属性用于通过实例对象或原型获取其构造函数：
funct]]></description><category></category></item><item><title><![CDATA[JavaScript原型与原型链（进阶篇）]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/123968380</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/123968380</guid><author>syzdev</author><pubDate>Tue, 05 Apr 2022 13:53:15 +0800</pubDate><description><![CDATA[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) // true
console.log(kat instanceof Object) // true

在这个例子中，由]]></description><category></category></item><item><title><![CDATA[JavaScript原型与原型链（基础篇）]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/123922886</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/123922886</guid><author>syzdev</author><pubDate>Sat, 02 Apr 2022 16:16:02 +0800</pubDate><description><![CDATA[0 前言
原型机制一直都是JavaScript的核心之一，网上有人说理解了原型机制，也就理解了JavaScript的一半精髓了。网络上关于原型的文章大多数都是围绕着“原型是什么？”“原型如何使用？”这两大核心问题的，但是对于JavaScript初学者，尤其是有C++或Java基础的JavaScript初学者来讲，很难理解另一种非类（class）的继承机制，出于这个问题，本文从语言设计者的角度，由浅入深、循序渐进的介绍JavaScript的继承机制，并引入原型的概念，希望对初学者有所帮助。
注意：了解ES6的]]></description><category></category></item><item><title><![CDATA[浏览器Cookie详解]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/123895943</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/123895943</guid><author>syzdev</author><pubDate>Fri, 01 Apr 2022 13:54:07 +0800</pubDate><description><![CDATA[1 Cookie是什么

参考：HTTP cookies - MDN

HTTP Cookie（也叫 Web Cookie 或浏览器 Cookie）是服务器发送到用户浏览器并保存在本地的一小块数据（一般为4KB），它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常，它用于告知服务端两个请求是否来自同一浏览器，如保持用户的登录状态。Cookie 使基于无状态的HTTP协议记录稳定的状态信息成为了可能。
2 Cookie产生的背景
Cookie的诞生是为了弥补HTTP无状态的缺点，所谓无状态，]]></description><category></category></item><item><title><![CDATA[图解CSS伪类和伪元素]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/123870492</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/123870492</guid><author>syzdev</author><pubDate>Thu, 31 Mar 2022 14:10:15 +0800</pubDate><description><![CDATA[1 简介
伪类和伪元素都属于CSS选择器的附加关键字，在形式上，用单冒号:表示伪类，用双冒号::表示伪元素，如：
// 伪类
div:hover {
  
}

// 伪元素
div::after {
  
}


注意：由于历史遗留问题，伪元素div::after和div:after两种写法在大部分浏览器下是等同的，不过按照规范，应当使用单冒号:用于表示伪类，双冒号::用于表示伪元素，以便区分伪类和伪元素。

2 伪类
伪类用于表示元素的某种状态，主要有操作状态，选择器状态以及表单状态几种，本文主要介绍操]]></description><category></category></item><item><title><![CDATA[图解CSS选择器状态伪类]]></title><link>https://blog.youkuaiyun.com/syzdev/article/details/123844056</link><guid>https://blog.youkuaiyun.com/syzdev/article/details/123844056</guid><author>syzdev</author><pubDate>Wed, 30 Mar 2022 13:55:51 +0800</pubDate><description><![CDATA[1 本文简介
在CSS伪类中，主要分为操作状态伪类、选择器状态伪类和表单状态伪类几种，本文要介绍的选择器状态伪类在规范中大概有十几种，本文仅介绍常见的类型，即与type有关的选择器状态伪类和与child有关的选择器状态伪类两种。
2 选择器状态伪类
2.1 type相关

element:first-of-type：选择父元素下的第一个类型为element的元素。如下面例子中span:first-of-type会匹配所有拥有子元素span的父元素，并忽略父元素中的非span元素，再匹配各个父元素中的第一个s]]></description><category></category></item></channel></rss>