watermark

Linux下CentOS模拟多台主机

扶醉桌前 提交于 2020-05-06 14:53:57
1.拷贝主机 进入CentOS安装目录,将CentOS拷贝一份以作为第二台主机,CentOS10为原先安装的主机,CentOS20为拷贝的第二台主机。 ​ 2.修改CentOS20主机配置 1.使用Xshell等连接工具连接CentOS20,由于CentOS20是从CentOS10拷贝过来的,连接信息和CentOS10一样,但需先断开CentOS10,否则会因为端口占用而连接失败。 2.修改CentOS20的配置文件,修改其端口以来区分CentOS10,修改IPADDR属性 vi /etc/sysconfig/network-scripts/ifcfg-ens33 IPADDR=192.168.2.20 3.修改主机名,修改HOSTNAME属性 vi /etc/sysconfig/network HOSTNAME=server20 4.配置主机ip和主机名的映射关系 vi /etc/hosts 192.168.2.10 server10 192.168.2.20 server20 5.测试 来源: oschina 链接: https://my.oschina.net/staybug/blog/4268207

Nginx实现负载均衡

回眸只為那壹抹淺笑 提交于 2020-05-06 14:32:37
1.为什么要进行负载均衡 随着互联网的发展,公司的业务流量越来越大,业务逻辑也越来越复杂,单台服务器的性能遇到了瓶颈。于是可以使用多台服务器来处理相同的业务,但是多个相同的来自客户端的请求具体交给哪台服务器进行处理呢,于是负载均衡技术就应运而生了。 ​ 2.Nginx负载均衡配置 1.修改nginx配置文件,添加如下内容 upstream tomcatservers { #weight:权重,默认为1,数值越大负载的权重就越大 server 192.168.2.10:8070 weight=1; server 192.168.2.10:8080 weight=1; server 192.168.2.10:8090 weight=1; } server{ listen 80; #访问的域名 server_name d.com; location / { #请求转发tomcatservers定义的服务器列表 proxy_pass http://tomcatservers; index index.html index.htm; } } 2.一台虚拟机下创建3个tomcat实例以来模拟三个服务器,三台tomcat服务器的端口分别为8070、8080、8090 。客户端访问的域名为:d.com ,此步骤的详细配置可参考我之前的文章 Nginx实现反向代理 。 3.测试

Android | 带你零代码实现安卓扫码功能

守給你的承諾、 提交于 2020-05-06 11:01:53
小序   这是一篇纯新手教学,本人之前没有任何安卓开发经验(尴尬),本文也不涉及任何代码就可以使用一个扫码demo,华为scankit真是新手的福音…… 背景介绍   最近被导师要求做一个购物收费的app,毕设好难呀~ 网上找了半天全是zxing,但是扫码效果真是有点小垃圾,无奈只能继续寻寻觅觅……突然发现网上有篇讲集成hms的文章,稍微借鉴了一下。由于在下是安卓小白,全篇没有一点代码,只是搬运一下华为网站的codelab,抱着忐忑的心情,竟然可以一键运行…… 前期准备   开发工具用的是android studio   用过android studio的人直接忽略,没用过的可以参考: https://developer.android.com/studio 相关的安装流程可以参考: https://www.cnblogs.com/xiadewang/p/7820377.html。   zxing和华为扫码服务对比   回到我们的主题上—扫码,我在选择扫码库的时候,首先接触到的是google的开源库ZXing,也上手进行了实操,可以说集成过程还是蛮简单的,但是针对我本身的业务场景和需求,识别率上还是不够达标,自动对焦能力也不具备,不能够达到即开即用的要求,所以我就继续进行了调研,就了解到了华为的一个扫码服务,按照网站上的一些指引,20分钟就搞出来一个小demo,然后就真香

算法竞赛专题解析(8):搜索进阶(3)--广搜进阶

只愿长相守 提交于 2020-05-06 01:23:25
本系列是这本算法教材的扩展资料:《算法竞赛入门到进阶》( 京东 当当 ) 清华大学出版社 PDF下载地址: https://github.com/luoyongjun999/code 其中的“补充资料” 如有建议,请联系:(1)QQ 群,567554289;(2)作者QQ,15512356 [toc]   《算法竞赛入门到进阶》的第4章“搜索技术”,讲解了递归、BFS、DFS的原理,以及双向广搜、A*算法、剪枝、迭代加深搜索、IDA*的经典例题,适合入门搜索算法。   本文分几篇专题介绍搜索扩展内容、讲解更多习题,便于读者深入掌握搜索技术。   第1篇:搜索基础。   第2篇:剪枝。   第3篇:广搜进阶。   第4篇:迭代加深、A*、IDA*。   本文是第3篇。   本篇深入地讲解了双向广搜、BFS+优先队列、BFS+双端队列的算法思想和应用,帮助读者对BFS的理解更上一层楼。 <font size=4>1 双向广搜</font> <font size=3>1.1 双向广搜的原理和复杂度分析</font>   双向广搜的应用场合:有确定的起点和终点,并且能把从起点到终点的单个搜索,变换为分别从起点出发和从终点出发的“相遇”问题,可以用双向广搜。   从起点s(正向搜索)和终点t(逆向搜索)同时开始搜索,当两个搜索产生相同的一个子状态v时就结束。得到的s-v-t是一条最佳路径

Nginx实现虚拟主机

心已入冬 提交于 2020-05-05 19:51:02
前言 Nginx的安装可参考https://my.oschina.net/staybug/blog/4254456 Nginx实现虚拟主机主要有两种方式,基于域名的虚拟主机和基于端口的虚拟主机。 1.基于域名的虚拟主机配置 两个域名指向同一台Nginx服务器,用户访问不同的域名显示不同的网页类容。我设置的两个域名是 a.com 和 b.com ,Nginx使用的虚拟机是 192.168.2.10 。 1.1修改hosts文件 配置a.com、b.com和虚拟机192.168.2.10的映射关系,修改Windows下的hosts配置文件(文件位置: C:\Windows\System32\drivers\etc )。 ​ 1.2创建访问成功页面 在Linux中Nginx安装目录下创建两个欢迎页面,首先创建两个目录。 mkdir -p /usr/local/nginx/a_html mkdir -p /usr/local/nginx/b_html /usr/local/nginx/a_html 为 a.com 域名访问的目录; /usr/local/nginx/b_html 为 b.com 访问的目录。目录中的内容使用Nginx自带的html文件,将/usr/local/nginx/html中的类容分别拷贝到上面两个目录中,并将a_html中index.html的<h1

小程序获取微信用户绑定的手机号

帅比萌擦擦* 提交于 2020-05-05 12:02:25
小程序API内提供getPhoneNumber借口来获取用户已经绑定到微信的手机号,但需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用; 基本流程如下: 使用方法 需要将 <button> 组件 open-type 的值设置为 getPhoneNumber ,当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到微信服务器返回的加密数据, 然后在第三方服务端结合 session_key 以及 app_id 进行解密获取手机号。 html < button class ="weui-btn" type ="primary" style ='width:690rpx' open-type ="getPhoneNumber" bindgetphonenumber ="getPhoneNumber" > 微信绑定手机号登录 </ button > Page({ getPhoneNumber: function (e) { console.log(`是否成功调用${e.detail.errMsg}`); console.log(`加密算法的初始向量:${e.detail.iv}`); console.log(`包括敏感数据在内的完整用户信息的加密数据:${e.detail.encryptedData}`); } }); 截图 如果用户点击

React Navigation5.0系列三:Drawer navigation的使用

↘锁芯ラ 提交于 2020-05-04 20:19:40
首先祝大家五四青年节及五一假期快乐。 在前面系列文章中我们了解5.0最新版本堆栈导航和选项卡导航的用法,今天我们来看看抽屉导航的使用方法。 React Navigation5.0系列一:StackNavigator的使用 React Navigation5.0系列二:TabNavigation的使用 @[toc] 安装 yarn add @react-navigation/drawer 使用 1.导入对应的组件 import { createDrawerNavigator } from '@react-navigation/drawer' 2.创建两个页面 const SettingsScreen = ({ navigation }) => { return ( <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> <Text>SettingScreen</Text> <Button title="Go to Details" onPress={() => navigation.navigate('Home')} /> </View> ) } const HomeScreen = ({ navigation }) => { return ( <View style={{ flex: 1,

基于JDK命令行工具的监控

风格不统一 提交于 2020-05-04 18:06:56
JVM的参数类型 JVM参数类型大体分为三种: 标准参数,基本每个版本的JVM都有的参数,比较稳定不变 X参数,非标准化的参数,每个JVM版本的都有些不一样,但是变化较小 XX参数,非标准化的参数,相对不稳定,每个JVM版本的变化都比较大,主要用于JVM调优和Debug 常见的标准参数: -help -server -client -version -showversion -cp -classpath 常见的X参数: -Xint : 解释执行 -Xcomp : 第一次使用就编译成本地代码 -Xmixed : 混合模式,JVM自己来决定是否编译成本地代码,这是默认的模式 XX参数又分为两大类,一种是Boolean类型,如下: 格式 :-XX : [ + - ] < name > 表示启用或禁用name属性 比如: -XX:+UseConcMarkSweepGC 表示启用UseConcMarkSweepGC -XX:+UseG1GC 表示启用UseG1GC 另一种则是key/value类型的,如下: 格式:-XX : < name > = < value > 表示name属性的值是value 比如: -XX:MaxGCPauseMillis=500 表示MaxGCPauseMillis属性的值是500 -XX:GCTimeRatio=19 表示GCTimeRatio属性的值是19

前端Chrome调试技巧汇总

痴心易碎 提交于 2020-05-04 14:30:09
保持鼠标放上去的效果 Ctrl+F 搜文字定位dom节点 复制日志对象 先右键保存全局对象 console输入 copy(temp1) 不同网速测试 定位,通过键盘上下可以修改大小 按住Ctrl,可以10为单位修改大小 样式级别(由上到下) 样式最终计算值 来源: oschina 链接: https://my.oschina.net/jeecg/blog/4264290

“程序设计与算法训练”课程设计“二值图像数字水印技术的实践”

不想你离开。 提交于 2020-05-04 10:25:22
   某 垃圾 大学数据结构课设(题目 抄袭 自某牛逼985高校)。   github项目地址(含报告等): https://github.com/25thengineer/Data-Structure-Course-Design-Practice-of-Binary-Image-Digital-Watermarking-Technology    ( 1 ) 操作系统: Ubuntu 16.04 LTS ;   ( 2 ) 开发工具: Qt 、 Qt Creator 5.12.0 ;   ( 3 ) 实现语言: C++ 。 课程编号:0521733B 课程性质:必修 程序设计与算法训练课程设计报告 院 系: 计算机与信息系 班 级: 姓 名: 学 号: 指导教师: 选题名称: 二值图像数字水印技术实践 2019 年 1 月 20 日 至 2019 年 5 月 5 日   CSDN博客位置: https://blog.csdn.net/u25th_engineer/article/details/89874906 一、 实验概述 1.1 课程设计题目    题目要求对给定的一种简单的二值图像的数字水印算法编程实现。 1.2 课程设计目的 对数字水印技术建立一定的认识,能建立位矩阵、位向量等 ADT,并能用这些 ADT 完成给定二值图像数字水印的嵌入和抽取。 1.3