emqx docker-compose 方式部署
docker-compose.yml
1234567891011121314151617version: "3"services: mqtt: image: emqx/emqx:4.2.14 container_name: mqtt restart: always ports: - "1883:1883" - "8083:8083" volumes: - /etc/timezone:/etc/timezone - /etc/localtime:/etc/localtime environment: - EMQX_LOADED_PLUGINS="emqx_recon,emqx_retainer,emqx_management,emqx_auth_username" - EMQX_ALLOW_ANONYMOUS=false - EMQX_AUTH__USER__1__USERNAME=${MQT ...
vue中动态绑定的文本中加入跳转链接处理方式
业务中有一块是通知中心,其中的通知文本中有的文字是可以点击跳转到其他页面的。但是又不想使用富文本渲染。遂采用以下实现方式
v-html 渲染
a 标签标识可跳转链接
dataset 设置参数
12345678910111213141516171819202122232425262728293031<template> <div> <div v-html="text" @click="click"></div> </div></template><script>export default { name: "About", data() { return { text: `你好,这是<a data-name='Preview' data-id='123' data-mode="preview">链接</ ...
创建循环日期的node库date-recur及使用方法
因为在业务中周期性的任务,用到的该 node 库,记录一下备忘。业务需求是创建周期性的任务。比如每天,每隔几天,每周的周几,每月的几号,每年几月几号,以这些描述生成一系列的日期。
效果按天循环
按周循环
按月循环
按年循环
介绍 date-recur创建一个循环日期并查询它以查看它是否落在特定日期。使用方法详见npm date-recur
这里举几个例子12345678910const r = recur(start, end); //限定开始和结束日期// r.setDailyInterval(1); // 每天// r.setDailyInterval(2); //每两天// r.setDaysOfWeek(1)//每周一// r.setDaysOfWeek([1, 2]); //每周一周二// r.setWeeklyInterval(2).setDaysOfWeek(1); //每隔一周周一// r.setWeeklyInterval(3).setDaysOfWeek([1, 3]); //每三周周一周三// r.setDaysOfMonth(1); //每月一号// r.s ...
简单的flask程序,实时返回图片缩略图
因为网页上图片太大,现在要生成缩略图返回。使用 python 的 Pillow 库处理图片缩略图并返回。
以下是 flask 程序,调用方法 GET /images/<path>?resize=<width>*<height>
实现功能:
根据参数返回不同大小的缩略图,目前只支持 jpg 图片处理
使用的正则匹配路由,支持在 images 下的多级路径
不产生中间图片,全部在内存中处理。
注意:内部调用的是 thumbnail 方法。返回的图片并不是严格安装 resize 的参数进行返回。图片不会有拉伸效果。具体查看 Pillow 文档。
app.py12345678910111213141516171819202122232425262728293031323334353637from io import BytesIOfrom PIL import Imagefrom flask import Flask, request, send_filefrom werkzeug.routing import BaseC ...
使用nps连接内网ssh和访问网页
安装 NPS
NPS 是提供服务的一个程序,需要安装在有外网 IP 的服务器上。https://github.com/ehang-io/nps/releases
点击查看安装教程
123sudo ./nps installsudo chmod +x npssudo nps start
编辑配置文件
1vim /etc/nps/conf/nps.conf
运行成功后打开 nps 后台管理界面登录创建一个客户端,填个名字,其他默认,点击创建。点击加号+,展开可以看到一个客户端命令,复制。
安装 NPC
NPC 客户端,安装在需要被穿透的内网环境下https://github.com/ehang-io/nps/releases
客户端下载下来进入到下载的目录,把复制的客户端命令粘贴运行即可。
docker-compose 运行docker-compose.yml
123456789101112version: "3"services: eapinpc: image: ${NPC_IMAGE} container_name: eap ...
vue 可编辑 div 组件
contenteditable属性可以指定元素内容是否可编辑。
vue 中使用这一属性后,编辑内容却不支持 v-model.不能使用一下方法绑定
1<div contenteditable v-model="value"></div>
提取成组件后可以使用 v-model
123456789101112131415161718192021222324252627282930313233343536<template> <p class="editable" ref="editable" contenteditable :placeholder="placeholder" v-on="listeners"></p></template><script>export default { props: { value: { type: String, ...
cesium 3DTileset显示
maximumScreenSpaceError用于驱动细节细化级别的最大屏幕空间错误。默认是 16效果如下修改为 4 后该参数越小显示效果越好。
Shadowsocks
Shadowsocks123wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.shchmod +x shadowsocks-all.shsudo ./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log
最后一步输完,你应该会看到下图中内容 ── 是要你选择需要安装的 Shadowsocks 版本。这里选择 4) shadowsocks-libev
选择完成后会让你输入密码,默认为一个随机密码,你可以回车选择默认,或者自定义一个密码后回车
密码设置完成后会让你输入一个端口号,默认随机一个,你也可以自定义一个端口号后回车生成
端口号设置完成后,选择一个加密方式,我一般采用 chacha20 来作为加密方式,手机上也是有这个模式的,比较方便,你也可以根据自己的喜好来选择不同的加密方式
设置完成后,会提示 ...
threejs 检测点是否在圆柱体内
threejs 检测点是否在圆柱体内
在 threejs 文档里没有找到相关方法
检测思路:
把全局坐标系下的点坐标转为圆柱体的相对坐标
判断点坐标(x,z)是否在(0,0)为中心圆柱的半径为半径的圆内
判断点坐标的 y 的绝对值是否大于圆柱高度的一半
1234567891011121314//v:待检测点//obj:圆柱const position = v.clone();obj.updateWorldMatrix(true, false);const _m1 = new Matrix4();_m1.copy(e.matrixWorld).invert();position.applyMatrix4(_m1);// console.log(position)const parameters = obj.geometry.parameters;// console.log('待检测圆柱', parameters)const v2Center = new Vector2(position.x, position.z).distanceTo(new Vector2 ...
threejs 世界坐标系转其他对象本地坐标系方法
threejs 世界坐标系转其他对象本地坐标系方法12345678const v=new Vector3()// 世界坐标系下的坐标//obj 待转的对象const _m1 = new Matrix4()const position = v.clone()obj.updateWorldMatrix(true,false)_m1.copy(e.matrixWorld).invert()position.applyMatrix4(_m1)// position为相对与obj的本地坐标系的坐标