Amp

Vim的三款实用插件

懵懂的女人 提交于 2020-08-16 04:09:07
Vim 是 Linux 下的常用文本编辑器,但也经常被称为是一个上古神器,因为它对于初学者而言相当不友好,也不好入门。 但是,对于高手而言,他们不仅将 Vim 玩得很溜,而且还将它当作代码开发的主要工具。为什么?因为 VS 等 IDE 比较庞大,运行起来比较慢,而 Vim 就相当轻量了,瞬间就能打开代码并开始工作,这对于追求效率的高手而言自然是爱不释手。 但是,如果是官方版的 Vim ,依然是局限性相当大,十分不方便。但是高手毕竟是高手,高手懂得使用插件。下面良许就介绍高手常用的 3 个很实用的插件。 1. 括号自动补全插件 这个插件叫 Auto Pairs ,它可以自动补全配对的符号,比如:花括号、方括号、圆括号、引号等。这对于我们程序员而言非常有用,因为在代码里我们大量使用到了上述的几种配对符号,如果能自动补全那将很大提高我们的写 bug 效率。 使用这个插件后,当我们敲入一个符号时,会自动补全它的所匹配的另一个符号。比如,我们敲入 [ 时,它会自动补全 ] 。当我们删掉 [ 时, ] 也自动被删除了。 如果我们开启了自动缩进,那么它不仅会在合适的位置补全匹配的符号,还会将光标插入到合适的位置。比如下面这段 Go 代码: package main import "fmt" func main() { x := true items := []string{"tv", "pc",

RocketMQ一行代码造成大量消息发送失败

不打扰是莪最后的温柔 提交于 2020-08-16 04:00:06
1、问题现象 首先接到项目反馈使用 RocketMQ 会出现如下错误: 错误信息关键点:MQBrokerException:CODE:2 DESC:[TIMEOUT_CLEAN_QUEUE]broker busy,start flow control for a while,period in queue:205ms,size of queue:880。 由于项目组并没有对消息发送失败做任何补偿,导致丢失消息发送失败,故需要对这个问题进行深层次的探讨,并加以解决。 2、问题分析 首先我们根据关键字:TIMEOUT_CLEAN_QUEUE 去 RocketMQ 中查询,去探究在什么时候会抛出如上错误。根据全文搜索如下图所示: 该方法是在 BrokerFastFailure 中定义的,通过名称即可以看成其设计目的:Broker端快速失败机制。 Broker 端快速失败其原理图如下: 消息发送者向 Broker 发送消息写入请求,Broker 端在接收到请求后会首先放入一个队列中(SendThreadPoolQueue),默认容量为 10000。 Broker 会专门使用一个线程池(SendMessageExecutor)去从队列中获取任务并执行消息写入请求,为了保证消息的顺序处理,该线程池默认线程个数为1。 如果 Broker 端受到垃圾回收等等因素造成单条写入数据发生抖动,单个

Mysql双机热备以及使用Keepalived实现Mysql双主高可用

断了今生、忘了曾经 提交于 2020-08-16 03:49:18
mysql双机热备的方式有两种: 主-从服务器双机热备 主-主服务器双机热备 下文以主-主服务器双机热备为例,主-从配置类似。 两台centos7,ip分别为:192.168.1.6、192.168.1.8 一、mysql创建数据库 本步骤两台主机都要执行一遍。两台主机都要安装,mysql安装见《CentOS7安装mysql8.0.12》或自行搜索。 安装完成后使用命令登录,密码为自己配置的密码: mysql -u root -p 创建一个测试数据库: mysql> CREATE DATABASE `test`; 使用test库(use test;)创建一个测试空表: mysql> create table tb_mobile( mobile VARCHAR(20) comment'手机号码', time timestamp DEFAULT now() comment'时间' ); 注意:网上资料中提到 配置之前要保证两个mysql数据一致,但因为本次配置两台mysql都为全新安装,因此未测试。 二、服务器配置 1.创建同步用户 使用mysql库, mysql> use mysql 然后分别为另一主机创建一个链接用户,该帐户必须授予REPLICATION SLAVE权限,因为mysql8在授权语句中不能出现IDENTIFIED BY ‘password’;

PrestaShop 1.7 如何启用 debug 模式

不羁岁月 提交于 2020-08-16 03:47:03
PrestaShop 在出现错误的时候,希望进行调试。 在 PrestaShop 中没有可以进行调试的配置和如何进行启用呢? PrestaShop 是可以进行启用 debug 模式的。 在 PrestaShop 控制台中,选择 高级参数(Advanced Parameters) 下面的 性能(Perfomance) 然后将 Debug mode 选择项目选择 Yes。 随后你就可以看到 PrestaShop 的 debug 选项在界面下方。 https://www.cwiki.us/display/PrestaShop/questions/62619733 来源: oschina 链接: https://my.oschina.net/honeymoose/blog/4273483

Linux下同步工具inotify+rsync使用详解

强颜欢笑 提交于 2020-08-16 03:43:28
1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。它使用所谓的“Rsync演算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。所以通常可以作为备份工具来使用。 运行Rsync server的机器也叫backup server,一个Rsync server可同时备份多个client的数据;也可以多个Rsync server备份一个client的数据。Rsync可以搭配ssh甚至使用daemon模式。Rsync server会打开一个873的服务通道(port),等待对方rsync连接。连接时,Rsync server会检查口令是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会把整份文件传输一次,下一次就只传送二个文件之间不同的部份。 基本特点: 可以镜像保存整个目录树和文件系统; 可以很容易做到保持原来文件的权限、时间、软硬链接等; 无须特殊权限即可安装; 优化的流程,文件传输效率高; 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接; 支持匿名传输。 命令语法: rsync的命令格式可以为以下六种:  rsync [OPTION]… SRC DEST  rsync [OPTION]… SRC

远程启动 webots

故事扮演 提交于 2020-08-16 02:55:12
Starting Webots Remotely ("ssh") Webots can be started on a remote computer, by using ssh (or a similar) command. However, Webots will work only if it can get a X11 connection to a X-server running locally (on the same computer). It is currently not possible to redirect Webots graphical output to another computer. Using the "ssh" Command Here is the usual way to start from computer A, a Webots instance that will run on computer B: $ ssh myname@computerB.org $ export DISPLAY=:0.0 $ webots --mode=fast --stdout --stderr myworld.wbt The first line logs onto computer B. The 2nd line sets the

关于网上有关frp内网穿透博客的一点问题,frp内网穿透http根本不需要域名!!!!!!!!!!!!!

瘦欲@ 提交于 2020-08-16 02:46:30
前言:当时做这个测试的时候就觉得很奇怪,为什么非要域名,毕竟域名只是做个解析的作用,看了几个都是这样,毕竟自己的云服务器懒得搞域名,很多人包括我在内都没域名! 首先还是配置步骤,建议参照官方文档,另外给个国内的下载地址,毕竟github太慢了 frp_0.32.1_linux_amd64.tar.gz 官方中文文档 1、配置服务端(公网服务器) [common] bind_port = 7000 #与客户端绑定的进行通信的端口 vhost_http_port = 8000 #访问客户端web服务自定义的端口号,如果是https 就改成vhost_https_port 保存然后启动服务./frps -c ./frps.ini,这是前台启动,后台启动命令为nohup ./frps -c ./frps.ini & 2、配置客户端(内网服务器) [common] server_addr = xx.xx.xx.xx #公网服务器ip server_port = 7000 #与服务端bind_port一致 #公网通过ssh访问内部服务器 [ssh] type = tcp #连接协议 local_ip = 192.168.1.125 #内网服务器ip local_port = 22 #ssh默认端口号 remote_port = 6000 #自定义的访问内部ssh端口号

【华为云技术分享】STM32L476移植华为LiteOS系列教程(二)---开发前准备

夙愿已清 提交于 2020-08-16 02:02:50
在进行移植华为LiteOS开发工作之前,我们是需要提前做一些准备工作,如:开发工具、环境、源码等相关事宜。 一、准备开发工具 STM32CubeMX用于生成工程文件:STM32CubeMX下载地址 IoT Studio用于编译、烧写和调试自己的工程文件和硬件: IoT Studio下载地址 最新的LiteOS_SDK,IoT Studio基于LiteOS_SDK来为我们添加各类组件:LiteOS_Lab的github地址 二、安装各类环境和下载最新LiteOS源码 安装STM32CubeMX和IoT Studio的教程特别多,我就不在这里累述了,说下GitHub上克隆仓库/分支。 点击①处,可以切换分支,LiteOS_lab有好多分支,我们一般情况选用默认的即可(主分支),有的分支属于正在开发的,或者是测试的。 点击②处,可以选择克隆或者下载,直接下载一个.zip文件或是将其克隆到我们的电脑上用git来管理。 点击③处,可以查看每一次的提交修改了啥,啥时候提交的(PS.你可以发现华为工程师们都是特别辛苦的)。 点击④处,可以查看每一个发行版本的总结和该版本与上一个版本的差异。 我们一般情况下选择直接下载.zip到桌面即可,如果你想将自己写的LiteOS的一些组件也贡献到仓库中,我建议你使用一个“github桌面”,可以图形化管理你电脑上的github仓库、提交修改、对比差异等。 ①

leetcode1305(两棵二叉搜索树中的所有元素)--C语言实现

早过忘川 提交于 2020-08-16 01:52:40
求: 给你 root1 和 root2 这两棵二叉搜索树。 请你返回一个列表,其中包含 两棵树 中的所有整数并按 升序 排序。. 示例 1: 输入:root1 = [2,1,4], root2 = [1,0,3] 输出:[0,1,1,2,3,4] 示例 2: 输入:root1 = [0,-10,10], root2 = [5,1,7,0,2] 输出:[-10,0,0,1,2,5,7,10] 示例 3: 输入:root1 = [], root2 = [5,1,7,0,2] 输出:[0,1,2,5,7] 示例 4: 输入:root1 = [0,-10,10], root2 = [] 输出:[-10,0,10] 示例 5: 输入:root1 = [1,null,8], root2 = [8,1] 输出:[1,1,8,8] 提示: 每棵树最多有 5000 个节点。 每个节点的值在 [-10^5, 10^5] 之间。 解: 思路:本题最直观的思路有2种: 1、根据题意,最多有10000个整数。创建一个可以容纳10000个整数的数组,然后对题目给出的2颗树使用任意方式进行遍历,最后对数组进行快速排序即可。 2、可以在1的思路上继续做优化,根据二叉搜索树性质,中序遍历得到的值单调递增。因此我们使用2个最多可以容纳5000个整数的数组分别存储2颗树中序遍历的结果,然后使用2个指针指向2个数组

Discourse 443 端口问题

橙三吉。 提交于 2020-08-16 01:47:50
Discourse 的 443 端口需要开放吗? Discourse 默认会使用 SSL ,如果你的 Discourse 安装后,不能访问。 你需要启用 80 和 443 端口。 下面的命令将会打开你的 443 端口: firewall-cmd --zone=public --add-port=443/tcp --permanent 同时别忘了运行 firewall-cmd --reload 命令来让你的配置生效。 然后再运行 firewall-cmd --zone=public --query-port=443/tcp 如果返回的是 yes ,那么说明你的端口已经开放了。 [root @www ~]# firewall-cmd --zone=public --query-port=443/tcp yes 查看你服务器现在正在监听的端口请使用下面的命令: netstat -ntlp | grep LISTEN 你的服务器上可能回返回: [root@www ~]# netstat -ntlp | grep LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 675/sshd tcp6 0 0 :::22 :::* LISTEN 675/sshd tcp6 0 0 :::443 :::* LISTEN 49845/docker-proxy tcp6 0