技术文章

形态学膨胀腐蚀

╄→гoц情女王★ 提交于 2021-02-20 13:55:14
% 放大图像以放大形状 % 使用imdilate函数来扩展图像 % 形态扩展操作扩展或加厚图像中的前景对象 BW = zeros(9,10); BW(4:6,4:7) = 1; imshow(imresize(BW,40,'nearest')) % 创建一个结构元素与imdilate一起使用 % 要展开几何对象,通常需要创建与对象形状相同的结构元素 SE = strel('square',3); % 将输入图像和结构元素传递给imdilate % 向前景对象的所有边添加1 BW2 = imdilate(BW,SE); imshow(imresize(BW2,40,'nearest')) % 为了进行比较,创建一个不同形状的结构元素 % 使用新的结构元素扩展原始图像 SE2 = strel('diamond',1); BW3 = imdilate(BW,SE2); imshow(imresize(BW3,40,'nearest')) montage({BW,BW2,BW3}, 'Size', [3 1]); %% 腐蚀图像以去除细线条 % 使用imerode函数来腐蚀二进制图像 % 图像读取、显示图像 BW1 = imread('circbw.tif'); imshow(BW1) % 创建一个对角结构元素 SE = strel('arbitrary',eye(7)); % 腐蚀图像

仅使用CSS就可以提高页面渲染速度的4个技巧

我与影子孤独终老i 提交于 2021-02-20 13:52:19
本文将重点介绍4个可以用来提高页面渲染速度的CSS技巧。 1. Content-visibility 一般来说,大多数Web应用都有复杂的UI元素,它的扩展范围超出了用户在浏览器视图中看到的内容。在这种情况下,我们可以使用内容可见性( content-visibility )来跳过屏幕外内容的渲染。如果你有大量的离屏内容,这将大大减少页面渲染时间。 这个功能是最新增加的功能之一,也是对提高渲染性能影响最大的功能之一。虽然 content-visibility 接受几个值,但我们可以在元素上使用 content-visibility: auto; 来获得直接的性能提升。 让我们考虑一下下面的页面,其中包含许多不同信息的卡片。虽然大约有12张卡适合屏幕,但列表中大约有375张卡。正如你所看到的,浏览器用了1037ms来渲染这个页面 。 下一步,您可以向所有卡添加 content-visibility 。 在这个例子中,在页面中加入 content-visibility 后,渲染时间下降到150ms,这是6倍以上的性能提升。 正如你所看到的,内容可见性是相当强大的,对提高页面渲染时间非常有用。根据我们目前所讨论的东西,你一定是把它当成了页面渲染的银弹。 content-visibility 的限制 然而,有几个领域的内容可视性不佳。我想强调两点,供大家参考。 此功能仍处于试验阶段。

bootstrap tab选项卡

吃可爱长大的小学妹 提交于 2021-02-20 13:51:43
<!DOCTYPE html> <html> <head> <meta charset= " utf-8 " > <title>个人中心2</title> <link rel= " stylesheet " type= " text/css " href= " css/bootstrap.min.css " /> <script src= " https://libs.baidu.com/jquery/2.0.0/jquery.min.js " ></script> <script src= " js/bootstrap.min.js " type= " text/javascript " charset= " utf-8 " ></script> </head> <body> <ul class = " nav nav-tabs " > <li role= " presentation " class = " active " ><a href= " #menu1 " data-toggle= " tab " >Home</a></li> <li role= " presentation " ><a href= " #menu2 " data-toggle= " tab " >Profile</a></li> <li role= " presentation " ><a href

Helm 安装Nginx Ingress

天涯浪子 提交于 2021-02-20 13:50:53
为了便于将集群中的服务暴露到集群外部,需要使用Ingress。接下来使用Helm将Nginx Ingress部署到Kubernetes上。 Nginx Ingress Controller被部署在Kubernetes的边缘节点上。 这里将 master 作为边缘节点,打上 label [root@master /]# kubectl label node master node-role.kubernetes.io/edge= node/master labeled [root@master /]# kubectl get nodes NAME STATUS ROLES AGE VERSION master Ready edge,master 4d3h v1.15.1 slaver1 Ready <none> 4d2h v1.15.1 slaver2 Ready <none> 4d2h v1.15.1 安装 使用 yaml 配置文件安装 stable/nginx-ingress chart的值文件ingress-nginx.yaml如下: controller: replicaCount: 1 hostNetwork: true nodeSelector: node-role.kubernetes.io/edge: '' affinity: podAntiAffinity:

PaaS-cf

只愿长相守 提交于 2021-02-20 13:50:24
之前开学写的微信后台后来也没有运营和维护,二级域名估计是被vmware注销了吧,当初使用jsp写的,eclipse的market里面直接由cloudfoundry的插件,非常的方便。 现在由于想要搭建一个并发性够牛逼的后台开始涉及nodejs这个神器,想要挂在云服务上面第一个想到的还是cf,虽然开源的支持node的paas不少,但是第一次总是美好的,cf的官方文档上面有一个小问题,就是如果用cf login会无法登陆,但是用vmc就ok,不知道是不是一个小疏忽还是国内的网络环境太那啥。 用了vmc之后后面也没什么问题了。 vmc push 必须在你要推送到cf服务器上的项目的根目录下 最近真是很颓废,老想看电影,到处逛逛的,不好好复习老是看闲书。 干活去了 来源: oschina 链接: https://my.oschina.net/u/814748/blog/136876

AkShare-能源数据-碳排放-广州

时光毁灭记忆、已成空白 提交于 2021-02-20 13:50:07
作者寄语 广州碳排放权交易中心心-行情数据 更新接口 "energy_carbon_gz" # 碳排放权-广州 碳排放权-广州 接口: energy_carbon_gz 目标地址: http://www.cnemission.com/article/hqxx/ 描述: 获取广州碳排放权交易中心-行情信息 限量: 全部历史数据 输入参数 名称 类型 必选 描述 - - - - 输出参数 名称 类型 默认显示 描述 日期 str Y - 品种 float Y - 开盘价 float Y - 收盘价 str Y - 最高价 str Y - 最低价 str Y - 涨跌 str Y - 涨跌幅 str Y - 成交数量 str Y - 成交金额 str Y - 接口示例 import akshare as ak energy_carbon_gz_df = ak.energy_carbon_gz() print(energy_carbon_gz_df) 数据示例 日期 品种 开盘价 收盘价 ... 涨跌 涨跌幅 成交数量 成交金额 0 20200911 GDEA 27.87 28.05 ... 0.18 0.65% 114991 3225804.60 1 20200910 GDEA 27.86 27.87 ... 0.01 0.04% 8863 246981.60 2 20200909

2020 年 4 月全国程序员工资出炉!

為{幸葍}努か 提交于 2021-02-20 13:48:45
点击上方 Java后端 ,选择 设为星标 优质文章,及时送达 看到脉脉上一网友分享程序员4月份工资,平均工资竟达到14120! 网友:“这头发掉的值” 工资趋势 工资分布: 2020年中国一线城市程序员的平均工资为 16285 元,工资中位数为 14583 元,其中95%的人的工资位于 5000 到 20000 元之间。 和往年数据比较: 其中 北京的平均工资为 18048 ,中位数为 15000 。 上海的平均工资为 16653 ,中位数为 15000 。 广州的平均工资为 13831 ,中位数为 12500 。 深圳的平均工资为 16488 ,中位数为 15000 。 工作经验 数据显示,工资会随着工作经验的增长而增长。 职位 和2019年相比,算法工程师的比例从8%提高到了10%。 公司性质 公司很重要,选择一个什么样的公司,决定了工资高低。 由上数据可知,欧美外企的工资显著高于其他企业。所以,童鞋们要努力学好英语呀! 公司规模 公司越大,工资会越高。 行业 金融业果然名不虚传,有钱! 话说你拖后腿了吗? *数据来源:有数可据 https://blog.csdn.net/juwikuang/article/details/103840385 https://blog.csdn.net/juwikuang/article/details/104643366 -END-

有哪些比较好的测试用例管理工具?

断了今生、忘了曾经 提交于 2021-02-20 13:47:49
顾翔老师的《软件测试技术实战设计、工具及管理》网上购买地址: https://item.jd.com/34295655089.html 《基于Django的电子商务网站》网上购买地址: https://item.jd.com/12082665.html 店铺二维码: 来源:http://www.51testing.com   公司 测试 团队扩招时候做过一次 测试管理 工具选型,调研了几种工具,涵盖国内外厂商开源和商用版,下面一一列举各工具特性和优缺点。   首先对各工具主要功能汇总如下表:   对以上工具优缺点简要评价如下:    TestRail    优点   具有三种 测试用例 管理方式:普通,基线(类似Git分支),多套件;根据创建的测试场景执行测试,例如可自定义 浏览器 、 操作系统 等;可集成众多缺陷追踪工具,如JIRA,GitHub,YouTrack等;提供Saas在线模式和独立部署版本;开放API。    缺点   三种用例组织方式中使用较复杂(仅普通方式较好理解和使用);交互设计较旧,10年前 技术 ;SaaS版在国内访问速度很慢;价格较高(SaaS版$30/人/月,独立部署版本$290/人/年)。    TestLink    优点   开源免费具有一定的扩展性;   可集成众多缺陷追踪工具,如Jira、Redmine等;   提供 需求管理 ;  

Shell编程基础

怎甘沉沦 提交于 2021-02-20 13:46:34
注: 本文说的都是bash(Bourne Again Shell),是sh(Bourne Shell)的扩展 扩展名不会影响脚本执行,见名知意就行,一般情况下扩展名是sh Shell注释:以 # 开头的行就是注释,会被解释器忽略,但是sh里面没有多行注释,只能每行加一个# 从Ubuntu 6.10开始,默认使用dash,需要手动执行命令将dash改为bash, 至于bash和dash的区别,详见 https://blog.csdn.net/hshl1214/article/details/51122663 命令:sudo dpkg-reconfigure dash 然后在出现的页面中选择NO,之后就可以正常运行脚本了 运行Shell脚本的两种方法: 作为可执行程序 让脚本文件具有可执行权限 chmod +x file 加上执行权限,否则会提示无执行权限。 ./文件名 注意,例要执行test.sh脚本,一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说

80%应聘者都不及格的JS面试题

夙愿已清 提交于 2021-02-20 13:46:09
不起眼的开始 招聘前端工程师,尤其是中高级前端工程师,扎实的 JS 基础绝对是必要条件,基础不扎实的工程师在面对前端开发中的各种问题时大概率会束手无策。在考察候选人 JS 基础的时候,我经常会提供下面这段代码,然后让候选人分析它实际运行的结果: 1 2 3 4 5 6 7 for ( var i = 0; i < 5; i++) { setTimeout( function () { console.log( new Date, i); }, 1000); } console.log( new Date, i); 这段代码很短,只有 7 行,我想,能读到这里的同学应该不需要我逐行解释这段代码在做什么吧。候选人面对这段代码时给出的结果也不尽相同,以下是典型的答案: A. 20% 的人会快速扫描代码,然后给出结果:0,1,2,3,4,5; B. 30% 的人会拿着代码逐行看,然后给出结果:5,0,1,2,3,4; C. 50% 的人会拿着代码仔细琢磨,然后给出结果:5,5,5,5,5,5; 只要你对 JS 中同步和异步代码的区别、变量作用域、闭包等概念有正确的理解,就知道正确答案是 C,代码的实际输出是: 1 2 3 4 5 6 2017-03-18T00:43:45.873Z 5 2017-03-18T00:43:46.866Z 5 2017-03-18T00:43:46.868Z