Baa

C# 词法分析器(三)正则表达式

回眸只為那壹抹淺笑 提交于 2021-02-04 06:51:12
系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 正则表达式是一种描述词素的重要表示方法。虽然正则表达式并不能表达出所有可能的模式(例如“由等数量的 a 和 b 组成的字符串”),但是它可以非常高效的描述处理词法单元时要用到的模式类型。 一、正则表达式的定义 正则表达式可以由较小的正则表达式按照规则递归地构建。每个正则表达式 r r 表示一个语言 L ( r ) L(r),而语言可以认为是一个字符串的集合。正则表达式有以下两个基本要素: ϵ ϵ 是一个正则表达式, L ( ϵ ) = ϵ L(ϵ)=ϵ,即该语言只包含空串(长度为 0 的字符串)。 如果 a a 是一个字符,那么 a a 是一个正则表达式,并且 L ( a ) = { a } L(a)={a},即该语言只包含一个长度为 1 1 的字符串 a a。 由小的正则表达式构造较大的正则表达式的步骤有以下四个部分。假定 r r 和 s s 都是正则表达式,分别表示语言 L ( r ) L(r) 和 L ( s ) L(s),那么: ( r ) | ( s ) (r)|(s) 是一个正则表达式,表示语言 L ( r ) ∪ L ( s ) L(r)∪L(s),即属于 L ( r ) L(r) 的字符串和属于 L ( s ) L(s)

Java基础系列:计算机网络基础概念

坚强是说给别人听的谎言 提交于 2021-01-30 01:45:07
来 小伙伴们 ,我们认识一下。 俗世游子 :专注技术研究的程序猿 网络 大部分情况下,做开发的程序猿是是不需要和网络打交道的,就比如本人:工作这么多年,去年年初做过一次系统架构,做负载均衡的时候顺带了解了一下这方面的基础知识,其他时候根本用不到。 我们现在就来简单聊一聊,简单到什么程度: 开发涉及到网络IO方面的问题能知道该怎么解决, 面试能说个七七八八就够了 基本知识 首先我们先要明白什么是 网络 : 不负责任的说, 网络 是 网络是由若干节点和连接这些节点的链路构成 ,而这些物理链路将多台计算机连接在一起,组成了我们现在的互联网 促进网络产生的先决条件: 芯片技术 要知道,世界上第一台计算机有一个教室那么大,直到集成电路的产生,将电路做到一块完整的半导体硅板上,计算机的体积才下降下来 网络理论本身 第二个条件就是网络理论本身,我们现在知道,网络本身分为很多节点,各个节点之间相互关联,我们从起点A发送数据到终点B,发送的数据在网络中会拆分成小包,由于光电传输是非常快的,所以在数据包在网络中传输的时候会通过不同的路线到达终点B,然后在终点B中进行合并 在这个理论中,两个人的贡献非常大: Paul Baran 提出的 分布式可适应信息块交换集成电路 Donald Davies 提出的 封包交换 两者说的是一个问题,就是封包交换算法,解决数据如何从一个点通过复杂网络到达另一个点的问题

并查集

醉酒当歌 提交于 2021-01-29 17:26:51
算法:并查集 快速掌握 理解算法   在计算机科学中, 并查集 是一种树型的数据结构,用于 处理一些不交集(Disjoint Sets)的合并及查询问题 。有一个 联合-查找算法 ( union-find algorithm )定义了两个用于此数据结构的操作: Find : 确定元素属于哪一个子集 。这个 确定方法就是不断向上查找找到它的根节点 ,它可以 被用来确定两个元素是否属于同一子集 。 Union : 将两个子集合并成同一个集合 。   由于支持这两种操作,一个不相交集也常被称为联合-查找数据结构(union-find data structure)或合并-查找集合(merge-find set)。其他的重要方法,MakeSet,用于建立单元素集合。有了这些方法,许多经典的划分问题可以被解决。   为了更加精确的定义这些方法, 需要定义如何表示集合 。一种 常用的策略是为每个集合选定一个固定的元素,称为代表,以表示整个集合 。接着, Find(x) 返回 x 所属集合的代表,而 Union 使用两个集合的代表作为参数 。    **说明:**左边是A,笔误!   上图中简单 演****示了并查集的两个操作,一个是FIND,一个UNION 。 并查集(树)    并查集(树) 是一种 将一个集合以树形结构进行组合的数据结构 ,如上图所示。其中

用APICloud开发iOS App Clip(苹果小程序)详细教程

前提是你 提交于 2021-01-25 17:22:17
App Clip是苹果公司在WWDC20开发者大会上发布的新功能,用户可以只访问应用程序的一小部分,而无需下载整个应用,被称为苹果小程序。本文主要介绍如何通过APICloud开发App Clip。 一 创建应用 在APICloud上创建App Clip有两种方式,一种可以在登录APICloud后,进入开发控制台进行创建,如下图,另外也可以在开发工具APICloud Studio3中创建。 在APICloud Studio3中创建: 二 开发调试 App Clip 使⽤和主应⽤⼀样的 APICloud 开发技术,其开发流程和主应⽤也基本⼀致,⽀持使⽤官⽅AppLoader 或者⾃定义 Loader 进⾏ WiFi 代码同步预览,或者云编译进⾏查看。 三 准备编译证书 在编译安装 App Clip 应⽤之前,需要在控制台“证书”⻚⾯上传编译证书。对于 p12 证书,共⽤主应⽤的p12 即可,App Clip 应⽤的包名由主应⽤的包名 + ⾃定义字符串组成,例如主应⽤包名为com.api.demo,则 App Clip 的包名可以为 com.api.demo.clip,参考创建 App ID,然后再⽤创建好的包名制作 mobileprovision 证书。 ⼀般需要分别准备测试证书和正式证书,测试证书⽤于开发阶段安装调试,正式证书则⽤于最终发布到App Store。 四 安装启动App

国泰君安国际获“最佳金融公司”等多项大奖

。_饼干妹妹 提交于 2021-01-23 09:08:25
夯实资产负债表的抗风险能力,助高净值客户配置优质资产 香港 -- (美国商业资讯) -- 国泰君安国际控股有限公司 (“ 国泰君安国际 ”、“ 公司 ”或“ 集团 ”,股票代号: 1788.HK )宣布,近日公司在由智通财经与同花顺财经合办的第五届金港股年度评选和第二届金中环评比中获数项大奖,包括: 连续第二年荣获“ 最佳金融公司 ”奖 首获“ 最佳财富管理 ”奖 首获“ 最具综合实力券商 ”奖 多项大奖均反映中国内地专业媒体对集团作为港股上市公司和金融服务公司的高度认可,旨在表彰公司治理结构健康、行业地位显著、主营业务良好,能为投资者提供持续、稳定价值回报,同时希望选出在财富管理行业中领先的金融服务机构。 2020年在严峻的经营环境下,国泰君安国际提前调整营运节奏,以严谨的风险管理措施加强对市场风险和信用风险的管控。2019年下半年,本集团对资产负债表的策略和管理上审时度势,降低负债表中部分市场风险敞口,大幅增加现金储备。另一方面,本集团主动在2019年前瞻性地提高风险资产的拨备减值幅度, 夯实资产负债表的抗风险能力 。凭借多年来对资本市场的服务经验与深度理解,公司在有效管理自身资产负债表和各类风险的同时,时刻为客户捕捉市场机遇,以差异化、优质的投资、融资产品吸引 高净值财富管理 客户,助客户在波动的市场周期中寻找、配置优质资产。 “ 第五届金港股年度评选 ”与“

一篇文章带你了解CSS clear both清除浮动

对着背影说爱祢 提交于 2021-01-18 17:03:33
一、前言 CSS clear both清除产生浮动 ,使用了css float浮动会产生css浮动,这个时候就需要清理清除浮动,就用clear样式属性即可实现。 二、clear语法与结构 1. clear语法 clear : none | left|right| both 2. clear参数值说明 属性 描述 none 允许两边都可以有浮动对象 bot 不允许有浮动对象 left 不允许左边有浮动对象 right 不允许右边有浮动对象 3. clear解释 该属性的值指出了不允许有浮动对象的边情况,对象左边不允许有浮动、右边不允许有浮动、不允许有浮动对象。 4. css结构 div { clear: left } div { clear: right } div { clear: both } 三、div clear常用的情况 最常用是使用clear:both清除浮动。 比如一个大对象内有2个小对象使用了css float样式为了避免产生浮动,大对象背景或边框不能正确显示,这个时候就需要 clear:both 清除浮动。 四、案例 1. 案例说明 设置一个css宽度(css width)为500px; 盒子(div ),css边框(css border)为红色,css背景(css background)为黑色、css padding为10px盒子,里面包裹着2个小盒子,一个css

DevOps中的测试实践

帅比萌擦擦* 提交于 2020-12-15 15:12:28
万物皆可pipeline,流程自动化解放生产力。在DevOps的pipeline中,我们发现测试环节也需要一套流水线化的能力,来保证研发流程的大批pipeline稳定高品质交付。 下面介绍下DevOps中如何构建高水平全面的测试能力。 文化、流程、组织结构、技术发生变革,对测试提出新要求 · DevOps文化对测试带来的新要求(文化) 为适应市场的快速变化,要求企业的产品快速迭代,柔性应对用户需求,滋生了DevOps。 《持续交付2.0》中,作者将DevOps简化概括为2个环:价值探索和快速验证。 价值探索是快速发现和识别外部客户的真实需求,为其创造价值点。"快速验证环"要求企业在找到业务问题制定业务目标后,快速实现和落地价值点。 测试属于"快速验证环",过程中要求开发/测试/运维的角色紧密配合,高效高质地落地验证新特性。 · 在DevOps中构建测试工作的难点(流程) 在DevOps趋势下,测试部门从原先的大量集中测试,变成了高频快速测试。 原先大部分企业采用纯手工测试的方式,从根本上无法适应DevOps的高频快节奏需求。滋生了对自动化测试的诉求。 · 头部企业测试部门的现状(组织架构) · 人力外包比重高: 金融/通信/航空等大型企业的外包人力与正式人力之比,往往超过5:1,人员流动性高,素质参差不齐。对工具和系统的稳定性和使用门槛提出要求。 · 从集中到分散又回归集中:

智慧城市地下管廊可视化管理平台建设方案

安稳与你 提交于 2020-12-06 15:56:59
当今,智慧城市基本建设在国内热火朝天,面对迅速城镇化建设产生的城市病,无论国家方面还是各部委,各省市及其地区城市都会探寻推动智慧城市的基本建设,而智慧管网做为城市的生命线工程,在智慧城市基本建设中占有了十分关键的影响力。 在我国城市地下管道类型多种多样,管理机制和所有权繁杂,大部分是由各施工单位各行其是、条块分割、多头铺设、多头管理,进而造成管道安全隐患日渐增加,安全事故高发。为确保需求侧改革,国家重视城市地下管网基本建设,相继颁布了多种现行政策,在此情况下,提议城市选用“材-测-防-监-控-管”一体化的智慧管网解决方法,对于重要管道创建实时在线监控系统,完成对管道的项目生命周期管控,倡导大数据平台化,支撑各种审核业务流程,并完成地上地下一体化,三维可视化展现,融合三维仿真技术支撑应急防灾减灾等各个方面的业务流程运用。在这个基础上,根据管网数据信息的互换汇交构建“部-省-市”三级智慧管网服务平台,推动城市各种地下管网整体规划、基本建设、管理方法和经营水准的提高。 智慧管廊 解决方法的总体目标:应用物联网技术、云计算技术等智慧化信息科技方式,产生左右全线贯通的一体化管廊运维监管管理体系,大幅提高综合性管廊的运维服务质量,让城市综合性管廊的经营更井然有序、更合理、更有认可度! 智慧管廊解决方法的整体建设规划:紧紧围绕综合性管廊运维的要求,搭建以数据信息为关键的一体化监控运维综合平台

浏览器人体检测

一世执手 提交于 2020-12-02 07:40:37
Pose Animator:使用实时TensorFlow.js模型的SVG动画工具 下面的在手机上延时超过1秒 新的演示版 https://storage.googleapis.com/tfjs-models/demos/body-pix/index.html GitHub https://github.com/tensorflow/tfjs-models/tree/master/body-pix https://mp.weixin.qq.com/s?__biz=MzU1OTMyNDcxMQ==&mid=2247491846&idx=1&sn=0264cbf70e96414ec73d5668b7e8269f&chksm=fc1baa4ecb6c23586f796b64519cbc360339cfc621d200e61477990a9e7edc6cf2debb933f0e&mpshare=1&scene=1&srcid=1201U0paIzR1R6d4qw8hUKkj&sharer_sharetime=1606828485902&sharer_shareid=ab5aa3530015c5ae813227bf34b4fc84&key