Linux系统下防火墙firewall开放IP及端口命令
CentOS7使用的是firewall防火墙,不再是原来的iptables
防火墙基础命令1:查看firewall防火墙状态
123firewall-cmd --state//或systemctl status firewalld
2:打开防火墙
1systemctl start firewalld
3:关闭防火墙
1systemctl stop firewalld
4:重启防火墙,使设置生效
123firewall-cmd --relaod//或systemctl reload firewalld
5:开机自启动防火墙
1systemctl enable firewalld
6:禁止开机启动防火墙
1systemctl disable firewalld
7:查看已打开的端口
1firewall-cmd --list-ports
8:开放端口
1firewall-cmd --permanent --zone=public --add-port=8080/tcp
其中permanent表示永久生效,public表示作用域,8080/tcp表示端口和类型9:关闭端口
1fire ...
Linux之Mysql安装配置
Linux之Mysql安装配置
第一种:Linux离线安装Mysql(提前手动下载好tar.gz包)
第二种:通过yum安装配置Mysql(服务器有网络)
第一种:tar.gz包安装1、 查看是否已经安装 Mysql1rpm -qa | grep mysql
如果没有什么返回信息,说明没有安装 Mysql,那么直接进入2
2、下载官方 Mysql 包官方下载地址选择对应的包 如下mysql5.7(最常用)
3. 上传到服务器后解压(解压后可删除安装包,节省空间)一般放在在/usr/local目录下
1234# 解压文件至/usr/local/目录tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz# 重命名为 mysqlmv /usr/local/mysql-5.7.20-linux-glibc2.12-x86_64/ /usr/local/mysql
解压重命名后目录一般是这样的
4、创建用户组至于为什么要创建用户和组可以看看这篇 Linux下安装Mysql为什么要创建对应的用户和用户组
123groupadd ...
使用new Blob实现文件流下载和上传
文件流下载后端返回的文件流
注意:responseType应设置为:’arraybuffer’,这样返回的文件流才会是二进制的,才能使用new Blob得到正确的文件
1234567891011121314151617181920this.$axios .post(url接口地址, params请求参数, { headers: { token: token }, responseType: "arraybuffer" }) .then((file) => { let content = file.data; // 组装a标签 let a= document.createElement("a"); // 设置下载文件名 a.download = "附件.zip"; a.style.display = "none"; let blob = new Blob([content], & ...
多种数组去重性能对比
多种数组去重性能对比测试模板1234567891011121314151617181920212223// 创建一个 1 ~ 10w 的数组,Array.from为ES6语法let arr1 = Array.from(new Array(1000000), (x, index) => { return index})let arr2 = Array.from(new Array(500000), (x, index) => { return index + index})let start = new Date().getTime()console.log('开始数组去重')// 数组去重function distinct(a, b) { let arr = a.concat(b); // 去重方法}console.log('去重后的长度', distinct(arr1, arr2).length)let end = new Date().getTime()cons ...
中文转拼音函数
将中文汉字转拼音方法1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992 ...
常用meta整理
常用meta整理<meta> 元素概要meta标签提供关于HTML文档的元数据。元数据不会显示在页面上,但是对于机器是可读的。它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 web 服务。
必要属性
属性
值
描述
content
some text
定义与http-equiv或name属性相关的元信息
可选属性
属性
值
描述
http-equiv
content-type / expire / refresh / set-cookie
把content属性关联到HTTP头部。
name
author / description / keywords / generator / revised / others
把 content 属性关联到一个name。
content
some text
定义用于翻译 content 属性值的格式。
网页相关
申明编码
1<meta charset='utf-8' ...
使用Gitalk实现静态博客无后台评论系统
使用Gitalk实现静态博客无后台评论系统前言Gitalk,一个基于 Github Issue 和 Preact 开发的评论插件。
下面我们来用它在vuepress搭建的博客中搭建评论区吧
准备使用一个新的东西首先当然是要了解它
Gitalk demo:https://gitalk.github.io/
Gitalk github:https://github.com/gitalk/gitalk
实现如何实现?最好的方法我认为是看官方文档,这里我只是记录一下实现的步骤。
使用一个别人已经开发好的 vuepress-plugin-comment 插件来帮助我们把Gitalk应用到vuepress搭建的静态博客。
安装1npm install --save vuepress-plugin-comment
使用options的配置和Gitalk的配置相同
123456789101112131415161718module.exports = { plugins: [ [ 'vuepress-plugin-comment', & ...
Markdown使用教程
Markdown使用教程一、Markdown简介
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。
应用当前许多网站都广泛使用 Markdown 来撰写帮助文档或是用于论坛上发表消息。例如:GitHub、简书、知乎等
编辑器推荐使用Typora,官网:https://typora.io/
二、徽章什么是徽章徽章是一种小巧精美的小图标,一般配有相关文字进行辅助说明,可对数据进行监控,链接跳转等,富有表现力。
常见于github项目主页,但其不仅出现于 github 项目主页,凡是能够表现图片的地方都可以出现徽章。
徽章的使用
在markdown中使用
12345格式:[![图片文字说明](图片源地址)](超链接地址) # 即超链接内部嵌套图片语法:[![github](https://img.shields.io/badge/github-ytanck-brightgreen.svg)](https://github.com/ytanck)
徽章生成网站:https://shields.io/
本文档主要介绍markdown,不对徽章做过多介 ...
npm常用命令
npm常用命令简介npm是跟随node一起安装的包(模块)管理器。常见的使用场景有以下几种:
允许用户从npm服务器下载别人编写的第三方包到本地使用。
允许用户从npm服务器下载并安装别人编写的命令行程序到本地使用。
允许用户将自己编写的包或命令行程序上传到npm服务器供别人使用。
常用命令检测是否安装及版本1npm -v # 显示版本号说明已经安装相应的版本
生成package.json文件1npm init
package.json用来描述项目中用到的模块和其他信息
安装模块123456789101112131415161718192021npm install # 安装package.json定义好的模块,简写 npm i# 安装包指定模块npm i <ModuleName># 全局安装npm i <ModuleName> -g # 安装包的同时,将信息写入到package.json中的 dependencies 配置中npm i <ModuleName> --save# 安装包的同时,将信息写入到package.json中的 de ...
Set、Map、WeakSet、WeakMap是什么
Set、Map、WeakSet、WeakMap如果要用一句来描述,我们可以说Set是一种叫做集合的数据结构,Map是一种叫做字典的数据结构
那什么是集合?什么又是字典呢?
集合
集合,是由一堆无序的、相关联的,且不重复的内存结构【数学中称为元素】组成的组合
字典
字典(dictionary)是一些元素的集合。每个元素有一个称作key 的域,不同元素的key 各不相同
那么集合和字典又有什么区别呢?
共同点:集合、字典都可以存储不重复的值
不同点:集合是以[值,值]的形式存储元素,字典是以[键,值]的形式存储
背景大多数主流编程语言都有多种内置的数据集合。例如Python拥有列表(list)、元组(tuple)和字典(dictionary),Java有列表(list)、集合(set)、队列(queue)
然而 JavaScript 直到ES6的发布之前,只拥有数组(array)和对象(object)这两个内建的数据集合
在 ES6 之前,我们通常使用内置的 Object 模拟Map
但是这样模拟出来的map会有一些缺陷,如下:
Object的属性键是String或 ...