技术文章

certificate unknown(46)

寵の児 提交于 2021-02-19 04:33:10
因为腾讯云的网站备案迟迟没有批下来,因此使用了朋友在阿里云的域名yk,我则申请了一台阿里云服务器,并将域名解析映射至该服务器。SSL证书则是在腾讯云上申请的,使用了Apache文件夹中的文件,放置在cowboy的priv/ssl目录下,1_root_bundle为根证书,2_yk.crt为网站证书,3_yk.key为密钥。一切布置妥当后,在PC的chrome、android的chrome、苹果手机的微信等环境中均可以正常访问,但是在android的微信中访问时服务器报如下错误: client alert Fatal: unknown certificate(46) RFC中的解释是: certificate_unknown Some other (unspecified) issue arose in processing the certificate, rendering it unacceptable. 搜索到一些信息,如: https://cweiske.de/tagebuch/https-client-cert-unknown.htm 也使用wireshark抓包排查了流程,但是由于对SSL不是非常了解,始终没有找到进一步的原因和方向。后来向一些朋友请教,整理了思路。对于这种问题,首先要到SSL测试网站上测试具体的问题: https://www.myssl.cn

如何向git账号上提交代码

点点圈 提交于 2021-02-19 04:32:37
官方说明:https://help.github.com/articles/generating-ssh-keys/ 1,为Github账户设置SSH key 文章地址:http://zuyunfei.com/2013/04/10/setup-github-ssh-key/ 什么是SSH key 一直使用SSH连接服务器,但是对它的原理却不太了解。这次设置Octopress的时候,需要使用SSH 方式连接Github, 正好对SSH的工作方式做了下了解。(好像Github推荐使用HTTPS的方式访问repo, 以前Github受到过 SSH密匙攻击 ,之后升级了SSH key的安全措施,https方式视乎更方便安全,不过Octopress的设置文档中,我并没有找到怎么使用HTTPS连接Github) 简单来说,SSH提供了两种级别的安全验证: 第一种级别是基于密码的安全验证,知道账号和密码,就可以登陆到远程主机。Team的开发工作中,就是使用这种方式登陆编译服务器,或者开发机器。因为是在内网中,这种级别的安全验证已经足够了。 第二种级别是基于 Public-key cryptography (公开密匙加密) 机制的安全验证,原理如下图所示: 其优点在于无需共享的通用密钥,解密的私钥不发往任何用户。即使公钥在网上被截获,如果没有与其匹配的私钥,也无法解密,所截获的公钥是没有任何用处的

使用 SQLiteOpenHelper操作数据库

爷,独闯天下 提交于 2021-02-19 04:32:08
首先大家可以首先看看 SQLiteOpenHelper类的源码或者 api文档,这样可以增加理解. 一般情况下我们需要事先的是 onCreate 和 onUpgrade 这两个抽象方法: package com.adcge.test002.db; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; /** * Created by baozhuwanglei on 16-3-9. */ public class DBHelper extends SQLiteOpenHelper { /** * 构造函数 调用父类构造函数 */ public DBHelper( Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } /** * 当数据库首次创建的时候调用此方法,一般将创建表等初始化操作放在 * 该方法中执行,重写 onCreate方法,调用 execSQL方法创建表 */ @Override

springcloud情操陶冶-springcloud config server(三)

女生的网名这么多〃 提交于 2021-02-19 04:31:39
承接前文 springcloud情操陶冶-springcloud config server(二) ,本文就不讲述server了,就简单阐述下client的应用 前话 config server在引入的时候也依赖config client的JAR包,也就是说本身的配置服务也集成了客户端的功能。在前文的分析中,笔者了解到默认client功能是关闭的。因为在 ConfigServerBootstrapApplicationListener 指定了 spring.cloud.config.enabled=false (默认) spring.factories 笔者直接翻阅了cloud config client板块中的 spring.factories 文件 # Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.cloud.config.client.ConfigClientAutoConfiguration # Bootstrap components org.springframework.cloud.bootstrap.BootstrapConfiguration=\ org.springframework.cloud.config

20行代码教你用python给证件照换底色

早过忘川 提交于 2021-02-19 04:30:57
点击上方“ Python爬虫与数据挖掘 ”,进行关注 回复“ 书籍 ”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 一腔热血勤珍重,洒去犹能化碧涛。 1.图片来源 该图片来源于百度图片,如果侵权,请联系我删除!图片仅用于知识交流。本文只是为了告诉大家:python其实有很多黑科技(牛逼的库),我们既可以用python处理工作中的一些事儿,同时我们也可以利用python做一些有趣的事儿。 2.读取图片并显示 imread():读取图片; imshow():展示图片; waitkey():设置窗口等待,如果不设置,窗口会一闪而过; import cv2 import numpy as np # 读取照片 img=cv2.imread( 'girl.jpg' ) # 显示图像 cv2.imshow( 'img' ,img) # 窗口等待的命令,0表示无限等待 cv2.waitKey( 0 ) 效果如下: 3.图片缩放 resize():图片缩放,其中fx和fy表示缩放比例,0.5表示缩放为以前的 一半。 import cv2 import numpy as np # 读取照片 img=cv2.imread( 'girl.jpg' ) # 图像缩放 img = cv2.resize(img, None ,fx= 0.5 ,fy= 0.5 ) rows,cols

剑指Offer-数组中出现次数超过一半的数字

£可爱£侵袭症+ 提交于 2021-02-19 04:24:57
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 思路 思路一: 利用HashMap记录每个数字以及数字出现的次数,没出现过的就放进去,出现过的就累加,若出现次数大于长度一半,返回此数,否则返回0。 思路二: 利用 Boyer-Moore Majority Vote Algorithm 来解决这个问题 使用 count 来统计一个元素出现的次数,当遍历到的元素和统计元素不相等时,令 count--。如果前面查找了 i 个元素,且 count == 0 ,说明前 i 个元素没有 majority,或者有 majority,但是出现的次数少于 i / 2 ,因为如果多于 i / 2 的话 count 就一定不会为 0 。此时剩下的 n - i 个元素中,majority 的数目依然多于 (n - i) / 2,因此继续查找就能找出 majority。 代码实现 package Array; import java.util.HashMap; /** * 数组中出现次数超过一半的数字 * 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 * 例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}

10.18 nslookup:域名查询工具

房东的猫 提交于 2021-02-19 04:24:27
功能说明 nslookup命令是常用的域名解析查询工具。 如果系统没有nslookup命令,则需要安装下面的软件包: yum -y install bind-utils 语法格式 nslookup [option] [name] [server] nalookup [选填] [域名/IP] [DNS服务器] 【选项说明】 nslookup有如下两种模式。 交互模式:用户可以向域名服务器查询各类主机、域名的信息,或者输出域名中的主机列表。 非交互模式:针对一个主机或域名仅仅获取特定的名称或所需的信息。 先来看看如何进入交互模式。 直接输入nslookup命令,若不加任何参数,则会直接进入交互模式,此时nslookup会连接到默认的域名服务器(即/etc/resolv.conf的第一个DNS地址)。 交互模式也支持选定不同的域名服务器。只需要将第一个参数设置为“-”,然后第二个参数是设置要连接的域名服务器主机名或IP地址。 表10-18 交互模式下nslookup命令的参数选项及说明 参数选项 解释说明 exit 退出nslookup命令 server <城名服务器> 指定解析域名的服务器地址 set关键字=值 设置查询关键字(城名属性)的值。常见的关键字如下: all(全部)查询城名有关的所有信息 domain=name 指定查询的城名 port=端口号 指定裁名服务器使用的端口号

HttpContext

雨燕双飞 提交于 2021-02-19 04:20:19
HttpContext.Current并非无处不在 阅读目录 开始 无处不在的HttpContext HttpContext.Current到底保存在哪里? HttpContext并非无处不在! 如何获取文件绝对路径? 异步调用中如何访问HttpContext? 安全地使用HttpContext.Current 了解ASP.NET的开发人员都知道它有个非常强大的对象 HttpContext,而且为了方便,ASP.NET还为它提供了一个静态属性HttpContext.Current来访问它, 今天的博客打算就从HttpContext.Current说起。 回到顶部 无处不在的HttpContext 由于ASP.NET提供了静态属性HttpContext.Current,因此获取HttpContext对象就非常方便了。 也正是因为这个原因,所以我们经常能见到直接访问HttpContext.Current的代码: public class Class1{ public Class1() { string file = HttpContext.Current.Request.MapPath("~/App_Data/xxxxxx.xml"); string text = System.IO.File.ReadAllText(file); //..........其它的操作 } //

更快学会任何东西的终极指南

允我心安 提交于 2021-02-19 04:07:16
在这个资讯爆炸、新东西层出不穷的时代,学习是件终生的事业。书到用时方狠少,很多时候我们总是后悔当初没学,然后抱怨时间不够多,最后开始反思—时间对每个人来说都是公平,所以我们的问题应该是如何才能更快地学会东西?也许Sean Kim的这篇 学习终极指南 可以参考。 如何缩短学习曲线这个课题已经被研究了几十年。其中讨论到的一些加速学习进程的核心原则这份指南都会讨论到。利用好这些原则,无论你学的是语言、乐器等等,都可以学得更快。 在当今我们生活的这个时代,如果你想过上一段非凡的人生,就得掌握快速学习这项本领。 —Anthony Robbins 不做重复工 我们学东西有个倾向是试图自己掌握,但是有个学会的人帮助可以节省你很多的时间和精力。 想想自己以前是怎么学语言或技能的。是不是一开始走了很多弯路?有了你的帮助,后面的人再学是不是就可以避免很多你犯过的错误? 要想更快掌握东西,第一步就得去请教这个领域做得最好的人,然后按照他开辟好的路走下去就行了(等你到一定水平了再走自己的路)。 正如Tony Robbins所言: 许多伟大的领袖已经证明,掌握任何技能、策略或目标的最快方式就是照着前面的人开辟的路走下去。如果你能找到已经拿到你想要的结果的人并且采取跟他们一样的行动,你也可以获得同样的结果。 你的年龄、性别、背景如何都没有关系,照着做让你可以快速跟踪并以短得多的时间实现你的梦想。

VMware 中安装kvm虚拟机

◇◆丶佛笑我妖孽 提交于 2021-02-19 04:05:51
环境准备: 安装vmware时需要自定义安装-开启虚拟化技术 安装成功之后就可以继续进行了。 1 查看CPU是否支持KVM egrep 'vmx|svm' /proc/cpuinfo --color=auto 搜索到结果就表示支持。 2 安装支持包 yum install -y qemu-kvm libvirt virt-install 3 启动并设置开机启动 systemctl start libvirtd && systemctl enable libvirtd 启动后可以看到网卡多了一个virbr0的网口,这个是libvirt默认的nat网口(默认IP是192.168.122.1),在更新的版本会发现有virbr0-nic、vnet0等网口,这些都是给虚拟机用的网口。 创建虚拟机 1 使用qemu命令创建一个15G的硬盘,硬盘的名称为:centos7 qemu-img create -f raw ./centos-kvm.raw 15G virt-install --virt-type kvm --name centos7 --ram 1024 --cdrom=/data/iso/CentOS-7-x86_64-DVD-1810.iso --disk path=/data/quem/centos-kvm.raw --network network=default -