vue是数据驱动,vue主要操作的是数据 1、JS中有哪些数据类型 (1)基本数据类型:number,string,boolean,null,undefined (2)引用数据类型: Object, function, Symbol(ES6) 2、{} 和 [] 操作数组的方法有哪些: ES4: pop,push,unshfit,shfit,slice,splice,reverse,sort,indexOf,lastIndexOf,concat (pop push unshift shift splice reverse sort ) 括号中的能改变原数组,叫数组的变异 3、用的比较多的方法 forEach,filter,map,find,some,every,includes,reduce some,every 是 ES5的 ES6:(includes,find),其余都是ES5的 filter(过滤),map(映射) 4、node版本 版本最好升级到 8.5以上 5、for for循环和forEach是等价的,都是循环数组 例子:
1 2 3 4 5 6 7 8 9 |
let arr = [1, 2, 3, 4, 5]; for (let i = 0; i < arr.length; i++) { console.log(arr[i]); } |
5、forEach 例子:
1 2 3 4 5 6 7 8 9 |
let arr = [1, 2, 3, 4, 5]; arr.forEach(function (item, index) { console.log(item); }); |
注意:forEach不支持return 6、 for of for of 支持return,并且是只能遍历数组,不能遍历对象 for of 是ES6语法 例子:
1 2 3 4 5 6 7 8 9 |
let arr = [1, 2, 3, 4, 5]; for(let val of arr) { console.log(val); } |
7、如何用for of 遍历对象呢? 本来for of 不支持遍历对象。 Object.keys将对象的key作为新的数组 例子:
1 2 3 4 5 6 7 8 9 |
let obj = {school: 'name', age: 8}; for (let val of Object.keys(obj)) { console.log(obj[val]); } |
8、filter filter是过滤的意思,filter不会操作原数组,返回的是过滤后的新数组。 回调函数返回的结果,如果返回true,表示这一项放到新数组中。 例子: 过滤出来大于2,小于5的值
1 2 3 4 5 6 7 8 9 |
let newAry = [1, 2, 3, 4, 5].filter(function (item, index) { //index是索引 return item > 2 && item < 5; }); console.log(newAry); // [3, 4] |
9、map map是映射的意思,将一个数组映射成一个新数组。 map不操作原数组,返回一个新数组。 回调函数中返回什么,这一项就是什么。 例子: [1,2,3] 映射成 <li>1</li><li>2</li><li>3</li>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
let arr1 = [1, 2, 3].map(function (item, index) { return 2; }); console.log(arr1); // [2,2,2] let arr2 = [1, 2, 3].map(function (item, index) { return item *= 3; }); console.log(arr2); // [3,6,9] let arr3 = [1, 2, 3].map(function (item, index) { return `<li>${item}</li>`; }); console.log(arr3); // [ '<li>1</li>', '<li>2</li>', '<li>3</li>' ] console.log(arr3.join('')); // <li>1</li><li>2</li><li>3</li> |
join() 方法用于把数组中的所有元素放入一个字符串。 是ES6中的模板字符串,遇到变量用${ } 取值。 filter一般用于删除数组中的某一项。而map一般用于把这个数组修改一下。 10、includes includes 数组是否包含的意思,返回的是boolean includes 是ES6的方法 some、every 是ES5的方法 例子:
1 2 3 4 5 |
let arr3 = [1,2,3,4,55]; console.log(arr3.includes(5)); // false |
11、find find 是找出数组中的某一项。 返回找到的那一项。 […]
View Details查看防火墙状态: systemctl status firewalld.service 如图 绿的running表示防火墙开启 执行关闭命令: systemctl stop firewalld.service 再次执行查看防火墙命令:systemctl status firewalld.service 如下图所示表示防火墙已经关闭 执行开机禁用防火墙自启命令 : systemctl disable firewalld.service 完成 ============================================================ 关于防火墙的其他命令: 启动:systemctl start firewalld.service 防火墙随系统开启启动 : systemctl enable firewalld.service from:https://blog.csdn.net/ViJayThresh/article/details/81284007
View Details我们一般想到测试连通性时第一考虑到的就是使用ping命令。 但是我们知道ping命令使用的是icmp协议,属于tcp/ip协议中的一个子协议,所以我们可以用ping命令来测试tcp的连通性还可以测试延迟情况。tcp相关协议了解可以参考:TCP/IP四层模型讲解【笔记整理通俗易懂版】 但是当我们需要测试udp连接的时候ping命令显然没有任何作用。 这时候我们可以用到netcat,这个命令被誉为是网络中的“瑞士军刀”,功能非常强大,测试udp只是其中的一个功能变通。 在安全领域nc常用来端口监听转发,用的比较多的也是windows版的NC,在运维中需要常用到linux上的nc,而一般linux会默认集成这个命令,根据不同系统命令不同,有的为“nc”,有的为“netcat”,大家可以根据实际系统尝试下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
netcat 命令一览 [v1.10] connect to somewhere: netcat [-options] hostname port[s] [ports] … listen for inbound: netcat -l -p port [-options] [hostname] [port] options: -g gateway source-routing hop point[s], up to 8 -G num source-routing pointer: 4, 8, 12, … -h this cruft -i secs delay interval for lines sent, ports scanned -l listen mode, for inbound connects -n numeric-only IP addresses, no DNS -o file hex dump of traffic -p port local port number -r randomize local and remote ports -s addr local source address -t answer TELNET negotiation -u UDP mode -v verbose [use twice to be more verbose] -w secs timeout for connects and final net reads -z zero-I/O mode [used for scanning] port numbers can be individual or ranges: lo-hi [inclusive] 基本格式:nc [-options] hostname port[s] [ports] … nc -l -p port [options] [hostname] [port] -d 后台模式 -e prog 程序重定向,一旦连接,就执行 [危险!!] -g gateway source-routing hop point[s], up to 8 -G num source-routing pointer: 4, 8, 12, … -h 帮助信息 -i secs 延时的间隔 -l 监听模式,用于入站连接 -L 连接关闭后,仍然继续监听 -n 指定数字的IP地址,不能用hostname -o file 记录16进制的传输 -p port 本地端口号 -r 随机本地及远程端口 -s addr 本地源地址 -t 使用TELNET交互方式 -u UDP模式 -v 详细输出–用两个-v可得到更详细的内容 -w secs timeout的时间 -z 将输入输出关掉–用于扫描时 端口的表示方法可写为M-N的范围格式。 |
测试udp连接方法 a机器上运行: nc -ul 1080 或:netcat -ul -p 1080 #使用udp模式监听1080 端口 b机器上运行: nc -u x.x.x.x 1080 或:netcat -u x.x.x.x 1080 #使用udp模式向该ip的1080端口发送信息。 效果如图,在任意一边输入内容,另一边则会收到相应内容,以此就可以测试该端口的udp连接是否通常。 from:http://www.vuln.cn/2922
View Details备份源yum源 如果是国内下载的CentOS很可能国内YUM源已经设置好了。 备份/etc/yum.repos.d/下的*.repo文件。 在CentOS中配置使用网易和阿里的开源镜像 wget http://mirrors.aliyun.com/repo/Centos-7.repo wget http://mirrors.163.com/.help/CentOS7-Base-163.repo 或者手动下载repo文件并上传到/etc/yum.repos.d/目录 清除系统yum缓存并生成新的yum缓存 yum clean all # 清除系统所有的yum缓存 yum makecache # 生成yum缓存 安装epel源 yum list | grep epel-release yum install -y epel-release 再次清除系统yum缓存,并重新生成新的yum缓存 yum clean all yum makecache 查看系统可用的yum源和所有的yum源 yum repolist enabled yum repolist all 测试安装 yum install openssh-server from:cnblogs.com/cerana/p/11179728.html
View DetailsCI, CD AND CD 当我们在谈论现代的软件编译和发布流程的时候,经常会听到CI 和CD这样的缩写短语。CI很容易理解,就是持续集成。但是CD既可以指代码持续交付,也可理解为代码持续部署。CI和CD之间有很多相似的部分,但是也有很大的区别。这里我们将给大家介绍它们之间的区别和联系。 持续集成(CONTINUOUS INTEGRATION) 在持续集成环境中,开发人员将会频繁的提交代码到主干。这些新提交在最终合并到主线之前,都需要通过编译和自动化测试流进行验证。这样做是基于之前 持续集成过程中很重视自动化测试验证结果,以保障所有的提交在合并主线之后的质量问题,对可能出现的一些问题进行预警。 持续交付(CONTINUOUS DELIVERY) 持续交付就是讲我们的应用发布出去的过程。这个过程可以确保我们尽可能快的实现交付。这就意味着除了自动化测试,我们还需要有自动化的发布流,以及通过一个按键就可以随时随地实现应用的部署上线。 通过持续交付,您可以决定每天,每周,每两周发布一次,这完全可以根据自己的业务进行设置。 但是,如果您真的希望体验持续交付的优势,就需要先进行小批量发布,尽快部署到生产线,以便在出现问题时方便进行故障排除。 持续部署(CONTINUOUS DEPLOYMENT) 如果我们想更加深入一步的话,就是持续部署了。通过这个方式,任何修改通过了所有已有的工作流就会直接和客户见面。没有人为干预(没有一键部署按钮),只有当一个修改在工作流中构建失败才能阻止它部署到产品线。 持续部署是一个很优秀的方式,可以加速与客户的反馈循环,但是会给团队带来压力,因为不再有“发布日”了。开发人员可以专注于构建软件,他们看到他们的修改在他们完成工作后几分钟就上线了。基本上,当开发人员在主分支中合并一个提交时,这个分支将被构建、测试,如果一切顺利,则部署到生产环境中。 合并CI CD and CD? 当然,正如我所说,他们每部分都更加接近生产环境。你可以构建自己的持续集成环境,然后,一旦团队适应,你可以添加持续交付流,最后,可以添加持续部署流到整个工作流中。 举例CI, CD and CD 流水线 到底值不值这样做呢? 持续集成: 你需要具备哪些条件: 你的团队需要为每个新功能,代码改进,或者问题修复创建自动化测试用例。 你需要一个持续集成服务器,它可以监控代码提交情况,对每个新的提交进行自动化测试。 研发团队需要尽可能快的提交代码,至少每天一次提交。 你能获得什么呢?: 通过自动化测试可以提早拿到回归测试的结果,避免将一些问题提交到交付生产中 发布编译将会更加容易,因为合并之初已经将所有问题都规避了 减少工作问题切换,研发可以很快获得构建失败的消息,在开始下一个任务之前就可以很快解决。 测试成本大幅降低-你的CI服务器可以在几秒钟之内运行上百条测试。 你的QA团队花费在测试上面的时间会大幅缩短,将会更加侧重于质量文化的提升上面。 持续交付 需要具备什么条件?: 你需要有强大的持续集成组件和足够多的测试项可以满足你代码的需求 部署需要自动化。触发是手动的,但是部署一旦开始,就不能人为干预。 你的团队可能需要接受特性开关,没有完成的功能模块不会影响到线上产品。 你能收获什么?: 繁琐的部署工作没有了。你的团队不在需要花费几天的时间去准备一个发布。 你可以更快的进行交付,这样就加快了与客户之间的反馈环。 轻松应对小变更,加速迭代 持续部署 需要具备的条件: 研发团队测试理念比较完善。测试单元的健壮性直接决定你的交付质量。 你的文档和部署频率要保持一致。 特征标志成为发布重大变化过程的固有部分,以确保您可以与其他部门(支持,市场营销,公关…)协调。 可以获得什么?: 发布频率更快,因为你不需要停下来等待发布。每一处提交都会自动触发发布流。 在小批量发布的时候,风险降低了,发现问题也可以很轻松的修复。 客户每天都可以看到我们的持续改进和提升,而不是每个月或者每季度,或者每年。 如前所述,您可以采用持续集成,持续交付和持续部署。你怎么做取决于你的需求和你的业务情况。如果你刚刚开始一个项目,并且还没有客户,那么你就可以去创建这些工作流,最好是将这三个方面都实现,并且在你的项目迭代和需求增长中同时迭代它们。如果您已经有一个生产项目,那么您可以一步一步地分阶段去实现他们。 原文链接:http://www.ttlsa.com/news/ci-cd-cd/ from:https://www.cnblogs.com/soymilk2019/p/11445773.html
View Details一、编译发布Asp.net core 应用 直接使用vs2019编译发布后,通过ftp上传到centos的 /www/ 目录下,不再赘述。 二、centos安装asp.net core runtime和nginx 1、安装asp.net core runtime# Copy
1 2 3 4 5 6 |
#注册 Microsoft 密钥。注册产品存储库。安装必需的依赖项。 sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm #安装 .NET Core 运行时 sudo yum install aspnetcore-runtime-3.1 |
2、安装nginx# 添加源:#
1 |
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm |
安装 nginx# Copy
1 |
$ sudo yum -y install nginx |
Nginx常用命令# Copy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# 卸载 nginx $ sudo yum remove nginx # 设置开机启动 $ sudo systemctl enable nginx # 启动 nginx 服务 $ sudo service nginx start # 停止 nginx 服务 $ sudo service nginx stop # 重启 nginx 服务 $ sudo service nginx restart # 重新加载配置,一般是在修改过 nginx 配置文件时使用。 $ sudo service nginx reload #查看nginx版本 $ nginx -v |
3、使用nginx反向代理# 在 /etc/nginx/ 目录下新建AspnetCoreDemo.conf,内容如下 Copy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
server { listen 80; server_name example.com; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } |
4、重新加载nginx配置#
1 2 3 4 |
# 验证配置文件的语法 $ sudo nginx -t # 强制 Nginx 选取更改。 $ sudo nginx -s reload |
三、添加Systemd守护 1、Systemd service内容如下# 路径 /etc/systemd/system/AspnetCoreDemo.service 新建文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[Unit] Description=AspnetCoreDemo running on Centos [Service] WorkingDirectory=/www ExecStart=/usr/bin/dotnet /www/AspnetCoreDemo.dll Restart=always # Restart service after 10 seconds if the dotnet service crashes: RestartSec=10 KillSignal=SIGINT SyslogIdentifier=AspnetCoreDemo #User=www-data #Production:生产环境 Development:开发环境 Environment=ASPNETCORE_ENVIRONMENT=Development Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target |
2、Systemd基本操作命令#
1 2 3 4 5 6 7 8 9 10 |
#启用 systemctl enable AspnetCoreDemo.service #启动 systemctl start AspnetCoreDemo.service #状态 systemctl status AspnetCoreDemo.service #重启 systemctl restart AspnetCoreDemo.service #关闭 systemctl stop AspnetCoreDemo.service |
四、防火墙设置(不需要端口访问,可忽略此步)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
1、开放端口 firewall-cmd --zone=public --add-port=5000/tcp --permanent # 开放5000端口 firewall-cmd --zone=public --remove-port=5000/tcp --permanent #关闭5000端口 firewall-cmd --reload # 配置立即生效 2、查看防火墙所有开放的端口 firewall-cmd --zone=public --list-ports 3.、关闭防火墙 如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估 systemctl stop firewalld.service 4、查看防火墙状态 firewall-cmd --state |
from:https://www.cnblogs.com/wxb8/p/12359521.html
View Details系统: 阿里云的默认 CentOS 7.5 镜像 项目环境:.Net Core 2.2 一、安装.Net Core的运行环境 第一步,如果是一台新的服务器,可以升级一下系统的基础软件。如果没有必要也可以跳过这一步。 执行命令
1 |
sudo yum update |
第二步,注册Microsoft签名密钥,每个机器只要注册一次就可以 注册命令
1 |
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm |
执行结果 第三步:安装.Net Core SDK ,这里根据项目环境,需要安装2.2版的。不同的开发环境选择对应的运行时版本即可 执行命令
1 |
sudo yum install dotnet-sdk-2.2 |
完成后,通过命令,可以看出.net core的版本
1 |
dotnet --version |
第四步:上传一个.Net Core的程序,进入到程序包所在目录 执行命令
1 |
dotnet HelloWrold.dll #项目的dll文件 |
到这里,就可以通过服务器IP加上程序设定的端口号(一般默认是5000)进行访问了。如果你的服务器是在云端,有安全防护,需要开启对应的端口访问权限 二、通过 nginx 进行转发 第一步、安装nginx 执行命令
1 |
sudo yum install nginx |
第二步,修改 nginx 的配置文件 执行命令
1 |
vim /etc/nginx/nginx.conf |
修改 location的值,修改的内容如下:
1 2 3 4 5 |
# 传递真实IP到后端 proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:5000; |
这个配置的意思是监听80端口,如果有人访问80端口就把请求转到5000端口,这里的5000端口就是你 .Net Core 程序的端口,默认为5000可以更改,如果有更改换掉即可。 第三步、重启 nginx 的服务。启动 .Net Core 的程序
1 2 3 4 5 6 7 8 |
#重启 nginx systemctl restart nginx #进行dotnet 项目目录 cd /home/www/hello/ #运行dotnet 项目 dotnet Helloworld.dll |
这个时候,我们就可以通过服务器的80端口,访问我们的 .Net Core 程序了。 第四步、配置多个.net core的转发 如果你的服务器的nginx需要转发多个正在运行的 .Net Core 项目,可以通过在nginx的 /etc/nginx/conf.d/ 目录下,为每个项目建立一个转发的规则文件
1 2 |
# 打开配置文件目录 cd /etc/nginx/conf.d/ |
这里的配置文件目录和文件格式 在 nginx.conf 中有指定。 进入目录后,新建一个文件
1 |
vim hello.conf #名称没有要求,可以和自己的项目名称一样,方便查找 |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
server { listen 80; server_name hello.leodev.cn; index index.html; location / { # 传递真实IP到后端 proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:5000; } } |
[…]
View Details一、Dubbo是什么? Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC(一种远程调用) 分布式服务框架(SOA),致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 二、为什么要用Dubbo? 因为是阿里开源项目,国内很多互联网公司都在用,已经经过很多线上考验。内部使用了 Netty、Zookeeper,保证了高性能高可用性。
1 2 3 |
1、使用Dubbo可以将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,可用于提高业务复用 灵活扩展,使前端应用能更快速的响应多变的市场需求。 2、分布式架构可以承受更大规模的并发流量。 |
三、Dubbo 和 Spring Cloud 有什么区别?
1 2 3 4 5 |
1、通信方式不同:Dubbo 使用的是 RPC 通信,而Spring Cloud 使用的是HTTP RESTFul 方式。 2、组成不一样: dubbo的服务注册中心为Zookeerper,服务监控中心为dubbo-monitor,无消息总线,服务跟踪、批量任务等组件; spring-cloud的服务注册中心为spring-cloud netflix enruka,服务监控中心为spring-boot admin,有消息总线,数据流、服务跟踪、批量任务等组件; 四、Dubbo需要 Web 容器吗? |
不需要,如果硬要用Web 容器,只会增加复杂性,也浪费资源。 五、Dubbo内置了哪几种服务容器?
1 2 3 4 |
三种服务容器: 1、Spring Container 2、Jetty Container 3、Log4j Container |
Dubbo 的服务容器只是一个简单的 Main 方法,并加载一个简单的 Spring 容器,用于暴露服务。 六、dubbo都支持什么协议,推荐用哪种?
1 2 3 4 5 |
1、dubbo://(推荐) 2、http:// 3、rest:// 4、redis:// 5、memcached:// |
七、Dubbo里面有哪几种节点角色?
1 2 3 4 5 |
1、provide:暴露服务的服务提供方 2、consumer:调用远程服务的服务消费方 3、registry:服务注册于发现的注册中心 4、monitor:统计服务调用次数和调用时间的监控中心 5、container:服务运行容器 |
八、dubbo服务注册与发现的流程图 dubbo服务注册与发现的流程图 九、Dubbo默认使用什么注册中心,还有别的选择吗? 推荐使用zookeeper作为注册中心,还有redis、multicast、simple注册中心。 十、Dubbo 核心的配置有哪些? Dubbo 核心的配置 十一、在 Provider 上可以配置的 Consumer 端的属性有哪些?
1 2 3 4 |
1、timeout:方法调用超时 2、retries:失败重试次数,默认重试 2 次 3、loadbalance:负载均衡算法,默认随机 4、actives 消费者端,最大并发调用限制 |
十二、Dubbo有哪几种负载均衡策略,默认是哪种?
1 2 3 4 |
1、random loadbalance:安权重设置随机概率(默认); 2、roundrobin loadbalance:轮寻,按照公约后权重设置轮训比例; 3、lastactive loadbalance:最少活跃调用数,若相同则随机; 4、consistenthash loadbalance:一致性hash,相同参数的请求总是发送到同一提供者。 |
十三、Dubbo启动时如果依赖的服务不可用会怎样? Dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,默认 check="true",可以通过 check="false" 关闭检查。 十四、Dubbo推荐使用什么序列化框架,你知道的还有哪些?
1 |
推荐使用Hessian序列化,还有Duddo、FastJson、Java自带序列化; |
十五、Dubbo默认使用的是什么通信框架,还有别的选择吗?
1 |
Dubbo 默认使用 Netty 框架,也是推荐的选择,另外内容还集成有Mina、Grizzly。 |
十六、Dubbo有哪几种集群容错方案,默认是哪种? Dubbo集群容错方案 十七、服务提供者能实现失效踢出是什么原理?
1 |
服务失效踢出基于zookeeper的临时节点原理。 |
十八、Dubbo服务之间的调用是阻塞的吗?
1 2 3 |
默认是同步等待结果阻塞的,支持异步调用。 Dubbo 是基于 NIO 的非阻塞实现并行调用,客户端不需要启动多线程即可完成并行调用多个远程服务,相对 多线程开销较小,异步调用会返回一个 Future 对象。 |
Dubbo暂时不支持分布式事务。 十九、Dubbo的管理控制台能做什么?
1 2 |
管理控制台主要包含:路由规则,动态配置,服务降级,访问控制,权重调整,负载均衡,等管理功能。 注:dubbo源码中的dubbo-admin模块打成war包,发布运行即可得到dubbo控制管理界面。 |
二十、Dubbo 服务暴露的过程
1 2 3 4 |
Dubbo 会在 Spring 实例化完 bean 之后,在刷新容器最后一步发布 ContextRefreshEvent 事件的时候,通知 实现了 ApplicationListener 的 ServiceBean 类进行回调 onApplicationEvent 事件方法,Dubbo 会在这个方法 中调用 ServiceBean 父类 ServiceConfig 的 export 方法,而该方法真正实现了服务的(异步或者非异步)发 布。 |
二十一、当一个服务接口有多种实现时怎么做? 当一个接口有多种实现时,可以用 group 属性来分组,服务提供方和消费方都指定同一个 group […]
View Details1.说真话。 2.不要做你讨厌的事情。 3.让你的行为与想法保持一致。 4.追求有意义的事,而不是便宜行事。 5.如果可以的话,做个低调的行动者,而不是作秀者。 6.保持专注。 7.假设你聆听的对象知道一些你需求知道的事,耐心聆听,对方会愿意与你分享。 8.用心计划、经营、维持与伴侣之间的浪漫关系。 9.小心选择你分享好消息的对象。 10.小心选择你分享坏消息的对象。 11.让你去的每个地方,至少有一件事情变得更好。 12.尽情相像你想成为的样子,然后一心一意去实现它。 13.不要让自己变得傲慢或充满怨恨。 14.尽量让家里的某个房间变得漂亮。 15.跟昨日的自己相比较,别跟今日的别人相比较。 16.至少在一件事情上倾尽全力,看看会发生什么。 17.如果旧的的记忆仍然让你落泪,把它们仔细地、完整地写下来。 18.与他人保持联系。 19.不要随便贬低任何社会制度或艺术成就。 20.把自己当成某个你有责任照顾的人来对待。 21.请别人帮你个小忙,这样TA在未来也可以向你请求帮忙。 22.和真心希望你好的人做朋友。 23.不要试图拯救不想被拯救的人。 24.也不要轻易拯救向你求救的人。 25.没有一件圆满完成的事是无足轻重的。 26.批判世界之前先管好你自己的家(整顿好你的人生)。 27.让自己打扮成,你想成为的人的样子。 28.保持言辞精确。 29.站直,抬头挺胸。 30.不要回避阻碍你前行的障碍,尽管他很吓人。 31.不要做不必要的危险事情。 32.不要让你的孩子们做任何会让你讨厌他们的情事。 33.不要把你的妻子变成女佣。 34.不要把你不想看到的事情藏在迷雾之中。 35.当有人推卸责任时机会就会浮现了。 36.阅读伟大人物撰写的作品。 37.在街上遇到猫时,记得摸摸它。 38.孩子玩滑板时,不要打扰他们。 39.不要让仗势欺人的恶霸得逞。 40.如果你认为有什么需求改进的地方,请写信给政府,并提出解决方案。 41.记住,那些你还不知道的事比你已经知道的事来得重要。 42.即使受苦,仍要心存感恩。
View Details开启防火墙服务 以前为了方便,把防火墙都关闭了,因为现在项目都比较重要,害怕受到攻击,所以为了安全性,现在需要将防火墙开启,接下来介绍一下步骤。 1, 首先查看防火墙状态:
1 |
firewall-cmd --state |
下图所示为关闭防火墙,接下来需要开启 2, 开启防火墙, 启动firewall:
1 |
systemctl start firewalld.service |
设置开机自启:
1 |
systemctl enable firewalld.service |
3, 重启防火墙:
1 |
systemctl restart firewalld.service |
4, 检查防火墙状态是否打开:
1 |
firewall-cmd --state |
如图显示已经打开 5, 查看防火墙设置开机自启是否成功:
1 |
systemctl is-enabled firewalld.service;echo $? |
如图所示,即为成功 以上就是开启防火墙相关步骤 开启特定端口 在开启防火墙之后,我们有些服务就会访问不到,是因为服务的相关端口没有打开。 在此以打开80端口为例 命令:
1 2 3 4 5 6 7 8 9 10 |
开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent 重启防火墙:systemctl restart firewalld.service 命令含义: --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效 |
如图,可看到开启端口成功: 如果不放心,可以通过命令:
1 2 |
netstat -ntlp 或:firewall-cmd --list-ports |
查看开启的所有端口,具体如图 from:https://blog.csdn.net/zll_0405/article/details/81208606
View Details