black

小白学 Python 数据分析(17):Matplotlib(二)基础操作

≯℡__Kan透↙ 提交于 2020-04-18 03:24:43
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):Pandas (二)数据结构 Series 小白学 Python 数据分析(4):Pandas (三)数据结构 DataFrame 小白学 Python 数据分析(5):Pandas (四)基础操作(1)查看数据 小白学 Python 数据分析(6):Pandas (五)基础操作(2)数据选择 小白学 Python 数据分析(7):Pandas (六)数据导入 小白学 Python 数据分析(8):Pandas (七)数据预处理 小白学 Python 数据分析(9):Pandas (八)数据预处理(2) 小白学 Python 数据分析(10):Pandas (九)数据运算 小白学 Python 数据分析(11):Pandas (十)数据分组 小白学 Python 数据分析(12):Pandas (十一)数据透视表(pivot_table) 小白学 Python 数据分析(13):Pandas (十二)数据表拼接 小白学 Python 数据分析(14):Pandas (十三)数据导出 小白学 Python 数据分析(15):数据可视化概述 小白学 Python 数据分析(16)

kubeadmin安装k8s

空扰寡人 提交于 2020-04-15 14:55:37
【推荐阅读】微服务还能火多久?>>> k8s 安装过程(kubeadmin) https://www.centos.bz/2017/08/k8s-kubernetes-architecture-diagram/ #各组件的作用 参考 https://cloud.tencent.com/developer/article/1509412 1 系统初始化 1.1 设置系统主机名以及 Host 文件的相互解析 hostnamectl set-hostname k8s-master01 1.2 安装依赖包 yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git 1.3 设置防火墙为 Iptables 并设置空规则 systemctl stop firewalld && systemctl disable firewalld # 安装iptables yum -y install iptables-services && systemctl start iptables && systemctl enable iptables && iptables -F && service iptables save 1.4

Flutter 实现网易云音乐字幕

不问归期 提交于 2020-04-15 10:00:48
【推荐阅读】微服务还能火多久?>>> 老孟导读:没有接触过音乐字幕方面知识的话,会对字幕的实现比较迷茫,什么时候转到下一句?看了这篇文章,你就会明白字幕so easy。 先来一张效果图: 字幕格式 目前市面上有很多种字幕格式,比如srt, ssa, ass(文本形式)和idx+sub(图形格式),但不管哪一种格式都会包含2个属性:时间戳和字幕内容,格式如下: 00:00 歌词: 00:25 我要穿越这片沙漠 00:28 找寻真的自我 00:30 身边只有一匹骆驼陪我 00:34 这片风儿吹过 00:36 那片云儿飘过 上面字幕的意思是:在25秒的时候跳转到下一句,在28秒的时候跳转到下一句... 字幕实现 了解了字幕文件的形式,字幕实现起来就比较简单了,使用 ListWheelScrollView 控件,然后通过 ScrollController 在合适的时机进行滚动,使当前字幕始终保持在屏幕中间。 解析字幕文件,获取字幕数据: loadData() async { var jsonStr = await DefaultAssetBundle.of(context).loadString('assets/subtitle.txt'); var list = jsonStr.split(RegExp('\n')); list.forEach((f) { if (f

面试官求你了,别再问我TCP的三次握手和四次挥手

送分小仙女□ 提交于 2020-04-15 08:36:28
【推荐阅读】微服务还能火多久?>>> 少点代码,多点头发 本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues。 https://github.com/midou-tech/articles 三次握手建立链接,四次挥手断开链接。这个问题算非常经典的问题,也是面试官非常喜欢问的问题。 不夸张的说,龙叔在校招面试的时候 每一家公司 都问到过关于三次握手和四次挥手相关的问题,相信大家也都差不多被面试官各种怼。 这个问题的重要性,已经意识到。不说废话了,接下来就是听龙叔给你安排的明明白白。 先画个图,看下TCP的建立连接 和 断开连接的整体过程。 tcp三次握手四次挥手 看完这个图相信聪明的你在整体对三次握手和四次挥手有了一些基本把控。但是,里面的细节肯定是会有些生疏或者模糊的,接下来就一个一个问题的揭露本质。 在解释之前先看点基础知识做做铺垫。 TCP状态转移解释 状态 描述 CLOSED 阻塞或关闭状态,表示主机当前没有正在传输或者建立的链接 LISTEN 监听状态,表示服务器做好准备,等待建立传输链接 SYN RECV 收到第一次的传输请求,还未进行确认 SYN SENT 发送完第一个SYN报文,等待收到确认 ESTABLISHED 链接正常建立之后进入数据传输阶段 FIN WAIT1 主动发送第一个FIN报文之后进入该状态 FIN WAIT2

面试官求你了,别再问我TCP的三次握手和四次挥手

馋奶兔 提交于 2020-04-15 08:04:11
【推荐阅读】微服务还能火多久?>>> 少点代码,多点头发 本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues。 https://github.com/midou-tech/articles 三次握手建立链接,四次挥手断开链接。这个问题算非常经典的问题,也是面试官非常喜欢问的问题。 不夸张的说,龙叔在校招面试的时候 每一家公司 都问到过关于三次握手和四次挥手相关的问题,相信大家也都差不多被面试官各种怼。 这个问题的重要性,已经意识到。不说废话了,接下来就是听龙叔给你安排的明明白白。 先画个图,看下TCP的建立连接 和 断开连接的整体过程。 tcp三次握手四次挥手 看完这个图相信聪明的你在整体对三次握手和四次挥手有了一些基本把控。但是,里面的细节肯定是会有些生疏或者模糊的,接下来就一个一个问题的揭露本质。 在解释之前先看点基础知识做做铺垫。 TCP状态转移解释 状态 描述 CLOSED 阻塞或关闭状态,表示主机当前没有正在传输或者建立的链接 LISTEN 监听状态,表示服务器做好准备,等待建立传输链接 SYN RECV 收到第一次的传输请求,还未进行确认 SYN SENT 发送完第一个SYN报文,等待收到确认 ESTABLISHED 链接正常建立之后进入数据传输阶段 FIN WAIT1 主动发送第一个FIN报文之后进入该状态 FIN WAIT2

JavaScript 开发必须掌握技能(二)- 更好的使用数组方法

扶醉桌前 提交于 2020-04-13 16:32:24
【今日推荐】:为什么一到面试就懵逼!>>> 数组是用于储存多个相同类型数据的集合,JavaScript 开发中数组开发是必须掌握技能,工作学习中没少和数组打交道,所以重中之重必须掌握,以下是数组中常用方法及实例。 数组常用操作 1、创建数组   直接定义数组项方法;   构造函数 new Array ( 'Apple' , 'Banana' ) ;    定义一个空数组,我们在push进想要的数组项。 const fruits = ['Apple', 'Banana' ] console.log(fruits); // [ 'Apple', 'Banana' ] console.log(fruits.length); // 3 2、访问(索引到)数组项 通过下标定位到数组项, JavaScript数组的索引为零:数组的第一个元素在index 0 ,最后一个元素在index等于数组l ength 属性 值 减去1。但是 使用无效的索引号将返回 undefined 。 console.log(fruits[0]) // Apple console.log(fruits[fruits.length-1]) // Banana 3、遍历数组 Array.forEach() ,遍历数组的方法很多,我将在往后的随笔中更新。 fruits.forEach( function (item,

大人时代变了,现在图标不搞切图

大兔子大兔子 提交于 2020-04-13 16:21:29
【今日推荐】:为什么一到面试就懵逼!>>> 为什么不切图标了 以前的图标我们非常喜欢用ps等工具切成一张张 xxx.png 图片,如果稍微懂点移动端适配,对dpr(设备像素比)有所了解的,还会切出类似 home@1x.ppng , home@2x.png , home@3x.png 这样的图标,其中 @1x 表示用来适配dpr为1的手机,图像分辨率最低; @2x 表示用来适配dpr为2的手机,图像分辨率稍高一些; @3x 用来适配dpr为3的手机,图像分辨率最高。 最后,借助媒体查询如 @media(min-device-pixel-ratio: 2){ } 这样的代码对不同dpr的手机写上对应分辨率的图片,在大型项目中,本地静态图片可能类似这样: 这是非常混乱且难以管理的。 而且,png格式也好,jpg格式也罢,作为位图,它们都有两个天然的缺陷:一是图片资源体积小与清晰度高这两者不可兼得;二是无论清晰度再怎么高,放大后依然不清晰。 我们可以简单感性地理解一下:位图是由很多个像素点构成的,理论上,位图的像素和屏幕上的物理像素一一对应,就可以达到最佳的显示效果。然而现在dpr>1的屏幕比比皆是,在这种场景下,位图的一个像素会由多个物理像素来渲染。在网页缩放时是更是如此,缩放厉害时一个位图像素可能横跨几百个物理像素。 这会带来两个问题:一是多个物理像素对应一个位图像素会显得很大

大人时代变了,现在图标不搞切图

痴心易碎 提交于 2020-04-13 11:01:51
【今日推荐】:为什么一到面试就懵逼!>>> 为什么不切图标了 以前的图标我们非常喜欢用ps等工具切成一张张 xxx.png 图片,如果稍微懂点移动端适配,对dpr(设备像素比)有所了解的,还会切出类似 home@1x.ppng , home@2x.png , home@3x.png 这样的图标,其中 @1x 表示用来适配dpr为1的手机,图像分辨率最低; @2x 表示用来适配dpr为2的手机,图像分辨率稍高一些; @3x 用来适配dpr为3的手机,图像分辨率最高。 最后,借助媒体查询如 @media(min-device-pixel-ratio: 2){ } 这样的代码对不同dpr的手机写上对应分辨率的图片,在大型项目中,本地静态图片可能类似这样: 这是非常混乱且难以管理的。 而且,png格式也好,jpg格式也罢,作为位图,它们都有两个天然的缺陷:一是图片资源体积小与清晰度高这两者不可兼得;二是无论清晰度再怎么高,放大后依然不清晰。 我们可以简单感性地理解一下:位图是由很多个像素点构成的,理论上,位图的像素和屏幕上的物理像素一一对应,就可以达到最佳的显示效果。然而现在dpr>1的屏幕比比皆是,在这种场景下,位图的一个像素会由多个物理像素来渲染。在网页缩放时是更是如此,缩放厉害时一个位图像素可能横跨几百个物理像素。 这会带来两个问题:一是多个物理像素对应一个位图像素会显得很大

毕业设计 python opencv实现车牌识别 颜色判断

非 Y 不嫁゛ 提交于 2020-04-12 20:12:23
主要代码参考 https://blog.csdn.net/wzh191920/article/details/79589506 GitHub: https://github.com/yinghualuowu 答辩通过了,补完~ 该部分代码还包括缩小边界 def img_color(card_imgs): colors = [] for card_index, card_img in enumerate(card_imgs): green = yello = blue = black = white = 0 card_img_hsv = cv2.cvtColor(card_img, cv2.COLOR_BGR2HSV) # 有转换失败的可能,原因来自于上面矫正矩形出错 if card_img_hsv is None: continue row_num, col_num = card_img_hsv.shape[:2 ] card_img_count = row_num * col_num for i in range(row_num): for j in range(col_num): H = card_img_hsv.item(i, j, 0) S = card_img_hsv.item(i, j, 1 ) V = card_img_hsv.item(i, j, 2 ) if 11

国标GB28181流媒体服务器登录鉴权如何应用到跨域场景中?

僤鯓⒐⒋嵵緔 提交于 2020-04-12 18:59:47
对于流媒体服务器来说,登录鉴权的存在能够给与用户一定的安全保护,我们的国标GB28181流媒体服务器提供简单的登录鉴权,客户端通过用户名密码登录成功后,服务端返回认证token的cookie, 后续的接口访问, 服务端从cookie读取token进行校验。 但是,在与客户系统集成时,往往需要在客户系统完成鉴权过程。这时就涉及到跨域的问题。如果不进行登录,则显示401,意思是无法获取到返回的地址,只有鉴权完成,才能获取到正确的视频流,如下图: 那么,这一套鉴权过程如何应用到跨域场景中呢? 客户端不必显示保存token到cookie。所有和EasyGBS的交互接口需要添加跨域配置 xhrFields: { withCredentials: true } 和 crossDomain: true 前端代码: $(function () { $("#upload").click(function () { //验证 getcascade(); }); $("#loginout").click(function () { //退出 logout(); }); $("#login").click(function () { //登录 $.ajax({ type: "GET", url: "http://192.168.99.119:10000/api/v1/login", xhrFields: