开放源代码

DevOps开源工具的三种分类整理

丶灬走出姿态 提交于 2020-03-12 02:31:41
原文地址: http://www.360doc.com/content/16/0322/07/31263000_544210096.shtml 随着开发运维一体化的DevOps运动在国内外蓬勃发展,DevOps相关工具也呈现热闹趋势,在这个言必谈如何实施落地引入工具、建设平台的大环境下,我们今天也来盘点一下DevOps相关工具。 先来看一下业界对DevOps工具的各种分类介绍。 一、DevOps应用交付工具链 ElasticBox 是国外一个云应用管理工具,主要用于实现云应用生命周期的可视化管理,他们的口号是“Deploy any Application Anywhere – Zero stress,Total control”。 关于DevOps工具,他们整理了一个脑图: 主要从 开发、部署、维护 三个方面把常用的开源工具做了一个分类: >>>> 1、开发 开发类的DevOps工具又分为: (1) 版本控制和协作,例如Git、SVN等 (2) 构建和测试自动化,例如Ant、Selenium、Jmeter等 (3) 持续集成和交付,例如Jenkins、CruiseControl等 >>>> 2、部署 部署类的DevOps工具分为: (1) 容器平台,例如Docker等 (2) 配置管理,例如Chef、Puppet、Ansible等 (3) 微服务平台,例如Cloud Foundry

SpringBoot图文教程14—阿里开源EasyExcel「为百万数据读写设计」

柔情痞子 提交于 2020-03-11 14:29:30
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+案例 思维导图」「基础篇上」 SpringBoot图文教程2—日志的使用「logback」「log4j」 SpringBoot图文教程3—「‘初恋’情结」集成Jsp SpringBoot图文教程4—SpringBoot 实现文件上传下载 SpringBoot图文教程5—SpringBoot 中使用Aop SpringBoot图文教程6—SpringBoot中过滤器的使用 SpringBoot图文教程7—SpringBoot拦截器的使用姿势这都有 SpringBoot图文教程8 — SpringBoot集成MBG「代码生成器」 SpringBoot图文教程9—SpringBoot 导入导出 Excel 「Apache Poi」 SpringBoot图文教程10—模板导出|百万数据Excel导出|图片导出「easypoi」 SpringBoot图文教程11—从此不写mapper文件「SpringBoot集成MybatisPlus」 SpringBoot图文教程12—SpringData Jpa的基本使用 SpringBoot图文教程13—SpringBoot+IDEA实现代码热部署

Canonical 开源 MicroK8 | 云原生生态周报 Vol. 25

隐身守侯 提交于 2020-03-11 03:44:49
业界要闻 1. Canonical 开源 MicroK8 面向工作站和边缘/物联网的零运维 Kubernetes!MicroK8 是 Canonical 提供的一款功能强大的企业级 Kubernetes 发行版,我们认为它是市面上最小巧最快速的多节点 Kubernetes。 2. 2019 中国开源年会即将开启 2019 中国开源年会(COSCon'19)为业界最具影响力的开源年度盛会,将于 11 月 2 日至 3 日在华东师范大学 (上海普陀区中山北路校区)由开源社举办。 关注“阿里巴巴云原生”公众号,回复关键词 “年会” 即可参与价值 199 的门票抽奖! 上游重要进展 1. Add image pull progress KEP 增加 Image 拉取进度。在容器启动的时候,镜像拉取一直是一个卡住的黑盒环节,尤其是是国内拉取国外的镜像站,如果有了镜像拉取进度,可以大大缓解焦虑。 2. Enable conformance without beta REST APIs or features beta 版本的 Rest 接口将被从 Kubernetes 一致性测试(conformance test)中移除。 3. Made all scheduler Node and Pod list/lookups from the snapshot K8s scheduler 对 Pod

一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别

老子叫甜甜 提交于 2020-03-11 00:58:54
首先借用有心人士的一张相当直观清晰的图来划分各种协议:开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别 以下是上述协议的简单介绍: BSD开源协议 BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件: 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。 BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。 Apache Licence 2.0 Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布

GitHub上最火的40个Android开源项目(一)

时光毁灭记忆、已成空白 提交于 2020-03-08 08:03:33
GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上。更何况,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。 下面,就让我们一起来看看,在GitHub平台上,究竟有哪些Android开源项目最火,也最受开发者欢迎。 1. ActionBarSherlock ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便地使用所有版本的Android动作栏的设计模式。 对于Android 4.0及更高版本,ActionBarSherlock可以自动使用本地ActionBar实现,而对于之前没有ActionBar功能的版本,基于Ice Cream Sandwich的自定义动作栏实现将自动围绕布局。能够让开发者轻松开发一款带动作栏(Action bar)的应用,并且适用于Android 2.x及其以上所有版本。 详情请参考: ActionBarSherlock 2. facebook-android-sdk Facebook SDK for Android是一个开源库,允许开发者将Facebook集成到所开发的Android应用中。 如果想要获取更多关于示例、文档、将SDK集成到App中

开源导入导出通用库Magicodes.ExporterAndImporter发布

我们两清 提交于 2020-03-08 05:37:20
导入导出通用库 Magicodes.ExporterAndImporter为心莱团队封装的导入导出通用库,并且仍在跟随项目不断地打磨。 GitHub地址: https://github.com/xin-lai/Magicodes.ExporterAndImporter 目录 特点 相关官方Nuget包 导出 Demo 普通导出 特性导出 列头处理或者多语言支持 导入Demo 普通模板 多数据类型 数据验证 Docker中使用 Dockerfile Demo 特点 封装导入导出业务,目前仅支持 Excel,有兴趣的小伙伴可以考虑支持 CSV 以及PDF或其他格式的导出 配置特性即可控制相关逻辑和显示结果,无需修改逻辑代码 推荐配合 导入导出DTO 使用 导出支持列头自定义处理以便支持多语言等场景 导出支持文本自定义过滤或处理 导入支持自动根据导入DTO生成导入模板及模板验证 导入支持数据验证逻辑 导入支持数据下拉选择 导入支持注释添加 相关官方Nuget包 导出 Demo Demo1-1 普通导出 public class ExportTestData { public string Name1 { get; set; } public string Name2 { get; set; } public string Name3 { get; set; } public string

跟大家聊聊我们为什么要学习源码?学习源码对我们有用吗?(源码感悟)

白昼怎懂夜的黑 提交于 2020-03-07 23:33:41
1 前言 由于现在微服务很流行,越来越多企业采用了SpringCloud微服务架构,而SpringBoot则是快速构建微服务项目的利器。于是 源码笔记 以此为切入点,将SpringBoot作为我们源码分析的第一个开源项目,之后还会对更多开源项目进行源码分析。要进行源码分析,笔者结合自身经历来跟大家聊聊 我们为什么要学习源码 这个话题,大家一起探讨学习。 我们程序员在开发代码时每天都在使用别人写好的框架,无论你是在使用Spring生态的Spring核心,SpringMVC,SpringBoot和SpringCloud等框架,还是在使用阿里系的Dubbo,RocketMQ,Seata,Druid等中间件框架,亦或你是搞大数据的,在使用Apache组织的Zookeeper,Hadoop,Hive,Spark等大数据组件框架,这些开源框架都给我们的项目编码带来了极大的方便,促进了我们的开发效率。是的,这些都是开源大神们帮我们造好的轮子,我们直接使用即可,而且用起来很少出bug,因为这些框架一般都是经过考验的才能流行起来。 可能大部分人会认为,这些轮子都已经造好了,我们直接用即可。是的,这些开源框架对我们使用来说是透明的,它们就像一个个黑盒子。至于这些黑盒里面装的是什么东西,里面是怎样构造的,如果没有去探究这些黑盒的话,我们无从得知。但是,我们做开发的天天跟这些黑盒打交道

分析开源项目源码,我们该如何入手分析?(授人以渔)

点点圈 提交于 2020-03-07 23:27:37
1 前言 本文接上篇文章 跟大家聊聊我们为什么要学习源码?学习源码对我们有用吗? ,那么本篇文章再继续跟小伙伴们聊聊源码这个话题。 在工作之余开始写SpringBoot源码分析专栏前,跟小伙伴们聊聊“ 分析开源项目源码,我们该如何入手分析? ”这个话题,我们就随便扯皮,反正是跟小伙伴们一起学习交流,没必要太正式。 小伙伴们看完本文后,若有自己的源码阅读心得可以在下面进行评论或私聊我进行分享, 让我从小伙伴们身上GET多点源码阅读的一些技巧 ,嘿嘿。 2 学习开源框架源码到底难不难? 那么,先跟小伙伴们聊聊学习开源框架源码的感受,请问你们认为学习开源框架源码到底难不难?这是一个开放的话题,可谓仁者见仁,智者见智。有一些开源大牛们会说, So easy! ;有一些有源码阅读习惯且工作多年的小伙伴们会说, 还好。 ;有一些刚开始学习源码的小伙伴们会说, 太难了! 。是的,不同工作经验不同技术层次的人的回答是不一样的。 那么刚开始学习开源项目源码难不难呢?应该对绝大部分小伙伴们来说应该是偏难的。为什么呢? 可能有以下四点原因 : 一个能流行起来的成熟的开源项目必定功能齐全,可扩展,而功能齐全可扩展的开源项目必定很复杂,代码量大 。比如Spring5框架的源码行数达到了六七十万行,SpringBoot的源码行数达到了25万行左右,Dubbo和RocketMQ的源码行数达到了10万行

如何给非理科生讲明白什么是云计算、大数椐(上)

跟風遠走 提交于 2020-03-07 20:49:49
旧事重提 云计算和大数椐都提的比较早,如云计算 早在7年前的2010中国(深圳)IT领袖峰会上,BAT三位大佬就分别谈了自己对云计算的看法。 李彦宏表示云计算其实就是新瓶装旧酒,没有新东西。从早先客户端与服务器的关系,到后来基于互联网的Web界面服务,在到云计算,本质上都是一样的。李彦宏是从纯技术的角度来看的,想必熟悉做技术的同学在当时的时间 点也会这么看。 而马化腾则认为云计算是一个比较有技术性,比较超前的概念。他同意未来云计算拥有很大的想象空间,但认为现在还为时过早,要过几百年、一千年后才确实有可能(实现)。当然马化腾当时说的云计算应该和我们现在BAT各家提供的服务不一样的。 与前两位不同的是,马云表示对云计算充满了信心,充满了希望。他所理解的云计算是一种数据存储、处理并分享的机制,阿里巴巴拥有大量消费数据、交易数据,这些数据于阿里而言,于社会而言都是非常有用的。他称云计算是阿里又找到的一个新的矿产。 当然,这种看法没有孰是孰非,现在也分别有了阿里云,百度云,腾讯云。态度不同结果也不同,阿里最先开展云业务,阿里巴巴公布2017财年全年财报,其中,阿里云该财年营收规模达到66.63亿元人民币,同比上年增长121%,连续两年实现三位数增长。相比下来,腾讯云与百度云就要逊色一些。在国际权威IT调研与咨询服务公司Gartner17年发布的云供应商魔力象限中,只有阿里云进入了领导者象限

优秀js开源框架-jQuery使用手册(1)

不羁的心 提交于 2020-03-06 12:30:36
对css和XPath的支持,使我们写js变得更加方便!如果你不是个js高手又想写出优 秀的js效果,jQuery可以帮你达到目的! 下载地址:http://jquery.com 下载完成后先加载到文档中,然后我们来看个简单的例子! <script type="text/javascript" src="scripts/jquery-1.2.3.js"></script> <script language="javascript" type="text/javascript"> $(document).ready(function(){ $("a").click(function() { alert("Hello world!"); }); }); </script> 上边的效果是点击文档中所有a标签时将弹出对话框,$("a") 是一个jQuery选择器,$本身表示一个jQuery类,所有$()是构造一个jQuery对象,click()是这个对象的方法,同理$(document)也是一个jQuery对象,ready(fn)是$(document)的方法,表示当document全部下载完毕时执行函数。 在进行下面内容之前我还要说明一点$("p")和$("#p")的区别,$("p")表示取所有p标签(<p></p>)的元素,$("#p")表示取id为"p"(<span id="p"><