<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[first_shun的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/first_shun</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; first_shun]]></copyright><item><title><![CDATA[window.print打印时分页的问题]]></title><link>https://blog.csdn.net/first_shun/article/details/126815649</link><guid>https://blog.csdn.net/first_shun/article/details/126815649</guid><author>first_shun</author><pubDate>Mon, 12 Sep 2022 12:17:25 +0800</pubDate><description><![CDATA[window.print打印分页的解决方案]]></description><category></category></item><item><title><![CDATA[Ant Design vue中select下拉框组件偏移问题]]></title><link>https://blog.csdn.net/first_shun/article/details/126815580</link><guid>https://blog.csdn.net/first_shun/article/details/126815580</guid><author>first_shun</author><pubDate>Mon, 12 Sep 2022 12:10:56 +0800</pubDate><description><![CDATA[当使用antdesign vue中的select出现下拉框位置偏移的时候]]></description><category></category></item><item><title><![CDATA[linux的常用快捷键]]></title><link>https://blog.csdn.net/first_shun/article/details/124864781</link><guid>https://blog.csdn.net/first_shun/article/details/124864781</guid><author>first_shun</author><pubDate>Thu, 19 May 2022 15:53:06 +0800</pubDate><description><![CDATA[linux的常用快捷键]]></description><category></category></item><item><title><![CDATA[linux对文件或者文件夹的重命名]]></title><link>https://blog.csdn.net/first_shun/article/details/120339176</link><guid>https://blog.csdn.net/first_shun/article/details/120339176</guid><author>first_shun</author><pubDate>Thu, 16 Sep 2021 22:37:31 +0800</pubDate><description><![CDATA[linux可以通过mv的命令来重命名文件或者文件夹

例如：

1、将同目录下的A重命名为B，命令如下

mv A B

2、将A移动到其他目录下，并修改名称为B

mv A 路径/B

注意：如果该目录下有同样名称的，可能会覆盖掉
...]]></description><category></category></item><item><title><![CDATA[Already included file name ‘xxx.vue‘ differs from file name ‘xxx.vue‘ only in casing. The file is.]]></title><link>https://blog.csdn.net/first_shun/article/details/120298598</link><guid>https://blog.csdn.net/first_shun/article/details/120298598</guid><author>first_shun</author><pubDate>Tue, 14 Sep 2021 22:50:32 +0800</pubDate><description><![CDATA[Already included file name 'd:/workspace//BodyTagNoteSet.vue' differs from file name 'd:/workspace/BodytagNoteSet.vue' only in casing. The file is in the program because: Imported via "./customForm/BodyTagNoteSet.vue" from file 'd:/workspace/CustomAnesForm]]></description><category></category></item><item><title><![CDATA[vue项目的index.html缓存问题]]></title><link>https://blog.csdn.net/first_shun/article/details/120277149</link><guid>https://blog.csdn.net/first_shun/article/details/120277149</guid><author>first_shun</author><pubDate>Mon, 13 Sep 2021 22:34:28 +0800</pubDate><description><![CDATA[众所周知，vue项目的js和css打包后的文件名称是哈希文件名，不会重复，但是有时候会碰到一个现象就是升级版本后，index.html发生了缓存，这样整个项目都会出现缓存问题，解决这个问题的方案就是在nginx中加上一项配置来解决。


location = /index.html {
    add_header Cache-Control "no-cache, no-store";
}

该配置的大概意思是不缓存过期资源、不缓存，这样就会将index.html缓存的问题解决掉。
...]]></description><category></category></item><item><title><![CDATA[使用SecureCRT工具如何上传和下载文件]]></title><link>https://blog.csdn.net/first_shun/article/details/119515687</link><guid>https://blog.csdn.net/first_shun/article/details/119515687</guid><author>first_shun</author><pubDate>Sun, 08 Aug 2021 17:51:57 +0800</pubDate><description><![CDATA[CRT中文件的上传一般使用的是lrzsz工具，lrzsz是一个linux中可以代替ftp的上传和下载一款工具，所以CRT中上传和下载文件一般需要如下几步：

1、安装lrzsz

sudo apt-get install lrzsz

2、上传命令（rz）

rz -y：输入该命令回车之后，会弹出上传的文件夹供选择文件，上传到当前linux所在目录下，该命令也有对应的参数

3、下载命令(sz)

sz file1 file2


...]]></description><category></category></item><item><title><![CDATA[cookie、localStorage和sessionStorage三者的区别]]></title><link>https://blog.csdn.net/first_shun/article/details/115747681</link><guid>https://blog.csdn.net/first_shun/article/details/115747681</guid><author>first_shun</author><pubDate>Fri, 16 Apr 2021 09:43:41 +0800</pubDate><description><![CDATA[cookie、localstorage和sessionStorage三者都是在开发中用到的临时存储客户端会话信息或者数据的方法，下面就简单介绍一下三者的区别：

一、存储的时间有效期不同

1、cookie的有效期是可以设置的，默认的情况下是关闭浏览器后失效

2、sessionStorage的有效期是仅保持在当前页面，关闭当前会话页或者浏览器后就会失效

3、localStorage的有效期是在不进行手动删除的情况下是一直有效的

二、存储的大小不同

1、cookie的存储是4kb左右，存储量较小，一般]]></description><category></category></item><item><title><![CDATA[vue从入门到放弃之------详细介绍Vue Cli的使用]]></title><link>https://blog.csdn.net/first_shun/article/details/115611605</link><guid>https://blog.csdn.net/first_shun/article/details/115611605</guid><author>first_shun</author><pubDate>Mon, 12 Apr 2021 10:52:30 +0800</pubDate><description><![CDATA[一、Vue Cli是什么

Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统，使用 Vue Cli之后我们可以快速的搭建一个完整的系统(项目)。

二、Vue Cli的安装

1、安装Vue Cli需要先安装nodeJs(教程很多，在此就不多说了)

2、安装Vue Cli


npm install -g @vue/cli

安装完成之后可以使用如下命令查看vue版本


vue --version

可以通过如下命令升级vue版本


npm update -g @vue/cli

三、]]></description><category></category></item><item><title><![CDATA[vue从入门到放弃之------详细介绍Vue Router的使用]]></title><link>https://blog.csdn.net/first_shun/article/details/113144973</link><guid>https://blog.csdn.net/first_shun/article/details/113144973</guid><author>first_shun</author><pubDate>Mon, 12 Apr 2021 08:42:10 +0800</pubDate><description><![CDATA[Vue Router是vue.js的官方路由管理器，包含有很多的功能和vue.js相互集成，供大家使用，下面我们来说说Vue Router.



2021 Be nice to me.
]]></description><category></category></item><item><title><![CDATA[vue从入门到放弃之------详细介绍Vuex的使用]]></title><link>https://blog.csdn.net/first_shun/article/details/112251751</link><guid>https://blog.csdn.net/first_shun/article/details/112251751</guid><author>first_shun</author><pubDate>Mon, 25 Jan 2021 21:59:10 +0800</pubDate><description><![CDATA[一、Vuex是什么？

    官方的介绍是Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态，并以相应的规则保证状态以一种可预测的方式发生变化。（我的理解就是把你需要在很多地方使用的变量归置在一个对象的state属性中，并且这些变量的获取需要通过特殊的方式getters中定义的方法，修改这些变量则需要通过特殊的方法，action提交mutation中定义的方法来修改state中定义的状态）

二、Vuex的安装

1、安装Vuex


npm ...]]></description><category></category></item><item><title><![CDATA[浅谈js函数柯里化]]></title><link>https://blog.csdn.net/first_shun/article/details/111757269</link><guid>https://blog.csdn.net/first_shun/article/details/111757269</guid><author>first_shun</author><pubDate>Sun, 03 Jan 2021 10:57:48 +0800</pubDate><description><![CDATA[平时开发不注意，很多面试的时候比较容易问到柯里化，什么是柯里化呢，其实就是一种境界的提高(装个b，莫喷)，其实就是函数进阶的表现，接下来就简单说一下。

一、什么是柯里化？

函数柯里化：是将接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数，并且返回接受余下的参数且返回结果的新函数的技术。看到这官方性的解释是不是有点似懂非懂，接下来我们就用使用了n多遍的add举个例子看看：


function add(x,y,z){    //平常方式
     return x+y+...]]></description><category></category></item><item><title><![CDATA[浅谈js的深拷贝和浅拷贝]]></title><link>https://blog.csdn.net/first_shun/article/details/111090356</link><guid>https://blog.csdn.net/first_shun/article/details/111090356</guid><author>first_shun</author><pubDate>Sat, 26 Dec 2020 09:42:20 +0800</pubDate><description><![CDATA[老生常谈js的拷贝问题，今天就简单来聊聊js的深拷贝和浅拷贝的问题，故事要从js对数据的存储开始说起。话说很久很久之前。。。。。。，js的存储分为堆(heap)和栈(stack)两种存储类型。

一、数据的存储方式，基本数据类型的数据存储在栈中，引用类型的数据存储在堆中，引用类型数据的堆的地址存储在栈中。




...]]></description><category></category></item><item><title><![CDATA[nginx应用部署在服务器无任何异常，浏览器无法访问问题记录]]></title><link>https://blog.csdn.net/first_shun/article/details/110941592</link><guid>https://blog.csdn.net/first_shun/article/details/110941592</guid><author>first_shun</author><pubDate>Wed, 09 Dec 2020 22:36:14 +0800</pubDate><description><![CDATA[前段时间将应用使用nginx部署在服务器上的时候无任何异常。但是，在浏览器中就是访问不到，经过了以下步骤的排查：

    一、反复比对ip地址，端口，发现没有任何问题

    二、查询nginx进程，发现进程已经启动

    三、查询网络连接状况，发现网络可以ping通

WTF? 到底是什么鬼。。。。。。最后才发现是服务器的防火墙的原因导致的无法访问的异常，解决方案如下：

    一、最直接也是最暴力的，关闭服务器的防火墙（此处说的都是ubuntu，其他系统需要自行...]]></description><category></category></item><item><title><![CDATA[1.写一个 mySetInterVal(fn, a, b),每次间隔 a,a+b,a+2b,.......,a+nb的时间，然后写一个 myClear，停止上面的 mySetInterVal；]]></title><link>https://blog.csdn.net/first_shun/article/details/109730504</link><guid>https://blog.csdn.net/first_shun/article/details/109730504</guid><author>first_shun</author><pubDate>Mon, 16 Nov 2020 22:10:41 +0800</pubDate><description><![CDATA[每天整一个面试题，大家一起进步，加油加油！！！

1.写一个 mySetInterVal(fn, a, b),每次间隔 a,a+b,a+2b,.......,a+nb的时间，然后写一个 myClear，停止上面的 mySetInterVal；

解析：该题的思路就是每一次在定时器中重启定时器并且在时间每一次都加b，并且要把定时器返回回来，可以作为myClear的参数。

具体的执行代码如下：


var mySetInterVal = function(fn,a,b){
    var timer = nu]]></description><category></category></item><item><title><![CDATA[js拖拽时禁止触发单击事件的方法三种方法]]></title><link>https://blog.csdn.net/first_shun/article/details/108814193</link><guid>https://blog.csdn.net/first_shun/article/details/108814193</guid><author>first_shun</author><pubDate>Sat, 26 Sep 2020 21:41:50 +0800</pubDate><description><![CDATA[在一个元素既有拖拽事件，又有单击事件的时候，会发现每一次拖拽后都会触发元素的单击事件，所以我们得在拖拽事件的时候屏蔽掉元素的单击事件所绑定的方法。元素拖拽和单击事件触发的顺序是mosuedown,mousemove,mouseup,click，所以就需要针对这个事件顺序在拖拽的时候屏蔽单击事件。主要有以下三种方法来在拖拽事件中屏蔽掉单击事件的执行：

1、监听mousemove事件，在mousemove中加状态，在click事件中监听该状态


        var elIsMove = ...]]></description><category></category></item><item><title><![CDATA[使用css修改滚动条样式]]></title><link>https://blog.csdn.net/first_shun/article/details/108698311</link><guid>https://blog.csdn.net/first_shun/article/details/108698311</guid><author>first_shun</author><pubDate>Sun, 20 Sep 2020 20:52:19 +0800</pubDate><description><![CDATA[浏览器默认的css样式或多或少有点......，使用插件或者自己写滚动条有显得有点麻烦，在此我们使用css修改滚动条的样式，，不过需要注意的是css要考虑一下浏览器兼容性的；

1、实现效果：



2、浏览器兼容性：



3、代码展示：


&lt;!DOCTYPE html&gt;
&lt;html class="no-js"&gt;

&lt;head&gt;
    &lt;meta charset="utf-8"&gt;
    &lt;meta http-equiv="X-UA-...]]></description><category></category></item><item><title><![CDATA[使用css的blur制作毛玻璃效果]]></title><link>https://blog.csdn.net/first_shun/article/details/108697778</link><guid>https://blog.csdn.net/first_shun/article/details/108697778</guid><author>first_shun</author><pubDate>Sun, 20 Sep 2020 20:26:33 +0800</pubDate><description><![CDATA[在css中可以利用filter的blur属性来实现毛玻璃的效果，让背景看起来模糊，类似于毛玻璃的效果。

1、效果图如下：



2、代码如下：


&lt;!DOCTYPE html&gt;
&lt;html class="no-js"&gt;

&lt;head&gt;
    &lt;meta charset="utf-8"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt;
    &lt;title&g...]]></description><category></category></item><item><title><![CDATA[ffmpeg对mp4和h264的互相转换]]></title><link>https://blog.csdn.net/first_shun/article/details/108570014</link><guid>https://blog.csdn.net/first_shun/article/details/108570014</guid><author>first_shun</author><pubDate>Sun, 13 Sep 2020 23:10:46 +0800</pubDate><description><![CDATA[1、利用ffmpeg将MP4格式转为h264


ffmpeg -i test.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 test.h264

2、利用ffmpeg将h264转为MP4


ffmpeg -i test.264 -vcodec copy -f mp4 test.mp4


]]></description><category></category></item><item><title><![CDATA[使用python flask搭建mock-server]]></title><link>https://blog.csdn.net/first_shun/article/details/108556483</link><guid>https://blog.csdn.net/first_shun/article/details/108556483</guid><author>first_shun</author><pubDate>Sun, 13 Sep 2020 09:57:39 +0800</pubDate><description><![CDATA[在现在的前端开发中经常需要和后台同步进行，所以很多时候后台并不能提供接口供你测试，这个时候就需要我们自己简单的搭建简单的接口做测试，下面就简单介绍一下，利用python flask简单搭建一个mock-server的过程：

一、安装python(网上教程很多，在此不做介绍了)

二、安装flask

1、需要查看一下pip，现在的python安装包都携带pip，所以只要执行以下命令查看


pip --version     // Python2命令
pip3 --version    //...]]></description><category></category></item></channel></rss>