<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[PeZXO的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/PeZXO</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; PeZXO]]></copyright><item><title><![CDATA[指针指针]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/109671670</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/109671670</guid><author>PeZXO</author><pubDate>Fri, 13 Nov 2020 11:33:45 +0800</pubDate><description><![CDATA[指针指针
C 语言是最常使用指针的语言之一，我们在初学 C 语言时可能就会因为指针这个概念而头疼，我在这里将重述指针在 C 语言里的作用及使用过程。
尽管其它高级语言中可能并没有明显地使用指针的痕迹，但实际上指针仍然蕴含在那些高级语言的细微之处，可以说涉及到对地址的引用操作离不开指针的概念。
指针的定义

在计算机科学中，指针（英语：Pointer），是编程语言中的一类数据类型及其对象或变量，用来表示或存储一个存储器地址，这个地址的值直接指向（points to）存在该地址的对象的值。 ——维基百科

在1]]></description><category></category></item><item><title><![CDATA[CSS预处理器——sass教程（3）]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/107346215</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/107346215</guid><author>PeZXO</author><pubDate>Tue, 14 Jul 2020 19:59:29 +0800</pubDate><description><![CDATA[CSS预处理器——sass教程（3）sass 函数化sass的数值类型数值计算颜色值运算变量运算sass 的控制命令@if@for循环@while循环@each函数功能字符串函数unquote($string)quote函数to-upper-case函数、to-lower-case函数数字函数percentage函数round函数、ceil函数、floor函数、abs函数min函数、max函数random()函数列表函数length函数nth函数join函数zip函数index函数comparable函数M]]></description><category></category></item><item><title><![CDATA[CSS预处理器——sass教程（2）]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/107282235</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/107282235</guid><author>PeZXO</author><pubDate>Sat, 11 Jul 2020 11:31:44 +0800</pubDate><description><![CDATA[CSS预处理器——sass教程（2）sass 的基本使用普通变量与默认变量注释全局变量与局部变量选择器嵌套属性嵌套伪类嵌套混合宏声明混合宏调用混合宏继承占位符插值语法#{}
sass 的基本使用
普通变量与默认变量
我们在之前的内容里提到过，我们使用$符号来声明 sass 中的变量，后设置的变量值会覆盖前设置的变量值，例：
//demo1.scss
$boxWidth:100px;
$boxWidth:200px;
div{
  width: $boxWidth;
}

编译结果：
div {
  widt]]></description><category></category></item><item><title><![CDATA[css预处理器——sass教程（1）]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/107200506</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/107200506</guid><author>PeZXO</author><pubDate>Wed, 08 Jul 2020 10:48:48 +0800</pubDate><description><![CDATA[sass教程（1）sass初识及安装（windows10环境）CSS预处理器sass两种不同的语法sass的安装sass 的语法格式及编译sass 的语法格式sass的编译使用命令行编译使用插件编译（推荐做法）VS code 编译 sass 的插件Webstorm 下编译 sass使用 含 GUI 页面的编译软件
sass初识及安装（windows10环境）
CSS预处理器
对前端有一定了解的读者应当会知道 CSS（层叠样式表），然而 CSS 对开发者是非常不友好的，为了能让开发更加快捷、准确及容易维护，C]]></description><category></category></item><item><title><![CDATA[JavaScript闭包]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/107116171</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/107116171</guid><author>PeZXO</author><pubDate>Fri, 03 Jul 2020 21:59:51 +0800</pubDate><description><![CDATA[Javascript闭包JavaScript闭包作用域作用域遮蔽闭包setTimeout与for循环的经典案例利用函数作用域块级作用域与let
JavaScript闭包
闭包是JavaScript中的重要内容，官方的定义为：函数和对其周围状态（lexical environment，词法环境）的引用捆绑在一起构成闭包（closure）。也就是说，闭包可以让你从内部函数访问外部函数作用域。在 JavaScript 中，每当函数被创建，就会在函数生成时生成闭包，块级作用域也会生成闭包。
如上所述，闭包是与作用域]]></description><category></category></item><item><title><![CDATA[HTML极简入门学习]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/106786644</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/106786644</guid><author>PeZXO</author><pubDate>Tue, 16 Jun 2020 14:57:43 +0800</pubDate><description><![CDATA[HTML入门学习前言Web诞生Internet起源发展WWW（万维网）Web开发介绍前端开发后端开发Web开发的标准HTMLCSSJavaScript开发工具HTML发展史HTML概念HTML历史XHTML`XHTML`与`HTML`的区别HTML语义化语义化 优势HTML初识HTML标签单标签双标签元素属性一个简单的页面HTML常用标签基本结构标题标签段落标签div标签与span标签链接图片标签列表有序列表无序列表自定义列表表格表格属性表单input的相关属性input的type属性用途数字输入框密码输入]]></description><category></category></item><item><title><![CDATA[TensorFlow学习——张量运算]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/106558063</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/106558063</guid><author>PeZXO</author><pubDate>Thu, 04 Jun 2020 21:00:11 +0800</pubDate><description><![CDATA[张量运算
加减乘除四则运算




算术操作
描述




tf.add(x,y)
将x和y逐元素相加


tf.subtract(x,y)
将x和y逐元素相减


tf.multiply(x,y)
将x和y逐元素相乘


tf.divide(x,y)
将x和y逐元素相除


tf.math.mod(x,y)
将x逐元素求余


逐元素操作是指把x中的每一个元素与y中的每一个元素逐个地进行运算，但是实际上是可以用数学符号+-/*%去代替的。例：
# 逐元素相加
a = tf.constant([1, 2, ]]></description><category></category></item><item><title><![CDATA[tensorflow学习——张量的相关操作]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/106501892</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/106501892</guid><author>PeZXO</author><pubDate>Tue, 02 Jun 2020 18:04:21 +0800</pubDate><description><![CDATA[张量操作张量相关操作维度变换改变张量形状多维张量的轴增加维度删除维度交换维度拼接张量分割张量堆叠张量分解张量部分采样索引和切片数据提取
张量相关操作
多维张量在物理上以一维的方式连续存储，通过定义维度和形状，在逻辑上把它理解为多维张量。（对于多维数组也同样适用）
维度变换
改变张量形状
使用tf.reshape改变张量的形状，语法格式：
tf.reshape(tensor,shape)

例，将一维张量转换成三维张量：
a = tf.range(24)
print(a)
print(tf.reshape(a]]></description><category></category></item><item><title><![CDATA[TensorFlow之张量创建]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/106462816</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/106462816</guid><author>PeZXO</author><pubDate>Sun, 31 May 2020 22:30:44 +0800</pubDate><description><![CDATA[张量
tensorflow中的基本数据是tensor（张量），可以看作是多维数组或列表类型。
张量的创建
使用tf.constant()创建张量，tf.constant()的语法格式为：
tf.constant(value,dtype,shape)

value用来指定数据，dtype用来显式地声明数据类型，shape用来指定数据的形状，
例如，要生成一个两行三列全为类型int32的数字2的张量，可以使用以下代码：
import tensorflow as tf
a = tf.constant(3,dtyp]]></description><category></category></item><item><title><![CDATA[TensorFlow2.x的安装]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/106399117</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/106399117</guid><author>PeZXO</author><pubDate>Thu, 28 May 2020 10:54:05 +0800</pubDate><description><![CDATA[包含Anaconda的安装，conda的换源与pip的换源等问题。]]></description><category></category></item><item><title><![CDATA[《css揭秘》笔记（十三），染色效果]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/106350522</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/106350522</guid><author>PeZXO</author><pubDate>Tue, 26 May 2020 10:54:26 +0800</pubDate><description><![CDATA[染色效果
染色效果，为一幅灰度图片（或是被转换为灰度模式的彩色图片）添加染色效果，可以为不同风格的额照片带来视觉上的一致性。
基于滤镜的解决方案
sepia()，降低饱和度的橙黄色染色效果，几乎像素的色相值会被收敛到35~40.
使用saturate()滤镜可以给像素提升饱和度，具体饱和度取决于实际情况。
hue-rotate滤镜可以为每个像素的色相以指定度数进行偏移。

.box1{
  filter: sepia(1) saturate(3) hue-rotate(290deg);
}

&lt;div]]></description><category></category></item><item><title><![CDATA[《css揭秘》笔记（十二），投影效果]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/106328640</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/106328640</guid><author>PeZXO</author><pubDate>Mon, 25 May 2020 11:04:59 +0800</pubDate><description><![CDATA[投影效果单侧投影邻边投影双侧投影不规则投影解决方案
单侧投影
box-shadow是一个能为容器产生阴影效果的属性，它含有四个属性，例：
box-shadow: 2px 2px 4px rgba(0,0,0,.5);

我们可以通过以下步骤来理解这个属性生成阴影效果的原理：


以容器位置及大小作为模板再生成一个颜色为rgba(0,0,0,.5)并与容器相同大小的元素，


这个新生成的元素向右移动2px，再向下生成2px，


这里我们设置了一个4px的模糊半径，此时就会以四个方向，每个方向的阴影边缘线（]]></description><category></category></item><item><title><![CDATA[《css揭秘》笔记（十一）， 简单饼图效果]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/106273611</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/106273611</guid><author>PeZXO</author><pubDate>Fri, 22 May 2020 09:51:45 +0800</pubDate><description><![CDATA[简单饼图效果
基于transform的解决方案
这个方案在结构层面是最佳的选择：它只需要一个元素作为容器，而其他部分是由伪元素、变形属性和css渐变来实现的。
假设我们目前需要一个简单的饼图，其展示的比率是固定的20%，首先把这个元素设置为一个圆形，以它为背景。然后使用棕色来显示比率。
把圆形的左右两部分指定为上述两种颜色，然后用伪元素覆盖上去，通过旋转决定露出多大的扇区。
.box1{
  width: 100px;
  height: 100px;
  border-radius: 50%;
  bac]]></description><category></category></item><item><title><![CDATA[《CSS揭秘》笔记（十）， 梯形效果]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/106247268</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/106247268</guid><author>PeZXO</author><pubDate>Wed, 20 May 2020 23:55:28 +0800</pubDate><description><![CDATA[《CSS揭秘》笔记（十）梯形效果3D旋转模拟
梯形效果
3D旋转模拟
并没有一组2D变形属性能生成一个梯形，但是我们可以利用透视关系在css中用3D旋转来模拟出这个效果：
.box1{
  width: 100px;
  height: 50px;
  margin: 20px;
  background-color: #58a;
  transform: perspective(.5em) rotateX(5deg);
}


但是如图所示，它依然有瑕疵，容器中的文字也跟着变形了。然而，与2D图形不同的是]]></description><category></category></item><item><title><![CDATA[《css揭秘》笔记（九），切角效果]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/106218077</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/106218077</guid><author>PeZXO</author><pubDate>Tue, 19 May 2020 16:53:57 +0800</pubDate><description><![CDATA[切角效果切角效果普通切角弧形切角裁切路径方案
切角效果
普通切角
假设我们只需要一个角被切掉的效果，以右下角为例。渐变可以接受一个角度（45deg）作为方向，而且色标的位置信息可以是绝对的长度值。因而我们可以用一个线性渐变就能完成右下角被切掉的效果，只需要把一个透明色标放在切角处。
.box1{
  width:200px;
  height: 100px;
  background: 
    linear-gradient(45deg, transparent 15px, #58a 0);
}


现在]]></description><category></category></item><item><title><![CDATA[《css揭秘》笔记（八），平行四边形和菱形的生成]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/106197868</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/106197868</guid><author>PeZXO</author><pubDate>Mon, 18 May 2020 17:45:42 +0800</pubDate><description><![CDATA[《css揭秘》笔记（八）平行四边形嵌套元素方案伪元素方案菱形基于变形的方案裁切路径方案
平行四边形
我们可以使用skew()的变形属性来对矩形进行斜向拉伸。
.box1{
  width: 100px;
  height: 50px;
  margin: 20px;

  background-color: #0ffcc0;
  transform: skewX(45deg);
}


但是这会导致它的内部内容也会发生倾斜：
&lt;div class="box1"&gt;HELLO&lt;/div&gt;]]></description><category></category></item><item><title><![CDATA[《css揭秘》笔记（七）， 各种各样的椭圆]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/106183471</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/106183471</guid><author>PeZXO</author><pubDate>Sun, 17 May 2020 23:21:52 +0800</pubDate><description><![CDATA[椭圆椭圆自适应的椭圆半椭圆四分之一椭圆
椭圆
自适应的椭圆
为任何正方形元素设置一个足够大的border-radius，就可以把它变成一个圆：
background: #fb3;
width: 200px;
height: 200px;
border-radius: 100px;

border-radius指定了我们要得到的圆的半径，但是这一数值在大于一半容器大小的情况下，依然会得到一个圆。
然而我们更希望它能根据其内容自动调整并适应。在这个案例中，我们希望得到一个能依据宽高变形为椭圆或圆的自适应圆。
b]]></description><category></category></item><item><title><![CDATA[《css揭秘》笔记（六），复杂背景图案]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/106164888</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/106164888</guid><author>PeZXO</author><pubDate>Sat, 16 May 2020 20:51:30 +0800</pubDate><description><![CDATA[复杂背景图案笔记复杂背景图案网格波点棋盘图案
复杂背景图案
网格
把水平条纹与垂直条纹叠加起来就能得到各种样式的网格：
.box1{
  width: calc(210px - 15px);
  height: calc(210px - 15px);
  background: white;
  background-image:
    linear-gradient(90deg, rgba(200,0,0,.5) 50% ,transparent 0),
    linear-gradient(rgba]]></description><category></category></item><item><title><![CDATA[《css揭秘》笔记（五）， 条纹背景]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/106148836</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/106148836</guid><author>PeZXO</author><pubDate>Fri, 15 May 2020 20:12:45 +0800</pubDate><description><![CDATA[《css揭秘》笔记（五）， 条纹背景条纹背景解决方案垂直条纹斜向条纹
条纹背景
现在我们需要条纹的背景，而且不通过加载图片的方式，而是以css的方式形成，现给出以下解决方案：
解决方案
通过线性渐变可以很好地得到条纹背景效果：
.box11{
  margin: 1.25em;
  width: 12.5rem;
  height: 12.5rem;
  background: linear-gradient(#fb3,#58a);
}


还可以通过百分比的方式来控制两种颜色过渡时占据的空间大小。
.bo]]></description><category></category></item><item><title><![CDATA[《css揭秘》笔记（四）， 背景定位]]></title><link>https://blog.youkuaiyun.com/PeZXO/article/details/106114901</link><guid>https://blog.youkuaiyun.com/PeZXO/article/details/106114901</guid><author>PeZXO</author><pubDate>Thu, 14 May 2020 10:48:57 +0800</pubDate><description><![CDATA[《css揭秘》笔记（四）， 背景定位背景定位难题background-positionbackground-origin方案calc()方案
背景定位
难题
有时我们希望图片能和背景之间有一定空隙，而且不仅仅只是针对背景的左上角作为偏移的原点。我们给出以下解决方案。
background-position
background-position的扩展语法允许我们指定背景图片距离任意角的偏移量，只要我们在偏移量前面指定关键字。举例来说，如果想让背景图片跟右边缘保持20px的偏移量，同时跟底边保持10px的偏移]]></description><category></category></item></channel></rss>