Mark

OpenStack黄金十年:说说我与OpenStack的故事

橙三吉。 提交于 2021-02-15 02:31:59
导读:从2010年到2020年,OpenStack项目整整走过了十个春夏秋冬。不管是OpenStack基金会,还是积极参与OpenStack社区的厂商、企业乃至开发者,想必都有肺腑之言想对OpenStack倾诉。 翻开记忆中OpenStack项目十年的故事,会不会别有一番滋味在心头? 故事1: 改变从OpenStack开源云开始 OpenStack之所以能有今天的行业影响力,与OpenStack基金会的成功运作是密不可分的。OpenStack项目十周年故事的第一个讲述人便是OpenStack基金会首席运营官Mark Collier(柯理怀)。 2010年,OpenStack项目启动时仅有少数几个组织的支持。十年后的今天,OpenStack拥有:来自187个国家的600多个组织,以及105000位社区成员的支持;OpenStack与 Linux kernel、Chromium(Chrome浏览器和Chrome OS的上游项目)已成为全球最活跃的三大开源项目;数千名开发者在上游贡献了代码,按时发布了20个OpenStack版本;全球组织及机构的OpenStack部署总规模已达到1000万个计算核心,涉及零售、金融服务、电信、研究机构、政务等多个行业和领域;OpenStack已是开源私有云领域的事实标准,同时全球还有几十个公有云平台基于OpenStack部署;社区已启动四个新的开源项目

pytest文档15-使用自定义标记mark

折月煮酒 提交于 2021-02-14 12:16:43
前言 pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行。一个大项目自动化用例时,可以划分多个模块, 也可以使用标记功能,标明哪些是模块1用例,哪些是模块2的,运行代码时候指定mark名称运行就可以 mark标记 1.以下用例,标记test_send_http()为webtest # content of test_server.py import pytest @pytest.mark.webtest def test_send_http(): pass # perform some webtest test for your app def test_something_quick(): pass def test_another(): pass class TestClass: def test_method(self): pass if __name__ == "__main__": pytest.main(["-s", "test_server.py", "-m=webtest"]) 只运行用webtest标记的测试,cmd运行的时候,加个-m 参数,指定参数值webtest $ pytest -v -m webtest ============================= test session starts ===

Andersen Global加强东非业务版图;在布隆迪新增合作公司

a 夏天 提交于 2021-02-14 09:28:52
旧金山--(美国商业资讯)--Andersen Global与布隆迪的CN & Associates签署合作协议,借此继续开拓其在东非的业务平台,在这个重要的市场扩大业务覆盖,帮助组织继续在该地区巩固其全方位平台建设。 CN & Associates是一家全部由女性组成的公司,由主管合伙人Caritas Niyonzima创立,致力于在企业、银行、房地产、知识产权、公共采购、劳工、离婚、税务、诉讼和人权方面提供法律服务,重点是两性、儿童问题和计划/项目评估。该公司为个人和企业提供服务,包括国际和国家企业实体以及当地非营利性组织等等。 Caritas表示:“我们对于管理的不懈追求让我们引以为傲,同时也始终坚持寻找新的方式为客户带去最好的结果和解决方案。我们已经在地区范围内建立起强大的声望,因此我们希望进一步提升我们的服务。与Andersen Global合作将帮助我们打造一站式的服务平台,为客户提供一家全球性公司的资源。” Andersen Global董事长兼Andersen首席执行官Mark Vorsatz表示:“CN & Associates的团队将进一步深化我们在非洲的队伍建设,并提升我们在布隆迪的影响力和能力。Caritas及其麾下优秀的法律从业人员团队为客户提供一流的解决方案,很好地彰显了对独立性和透明度的承诺。他们,连同我们在该地区的成员公司和其他合作公司

Synchronized解析——如果你愿意一层一层剥开我的心

狂风中的少年 提交于 2021-02-14 09:18:21
前言 synchronized,是解决并发情况下数据同步访问问题的一把利刃。那么synchronized的底层原理是什么呢?下面我们来一层一层剥开它的心,就像剥洋葱一样,看个究竟。 Synchronized的使用场景 synchronized关键字可以作用于方法或者代码块,最主要有以下几种使用方式,如图: 接下来,我们先剥开synchronized的第一层,反编译其作用的代码块以及方法 。 synchronized作用于代码块 public class SynchronizedTest { public void doSth(){ synchronized (SynchronizedTest.class){ System.out.println("test Synchronized" ); } } } 反编译,可得: 由图可得,添加了synchronized关键字的代码块,多了两个指令 monitorenter、monitorexit 。即JVM使用monitorenter和monitorexit两个指令实现同步,monitorenter、monitorexit又是怎样保证同步的呢?我们等下剥第二层继续探索。 synchronized作用于方法 public synchronized void doSth(){ System.out.println("test

人生若只如初见-Linux入门学习

廉价感情. 提交于 2021-02-12 14:28:40
[toc] 人生若只如初见-Linux入门学习 Abstract : 学习课程的目的,个人的职业规划;学习的方法,学习中的约定规则;介绍Linux的起源发展;安装配置虚拟机;安装centOS7,网络模式的选择 一、 学习之初 a. 学习课程的目的是为了以后的个人职业发展,突破目前发展的瓶颈,获得高薪工作,以Linux运维为入门起点,后期转开发或者云数据等。 b. 学习的建议 稳中求进:真正的学会和掌握,孰能生巧 善于总结文档:记笔记,发表在博客中 复习:经常复习才能熟练掌握 举一反三:串联知识点 约定 a. 系统及工具 b. 软件包安装源: r.aminglinux.com 会更新 c. 课程用到代码及命令 centos7.aminglinux.com 二、 认识Linux a. 根据Linux发展史,列举几种代表性的版本 Linux之前流行的就是Unix,例如现在的苹果系统MacOS 1991年,Linus Torvalds尚是芬兰赫尔辛基大学的一名学生,他在学校学操作系统的课程,他也想搞个操作系统玩玩。他当时已经在使用Gnu项目的Bash、GCC等软件。受GNU的影响,把他自己开发的一个简陋的操作系统内核放到了互联网上。 这个内核系统就是Linux,Linus's Unix,Linus的Unix。名字并非Linux所取,他一贯的风格是取个调侃的名字,但当时管理员说Linux挺好

Java必考题目之JVM面试题目和答案

旧城冷巷雨未停 提交于 2021-02-12 11:30:56
JVM内存模型 首先我们来了解一下JVM的内存模型的怎么样的: 1.堆:存放对象实例,几乎所有的对象实例都在这里分配内存 堆得内存由-Xms指定,默认是物理内存的1/64;最大的内存由-Xmx指定,默认是物理内存的1/4。 默认空余的堆内存小于40%时,就会增大,直到-Xmx设置的内存。具体的比例可以由-XX:MinHeapFreeRatio指定 空余的内存大于70%时,就会减少内存,直到-Xms设置的大小。具体由-XX:MaxHeapFreeRatio指定。 2.虚拟机栈 虚拟机栈描述的是Java方法执行的内存模型:每个方法被执行的时候都会同时创建一个栈帧(Stack Frame)用于存储局部变量表、操作栈、动态链接、方法出口等信息本地方法栈:本地方法栈则是为虚拟机使用到的Native方法服务。 3.方法区:存储已被虚拟机加载的类元数据信息(元空间) 1)有时候也成为永久代,在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法区里的常量池和对类型的卸载 2)方法区主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据。 该区域是被线程共享的。 3)方法区里有一个运行时常量池,用于存放静态编译产生的字面量和符号引用。该常量池具有动态性,也就是说常量并不一定是编译时确定,运行时生成的常量也会存在这个常量池中。 **4.程序计数器:

推荐:Java性能优化系列集锦

不打扰是莪最后的温柔 提交于 2021-02-12 11:20:12
Java性能问题一直困扰着广大程序员,由于平台复杂性,要定位问题,找出其根源确实很难。随着10多年Java平台的改进以及新出现的多核多处理器,Java软件的性能和扩展性已经今非昔比了。现代JVM持续演进,内建了更为成熟的优化技术、运行时技术和垃圾收集器。与此同时,底层的硬件平台和操作系统也在演化。 目录: 一、Java性能优化系列之一--设计优化 二、Java性能优化系列之二--程序优化 三、Java性能优化系列之三--并发程序设计详解 四、Java性能优化系列之四--Java内存管理与垃圾回收机制详解 五、Java性能优化系列之五--JavaIO 现代大规模关键性系统中的Java性能调优,是一项富有挑战的任务。你需要关注各种问题,包括算法结构、内存分配模式以及磁盘和文件I/O的使用方式。性能调优最困难的通常是找到问题所在,即便是经验丰富的人也会被他们的直觉所误导。性能杀手总是隐藏在最意想不到的地方。 这一次,我将在本文中着重介绍Java性能优化的一系列举措,希望能够对现在的你有所帮助。觉得有帮助的朋友也可以转发、收藏一下。 一、Java性能优化系列之一--设计优化 1、善于利用 Java 中的设计模式:享元模式、代理模式、装饰器模式等。详见我的博客文章“大话”设计模式 文章链接:https://blog.csdn.net/person_limit/article/details

JVM的垃圾回收机制 总结(垃圾收集、回收算法、垃圾回收器)

谁说胖子不能爱 提交于 2021-02-12 07:12:22
如果想了解Java内存模型参考: jvm内存模型-和内存分配以及jdk、jre、jvm是什么关系(阿里,美团,京东) 相信和小编一样的程序猿们在日常工作或面试当中经常会遇到JVM的垃圾回收问题,有没有在夜深人静的时候详细捋一捋JVM垃圾回收机制中的知识点呢?没时间捋也没关系,因为小编接下来会给你捋一捋。 一、 技术背景你要了解吧 二、 哪些内存需要回收? 2.1 引用计数算法 2.1.1 算法分析 2.1.2 优缺点 2.1.3 是不是很无趣,来段代码压压惊 2.2 可达性分析算法 2.3 Java中的引用你了解多少 2.4 对象死亡(被回收)前的最后一次挣扎 2.5 方法区如何判断是否需要回收 三、常用的垃圾收集算法 3.1 标记-清除算法 3.2 复制算法 3.3 标记-整理算法 3.4 分代收集算法 3.4.1 年轻代(Young Generation)的回收算法 3.4.2 年老代(Old Generation)的回收算法 3.4.3 持久代(Permanent Generation)的回收算法 四、常见的垃圾收集器 五、GC是什么时候触发的(面试最常见的问题之一) 5.1 Scavenge GC 5.2 Full GC 结束语 一、 技术背景你要了解吧   按照套路是要先装装X,谈谈JVM垃圾回收的前世今生的。说起垃圾回收(GC)

一篇文章为你揭秘pytest的基本用法

梦想与她 提交于 2021-02-12 04:44:38
pytest是一个测试框架,功能与unittest类似,完全兼容unittest的功能。一般做接口测试的时候,以前用的多的是python+requests+httptestrunner完成接口自动化测试与报告生成,看到现在很多都在用pytest框架,我也来学习一下,接口测试中pytest应用广泛的是通过python+pytest+allure生成测试报告,报告格式比较美观。 文章比较长,先简单概述一下本文的大概内容: 1、环境搭建以及pytest是怎么运行的,如何识别有效用例 2、用例执行顺序、参数传递、数据驱动 3、断言,以及常见的pytest装饰器 4、测试报告生成,包括自带的pytest的报告以及集成allure的报告。 pytest安装 pip install -U pytest 查看安装版本: cmd窗口输入:pytest --version ,会在窗口中输出类似下面格式的一句话: This is pytest version 5.4.3, imported from d:\python38\lib\site-packages\pytest\__init__.py 用例的识别与运行 用例编写规范 测试文件以test_开头(或者以_test结尾) pytest会找当前以及递归查找子文件夹下面所有的test_*.py或*_test.py的文件,把其当作测试文件

阿里P7谈论前端的五大优势!

£可爱£侵袭症+ 提交于 2021-02-12 04:16:55
1. 良好的就业前景 基于市场的压力,很多企业需要提供具有电商、通信、发布等功能的综合性网站,而这些企业却很难招到他们需要的 Web 开发人员。虽然像 Ruby on Rails,Django 及 Java 这些技术的发展使得开发人员更易于满足用户日益增长的需求,但对于 Web 开发人员的需求却还是只增无减:投资人不断投资新的公司,而传统公司也在向着互联网化进发。 「因此,更多公司正在寻找符合要求的前端技术人员」,技术类猎头公司 WinterWyman 的招聘人员 Mark Stagno 如是说。 Stagno 看到了市场上对于既有理论又懂实践的大前端人员的庞大需求。「供应远远赶不上需求,而且在我可以预见的范围内这个情况不会有任何变化」,他说。事实上,根据有关部门的数据显示:在 2012 年至 2022 年间,Web 开发人员的就业增长率将达到 20%,超过其他所有职业的平均增长率(11%)。 2. 不断上涨的工资 由于需求远远大于供应,所以即便是没有经验的 Web 开发人员的工资也在上升。技术工程类人力资源公司 Modis 招聘总监 Will Kelly 见过只有 3 年工作经验却拿到 90000 美元年薪的前端工程师。「供需不平衡在持续推工资高」,他说。Robert Half Technology 的一项薪资调查结果显示,2017 年至 2018年间,Web 开发人员的工资上涨