<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ETHAN IN IT]]></title><description><![CDATA[Lost in it]]></description><link>https://blog.youkuaiyun.com/EthanQ</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; EthanQ]]></copyright><item><title><![CDATA[Vue.js render函数那些事儿]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/105130062</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/105130062</guid><author>EthanQ</author><pubDate>Thu, 26 Mar 2020 22:28:56 +0800</pubDate><description><![CDATA[大多时候，我会使用template, vue单文件去渲染组件。虽然知道Vue中有个render函数，但却很少在项目中去主动使用它。使用最多的地方是在使用一些UI框架的时候，比如iview table中的按钮操作，会使用到render函数。另外平时在阅读一些Vue UI框架源码的时候，也时常能遇到使用render函数的地方，这也激发了自己研究学习的欲望。如果你也感兴趣，那就继续阅读吧。
在本文中，会...]]></description><category></category></item><item><title><![CDATA[快速上手VueJS动画]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/104788846</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/104788846</guid><author>EthanQ</author><pubDate>Wed, 11 Mar 2020 08:08:36 +0800</pubDate><description><![CDATA[动画可以使您的网站更具现代感，而且还能为网站带来更好的用户体验。幸运的是，对于开发人员来说，VueJS动画只需几分钟即可完成设置。

在本教程结束时，您将拥有第一个VueJS动画，并了解和学习到如何将其添加到项目中。这是我们将要创建的两个示例。

首先，创建自己的CSS动画样式。







然后，了解如何将第三方CSS库与Vue动画一起使用。







让我们赶快开始吧。

过渡元...]]></description><category></category></item><item><title><![CDATA[以编程方式创建Vue.js组件实例]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/104762891</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/104762891</guid><author>EthanQ</author><pubDate>Mon, 09 Mar 2020 22:13:37 +0800</pubDate><description><![CDATA[最近参与了一个Vue.js项目，项目中需要能够以编程方式创建组件。通过编程，意思是使用JavaScript创建和插入组件，而无需在模板中编写任何内容。本文接下来将介绍在模板中使用组件的各个方面，例如实例化，传递Props，插槽，挂载，转换为JavaScript代码。

通常，会推荐使用"单个文件组件"。比如一个Button组件，如下所示：


&lt;template&gt;
 &lt;butto...]]></description><category></category></item><item><title><![CDATA[如何在Node.js中读取CSV文件]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/104745714</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/104745714</guid><author>EthanQ</author><pubDate>Mon, 09 Mar 2020 09:11:25 +0800</pubDate><description><![CDATA[在本文中，我们将学习如何从CSV文件中读取数据。对于CSV文件，结构化逗号分隔值文件，数据将作为json对象数组进行接收。

这将使我们能够探索JavaScript类和Object.assign()的使用。创建一个员工对象数组，比JSON对象本身更容易操作。

读取文件

准备

需要安装node.js。

然后创建csv文件，并将其命名为Data.csv。



我将使用Visual Studi...]]></description><category></category></item><item><title><![CDATA[如何将Redux与React Hooks一起使用]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/104728125</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/104728125</guid><author>EthanQ</author><pubDate>Sun, 08 Mar 2020 10:24:23 +0800</pubDate><description><![CDATA[在本文中，让我们一起来学习如何将Redux与React Hooks一起使用。

React Redux在2019年6月11日发布的7.1版中提供了对Hooks的支持。这意味着您可以在函数组件中将Redux与Hooks一起使用，而不是使用高阶组件（HOC）。

什么是Hook？

Hook是在React版本16.8中引入的，可以让我们访问函数组件中的状态和生命周期方法。



让我们看一个例子。
...]]></description><category></category></item><item><title><![CDATA[如何在Vuejs中实现页面空闲超时检测]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/104363405</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/104363405</guid><author>EthanQ</author><pubDate>Mon, 17 Feb 2020 19:30:11 +0800</pubDate><description><![CDATA[您是否需要检查用户在Vue应用程序中的不活跃状态？如果用户在一段时间内处于非活动状态，则要自动注销该用户或显示一个计时器。通常，具有机密数据的系统（如银行）通常会实现这种功能。需求是监听3秒钟的不活动状态并显示带有10秒计时器的模态提示框。如果在10秒的会话中没有任何操作，请自动注销用户。



需求

要在Vue应用程序中监听3秒钟的不活动状态，并显示带有10秒计时器的模态提示框。如果在10秒...]]></description><category></category></item><item><title><![CDATA[Flutter中的容器组件]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/104112198</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/104112198</guid><author>EthanQ</author><pubDate>Thu, 30 Jan 2020 06:36:37 +0800</pubDate><description><![CDATA[Container是一个很方便的组件，相当于Web HTML中的div，它包含了公共的绘制，定位和尺寸组件。



更准确的描述，请参考官方Container Class 文档



容器组件用于包含能够应用样式属性的子组件。



如果Container组件没有子项，它将自动填满屏幕上的给定区域，否则它的尺寸取决于给定子元素的高度和宽度。



注意：在没有任何父组件的情况下，不应直接使...]]></description><category></category></item><item><title><![CDATA[构建Vue项目-身份验证]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/104050510</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/104050510</guid><author>EthanQ</author><pubDate>Mon, 20 Jan 2020 13:13:19 +0800</pubDate><description><![CDATA[通常，在开始使用新框架或新语言工作时，我会尝试查找尽可能多的最佳实践，而我更喜欢从一个易于理解，维护和升级的良好结构开始。 在这篇文章中，我将尝试解释自己的想法，并将过去几年中获得的所有知识与最新，最好的Web开发实践结合起来。

我们将共同构建一个简单的项目，该项目处理身份验证并准备在构建应用程序其余部分时要使用的基本脚手架。

我们将使用：

Vue.js 2.5 和 Vue-CLI
	V...]]></description><category></category></item><item><title><![CDATA[在Nuxt.js中使用站点地图]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/104047673</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/104047673</guid><author>EthanQ</author><pubDate>Mon, 20 Jan 2020 09:23:20 +0800</pubDate><description><![CDATA[在本文中，我想研究使用sitemap module模块在Nuxt中创建站点地图的不同选项。

如果您要创建所有路线和页面的站点地图并添加动态路线，请求后端API，或者甚至要使用站点地图索引文件创建多个站点地图，此模块都将为您提供所需的一切。

内容

站点地图模块选项。
	具有路线的简单单个站点地图。
	从API请求的站点地图。
	Sitemap中的几个索引。
	多语言网站的站点地图。
模块选项
...]]></description><category></category></item><item><title><![CDATA[在Node.js生产环境下使用Docker]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/104045897</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/104045897</guid><author>EthanQ</author><pubDate>Sun, 19 Jan 2020 22:23:57 +0800</pubDate><description><![CDATA[1.选择正确的基本映像

必须为您的Node.js应用程序选择正确的基础Docker映像。您应该始终尝试使用正式的Docker映像-因为它们具有出色的文档，使用最佳实践并且是针对大多数常见用例设计的。

如果您查看官方的Node.js Docker映像，仍然有很多映像可供选择。我总是选择可以运行Node.js应用程序的最小尺寸的图像。

当前，如果要在64位Linux上运行Node.js应用程序，...]]></description><category></category></item><item><title><![CDATA[创建第一个VueJS插件]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/104034943</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/104034943</guid><author>EthanQ</author><pubDate>Sat, 18 Jan 2020 23:24:25 +0800</pubDate><description><![CDATA[随着VueJS的流行，社区创建的VueJS插件变得越来越普遍和强大。

实际上，我发现有些插件非常有用。 例如，有许多很棒的UI库和实用程序插件为我节省了很多开发时间。

尽管创建自己的插件似乎是一项艰巨的任务，但实际上也没那么难。 在本教程结束时，您将

创建了您的第一个VueJS插件。
	明白它们如何工作。
	学习到工具，方法来构建更复杂的插件。
现在开始了！

如何设置插件

从广义上讲，我...]]></description><category></category></item><item><title><![CDATA[Flutter必备语言Dart教程03 - 类，泛型]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/101055258</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/101055258</guid><author>EthanQ</author><pubDate>Fri, 20 Sep 2019 11:33:52 +0800</pubDate><description><![CDATA[上篇中我们学习了Flutter必备语言Dart教程02 - 控制流，异常，现在我们继续学习Dart中的类和泛型。
Class
以下是在Dart中声明一个简单类，并创建它的实例的方法。

向类中添加实例变量，以及构造函数

Dart提供了一种构造函数初始化的简洁语法。如下所示：

如您所见，我们编写了一行构造函数，第一个参数值将设置为name，第二个参数值将设置为age。现在我们就不用写 this...]]></description><category></category></item><item><title><![CDATA[Flutter必备语言Dart教程04 - 异步，库]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/101055181</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/101055181</guid><author>EthanQ</author><pubDate>Fri, 20 Sep 2019 11:31:36 +0800</pubDate><description><![CDATA[现在我们来看看如何在Dart中处理异步代码。使用Flutter时，会执行各种操作，例如网络调用和数据库访问，这些操作都应该异步执行。
在Dart中导入库
在Dart中使用异步，需要先导入异步库。

Future
异步库包含一个名为Future的类，Future是基于观察者模式的。如果您熟悉Javascript中的Rxjs或Promises，那么理解起来会很容易。
简单来说，Future定义的是“...]]></description><category></category></item><item><title><![CDATA[Flutter必备语言Dart教程02 - 控制流，异常]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/100877407</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/100877407</guid><author>EthanQ</author><pubDate>Mon, 16 Sep 2019 09:30:57 +0800</pubDate><description><![CDATA[我们已经完成了Dart中的变量，类型和函数的学习（如果你还没有读过它，请阅读Flutter必备语言Dart教程01 - 变量，类型，函数），现在我们来看看Dart中的控制流和异常处理。
控制流
If – else
Dart中的 if-else 非常简单，与其他语言非常相似。

您还可以使用三元运算符编写 if-else 条件的简短形式。

循环
Dart支持各种循环，您会很快熟悉上手这些语法，因...]]></description><category></category></item><item><title><![CDATA[Flutter必备语言Dart教程01 - 变量，类型，函数]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/100877379</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/100877379</guid><author>EthanQ</author><pubDate>Mon, 16 Sep 2019 09:29:28 +0800</pubDate><description><![CDATA[Hello World
致敬经典 ‘Hello World’ 程序。

与Java类似，每个Dart程序都必须有一个main作为其入口点。
要运行程序，请将其保存在名为“hello_world.dart”的文件中，并在终端中执行以下命令。（如果没有dart环境，请先完成安装。）

定义变量
就像在JavaScript中一样，您可以使用var关键字来定义变量。

但是！与JavaScript不同，...]]></description><category></category></item><item><title><![CDATA[Node.js错误处理模式]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/100831235</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/100831235</guid><author>EthanQ</author><pubDate>Sat, 14 Sep 2019 17:17:18 +0800</pubDate><description><![CDATA[异步语言中的错误处理，需要使用一些独特的，非常规的方式。 Node.js中有七种主要的错误处理模式。让我们简单地看一下。
错误返回值
最简单的模式，不能处理异步情况。如下：

抛出错误
这是一个常用的模式，函数执行时，如果出现错误情况，它会直接抛出一个错误。错误异常需要在catch中捕捉并处理。在try / catch中无法处理异步方法调用抛出的错误。要解决这个问题，我们需要使用domains。...]]></description><category></category></item><item><title><![CDATA[如何在Vue Router中应用中间件]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/100805526</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/100805526</guid><author>EthanQ</author><pubDate>Fri, 13 Sep 2019 16:28:25 +0800</pubDate><description><![CDATA[中间件是我们在软件开发中的一个古老而强大的概念，当我们在应用程序中使用路由相关模式时，它非常有用。
如果您不太了解中间件的含义，Nodejs框架Express里的中间件可以帮助您了解它们的工作原理。
但是，中间件仅适用于后端吗？
不，当应用程序中有路由时，中间件在前端或后端中就会非常常见。比如现在流行的单页应用程序。
有一些示例可以说明，何时可以使用中间件：
不允许未登录用户访问您的网页。
仅允...]]></description><category></category></item><item><title><![CDATA[JS对象那些事儿]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/100796865</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/100796865</guid><author>EthanQ</author><pubDate>Fri, 13 Sep 2019 09:12:56 +0800</pubDate><description><![CDATA[JavaScript中几乎所有东西都是一个对象，除了六种基本类型数据 - null，undefined，strings，numbers，boolean和symbols。
任何不是原始值的东西都是Object。这包括数组，函数，构造函数和对象本身。
对象
从概念上讲，对象在所有编程语言中都是相同的。它们使用具有属性和方法的代码来表示真实世界。
例如，如果您的对象是学生，则它将具有名称，年龄，地址，...]]></description><category></category></item><item><title><![CDATA[25个JavaScript代码简写技巧(下篇)]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/100764058</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/100764058</guid><author>EthanQ</author><pubDate>Thu, 12 Sep 2019 10:29:23 +0800</pubDate><description><![CDATA[14. 多行字符串
如果您发现自己需要在代码中编写多行字符串，那么您可以编写它：
常规：

但是有一种更简单的方法。只需使用反引号。
简写：

15. 展开(spread)操作符
ES6中引入的展开运算符有几个用例，可以使JavaScript代码更高效，更有趣。它可以用来替换某些数组函数。展开操作符只是连续的三个点。
常规：

简写：

与 concat() 函数不同，您可以使用spread运算...]]></description><category></category></item><item><title><![CDATA[25个JavaScript代码简写技巧(上篇)]]></title><link>https://blog.youkuaiyun.com/EthanQ/article/details/100763954</link><guid>https://blog.youkuaiyun.com/EthanQ/article/details/100763954</guid><author>EthanQ</author><pubDate>Thu, 12 Sep 2019 10:26:11 +0800</pubDate><description><![CDATA[对于任何JavaScript开发人员来说，这篇文章很值得一读。这里记录了我多年来学习的JavaScript代码简洁写法，也给大家提供一些编码上的思考和取舍。
1. 三元(三目)运算符
如果只想在一行中编写if…else语句时，这是一个很好的节省代码的方式。
常规：

简写：

嵌套版三元运算：

2. 短路判断简写
将变量值分配给另一个变量时，您可能希望确保源变量不为null，undefined...]]></description><category></category></item></channel></rss>