环境:
VMware workstation 15.5 pro
集群操作系统:CentOS 8
开启网卡
最小化时 ifconfig无法使用
使用ip addr
yum provides ifconfig
yum install network-tools
ifconfig
配置静态ip
配图来自Canva可画受新冠疫情的影响,很多企业都受到了严重的冲击,不过也有极少数的企业借助疫情得到了快速发展,美团就是其中之一。在疫情期间国内餐饮行业数字化大大提速,美团餐饮外卖业务的市占率,也因此在疫情期间得到了稳步提升,受益于此美团在本地生活服务其他领域的优势,也得到了进一步增强。这种高增长,在其近日所发布的一季度财报得到了延续。而这份出乎意料之外,又合乎情理之中的季度报,一经发出便引起了广泛关注。基本盘表现强势财报数据显示,一季度美团营收达到了370.16亿元,同比增长120.9%。美团年度交易用户数和活跃商户数分别达到5.7亿和710万,双双创下了历史新高。而美团的营收之所以能够实现稳健增长,主要得益于其旗下各项业务的良好表现。作为美团的基本盘,外卖业务的“创收能力”依旧强悍。财报显示,外卖业务在今年一季度实现营收205.75亿元,同比增长116.8%。而外卖业务的突出表现,主要是因为美团为用户提供了更多元化的服务品类,以及更好的线下履约和配送体验,使得其外卖业务的交易额和交易笔数大增,从而带动了其营收的显著增长。财报显示,餐饮外卖GMV同比增长了99.6%至1427亿元,
参考链接:在Python中定义清理动作显示HTML 在wxPython中,你对HTML能做的最重要的事情就是将它显示在一个窗口中。下面的两节,我们将讨论HTML窗口对象,以及给你展示如何对本地的文本或远程的URL使用它。Python系列教程,免费获取,遇到bug及时反馈,讨论交流可加扣裙<606115027> 如何在一个wxPython窗口中显示HTML? 正如我们在第六章中讨论的,对于使用样式文本或简单的网格来快速地描述文本的布局,wxPython中的HTML是一个有用的机制。wxPython的wx.html.HtmlWindow类就是用于此目的的。图16.1显示了一个例子。 图16.1 例16.1显示了用于产生图16.1的代码。 例16.1显示简单地HtmlWindow importwx importwx.htmlclassMyHtmlFrame(wx.Frame): def__init__(self,parent,title): wx.Frame.__init__(self,parent,-1,title) html=wx.html.HtmlWindow
简评:作为一位Android开发者,AndroidStudio肯定是每天都要打交道的,熟练掌握其中的快捷键等技巧可以提高我们不少的效率。虽然,网上有着很多列出快捷键的文章,但只是简单的看一看快捷键和说明,很难让人理解和掌握。本篇文章就专注于代码间导航的快捷键,配合动图,希望能帮助你记忆。TL;DR下面的快捷键都是在mac上,快捷键设置是MacOSX10.5+:⌘+O:查找类。⌘+⌥+O:通过信息(symbol)查找。⌘+⇧+O:查找文件。⌘+⌥+F7:显示使用到的地方(如果只有一个地方用到,就会直接跳转)。⌘+U:跳转到父类或父类对应的方法。⌘+⌥+B:跳转到子类或子类中重写的方法。^+H:显示当前类的层次结构。⌘+F12:显示当前类的方法。⌘+B:跳转到定义。F2:跳转到下一个错误或警告。⇧+F2:跳转到前一个错误或警告。⌘+L:根据行跳转。⌘+E:显示最近的文件。⌘+[:跳转到当前光标之前的位置。⌘+]:跳转到当前光标之后的位置。⌘+⇧+backspace:跳转到最后一次编辑代码的地方。Windows下相同的快捷键可以看这里。搜索文件相比较单纯的‘searcheverywhere’
前言今天给大家分享日常开发过程中常用的一些常用的时间工具,希望对大家有帮助。时间工具总结直接上代码importtime importdatetime importunittest fromdtlib.dtlogimportdlog default_time_str_fmt='%Y-%m-%d%H:%M:%S' ver_tag='%Y.%m.%d.%H.%M.%S' #默认的时间串格式 defget_current_time_string(): """ 获取年月日,时分秒格式字符串 :return: """ returndatetime.datetime.now().strftime(default_time_str_fmt) #returntime.strftime('%Y-%m-%d%H:%M:%S',time.localtime(time.time())) defget_time_tag(): """ 返回一个自动生成的
Pandas是基于NumPy基于NumPy构建的含有更高级数据结构和分析能力的工具包,提供了大量能使我们快速便捷地处理数据的函数和方法。在NumPy中数据结构是围绕ndarray展开的,那么在Pandas中的核心数据结构是Series和DataFrame,分别代表着一维的序列和二维的表结构。基于这两种数据结构,Pandas可以对数据进行导入、清洗、处理、统计和输出。Series对象Series是Pandas中最基本的对象,代表着一维的序列,类似一种一维数组。和NumPy的一维的数组不同,Series能为数据自定义标签,也就是索引(index),然后通过索引来访问数组中的数据。Series有两个基本属性:index和values,index默认是0,1,2,......递增的整数序列,当然我们也可以用过创建标签,来指定索引,比如index=[‘a’,‘b’,‘c’,‘d’]。importpandasaspd frompandasimportSeries,DataFrame x1=Series([1,2,3,4]) x2=Series(data=[1,2,3,4],index=[
在做FPS之类的游戏中,如果枪打到了墙角,并不能简单放置一来弹孔面片了事。而是要像一张贴纸一样,完全与墙角贴合。这时就需要去实现一个贴花系统来达到这种效果。贴花系统有几种不同的实现方式,但这里仅考虑通过Mesh投影来实现贴花系统的实现原理。这种方式的本质是,找到视野中贴花资源会影响的Mesh,并创建一个同样大小以贴花资源为纹理的Mesh覆盖上去,从而达到贴花的目的。主要分下面两步来实现。1.先找到会受影响的物体,比如将弹孔贴在两面墙的夹角,那么受影响的物体就是两面墙。怎么找到这两面墙不同的需求可能实现方式也不一样,在场景编辑器中通过贴花来实现静态点缀效果,可以通过创建贴花资源的AABB盒来实现。如果是运行时动态创建弹孔也可以通过四次射线检测来达到,总之方式有很多。2.先创建一个半径为0.5单位的裁切立方体,在裁切坐标系中,贴花资源就被放在y=0平面中,贴花资源的中心就是裁切坐标系的(0,0,0)点。需要说明的时这一步实际上并没有代码操作,只是一个数学抽象。我们的目的是要将所有受影响的三角形投影到y=0平面上,以便可以正确的采样贴花纹理。3.将受影响物体Mesh的所有三角形均转换到裁切立
LCT是linkcuttree的简称,顾名思义~就是树带动态的增删边的操作.分析题目背景 动态树 题目描述 给定n个点以及每个点的权值,要你处理接下来的m个操作。 操作有四种,操作从0到3编号。点从1到n编号。 0xy代表询问从x到y的路径上的点的权值的xor和。保证x到y是联通的。 1xy代表连接x到y,若x到y已经联通则无需连接。 2xy代表删除边(x,y),不保证边(x,y)存在。 3xy代表将点x上的权值变成y。 输入格式 第一行两个整数,分别为n和m,代表点数和操作数。 接下来n行,每行一个整数,整数在[1,1e9]内,代表每个点的权值。 然后有m行,每行三个整数,分别代表操作类型和操作所需的量。 输出格式 对于每一个0号操作,你须输出一行一个整数,表示x到y的路径上点权的xor和。 输入输出样例 输入#1复制 33 1 2 3 112 012 011 输出#1复制 3 1 输入#2复制 514 1145141919810 112 012 212 112 123 213 113 145 125 035 034 35233333 015 025 输出#2复制
作者:tobe来源:tobe的呓语“我找到好办法了!”没有想到,说话的人竟然是磁盘!进程调度器瑟瑟的说:“你有方法?还是算了吧,我怕用你的方法操作系统要乱套了。”磁盘委屈的道:“不就是刚刚冤枉你了吗,这么小气干什么!再说了,这个方法不是我想出来的,是我从文件里找到的。”关于进程调度器被冤枉的故事,看这篇:互斥那点事儿(上) 操作系统挑了挑眉毛:“哦?磁盘你找到什么文件了,让大家也瞅瞅?”磁盘嗡嗡的转起来,很快就把文件取出来了。“当当当当~这可是大师Dijkstra的论文,他引入了一个全新的变量类型——信号量(semaphore)。然后还为信号量设置了两种操作,P(proberen,检测)和V(verhogen,增量)。””说清楚点啊,信号量是怎么个用法啊?“进程急切的问道。“别急,让我接着看。Dijkstra提出,P操作是检测信号量是否为正值,如果不是,就阻塞调用它的进程。V操作能唤醒一个被阻塞的进程,让他恢复执行。具体点的话就是这样:“//S为信号量 P(s): { S=S-1 if(S<0) { 调用该P操作的进程阻塞,并插入相应的阻塞队列; } } 复制//S为信号量 V(
序本文主要研究一下springbootelasticsearchhealthIndicatorElasticsearchHealthIndicatorPropertiesspring-boot-actuator-autoconfigure-2.1.4.RELEASE-sources.jar!/org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticsearchHealthIndicatorProperties.java@ConfigurationProperties(prefix="management.health.elasticsearch", ignoreUnknownFields=false) publicclassElasticsearchHealthIndicatorProperties{ /** *Comma-separatedindexnames. */ privateList<String>indices=newArrayList<>();
1,摘要蚂蚁区块链合约平台支持Solidity智能合约,针对合约源代码的编译,可以直接通过蚂蚁区块链CloudIDE合约开发环境进行合约编译、部署、测试和调试。 本文介绍由蚂蚁区块链平台提供的Solidity编译工具solc-js的下载、安装和使用方式。2,操作内容2.1下载solc-js点击此处,获取合约编译工具solc-js安装包:alipay-solc-0.1.12.tgz(约1.76M)。说明: 蚂蚁区块链对Solidity语言的支持与原生的Solidity语言不同,因此不能使用外部社区的solc-js编译工具。 BaaS平台提供的solc-js:alipay-solc-0.1.12.tgz可兼容Solidity语言0.4.24版本之前的语法(不包含0.4.24)。 2.2安装solc-js辉哥是直接在WINDOWS环境下完成Node.js的安装的,也可以使用linux环境安装Node.js环境。 solc-js工具依赖Node.js环境,因此需要先安装Node.js,然后安装solc-js。具体步骤如下:下载并安装Node.js(推荐版本:v10.11.0)。 不熟悉的,请参
论坛就像江湖,每个论坛都有自己的帮规和接头暗号,子版块分舵里则又是一番天地,无论你是听歌剧还是唱二人转,喝咖啡还是吃大蒜,总能找到适合你的“组织”。如果你要做营销,选择论坛作为突破口,需要有明确的定位。在论坛做营销,最成功的,莫过于曾经风光无限、现在又重新回到我们视线中的芙蓉姐姐。提起芙蓉姐姐,很少有人知道她的真名——史恒侠。史恒侠出生在陕西武功县的一个普通工人家庭,2003年27岁的史恒侠她开始游走于北大未名论坛、清华水木BBS,2004年起开始在上述论坛发表大量摆着高难度POSE的照片,并且照片文中含有“清水出芙蓉,天然去雕饰”的字样,“芙蓉姐姐”的名号就此诞生。她的发迹可谓是论坛营销的经典案例。芙蓉姐姐如果一上来就选择在天涯猫扑这种全国性大型论坛发声,很可能的结果是石沉大海,于是她很明确地选择了一个容易对自身属性产生反响的学生论坛,待产生名人效应后再转战猫扑论坛,从此由大学生的圈子推到全国观众眼前。以论坛为起点发迹之后,她以论坛为大本营,成立自己的公司和团队,辐射各类媒体,周期性的为自己进行事件营销,一会儿抱出个儿子,一会儿减个肥,来维持自身热度,中期的个人出场费就达到了15万元
iOS9苹果明确强调了操作系统的安全性,其中的做法之一则是网络请求将从默认的HTTP切换为HTTPS。本文主要描述HTTPS加密的原理和思想。HTTPSHTTPS就是将HTTP协议数据包放到SSL/TLS层加密后,在TCP/IP层组成IP数据报去传输,以此保证传输数据的安全;而对于接收端,在SSL/TLS将接收的数据包解密之后,将数据传给HTTP协议层,就是普通的HTTP数据。HTTP和SSL/TLS都处于OSI模型的应用层。 SSL/TLSSSL/TLS协议,主要是在对话建立阶段,通过四次握手,在客户端与服务端生成同样的秘钥(对话秘钥,sessionkey),而后的通信都用这个秘钥进行加密通信。由于这个秘钥是对称加密的,所以加密解密的速度非常快。如何生成对话秘钥(sessionkey)客户端发送请求,其中带入内容:支持的协议版本,比如TLS1.0版。一个客户端生成的随机数n1,稍后用于生成"对话密钥"。支持的加密方法,比如RSA公钥加密。支持的压缩方法。这里我们关注随机数n1就好。 2.服务端返回信息,其中内容:确认使用的加密通信协议版本,比如TLS1.0版本。如
#dict字典,键值对列表,类似java的map集合 dict1={"name":"张三","age":18,"sex":"男"} print(dict1["name"]) #如果访问一个不存在的键 #print(dict1["height"])#会报错 #如果不确定键是否存在,可以用get来获取 print(dict1.get("height"))#返回None #如果我们不想返回None,可以设定一个默认值 print(dict1.get("height","140")) #增 dict1['address']="北京" print(dict1) #修改 dict1['name']="李四" print(dict1['name']) #删除 deldict1["age"]#del是吧这个键值对都删除了 print(dict1)#没有age了 #清空字典 dict1.clear() print(dict1) #查询 dict2={"name":"张三","age":18,"sex":"男"} print(dict2.keys())#所有的键 print(dict2.
1.单词:要你命3000+verbaladvantage+自己错题的部分(从头至尾的基础,不能落下超过4天不过单词。虽然背到最后真的有想吐的感觉还是咽回去继续背下去。) 我在背3000的时候喜欢把单词总结到小本上,这种方法对我有巨大帮助,因为我每写一个词到本上就在MerriamWebster上查一遍释义,并且将同义词反义词也都查了记在一起。虽然看似第一遍缓慢,但后面复习2,3,4,5,6遍的时候速度极快(抄过查过总结过同义反义本身印象就深,之后小本上的单词又密集省去很多翻页的麻烦,关键是有自己的侧重点)。这里要提醒下g友:3000上有些中文释义非常不准(如protean,3000给出释义包含多才多艺的,有英文释义可知侧重全在versatile),到后期绝对影响做se,所以勤查MW核对意思就尤其重要。 VerbalAdvantage:很好的一本全英单词书,关键是意思给的准,作者也很搞笑,请在背完3000后刷这本书。此书表面仅有500词而且和3000有重复,但他的同义词反义词非常好,很大提升词汇量,推荐背过数遍后记不熟的词在本上。 最关键的部分来了:自己开始做题以后不认识的词
肺炎疫情期间,利用在家隔离的时间再次看了2遍《叶问4》。毕竟功夫电影是我从小就喜欢的电影题材,毕竟甄子丹是我的电影这方面的偶像之一,毕竟他饰演的叶问系列电影,在最近十年里一直都是深受华语区观众喜爱和好评的电影。 《叶问4》电影的影评或者说是观后感,笔者在去年年底第一遍看了这部电影以后已经写过一篇,只不过是从另外的角度来写的。这次再刷2遍这部电影之后,笔者注意到一个细节,就是电影里提到的孩子教育的问题。是故,这次笔者打算从这个角度来谈谈自己的看法。 电影开始没多久就提到叶问次子叶正,在学校里叶正因为同学抢了自己的漫画书,他找对方要,对方没给,然后二人就打起来了。这导致叶正被学校要求退学,叶问请求校长再次给他儿子最后一个机会,校长拒绝了,说上次已经是最后一次机会了。叶问将儿子领回家之后,就指责他为啥又打架。叶正说在父亲眼里什么都是他的错,对方抢他漫画他去找对方要,是他错;对方不给他跟对方打架,又是他错;父亲从来没有支持过他。此时的叶问,他还是觉得儿子不听话,并不觉得自己做为一个父亲有什么错。 后来他去美国为儿子找学校
练习13-1 /* 打开与关闭文件 */ #include<stdio.h> intmain(void) { chars[128]; FILE*fp; printf("请输入你要打开的文件"); scanf("%s",s); fp=fopen("*s","r");/*打开文件*/ if(fp==NULL) printf("该文件不存在\n"); else{ printf("该文件存在\n"); fclose(fp);/*关闭文件*/ } return0; }复制 练习13-2 /* 打开文件。 */ #include<stdio.h> intmain(void) { chars[128]; FILE*fp; printf("请输入你要打开的文件:"); scanf("%s",s); fp=fopen("*s","w");/*打开文件*/ return0; }复制 练习13-3 /* 读入身高和体重,计算并显示它们的平均值 */ #include<stdio.h> typedefstruct{ charname[
Vs201916.11.9 .netcore3.1 1.创建的项目类型 2.安装nuget包 Install-PackageSwashbuckle.AspNetCore-Version5.6.3 Install-PackageSwashbuckle.AspNetCore.SwaggerGen-Version5.6.3 Install-PackageSwashbuckle.AspNetCore.SwaggerUI-Version5.6.3 3.配置黄色的部分加入 Startup.cs usingSwashbuckle.AspNetCore.Swagger; usingMicrosoft.OpenApi.Models; public voidConfigureServices(IServiceCollectionservices) { services.AddControllers(); services.AddSwaggerGen(c=> { c.SwaggerDoc("v1",newOpenApiInfo
Penelope(蓝色小考拉)第13集是Penelopeispolite。 第一个场景:Atschool 旁白:Penelope hadlotsof funatschooltoday.It'stimetogohome now. Oh,that'smymum. Mum. Penelope. Let'sgohome. 旁白:Isshegoingtoleave justlikethat?Shouldn'tyousayanythingtoyourteacherandyourfriends beforeyougohome? Penelope,whatdoyousay? Uh?Oh,Iforgot.Bye~ 旁白:That'sright.Yousay goodbyewhenyouleave. Bye,seeyoutomorrow,Penelope. Bye-bye. 旁白:Youhavetobepolite, Penelope. 第二个场景:Inthegarden Hey,wait. Uh? Oh.Ah. 旁白:Oh
题目描述 在n个人中,某些人的银行账号之间可以互相转账。这些人之间转账的手续费各不相同。给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使得转账后B收到100元。 数据范围 1<=n<=2000,m<=100000 思路分析 可以把每个人看成是一个点,那么题目描述的问题就是使得A->B的花费最少,即两点间的最短路问题,这里我们采用dijkstra算法。 由于m<=100000,故我们采用链式前向星进行存储图,每次找到一个距离原点最近并且没有被访问过的点后,遍历连接此点的每一条边,更新其连接节点的花费 代码(我把dijkstra分为两部分,这样虽然效率低,但是对于我来说思路更清晰些) #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<iomanip> #defineN30
Ford算法求最短路径 先构建邻接表数组和初始化邻接关系 intv1[maxn],v2[maxn],w[maxn];//记录起点终点和权值 for(inti=1;i<=m;++i) { cin>>u>>v>>val; v1[i]=u; v2[i]=v; w[i]=val; }复制 构建一维数组d,记录距离出发点的距离,d[出发点]初始化为0,自己和自己的距离为0,其他点和出发点的d先初始化为oo,并且构建pre数组,便于递归输出最短路径。出发点的前驱结点设为0,代表出发点没有前驱结点,也是一会递归输出路径的退出条件。 intd[maxn],pre[maxn];//记录距离出发点的距离和最短路径的前驱结点 for(inti=0;i<=n;++i)d[i]=0x7fffff;//先初始化为oo很大的值 d[s]=0;//自己到自己的距离为0; pre[s]=0;复制 核心算法代码就是一个二维数组,外层循环n-1次,内层循环m次,内层是循环m个邻接关系,每次更新d,外层循环n-1次,是刚好循环n-1次可以把所有点到起点的最
1.矩阵中的路径 问题描述: 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。例如 asa bfd cce ese 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径不能再次进入该格子。 functionhasPath(matrix,rows,cols,path){ //matrix是一个一位数组 if(!rows||!cols||path.length>rows*cols)returnfalse; vark=0; varflag=[]; for(leti=0;i<rows;i++){ for(letj=0;j<cols;j++){ if(move(matrix,i,j,rows,cols,k,path,flag))returntrue; } } returnfalse; } func