<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wolf]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wolf131721</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wolf131721]]></copyright><item><title><![CDATA[CentOS7下安装nvm]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/106429953</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/106429953</guid><author>wolf131721</author><pubDate>Fri, 29 May 2020 17:41:39 +0800</pubDate><description><![CDATA[1安装版本管理工具git


yum install git


查看git版本


git --version


2 安装Node.js版本管理工具nvm


curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash


或者


wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | b]]></description><category></category></item><item><title><![CDATA[微信小程序之公共组件写法]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/104753645</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/104753645</guid><author>wolf131721</author><pubDate>Mon, 09 Mar 2020 15:33:34 +0800</pubDate><description><![CDATA[我们要实现如下图功能



小程序一个公共的弹出组件，首先我们创建一个pop文件



然后在生成的pop.json文件中将component定义为true


{
  "component": true
}

为pop.wxml添加内容


&lt;!--pages/common/pop/pop.wxml--&gt;
&lt;view class='wx_dialog' hidden="{{!i...]]></description><category></category></item><item><title><![CDATA[block-配置讲解]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/104052687</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/104052687</guid><author>wolf131721</author><pubDate>Mon, 20 Jan 2020 15:44:50 +0800</pubDate><description><![CDATA[本文基于Web Blockly，整理一下可视化编程工具-Blockly 的常用配置，包括：工作区配置、添加自定义块、配置工具箱、配置代码生成器等。

固定尺寸工作区
	可调尺寸工作区
	添加自定义块（Block）
	工具箱（Toolbox）配置
	代码生成器
	网格（Grid）
	缩放（Zoom）
	事件
	云存储
1. 固定尺寸工作区

把 Blockly 放到网页上最简单的方法是将其注入到一个...]]></description><category></category></item><item><title><![CDATA[2020前端面试题]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/90401970</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/90401970</guid><author>wolf131721</author><pubDate>Tue, 14 Jan 2020 15:57:29 +0800</pubDate><description><![CDATA[1.vue相关知识

 &lt;1&gt;vue.extend

 作用：使用基础 Vue 构造器，创建一个“子类”.Vue.extend返回的是一个扩展实例构造器，也就是预设了部分选项的Vue实例构造器。其主要用来服务于Vue.component，用来生成组件。可以简单的理解为当在模板中遇到该组件名称作为标签的自定义元素时，会自动调用扩展实例构造器来生产组件实例，并挂载到自定义元素...]]></description><category></category></item><item><title><![CDATA[Django使用ajax异步请求时，如何解决403问题]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/93190397</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/93190397</guid><author>wolf131721</author><pubDate>Tue, 14 Jan 2020 15:56:51 +0800</pubDate><description><![CDATA[ajax异步请求会出现如下问题



解决方案

首先，在views.py里导入包


from django.views.decorators.csrf import csrf_exempt,csrf_protect

然后，在views.py里定义的函数前面加上@csrf_exempt
...]]></description><category></category></item><item><title><![CDATA[vi / vim - - 终端编辑器]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/91358046</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/91358046</guid><author>wolf131721</author><pubDate>Tue, 14 Jan 2020 15:56:25 +0800</pubDate><description><![CDATA[1.打开文件


vim 文件名 （有打开，无创建）

2.打开文件并定位行


vim  文件名  +行数 （有行数，光标到指定行，没有光标到最后一行）

3 三种基本工作模式












...]]></description><category></category></item><item><title><![CDATA[blockly -- 自定义块]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/103912992</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/103912992</guid><author>wolf131721</author><pubDate>Tue, 14 Jan 2020 15:55:53 +0800</pubDate><description><![CDATA[本文档面向希望在Blockly中创建新块的开发人员。假定有人拥有一个可以编辑的Blockly本地副本，一个通常熟悉Blockly的用法，另一个则对JavaScript有基本的了解。



Blockly带有大量预定义的块。从数学函数到循环结构，应有尽有。但是，为了与外部应用程序接口，必须创建自定义块以形成API。例如，创建绘图程序时，可能需要创建一个“半径为R的绘图圆”块。

在大多数情况下，...]]></description><category></category></item><item><title><![CDATA[linux 用户权限]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/90269177</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/90269177</guid><author>wolf131721</author><pubDate>Tue, 14 Jan 2020 15:54:59 +0800</pubDate><description><![CDATA[01.用户 和 权限 的基本概念




]]></description><category></category></item><item><title><![CDATA[blockly--Move]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/103912654</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/103912654</guid><author>wolf131721</author><pubDate>Tue, 14 Jan 2020 15:54:22 +0800</pubDate><description><![CDATA[Move

Blockly的主工作区可以使用三种不同的方法移动：the scrollbars, the mouse, or the mouse wheel.(滚动条、鼠标或鼠标滚轮)。

移动设置由Blockly配置的一部分对象定义。下面是一个例子：


var workspace = Blockly.inject('blocklyDiv',
  {move:{
    scrollb...]]></description><category></category></item><item><title><![CDATA[blockly -- 定义块工具]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/103913163</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/103913163</guid><author>wolf131721</author><pubDate>Tue, 14 Jan 2020 15:53:51 +0800</pubDate><description><![CDATA[Blockly Developer Tools

Blockly Developer Tools是一个基于Web的开发人员工具，可自动执行Blockly配置过程的各个部分，包括创建自定义块，构建工具箱和配置Web Blockly工作区。

使用该工具的Blockly开发人员流程包括三个部分：

使用“Block Factory”和“Block Exporter”创建自定义块。
	使用工作区工厂构...]]></description><category></category></item><item><title><![CDATA[blockly--主题]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/103911563</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/103911563</guid><author>wolf131721</author><pubDate>Tue, 14 Jan 2020 15:53:16 +0800</pubDate><description><![CDATA[主题

主题是一种定制Blockly外观和感觉的方法。目前我们支持在块和类别上自定义某些样式。我们创建主题的主要目标是授权开发人员创建更容易访问的块体验。

然而，伴随着强大的力量而来的是巨大的责任。如果不需要控制块的所有三种样式值（块颜色、边框颜色和阴影块颜色），我们强烈建议用户坚持使用块颜色。很难找到协调一致的颜色，所以最简单的方法仍然是使用色调定义颜色，并允许Blockly计算边框和阴影块的...]]></description><category></category></item><item><title><![CDATA[blockly 把工作区中的块输出成代码]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/103974530</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/103974530</guid><author>wolf131721</author><pubDate>Tue, 14 Jan 2020 15:50:20 +0800</pubDate><description><![CDATA[代码生成器

Blockly的大多数应用程序都要求将用户的程序翻译成JavaScript，Python，PHP，Lua，Dart或其他语言。此操作由Blockly在客户端执行。这个过程就需要代码生成器。

生成代码

第一步是包含所用语言的生成器。Blockly包含以下5种生成器，分别对应不同的语言：

javascript_compressed.js
	python_compressed.js
...]]></description><category></category></item><item><title><![CDATA[blockly -- Custom Blocks: Style Guide]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/103956963</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/103956963</guid><author>wolf131721</author><pubDate>Mon, 13 Jan 2020 14:28:49 +0800</pubDate><description><![CDATA[Custom Blocks: Style Guide

多年来，区块和区块游戏团队已经吸取了许多教训，适用于开发新区块。以下是我们所犯的错误，或其他人常犯的错误的集合。

这些是我们在使用Blockly的视觉风格时学到的一般经验，可能并不适用于所有的用例或设计。其他解决方案存在。这也不是用户可能遇到的问题以及如何避免这些问题的详尽列表。每个案例都有点不同，都有自己的取舍。

1. Conditio...]]></description><category></category></item><item><title><![CDATA[blockly -- Custom Blocks: Block Paradigms]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/103928778</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/103928778</guid><author>wolf131721</author><pubDate>Fri, 10 Jan 2020 19:02:43 +0800</pubDate><description><![CDATA[Custom Blocks: Block Paradigms

当设计一个使用块的应用程序时，有几个范例可供选择。应该尽早考虑这些选择，因为它们会影响用户需要的块。

Configuration

许多块应用程序用于描述配置，而不是可执行程序。配置应用程序通常从初始化工作区上的一个根级别块开始。一个很好的例子是Blockly开发工具的Block Factory选项卡：




var xml = ...]]></description><category></category></item><item><title><![CDATA[block--生成器（Generating Code）]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/103927647</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/103927647</guid><author>wolf131721</author><pubDate>Fri, 10 Jan 2020 17:38:59 +0800</pubDate><description><![CDATA[Generating Code

大多数块应用程序需要将块转换为执行代码。本页介绍如何将代码生成器添加到自定义块。

首先，转到generators/目录并选择与要生成的语言相对应的子目录（JavaScript、Python、PHP、Lua、Dart等）。假设您的块不适合现有的类别，则创建一个新的JavaScript文件。这个新的JavaScript文件需要包含在编辑器HTML文件的&lt;scr...]]></description><category></category></item><item><title><![CDATA[blockly --本地化块（ Localize Blocks）]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/103925533</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/103925533</guid><author>wolf131721</author><pubDate>Fri, 10 Jan 2020 16:56:40 +0800</pubDate><description><![CDATA[Localize Blocks

Blockly支持可以本地化为用户语言的块定义。通过使用字符串表，JSON块定义中的消息字符串可以调整输入、字段和标签，以反映语言的词汇表、单词顺序和方向。



所有这些情况都共享相同的JSON块定义：


/ Block for creating a list with one element repeated.
{
 "type": "lists_r...]]></description><category></category></item><item><title><![CDATA[blockly -- 颜色（Block colour）]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/103924973</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/103924973</guid><author>wolf131721</author><pubDate>Fri, 10 Jan 2020 15:28:23 +0800</pubDate><description><![CDATA[Block colour

大多数区块应用程序使用各种区块颜色，以视觉方式将区块分类。Blockly附带的块包括八个类别，颜色由演示中的各种工具栏类别反映：



许多工具箱项还包括作为默认输入值的阴影块。例如，蓝色加法块的数字。阴影块的颜色来自于块的标准颜色，但不饱和。

Defining the block colour

块颜色可以用JSON或JavaScript中定义：


//json...]]></description><category></category></item><item><title><![CDATA[blockly -- 定义块]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/103913607</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/103913607</guid><author>wolf131721</author><pubDate>Fri, 10 Jan 2020 15:00:48 +0800</pubDate><description><![CDATA[定义块


块定义描述了块的外观和行为，包括文本，颜色，形状以及它可以连接的其他块。

定义自定义块后，每个平台都会以不同的方式加载这些定义，详细信息请参见网络和Android特定配置指南。



JSON格式与JavaScript API

Blockly有两种定义块的方式：JSON对象和JavaScript函数。JSON格式是跨平台的，因此可以使用相同的代码在Web，Android和iO...]]></description><category></category></item><item><title><![CDATA[blockly-- 事件]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/103910657</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/103910657</guid><author>wolf131721</author><pubDate>Thu, 09 Jan 2020 16:52:07 +0800</pubDate><description><![CDATA[事件


工作区上的每个更改都会触发一个事件。这些事件充分描述了每个更改的前后状态。

监听事件

工作区具有addChangeListener和removeChangeListener方法，可用于侦听事件流。一个示例是实时生成代码。另一个示例是最大块限制演示。通常，这两个示例都不关心触发事件是什么。他们只是查看工作区的当前状态。

一个更复杂的事件侦听器将查看触发事件。下面的示例检测用户何时...]]></description><category></category></item><item><title><![CDATA[blockly -  缩放]]></title><link>https://blog.youkuaiyun.com/wolf131721/article/details/103910471</link><guid>https://blog.youkuaiyun.com/wolf131721/article/details/103910471</guid><author>wolf131721</author><pubDate>Thu, 09 Jan 2020 16:19:33 +0800</pubDate><description><![CDATA[缩放

Blockly的主工作区可以是可伸缩的，可以由用户动态扩展，也可以由开发人员静态扩展。

缩放设置由Blockly配置的一部分对象定义。下面是一个例子：


var workspace = Blockly.inject('blocklyDiv',
    {toolbox: document.getElementById('toolbox'),
     zoom:
         {c...]]></description><category></category></item></channel></rss>