大家好,我是狗哥,今天给大家写一点干货,这次咱们就从0-1把思路给大家讲一下,这也是我同事在数据开发中踩过的坑,希望能帮助到大家。
并查集可以看作是一个数据结构,如果你根本没有听说过这个数据结构,那么你第一眼看到 “并查集” 这三个字的时候,脑海里会浮现一个什么样的数据结构呢?
现如今单纯靠一张大学文凭就想找到好工作已不太可能。事实上,雇主们招聘更关注的是有价值的软实力。
可以看到,父元素并没有框住两个float子元素,且父元素高度为0,这种现象就是**float坍塌**。
对于一个推荐系统,其用户数据可以整理成一个user-item矩阵。矩阵中每一行代表一个用户,而每一列则代表一个物品。若用户对物品有过评分,则矩阵中处在用户对应的行与物品对应的列交叉的位置表示用户对物品的评分值。这个user-item矩阵被称为评分矩阵。
网络中的信息量呈现指数式增长,随之带来了信息过载问题。推荐系统是大数据时代下应运而生的产物,目前已广泛应用于电商、社交、短视频等领域。本文将针对推荐系统中基于隐语义模型的矩阵分解技术来进行讨论。 NO.1 达观数据 技术大讲堂 评分矩阵、奇异值分解与Funk-SVD 对于一个推荐系统,其用户数据可以整理成一个user-item矩阵。矩阵中每一行代表一个用户,而每一列则代表一个物品。若用户对物品有过评分,则矩阵中处在用户对应的行与物品对应的列交叉的位置表示用户对物品的评分值。这个user-item矩阵被称
selenium里面有很多东西,第一个就是webdriver,web自动化中主流用的东西,它可以支持非常多的语言。它有个录制工具是selenium ide,短期内一周内有个效果可以用录制,录制是非常简单的。但是正经做项目的时候,是从来不用selenium ide的。
前几天刷头条又刷到了「Service层和Dao层真的有必要每个类都加上接口吗?」这个问题,之前简单回答了一波,给出的观点是「看情况」
现在结合我参与的项目以及阅读的一些项目源码来看。如果「项目中使用了像Spring这样的依赖注入框架,那可以不用接口」!
现在结合我参与的项目以及阅读的一些项目源码来看。如果「 项目中使用了像Spring这样的依赖注入框架,那可以不用接口 」!
在2020年的时候,白茶分享过<报表设计丨颜色搭配>,很多小伙伴和白茶闲聊的时候都提过,除了色彩搭配这种需要审美的设计,有没有更简单美化报表的方法?答案是:有的!
我们面对乱麻的时候,当然是快刀斩。面对复杂问题的时候,我们最佳方案就是将问题进行拆解成一个个小问题,然后一个一个的解决。
什么是耦合? 耦合,是架构中,本来不相干的代码、模块、服务、系统因为某些原因联系在一起,各自独立性差,影响则相互影响,变动则相互变动的一种架构状态。 感官上,怎么发现系统中的耦合? 作为技术人,每每在心中骂上下游,骂兄弟部门,“这个东西跟我有什么关系?为什么需要我来配合做这个事情?”。明明不应该联动,却要被动受影响,就可能有潜在的耦合。 因为公共库,导致相互受影响,就是一个耦合的典型案例。 场景还原 一个看似“公共”的业务库(*.so *.jar *.dll *.php),很多业务系统都依赖于这个公共库,这
有些 HTML 元素,诸如 、、 和 <select>,对于哪些元素可以出现在其内部是有严格限制的。而有些元素,诸如 、 和 <option>,只能出现在其它某些特定的元素内部。02MySQL(事务)对于同时运行的多个事务,当这些事务访问数据库中的相同的数据时,如果没有采取必要的隔离机制,就会导致以下并发问题;01关于定位position的相关知识HTML5学堂 - 刘国利:最近有好几个学生和自己聊起,总觉得定位有点懵。因此在本文中,主要书写了相对定位relative和绝对定位absolute,定位的用法以及叠层后的层级关系计算方法。 position的属性值 position属性规定了元素的定位类型,所有的元素都可以用position来进行定位。position定位之后的对象将具有块属性。position属性有五个取值,分别为:static、relative、absolute、fixed、inherit,其中“static”为默认值,可以省略不写,05Linux后台开发调试经验分享作者:beck 毕业超过十年了,感慨岁月无情。做了若干年后台开发(之前做电信领域),大致说一下常见的开发心得和调试手段。使用互联网这么多年,收获的很多,总结的很少。本着互联网精神,希望可以帮到互联网另一端的你。由于本人是做 C 语言的开发,陈述的经验也是 C 常用的调试手段。 调试很麻烦,困扰着无数程序员们。很难有人保证自己写的代码一行错误都没有,有问题你就要查。怎么查?高手者,反汇编,看 2 进制;low 一点的就 gdb、看统计;再 low 就加打印。还可以再 low 吗?可以,自己写 bug,别人查。03肝了!Linux 开发调试经验调试这个蛋疼的事情,困扰着无数程序猿。很难有人保证自己写的代码一行错误都没有,有问题你就要查。怎么查?高手者,反汇编,看二进制;low 一点的就 gdb、看统计;再low就加打印。还可以再low 吗?可以,自己写bug,别人查。方法林林总总,长期掌握总可以找到适合自己的。01CTO说:Service层的接口是不是多此一举现在结合我参与的项目以及阅读的一些项目源码来看。如果「项目中使用了像Spring这样的依赖注入框架,那可以不用接口」!02一道有意思的面试算法题前阵子突发奇想,突然开始刷leetcode。其中刷到了一道有意思的题目,发现这道题是当时秋招的时候,腾讯面试官曾经问过我的题目。于是分享给大家看下。05CSS 清理浮动 clear属性虽然浮动可以便于页面布局,但同时会产生一些问题,也就是常说的副作用。浮动元素最常见的缺陷是:父元素的高度塌陷和影响兄弟元素的位置。01CSS基础布局CSS布局 确定页面的大致结构,页面分多少块,每块的位置。每个部分怎么把该部分撑起来。 * 早期以table为主(简单) * 之后 以技巧性的布局为主(难) * 现在有flexbox/grid(偏简单) * 响应式布局 在移动端大行其道的时代 是必备的 * table表格布局 * float浮动 + margin * inline-block布局 (用起来方便,但是小问题较多) * flexbox布局 盒模型 如下图所示: 宽度和高度 指的是content的宽度和高度 margin指的是 距离上一个元素02CTO 说:Service层接口,就是多此一举!现在结合我参与的项目以及阅读的一些项目源码来看。如果「项目中使用了像Spring这样的依赖注入框架,那可以不用接口」!01深入理解视觉格式化模型“理论不懂就实践,实践不会就学理论”,非常赞同bluedavy的这句话。实践过程中经常会遇到某个属性的使用,浏览器渲染效果与预期效果不符,虽然通过死记硬背能避免或巧妙应用这种效果,但总感心虚发慌、毫无自信,因为不知晓背后的原理。这时就不要再用“就是这样的”的借口来搪塞自己,我们需要重新认识它。 实践与现象 绝对定位是一种常用的定位方式,也经常会看到一些使用技巧,轻松搞定一些不太容易实现的效果。现介绍两个绝对定位的使用技巧: 1. 绝对定位元素,水平方向(top和bottom)或和垂直方向(left和righ09☆打卡算法☆LeetCode 42、接雨水 算法解析链接:42. 接雨水 - 力扣(LeetCode) (leetcode-cn.com)02白瑜庆:知乎基于Kubernetes的kafka平台的设计和实现我是知乎技术中台工程师,负责知乎存储相关的组件。我的分享主要基于三个,第一,简单介绍一下Kafka在知乎的应用,第二,为什么做基于Kubernetes的Kafka平台。第三,我们如何去实现基于Kubernetes的kafka平台。011踩坑分享|终于明白为啥面试老是有人问 subList 了,原来这玩意会 OOM!最近刚做到一个内存分页的需求,自测了几次就 OOM 了,找了半天原因,终于把这个坑填上来,下面整理一下发出来,各位小伙伴引以为鉴。01两个CSS知识点:BFC和选择器权重BFC 全称 Block Formatting Context,翻译过来就是块格式化上下文,它是 CSS 规范的一部分。01【论文阅读】Empowering next POI recommendation with multi-relational modelingauthors:: Zheng Huang, Jing Ma, Yushun Dong, Natasha Zhang Foutz, Jundong Li container:: Proceedings of the 45th international ACM SIGIR conference on research and development in information retrieval year:: 2021 DOI:: 10.1145/3477495.3531801 rating:: ⭐⭐ share:: false comment:: 强调用户之间的社交关系建模,使用耦合的 RNN 相互更新用户和 POI 表示01LeetCode每日一练(主要元素)题目描述的是找出一个整数数组中的主要元素,这个主要元素的个数要超过数组长度的一半,并且要求时间复杂度为O(N),我们首先想到的解决办法就是得到数组中每个元素的个数,再去判断是否有某个元素的个数超过了数组长度的一半,若有,则找到了主要元素;若没有,则没有主要元素,返回 -1。01如何理解软件缺陷?软件缺陷(software defect)是对软件产品预期属性的偏离现象。它包括检测缺陷和残留缺陷。每一个软件组织都知道必须妥善处理软件中的缺陷。这是关系到软件组织生存、发展的质量根本。 一、软件缺陷(software defect)分类标准 1.1 缺陷属性 缺陷标识(Identifier):缺陷标识是标记某个缺陷的一组符号。每个缺陷必须有一个唯一的标识。 缺陷类型 (Type):缺陷类型是根据缺陷的自然属性划分的缺陷种类。 缺陷严重程度 (Severity):缺陷严重程度是指因缺陷引起的故障对软04CSS 基础系列:从清除浮动和margin塌陷问题谈BFC浮动的元素会影响其兄弟元素的位置,并可能导致父元素的高度塌陷(假如父元素没设置高度),因此需要清除浮动(带来的影响)。01递归简单举例_递归定义举例2.既然可以自己调用自己,那么递归运行过程中一定回有很多层相互嵌套,到底什么时候不再嵌套呢?02深入理解视觉格式化模型( VISUAL FORMATTING MODEL)“理论不懂就实践,实践不会就学理论”,非常赞同bluedavy的这句话。实践过程中经常会遇到某个属性的使用,浏览器渲染效果与预期效果不符,虽然通过死记硬背能避免或巧妙应用这种效果,但总感心虚发慌、毫无自信,因为不知晓背后的原理。这时就不要再用“就是这样的”的借口来搪塞自己,我们需要重新认识它。03高科技人才的情商与生存之道——高科技人才在跨国大公司的生存之道(六)智商是天生的,但是情商大部分是后天养成的。培养情商是把不能控制情绪的部分变为可以控制。我之前讲了那些情况里你可以看到,领导会面对很多人,除了你自己管的人还有同辈。和这些人打交道全都需要情商。02打造H5动感影集的爱恨情仇【动画性能篇】作者:谭照强,热爱折腾前端,喜欢新奇创意的程序员,业余喜欢玩摄影,弄咖啡。 “你听说过动感影集么” 动感影集是QQ空间新功能,可以将静态的图片轻松转变为动态的视频集,且载体是HTML5(简称H5)页面,意味着可以随时分享到空间或朋友圈给好友欣赏! 移动端区别于PC年代的相册视频,由于设备性能限制,每一个动画细节都需要认真优化,今天就来说说动感影集开发过程中的动画性能检测与优化的问题。 1.先利其器 – Chrome Timeline&Rendering 性能分析前,我们先看看工具。Chrome浏览器带012浅析单例模式的8中写法说明这种写法看似在线程安全的基础上减少了锁的代码量,其实是达不到“永远”单例的目的的。02Docker原理之Namespaces在日常使用 Linux 或者 macOS 时,我们并没有运行多个完全分离的服务器的需要,但是如果我们在服务器上启动了多个服务,这些服务其实会相互影响的,每一个服务都能看到其他服务的进程,也可以访问宿主机器上的任意文件,这是很多时候我们都不愿意看到的,我们更希望运行在同一台机器上的不同服务能做到完全隔离,就像运行在多台不同的机器上一样。01从 Elasticsearch 来看分布式系统架构设计云栖君导读: 分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。这篇文章中,重点会讨论下分布式数据系统的设计,比如分布式存储系统,分布式搜索系统,分布式分析系统等。 分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。这篇文章中,重点会讨论下分布式数据系统的设计,比如分布式存储系统,分布式搜索系统,分布式分析系统等。 我们先来简单看下 Elasticsearch 的架构。 1 Elasticsearch 集群架构 Elas06分布式系统如何设计,看看Elasticsearch是怎么做的分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。这篇文章中,重点会讨论下分布式数据系统的设计,比如分布式存储系统,分布式搜索系统,分布式分析系统等。02并发程序设计,你真的懂吗?同步和异步通常是用来用一次方法调用,同步方法调用一旦开始,调用者必须要等到方法调用返回之后,才能够继续后续的行为,不论行为是什么,二异步的方法调用更像是一个消息的传递,一旦开始了,方法调用就会立即的返回,调用者就可以继续后续的操作。02ElasticSearch让人叹为观止的分布式系统架构设计分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。01通俗解释"神经网络"当下互联网圈最火的要数"人工智能"了,而人工智能是基于神经网络的,这里简单描述一下"神经网络" 人的神经元 人的神经元 简化版神经元 简化版 上图中的圆圈表示一个"感知器",它可以接受多个输入,产出012从 Elasticsearch 来看分布式系统架构设计分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。这篇文章中,重点会讨论下分布式数据系统的设计,比如分布式存储系统,分布式搜索系统,分布式分析系统等。02Redis 设计 --- 持久化存储策略 以及 过期键删除策略本篇主要介绍 Redis 中 过期键删除策略 以及 如何“友好”支持数据持久化存储02事务ACID属性与隔离级别数据库领域中的事务指的是一系列对数据库的操作集合,是数据库管理系统(DBMS)定义的一个执行单位。事务的作用体现在两个方面:02Vue:父子组件信息传递组件化开发是Vue的特色,同时也是未来前端开发的趋势,组件的相互调用也产生了组件沟通问题。在Vue1.X中我们使用$dispatch和$broadcast处理组件沟通问题,但是因为 因为基于组件树结构的事件流方式实在是让人难以理解,并且在组件结构扩展的过程中会变得越来越脆弱。Vue官方 因此这里我们也只讨论父子组件通信问题,并且忽略了CSS(我写的很丑。将就看吧 /滑稽) 父组件HTML <div cl08扫码添加站长 进交流群领取专属 10元无门槛券手把手带您无忧上云相关资讯web前端学习什么是BFC呢?AR通过计算机等科学技术,将虚拟信息应用到现实世界中,在一定的时间和空间内难以体验的物理信息90后小时候玩的几款经典游戏太阳的双胞胎兄弟找到了!几乎一模一样王者荣耀:皮肤不是越贵越好 这些六元的皮肤更值得拥有热门标签更多标签云服务器ICP备案对象存储腾讯会议实时音视频活动推荐运营活动广告关闭领券
对于同时运行的多个事务,当这些事务访问数据库中的相同的数据时,如果没有采取必要的隔离机制,就会导致以下并发问题;
HTML5学堂 - 刘国利:最近有好几个学生和自己聊起,总觉得定位有点懵。因此在本文中,主要书写了相对定位relative和绝对定位absolute,定位的用法以及叠层后的层级关系计算方法。 position的属性值 position属性规定了元素的定位类型,所有的元素都可以用position来进行定位。position定位之后的对象将具有块属性。position属性有五个取值,分别为:static、relative、absolute、fixed、inherit,其中“static”为默认值,可以省略不写,
作者:beck 毕业超过十年了,感慨岁月无情。做了若干年后台开发(之前做电信领域),大致说一下常见的开发心得和调试手段。使用互联网这么多年,收获的很多,总结的很少。本着互联网精神,希望可以帮到互联网另一端的你。由于本人是做 C 语言的开发,陈述的经验也是 C 常用的调试手段。 调试很麻烦,困扰着无数程序员们。很难有人保证自己写的代码一行错误都没有,有问题你就要查。怎么查?高手者,反汇编,看 2 进制;low 一点的就 gdb、看统计;再 low 就加打印。还可以再 low 吗?可以,自己写 bug,别人查。
调试这个蛋疼的事情,困扰着无数程序猿。很难有人保证自己写的代码一行错误都没有,有问题你就要查。怎么查?高手者,反汇编,看二进制;low 一点的就 gdb、看统计;再low就加打印。还可以再low 吗?可以,自己写bug,别人查。方法林林总总,长期掌握总可以找到适合自己的。
前阵子突发奇想,突然开始刷leetcode。其中刷到了一道有意思的题目,发现这道题是当时秋招的时候,腾讯面试官曾经问过我的题目。于是分享给大家看下。
虽然浮动可以便于页面布局,但同时会产生一些问题,也就是常说的副作用。浮动元素最常见的缺陷是:父元素的高度塌陷和影响兄弟元素的位置。
CSS布局 确定页面的大致结构,页面分多少块,每块的位置。每个部分怎么把该部分撑起来。 * 早期以table为主(简单) * 之后 以技巧性的布局为主(难) * 现在有flexbox/grid(偏简单) * 响应式布局 在移动端大行其道的时代 是必备的 * table表格布局 * float浮动 + margin * inline-block布局 (用起来方便,但是小问题较多) * flexbox布局 盒模型 如下图所示: 宽度和高度 指的是content的宽度和高度 margin指的是 距离上一个元素
“理论不懂就实践,实践不会就学理论”,非常赞同bluedavy的这句话。实践过程中经常会遇到某个属性的使用,浏览器渲染效果与预期效果不符,虽然通过死记硬背能避免或巧妙应用这种效果,但总感心虚发慌、毫无自信,因为不知晓背后的原理。这时就不要再用“就是这样的”的借口来搪塞自己,我们需要重新认识它。 实践与现象 绝对定位是一种常用的定位方式,也经常会看到一些使用技巧,轻松搞定一些不太容易实现的效果。现介绍两个绝对定位的使用技巧: 1. 绝对定位元素,水平方向(top和bottom)或和垂直方向(left和righ
链接:42. 接雨水 - 力扣(LeetCode) (leetcode-cn.com)
我是知乎技术中台工程师,负责知乎存储相关的组件。我的分享主要基于三个,第一,简单介绍一下Kafka在知乎的应用,第二,为什么做基于Kubernetes的Kafka平台。第三,我们如何去实现基于Kubernetes的kafka平台。
最近刚做到一个内存分页的需求,自测了几次就 OOM 了,找了半天原因,终于把这个坑填上来,下面整理一下发出来,各位小伙伴引以为鉴。
BFC 全称 Block Formatting Context,翻译过来就是块格式化上下文,它是 CSS 规范的一部分。
authors:: Zheng Huang, Jing Ma, Yushun Dong, Natasha Zhang Foutz, Jundong Li container:: Proceedings of the 45th international ACM SIGIR conference on research and development in information retrieval year:: 2021 DOI:: 10.1145/3477495.3531801 rating:: ⭐⭐ share:: false comment:: 强调用户之间的社交关系建模,使用耦合的 RNN 相互更新用户和 POI 表示
题目描述的是找出一个整数数组中的主要元素,这个主要元素的个数要超过数组长度的一半,并且要求时间复杂度为O(N),我们首先想到的解决办法就是得到数组中每个元素的个数,再去判断是否有某个元素的个数超过了数组长度的一半,若有,则找到了主要元素;若没有,则没有主要元素,返回 -1。
软件缺陷(software defect)是对软件产品预期属性的偏离现象。它包括检测缺陷和残留缺陷。每一个软件组织都知道必须妥善处理软件中的缺陷。这是关系到软件组织生存、发展的质量根本。 一、软件缺陷(software defect)分类标准 1.1 缺陷属性 缺陷标识(Identifier):缺陷标识是标记某个缺陷的一组符号。每个缺陷必须有一个唯一的标识。 缺陷类型 (Type):缺陷类型是根据缺陷的自然属性划分的缺陷种类。 缺陷严重程度 (Severity):缺陷严重程度是指因缺陷引起的故障对软
浮动的元素会影响其兄弟元素的位置,并可能导致父元素的高度塌陷(假如父元素没设置高度),因此需要清除浮动(带来的影响)。
2.既然可以自己调用自己,那么递归运行过程中一定回有很多层相互嵌套,到底什么时候不再嵌套呢?
“理论不懂就实践,实践不会就学理论”,非常赞同bluedavy的这句话。实践过程中经常会遇到某个属性的使用,浏览器渲染效果与预期效果不符,虽然通过死记硬背能避免或巧妙应用这种效果,但总感心虚发慌、毫无自信,因为不知晓背后的原理。这时就不要再用“就是这样的”的借口来搪塞自己,我们需要重新认识它。
智商是天生的,但是情商大部分是后天养成的。培养情商是把不能控制情绪的部分变为可以控制。我之前讲了那些情况里你可以看到,领导会面对很多人,除了你自己管的人还有同辈。和这些人打交道全都需要情商。
作者:谭照强,热爱折腾前端,喜欢新奇创意的程序员,业余喜欢玩摄影,弄咖啡。 “你听说过动感影集么” 动感影集是QQ空间新功能,可以将静态的图片轻松转变为动态的视频集,且载体是HTML5(简称H5)页面,意味着可以随时分享到空间或朋友圈给好友欣赏! 移动端区别于PC年代的相册视频,由于设备性能限制,每一个动画细节都需要认真优化,今天就来说说动感影集开发过程中的动画性能检测与优化的问题。 1.先利其器 – Chrome Timeline&Rendering 性能分析前,我们先看看工具。Chrome浏览器带
说明这种写法看似在线程安全的基础上减少了锁的代码量,其实是达不到“永远”单例的目的的。
在日常使用 Linux 或者 macOS 时,我们并没有运行多个完全分离的服务器的需要,但是如果我们在服务器上启动了多个服务,这些服务其实会相互影响的,每一个服务都能看到其他服务的进程,也可以访问宿主机器上的任意文件,这是很多时候我们都不愿意看到的,我们更希望运行在同一台机器上的不同服务能做到完全隔离,就像运行在多台不同的机器上一样。
云栖君导读: 分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。这篇文章中,重点会讨论下分布式数据系统的设计,比如分布式存储系统,分布式搜索系统,分布式分析系统等。 分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。这篇文章中,重点会讨论下分布式数据系统的设计,比如分布式存储系统,分布式搜索系统,分布式分析系统等。 我们先来简单看下 Elasticsearch 的架构。 1 Elasticsearch 集群架构 Elas
分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。这篇文章中,重点会讨论下分布式数据系统的设计,比如分布式存储系统,分布式搜索系统,分布式分析系统等。
同步和异步通常是用来用一次方法调用,同步方法调用一旦开始,调用者必须要等到方法调用返回之后,才能够继续后续的行为,不论行为是什么,二异步的方法调用更像是一个消息的传递,一旦开始了,方法调用就会立即的返回,调用者就可以继续后续的操作。
分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。
当下互联网圈最火的要数"人工智能"了,而人工智能是基于神经网络的,这里简单描述一下"神经网络" 人的神经元 人的神经元 简化版神经元 简化版 上图中的圆圈表示一个"感知器",它可以接受多个输入,产出
本篇主要介绍 Redis 中 过期键删除策略 以及 如何“友好”支持数据持久化存储
数据库领域中的事务指的是一系列对数据库的操作集合,是数据库管理系统(DBMS)定义的一个执行单位。事务的作用体现在两个方面:
组件化开发是Vue的特色,同时也是未来前端开发的趋势,组件的相互调用也产生了组件沟通问题。在Vue1.X中我们使用$dispatch和$broadcast处理组件沟通问题,但是因为 因为基于组件树结构的事件流方式实在是让人难以理解,并且在组件结构扩展的过程中会变得越来越脆弱。Vue官方 因此这里我们也只讨论父子组件通信问题,并且忽略了CSS(我写的很丑。将就看吧 /滑稽) 父组件HTML <div cl08
领取专属 10元无门槛券
手把手带您无忧上云