一、DMSP/OLS、NPP/VIIRS夜光数据下载和校正理论介绍

一、前言 (1)DMSP/OLS夜光数据介绍 DMSP(Defense Meteorological Satellite Program)是美国国防气象卫星计划。该项目是通过气象卫星搭载的传感器,探测出夜间低强度灯光,例如城市的灯光、车流的灯光、居民小区的灯光等。目前,获取到这些DMSP-OLS夜间灯光数据,已成为研究人类活动的不可多得数据,Tilottama 等人(2013)发现了夜间卫星图像数据的巨大价值,这些灯光数据要相比典型的人口普查数据,折射出的信息比较综合和呈现的频次更高,且能在多个研究领域得到运用。 DMSP夜光数据存在一些缺点:一是年份1992-2013年,2013年以后没有数据;二是存在多类传感器(F10、F12......F18等等)。因为多类传感器的问题,且相同年份有着不同传感器数据,因为传感器不同,导致数据也存在差异,例如F101994和F121994在DN值上有较大差异。三是数据存在饱和现象,DN值最高只有63,这与区域经济发展是不相符。四是分辨率不算高,1000*1000m。 DMSP/OLS夜光数据传感器分布 年份 传感器 F10 F12 F14 F15 F16 F18 1992 √ 1993 √ 1994 √ √ 1995 √ 1996 √ 1997 √ √ 1998 √ √ 1999 √ √ 2000 √ √ 2001 √ √ 2002 √ √ 2003 √ √ 2004 √ √ 2005 √ √ 2006 √ √ 2007 √ √ 2008 √ 2009 √ 2010 √ 2011 √

基于aarch64分析kernel源码 六:kernel_init进程(1号进程)、kthreadd进程(2号进程)

一、kernel_init进程创建流程 start_kernel --> arch_call_rest_init --> rest_init --> pid = user_mode_thread(kernel_init, NULL, CLONE_FS) ---> kernel_clone 二、kernel_init static int __ref kernel_init(void *unused) { int ret; /* * Wait until kthreadd is all set-up. * 等到 kthreadd 全部设置完毕。 */ wait_for_completion(&kthreadd_done); kernel_init_freeable(); /* need to finish all async __init code before freeing the memory */ async_synchronize_full(); system_state = SYSTEM_FREEING_INITMEM; kprobe_free_init_mem(); ftrace_free_init_mem(); kgdb_free_init_mem(); exit_boot_config(); free_initmem(); mark_readonly(); /* * Kernel mappings are now finalized - update the userspace page-table * to finalize PTI.

Selenium Wire - 扩展 Selenium 能够检查浏览器发出的请求和响应

使用 Selenium 进行自动化操作时,会存在很多的特殊场景,比如会修改请求参数、响应参数等。 本篇将介绍一款 Selenium 的扩展,即能够检查浏览器发出的请求和响应 - Selenium Wire。 简介 Selenium Wire 扩展了 Selenium 的 Python 绑定,可以访问浏览器发出的底层请求。除了与 Selenium 相同的方式编写代码,还提供了额外的 API 来检查请求和响应,并对其进行动态更改。 特点: 1、Python,提供友好的 API 方法 2、捕获 HTTP 和 HTTPS 请求 3、拦截请求和响应 4、动态修改标题、参数和正文内容 5、捕获 websocket 消息 6、支持 HAR 格式 7、支持代理服务器 兼容性: 1、Python 3.7+ 2、Selenium 4.0.0+ 3、支持 Chrome、Firefox、Edge 和远程网络驱动程序 github地址: https://github.com/wkeeling/selenium-wire 安装 使用 pip 安装: pip install selenium-wire 与使用 Selenium 一样,下载指定的浏览器驱动到系统的环境变量里即可。 快速上手 1、简单示例: 像直接使用 Selenium 一样实例化 web 驱动程序,通过 requests 属性访问请求。 #!/usr/bin/env python # -*- coding: utf-8 -*- # 公众号:伤心的辣条 from seleniumwire import webdriver driver = webdriver.

Java转换坐标系,GPS(WGS84)大地200(CGCS200)、百度(BD-09)、高德(GCJ-02)互转,一文搞懂坐标系、坐标转换

1.分不清的坐标系 WG-S84: 地理坐标系统,GPS仪器记录的经纬度信息,Google Earth采用,Google Map中国范围外使用,高德地图中国范围外使用。 GCJ-02: 投影坐标系统,火星坐标系,中国国家测绘局制定的坐标系统,由WGS-84加密后的坐标。Google中国和搜搜地图,arcgis地图,高德地图 BD-09: 投影坐标系统,百度坐标,GCJ-02加密后的坐标系,只适用于百度地图 (在国内是不允许直接用WGS84坐标系标注的,必须经过加密后才能用。必须至少使用GCJ-02坐标系,或者使用在GCJ-02加密后再进行加密的坐标系,如百度坐标系) 其他:搜狗地图:搜狗坐标系,图吧:图吧坐标等,估计也是在GCJ02基础上加密而成的,这里暂不涉及 2.直接上代码 package ft.util.gps; // 导入Proj4J库 import org.locationtech.proj4j.*; import org.locationtech.proj4j.io.Proj4FileReader; import java.io.IOException; /** * 百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换的工具 * <p> * 参考 https://github.com/wandergis/coordtransform 实现的Java版本 * * @author geosmart */ public class CoordinateTransformUtil { static double x_pi = 3.14159265358979324 * 3000.0 / 180.0; // π static double pi = 3.1415926535897932384626; // 长半轴 static double a = 6378245.0; // 扁率 static double ee = 0.

python中package安装常用指令

一、安装位置: (1)Pycharm中的mainmanu-settings-interpreter中安装。 (2)Pycharm中的terminal内输入指令安装 二、安装指令 (1)pip install 模块名字 (2)如果因为网络问题安装不了,用下面的命令行: pip install 模块名 -i http://pypi.douban.com/simple 国内几个pip源网址如下: 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里:http://mirrors.aliyun.com/pypi/simple/ 豆瓣:http://pypi.douban.com/simple/ 华中理工大学:http://pypi.hustunique.com/ 山东理工大学:http://pypi.sdutlinux.org/ 中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/ 三、特定库安装故障 (1)之前安装tensorflow库的时候,报错: ERROR: Could not find a version that satisfies the requirement transformers (from versions: none) ERROR: No matching distribution found for transformers (2)安装matplotlib时报错: ImportError: DLL load failed: 找不到指定的模块。 最后的解决办法: 指定镜像源:pip install docxtemplater -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com 上述语句指定了镜像源为阿里,使用--trusted-host选项是为了确保与阿里云镜像的连接可以信任。

关于科来网络分析系统 技术交流版

1.应该有很多人和我一样吧!这款软件有时候能用。 随着系统更新,驱动更新,软件更新, 他总是提示找不到网络适配器 很神奇的是,提示找不到网络适配器,mac却能扫到局域网的mac地址 2.有网友说改兼容性,用管理员方式运行,在我这不好用,包括卸载重装也不行,后来我发现,这个软件有一个驱动,卸载了,再重新安装软件 应网友要求将卸载步骤写明 使用如下工具https://geekuninstaller.pro/download/ 3.卸载完后,重启主机,重新安装软件,发现好用了。出问题的老铁们可以试试!

基于aarch64分析kernel源码 五:idle进程(0号进程)

一、参考 linux — 0号进程,1号进程,2号进程 - 流水灯 - 博客园 (cnblogs.com) Linux0号进程,1号进程,2号进程_0号进程和1号进程-CSDN博客 二、idle进程的创建流程 start_kernel --> arch_call_rest_init --> rest_init --> cpu_startup_entry --> while(1) { do_idle(); } start_kernel 函数在完成系统初始化后会进入死循环调用 do_idle 函数,相当于 start_kernel 函数完成初始化后会退化成 idle 进程。 三、idle 进程控制块 idle 进程控制块是 init_task,init_task 是一个全局静态变量,定义在 init/init_task.c 文件中。 /* * Set up the first task table, touch at your own risk!. Base=0, * limit=0x1fffff (=2MB) */ struct task_struct init_task #ifdef CONFIG_ARCH_TASK_STRUCT_ON_STACK __init_task_data #endif __aligned(L1_CACHE_BYTES) = { #ifdef CONFIG_THREAD_INFO_IN_TASK .

跟着李沐学AI(动手学深度学习 PyTorch版)学习笔记——03安装(环境配置d2l、pytorch)(python3.7版本+Windows+各种问题解决措施)

第一步:根据操作系统下载并安装Miniconda 1.下载Miniconda下载地址 2.在安装过程中需要勾选“Add Anaconda to the system PATH environment variable”选项 3.检验win+R,输入cmd,在文本框输入conda --version 第二步:下载包含本书全部代码的压缩包。 1.点击该链接+点击jupyter记事本下载压缩包 2.解压该压缩包 3.在解压后的文件夹地址栏输入cmd回车进入命令模式。 第三步:使⽤conda创建虚拟环境并激活 1.conda和pip默认使⽤国外站点来下载软件,我们可以配置国内镜像来加速下载。 配置清华PyPI镜像: pip config set global.index-url http://pypi.tuna.tsinghua.edu.cn/simple 输入之后回车是这样 2.接下来使⽤conda创建虚拟环境并激活 conda env remove d2l-zh conda create -n d2l-zh -y python=3.8 pip (这个输入之后会噼里啪啦一堆东西,且稍微需要点时间,我网慢) conda activate d2l-zh 第四步:安装需要的包(这步错的较多) 主要是d2l、torch 、torchvision d2l可以用豆瓣源 pip install -i https://pypi.douban.com/simple/ d2l (这个输入之后会噼里啪啦一堆东西,且稍微需要点时间,我网慢) 这一步运行之后出现一些红字错误,应该是没安装成功 pip install d2l -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com(这个应该是正确的输入)(还是没成功出现类似下图) 用阿里云的源安装pytorch pip install torch torch vision -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

眼图的形成原理

【摘要】 前言眼图的形成原理眼图的参数含义眼图的模板眼图的识别依据? 前言 眼图的测量对于高速串行总线的重要性不言而喻,眼图反映了总线通道环境的优劣,信号的好坏等等,正确的识别眼图是一项基础技能,如果具体识别眼图呢? 下面详细地与你分享! 眼图的形成原理 简单来说,眼图的形成是一系列数字信号在示波器上积累并显示的过程,眼图包含丰富的信息,它对... 前言眼图的形成原理眼图的参数含义眼图的模板眼图的识别依据? 前言 眼图的测量对于高速串行总线的重要性不言而喻,眼图反映了总线通道环境的优劣,信号的好坏等等,正确的识别眼图是一项基础技能,如果具体识别眼图呢? 下面详细地与你分享! 眼图的形成原理 简单来说,眼图的形成是一系列数字信号在示波器上积累并显示的过程,眼图包含丰富的信息,它对于判断数字信号的健康状况一目了然。查看眼图有助于发现串扰,电磁干扰(EMI),信号丢失以及其他影响信号完整性的现象。就信噪比而言,“眼睛”张开越大越好,其次,交叉位置可以看出一般的抖动量。 通过眼图分析可以用于确定系统的最优配置,也可以作为电路pcb设计优劣的参考。 在理想情况下,眼图形成原理如下: 眼图形成原理 即在一定时间内数字波形的累积,如上图眼图形成,眼图的左右两侧分别为半个bit间隔,中间为一个完整的bit间隔,也称为比特周期。为了便于查看,眼图中的时间轴按位进行了标准化,其中1bit“eye opening”位于眼图的中央,左右各1/2bit位于中央的两侧,以捕获上升和下降时间的变化。 在无串扰的情况下,在示波器上观测到的眼图与理论分析得到的眼图大致接近: 示波器上观测到的眼图 还是以上面3bit数据为例,缺少了那一种状态,得到的眼图都会不完整,例如缺少000状态,则: 缺少状态的眼图 眼图的参数含义 眼图的参数有很多,如下图标记 : 眼图参数 “0”电平: 眼图逻辑“0”平均值的度量; 0电平 “0”电平值来自于眼睛交叉点的同一中心40%到60%区域,以及来自于左图所示的直方图数据的平均值。 “1”电平: 眼图逻辑“1”平均值的度量; 如下图: 1电平 “1”电平的实际计算值来自于眼图周期中间20%内采集的所有数据样本的直方图均值。这个中间的20%区域也被称为40%到60%的区域。 上升时间: 眼图向上倾斜时,数据从10%到90%过渡时间的度量; 注:有的资料称使用20%到80%区域来测量。 上升时间 下降时间 眼图向下倾斜时,数据从90%到10%过渡时间的度量; 注:有的资料称使用20%到80%区域来测量。 下降时间 眼高 眼图垂直开口的度量,理想的眼图张开程度从“1”电平到“0”电平进行测量。但是,眼睛上的噪声会导致眼睛闭合,高速信号的信噪比也直接由眼睛闭合量指示。 眼高 可见,噪声标准差越小,眼高越大! 眼宽: 眼宽时眼图水平开口的度量。在理想情况下,应在眼睛的交叉点之间测量眼睛的宽度。但是抖动可能会出现在波形上并影响眼睛睁开,因此眼宽可以反应抖动情况。 如下图: 眼宽 具体眼宽测量公式为: Eye Width = (the left –3σ crossing pt 2) – (the right +3σ crossing pt 1) 可见,眼宽计算与眼高计算十分类似。

ospf多区配置与原理

ospf多区域的生成 生成ospf多区域的原因 改善网络的可扩展性 快速收敛 ospf的路由器类型 area 0内部路由器 只保存本区域内的链路状态信息 abr区域边界路由器 用来连接区域0和其他区域 asbr自治系统边界路由器 用来连接ospf的as与外部其他的路由 ospf的区域类型 骨干区域 area 0 非骨干区域分类 标准区域 末梢区域(stub) 完全末梢区域(totally stubby) 非纯末梢区域(nssa) 链路状态数据库的组成 每个路由器都创建了由每个接口、对应的相邻节点和接口速度组成的数据库 链路状态数据库中每个条目称为LSA(链路状态通告),常见的有六种LSA类型 链路状态通告(LSA)类型 Type 1路由器LSA由区域内的路由器发出的 Type 2网络LSA 由区域内的DR发出的 Type 3网络汇总LSAABR发出的,其他区域的汇总链路通告 Type 4ASBR汇总LSAABR发出的,用于通告ASBR信息 Type 5AS外部LSAASBR发出的,用于通告外部路由 Type 7NSSA外部LSANSSA区域内的ASBR发出的,用于通告本区域连接的外部路由 OSPF常用检查命令 show ip route查看路由表信息(直连/学习) show ip route ospf只查看OSPF学习到的路由 show ip protocol查看OSPF协议配置信息 show ip ospf查看OSPF是如何配置的以及ABR的信息 show ip ospf database查看LSDB内的所有LSA数据信息 show ip ospf interface查看接口上OSPF配置的信息 show ip ospf neighbor查看OSPF邻居和邻接的状态 show ip ospf neighbor detail 查看OSPF邻居的详细信息(包括DR/BDR)

6443 was refused - did you specify the right host or port?

问题“The connection to the server :6443 was refused - did you specify the right host or port?”的处理! 一、故障产生 在不关闭kubernets相关服务的情况下,对kubernets的master节点进行重启。(模拟服务器的异常掉电) 二、故障状况 启动后无法远程到kubernets的dashbaord,后进行如下命令报错。 # kubectl get nodes The connection to the server <master>:6443 was refused - did you specify the right host or port? 故障处理: 1.检查环境变量情况(正常) # env | grep -i kub 2.检查docker服务(正常) # systemctl status docker.service 3.检查kubelet服务(表面正常) # systemctl status kubelet.service 4.查看端口是是否被监听(没有监听) # netstat -pnlt | grep 6443 5.检查防火墙状态(正常) # systemctl status firewalld.

【wpf】转换器 Converter

今天积攒了一个转换器的用法,分享给各位。 我们经常会有这种需求: 某些控件有时需要显示,有时需要隐藏,比如: 那,我就想通过一个bool变量和是否显示绑定。 但是我们知道,是否显示,这个属性 Visibility 它并不是一个bool类型无法直接绑定,此时我们需要一个转换器! 接下来,这个转换器可以讲bool类型转换为字符串类型,十分通用,我们就已Visibility举个例子: <UserControl.Resources> <wpfcv:Bool2StringConverter x:Key="b2s"/> </UserControl.Resources> ------------------------------------------------------------------ Visibility="{Binding CanShowCross, Converter={StaticResource b2s}, ConverterParameter=Visible:Hidden}" 这里我们使用了 Bool2StringConverter 这个转换器,使用这个转换器是,还给转换器传了一个参数,可以将其看成一个字符串 " Visible:Hidden " 记下来我们看看 Bool2StringConverter 是如何定义的。 后台代码 using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Data; namespace WpfConverter { public class Bool2StringConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (parameter == null) return DependencyProperty.

在Centos7 arm64安装JDK1.8

确定linux操作系统版本:输入命令cat /proc/version可得知需要安装aarch64版本的jdk yum list | grep jdk从yum查找对应版本的jdk并下载,如果后续有搭建集群的需要,建议下载jdk-devel,可使用jps指令 如果无需使用jps命令,可以下载java-1.8.0-openjdk.aarch64输入以下指令安装,等待安装完成! yum -y install java-1.8.0-openjdk-devel.aarch64 查找yum的安装目录:which java如果显示为usr/bin/java,按照以下步骤操作执行ls -lr /usr/bin/java、ls -lrt /etc/alternatives/java,分别显示以下结果得到yum安装JDK1.8的路径后进入配置文件,vi etc/profile,在文件最后配置环境变量,路径为刚刚查到的路径​​​​​​​ export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.382.b05-1.el7_9.aarch64/jre/bin export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 保存退出后,输入 source etc/profile 使配置文件生效输入java -version 出现java 版本则成功安装并配置

基于Unity3d的篮球类游戏开发

博主主页:电子科技大神 博主简介:专注电子技术领域和毕业设计项目实战,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。 主要内容:毕业设计(单片机项目,plc,仿真等)、简历模板、学习资料、技术咨询。 文章目录 一、摘要二、绪论二、系统分析3.1场景设计3.1.1场景的制作 三、效果图3.1开始界面3.2.1选关界面3.2.2篮球设置 总结目 录 一、摘要 随着时代向前推进,互联网的信息技术也发生了日益精进,人们的日常生活中娱乐所占用的时间相比以前也渐渐提高。其中游戏业以惊人的速度发展,各个年龄阶层的人们都对游戏有不同程度的需求。而这当中VR游戏又是游戏业中的尖端技术,这类游戏不仅能让玩家体验到仿真的交互,而且还可以做到模拟现实、身临其境的效果,因而受到大量的游戏玩家的喜爱。 Unity3D是目前市场上最热门的一款游戏开发引擎之一,它易于上手,开发便捷,正是学生初步接触游戏开发时的不二之选。本项目是一款基于VR设备的篮球体育类游戏,在使用Unity 3D游戏引擎进行开发的基础上,也结合了SteamVR接口的运用。区别于电脑上、手机上的篮球游戏,使用VR设备进行游玩的篮球游戏除了在体验游戏过程中达到减压的目的,同时身体的随着游戏活动也能给人们带来一定锻炼效果。现在社会上的人们,无论是学生还是成年人,在空闲时选择的游戏通常都是在电脑前,手机前进行操作,久而久之也会由于缺乏运动而带来一些不好的影响,而VR体育类游戏能很好地把游戏和锻炼结合在一起。 本文内容主要描述了该游戏的开发经验,即该游戏的设计与实现以及游戏功能测试等总体的VR游戏开发流程。为后续想要开发同类游戏的开发者提供一些借鉴与参考。 关键词:Unity3D SteamVR 虚拟现实 计算机仿真 二、绪论 随着计算机科学技术的飞速发展,VR游戏也来到了大众的面前大众。玩家们对于游戏的要求日益增长,比起以前来更加追求真实的感官体验。而VR游戏在这方面达到的效果比其他平台上的效果更为显著。它的仿真度高,体验感强,能让用户感觉更加融入游戏与享受游戏,在VR游戏开发逐渐成为热潮的今天,用Unity3D做一款VR游戏可谓是赶上了时代的潮流。 Unity3D作为当下最热门的游戏开发引擎之一,它的实用性也是一流。Unity3D上手难度低,开发速度快,开发成本低,逐渐吸引越来越多的人使用它进行游戏开发。加上游戏开发工作者市场尚未饱和,在游戏领域里Unity3D游戏开发的人才依然受到各大公司青睐。高薪的工作以及乐观的前景,也使得越来越多人加入了Unity3D游戏开发的热潮当中。 目前市场上的虚拟现实游戏内容较为单一,其中大部分都为第一人称射击,虽说VR技术走在时代前沿,但要说与传统游戏的竞争其实还力有未逮。而且一般的虚拟现实设备价格都较为昂贵,而且就实际效果而言还不够完善,设备不够便捷,同水平游戏开发难度比普通电脑端、手机端大。因此VR游戏在现阶段仍然没有较好的普及到所有地区,通常而言只有少数发达区域会有VR游戏体验馆,而即使是那些地方受众也不算多。因此我也希望本文能够给后续希望致力于丰富VR游戏内容的游戏开发者们一些参考[4]。 二、系统分析 3.1场景设计 本游戏场景主要为游戏开始界面和游戏进行界面。 游戏开始界面使用网络中寻找的图片素材,运用Photoshop进行处理后结合成开始界面和选关界面的素材。 游戏进行界面主要是一个篮球场,以及篮球场内的东西,比如地板,篮筐,篮球架,墙壁,篮球场外围铁丝网。该部分主要使用3DS Max进行建模。 3.1.1场景的制作 由于使用3DS Max所建造的模型较多,在此只举例说明篮球架的制作。首先上网找到篮球架的样子,并查找它的规格尺寸数据,然后在建模时根据实际情况进行微调数据比例。这里从篮球架的底部开始。如图3-1所示。 图3-1 篮球架的底部样条线 先用样条线画出大概形状,然后再调整点的位置,并给转角的点圆角一下,让它过渡显得自然一些,然后给样条线挤出100cm,最后再调整一下整体的比例 另一个底部也是同样的做法,先画样条线,再挤出,然后调整比例。最后成品如图3-2所示。 图3-2 篮球架底部完成图 支架的制作由3个长方体构成,先给它们摆好位置,如图3-3所示。 图3-3 篮球架支架初始图 然后对上面两个长方体转为可编辑多边形,同过过调整它们的顶点,效果如图3-4所示。 图3-4 编辑后形状 然后下面的长方体通过布尔拾取斜着的长方体,让两个长方体有一个平滑的切面,效果如图3-5所示: 图3-5 篮球架支架下半部分 三、效果图 3.1开始界面 进入游戏后的第一个界面。由Photoshop处理完素材后制作而成。如图3-11所示。 此界面在开始游戏按钮处添加了按钮Button,并把进入到选关页面的代码放入了Button当中。代码内容如下。 1.using System.Collections; 2.using System.Collections.Generic; 3.using UnityEngine; 4.using UnityEngine.Events; 5.using UnityEngine.SceneManagement; 6.using UnityEngine.UI; 7. 8.public class startbutton : MonoBehaviour 9.{ 10. public GameObject startbtn; 11.

CENTOS的DOCKER的安装部署和镜像发布

目录 1.安装 1.1确定centos为7以上版本 1.2能上外网,yum安装gcc相关 1.3设置stable镜像仓库 1.4安装DOCKER CE 1.5启动docker 2.部署加速 2.1登陆阿里云开发者平台 2.2选择免费使用 2.3选择镜像加速,添加个人实例 2.4复制粘贴脚本执行 2.5配置文件,激活服务器 2.6测试 3.镜像发布 3.1镜像拉取和启动 3.2Docker镜像commit 3.3登录https://promotion.aliyun.com的实例 3.4创建命名空间 3.5创建镜像仓库 3.6进入管理界面脚本 3.7访问凭证设置密码 3.8推送镜像 1.安装 1.1确定centos为7以上版本 cat /etc/redhat-release 1.2能上外网,yum安装gcc相关 yum -y install gcc yum -y install gcc-c++ yum install -y yum-utils ps:做这个玩意还是远程登录吧,可以用xshell,或者下面这个finals hell 1.3设置stable镜像仓库 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 1.4安装DOCKER CE yum -y install docker-ce docker-ce-cli containerd.io 1.5启动docker systemctl start docker docker version 2.部署加速 2.1登陆阿里云开发者平台 开放云原生应用-云原生(Cloud Native)-云原生介绍 - 阿里云 2.2选择免费使用 2.3选择镜像加速,添加个人实例

Python中如何将字符串变成数字?

字符串和数字是Python中常见的数据类型,而且在撰写Python程序的时候,也经常会遇到需要将字符串转换为数字的情况,那么Python中如何将字符串变成数字?有多种方法可以使用,接下来一起来看看具体内容介绍。 1、使用int()函数 int()函数可以将字符串转换为整数类型。例如,将字符串"123"转换为整数类型的代码如下: ``` str_num = "123" num = int(str_num) print(num) ``` 运行结果为: ``` 123 ``` 需要注意的是,如果字符串中包含非数字字符,则会抛出ValueError异常。例如,将字符串"123abc"转换为整数类型的代码如下: ``` str_num = "123abc" num = int(str_num) print(num) ``` 运行结果为: ``` ValueError: invalid literal for int() with base 10: '123abc' ``` 2、使用float()函数 float()函数可以将字符串转换为浮点数类型。例如,将字符串"3.14"转换为浮点数类型的代码如下: ``` str_num = "3.14" num = float(str_num) print(num) ``` 运行结果为: ``` 3.14 ``` 需要注意的是,如果字符串中包含非数字字符,则会抛出ValueError异常。例如,将字符串"3.14abc"转换为浮点数类型的代码如下: ``` str_num = "3.14abc" num = float(str_num) print(num) ``` 运行结果为: ``` ValueError: could not convert string to float: '3.

Web自动化测试 —— cookie复用

一、cookie简介 cookie是一些数据,存储于用户电脑的文本文件中 当web服务器想浏览器发送web页面时,在链接关闭后,服务端不会记录用户信息 二、为什么要使用Cookie自动化登录 复用浏览器仍然在每次用例开始都需要人为介入若用例需要经常执行,复用浏览器则不是一个好的选择大部分cookie的时效性都很长,扫一次可以使用多次 三、cookie复用思路 四、cookie复用常见问题 企业微信cookie有互踢机制。在获取cookie成功之后。不要再进行扫码操作!!!!获取cookie的时候,即执行代码获取cookie时,一定要确保已经登录植入cookie之后需要进入登录页面,刷新验证是否自动登录成功。 五、获取植入cookie 获取cookie:driver.get_cookies()植入cookies:driver.add_cookies() def test_get_cookies(self): self.driver.get('https://work.weixin.qq.com/wework_admin/frame') time.sleep(20) cookies = self.driver.get_cookies() print(cookies) # 将cookie写入文件 with open("cookies.yaml", "w") as f: yaml.safe_dump(cookies, f) def test_add_cookies(self): self.driver.get('https://work.weixin.qq.com/wework_admin/frame') # 从文件中读取cookie cookies = yaml.safe_load(open("cookies.yaml")) # 植入cookies for i in cookies: self.driver.add_cookie(i) time.sleep(3) self.driver.refresh() time.sleep(10) 最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 软件测试面试文档 我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

Web自动化测试 —— capability参数配置

​ 一、capability概述 capability是webdriver支持的标准命令之外的扩展命令(配置信息)配置web驱动属性,如浏览器名称、浏览器平台。结合selenium gird完成分布式、兼容性测试官网地址: https://www.selenium.dev/zh-cn/documentation/webdriver/capabilities/shared/ 二、capability配置 def test_capability(): # 切换成 windows 就会报错 capabilities = {"browserName": "chrome", "platformName": "windows"} # 通过 desired_capabilities 添加配置信息 driver = webdriver.Chrome(desired_capabilities=capabilities) driver.implicitly_wait(5) driver.get("https://ceshiren.com/") # 输入框输入搜索内容[霍格沃兹测试学院] text = driver.find_element(By.CSS_SELECTOR, ".login-button").text # 点击搜索按钮 print(text) time.sleep(3) driver.quit() 三、Selenium Grid简介 ​ Selenium Grid 允许我们在多台机器上并行运行测试,并集中管理不同的浏览器版本和浏览器配置(而不是在每个单独的测试中)。官网地址:https://www.selenium.dev/documentation/grid/ 四、分布式运行 def test_ceshiren2(): hogwarts_grid_url = "https://selenium-node.hogwarts.ceshiren.com/wd/hub" capabilities = {"browserName":"chrome","browserVersion":"101.0"} # 配置信息 # 实例化Remote,获取可以远程控制的driver实例对象 # 通过 command_executor 配置selenium hub地址 # 通过 desired_capabilities 添加配置信息 driver = webdriver.Remote( command_executor=hogwarts_grid_url, desired_capabilities=capabilities) driver.

字节8年经验之谈 —— Jmeter自动化性能测试常见问题!

一、request 请求超时设置 timeout 超时时间是可以手动设置的,新建一个 http 请求,在“高级”设置中找到“超时”设置,设置连接、响应时间为2000ms。 1. 请求连接超时,连不上服务器。 现象: Jmeter表现形式为:前面几个请求是成功的,但是后面请求有的会报错,有的请求成功 报错1: Response code: Non HTTP response code: java.net.SocketTimeoutException Response message: Non HTTP response message: connect timed out 原因: 一般是因为线程太多,connection time out error 服务器请求太多了,处理不过来。 查看 Load time 的时间要大于 request 设置的 connect time out 时间,因此抛出该异常。多是因为服务端有较多请求正在处理且处理时间较长,致使 jmeter 不能连接上服务器而产生的。 解决方法:设置 jmeter http 请求超时conn,重启server 报错2: Connection timed out: connect工具 java.net.ConnectException: Connection timed out: connect at java.net.DualStackPlainSocketImpl.connect0( 原因: 多是由于端口号耗尽,通常一台服务器的端口号最可能是65535个,建议使用该命令分别查看下压测机与服务器的端口使用状况,netstat -nat|grep -i 8080|wc -l,若是这个个数在6w左右,那可能就是端口号用尽,同时查看下大多数的端口状态,应该都是 time_wait 状态。

<HarmonyOS第一课>ArkTS开发语言介绍——闯关习题及答案

判断题 1.循环渲染ForEach可以从数据源中迭代获取数据,并为每个数组项创建相应的组件。( 对 ) 2.@Link变量不能在组件内部进行初始化。( 对 ) 单选题 1.用哪一种装饰器修饰的struct表示该结构体具有组件化能力?( A ) A. @Component B. @Entry C. @Builder D. @Preview 2.用哪一种装饰器修饰的自定义组件可作为页面入口组件?( B ) A. @Component B. @Entry C. @Builder D. @Preview 多选题 1.下面哪些函数是自定义组件的生命周期函数?( ABCDE ) A. aboutToAppear B. aboutToDisappear C. onPageShow D. onPageHide E. onBackPress 2.下面哪些装饰器可以用于管理自定义组件中变量的状态?( CD ) A. @Component B. @Entry C. @State D. @Link 加入鸿蒙应用开发公开课系统学习HarmonyOS应用开发