<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weixin_52908396的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/weixin_52908396</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; weixin_52908396]]></copyright><item><title><![CDATA[05_MVVM模型]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/123109539</link><guid>https://blog.csdn.net/weixin_52908396/article/details/123109539</guid><author>weixin_52908396</author><pubDate>Thu, 24 Feb 2022 15:30:17 +0800</pubDate><description><![CDATA[简述MVVM
MVVM模型在Vue中的体现，大致是如下的对应关系：

M：模型（Model）：对应data中的数据
V：视图（View）：模板
VM：视图模型（ViewModel）：Vue实例对象

放到实际的代码中，大致就是如下关系：

总结

MVVM模型
1.M:模型(Model) : data中的数据。
2.V:视图(View) : 模板代码。
3.VM:视图模型(ViewModel) : Vue实例。
观察发现:
1.data中所有的属性,最后都出现在了vm身上。
2.vm身上所有的属性及 Vue]]></description><category></category></item><item><title><![CDATA[04_el与data的两种写法]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/123101799</link><guid>https://blog.csdn.net/weixin_52908396/article/details/123101799</guid><author>weixin_52908396</author><pubDate>Thu, 24 Feb 2022 10:59:19 +0800</pubDate><description><![CDATA[我们之前常见的 el 和 data 书写方法是运用如下方式来与容器进行关联的：

但是其实 el 还有另外一种写法，这两者是可以视情况选择的，如下图：

同样的， data 实际上也有另外一种写法，之前我们使用的data写法其实是一种对象式写法，然而data其实还有一种写法，叫做函数式写法，这种写法在之后组件的学习中会非常常用：

其中这个function并不是data调用的，而是Vue帮忙调用的，因此如果我们输出this的话会输出Vue的实例对象。
当然，写function毕竟还是比较麻烦的，我们一般写的]]></description><category></category></item><item><title><![CDATA[03_数据绑定]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/123079416</link><guid>https://blog.csdn.net/weixin_52908396/article/details/123079416</guid><author>weixin_52908396</author><pubDate>Wed, 23 Feb 2022 00:39:27 +0800</pubDate><description><![CDATA[日常小技巧/注意项记录

换行：

前言
我们在之前其实就已经利用 “ v-bind ” 做过了数据绑定的操作：

但是今天的数据绑定和之前 v-bind 的绑定还是有所不同的，会比它更加的高级。
单向数据绑定
之前我们所使用的利用 v-bind 进行数据绑定的方式其实就是单向数据绑定，这也是利用 v-bind 进行绑定的特点之一。
&lt;div id="root"&gt;
        单向数据绑定:&lt;input type="text" v-bind:value="name"&gt;&lt;br]]></description><category></category></item><item><title><![CDATA[02_Vue模板语法]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/122824586</link><guid>https://blog.csdn.net/weixin_52908396/article/details/122824586</guid><author>weixin_52908396</author><pubDate>Mon, 21 Feb 2022 17:09:36 +0800</pubDate><description><![CDATA[日常小技巧记录

分隔线：

Vue模板语法的两大类

插值语法 —— {{}}
指令语法

插值语法
插值语法上一节就用过，大致的形式如下，在容器中是由双大括号展现的：

模板语法

]]></description><category></category></item><item><title><![CDATA[Vue中值得注意的几个小细节①]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/122795620</link><guid>https://blog.csdn.net/weixin_52908396/article/details/122795620</guid><author>weixin_52908396</author><pubDate>Tue, 08 Feb 2022 13:48:13 +0800</pubDate><description><![CDATA[这里会记录一些Vue学习中的小知识点：

Vue实例和容器只能是一一对应的，不存在多对一或者一对多的情况，否则会出现报错。
现在刚接触用的都是比较基础的vue用法，当之后数据量大了之后，例如容器中存在上百个动态数据，可以使用组件来为vue分流。
注意区分：js表达式和js代码（语句） ， 插入语法“ {{}} ”中只能存放js表达式。
①表达式：一个表达式会产生一个值，可以放在任何一个需要值的地方：
（1）a —— 变量
（2）a+b —— 运算表达式
（3）demo(1) —— 函数调用表达式
（4）x ]]></description><category></category></item><item><title><![CDATA[01_hello案例]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/122646714</link><guid>https://blog.csdn.net/weixin_52908396/article/details/122646714</guid><author>weixin_52908396</author><pubDate>Sun, 06 Feb 2022 08:30:50 +0800</pubDate><description><![CDATA[实用快捷键
① " ！+ tab " 调用html主题结构。
② " div # id + tab " 可以直接出现带指定id的div结构。

]]></description><category></category></item><item><title><![CDATA[开始前的准备，Vue环境配置]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/122546232</link><guid>https://blog.csdn.net/weixin_52908396/article/details/122546232</guid><author>weixin_52908396</author><pubDate>Tue, 18 Jan 2022 16:31:35 +0800</pubDate><description><![CDATA[Vue的安装方式：


直接用script引入（推荐）。



运用NPM和命令行工具来搭配引入。


引入Vue
如图新建文件，并在指定位置中引入下载的js包：

在html文件中引入vue：
    &lt;!--引入Vue--&gt;
    &lt;script type="text/javascript" src="../js/vue.js"&gt;&lt;/script&gt;

成功引入后我们可以打开该html对应的页面，并按f12在Console中看到如下的反馈：

下载Vue的开发者工具
]]></description><category></category></item><item><title><![CDATA[Vue基础概念]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/122545053</link><guid>https://blog.csdn.net/weixin_52908396/article/details/122545053</guid><author>weixin_52908396</author><pubDate>Mon, 17 Jan 2022 18:59:02 +0800</pubDate><description><![CDATA[Vue的特点

采用组件化模式，提高代码复用率、且让代码可以更好的维护。
声明式编码，让编程人员无需直接操作DOM，进而提高代码的开发效率。
使用了虚拟DOM+Diff算法，从而尽可能的复用DOM节点。示例如下：


Vue官网一些值得留意的模块

“API” —— 遇到不会的方法可以在这里面查询。
“Cookbook” —— 官方推荐的一些不错的小技巧。
“工具” 和 “核心插件”  ——后期进一步学习所需要留意的，例如“ ‘Vue CLI’ ：脚手架的使用 ” 等。
“Awesome Vue”、“浏览和]]></description><category></category></item><item><title><![CDATA[Android 连接数据库实现登录注册功能（SQLite）]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/121005951</link><guid>https://blog.csdn.net/weixin_52908396/article/details/121005951</guid><author>weixin_52908396</author><pubDate>Fri, 29 Oct 2021 02:01:50 +0800</pubDate><description><![CDATA[SQLite Home Page - SQLite 官方网站提供了最新的 SQLite 安装版本，最新的 SQLite 资讯以及完整的 SQLite 教程。

PHP SQLite3 - 网站提供了 SQLite 3 数据库的 PHP 支持的完整细节。

SQLite JDBC Driver: - SQLite JDBC，由 Taro L. Saito 开发的，是一个用于 Java 中访问和创建 SQLite 数据库文件的库。

DBD-SQLite-0.31 - SQLite Perl driver 驱动]]></description><category></category></item><item><title><![CDATA[简单了解JSON Web Token（JWT）]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/120299335</link><guid>https://blog.csdn.net/weixin_52908396/article/details/120299335</guid><author>weixin_52908396</author><pubDate>Tue, 14 Sep 2021 23:44:37 +0800</pubDate><description><![CDATA[JWT是什么
JWT即JSON Web Token，它是一个非常轻巧的规范，它可以允许我们在用户和服务器之间传递安全可靠的信息。它的实质其实就是一个字符串，由头部（Header）、载荷（Payload）与签名（Signature）三部分组成。
其中：
Header的作用是描述JWT的最基本的信息，例如：类型、签名的算法；
Payload中则是存放着用户的信息或者是想要返回给用户的内容，是一个装载信息的容器；
Signature其实就是一个对信息进行加密的一个过程，在其中我们还需要提供一个key来作为密钥，从]]></description><category></category></item><item><title><![CDATA[登录接口②（生成token——jsonwebtoken模块的应用）]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/120261276</link><guid>https://blog.csdn.net/weixin_52908396/article/details/120261276</guid><author>weixin_52908396</author><pubDate>Mon, 13 Sep 2021 20:33:43 +0800</pubDate><description><![CDATA[模块的安装和导入
想要生成token，首先要用到jsonwebtoken这个模块:
cnpm i jsonwebtoken --save

安装好这个模块后，接下来就是我们的老规矩，引入模块
const jwt= require('jsonwebtoken');

生成token
这里首先我用payload来定义验证成功后我们生成给用户的token的数据内容，像此处就是定义了返回内容为user的id，name以及avatar（头像）；
token里面我用了jsonwebtoken的一个expiresIn的方]]></description><category></category></item><item><title><![CDATA[OpenGL：应用纹理的四个步骤以及纹理坐标的几何变换]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/118200529</link><guid>https://blog.csdn.net/weixin_52908396/article/details/118200529</guid><author>weixin_52908396</author><pubDate>Fri, 25 Jun 2021 01:55:50 +0800</pubDate><description><![CDATA[（1）创建纹理对象，并为它装载一个纹理
• glGenTextures(1, &amp;texName);
• glBindTexture(GL_TEXTURE_2D,texName);
• void glTexImage2D(GLenum target,GLint level,GLint components,
GLsizei width, glsizei height,GLint border, GLenum format,GLenum
type, const GLvoid *pixels);

程序的]]></description><category></category></item><item><title><![CDATA[OpenGL：三维几何变换]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/118190500</link><guid>https://blog.csdn.net/weixin_52908396/article/details/118190500</guid><author>weixin_52908396</author><pubDate>Thu, 24 Jun 2021 19:08:15 +0800</pubDate><description><![CDATA[OpenGL平移
glTranslatef( Tx , Ty , Tz )

OpenGL—旋转
绕x轴旋转：
glRotatef( degree, 1, 0, 0 );

绕y轴旋转：
glRotatef( degree, 0, 1, 0 );

绕z轴旋转：
glRotatef( degree, 0, 0, 1 );

绕任意轴旋转：
以下是原理解析：
//Rotate deg degree along the axis that passes through
// (x1, y1, z1) and (]]></description><category></category></item><item><title><![CDATA[OpenGL：glPushMatrix()；和glPopMatrix()；的作用及其原理分析]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/118185352</link><guid>https://blog.csdn.net/weixin_52908396/article/details/118185352</guid><author>weixin_52908396</author><pubDate>Thu, 24 Jun 2021 13:17:10 +0800</pubDate><description><![CDATA[今天做到一道题，大致就是问glPushMatrix();和glPopMatrix();存在会对图形绘制造成什么影响，为了能够清晰的反应到底会存在什么影响，我特地写了两行代码：
代码①：
void draw1()
{
	//glClear(GL_COLOR_BUFFER_BIT);  
	//注释掉为了能反映每次循环三角形的位置
	glBegin(GL_POLYGON); // 多边形
	glColor3f(0.0, 0.0, 1.0);
	glVertex2f(0.05, -0.65);
	glVertex]]></description><category></category></item><item><title><![CDATA[OpenGL：二维几何变换②]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/118108078</link><guid>https://blog.csdn.net/weixin_52908396/article/details/118108078</guid><author>weixin_52908396</author><pubDate>Tue, 22 Jun 2021 20:59:50 +0800</pubDate><description><![CDATA[使用通用基准点
通用基准点旋转
也就是设置图形围绕某一点旋转。
实例：
void draw1()
{
	glBegin(GL_POLYGON); // 多边形
	glColor3f(1.0, 1.0, 1.0);  glVertex3f(-0.5, -0.5, 0);
	glColor3f(1.0, 0, 0); glVertex3f(-0.5, 0.5, 0);
	glColor3f(0, 0, 1.0); glVertex3f(0.5, 0.5, 0);
	glColor3f(0, 1.0, 0); g]]></description><category></category></item><item><title><![CDATA[OpenGL：二维几何变换①]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/118104308</link><guid>https://blog.csdn.net/weixin_52908396/article/details/118104308</guid><author>weixin_52908396</author><pubDate>Tue, 22 Jun 2021 15:17:39 +0800</pubDate><description><![CDATA[图形变换的基本原理
①变换图形就是要变换图形的几何关系，即改变顶点的坐标；
②保持图形的原拓扑关系不变（各个点的连接方式）
仿射变换
图形的仿射变换遵循两点：
1、“平直性”：即直线经过变换后依旧还是直线。
2、“平行性”：二维图形之间的相对位置关系保持不变，平行线依然是平行线，且直线上点的位置顺序不变。
点、直线、多边形变换的原理
T是指二维变换矩阵


二维几何变换函数
平移
glTranslatef( Tx, Ty, Tz,);

实例：
void draw1()
{
	glBegin(GL_POLY]]></description><category></category></item><item><title><![CDATA[OpenGL：着色模型(平滑方式和单色方式)]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/118098262</link><guid>https://blog.csdn.net/weixin_52908396/article/details/118098262</guid><author>weixin_52908396</author><pubDate>Tue, 22 Jun 2021 03:01:05 +0800</pubDate><description><![CDATA[这次学习以之前写过的渐变色正方形为例：
void display()
{
	glClear(GL_COLOR_BUFFER_BIT);
	glBegin(GL_POLYGON); // 多边形
	glColor3f(1.0,1.0,1.0);  glVertex3f(-0.5,-0.5,0);
	glColor3f(1.0,0,0); glVertex3f(-0.5,0.5,0);
	glColor3f(0,0,1.0); glVertex3f(0.5,0.5,0);
	glColor3f(0,1.0,0)]]></description><category></category></item><item><title><![CDATA[OpenGL：点属性函数，线属性函数]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/118098239</link><guid>https://blog.csdn.net/weixin_52908396/article/details/118098239</guid><author>weixin_52908396</author><pubDate>Tue, 22 Jun 2021 02:26:08 +0800</pubDate><description><![CDATA[点属性函数
点的默认大小为1像素
void glPointSize(GLfloat size)
void Display( )
{
glClear(GL_COLOR_BUFFER_BIT);
glPointSize(5.0);    //将点的大小设置为5像素
glBegin(GL_POINTS);
glVertex2f(0.0, 0.0);
glVertex2f(0.5, 0.5);
glEnd();
glFlush();

线属性函数
线宽函数
Void glLineWidth(GLfloat widt]]></description><category></category></item><item><title><![CDATA[OpenGL：颜色索引模式的使用方式]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/118093086</link><guid>https://blog.csdn.net/weixin_52908396/article/details/118093086</guid><author>weixin_52908396</author><pubDate>Tue, 22 Jun 2021 01:33:23 +0800</pubDate><description><![CDATA[在OpenGL中，颜色索引模式是不同于RGBA颜色模式的，在这个模式中，数据代表的是一个索引，要得到真正的颜色，还需要去查询索引表。表达式为：
glutInitDisplayMode(GLUT_SINGLE|GLUT_INDES)   //索引模式

使用方法：
（1）选择颜色

使用gllndex*系列函数可以在颜色表中选择颜色，其中运用最多的是：

void glIndexi(GLint c);

（2）设置颜色表
OpenGL并直接没有提供设置颜色表的方法，因此设置颜色表需要使用操作系统的支持。
为给]]></description><category></category></item><item><title><![CDATA[OpenGL怎么绘制一个有彩虹色渐变的正方形]]></title><link>https://blog.csdn.net/weixin_52908396/article/details/118092039</link><guid>https://blog.csdn.net/weixin_52908396/article/details/118092039</guid><author>weixin_52908396</author><pubDate>Mon, 21 Jun 2021 18:14:36 +0800</pubDate><description><![CDATA[在OpenGL的基本输出图元方式中，是可以通过设定各个顶点的颜色来实现颜色的渐变的，如下列代码：
void display()
{
	glClear(GL_COLOR_BUFFER_BIT);
	glBegin(GL_POLYGON); // 多边形
	glColor3f(1.0, 1.0, 1.0); glVertex3f(-0.5, -0.5, 0);
	glColor3f(1.0, 0, 0); glVertex3f(-0.5, 0.5, 0);
	glColor3f(0, 0, 1.0); glVe]]></description><category></category></item></channel></rss>