Apache Ant

Zookeeper源码编译为Eclipse工程(win7下Ant编译)

谁都会走 提交于 2020-05-01 23:21:31
前言 ZooKeeper是雅虎的。用Ant进行软件构建。 千里之行,始于足下。想看源码的第一步,是下载源码并导入某个IDE工具。 Ant http://ant.apache.org/ Windows: 下载Ant,解压到硬盘,比如C:\Work\apache-ant-1.9.7,在环境变量中增加ANT_HOME=C:\Work\apache-ant-1.9.7,在PATH中增加%ANT_HOME%\bin;然后在命令提示符中输入 ant -version,如果正确提示Ant版本,则Ant配置成功。 Ant 需要Java 支持。 Mac: 下载Ant,解压到硬盘,比如/work/apache-ant-1.9.7,编辑环境变量 /etc/profile,增加ANT_HOME=/work/apache-ant-1.9.7,PATH=/work/apache-ant-1.9.7/bin:$PATH,然后加载环境变量 source /etc/profile,运行ant -version,OK。 ZooKeeper http://zookeeper.apache.org/ 官网下载ZooKeeper,解压到硬盘,比如C:\Work\zookeeper-3.4.8,然后到这个目录下,之行 ant eclipse命令,则ant会根据这个目录下的build.xml,构建出一个eclipse工程。

一本通1530 Ant Trip

喜欢而已 提交于 2020-05-01 23:18:30
1530:Ant Trip 【题目描述】 原题来自:2009 Multi-University Training Contest 12 - Host by FZU 给你无向图的 N 个点和 M 条边,保证这 M 条边都不同且不会存在同一点的自环边,现在问你至少要几笔才能所有边都画一遍。(一笔画的时候笔不离开纸) 【输入】 多组数据,每组数据用空行隔开。 对于每组数据,第一行两个整数 N,M 表示点数和边数。接下去 M 行每行两个整数 a,b,表示 a , b 之间有一条边。 【输出】 对于每组数据,输出答案。 【输入样例】 3 3 1 2 2 3 1 3 4 2 1 2 3 4 【输出样例】 1 2 【提示】 数据范围与提示: 1 ≤ N ≤ 10^ 5 , 0 ≤ M ≤ 2 × 10^ 5 , 1 ≤ a , b ≤ N 统计一张不一定联通的无向图中欧拉路径数量 sol:用并查集维护联通性,一个联通块中的数量就是其中奇点个数/2,如果没有就是1 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int N= 100005 ; 4 int n,m; 5 int Deg[N],Jidian[N],Father[N]; 6 bool Used[N]; 7 inline int Get_Father( int x) 8

I

a 夏天 提交于 2020-05-01 23:16:33
I - Ant Trip 参考博客: Ant Trip(欧拉回路+并查集) 参考: 欧拉路径问题与欧拉回路问题 题意:给你无向图的 N 个点和 M 条边,保证这 M 条边都不同且不会存在同一点的自环边,现在问你至少要几笔才能所有边都画一遍。(一笔画的时候笔不离开纸) 思路:先并查集将无向图的每个连通图分开,同时将所有点的度算一遍, 原图应是由若干个无向连通图组成的 当这个无向连通图只有一个点时,这是一个孤立点,不做操作,也就是只有一个点时特判 否则:计算每个无向图的奇度点的个数(可以通过find操作,将个数存在每个图集的代表点处,也就是find处)    如果奇度点的个数为0,表示是欧拉回路   如果奇度点的个数>=2,表示是对应的欧拉路径(欧拉回路也是欧拉路径)   所以:  对欧拉路径 :笔画数=奇度点数 / 2      对欧拉回路:笔画数=等于1 WA点:单点图要特判掉,虽然它也是欧拉回路,但是无边,对此题来说不需要安排蚂蚁去 无向连通图奇度点个数不可能为奇数 代码: 1 ***********************************************/ 2 int in [maxn], out [maxn]; 3 int st[maxn]; 4 int V[maxn]; 5 int num[maxn]; 6 int n,m; 7 8 int find(

Ant Trip(欧拉回路+并查集)

末鹿安然 提交于 2020-05-01 11:33:34
Ant Trip 题目描述 原题来自:2009 Multi-University Training Contest 12 - Host by FZU 给你无向图的 N 个点和 M 条边,保证这 M 条边都不同且不会存在同一点的自环边,现在问你至少要几笔才能所有边都画一遍。(一笔画的时候笔不离开纸) 输入格式 多组数据,每组数据用空行隔开。 对于每组数据,第一行两个整数 N,M 表示点数和边数。接下去 M 行每行两个整数 a , b,表示 a,b 之间有一条边。 输出格式 对于每组数据,输出答案。 样例 样例输入 3 3 1 2 2 3 1 3 4 2 1 2 3 4 样例输出 1 2 数据范围与提示 1 ≤ N ≤ 1 0^ 5 , 0 ≤ M ≤ 2 × 1 0 5 , 1<=a,b <=N 思路: It's also a good problem 原图应是由若干个无向连通图组成的 当这个无向连通图只有一个点时,这是一个孤立点,不做操作 当这个无向连通图是一条欧拉回路或欧拉路径时,只需要一笔画即可,sum++; 当这个无向连通图有大于2个奇度点,需要用奇度点的个数的二分之一笔画完,为什么?因为一笔可以消掉两个奇度点。由于对称性的缘故,一条边的左右两端点度数分别加一,倘若原来两点都是奇度点,则两端点都会变成偶度点,反之亦然,倘若两端点度数的奇偶性不同,一者为奇一者为偶

欧拉图简述---(一笔画问题)

余生颓废 提交于 2020-05-01 09:35:19
主要参考大佬博客:https://blog.csdn.net/u011815404/article/details/86590498 欧拉图 欧拉图是在大家小学时学奥数都学习过的一个类型的题,无论你学得好不好,你都听过它的另外一个名字:一笔画问题; 一,首先来 定义 一下: 1.欧拉回路:图G的一个回路,如果恰通过图G的每一条边,则该回路称为欧拉回路,具有欧拉回路的图称为欧拉图。欧拉图就是从图上的一点出发,经过所有边且只能经过一次,最终回到起点的路径。 2.欧拉通路:即可以不回到起点,但是必须经过每一条边,且只能一次。也叫"一笔画"问题。 3.基图:基图是针对有向图的说法,是忽略有向图的方向得到的无向图。 4.欧拉图:存在欧拉回路的图。 欧拉回路一定要首尾相连,,通路不一定。 二.性质与定理 先说说有向图和无向图,显而易见,有向图就是有向的图,而无向图反之亦然。 呃,,此处及以下全转载至大佬博客:https://blog.csdn.net/qq_35649707/article/details/75578102 性质与定理 定理1 无向图G为欧拉图,当且仅当G为连通图且所有顶点的度为偶数。 证明: 必要性 设图G的一条欧拉回路为C。由于C经过图G的每一条边,而图G没 有孤立点,所以C也经过图G的每一个顶点,G为连通图成立。而对于图G的任意一个顶点 v,经过C时都是从一条边进入

Service Mesh 和 API Gateway 关系深度探讨

半世苍凉 提交于 2020-04-30 11:42:32
前言 关于 Service Mesh 和 API Gateway 之间的关系,这个问题过去两年间经常被问起,社区也有不少文章和资料给出解答。其中不乏 Christian Posta 这样的网红给出过深度介绍。我在这里做一个资料的整理和汇总,结合个人的理解给出一些看法。另外在本文最后,介绍蚂蚁金服在 Service Mesh 和 API Gateway 融合的这个最新领域的一些开创性的实践和探索,希望给大家一个更有体感的认知。 备注1:为了节约篇幅,我们将直奔主题,假定读者对 Service Mesh 和 API Gateway 已有基本的了解。 备注2: 这边文章更关注于梳理整个脉络,内容不会展开的特别细,尤其是其他文章已经详细阐述的部分。如果您在浏览本文之后,还想更深入的了解细节,请继续阅读文章最后的参考资料和推荐阅读。 原本清晰的界限:定位和职责 首先,Service Mesh 和 API Gateway 在功能定位和承担的职责上有非常清晰的界限: Service Mesh:微服务的网络通信基础设施,负责(系统内部的)服务间的通讯; API Gateway: 负责将服务以 API 的形式暴露(给系统外部),以实现业务功能; 如上图所示: 从功能和职责上说: 位于最底层的是拆分好的原子微服务,以服务的形式提供各种能力; 在原子微服务上是(可选的)组合服务

把Tomcat讲解的如此透彻,阿里架构师的这份PDF真的太强了

爱⌒轻易说出口 提交于 2020-04-30 08:29:37
在目前流行的互联网架构中,对一个应用来说,Tomcat是首,SSM是中,JVM是尾,我们通常对于SSM是比较了解的,而忽略了收尾,而Tomcat在目前的网络编程中是举足轻重的,但是我们其实对Tomcat中很多原理性的东西不太了解,如果能够掌握Tomcat的原理,那么是非常有用的,比如: 如果我们能弄清楚Tomcat和Socket、Tcp之间的关系,我们就能明白Tomcat为什么会出现端口冲突。 如果我们能准确的知道Tomcat中部署一个项目的N种方式,那么就能在工作中更加得心应手。 Tomcat中热部署和热加载的区别是什么,到底是如何实现的,弄明白实现原理,能很大程度上提高Tomcat的运行效率。 Tomcat到底是如何处理一个请求的?这对于针对Tomcat的性能调优是必备的。 目前Spring Boot和Dubbo等框架中都是使用的内嵌Tomcat,那么一个内嵌的Tomcat到底是如何运行的? Tomcat的架构设计其实非常优秀的,如果能明白Tomcat为什么要那么设计,那么对于Tomcat的原理和自己的架构设计思维都能有很大提升。 JSP虽然过时,但是它的底层实现原理和思路依然保存着,那么Tomcat中到底是如何实现JSP功能的? 所以,对于Tomcat,正是因为足够强大和优秀才容易被我们忽视。工欲善其事必先利其器,如果我们能真正掌握Tomcat的底层原理,那么将会有很大收获。

Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览

南楼画角 提交于 2020-04-30 01:43:08
<!-- more --> 关注我 转载请务必注明原创地址为: http://www.54tianzhisheng.cn/2018/04/15/springboot2_code/ 项目结构 结构分析: Spring-boot-project 核心代码,代码量很多(197508 行) Spring-boot-samples 一些样例 demo,代码量不多(9685 行),蛮有用的 Spring-boot-samples-invoker 里面无代码 Spring-boot-tests 测试代码(1640 行) spring-boot-project Spring-boot-project 下面有很多模块,如下: Spirng-boot 该模块 47760 行代码(含测试代码),Spring boot 主要的库,提供了支持 Spring Boot 其他部分的功能,其中包括了: 在 SpringApplication 类,提供静态便捷方法,可以很容易写一个独立的 Spring 应用程序。它唯一的工作就是创造并更新一个合适的 Spring ApplicationContext 带有可选容器的嵌入式 Web 应用程序(Tomcat,Jetty 或 Undertow) 一流的外部配置支持 便捷 ApplicationContext 初始化程序,包括对敏感日志记录默认值的支持 spring

AntDesign从入门到精通

瘦欲@ 提交于 2020-04-29 22:28:11
第一 设计原则 官方网址:https://ant.design/index-cn 需要做出更好的设计决策,给予研发团队一种高确定性、低熵值的研发状态。同时,不同设计者在充分理解业务述求后,基于 Ant Design 体系都会有相同且符合当前业务特性的设计产出。 1.保持克制: 能做,但想清楚了不做。设计者应当聚焦在最有价值产品功能打磨,并用尽可能少的设计元素将其表达。正如 Antoine de St.Exupery 所说:完美不在于无以复加,而在于无可删减,万事莫不如此。 2.面向对象的方法: 探索设计规律,并将其抽象成『对象』,增强界面设计的灵活性和可维护性,同时也减少『设计者』的主观干扰,从而降低系统的不确定性。例如:色值换算、间距排版。 3.模块化设计: 将复杂或者重复出现的局部封装成模块,提供有限接口与其他模块互动,最终全面减少系统的复杂度,进而增进可靠性以及可维护性。设计者可运用现有的组件/模板或者自行抽象可复用的组件/模板,节约无谓的设计且保持系统一致性,让『设计者』把创造力专注在最需要的地方。 第二 设计原则 1.亲密性 如果信息之间关联性越高,它们之间的距离就应该越接近,也越像一个视觉单元;反之,则它们的距离就应该越远,也越像多个视觉单元。亲密性的根本目的是实现组织性,让用户对页面结构和信息层次一目了然。 间距包括纵向间距和横向间距,纵向间距一般来说包括小号间距

16.如何优雅地获取跨层级组件实例(拒绝递归)

♀尐吖头ヾ 提交于 2020-04-29 11:15:07
跨层级的获取组件实例 如果是普通的元素,ref="p"获取的是真实的dom元素,如果是自定义组件,那么获取到的就是这个组件的实例了。 this.$ref.XXXX可以获取当前组件上下文的实例。如果说要获取跨层级的组件的实例?那就很不方便了。 如果要获取父组件的,可以通过parent.refs. 获取子组件的children.refs 如果层级多的时候,10级20级别的。那就很不方便了。 如果A组件要访问E组件的实例。或者是F要访问A组件的实例。第一种想法可能是通过递归的方式一直层级的网上找parent。一层层的去查找目标实例, 递归繁琐,而且性能低效。每次访问实例都要走一遍递归的形式,因为你的实例是不能被缓存 的,然后你底层的子组件的实例,如果被更新了。你父组件是不能及时的知道它这个实例是更新了。所以说你每次使用的时候,都需要层级的去获取。就是你没有办法去缓存。 争对这种情况设计了一种更加高效的方案。。如果你熟悉react ref它是一个call back回调的形式,这样我们在回调中就可以做很多的事情,就比较灵活了。 争对这种回调灵活的特点,我们可以设定一种主动通知,主动获取这样一种方案。 加入A要获取E的实例,A只需要提供一个钩子函数,E实例生成或者更新之后,主动的去调用这个沟子函数,来通知A节点,我这个实例已经生成好了。我这个实例有更新,只需要告诉这个A节点