阅读更多
禅道是一款优秀的国产开源项目管理软件,它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款功能完备的项目管理软件,完美地覆盖了项目管理的核心流程。

禅道项目在 2013年度中国优秀开源项目评选 ”中获得较高票数,并被专家评审团评为“2013年度中国优秀开源项目”。

本期我们采访了禅道项目创始人王春生,请他来详细介绍禅道项目的由来、发展等方面的情况。

先做个自我介绍吧! Top

大家好,我叫王春生,2001年毕业于北京师范大学。我的主修专业是汉语言文学,听了一学期课之后感觉特别无聊,正好学校开设计算机课程,就迷上了计算机,然后就自学,玩各种软件。那时候非常有幸认识了几位非常有黑客精神的老师,在他们的指引下接触了Linux、开源,并开始玩各种各样的开源软件。我毕业后在很多家公司工作过,所从事的基本上都是互联网行业。做过老本行的编辑,兼职做过销售,后来转向开发,并开始带项目。我于2006年加入阿里巴巴,并先后在雅虎中国、阿里妈妈和淘宝工作过,主要负责后端引擎自动化测试工作。

我个人的成长受开源思想和软件影响颇深,所以也先后做了几款开源软件。2004年到2007年,我作为主要开发者开发维护了 BugFree;2006年作为项目leader主持开发了ECShop1.0版本;2009年初启动禅道项目;2010年正式开始创业,全职从事禅道开源软件的开发。

禅道是一个什么样的项目?提供了哪些功能? Top

禅道(www.zentao.net)是一款项目管理软件,它可以有效地把研发项目过程中涉及的方方面面元素、流程有效地跟踪管理起来。软件研发项目有自己的特殊性,有产品、研发和测试三种角色的互动,涉及的基本元素有需求、任务和缺陷。禅道软件可以把这三种角色、三种基本元素之间的过程跟踪和流转有效地跟踪管理起来。



禅道从功能上来讲,可以分为三个大部分:产品、项目和测试。其中产品层面是给产品经理使用的,涉及需求的管理、计划的制定,版本的发布和路线图等功能。项目层面是给研发团队使用的,涉及项目的计划、任务、版本等功能。测试是给测试团队使用的,主要涉及测试用例、测试计划和和缺陷跟踪管理。

和其他的软件相比,禅道是一个过程的协同跟踪管理软件,或者简单说,其他很多软件是给领导做计划用的,禅道是给干活的研发团队用的。

当初为什么会想到做一个开源的项目管理软件?为什么取名为“禅道”? Top

我在阿里巴巴工作的三年里面,因为职位的特殊性,需要同时参与多个项目。三年下来,感觉做得很累,压力很大,很多项目最终也不了了之。然后我就思考,找原因。原因有很多,有高层的战略问题,有研发团队的问题,等等。然后我就想自己可以提供什么样的解决方案,想来想去,我觉得自己可以在工具的支撑方面提供帮助。

当时,我们的项目管理最开始时是用Sharepoint + Excel(一个共享文件,大家来编辑),后来用Sharepoint + BugFree + XPlanner。产品经理需求整理到Sharepoint中,然后项目计划用XPlanner,测试跟踪用BugFree。不胜其烦,信息需要在各个系统中手工同步更新关联,非常糟糕。当时我曾经提出到过程改进部门工作,来做内部的支撑工具。但由于种种原因,未能如愿。后来就带着这个想法,开始了禅道这个开源的项目管理软件的开发。

禅道这个名字是我在读《编程之道》和《编程之禅》这两本书时受到的启发,然后就老实不客气地把中国文化中最难解释的两个字当成了我们软件的名字。从深层次讲,也是有我们的一些诉求,其实项目管理也很简单,只要我们抓住本质的东西就可以了。我们往往太多关注表面的东西了,忽略了真正的管理之道、管理之禅!

禅道项目有哪些创新点? Top

禅道的主要创新点在于集成的项目管理,在一个软件里面把研发项目的完整过程做到有效跟踪和覆盖。开源的项目管理软件有很多,比如Dotproject、Redmine、Trac,还有其他很多的缺陷跟踪软件,比如Mantis、Testlink、BugFree等等。这些软件功能都太单一,更多的是基于事务管理的:一个issue打上feature、task或者bug的标签,缺少严谨的管理思想和过程的跟踪。



禅道的扩展机制也是一个很重要的特点,我们自己写了一套框架,然后在这套框架基础上实现了完整彻底的扩展机制。大家知道有很多的开源软件都有扩展机制,但这些往往都是基于事件或者钩子机制,只能在原来的基础上做局部的改动。禅道软件的扩展机制借助于PHP语言动态解释执行的特点,通过面向对象的继承和覆盖,实现了完整彻底的扩展机制。这样来说会更容易理解,通过扩展机制,可以把禅道改成与它本身完全不一样的东西。

讲讲禅道从立项到发布首个版本之间的故事吧。有什么让你印象深刻的事情? Top

禅道项目正式启动是2009年初,春节过后。当时花了很久的时间在做整体功能、技术架构和商务模式方面的设计,当时整理了一个脑图文件(现在基本上还在按照这个脑图文件在走)。印象比较深刻的是我的一个朋友说要做禅道软件的第一个用户,然后我们就用最短的时间发布了0.01 alpha版本。但是那个朋友也从来没有用过,哈哈。得到的启示就是,国人太忙,朋友的承诺不要太当真,靠人不如靠己。

介绍一下禅道项目的架构。它的设计理念是什么? Top

禅道项目是公司内部的管理软件,对性能、并发要求并不是很高。所以我们在做技术架构的时候,更多考虑的是代码的可维护性以及用户扩展的方便性。因此我们在发布禅道软件之前,先花了半年的时间做了我们自己的zentaophp框架。这个框架也是典型的MVC结构,它主要的特点就是简单、合理。大家有兴趣可以关注下:devel.zentao.net

就像前面所讲,我们开发这个框架,一方面是为了控制自己项目的进度(不可能依赖于第三方的框架,受制于人),另外一方面就是扩展机制。禅道的扩展机制都是靠这个框架来实现的,禅道软件的商务模式也是基于这套扩展机制的。

禅道使用了哪些技术来实现?选择这些技术的理由是什么? Top

禅道软件使用的开发语言是PHP,数据库是MySQL,WebServer没有特定要求,Apache、nginx、IIS都可以使用。

选择PHP,是因为一直在用PHP,它简单、开发效率高、跨平台、解释执行、功能丰富、表现力强。选择Apache和MySQL,也主要是因为它们是跨平台的,安装维护都非常的简单(Apache和MySQL运行环境可以精简为只需要几个核心文件)

前端的我们采用了jQuery作为JS框架,还有很多第三方的前端扩展,比如自动提示、树状列表之类的。

开发项目管理系统的难点是什么?开发过程中,你们遇到了哪些困难?是如何解决的? Top

开发项目管理系统的难点在于跨界,你需要知道项目管理的各个流程,懂得项目管理的方法和理论,同时还需要你把它提炼成通用的需求,然后用技术合理的实现出来。

这中间涉及到太多的取舍和平衡。比如权限的控制,太松和太严都不好;比如各种涉及流程控制的字段,多了,使用麻烦,少了,跟踪和管理就弱了。所以更多的是在这些方面纠结,找到比较合适的解决方案。

开发过程中难点不多,技术层面的问题都是可以解决的,解决不了还可以绕。

禅道项目已经诞生4年了,讲讲这期间的发展情况吧。 Top

2009年是起步期,这段时间我是业余时间在做,主要完善框架,完成了核心的功能。

2010年正式创业,成立公司,专职来做这件事情。版本发布到1.x,核心功能已经基本完备,有了自己的小团队,用户群初步形成。

2011年是比较关键的一年,这一年里面我们得到了朋友的帮助,加速了发展,核心团队也初步形成,产品功能进一步完善。

2012年我们正式推出专业版本,开始尝试商业路线,并取得了预想中的结果,2012年下半年开始有盈利。

2013年产品已经发布到了5.0版本,团队也进一步壮大,收入一直比较稳定。

禅道开发团队目前有多少人?你们是如何分工和协作的? Top

我们团队现在有12个人。我主要负责产品方面的工作,还有3位同事负责研发,1位同事负责前端交互(最近刚刚加盟),1位做技术支持,1位做商务销售,1位做运营策划,1位做财务,还有1位帮我们做设计工作。

还有2位同事,在做我们的新产品——蝉知企业门户系统(www.chanzhi.org),这也是个开源软件,主要帮助企业快速搭建企业营销门户。

据你所知,禅道目前有多少用户? Top

我们得不到确切的用户数字,初步估计应该有几万家公司或者团队在使用禅道做项目跟踪。这其中有很小的创业团队,也有很大的集团公司,有软件公司,也有知名的互联网企业。有游戏公司,也有软硬结合的公司。还有很多军队和学校的单位也都在使用禅道做项目管理。

禅道目前有开源版本,也有专业版,在特性选择上,哪些特性会进入专业版,哪些会进入开源版,你们的标准是什么? Top

主要的标准是看功能的通用性,如果是每个企业都可能会用到的功能,我们会优先考虑放在开源版本中。专业版本更多的提供的一些增强的功能,比如更多的统计、更多的任务查看方式等等。

我们之前专业版本有批量添加、编辑的功能,后来我们觉得这个大家都需要,我们就把批量操作功能模块放到了开源版本中。我们不会为了推销我们的收费版本而故意在开源版本中做很多的功能限制,那样是不道德的。

其实开源版本的功能已经足够丰富和完善了,以至于我们销售最大的对手就是我们自己,哈哈。很多用户试用了开源版和专业版,说开源版足够了。

禅道目前的盈利模式是什么?在开源项目商业化上,你们有哪些经验可以分享? Top

其实所有的盈利模式核心都是用户数。没有用户,再好的模式也没有用。简单来说就是通过为用户提供开源的、免费的、专业的项目管理软件,并为他们提供及时有效的支持,获得大量的用户,然后再通过增值的功能或者服务来收费。这就是禅道的模式。禅道的收入有专业版本的授权、培训、在线托管、定制开发、插件销售等多种渠道。

开源项目商业化不容易,有一些体会和开源的同行分享:

  • 产品的选型很重要。国内开源的朋友大部分做的都是框架之类的东西,但其实你想想,框架的使用者是开发者,而赚开发者的钱太难了。企业也不会为了一个框架的技术支持或者培训买单,很难。应用类的开源软件就比较好,因为用户可以实实在在地感受到你的软件给他带来的价值。
  • 最好是专职来做。兼职来做,更多的是兴趣,想来做商业化,确实还是需要成立公司,专职来做。别的不说,人家买你东西,要开发票,你兼职来做,怎么办呢?成立公司,人家也会觉得你的产品有保障,可以持续下去。
  • 做开源软件很不容易,不是单单把软件开源出来就可以了。要整理文档,回答问题,要做宣传推广,要坚持更新版本。我们自己的体会,这些工作差不多占到了一半左右的时间。也就是我们一半时间开发软件,一半时间在做周边的这些支持工作。
  • 考虑问题的角度很重要。搞开源的,都是技术的高手,考虑问题更多从技术层面考虑。但真正做产品,需要我们转变考虑问题的角度,更多地站在用户的角度来考虑。比如我们最开始配置发信功能,是通过配置文件来设置的。后来发现大家对smtp端口、发信账户这些都搞不懂。就逼着我们简化配置,最后我们就简化为只需要用户输入一个邮箱地址,各种参数就可以自动计算出来。用户使用也方便,也减少了我们大量的支持工作。

禅道还推出了一个开放平台,这个开放平台的目的是什么? Top

开放平台和禅道的插件机制是有直接关系的。禅道的用户可以按照禅道的扩展机制对禅道的功能进行修改或者定制以满足个性化的需要。当某个用户做完了某个功能,发现这个功能其他人也可能需要,他可以把插件代码打包成一个zip文件,发布到我们的开放平台上面了,这样其他用户就可以在禅道软件的插件管理中心中浏览到这个插件,然后可以在线自动安装、禁用、卸载或者升级,非常方便。

做这个开放平台,也是受Wordpress和Drupal的启发。它们的社区有成千上万的插件功能,形成了一个生机勃勃的生态体系,也奠定了它们在这个领域的领先地位。我们做这个开放平台,除了方便大家分享交流插件之外,也是想吸引第三方的朋友来分享插件,可以是开源的,也可以是收费的。

简单介绍一下开放平台目前的情况。如何实现与开发者共赢? Top

开放平台目前有四十多个插件,来自第三方的插件大概能占到1/3。

和开发者利益分享这块我们是这样处理的——开发者可以把他开发的插件发布上来,然后标价出售,如果有用户购买的话,他可以获得70%的分成,平台占30%。

但开放平台也存在一些问题,主要是有时间且有能力开发禅道插件又可以和大家分享的开发者太少了。很多插件也没有及时随禅道最新版本升级。这是中国的开发者现状吧,没有办法,只能慢慢来。

禅道项目今后的发展规划是什么? Top

禅道计划有两条线,一个是前面和大家介绍的我们新的项目蝉知企业门户,这个主要是解决企业对外营销的问题。另外就是对禅道的交互做进一步的优化和加强。专业版本的功能进一步完善和丰富。我们的愿景:管公司,用禅道;做营销,用蝉知!
  • 大小: 140.7 KB
  • 大小: 33.2 KB
  • 大小: 15.3 KB
  • 大小: 7.2 KB


评论 共 16 条
16 楼 fanhuirui66 2017-07-21 09:44
wwccss4sb网友的评论,应该也不是恶意毁谤竞争对手,个人觉得禅道官方不应该针对他发表这么犀利的评论,有失风度,你们公司这么大这么强,不应该这么小家子气。
15 楼 wwccss 2015-03-03 07:56
wwccss4sb 写道
禅道号称自己是开源,实际上稍微有用点的功能就是加密收费的(还不便宜,比如做项目基本的版本控制功能,国外人家开源的redmine(他自己上面的问答里也提到了)都是直接集成的,他们那个插件居然恬不知耻的卖大几百!),哪有这样的开源?

而且由于其精力有限,这几年靠这个程序可能也忽悠了一些企业交钱,所以这个人非常狂妄没有耐心,我都买了你的产品了,我使用的过程中发现了BUG告诉你,你就算不想改也好歹应付一下吧,他们的回答竟然是:“任何产品都会有BUG! 天!这个“公司”真是牛气冲天啊,想必微软出了BUG都不敢这样应对用户吧!!!总之使用禅道和跟他们打交道的过程中,真的是让我大开眼界了。

我就很好奇,百度了一番才发现禅道这个公司就是个皮包公司,没有什么实力的,他们的服务和技术根本无法跟上企业的要求,大家可以看看,基本上就是这个叫王春生自己在开发在宣传在维护,不论是其官方网站上的帖子,还是这种宣传贴,还是这下面的回复,或者其官方群里的日常管理,基本上就他自己一个人自编自导自演!

而且最最奇葩的是,其官网上居然有一篇教训用户专用的什么什么提问的智慧,意思是用户还不能问傻问题,问得不合他胃口,他还要发脾气!太奇葩了,你要是个什么巨头,店大欺客也就算了,禅道在企业管理软件市场里才几斤几两,真是把自己太当回事了。

最后,喷了这么多,我不得不很佩服这个人,真的是个“人才”啊!大家勿怪,有兴趣的可自行百度搜索或者用他们的产品或者跟他们打交道验证我有半点冤枉他们没有。



1. 你可以比较我们开源版本有而redmine没有的功能。保证完爆你所说的redmine。
2. 不知道你所说的bug具体是什么?这样空泛的说,没有什么意义。管理软件有很多是流程和方法方面的区别,我们有自己的设计思路。不会因为你掏了钱,就一定按照你说的修改。你不喜欢,不接受,退钱给你就是。

3. 我们是皮包公司,我们是靠忽悠,那我给说下我们忽悠的成果吧:

   我们是皮包公司,国内已经有几万家公司,每天几十万工程师使用禅道。
   我们是皮包公司,国内一线互联网公司几乎都有部门在使用禅道
   我们是皮包公司,国内有多家银行公司采购我们的软件和服务。  
   我们是皮包公司,国内多家安全行业的巨头采购我们的软件。
   我们是皮包公司,国内多家制造行业的巨头采购我们的软件。  

  你这种自己yy的高潮的人,继续高潮吧。

4. 我们群里面有专职的客服和技术支持,呵呵,你只是眼瞎出了问题,看不到而已。
   文档性的东西都是我整理的,这有什么问题?

5. 提问的智慧其实就是写给你这种人看的。粗俗,没有礼貌,技术又烂,人品又极其龌龊。

中国总是不缺少这种垃圾。
14 楼 wwccss4sb 2015-01-24 22:34
禅道号称自己是开源,实际上稍微有用点的功能就是加密收费的(还不便宜,比如做项目基本的版本控制功能,国外人家开源的redmine(他自己上面的问答里也提到了)都是直接集成的,他们那个插件居然恬不知耻的卖大几百!),哪有这样的开源?

而且由于其精力有限,这几年靠这个程序可能也忽悠了一些企业交钱,所以这个人非常狂妄没有耐心,我都买了你的产品了,我使用的过程中发现了BUG告诉你,你就算不想改也好歹应付一下吧,他们的回答竟然是:“任何产品都会有BUG! 天!这个“公司”真是牛气冲天啊,想必微软出了BUG都不敢这样应对用户吧!!!总之使用禅道和跟他们打交道的过程中,真的是让我大开眼界了。

我就很好奇,百度了一番才发现禅道这个公司就是个皮包公司,没有什么实力的,他们的服务和技术根本无法跟上企业的要求,大家可以看看,基本上就是这个叫王春生自己在开发在宣传在维护,不论是其官方网站上的帖子,还是这种宣传贴,还是这下面的回复,或者其官方群里的日常管理,基本上就他自己一个人自编自导自演!

而且最最奇葩的是,其官网上居然有一篇教训用户专用的什么什么提问的智慧,意思是用户还不能问傻问题,问得不合他胃口,他还要发脾气!太奇葩了,你要是个什么巨头,店大欺客也就算了,禅道在企业管理软件市场里才几斤几两,真是把自己太当回事了。

最后,喷了这么多,我不得不很佩服这个人,真的是个“人才”啊!大家勿怪,有兴趣的可自行百度搜索或者用他们的产品或者跟他们打交道验证我有半点冤枉他们没有。
13 楼 lrg30067 2014-09-29 22:33
mark一下
12 楼 aslijiasheng 2014-02-07 10:48
如果有使用教程的话,那就更好一些了
11 楼 wwccss 2013-12-25 17:28
xuanye 写道
其他还好 ,就是数据量一大 太慢

你可以改下zentao/config/my.php,把里面的localhost改成127.0.0.1试试。
现在windows的新版本都默认不提供localhost的解析了。链接数据库的时候,mysql会有一个机器名的反向解析,会有一个延迟。
10 楼 xuanye 2013-12-25 10:35
其他还好 ,就是数据量一大 太慢
9 楼 技术改变世界 2013-12-05 14:08
使用过禅道,适合敏捷开发,非常感谢王老师以及他的开源团队的分享,个人感觉要整个团队每个角色都要使用才能发挥这个系统的作用,开始使用感觉是麻烦不如EXCEL方便,但是随着迭代的不断增加,越来越发现还是禅道给力!
8 楼 pythoncnok 2013-11-05 14:14
没有用过,以后用用!
7 楼 TimePower 2013-10-22 18:54
以前春生老师来过我们学校~也跟春生老师交流过~很好的一个人~~
6 楼 camaelye 2013-10-03 21:29
禅道还有很多需要改,用了一段时间,还是转到其它的了。
5 楼 ray_linn 2013-09-16 12:43
感觉楼主Share Point没用透。
4 楼 simonhoo 2013-09-15 21:21
非常不错的一款项目管理工具,我都用了三年了。
3 楼 xmarsx 2013-09-13 16:44
有跟eclipse的mylyn的集成的功能吗?
2 楼 babay 2013-09-13 16:13
学法律的女朋友一样一样的,只能开关机
1 楼 cywhoyi 2013-09-13 15:54
我女朋友中文系的,跟你是一脉相连,苦逼的是让她重装系统都不会

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 嵌入式Linux移植驱动及应用开发Cortex-A9 FS4412部分

    嵌入式Linux移植驱动及应用开发Cortex-A9 FS4412部分,华清远见高清。

  • Leetcode 322. 零钱兑换——DP问题总结————重复书写硬币问题

    给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每种硬币的数量是无限的。 原题地址:零钱兑换 或直转到:https://leetcode-cn.com/problems/coin-change/ 由于直接上动态规划中等难度的题我有点晕,这直接借鉴一下知乎大佬的文章,并加入自己的理解。 先上代码 int min(int a, int b) { return a &lt.

  • 23 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。

    j++) { // 遍历背包。所以dp[j] 要取所有 dp[j - coins[i]] + 1 中最小的。即dp[j - coins[i]] + 1就是dp[j]// 如果dp[j - coins[i]]是初始值则跳过。凑足总额为j - coins[i]的最少个数为。那么只需要加上一个钱币coins[i](考虑coins[i])

  • 微软常用运行库合集 2023.03.03

    windows程序运行环境依赖包

  • 动态规划11-给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所有组合数。

    /描述:给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所有组合数。cout

  • Java String endsWith() 方法

    Java有一组可以用于字符串的内置方法。Java 字符串(String)操作常用操作,如字符串的替换、删除、截取、赋值、连接、比较、查找、分割等。本文主要介绍Java String endsWith() 方法。 原文地址:Java String endsWith() 方法 ...

  • LeetCode-322-零钱兑换

    硬币兑换 来源LeetCode, 题目地址<https://leetcode-cn.com/problems/coin-change/> 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 暴力递归(回溯) 每一种硬币都有选择和不选两种情况,因此最简单的...

  • java中 string的endwith_Java String endsWith()用法及代码示例

    Java字符串endsWith()方法检查字符串是否以指定的后缀结尾。此方法返回布尔值true或false。签名:public boolean endsWith(String suff)参数:suff- specified suffix part返回:true or false例:展示endsWith()方法的用法原理// Java program to demonstrate// working...

  • LeetCode - 322. 零钱兑换

    322. 零钱兑换 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 解题思路: 此题有两种解法可解,一种是BFS,求层数,另一种是DP,DP解起来最方便,dp[i]表示凑齐总金额为i有多少种办法,状态转移方程,dp[i]=min(dp[i],dp[i-coin]+1). // D...

  • 开发:异常收集之 DB2建表相关问题

    第一次用DB2数据库,由于考虑到建表语句可能不一样,所以采用手动建表的办法,一个个字段去填。并勾选主键,最后发现创建失败。看了下系统生成的sql语句sql语句如下:CREATE TABLE FRONT.SCORE_REVERSE(SERIAL_NO VARCHAR(50),SECRET_KEY VARCHAR(50), TRADEBOX_ID INTEGER(32), REDUCE_POINT_T...

  • 荣登Github日榜!微信最新开源MMKV

    MMKV 开源当日即登Github Trending日榜,三日后荣登周榜。MMKV 在腾讯内部开源半年,得到公司内部团队的广泛应用和一致好评。 MMKV 是基于 mmap 内存映射的移动端通用 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 年中至今,在 iOS 微信上使用已有近 3 年,其性能和稳定性经过了时间的验证。近期已移植到 A...

  • java中 string的endwith_Java String.endsWith()方法

    描述java.lang.String.endsWith()方法返回的测试该字符串是否以指定后缀sffix结束声明以下是声明java.lang.String.endsWith()方法public boolean endsWith(String suffix)参数suffix-- This is the suffix.返回值该方法返回一个true,如果参数表示的字符序列是由该对象表示的字符序列的后缀...

  • java费布拉切数列前40个数_费布拉切数列

    费布拉切数列又称黄金分割数列,指的是这样一个数列:1 1 2 3 5 8 13 21....实现费布拉切数列的方法有两种,一种是以数组下标的形式,arr[i]=arr[i-1]+arr[i-2];arr[0]=1;arr[1]=0;代码:#includeintmain(){intarr[12];inti;arr[0]=1;arr[1]=1;for(i=2;i<12;i++){arr[...

  • 海思AI芯片(Hi3519A/3559A)方案学习(三)Ubuntu18.0.4上编译Hi3519AV100 uboot和kernel

    先重申下我的平台为ubuntu18.0.4,SDK的目标平台为Hi3519AV100系列 准备工作 安装himix200交叉编译器 tar –xzf arm-himix200-linux.tgz sudo ./arm-himix200-linux.install source /etc/profile 安装SDK包 tar -zxf Hi3519AV100_SDK_V2.0.1.0.tgz...

  • ArchLinux的安装

    安装虚拟机的时候报了一个错误:this kernel requires an x86-64 cpu but .. 该原因: 操作系统是32位,虚拟机的系统镜像是64位的虚拟机配置问题电脑没有开启虚拟化我在安装的时候是因为bios升级之后虚拟化关闭了,解决方式: 开机进入bios,选择security,然后开启Intel Virtual Technology > Enabled —开启虚拟化链接— —

  • 高通ANDROID平台默认时间修改

    症状: 1 PMU中的RTC时间无法修改初始值。 2 需要设定的初始值非RTC初始值。 原理: 1 ANDROID UI时间来自LINUX 的RTC-MSM,RTC-MSM取自AMSS。 解决方法: 在正式取RTC应用于ANDROID UI前,先做一次对RTC值做一次写入默认值的操作 即: if(重置后的第一次开机?) { //将默认时值写入RTC } 此处理即可放于A

  • 嵌入式设备移植触摸屏驱动

    前言 移植步骤 可能出现的错误

  • 透明度与十六进制代码转换

    解析:〈#ffffffff〉 #ffffffff由#加八位数字或字母组成,前两个ff为透明度(十六进制),后面六位ffffff为颜色代码,采用RGB配色(十六进制) 需要修改的机油一般都要查找相关资料,这里教你一个更快捷的方法! 附件下载; 进位制转换器 RGB调色板 一、进位制转换器获取透明代码的方法 安装打开,出现一个操作面板, Hex(十六进制)、Dec(十进制)、Oct

  • java中git项目的.gitignore文件

    上传Java项目到git上进行版本管理,一般都会有一个忽略文件.gitignore,这个文件是用来将一些不需要上传的文件进行过滤的。 忽略文件的原则是: 忽略操作系统自动生成的文件,比如缩略图等; 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件; 忽略你自己的带有敏感信息的配置文件...

Global site tag (gtag.js) - Google Analytics