工具

企业建立成功 DevOps 模式所需应对的5个挑战

社会主义新天地 提交于 2019-12-10 01:49:31
【编者按】本文作者为 Kevin Goldberg,主要介绍要想成功部署 DevOps 模式,企业所需应对的5大挑战与问题。文章系国内 ITOM 管理平台 OneAPM 编译呈现。 要给 DevOps 下个简明、准确而又恰当的定义真不是件容易的事儿。不过,以前看到过一句话,似乎能较好地解释什么是 DevOps——“DevOps 是一种文化、运动或者实践,它强调软件开发人员和其他 IT 专业技术人员之间的沟通与协作,以共同促进软件交付流程和基础设施变更的自动化。” 现在,你明白了什么是 DevOps,什么不是 DevOps,那么你又要思考,为什么你的企业应该使用 DevOps?除了打破两个分散部门之间独立的工作模式,你还可以期待怎样的显著变化和成果?根据 Puppet 最新的《DevOps 现状报告》,他们发现“高效能的IT组织比低效能的IT组织经历的故障要少 60 倍,故障恢复速度要快 168 倍。而且,他们的部署时间要短 200 倍但部署频率却高出 30 倍。”简单地说就是,成功的 DevOps 组织能在更短的时间内实现更快的产品发布频率,而且出现的问题更少。 要实现更具有协作性的 DevOps 转变,在开始前,必须搞清楚公司可能会面临哪些潜在的挑战。 ##1. 切记不要由上而下发起 这是很多企业试图在内部实现 DevOps 时最常遇到的问题之一。在实际过程中

oKit6.0震撼发布,全面开启自定义模式

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-09 12:04:45
2016来了!oKit6.0也来了! 在这个寒冷的冬天 ,oKit6.0将会成为您的暖心神器,oKit带您进入全新的用户自定义世界! —— 流程支持自定义! —— 业务支持自定义! —— 界面支持自定义! —— 属性支持自定义! —— 搜索支持自定义! —— 报表支持自定义! —— 考核支持自定义! 神马?连Logo也能自定义?是的,您没有看错,oKit6.0不仅全面支持用户自定义,还有很多重大改进和全新功能,让我们一起往下看! 或者点这里了解更多。。。 统御项目管理软件6.0版于2016年1月20日正式发布,简称oKit6.0。本次发布的oKit 6.0 新增的功能点和重要改进包括以下10个方面: (1) 推出企业级工作流平台 ,全面支持流程驱动 ● 自定义流程和界面 ● 自定义流程分类 ● 自定义流程入口 ● 支持流程监控 ● 流程自动消息通知 ● 与业务数据深度集成 (2) 为解决企业IT部门与业务部门之间的协作问题,oKit服务台功能上线了 ● 自定义业务分类 ● 自定义业务流程 ● 自定义业务属性 ● 自定义业务界面 ● 灵活的权限控制 ● 灵活的消息通知 ● 自定义报表输出 ● 支持对业务评价 ● 问题能够转化为需求、缺陷、任务 (3) 考核管理全面升级,支持主观加客观的方式对项目、部门、人员进行全方位考核 ● 考核对象扩展为项目,部门,人员 ● 支持自定义考核算子

应用生命周期终极 DevOps 工具包

江枫思渺然 提交于 2019-12-07 21:45:37
【编者按】本文作者为 Kevin Goldberg,主要介绍了在开发、运营应用的完整生命周期当中,可能用到的 DevOps 工具大集合。文章系 OneAPM 工程师编译整理。 DevOps工具包中合适的工具可以帮助你在企业内成功实施DevOps,增强敏捷发布过程和团队协作。笔者想先声明,DevOps不仅涉及工具,如果背后没有合适的人员与文化,即使拥有最好的工具,也不能成功实施DevOps。不幸的是,没有“文化”工具可供你使用,让你能够立刻在团队之间培养协作和反馈。 合适的工具可以提供框架,帮助公司成功实施DevOps。你选择的工具,应该鼓励反馈,并防止进一步形成孤立。工具还应该帮助统一和协调团队。确定采用的DevOps工具包,是实现DevOps目标和量化成功的关键第一步。虽然工具的特性集和解决方案是很重要的,也要确保重视工具组合起来的效果。无法整合的工具可能会需要过多的维护,成本,或产生冲突的信息。 在一个非常简化的应用生命周期视图中,笔者将过程划分为四个主要步骤:规划,设计,部署和维护。在每一个步骤中,都有可以增强这一环节的工具。同样重要的是,这个过程不是一次性的,这是一个持续的循环。这种持续的反馈周期,是DevOps成功的必要基础。 与其通过一系列的产品列表来选择DevOps工具,你应该考虑自己的应用生命周期,根据特定的目标来做出选择。 ##基础

JAVA实用工具类

牧云@^-^@ 提交于 2019-12-07 14:35:07
在开发java项目时,经常都需要频繁处理数据,如果能非常合适、严谨的处理数据,那么将对程序有莫大的好处,例如,提高程序的稳定性,而且有时候数据在使用前是必须处理的,否则就会出错。例如,在操作前对被除数的处理(如果是0怎么办)、字符串转化、编码转换等,针对项目开发中对数据的频繁操作,在我们程序的开发过程中是很有必要对这些处理数据的工具方法进行统一归类使用的,而下面的这个工具类就封装了很多对基础数据的处理操作的方法。因为方法很多,为了方便查询,我先对方法及其实现的功能列了一个清单,如下: 同时也希望大家能把自己使用的工具类发上来共享,谢谢。 一、功能方法目录清单: 1、getString(String sSource)的功能是判断参数是否为空,为空返回"",否则返回其值; 2、getString(int iSource)的功能是判断参数是否为0,为0则返回"",否则返回其值; 3、GBKtoISO(String s)的功能是进行编码转换,由GBK转为 iso-8859-1; 4、ISOtoGBK(String s)的功能是进行编码转换,由iso-8859-1 转为 GBK; 5、getArray(String[] aSource)的功能是判断参数是否为空,为空则返回一个长度为0的字符串数组,否则返回其值; 6、getInt(String sSource)的功能是判断参数是否为空

打造一个全命令行的Android构建系统

谁说胖子不能爱 提交于 2019-12-07 13:42:00
IDE都是给小白 程序员 的,大牛级别的程序员一定是命令行控,终端控,你看大牛都是使用vim,emacs 就一切搞定” 这话说的虽然有些绝对,但是也不无道理,做开发这行要想效率高,自动化还真是缺少不了命令行工具,因为只有命令行才是最佳的人机交互工具。其实IDE也是底层也是调用命令行工具而已,只不过给普通开发者呈现一个更友好的开发界面。这里可不是宣扬让大家放弃IDE都改命令行,只是每种事物都有他存在的理由,无论是编程语言还是工具都是一个原则 “没有最好的,只有最合适的”。 前一段时间做一个人产品,发布产品的时候为了统计各渠道流量免不了要构建不通的渠道包,你懂得国内渠道上百个,靠IDE编译打包非吐血不可。这些重复劳动最适合交个程序来做,很多程序员想不明白这个问题,宁愿把大量的精力时间花在业务上,却不知道用工具 提高工作效率 。在这里写一篇简单的教程,告诉大家怎么脱离IDE环境完成一个android项目的编译构建,有了这基础开发什么自动化构建工具都不是什么难事了, 前一阵子做的一个打包html5应用的在线工具 AppBuilder 就是基于命令行构建完成的。 说到命令行自然是不需要图形界面,所以Android SDK的安装下载自然都是在终端上进行。下面是本文中使用的一些SDK和基本环境。 ubuntu server 14.04 (64位) JDK 1.7 android-sdk_r24

BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别

岁酱吖の 提交于 2019-12-05 21:01:58
一、简介: BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。它需要Collections包和logging包的支持。 二、用法: BeanUtils是这个包里比较常用的一个工具类,这里只介绍它的copyProperties()方法。该方法定义如下: public static void copyProperties(java.lang.Object dest,java.lang.Object orig) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException 如果你有两个具有很多相同属性的JavaBean,一个很常见的情况就是Struts里的PO对象(持久对象)和对应的ActionForm,例如 Teacher和TeacherForm。我们一般会在Action里从ActionForm构造一个PO对象,传统的方式是使用类似下面的语句对属性逐个赋值: //得到TeacherForm TeacherForm teacherForm=(TeacherForm

项目报红叉,文件没报错。 解决Cannot change version of project...

寵の児 提交于 2019-12-05 11:13:39
我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一般现在至少都是2.5,在Project Facets里面修改Dynamic web module为2.5的时候就会出现Cannot change version of project facet Dynamic web module to 2.5,如图: 其实在右边可以看到改到2.5需要的条件以及有冲突的facets,解决这个问题的步骤如下: 1.把Servlet改成2.5,打开项目的web.xml,改之前: <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > < web-app > < display-name > Archetype Created Web Application </ display-name > </ web-app > 改后: <? xml version = "1.0" encoding = "UTF-8" ?> < web-app version = "2.5

VMware配置CentOS-7虚拟机与windows主机之间的文件共享

我的未来我决定 提交于 2019-12-04 09:38:28
首先确认CentOS-7已经安装了open-vm-tools,如果没有安装,则通过yum安装: yum install open-vm-tools 关闭虚拟机并配置好windows主机的共享目录后,可以选择手动或者自动挂载共享文件 CentOS中的挂载点为/vmshare,需提前手动创建目录 手动方式: vmhgfs-fuse -o allow_other -o auto_unmount -o uid=1000 -o gid=1000 .host:/ /vmshare 自动方式: 编辑/etc/fstab,加上一行 .host:/ /vmshare fuse.vmhgfs-fuse allow_other,uid=1000,gid=1000,auto_unmount,defaults 0 0 来源: oschina 链接: https://my.oschina.net/u/588754/blog/1489062

Django 开发中的最佳实践之一

社会主义新天地 提交于 2019-12-04 06:06:26
Django 开发中的最佳实践之一 本文关注 Django 开发中调试的部分。 出自 Flask 项目 旗下的 Werkzeug debugger Werkzeug 这个词在德语里 好像 是工具的意思, 这里 有简要的介绍。和 Django runserver 提供的 50x 页面相比,最大的好处是在堆栈的每一层都可以打开 Python console。 选择下面列出的两种方法之一即可在你的 Django 项目中享受 werkzeug 带来的好处: https://github.com/philippbosch/django-werkzeug-debugger-runserver https://github.com/django-extensions/django-extensions/ 其实第一个方法就是从第二个大杂烩般的 Django Extensions 中单独摘取 werkzeug 出来。 如何设断点进行单步调试呢 通常调试命令行界面的 Python 程序,用 pdb 或者 ipdb 即可。如何在 Django 项目中使用呢? Django PDB 项目提供这样的集成。在 URL 的参数中加上一个 pdb(比如 http://localhost:8000/test?pdb)就会在对应的 view 的入口点设置断点。当代码执行到此断点时,在你运行 runserver

开始 markdown 之旅

≡放荡痞女 提交于 2019-12-03 23:02:57
<h1>相关插件</h1> <p>使用 markdown 也是写文本,所以少不了加一些编辑器的插件。因为我用 vim 比较多,所以首先会找 vim 的插件。网上搜了一下,找到了这个 <a href="https://github.com/plasticboy/vim-markdown">https://github.com/plasticboy/vim-markdown</a>。打算先用起来再说,以后有什么好的再换吧。还有一些文章讲如何在 vim 里编辑 markdown 然后在浏览器预览。感觉不是太必要,配置起来比较麻烦。如果真要实时预览,直接去一些在线的 markdown 编辑器就行了,比如 <a href="http://dillinger.io/">http://dillinger.io/</a> 和 <a href="http://notepag.es/">http://notepag.es/</a>。</p> <p>装个 Wordpress 的插件也很有必要,学以致用嘛。我装的是 WP-markdown,装完后发现这也是个能及时预览的插件。</p> <h1>Markdown 语法简介</h1> <p>虽然 markdown 已经很简单,但还是觉得没必要一下子把所有的语法全记住。而且也记不住全部,至少我是这样。就算记住了,一万年用不到的语法还是会忘。工作中的文档都是用