如果你是一个技术人,相信都知道技术圈有个相互的鄙视链,这个链条从技术人自己认知的角度在以业务价值为中心嵌套的一层一层的环,就像洋葱,具体的描述这里不赘述了。
出门左拐随便抓住一个人问一下。这种偏自嘲类的观点,有点类似"程序员的穿着必须是格子衫"、"你们只会和电脑打交道"这种自嘲。开心一下,无可厚非。但是在玩笑之外,一个合格的技术人的内心要时刻谨记自己在一个企业内的价值所在,并不断的通过技术提升来扩大价值,才可以在当下的环境中,个人价值与企业价值形成正向循环。那我们此次就聊一聊,前端职能如何在不同的业务场景中落地价值。
说到业务价值,有一个关键词,就是"特定的业务背景"。有人会说,技术就是技术,是通用的,为什么要把业务的概念引入到技术价值中呢?我对这个问题的回答也相当简单:技术本身没有业务属性,但是技术人所处的业务环境,从而决定了技术人此时此刻应该为环境提供什么类型的价值输出。
对于前端领域的岗位职责,如前文(《“前端”工匠系列:合格的工匠,究竟该搞什么(一)》),“它的岗位角色更应该关注’采集和呈现‘两个部分”,这种职能定位就决定了它在具体业务场景中的价值定位。
首先,从粗粒度进行大维度的划分,B端和C端来先划分一刀。国内外从岗位招聘、岗位定位到OKR制定、绩效评估,都要先从端类型来做最起码的区分,原因是B端和C端对于前端技术栈、技术深度及输出价值的要求都是不一样的,甚至B端的研发人员对于原生、多端等研发领域并不熟悉,如果有岗位的调整,会有一段比较长的技术切换期的,根据人员软素质的不同,这段时间从1个月到一个季度不等。
B端研发是什么?
B端通常指“Business端研发”,但当前很多企业对B端研发的岗位职能描述也包括了A端(即业务管理员Administrator)的研发,这样囊括也是有道理的,A端和B端的共同特点是大部分业务都是“以PC浏览器为运行时环境,基于Web技术栈的企业级后台管理系统”来运作、赋能具体场景。
至于B端研发人员的技术价值,根据业务领域不同,可以切为企业级应用(如飞书、腾讯文档)、商业化解决方案(toB、toG的业务,比如一些企安类业务和商业化业务)、业务后台管理(辅助C端业务逻辑的管理后台)等细分方向,前者用于商业化变现,所以这些后台项目对用户体验有一定程度的要求,其他的B端业务对体验和性能的要求都是相对较低的。
C端研发是什么?
C端也称为“客户端(Client)研发”,从技术岗位要求维度可以细分为端侧研发(IOS、安卓、鸿蒙)、H5研发、小程序研发等。
很明显,维度划分的依据是代码运行容器,那么存不存在“一次开发,多处运行”的研发方案呢?这就产生了多端研发这个岗位角色,对应的技术栈是React Native、Flutter、Taro等为代表的解决方案,由于各自对多端的实现方案不同,导致了各自有各自的优劣势,具体的选型,要研发团队根据业务背景以业务属性(是否对特殊端侧有倾向)、团队成本、维护成本、研发效率、社区活跃度、未来技术栈的持久性等维度来做最合适的技术选型。
因为C端的输出直接面对用户,而且用户量级大,因此C端页面对于设计、交互、业务可用性、用户体验是否良好等专项指标都有很高的要求,因此,在技术型企业,一些企业对于其中的每个专项都会有一批人在做专门的优化提升处理。
以下分研发阶段对C端研发的关注点进行简述。
以上只是简单论述了B端业务和技术对研发人员基本素质要求的差异。基于以上的业务背景,以下分别从技术角度、人力资源角度及团队能力设计的角度进行阐述怎么做好相应的工作。
如果你在做业务交付类的B端研发工作,做好业务支持后,想办法通过"低代码"或者"零代码"的方式进行更加高效、高质量的交付。
具体的实现方案有很多,比如AntDesign、FusionDesign以及很多商业化的Design们,实现思路就是基于业务场景,建立一套通用的、可复用的物料组件,在业务交付的时候,只需要对物料进行拼装组建即可,有些想乐高积木,但是这种Design们对于应用场景的要求是比较高的,如果你想用这种方案(尤其是业务场景比较复杂,只能用低代码方案),就要进一步思考物料间的数据通信、UI通信等问题,甚至需要随着业务物料的发展去迭代DSL解析引擎。
对于前端人员来说,启用初期的搭建的效率反倒是降低的,但如果用起来,用的越久,沉淀的物料就会越丰富、与场景的匹配度越高,交付效率也越高。但从成本的角度,一部分研发成本也会转嫁到后端服务的封装度提升、合理性提升,整个的业务交付就会向搭建驱动的角度倾斜,综合成本的降低需要结合整体研发交付的维度来考量,但如何考量、考量口径是否合理、是否可落地,每个研发团队就要"八仙过海,各显神通"了。
但是B端业务交付的低代码方案的选型,从人力的角度,只要做好数据和代码安全处理,采用“搭建+外包”的方式是完全可以应对的。
如果你在做商业化的B端产品的研发,那就要更加偏向产品诉求,不断的与产品、客户进行沟通调研,甚至要去现场沟通去发现用户使用产品过程中遇到的真实体验和功能问题,从而不断做好产品迭代和优化。"低代码"和"零代码"的提效方案只能作为产品孵化的工具,但具体能不能用起来,就要自己评估了。
如果你在做C端产品的交付,那你应该关注研发流程的顺畅度和合理性,研发环境、测试环境、预备发布环境以及线上环境的代码隔离、数据隔离、发布隔离是否良好,坚决避免环境污染导致业务异常或者工作量激增;
你应该关注UI设计稿件的还原度、动效效果是否顺滑、页面加载效率是否良好、Crash率是否达标、埋点是否正常上报。
这里值得提一下的是埋点这个事儿,对于C端业务,需要有专门的工作来处理埋点工作,埋点工作的质量直接影响到功能需求上线后业务是否可以拿到正确的用户数据,进而做出业务的运营策略调整。所以,埋点质量这个工作的成本投入是必须的,也是应该受到研发团队重视的。否则,就会出现,明明功能没问题,也没有客诉,但是,业务因为拿到了错误的用户行为数据而不自知,却先入为主的认为自己的策略太"哇塞"或者太"喔去"的结果。如果根据错误的埋点做出了错误的决策但是不自知,对于业务价值的影响是巨大的,更加严重的事,很久以后你发现错了,最佳业务的时机,早就白驹过隙,飞逝而去了。
如果你在做C端基建工作,恭喜你,你可能已经离很多研发人员羡慕的架构师的岗位很近了。
你需要关注技术栈的选型、物料及组件建设、活动搭建平台、设计智能交付、多端编译、渲染引擎等离业务更远但离技术更近的话题,每一项都充满了挑战,每一项达成都能给你更多的成就感。但是,因为离业务更远,就要避免"自嗨"的情形出现,你要少一些年度规划,多一些技术用户的痛点调研行程的季度规划和OKR,只有让自己的技术孵化落地到具体的业务场景中,你的技术价值才能得以体现。
请各位技术人时刻谨记,如果你的代码不上线、如果你的代码没有经受住用户的使用考研、如果你没有关注代码上线后的质量和功能的相关告警、如果你不关注业务和用户行为数据,那你的工作价值就会大打折扣,甚至,没有价值,因为,你和一样工作方式的那个谁,对于业务的正常运转来说,没有区别。
来源:京东云开发者社区
作者:京东零售 刘伟东(未经授权请勿转载)
目录概述1物化视图与普通视图的区别2优缺点3基本语法1)创建物化视图的限制2)物化视图的数据更新4物化视图创建示例概述ClickHouse的物化视图是一种查询结果的持久化,它确实是给我们带来了查询效率的提升。用户查起来跟表没有区别,它就是一张表,它也像是一张时刻在预计算的表,创建的过程它是用了一个特殊引擎,加上后来asselect,就是create一个tableasselect的写法。 “查询结果集”的范围很宽泛,可以是基础表中部分数据的一份简单拷贝,也可以是多表join之后产生的结果或其子集,或者原始数据的聚合指标等等。所以,物化视图不会随着基础表的变化而变化,所以它也称为快照(snapshot) 1物化视图与普通视图的区别普通视图:不保存数据,保存的仅仅是查询逻辑语句,查询的时候还是从原表读取数据,可以将普通视图理解为是个子查询。物化视图:是把查询的结果根据相应的引擎存入到了磁盘或内存中,对数据重新进行了组织,你可以理解物化视图是完全的一张新表。2优缺点优点:查询速度快,要是把物化视图这些规则全部写好,它比原数据查询快了很多,总的行数少了,因为都预计算好了。缺点:它的本质是一个流式
前言通常我们会选择unittest或者pytest来做单元测试,但是相对来说代码量都比较大,我们想要探寻一种能够在写代码的时候就能同步完成单元测试的工具。今天,它来了,Doctest。Doctest其为Python内置的文档测试库,你会发现很多Python内置库都使用了这个工具来做单元测试。你可以认为他就是以注释文档的形式来实现单元测试。举个栗子defadd(x,y): ''' calcxaddy... Example: >>>add(1,1) 2 >>>add(-1,1) 0 ''' returnx+y if__name__=='__main__': importdoctest doctest.testmod(verbose=True)复制运行结果PSC:\Users\xxx\Desktop\study>python.\doct.py Trying: add(1,1) Expecting: 2 ok Trying: add(-1,1) Expecting:
现在可以购买三星GalaxyChromebook了——但其一种配置的999美元价格标签可能会导致内部需求之间的斗争。三星在今年年初的CES2020上推出了高端的GalaxyChromebook。该公司将其定位为旗舰Chromebook,以满足对更有用和功能更强大的多功能高端移动设备的潜在需求。GalaxyChromebook是运行GoogleChromeOS的超高级二合一笔记本电脑。它带有耐用的铝制机身,最新的第10代IntelCorei5处理器和13.3英寸4KUHD(3840x2160)触摸屏。GalaxyChromebook进入了一个市场,这个市场挤满了笔记本电脑,而且每年越来越薄、越来越快。但是,鉴于COVID-19大流行,它的出现无疑是不合时宜的。只有时间能证明GalaxyChromebook的高级版本和高端规格是否使其对于消费者和企业至关重要。购买Chromebook的相对优势通常是电池寿命更长,价格更经济——但这款设备的功能却不尽相同,它可以用作翻盖式笔记本电脑,并通过一组360度铰链进入平板电脑模式。据评论家称,尽管银河Chromebook具有惊人的美学效果,水星灰色或
InfinitePrefixestimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputYouaregivenstringsoflengthnnconsistingof0-sand1-s.Youbuildaninfinitestringtasaconcatenationofaninfinitenumberofstringss,ort=ssss…t=ssss…Forexample,ifs=10010,thent=100101001010010...Calculatethenumberofprefixesofttwithbalanceequaltoxx.Thebalanceofsomestringqqisequaltocnt0,q−cnt1,qcnt0,q−cnt1,q,wherecnt0,qcnt0,qisthenumberofoccurrencesof0inqq,andcnt1,qcnt1,qisthenumberofoccurrencesof1inqq.Th
论文地址:https://arxiv.org/pdf/1902.11046v3.pdf 代码:https://github.com/jiexiong2016/GCNv2_SLAM 来源:英国皇家理工学院 论文名称:GCNv2:EfficientCorrespondencePredictionforReal-TimeSLAM 原文作者:JiexiongTang本文提出了一种基于学习的特征点和描述子提取算法,被命名于GCNv2。GCNv2是基于一个为三维射影几何而训练的网络GCN的改进版本。GCNv2被设计用于生成类似于ORB的特征描述子和特征点的算法,其可以很容易的替代ORB特征在ORB-SLAMv2中。GCNv2可以显著的提升GCN的计算速度,并且不像GCN只能应用于桌面系统。经过本算法改善的ORB-SLAMv2,可以实时运行在嵌入式设备JetsonTX2。实验结果表明,经过重新训练后的GCNv2网络精度和GCN基本相当,并且提取的特征鲁棒性足以应用于无人机的控制。下面是论文具体框架结构以及实验结果:人工智能,每日面试题: 对数几率回归(logisticsregression)和一般回
自建cephyum源新手小白教程之如何在内网环境构建yum源 准备好一台新安装好的CentOS7机器,不要安装任何软件包。配置yum源[root@localhostcephuser]#cat/etc/yum.repos.d/ceph.repo [ceph] baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64 enabled=1 gpgcheck=0 name=Cephpackages priority=1复制[root@localhostcephuser]#cat/etc/yum.repos.d/epel.repo [epel] name=ExtraPackagesforEnterpriseLinux7-$basearch baseurl=http://mirrors.aliyun.com/epel/7/$basearch failovermethod=priority enabled=1 gpgcheck=0复制[root@localhostcephuser]#yummakecache 已加载插件:faste
ABAPDialog:Individual,interactivesystemaccess.System:Backgroundprocessingandcommunicationwithinasystem(suchasRFCusersforALE,Workflow,TMS,andCUA).Communication:Dialog-freecommunicationforexternalRFCcalls.Service:Dialoguseravailabletoalarger,anonymousgroupofusers.Reference:General,non-personrelatedusersthatallowstheassignmentofadditionalidenticalauthorizations,suchasforInternetuserscreatedwithtransactionSU01.Nologonispossible.SAP云平台Businessuservstechnicaluser:Kubernetes也有UserAccount和Serviceaccount
视频文件转MP4 在互联网中常见的格式中,跨平台最好的,应该是MP4文件,因为MP4文件既可以在PC平台的Flashplayer中播放,又可以在移动平台的Android,IOS等平台中进行播放,而且是默认播放,那么就可以理解为MP4为最常见的多媒体文件格式,所以重点介绍MP4封装,说到MP4封装,下面简单介绍一下MP4封装的基本格式. 3.1.1MP4格式标准介绍 MP4格式标准为ISO-14496Part12、ISO-14496Part14,标准内容并不是特别的多,下面着重介绍一些重要的信息。 如果要了解MP4的格式的信息,首先要清楚几个概念: 1. MP4文件由许多个Box与FullBox组成; 2. 每个Box由Header和Data两部分组成 3. FullBox则是Box的扩展,Box结构的基础上在Header中增加8bit位version标志和24bit位的flags标志 4. Header包含了整个Box的长度的大小(Size)和类型(Type),当size等于0时,代表这个Box是文件的最后一个Box;当size等于0时说明B
虽然有一些自动化安装的工具,但是功能越多,越专业的工具,可能也需要越高的学习成本,而我们并非专业运维,但是又必须做这些事情的话,不妨选择用Shell脚本来完成集群的安装。当然了,现在也有很多使用docker的做法,安装与部署也非常方便。整个过程其实很简单,就是对安装过程中的一些手动操作使用Shell脚本进行替代。对脚本比较熟悉的话,应该很容易看懂。推荐一个网站,explainshell,输入Shell命令,它会对命令的各部分进行详细的解释。以下内容虽在Ubuntu16.04试用过,但有些细节可能由于时间因素,难免会有偏差。如有问题,欢迎指正。其他系统要安装的话可适当参照,步骤上大致相同,只是有些细节需要针对性调整。在所有安装步骤中,最重要的一步是配置SSH无密码登录。如果不明白脚本的内容,不要使用我的安装脚本,明白可以抽取部分自用。对安装过程不太熟的话,建议先跟着厦门大学的教程做:Spark2.1.0入门:Spark的安装和使用,里面涉及了Hadoop与Spark等各种软件的安装,十分详细,对新手很友好。只有对手动安装的整个过程了然于心,自动化安装才能得心应手。为了避免因为用户权限要求
本周二,亚马逊创始人兼首席执行官杰夫•贝索斯(JeffBezos)出席了CodeConference年度大会,在接受知名科技专栏作家沃尔特•莫斯伯格(WaltMossberg)的采访时,谈到了关于亚马逊旗下人工智能、视频业务以及自主物流服务等一系列业务。其中贝索斯特别提到,接下来亚马逊将大力发展人工智能业务。2014年,亚马逊曾推出内置语音助手的Echo智能音箱,一时间在业界掀起了智能家居产品的风潮,前不久的GoogleI/O开发者大会上,谷歌也跟风推出了与亚马逊Echo相类似的智能语音设备GoogleHome。但这些智能家居产品的背后,最核心之处还是各家公司所拥有的智能语音系统的竞争。目前来看,市场上获得消费者青睐的人工智能产品,大部分都搭载了语音交互技术,所以各家科技公司也都紧跟潮流,纷纷涉足了语音交互领域。目前来看,苹果家Siri,微软家Cortana,和前不久在GoogleI/O大会上推出的GoogleAssistant,都是亚马逊的有力竞争对手。而贝索斯似乎对自家的人工智能业务非常有信心。他表示,在人工智能领域,亚马逊对于公司的关键项目,即Alexa智能语音助手和Echo智能
一、线路变压器组接线 线路变压器组接线就是线路和变压器直接相连,是一种最简单的接线方式,线路变压器组接线的优点是断路器少,接线简单,造价省,对变电所的供电负荷影响较大,其较适合用于正常二运一备的城区中心变电所。 二、桥形接线桥形接线采用4个回路3台断路器和6个隔离开关,是接线中断路器数量较少,也是投资较省的一种接线方式,根据桥形断路器的位置又可分为内桥和外桥两种接线,由于变压器的可靠性远大于线路,因此中应用较多的为内桥接线,若为了在检修断路器时不影响和变压器的正常运行,有时在桥形外附设一组隔离开关,这就成了长期开环运行的四边形接线。 三、多角形接线多角形接线就是将断路器和隔离开关相互连接,且每一台断路器两侧都有隔离开关,由隔离开关之间送出回路,多角形接线所用设备少,投资省,运行的灵活性和可靠性较好,正常情况下为双重连接,任何一台断路器检修都不影响送电,由于没有母线,在连接的任一部分故障时,对电网的运行影响都较小,其最主要的缺点是回路数受到限制,因为当环形接线中有一台断路器检修时就要开环运行,此时当其它回路发生故障就要造成两个回路停电,扩大了故障停电范围,且开环运行的时间愈长,这一缺点就
1.背景项目测试过程中经常需要在手机端体验语音产品的识别效果和稳定性,识别效果与手机硬件强相关无法抛开硬件影响。因此开发了一套基于uiautomator2+pythonUI自动化工具,可以实现在电脑端控制手机demo开始收音+播放待测音频+保存识别结果的APP自动化效果测试工具。2.uiautomator2安装及介绍uiautomator2是一个自动化测试开源工具,仅支持Android平台的原生应用测试。它本来是Google提供的一个自动化测试的Java库,后来发展了python-uiautomator2,封装了谷歌自带的uiautomator测试框架,提供便利的python接口,用它可以很便捷的编写python脚本来实现app的自动化测试。uiautomator2提供了点击、长按、输入文本、滑动、拖拽、截屏等方法,能够模拟用户的各种动作。用户可以通过控件的id或text等属性,定位到控件,从而对控件实施上述操作。2.1环境搭建2.1.1安装adb安装adb并使手机与电脑连接(具体安装自行百度)。 adbdevices查看连接设备。复制2.1.2安装uiautomator2pipins
1.安装CRI-O 容器运行时接口ContainerRuntimeInterface(CRI):这是一个插件接口,它让kubelet(用于创建pod和启动容器的集群节点代理)有使用不同的兼容OCI的容器运行时的能力,而不需要重新编译Kubernetes。在这项工作的基础上,CRI-O项目([原名OCID]13)准备为Kubernetes提供轻量级的运行时。 CRI-O允许你直接从Kubernetes运行容器,而不需要任何不必要的代码或工具。只要容器符合OCI标准,CRI-O就可以运行它,去除外来的工具,并让容器做其擅长的事情:加速你的新一代原生云程序。 modprobeoverlay modprobebr_netfilter #创建kubernetescri需要的网络参数 cat>/etc/sysctl.d/k8s.conf<<EOF net.bridge.bridge-nf-call-iptables=1 net.ipv4.ip_forward=1 net.bridge.bridge-nf-call-ip6tables=1 EOF sysctl-p/etc/
一、我学到的内容(整理本课程所学,[用思维导图的方式] 二、我的收获 C语言I博客作业03https://www.cnblogs.com/zjzjaaa/p/11657323.html C语言I博客作业04https://www.cnblogs.com/zjzjaaa/p/11693369.html C语言I博客作业05https://www.cnblogs.com/zjzjaaa/p/11739526.html C语言I博客作业06https://www.cnblogs.com/zjzjaaa/p/11779498.html C语言I博客作业07https://www.cnblogs.com/zjzjaaa/p/11816041.html C语言I博客作业08https://www.cnblogs.com/zjzjaaa/p/11816041.html C语言I博客作业09https://www.cnblogs.com/zjzjaaa/p/11909700.html C语言I博客作业10https://www.cnblogs.com/zjzjaaa/p/1195322
1、先将u盘插入到电脑,然后在电脑上按下win+r快捷键打开运行菜单,输入“cmd”回车确定打开命令提示符页面。 2、然后在命令提示符输入“diskpart”回车确定。 3、接着返回电脑桌面,鼠标右键“此电脑”图标选择“管理”打开。 4、点击“磁盘管理”打开,确认好u盘的盘号。(如图所示是1盘) 5、然后在命令提示符窗口中输入DISKPART>右侧,继续输入命令“selectdisk1”敲回车(刚才查看的盘号是几,我们就在selectdisk后面输几,比如这里是1。) 6、选择磁盘1,也就是u盘后,在DISKPART>右侧继续输入命令“clean”回车确认,这样就会清除u盘信息。 7、然后可以在磁盘管理界面看见u盘变成了一个未分配的磁盘了。 9、接着在弹出的新建卷向导界面,按照提示点击“下一步”,然后确认简单卷大小,点击“下一步”。 10、接
遇到这个JavaSerializable序列化这个接口,我们可能会有如下的问题a,什么叫序列化和反序列化b,作用。为啥要实现这个Serializable接口,也就是为啥要序列化c,serialVersionUID这个的值到底是在怎么设置的,有什么用。有的是1L,有的是一长串数字,迷惑ing。我刚刚见到这个关键字Serializable的时候,就有如上的这么些问题。在处理这个问题之前,你要先知道一个问题,这个比较重要。这个Serializable接口,以及相关的东西,全部都在Javaio里面的。 1,序列化和反序列化的概念 序列化:把对象转换为字节序列的过程称为对象的序列化。反序列化:把字节序列恢复为对象的过程称为对象的反序列化。上面是专业的解释,现在来点通俗的解释。在代码运行的时候,我们可以看到很多的对象(debug过的都造吧),可以是一个,也可以是一类对象的集合,很多的对象数据,这些数据中,有些信息我们想让他持久的保存起来,那么这个序列化。就是把内存里面的这些对象给变成一连串的字节描述的过程。常见的就是变成文件我不序列化也可以保存文件啥的呀,有什么影响呢?我也是这么问的。
1、举个例子,以下几个的异同。 line-height:15px; line-height:150%; line-height:1.5; line-height:1.5em; 答案:15px明确的设置行高是15px,150%是当前元素文字大小*150%,既是设置的行高,1.5也是当前元素文字大小*1.5,即为行高,同理也适用于1.5em。 2、css盒子模型 答案:在盒子模型中,页面上所有元素被看作一个一个盒子,他们占据一定的页面空间,每一个盒子都包括width、padding、border、margin四个部分,盒子模型分为标准盒模型和IE盒模型,大部分浏览器都是标准盒模型,只有ie5\6是IE盒模型,在标准盒模型模型中给元素设置width和height并不包括padding和border,但在IE盒模型里面width和height是包括padding和border的,现在想要浏览器兼容这些样式,解决方案是回避这些问题,尽量不给元素设置内边距padding,而是通过父元素或子元素的padding与margin来实现。 3、页面加载如何优化 答案: 4、url->
http://lightoj.com/volume_showproblem.php?problem=1220 MysteriousBacteria TimeLimit:500MS MemoryLimit:32768KB 64bitIOFormat:%lld&%llu Submit Status Practice LightOJ1220 Description Dr.MobhasjustdiscoveredaDeathlyBacteria.HenameditRC-01.RC-01hasaverystrangereproductionsystem.RC-01livesexactly x days.NowRC-01producesexactly p newdeadlyBacteriawhere x=bp (where b,p areintegers
#第一章 ##第一节强调 *这里的文本会被渲染成斜体(使用星号实现)* _这里的文本也会被渲染成斜体(使用下划线实现)_ **这里的文本会被加粗(使用两个星号实现)** __这里的文本会被加粗(使用两个下划线实现)__ *斜体和**加粗**可以一起使用()* ##第二节列表 ###无序(使用星号+空格) *第一条 *第二条 *第三条 *第四条 ###有序(使用1.+空格) 1.Item1 2.Item2 3.Item3 *Item3a *Item3b复制 ##第三节拆入图片格式为() ![Google欢迎页图片](https://www.google.com.hk/logos/doodles/2015/sally-rides-64th-birthday-4870670991228928-5699127396532224-ror