<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[FCzhandu0的专栏]]></title><description><![CDATA[编程技术，源码语言]]></description><link>https://blog.youkuaiyun.com/FCzhandu0</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; FCzhandu0]]></copyright><item><title><![CDATA[2020-08-11]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/107932298</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/107932298</guid><author>FCzhandu0</author><pubDate>Tue, 11 Aug 2020 11:48:58 +0800</pubDate><description><![CDATA[vue框架篇

vue的优点

轻量级框架：只关注视图层，是一个构建数据的视图集合，大小只有几十kb；

简单易学：国人开发，中文文档，不存在语言障碍 ，易于理解和学习；

双向数据绑定：保留了angular的特点，在数据操作方面更为简单；

组件化：保留了react的优点，实现了html的封装和重用，在构建单页面应用方面有着独特的优势；

视图，数据，结构分离：使数据的更改更为简单，不需要进行逻辑代码的修改，只需要操作数据就能完成相关操作；

虚拟DOM：dom操作是非常耗费性能的，不再使用原生的dom操]]></description><category></category></item><item><title><![CDATA[2020-08-11]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/107929067</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/107929067</guid><author>FCzhandu0</author><pubDate>Tue, 11 Aug 2020 10:08:38 +0800</pubDate><description><![CDATA[1、生成随机数

遍历数组，每次循环都随机一个在数组长度范围内的数，并交换本次循环的位置和随机数位置上的元素


function randomSort1(arr) {
  for (let i = 0, l = arr.length; i &lt; l; i++) {
    let rc = parseInt(Math.random() * l)
    // 让当前循环的数组元素和随机出来的数组元素交换位置
    const empty = arr[i]
    arr[i] = arr[rc]
 ]]></description><category></category></item><item><title><![CDATA[2020-08-11]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/107928802</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/107928802</guid><author>FCzhandu0</author><pubDate>Tue, 11 Aug 2020 10:00:07 +0800</pubDate><description><![CDATA[轻量级框架：只关注视图层，是一个构建数据的视图集合，大小只有几十kb；

简单易学：国人开发，中文文档，不存在语言障碍 ，易于理解和学习；

双向数据绑定：保留了angular的特点，在数据操作方面更为简单；

组件化：保留了react的优点，实现了html的封装和重用，在构建单页面应用方面有着独特的优势；

视图，数据，结构分离：使数据的更改更为简单，不需要进行逻辑代码的修改，只需要操作数据就能完成相关操作；

虚拟DOM：dom操作是非常耗费性能的，不再使用原生的dom操作节点，极大解放dom操作，但具]]></description><category></category></item><item><title><![CDATA[使用Go实现GoF的23种设计模式（一）]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/107928273</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/107928273</guid><author>FCzhandu0</author><pubDate>Tue, 11 Aug 2020 09:41:49 +0800</pubDate><description><![CDATA[使用Go实现GoF的23种设计模式（一）

前言

从1995年GoF提出23种设计模式到现在，25年过去了，设计模式依旧是软件领域的热门话题。在当下，如果你不会一点设计模式，都不好意思说自己是一个合格的程序员。设计模式通常被定义为：


设计模式（Design Pattern）是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结，使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。


从定义上看，设计模式其实是一种经验的总结，是针对特定问题的简洁而优雅的解决方案。既然是]]></description><category></category></item><item><title><![CDATA[实战Go内存泄露]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/105865165</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/105865165</guid><author>FCzhandu0</author><pubDate>Thu, 30 Apr 2020 16:52:50 +0800</pubDate><description><![CDATA[实战Go内存泄露

golangmemory内存泄露pprof



最近解决了我们项目中的一个内存泄露问题，事实再次证明pprof是一个好工具，但掌握好工具的正确用法，才能发挥好工具的威力，不然就算你手里有屠龙刀，也成不了天下第一，本文就是带你用pprof定位内存泄露问题。

关于Go的内存泄露有这么一句话不知道你听过没有：

10次内存泄露，有9次是goroutine泄露。

我所解决的问题，...]]></description><category></category></item><item><title><![CDATA[cpu运作原理]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/105267103</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/105267103</guid><author>FCzhandu0</author><pubDate>Thu, 02 Apr 2020 12:34:26 +0800</pubDate><description><![CDATA[我们每个程序员或许都有一个梦，那就是成为大牛，我们或许都沉浸在各种框架中，以为框架就是一切，以为应用层才是最重要的，你错了。在当今计算机行业中，会应用是基本素质，如果你懂其原理才能让你在行业中走的更远，而计算机基础知识又是重中之重。下面，跟随我的脚步，为你介绍一下计算机底层知识。

CPU

还不了解 CPU 吗？现在就带你了解一下 CPU 是什么

CPU 的全称是Central Proces...]]></description><category></category></item><item><title><![CDATA[数值天气预报]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/104943343</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/104943343</guid><author>FCzhandu0</author><pubDate>Wed, 18 Mar 2020 13:57:09 +0800</pubDate><description><![CDATA[The Quiet Revolution of Numerical Weather Prediction

Peter Bauer, Alan Thorpe &amp; Gilbert Brunet

http://www.nature.com/nature/journal/v525/n7567/full/nature14956.html



摘要

数值天气预报的发展如同一次寂静革命（...]]></description><category></category></item><item><title><![CDATA[golang  注释规范]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/104752008</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/104752008</guid><author>FCzhandu0</author><pubDate>Mon, 09 Mar 2020 14:27:41 +0800</pubDate><description><![CDATA[注释的意义

注释可以帮我们很好的完成文档的工作，写得好的注释可以方便我们以后的维护。
	/**/ 的块注释和 // 的单行注释两种注释风格， 在我们的项目中为了风格的统一，全部使用单行注释，注释的质量决定了生成的文档的质量。
	下面从包注释、结构体（接口）注释、函数（方法）注释、代码逻辑注释以及注释规范方面进行说明。



包注释

每个包都应该有一个包注释，一个位于package子句之前行注...]]></description><category></category></item><item><title><![CDATA[JavaScript  map 合集]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/104539729</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/104539729</guid><author>FCzhandu0</author><pubDate>Thu, 27 Feb 2020 17:09:35 +0800</pubDate><description><![CDATA[属性



Map.length

属性 length 的值为 0 。
想要计算一个Map中的条目数量， 使用Map.prototype.size.

get Map[@@species]

本构造函数用于创建派生对象。

Map.prototype

表示Map构造器的原型。允许添加属性从而应用于所有的Map对象。





Map实例 属性



Map.prototyp...]]></description><category></category></item><item><title><![CDATA[JavaScript  set合集]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/104536111</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/104536111</guid><author>FCzhandu0</author><pubDate>Thu, 27 Feb 2020 14:36:08 +0800</pubDate><description><![CDATA[语法


&lt;span style="color:#333333"&gt;new Set([iterable]);&lt;/span&gt;

参数

iterable

如果传递一个可迭代对象，它的所有元素将不重复地被添加到新的Set中。如果不指定此参数或其值为null，则新的Set为空。

返回值

一个新的Set对象。

简述

Set对象是值的集合，你可以按照插入的顺序迭代它的元素...]]></description><category></category></item><item><title><![CDATA[.eslintrc.js 配置解析]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/103755362</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/103755362</guid><author>FCzhandu0</author><pubDate>Sun, 29 Dec 2019 17:07:18 +0800</pubDate><description><![CDATA[官方文档：https://eslint.org/

中文文档：https://cn.eslint.org/


/*
		
			* ESLint的JSON文件是允许JavaScript注释的，但在gist里显示效果不好，所以我把.json文件后缀改为了.js
		
			*/
		
			
		
			/*
		
			* ESLint 配置文件优先级：
		
			* .e...]]></description><category></category></item><item><title><![CDATA[VScode代码格式化后不符合ESLint风格问题处理]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/103755110</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/103755110</guid><author>FCzhandu0</author><pubDate>Sun, 29 Dec 2019 16:49:04 +0800</pubDate><description><![CDATA[问题描述
vscode中默认代码格式化ctrl+shift+f后，代码无法通过eslint的代码风格检查。

解决方案
首先安装eslint，prettier-Code formatter，vetur 这三个插件，大多数情况下vetur已经安装了。

然后文件——首选项——设置，来到用户设置。

用户设置这里配置如下代码，

具体代码：

{
 "workbench.editor.enableP...]]></description><category></category></item><item><title><![CDATA[vscode  golang 配置详解]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/103254910</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/103254910</guid><author>FCzhandu0</author><pubDate>Tue, 26 Nov 2019 13:54:46 +0800</pubDate><description><![CDATA[go install github.com/nsf/gocode最新使用：go install github.com/mdempsky/gocode

go install github.com/rogpeppe/godef
go install github.com/zmb3/gogetdoc
go install github.com/golang/lint/golint
go instal...]]></description><category></category></item><item><title><![CDATA[GO环境变量详解]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/103254568</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/103254568</guid><author>FCzhandu0</author><pubDate>Tue, 26 Nov 2019 13:33:30 +0800</pubDate><description><![CDATA[Golang环境变量设置详解


无论你是使用Windows,Linux还是Mac OS操作系统来开发Go应用程序，在安装好Go安装语言开发工具之后，都必须配置好Go语言开发所要求的 环境变量，才算初步完成Go开发环境的搭建。


但对于一些初学者来说，可能不太明白Go语言中常用的环境变量(Environment variables)的作用以及如何设置环境变量，今天我们来讲讲。


注意：Go提供...]]></description><category></category></item><item><title><![CDATA[VS Code   go - tools 安装]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/103233235</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/103233235</guid><author>FCzhandu0</author><pubDate>Mon, 25 Nov 2019 10:05:30 +0800</pubDate><description><![CDATA[go tools

1. 手动创建目录$GOPATH/src/golang.org/x/tools

2. 手动下载 go tools


git clone https://github.com/golang/tools.git ./


golang tools

3. 安装 go tools


go install golang.org/x/tools/cmd/guru
go instal...]]></description><category></category></item><item><title><![CDATA[Javascript 面向对象编程之二 —— 组合使用构造函数模式和原型模式]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/103009752</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/103009752</guid><author>FCzhandu0</author><pubDate>Tue, 12 Nov 2019 11:26:13 +0800</pubDate><description><![CDATA[目录

1.1 示例

1.2 动态原型模式

1.3 寄生构造函数模式

1.1 示例


常见写法 一



function Person(name, age, job){
this.name = name;
this.age = age;
this.job = job;
this.friends = ["Shelby", "Court"];
}
Person.prototype = ...]]></description><category></category></item><item><title><![CDATA[Javascript 面向对象编程之一 ——工厂模式、构造模式、原型模式]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/102855810</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/102855810</guid><author>FCzhandu0</author><pubDate>Mon, 11 Nov 2019 13:47:03 +0800</pubDate><description><![CDATA[目录

1.JavaScript面向对象编程的理解

1.1对象的创建

1.2 工厂模式创建对象

1.2 原型模式

1.3实例枚举



1.JavaScript面向对象编程的理解


面向对象：无序属性的集合，其属性可以包含基本值、对象和函数。

每个对象的创建都是基于一个引用类型创建的，也可以是开发人员自己定义的类型


1.1对象的创建


// 早期开发人员创建对象的方式

...]]></description><category></category></item><item><title><![CDATA[从零开始学C++之模板（一）：函数模板、函数模板特化、重载函数模板、非模板函数重载]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/9455657</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/9455657</guid><author>FCzhandu0</author><pubDate>Fri, 01 Nov 2019 11:28:34 +0800</pubDate><description><![CDATA[一、引子

考虑求两数较大值函数max(a,b)
对于a，b的不同类型，都有相同的处理形式：


return a &lt; b ? b : a;


用已有方法解决：
（1）宏替换 #define max(a,b) ((a)&lt; (b) ? (b) : (a))


存在的问题：避开类型检查


（2）重载


存在的问题：需要许多重载版本


（3）使用函数模板



二、模板

模板是...]]></description><category></category></item><item><title><![CDATA[Javascript 面向对象编程之设计模式——设计模式提要]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/102836243</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/102836243</guid><author>FCzhandu0</author><pubDate>Thu, 31 Oct 2019 13:47:53 +0800</pubDate><description><![CDATA[目录

JavaScript设计模式之前言——设计模式提要

什么是设计模式

目的



JavaScript设计模式之前言——设计模式提要


什么是设计模式


①设计模式是我们每天编程遇到的问题的可重用解决方案。

②设计模式主要是为了解决对象的生成和整合问题。

③换句话说，设计模式可以作为可应用于现实世界编程问题的模板。


目的


为了使应用程序具有可扩展性，可靠性和易维护性，应...]]></description><category></category></item><item><title><![CDATA[Javascript 面向对象编程之设计模式——UML图解]]></title><link>https://blog.youkuaiyun.com/FCzhandu0/article/details/102836084</link><guid>https://blog.youkuaiyun.com/FCzhandu0/article/details/102836084</guid><author>FCzhandu0</author><pubDate>Thu, 31 Oct 2019 13:31:39 +0800</pubDate><description><![CDATA[目录

JavaScript设计模式之前言——UML图解



JavaScript设计模式之前言——UML图解












]]></description><category></category></item></channel></rss>