vue-element ui
element滚动条设置 el-scrollbar属性
123456native: Boolean, // 是否使用本地,设为true则不会启用element-ui自定义的滚动条wrapStyle: {}, // 包裹层自定义样式wrapClass: {}, // 包裹层自定义样式类viewClass: {}, // 可滚动部分自定义样式类viewStyle: {}, // 可滚动部分自定义样式noresize: Boolean, // 如果 container 尺寸不会发生变化,最好设置它可以优化性能
水平垂直滚动条
1234567891011121314151617181920212223242526272829303132333435363738<script src="//unpkg.com/vue/dist/vue.js"></script><script src="//unpkg.com/element-ui@2 ...
vue .native修饰符用法
给vue组件绑定事件时候,必须加上native ,不然不会生效(监听根元素的原生事件,使用 .native 修饰符)
等同于在自组件中: 子组件内部处理click事件然后向外发送click事件:$emit("click".fn)
如果你想在某个组件的根元素上绑定事件,直接使用 @click=''function' 是不生效的,我们可以添加.native修饰符 @click.native=''function'',请看以下demo:
实现的功能是点击 的时候打印“test”
1.父组件:
12345678910111213141516171819202122232425<template> <div> <!-- 错误写法 --> <a-com @click='warpClick'></a-com> <!-- 正确写法 --> <a ...
vue-修饰符
vue-修饰符事件修饰符
.stop
阻止冒泡(通俗讲就是阻止事件向上级DOM元素传递)
.prevent
默认事件指对DOM的操作会引起自动执行的动作,比如点击超链接的时候会进行页面的跳转,点击表单提交按钮时会重新加载页面等,使用".prevent"修饰符可以阻止这些事件的发生。
.capture
捕获冒泡,即有冒泡发生时,有该修饰符的dom元素会先执行,如果有多个,从外到内依次执行,然后再按自然顺序执行触发的事件。
.self
将事件绑定到自身,只有自身才能触发,通常用于避免冒泡事件的影响(只有点击当前元素时候,才会触发事件处理函数)
.once
设置事件只能触发一次,比如按钮的点击等。
.passive
该修饰符大概意思用于对DOM的默认事件进行性能优化,根据官网的例子比如超出最大范围的滚动条滚动的
12345678910111213141516171819<!-- 阻止单击事件继续传播 --><a v-on:click.stop="doThis"></a><!-- 提交事 ...
vue.use
vue.useVue.use( plugin ):安装 Vue.js 插件。如果插件是一个对象,必须提供 install 方法。如果插件是一个函数,它会被作为 install 方法。install 方法将被作为 Vue 的参数调用。
当 install 方法被同一个插件多次调用,插件将只会被安装一次。
Vue.js 的插件应当有一个公开方法 install 。这个方法的第一个参数是 Vue 构造器,第二个参数是一个可选的选项对象:
123456789101112131415161718192021222324MyPlugin.install = function(Vue, options) {// 1. 添加全局方法或属性Vue.myGlobalMethod = function() {// 逻辑...}// 2. 添加全局资源Vue.directive('my-directive', {bind (el, binding, vnode, oldVnode) {// 逻辑...}...})// ...
mqtt服务器搭建
mqtt服务器搭建mqtt服务器开源mqtt服务器:
https://github.com/eclipse/mosquitto
https://github.com/emqx/emqx 带后台
mqtt客户端https://github.com/workswithweb/MQTTBox
https://github.com/thomasnordquist/MQTT-Explorer 可视化主题
http://mqttfx.jensd.de/index.php/download
go常用库收集
go常用库收集[文章]
https://draveness.me/
https://github.com/ThreeKing2018/goutil.git go util 是golang通用工具包,实现一站式,开箱即用
https://github.com/thinkeridea/go-extend.git go语言扩展包,收集一些常用的操作函数,辅助更快的完成开发工作,并减少重复代码
https://github.com/yireyun/go-queue 无锁队列
[web 框架]https://gin-gonic.com/zh-cn/docs/https://beego.me/
https://github.com/kataras/iris iris Go语言 mvc 框架
https://github.com/go-spring/go-spring 基于 IoC 实现的一套 GoLang 的应用程序框架
https://github.com/aceld/zinxZinx 是一个基于Golang的轻量级并发服务器框架
https://github.com/u ...
NATS集群
NATS集群集群模式nats的集群模式对客户端来说并不是透明的。所以集群对发布者和订阅者都是有影响的。发布者和订阅者都知道连接的是一个集群的服务,而不是一个单点服务,换句话说发布者订阅者都必须指明集群中各个节点的地址。当然,发布者和订阅者可以只针对集群中的某节点发布消息和订阅消息,不过这并不是集群模式的目的。
目的提高可用性和可伸缩性。
实现原理可用性,多个节点,挂掉任意一个,不影响整个集群对外提供服务。伸缩性,服务端支持随意增加节点。订阅者可以感知服务端节点的变动,但是发布者并不能自动感知。
创建集群123$ gnatsd -p 4222 -m 4333 -cluster nats://localhost:4248 -routes nats://localhost:5248,nats://localhost:6248 -DV $ gnatsd -p 5222 -m 5333 -cluster nats://localhost:5248 -routes nats://localhost:4248,nats://localhost:6248 -DV $ gnatsd -p 6222 ...
C动态库的编写及调用
C动态库的编写及调用GCC常用编译选项1、总体编译选项
选项名称
作用
-c
只是编译不链接,生成目标文件.o
-S
只是编译不汇编,生成汇编代码
-E
只进行预编译,不做其他处理
-g
在可执行程序中包含标准调试信息
-o file
把输出文件输出到file里
-v
打印出编译器内部编译各过程的命令行信息和编译器的版本
-I dir
在头文件的搜索路径列表中添加dir目录
-L dir
在库文件的搜索路径列表中添加dir目录
-static
链接静态库
-llibrary
连接名为library的库文件
2、其他常用编译选项
选项名称
作用
-ansi
支持符合ANSI标准的C程序
-pedantic
允许发出ANSI C标准所列的全部警告信息
-pedantic-error
允许发出ANSI C标准所列的全部错误信息
-Wall
允许发出gcc提供的所有有用的报警信息
-Werror
把所有的告警信息转化为错误信息,并在告警发生时终止编译过程
-O
主要进行线程跳转(Thread Jump)和延迟退栈 ...
C#调用C++动态库
C#调用C++动态库1.c#调用c++的方法C#调用C++的dll总归可以有两种方法:
非托管C++创建的dll库,需要用静态方法调用;
直接使用CLR,生成托管C++dll库。
很多时候在项目中需要通过C++调用C#的dll,或者反过来调用。首先明白一个前提:C#是托管型代码。C++是非托管型代码。托管型代码的对象在托管堆上分配内存,创建的对象由虚拟机托管。(C# )非托管型代码对象有实际的内存地址,创建的对象必须自己来管理和释放。(C++)
2.托管方式下面就用一个完整的实例来详细说明怎样用托管C++封装一个C++类以提供给C#使用。比如,现在有一个工程名为NativeCppDll的由C++编写的DLL,里面输出了一个CPerson类。下面是具体的代码:
1234567891011121314151617181920212223242526// NativeCppDll.h#pragma once#ifndef LX_DLL_CLASS_EXPORTS #define LX_DLL_CLASS __declspec(dllexport)#else #defin ...
C++导出类
C++导出类1.纯虚函数方式纯虚函数定义如下(mysqldll.h)
12345678910111213141516171819202122232425#pragma once#ifdef MMYSQL_EXPORTS#define MMYSQL_API __declspec(dllimport)#else#define MMYSQL_API __declspec(dllexport)#endif#include "stdafx.h"#include <string>#include <mysql.h>#pragma comment(lib, "ws2_32.lib") #pragma comment(lib, "libmysql.lib")class mmysql{public: virtual bool initConnection() = 0; virtual bool addData(char* username, char* password) = 0; vir ...
生成证书的三种方式
生成证书的三种方式根据官方文档,生成k8s秘钥证书及相关管理证书有三种方式,其本质都是通过openssl:
cfssl
easyrsa
openssl
官方文档:https://kubernetes.io/docs/concepts/cluster-administration/certificates/
cfssl方式1.cfssl下载地址:12345VERSION=R1.2for i in {cfssl,cfssljson,cfssl-certinfo}dowget https://pkg.cfssl.org/${VERSION}/${i}_linux-amd64 -O /usr/local/bin/${i}done
工具解释
sign 签发证书
bundle 创建包含客户端证书的证书包
genkey 生成私钥和证书请求
gencert 生成私钥和证书
serve 启动证书服务器
version 打印版本
selfsign 生成 ...
Etcd配置
Etcd配置etcd 可以通过命令行标记和环境变量来配置。命令行上设置的选项优先于环境变量。
对于标记 --my-flag 环境变量的格式是 ETCD_MY_FLAG。 适用于所有标记。
正式的ectd端口 是 2379 用于客户端连接,而 2380 用于伙伴通讯。etcd 端口可以设置为接受 TLS 通讯,non-TLS 通讯,或者同时有 TLS 和 non-TLS 通讯。
为了在 linux 启动试使用自定义设置自动启动 etcd ,强烈推荐使用 systemd单元。
成员标记--name
成员的可读性的名字.
默认: "default"
环境变量: ETCD_NAME
这个值被作为这个节点自己的入口中被引用, 在 --initial-cluster 标记(例如, default=http://localhost:2380)中列出。如果使用 static bootstrapping,这需要匹配在标记中使用的key。当使用发现时,每个成员必须有唯一名字。Hostname 或 machine-id 可以是一个好选择。
--data-dir
到数据目录的路径.
默 ...
Etcd集群指南
Etcd集群指南概述启动 etcd 集群要求每个成员知道集群中的其他成员。在一些场景中,集群成员的 IP 地址可能无法提前知道。在这种情况下,etcd 集群可以在发现服务的帮助下启动。
一旦 etcd 集群启动并运行,可以通过 运行时重配置 来添加或者移除成员。为了更好的理解运行时重配置背后的设计,建议阅读 运行时重配置的设计。
这份指南将覆盖下列用于启动 etcd 集群的机制:
静态
etcd 发现
DNS 发现
启动机制的每一种都将用于启动三台机器的 etcd 集群,详情如下:
名字
地址
主机
infra0
10.0.1.10
infra0.example.com
infra1
10.0.1.11
infra1.example.com
infra2
10.0.1.12
infra2.example.com
静态如果在启动前我们知道集群成员,他们的地址和集群的大小,我们可以使用通过设置 initial-cluster 标记来离线启动配置。每个机器将得到下列环境变量或者命令行:
1234ETCD_INITIAL_CLUSTER="infra0= ...
Etcd的简单使用
https://github.com/etcd-io/etcd/releases
Etcd的简单使用API V2与V3区别
事务:ETCD V3提供了多键条件事务(multi-key conditional transactions),应用各种需要使用事务代替原来的Compare-And-Swap操作。
平键空间(Flat key space):ETCD V3不再使用目录结构,只保留键。例如:”/a/b/c/“是一个键,而不是目录。V3中提供了前缀查询,来获取符合前缀条件的所有键值,这变向实现了V2中查询一个目录下所有子目录和节点的功能。
简洁的响应:像DELETE这类操作成功后将不再返回操作前的值。如果希望获得删除前的值,可以使用事务,来实现一个原子操作,先获取键值,然后再删除。
租约:租约代替了V2中的TTL实现,TTL绑定到一个租约上,键再附加到这个租约上。当TTL过期时,租约将被销毁,同时附加到这个租约上的键也被删除。
安装手动安装
123456789101112131415161718WORKSPACE=/etcdETCD_DI ...
Etcd应用
Etcd应用随着CoreOS和Kubernetes等项目在开源社区日益火热,它们项目中都用到的etcd组件作为一个高可用强一致性的服务发现存储仓库,渐渐为开发人员所关注。在云计算时代,如何让服务快速透明地接入到计算集群中,如何让共享配置信息快速被集群中的所有机器发现,更为重要的是,如何构建这样一套高可用、安全、易于部署以及响应快速的服务集群,已经成为了迫切需要解决的问题。etcd为解决这类问题带来了福音,本文将从etcd的应用场景开始,深入解读etcd的实现方式,以供开发者们更为充分地享用etcd所带来的便利。
经典应用场景要问etcd是什么?很多人第一反应可能是一个键值存储仓库,却没有重视官方定义的后半句,用于配置共享和服务发现。
A highly-available key value store for shared configuration and service discovery.
实际上,etcd作为一个受到ZooKeeper与doozer启发而催生的项目,除了拥有与之类似的功能外,更专注于以下四点。
简单:基于HTTP+JSON的API让你用curl就可以轻松 ...
GitBook工具生成PDF格式的文档
使用GitBook工具对github等网站的开源书籍生成PDF文件环境:ubuntu16.04 64位
GitBook工具生成PDF格式的文档GitBook安装和使用安装node.js 和 npm
下载node-v12.13.0,下载的为linux 64位二进制可执行程序的压缩包
安装
我们希望把nodejs和npm安装在/opt/nodejs目录下,并提供全局命令
xz -d node-v12.13.0-linux-x64.tar.xz
tar -xf node-v12.13.0-linux-x64.tar
sudo mv node-v12.13.0-linux-x64 /opt/nodejs-12.13
export PATH=$PATH:/opt/nodejs-12.13/bin
source /etc/profile
到此,node和npm命令已经是全局可用的啦
安装GitBook
npm install gitbook-cli -g
sudo chmod +x /opt/nodejs-12.13/bin/gitbook
gitbook in ...
MQTT入门介绍
中文文档:https://mcxiaoke.gitbooks.io/mqtt-cn/content/
MQTT client:https://github.com/mqtt/mqtt.github.io/wiki/libraries
MQTT server:https://github.com/mqtt/mqtt.github.io/wiki/servers
官网:http://mqtt.org/
MQTT 入门介绍一、简述MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协 ...
MySQL基础常见常用语句
数据库练习网站:http://sqlzoo.net/wiki/SQL_Tutorial
转载自:http://blog.csdn.net/csdn_0_001/article/details/79051481
数据库12345678# 查看所有的数据库SHOW DATABASES ;# 创建一个数据库CREATE DATABASE k;# 删除一个数据库DROP DATABASE k;# 使用这个数据库USE k;
表12345678910111213141516171819202122232425262728# 查看所有的表SHOW TABLES ;# 创建一个表CREATE TABLE n(id INT, name VARCHAR(10));CREATE TABLE m(id INT, name VARCHAR(10), PRIMARY KEY (id), FOREIGN KEY (id) REFERENCES n(id), UNIQUE (name));CREATE TABLE m(id INT, name VARCHAR(10));# 直接将查询结果导入或复制到新创建的 ...
软件设计的七大原则
https://www.cnblogs.com/cainiao-chuanqi/p/10959800.html#autoid-6-3-0
软件设计的七大原则在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。我来依次来总结这 7 条原则。
这 7 种设计原则是软件设计模式必须尽量遵循的原则,各种原则要求的侧重点不同。其中,开闭原则是总纲,它告诉我们要对扩展开放,对修改关闭;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;单一职责原则告诉我们实现类要职责单一;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合度;合成复用原则告诉我们要优先使用组合或者聚合关系复用,少用继承关系复用。
开闭原则开闭原则的定义开闭原则(Open Closed Principle,OCP)由勃兰特·梅耶(Bertrand Meyer)提出,他在 1988 年的著作《面向对象软件构造》(Object Oriented Software Co ...
jetbrains插件
编辑器相关插件active-power-mode这是一款让你在编码的时候,整个屏幕都为之颤抖的插件。
统计打击次数哦
Rainbow Brackets彩虹颜色的括号 看着很舒服 敲代码效率变高
Gitee项目云同步,让项目直接上传码云
Translator有道翻译插件,有备无患,让你彻底摆脱浏览器查单词啦!
grep console自带 Console 的升级版本
JAVA开发相关插件Alibaba Java Coding Guidelines代码规范
IDEA Mind Map不知道你用思维导图多吗?反正我现在是离不开思维导图了。如果你想找一款跨平台的,支持多种格式文件的导入和导出,同步更新时便于合并「以文本格式保存,支持 markdown 的语法,方便解决冲突」,那么它真的很适合你。
jetbrains gateway破解C:\Users\xxxxxxx\AppData\Roaming\JetBrains\JetBrainsClient221.5787.30
增加jetbrains_client64.exe.vmoptions文件
1-javaagent:D:\MySoft\J ...