当前位置: 首页 > news >正文

.some方法、vh、多列布局、DNS域名解析过程、空页面文字内容渲染

nodeEndTime.some((time) => !!time)
这个方法主要用来判断nodeEndTime这个数组中是否有至少一个非假值的元素。它会遍历 nodeEndTime 数组中的每个元素,如果至少有一个元素是真值(不是 nullundefined0false 或空字符串等假值),则 .some() 方法会返回 true,否则返回 false


多列布局:

column-count
列数div {column-count: 3; // 将元素中的文本均分3列
}column-gap
列间隙div{column-gap: 40px; // 列间隙为40px
}column-rule
列之间的分隔线样式,类似border,是column-rule-style、 column-rule-width、 column-rule-color的合写div {column-count: 3;column-gap: 20px;column-rule: 2px solid red; //  列间以实线分隔
}column-span
规定元素应跨越多少列div {column-count: 3;column-gap: 20px;column-rule: 2px solid red; 
}
h2{column-span: 3 | all;  // h2标题横跨3列或者全列
}

空页面

export default function EmptyPage(props: Props) {const { children, className = '', content, flexBox, showPicture = true, style } = props;
//这部分函数主要展示图片下方的文字内容const renderChildrenView: (children: any) => any = (children) => {// 使用 Children.map 遍历子元素return Children.map(children, (child) => {// 如果子元素的类型是布尔值、数字、字符串、或者未定义,或者是 null,则直接返回该子元素if (['boolean', 'number', 'string', 'undefined'].includes(typeof child) || child === null) {return child;}// 如果子元素的类型是 'a' 或者具有 type 属性为 'link',则添加样式 'performance-empty-page__link'if (child.type === 'a' || child.props.type === 'link') {let className = 'performance-empty-page__link';// 如果子元素已经有 className 属性,将 'performance-empty-page__link' 添加到已有的类名中if ('className' in child.props) {className = child.props.className + ' ' + className;}// 使用 React.cloneElement 复制子元素,并设置新的 className 属性return React.cloneElement(child, { className });}// 如果子元素有子元素(嵌套结构),递归调用 renderChildrenView 处理子元素的子元素if (child.props.children) {return React.cloneElement(child, {}, renderChildrenView(child.props.children));}// 如果以上条件都不满足,直接返回子元素return child;});
};return (<divclassName={classNames('performance-empty-page', className, {flex: flexBox,})}style={style}>{showPicture && (<imgclassName="performance-empty-page__picture"src={require('./empty-page-bg.png')}alt={getLocale('Pro_Butt_Nodata')}/>)}
//如果||后面直接用children,则不会渲染a标签,只是正常输出文字。<div className="performance-empty-page__contnet">{content || renderChildrenView(children)}</div></div>);
}

DNS域名解析过程:

 这部分内容总结自     http://t.csdnimg.cn/oMBfL  

1.浏览器客户端检查自身有没有该域名的缓存,如果自身有缓存,直接返回该域名对应的IP地址,解析结束。如果浏览器没有缓存,浏览器会去检查操作系统缓存中有没有对应的已解析过的结果。

2.如果浏览器和操作系统都没有缓存,那么会请求 本地域名服务器(LDNS)来解析这个域名,这台服务器一般在距离你的主机比较近的位置,一般情况都会缓存着你要解析域名的结果,大多数的域名在这里就能解析完成了。

3.如果本地域名服务器仍然没有解析这个域名,就直接跳到Root Server( 根域名服务器 )请求解析。

4.根域名服务器返回给LDNS一个所查询域的主域名服务器(gTLD Server,国际顶尖域名服务器,如.com .cn .org等)的地址;

5.此时LDNS再发送请求给上一步返回的gTLD Server主域名服务器

6.接受请求的gTLD查找并返回给LDNS注册这个域名时候的Name Server (注册该域名的服务器) 的地址;

7.LDNS再向Name Server发起解析请求,Name Server会根据映射关系表直接找到目标ip,返回给LDNS

8.LDNS会缓存这个域名和对应的ip,然后把解析的结果返回给用户;

9.用户根据TTL值缓存到本地系统缓存中,域名解析过程至此结束;

极端情况下,LDNS扮演者核心中转角色,与ROOT DNS Server 根域名服务器,

gTLD Server .xxx对应的主域名服务器 ,Name Server 注册待解析域名的服务器 进行了三次一去一回的循环式交付,最终拿到结果。

http://www.lryc.cn/news/185345.html

相关文章:

  • Eclipse iceoryx™ - 真正的零拷贝进程间通信
  • 【C++】面向对象编程(二)面向对象的编程思维:virtual虚拟调用、继承、protected成员、派生类与基类
  • 【古谷彻】算法模板(更新ing···)
  • Day-06 基于 Docker 安装 Nginx 镜像
  • k8s集群-7 service
  • JS进阶-防抖和节流
  • 踩坑日记 uniapp 底部 tabber遮挡住购物车结算
  • 【MySQL】表的约束(一)
  • Excel宏管理库存清单
  • C语言练习百题之排序算法
  • 通过ElementUi在Vue搭建的项目中实现CRUD
  • 【CSS如何进行圣杯布局】
  • flex 实现的圣杯布局
  • 数字人直播软件排名推荐,铭顺科技数字人品牌抢占“日不落”流量新技能
  • 【AI视野·今日Robot 机器人论文速览 第四十五期】Mon, 2 Oct 2023
  • 【计算机网络】网络编程接口 Socket API 解读(9)
  • 用户端App自动化测试
  • [洛谷]P2697 宝石串(经典好题!)
  • 毫米波汽车雷达测试应用指南
  • 抖音账号矩阵系统开发源码----技术研发
  • C++ 33.学习C++的意义-狄泰软件学院
  • [C++基础]-多态
  • 【Kubernetes】当K8s出现问题时,我们可以从哪些方面排查出
  • SentenceTransformer 之论文解读
  • AI发展历史
  • 想要精通算法和SQL的成长之路 - 简化路径
  • 【哈士奇赠书活动 - 41期】- 〖产品设计软技能:创业公司篇〗
  • MARS: An Instance-aware, Modular and Realistic Simulator for Autonomous Driving
  • 关联规则挖掘(上):数据分析 | 数据挖掘 | 十大算法之一
  • centos7 + citus12 + postgresql 14 安装