精华内容
下载资源
问答
  • 原标题:择适合自己的团队管理协助工具?Redmine Trello JIRA等 类似的团队管理工具不少 都可实现团队事务跟踪...而从近代学科分类来看,软件开发也属于“工程”这个领域(所谓的软件工程学科)。无论传统文化的经验说...

    原标题:择适合自己的团队管理协助工具?Redmine Trello JIRA等 类似的团队管理工具不少 都可实现团队事务

    跟踪、高效协作并快速处理任务开展讨论等基本功能。本期讨论围绕团队管理工具展开,聊聊你所用过的管理工具。工欲善其事,必先利其器

    幸或不幸,从中华文化传统看来,软件开发都落在“工”这个领域;而从近代学科分类来看,软件开发也属于“工程”这个领域(所谓的软件工程学科)。无论传统文化的经验说法“工欲善其事,必先利其器”,还是从现代软件工程学的理论,都强调工具在软件开发中的重要作用。同时,软件项目涉及的技术越来越广泛,需要多个开发人员同时参与。如同建筑学一样,软件产品将美学、人文等要求提到了和功能性要求同等重要的地位,让软件开发不再只是程序员的事情,而需多个工种协作来完成。

    因此,对于一个软件团队,当从一个人参与变为多人协作,由一个工种变为多方配合,团队管理协作的“器”就变得可能比开发工具的“器”更重要了。基于此,我们软件部门在工作时,都在不断尝试不同的工具。分享一下其中的部分工具使用经验,供大家参考。

    需求和文档 管理类

    Trello

    Trello是一个轻量级的团队协作工作,形式灵活,操作比较简便。其使用类似于在一个白板(Board)上把团队所要做的事情都列为ToDo、Doing、Done等列表形式来进行典型的PDCA式管理,并可对某一任务多人进行跟帖式讨论。当然这些列表都可以自定义,所以也可以用Trello来做任何类似于便签式的管理。我们部分队员就用它来做备忘录,利用其做权限控制,在团队间分享比如服务器IP、登录账号信息等。

    项目和时间管理类

    Redmine、Microsoft Project

    这两个是使用较多的项目管理工具。Microsoft Project更多地用于项目经理进行任务拆分(WBS),并在计算资源(包括人力)的分配和计算上功能更全,提供项目管理的视角更全;Redmine则适合在开发工作开始后整个团队自行进行任务进度管理和时间跟踪。

    Teamcola

    当开发人员面临同时处在多个项目或项目管理人员有很多杂事时,时间往往会被碎片化。对碎片化的时间,如果没有一个良好的时间跟踪管理工具,往往容易导致效率低下。同时,如果开发人员遇到一个困难点花费过多精力而负责人不能及时掌握并给予帮助,也会影响项目进度。Teamcola这个由国内团队开发的时间管理工具,能较好地解决时间问题,而其管理粒度为半小时,也不会过多增加管理成本。我们还定义了一个“杂项”事件(在半小时后做了很多事情)。如果你有很多杂项,那么要不就是你是老板,要不就是你的时间管理有问题。

    质量管理和事务/Bug管理类

    Redmine

    Redmine因其问题的字段齐全且可自定义字段,并可利用插件从csv文件中导入导出,同时其Web访问特性也很适合开发给用户提交问题,所以是使用较多的Bug追踪系统。当然其完全免费,也是一个重要考虑因素。

    Git/GitLab

    Git作为一个分布式代码管理工具,当我们经常在家写代码,而公司的代码服务器被配置为局域网访问,Git以其支持离线代码管理的功能逐渐替代SVN成为团队的代码管理工具。当然众多开源项目从SoureForge搬家到GitHub,也是开发团队必须掌握Git这个代码控制的一个重要理由。另外,GitLab本身自带简单的问题跟踪以及Wiki系统,在小型项目可替代Redmine。

    工为器所累

    大家也看出来了,工具太多了!在我们的团队使用过程中,也发现了这个问题,有队员表示“每天处理事情的系统越来越多了”、“找个合体的吧”。工具太多,使用不当,工具的使用成本可能大于其提升的效率。最大的问题是工具间太独立,不具有单点登录功能。想想开始工作前,要在N个工具中输入可能不同的账户名和密码,就是一件头疼的事。因此,目前这些工具需要接入第三方且统一的用户系统的功能。

    器为工所用

    不想为“器”所累,在实际工作中根据不同的项目特性,推荐采用不同的工具和工作方式,取“器”之神而不在其形。比如对小型移动App的开发,功能需求单一,开发周期不长,维护周期也较短,采用Excel来做WBS拆分和管理以及Bug跟踪已经足够。另外,在需求沟通和Bug跟踪时,往往需要用户参与,而让用户去学习诸如Trello、Redmine显然行不通。这时,我们会直接选用QQ来进行需求沟通。通常,我们会建立一个群(对长期的项目)或者一个讨论组(对于短期项目),把相关的人员都加入其中。QQ的即时信息、语音、截屏、文件传送甚至远程桌面等功能,让其在我们的开发过程中成为一个重要的协调工具。

    作者简介:熊兵 摩博科技CTO

    本文来自:《程序员》电子刊2014年第4期

    欢迎各位技术领军人加入CTO俱乐部,与14000名+实名制、中高级技术管理者做朋友。 【官网申请】【上传名片快捷加入】

    CTO俱乐部是目前国内最有影响力、规模最大的技术管理者分享与交流平台,由全球最大中文IT社区CSDN创办。CTO俱乐部实行会员免费申请、实名认证的加入机制。自2009年创办以来,已有注册会员14000余名,覆盖国内数千家IT公司和各行业企业研发部门的CTO、技术副总裁、首席架构师、技术总监、工程总监等高级技术管理者。

    本文为CSDN原创文章,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)返回搜狐,查看更多

    责任编辑:

    展开全文
  • 使用开源软件,了解开源思想,融入开源生态 如果你想做个程序员相关论坛,请三思 你怎么看待社群、社区这两个词? UGC 社区价值生态 鸣谢 Sym 诞生离不开以下开源项目: jQuery:前端 JavaScript 工具...
  • LVM 逻辑卷管理器

    2014-07-19 12:26:16
    LVM:Logical Volumn Manager逻辑卷管理器,一种开源软件,它有2个版本——lvm,lvm2.目前我们常用是lvm2版本,而lvm本质是使用dm(device mapper)模块来实现将一个或多个底层块设备组织成一个逻辑设备工具物理卷...

    LVM:Logical Volumn Manager逻辑卷管理器,一种开源软件,它有2个版本——lvm,lvm2.目前我们常用的是lvm2版本,而lvm本质是使用dmdevice mapper)模块来实现将一个或多个底层块设备组织成一个逻辑设备的工具

     

    物理卷-简称PV
    物理卷在逻辑卷管理器中属于最底层的,任何的逻辑卷和卷组都必需依靠物理卷来建立,物理卷可以是一个完整的硬盘,也可以是硬盘中的莫一个分区
    2
    卷组-简称VG
    卷组是建立在物理卷之上,一个卷组中可以包含一个物理卷组或者多个物理卷
    3
    逻辑卷-简称LV
    逻辑卷是建立在卷组之上的,卷组中的空间可以建立多个逻辑卷,并且逻辑卷可以随意从卷组的空闲空间中增减,逻辑卷可以属于一个卷组,也可以属于不同的多个卷组
    4
    物理区域-简称PE
    物理区域是物理卷中最小的可分配储存单元,LVM命令在物理卷上创建的最小LVM寻址单元,在创建物理卷时可以指定物理分区的大小,默认值是4M,简称pe

    wKioL1PJTmGRlUdLAACM7_U4m6o286.jpg

     

     

    存储空间边界:

                                物理边界:

                                逻辑边界

     

    逻辑卷lv的扩展和缩减:

                                扩展:先扩展物理然后扩展逻辑卷

                                缩减:先缩减逻辑卷然后缩减物理卷

                                         缩减时要注意,不要缩到比里面所存储数据大小还小,会造成数据丢失

     

                      

             LVM

                      

                      pv--> vg --> lv各自的用法

     

                                pv:

                                         pvcreate,pvs, pvdisplay, pvremove, pvmove, pvscan

                                vg:

                                         vgcreate,vgs, vgdisplay, vgremove, vgextend, vgreduce, vgscan

                                lv:

                                         lvcreate,lvs, lvdisplay, lvremove, lvextend, lvreduce, lvscan

    例如:创建一个10G的逻辑卷。

    首先在sdb盘中新建2个分区4G+6G

    wKiom1PJTVyCzmeDAAJbiy6fpn8027.jpg

    接下来把sdb1sdb2做成物理卷

    wKiom1PJTK7xu7IdAAAft7oW0Zc536.jpg

    创建好pv后,我们看一下建好的

    wKioL1PJTbTBp6pAAABuyhtuha4205.jpg

    创建vg

    wKiom1PJTMPy0lUDAACEQWtUB7c624.jpg

    把另一块vg加进来

    wKioL1PJTfzj70feAACWb4CSKcI500.jpg

    创建10Glv

    wKiom1PJTPXTtPdhAADRw07dh8c070.jpg

             lv的访问路径:

                 1/dev/VG_NAME/LV_NAME

                     /dev/myvg/mylv

     

                 2/dev/mapper/VG_NAME-LV_NAME

                  /dev/mapper/myvg-mylv

     

             此两者均为符号链接,指向的文件为/dev/dm-#

     

     

     

             缩减很危险!!!!

                       缩减要离线

                       1、先确定缩减后的目标大小;并确保对应的目标逻辑卷大小中有足够的空间可容纳原有所有数据;

                       2、先制裁文件系统,并要执行强制检测

                                e2fsck -f

                       3、缩减逻辑边界

                                resize2fs DEVICE

                       4、缩减物理边界

                                lvreduce

     

                               

    快照:snapshot:说到快照可能大家会想系统的一键还原,快照和数据备份有点类似但不同,它类似于我们照相,在最短的时间内给数据照个相。我们对逻辑卷做快照卷,这个快照卷刚创建成后,里面是没有任何数据的,它其实是原数据的另一个另一个访问入口。只有当原数据改变时,它就会把即将改变的数据的没改变之前的那部分数据cp到它的盘中。

     

             创建快照卷:

                       lvcreate

                                -L

                                -n

                                -s

                                -p r

     

                       注意:快照卷是对某逻辑卷进行的,因此必须跟目标逻辑卷在同一个卷组中;无须指明卷组;


    转载于:https://blog.51cto.com/tliss/1440172

    展开全文
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,...
  • 编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建...
  • RPM包管理(1)

    2015-11-09 17:20:55
    RPM是一个非常优秀的软件管理程序,现在已经是Linux的软件管理的一个标准,有很多知名Linux发行版都采用了此管理器(RedHat、SUSE)。除了RPM外还有很知名的Deb管理器,是属于Debian系使用的,功能也是十分强大...

       RPM全称是Redhat Package Manager,是由RedHat公司开发出来的、用于管理Linux软件的一款开源软件。RPM是一个非常优秀的软件管理程序,现在已经是Linux的软件管理的一个标准,有很多知名Linux发行版都采用了此管理器(RedHat、SUSE)。除了RPM外还有很知名的Deb管理器,是属于Debian系使用的,功能也是十分强大(不过国内大多数工作平台都是RedHat系的,所以我们只谈谈RPM)。

       我们知道程序的运行需要针对平台进行编译,所谓编译就是将一个文本程序(人类能看懂的)转换为二进制代码(计算机能看懂的)。在编译的时候,会生成很多文件(程序二进制文件,依赖的库文件,头文件,配置文件等等等)。如果不合理的管理,会导致你的系统乱糟糟的(你总不希望自己在一个猪窝睡觉吧?)。而且,由于编译是一个相对比较繁琐(对于普通用户来讲可能是一个根本不可能完成的艰巨任务),所以为了让用户更方便的使用计算机安装软件,就开发出来了各种软件管理工具,实现软件的便捷操作。

       继续谈RPM:RPM就是上面提到用来管理软件的工具之一。RPM并不是一个编译器,它是将一个已经编译好的二进制的程序打包起来,然后对其进行一个统一标准的结构化管理(比如说声明这个文件的安装目录,库文件,头文件,所依赖的其他软件有哪些等等等等),安装完毕后RPM会将这个软件的安装信息记录在自己的数据库中,便于日后进行管理。既然RPM是将已经编译好的二进制程序打包,那么就说明这个RPM是具有平台依赖性的(比如 我在x86平台上编译的软件,是无法在Power平台上运行的,而且我在64位平台上编译的,是没法放在32位平台上使用的),所以难免会有些平台限制,如果一个程序没有在你这种平台编译过并打包成RPM,那你是无法用RPM的,只能自己安装了。

       顺便简单的讲一下,为什么X86编译的软件无法在Power平台上运行,以及平台位数是什么。简单讲就是平台不一样,你是中国人,用中文去是没法和外国人对话的是吧?我们的平台也是一样的,不同平台有不同的语言,X86平台有X86的语言,Power有Power的语音,当你把一个程序在X86平台上编译(翻译成X86能懂的语言),再将这个程序放到Power必然是不可行的(毕竟 翻译成了X86的语言,而我只会Power语言,你这是对牛弹琴)。至于平台/操作系统位数,现在常见的有64bit和32bit,这个bit是地址/数据总线的宽度(内存是一个寻址的空间,CPU的数据都来自于内存,地址总线是CPU用来标识内存地址的,每个地址都有一个标识符,按数学逻辑来讲,如果CPU的地址总线为32bit那么它可标记的空间就有2的32次方,所以32bit的内存最大只能是4G)。其实在32bit编译出来的软件是可以在64bit下跑的(高级向下级兼容,是一个包含关系,因为64就包含了32~~),相反64bit编译出来的软件则无法在32bit上面运行(下级是没法包含上级的,32总不能包含64吧)。

       又跑题了,继续RPM。。。(其实关于编译等等的还有很多知识,由于我也不懂唉,所以只能写到这里,现在努力看书中,以后尽量写出更详细的博文!^_^)

       rpm安装的过程比较简单,按照rpm包的内容执行安装即可。rpm包除了二进制程序外,还应该包含一些脚本,用于安装的额外操作:pre:安装前执行 | post:安装完执行 | preun:卸载前执行 | postun:卸载后执行。了解即可,详细各位可以看一下rpm包制作教程。

       不过rpm有一个缺点,就是依赖性。当然这并不关rpm什么事,它只是像运维一样背了个锅~~而yum则是用来解救它的。Linux系统有一条基本原则是“程序功能单一,组合小程序完成复杂任务”,所以Linux的软件通常都很小,但是正因为这个原则,所以每个程序的功能都很单一,当需要一些其他功能的时候,就需要安装其他程序来提供它所依赖的功能,这就是所谓的程序间依赖性,你很有可能会遇到这样的问题,a依赖b,b依赖c,c依赖d,d依赖a,然后就进入了一个循环,即使没有循环,它的依赖性也让人头疼。所以后来又研发了yum,yum就是专门用来解决rpm包的依赖性,它依据rpm依赖库说明,自己解决依赖关系,需要哪个软件就会自动安装,非常方便。不过这个软件需要你先学会rpm咯!

       由于RPM对平台的限制,所以命名是很有讲究的。即使你不做RPM包,也要了解一下他的基本命名规则(要不然你花了好半天劲下了一个RPM包却没法在你这个平台使,那你一定会崩溃掉的!)。

    我们以httpd这个软件的命名说一下吧:httpd-2.2.15-47.el6.centos.x86_64.rpm
    翻译出来意思就是:软件名-主版本号.次版本号.源码发行号-包发行号.编译时的操作系统平台.编译时的操作系统名.硬件平台.rpm标识符
      1) 软件名:就是软件的名字,没其他意义。
      2) 主版本号:开发此软件的主要的代号,一般有比较重大的升级会更新这个。
      3) 次版本号:一些日常的升级更新这个号。
      4) 源码发行号:补一些小bug就更新这个号。
      5) 包发行号:这个包发行了多少次。
      6) 编译时的操作系统平台:适用于哪种操作系统的那个平台。这里el6就是Enterprise linux的意思。当然结合后面的CentOS
      7) 操作系统平台:适用于哪个操作系统,这里为CentOS
      8) 硬件平台:这里为x86_64
      9) 标识:标识这是一个rpm包


       了解了rpm的命名规则,我们就可以安装rpm包了。不过要想安装rpm,得先会使rpm这个工具。看一下rpm命令的使用格式:

    # rpm [options] PackageName...   很简单,rpm命令+选项+包名就可以了,至于格式与选项我们还可以细分一下:
     1.安装:
       rpm {-i|--install} [install-options] PACKAGE_FILE ...
            -h      :显示安装进度
            -v      :显示安装过程
            --test  :测试能否安装
            --force :强制安装(避免冲突)
            --nodeps:忽略依赖关系
            --replacepkgs:重新安装rpm包
            -vv:更多的信息
     2.卸载:
       rpm {-e|--erase} [--nodeps] [--noscripts] PACKAGE_NAME ...
            -v      :显示卸载过程
            --test  :测试能否卸载
            --force :强制安装(避免冲突)
            --nodeps:忽略依赖关系
     3.查询:
       rpm -q[options] PACKAGE_NAME ...
            p:未安装的软件信息
            a:查询所有安装的软件
            i:查看软件信息 
            l:安装后生成的文件
            f:查看文件是哪个安装包生成的
            c:列出配置文件
            d:文档
            --scripts:查看脚本文件
     4.升级(如果没有老版本,就安装):
       rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
            -h      :显示升级进度
            -v      :显示升级过程
     5.更新(如果没有老版本,则不执行):
       rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
            -h      :显示升级进度
            -v      :显示升级过程
     6.数据库管理:#/var/lib/rpm
       rpm --rebuilddb #重建
       rpm --initdb     #初始化
     7.校验:
         rpm {-V|--verify} [select-options] [verify-options]  #对包进行校验
          rpm --import PUBKEY ...   #导入公钥
          rpm {-K|--checksig} [--nosignature] [--nodigest]PACKAGE_FILE ...   #对包内文件进行校验

     操作篇请看RPM包管理(2)

    转载于:https://blog.51cto.com/minux/1711103

    展开全文
  • SourceSafe长得很象早先土气文件管理器,的确难看。但是难看不碍事,SourceSafe优点可以用8个字来概括“简单易用,一学就会”,这个优点是它老妈Microsoft遗传下来,是天生。虽然SourceSafe并不是免费,...
  • FYCMS是一款具有强大功能基于ASP语言的开源内容管理软件,有UTF-8和GB2312两个编码版本,支持ACCESS和MSSQL两种数据库。FYCMS是一款完全开源的程序,都毫无保留完全开放源代码,用户不需额外安装其他DLL组件,...
  • FYCMS是一款具有强大功能基于ASP语言的开源内容管理软件,有UTF-8和GB2312两个编码版本,支持ACCESS和MSSQL两种数据库。FYCMS是一款完全开源的程序,都毫无保留完全开放源代码,用户不需额外安装其他DLL组件,...
  • ACTCMS是一款具有强大功能基于ASP语言的开源内容管理软件,有UTF-8和GB2132两个编码版本,支持ACCESS和MSSQL两种数据库。ACTCMS是一款完全开源的程序,都毫无保留完全开放源代码,用户不需额外安装其他DLL组件...
  • ACTCMS是一款具有强大功能基于ASP语言的开源内容管理软件,有UTF-8和GB2312两个编码版本,支持ACCESS和MSSQL两种数据库。ACTCMS是一款完全开源的程序,都毫无保留完全开放源代码,用户不需额外安装其他DLL组件...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 128
精华内容 51
关键字:

属于开源软件的软件管理器