精华内容
参与话题
问答
  • 关于二次开发

    2016-11-08 09:26:18
    什么是二次开发,呵呵,这个问题主要是给初学者解释。现在你能想到的应用,互联网上基本上都已经存在,由于php是开源的,大家只要能找到源码(商业版除外),可以下载下来,改改细节或一小部分功能,就是自己的网站...

           什么是二次开发,呵呵,这个问题主要是给初学者解释。现在你能想到的应用,互联网上基本上都已经存在,由于php是开源的,大家只要能找到源码(商业版除外),可以下载下来,改改细节或一小部分功能,就是自己的网站了。这样节省了时间,也节省了开发成本

           首先,看他的目录结构,知道每个文件夹,甚至每个文件是干什么的,这个常用的discuz等都有相关的资料,并不是所有的文件都要一一看懂

           其次,他的模板语言语法是怎么样的,定义了哪些全局变量、全局数组、常量。

           再次就是看他的核心类、核心函数是怎么写的。对架构感兴趣的,可以看看他的路由解析类、控制器类、数据库操作基础类、视图类(模板解析类)。

           对具体应用感兴趣的,比如发送email,它肯定会有个类或函数,极具借鉴意义,通常不会有漏洞,我现在用的一个获取ip的函数就是从ci框架抠的。

           再要看的话,就要具体到每个文件了。

           研究懂了源文件,你再去修改,肯定难不住有php基础的你。

    展开全文
  • 我如何让软件二次开发变简单

    千次阅读 2017-05-26 10:18:51
    前段时间我个人接手了一个ERP二次开发的任务,根据客户的需求对公司已开发的ERP进行改造来满足它的实际应用。前期的开发工作还是比较轻松的,轻车熟路的在现有的ERP功能中,对部分功能进行了删除,添加客户特定的...

    我是一名从事Java开发工作的程序员,公司在准一线城市,成立5年时间,ERP系统开发是公司业务中重要的一部分。前段时间我个人接手了一个ERP二次开发的任务,根据客户的需求对公司已开发的ERP进行改造来满足它的实际应用。前期的开发工作还是比较轻松的,轻车熟路的在现有的ERP功能中,对部分功能进行了删除,添加客户特定的功能需求等,根本不需要编辑大量的代码,开发进度及其顺利,这真是一份美差事!但是随着开发进度的推移,我的噩梦也到来了:

    首先,问题出现在构建、部署、测试、修改bug再提交这个过程中,这也是我认为这个任务最耗时间的部分。我将代码在本地MyEclipse中修改完成后,继而打成war包,发送给公司负责部署的同事,他将war包部署发布在测试服务器上,提供地址供测试人员去测试,测试人员将测试后的bug表已Excel形式发送给我,我再对代码进行修改,再打war包。。。这简直是一个死循环。



    其次,由于大多数客户初期并不知道自己想要的是什么样的ERP,只有在操作试用当中,才会发现他们自己真正想要的是什么,这个客户也不例外。我们将产品发布到外网,供他们试用时,他们几乎是每天都会对功能提出“建设性”意见,这里应该怎么修改,那里应该添加些什么样的功能。因此几乎隔一天都会拿到客户“新需求”,对系统的功能修改,再交付,那段时间的日子不堪回首,客户的要求是真的很多。

    再次,偶尔会出现,周末甚至是晚上九十点钟的时候,由于某些限定条件,客户类似于导出Excel按钮失效这样一些小问题的发生(这里各位看客会提出疑问:这样的产品为什么允许给客户使用?因为我们不正规啊,因为客户急需啊,客户并不介意、要跟我们一起推进啊),我都会急匆匆赶回公司,顺带捎上我们的部署大师,没他我给客户部署发布不了啊,整的那段时间他对我敬而远之,最不想接到的就是我的电话。

    就这样一直磕磕绊绊的过了一段时间,直到无意中接触到了华为软件开发云,仅仅经过半天的使用,我就被它给彻底征服了。帮我解决了很多的问题,在这里,我也把它推荐给跟我有同样遭遇的你们。

    我主要使用的是流水线功能,然后就实现了只操作一次。我是这样做的:

    1、通过git将我本地写好的代码上传到软件云的代码仓库中,配置及其简单,使用也很方便,在仓库中的管理也很直观清晰:


    2、根据上传的代码建立代码检查任务,目前应该是可以支持Java、js、web、css和C++,对于我来说完全够用,建完是这样的:


    3、根据仓库里的代码新建一个构建任务:


    六个步骤搞定,so easy!建完效果如下:


    4、根据编译构建生成的war包,建立一个部署任务:


    只需要五个步骤的操作,轻松了不少:


    5、重点来了,建立流水线任务,将之前建立的三个任务添加到流水线当中:


    三步建完一个流水线任务,是不是很轻松?接下来的运行就是很简单的了,每次更新代码之后,点击执行即可:


    通过流水线的功能,我要做的就是:编写代码,更新到代码仓库,点击流水线任务,有问题就改代码然后再更新仓库,运行流水线,就是这么简单,我不再需要反复去做重复的事情,不再需要去麻烦我的部署的同事。而且代码仓库还可以直接在线编辑代码,对一些小问题,在家就可以修改,然后重新运行构建部署,根本不需要再去公司解决,随时随地解决问题,这是一件很爽的事情。

    毫不夸张的说,建立一次自动化流水线服务,受用终生啊!对我工作效率的提高不只是一点点,之前我遇到的那些都得到了妥善解决,自己一个人就可以完全搞定。

    现在我已经熟悉了华为软件开发云这个平台,已经可以逐步分出一部分精力转移到其他的工作当中去,因为二次开发已经不再占用我过多的时间和精力。我甚至愿意多接一些erp二次开发的客户需求,因为有了流水线功能,一切信手拈来,老板都夸我能干!

    另外,单独使用软件开发云的代码检查功能也不错,有1000条检查规则,凝缩了华为的研发经验在其中,还可以自由组合,再也不用担心我的编码问题了。添加到流水线当中,使流水线如虎添翼。

    展开全文
  • 什么是二次开发

    千次阅读 2018-12-25 17:16:00
    什么是二次开发? 二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有系统的内核。 为什么要二次开发? 随着信息化技术的不断发展,IT行业涌现...

    什么是二次开发?

    二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有系统的内核。

    为什么要二次开发?

    随着信息化技术的不断发展,IT行业涌现出了一系列优秀的开源作品,其作者或是个人,或是项目小组,或是软件公司。选择和应用这些优秀的开源软件,并在此基础上进行符合业务需求的二次开发,将给企业节省信息化成本(时间成本及开发成本)的同时,更能带来技术上的保障。这就是我们常听的:站在巨人的肩膀上,你将看的更远。所以国内很多公司需要二次开发的人才。

    怎么做二次开发?

    第一,你要有这个开源产品的所用语言的语言基础,能看懂代码是最基本的。

    第二,你要对这个开源产品的功能和使用要有比较熟悉,因为你熟悉了,你才知道一个需求下来,你要改什么,什么是系统自带的,大概要怎么改。

    第三,你要熟悉这个开源产品的数据结构,代码结构,系统的框架结构,核心是哪里,附属功能是在哪里。简单点说,就是数据库,代码逻辑,文件目录的熟悉。

    第四,根据你的需求,然后利用开源产品的内核,进行系统的扩展和修改,以达到你的需求介绍PHP的开源

    产品的二次开发的基本要求:

    第一, 基本要求:HTML(必须要非常熟悉),PHP(能看懂代码,能写一些小系统,如:留言板,小型CMS),Mysql(至少会一种数据库),Javascript(能看懂,能改现成的一些代码),Div+Css(能进行界面的调整,明白CSS是怎么使用的)

    第二, 熟悉开源产品的使用,比如 Dedecms,你要知道怎么登录,怎么新建栏目,怎么添加文章,模板标签的使用方法,模型的概念和使用方法等等一些功能

    第三, 要熟悉这个开源产品的数据库结构,还要理解里面核心文件的内容,比如:数据库类怎么使用,常用的安全过滤是怎么做的,模板引擎又是怎么使用的等等一些核心内容。还要知道这个开源产品的目录结构,就是说,你要知道哪是放模板的,哪里是做控制的,哪里是放样式的,等等

    第四, 熟悉你的需求,对需求进行解读,然后确定如何对这个开源产品进行修改和扩展经过二次开发后,你能获取到的是什么呢?

    你能完成你的需求,你能积累经验,这里的经验有你自己的,也有别人的。所谓别人的,就是在你做这个二次开发的时候,你能吸收到这个系统的精华,然后融入到你自己的思想里,你还能总结项目架构的经验。有句话说的好,就是:聪明的人会把别人的失败的经验当作自己的经验,而傻的人就是自己无数次体验失败后才作为己的经验。二次开发不仅仅是开发,而更重要的是吸取精华,总结经验,理顺思路,少走弯路,提升自己。

    转载于:https://www.cnblogs.com/ecshopdevelop/p/10175206.html

    展开全文
  • 最好最实用的二次开发教程  ◆二次开发  什么是二次开发?  二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一 般来说都不会改变原有系统的内核。  为什么...

        

      最好最实用的二次开发教程

      ◆二次开发

      什么是二次开发?

      二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一

    般来说都不会改变原有系统的内核。

      为什么要二次开发?

      随着信息化技术的不断发展,IT行业涌现出了一系列优秀的开源作品,其作者或是个人,或是项目小组,或

    是软件公司。选择和应用这些优秀的开源软件,并在此基础上进行符合业务需求的二次开发,将给企业节省信息

    化成本(时间成本及开发成本)的同时,更能带来技术上的保障。这就是我们常听的:站在巨人的肩膀上,你将看

    的更远。所以国内很多公司需要二次开发的人才。

      怎么做二次开发?

      第一,你要有这个开源产品的所用语言的语言基础,能看懂代码是最基本的。

      第二,你要对这个开源产品的功能和使用要有比较熟悉,因为你熟悉了,你才知道一个需求下来,你要改什

    么,什么是系统自带的,大概要怎么改。

      第三,你要熟悉这个开源产品的数据结构,代码结构,系统的框架结构,核心是哪里,附属功能是在哪里。

    简单点说,就是数据库,代码逻辑,文件目录的熟悉。

      第四,根据你的需求,然后利用开源产品的内核,进行系统的扩展和修改,以达到你的需求介绍PHP的开源

    产品的二次开发的基本要求:

      第一, 基本要求:HTML(必须要非常熟悉),

                                 PHP(能看懂代码,能写一些小系统,如:留言板,小型CMS),

                                  Mysql(至少会一种数据库),

                                  Javascript(能看懂,能改现成的一些代码),

                                  Div+Css(能进行界面的调整,明白CSS是怎么使用的)

      第二,                熟悉开源产品的使用,比如 Dedecms,

                                  你要知道怎么登录,怎么新建栏目,怎么添加文章,模板标签的使用方法,模型的概念和使用方法等等一些功能

      第三,               要熟悉这个开源产品的数据库结构,还要理解里面核心文件的内容,比如:数据库类怎么使用,常

               用的安全过滤是怎么做的,模板引擎又是怎么使用的等等一些核心内容。还要知道这个开源产品的目录结构,就

              是说,你要知道哪是放模板的,哪里是做控制的,哪里是放样式的,等等

      第四,      熟悉你的需求,对需求进行解读,然后确定如何对这个开源产品进行修改和扩展

      经过二次开发后,你能获取到的是什么呢?

      你能完成你的需求,你能积累经验,这里的经验有你自己的,也有别人的。所谓别人的,就是在你做这个二

    次开发的时候,你能吸收到这个系统的精华,然后融入到你自己的思想里,你还能总结项目架构的经验。有句话

    说的好,就是:聪明的人会把别人的失败的经验当作自己的经验,而傻的人就是自己无数次体验失败后才作为自

    己的经验。二次开发不仅仅是开发,而更重要的是吸取精华,总结经验,理顺思路,少走弯路,提升自己。

      站在巨人的肩膀上,你将看的更远!!!

      ◆DedeCMS二次开发

      为了让更多人了解二次开发,并更方便的了解DedeCMS的二次开发,下面将会简单的介绍关于DedeCMS二次开

    发的一些基础和大纲

      DedeCMS二次开发必备基础:

      · 非常熟悉HTML

      · 熟悉DIV+CSS的布局

      · 扎实的PHP基础,熟悉结构化编程,了解OOP,并能看懂和使用

      · 熟悉MYSQL,掌握SQL语言

      DedeCMS二次开发学习过程

      · 理解CMS是什么

      · 熟悉DedeCMS的功能(如:栏目的分类,文档管理,模型的使用,系统的设置等常用的功能)

      · 掌握DedeCMS的模板标签使用及原理

      · DedeCMS目录结构分析

      熟悉每个文件夹里面主要装什么文件,这样在二次开发的时候知道在哪个文件夹下的什么文件修改

      目录结构摘要:

      ./a 生成文件存放路径

      ./data 缓存文件及数据中心

      /admin 管理后台数据

      /backupdata 备份数据

      /cache 缓存文件

      /enums 级别联动数据,JS,枚举类型的缓存文件

      /js 常用的JS

      /mark 水印相关文件

      /module 模块安装文件

      /rss Rss相关

      /sessions Session 存放路径

      /textdata 文本数据

      /tplcache 模板缓存

      /uploadtmp 上传文件缓存位置

      /ziptmp zip包解压缓存位置

      ……

      DedeCMS文件结构分析

      熟悉每个文件的基本功能,方便做修改,知道每个文件的大概作用之后,可以方便的对文件进行修改

      文件结构摘要:

      common.inc.php 数据库配置文件

      config.cache.bak.php 后台系统配置备份

      config.cache.inc.php 后台系统配置文件缓存

      downmix.data.php 采集混淆缓存文件

      mysql_error_track.inc MYSQL错误��志

      safequestions.php 安全问题

      sitemap.html 站点地图

      sys_pay.cache.php 支付网关配置

      template.rand.php 随机模板设置

      ……

      · DedeCMS数据库结构分析,至少要熟悉每个表的作用

      熟悉每个表的作用,了解几个核心表的设计及字段的含义,方便拿到新的需求之后,能快速的判断是否加字

    段,还是新建表来处理。同时也能理解DedeCMS的数据库设计思想,把有用的设计思路加到自己的系统中。

      · DedeCMS的流程控制,及一些核心文件的解析

      熟悉一些登陆,注册,文档管理,权限控制,分类管理,模型设置等一些常用流程控制。对几个核心文件进

    行解剖,了解其编程技巧及安全机制

      · DedeCMS插件的开发(****式插件和内嵌式插件)

      熟悉两种插件的编写,插件的导入导出,插件搭配模型的使用

      ◆Ecshop二次开发

      EcShop二次开发学习方法

      近年来,随着互联网的发展,电子商务也跟着一起成长,B2B,C2C,B2C的电子商务模式也不断的成熟。这时

    催生出了众多电子商务相关的PHP开源产品。B2C方面有Ecshop,Zencart,Magento等国内外知名产品。

      下面我们就来简单介绍一下学习Ecshop二次开发的过程和要注意的一些东西:

      Ecshop二次开发必备基础:

      · 非常熟悉HTML

      · 熟悉DIV+CSS的布局

      · 扎实的PHP基础,熟悉结构化编程,了解OOP,并能看懂和使用

      · 熟悉Smarty模板引擎

      · 熟悉MYSQL,掌握SQL语言

      Ecshop二次开发学习过程

      · 熟悉电子商务基本概念

      · 熟悉EcShop 的基本功能使用(商品类型,商品分类,商品属性设置,促销活动使用等)

      · 掌握Ecshop的数据库结构和数据库设计思想

      · 熟悉ER的模式,实体与关系的建立

      熟悉每个表的作用,了解几个核心表的设计及字段的含义,方便拿到新的需求之后,能快速的判断是否加字

    段,还是新建表来处理。同时也能理解Ecshop的数据库设计思想,把有用的设计思路加到自己的系统中

      · 文件结构分析及代码分析

      熟悉一些登陆,注册,文档管理,权限控制,分类管理,商品类型等一些常用流程控制。对几个核心文件进

    行解剖,了解其编程技巧及安全机制

      · Ecshop文件结构分析:

      \includes\cls_captcha.php: 验证码图片类

      \includes\cls_ecshop.php: 基础类

      \includes\cls_ecshop.php(56): 密码编译方法;

      \includes\cls_rss.php: RSS 类

      \includes\cls_smtp.php: SMTP 邮件类

      \includes\inc_constant.php: 常量

      \includes\init.php: 前台公用文件

      \includes\lib_common.php: 公用函数库

      \includes\lib_goodscat.php: 前台公用函数库

      \includes\lib_insert.php: 动态内容函数库

      \includes\lib_main.php: 前台公用函数库

      \includes\lib_payment.php: 支付接口函数库

      \includes\iconv\cls_iconv.php: 字符集转换类

      \includes\ip\cls_ip.php: IP 归属地查询类

      \includes\modules\integrates\discuz.php: 会员数据处理类

      \includes\modules\integrates\ecshop.php: 会员数据处理类

      Ecshop模板更换

      熟悉Smarty的精简版的使用,嵌入自己的界面,EcShop模板的跟换技巧

      Ecshop二次开发实例

      中英文切换的功能,秒杀功能,京东商城模板的制作等

      学习目的:

      1,会使用Ecshop进行二次开发

      2,会换普通的模板及一些功能的修改

      3,吸取里面的开发经验

      掌握基础知识-》模仿里面的一些写法-》修改里面的模式(形成自己的开发模式)

      掌握Ecshop里面的编程技巧及系统设计技巧

      ◆缓存技术分析

      常见的PHP缓存技术分析[概念版]

      在大部份情况下我们的网站都会使用数据库作为站点数据存储的容器。当你执行一个SQL查询时,典型的处

    理过程是:连接数据库->准备SQL查询->发送查询到数据库->取得数据库返回结果->关闭数据库连接。但数据库

    中有些数据是完全静态的或不太经常变动的,缓存系统会通过把SQL查询的结果缓存到一个更快的存储系统中存

    储,从而避免频繁操作数据库而很大程度上提高了程序执行时间,而且缓存查询结果也允许你后期处理。

      普遍使用的缓存技术

      数据缓存:这里所说的数据缓存是指数据库查询缓存,每次访问页面的时候,都会先检测相应的缓存数据是

    否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件

      中,以后同样的查询结果就直接从缓存文件中获得。

      页面缓存:

      每次访问页面的时候,都会先检测相应的缓存页面文件是否存在,如果不存在,就连接数据库,得到数据,

    显示页面并同时生成缓存页面文件,这样下次访问的时候页面文件就发挥作用了。(模板引擎和网上常见的一些

    缓存类通常有此功能)

      内存缓存:

      在里就不介绍了,不是本文所要讨论的,只简单提一下:

      Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。

      dbcached 是一款基于 Memcached 和 NMDB 的分布式 key-value 数据库内存缓存系统。

      以上的缓存技术虽然能很好的解决频繁查询数据库的问题,但其缺点在在于数据无时效性,下面我给出我在

    项目中常用的方法:

      时间触发缓存:

      检查文件是否存在并且时间戳小于设置的过期时间,如果文件修改的时间戳比当前时间戳减去过期时间戳

    大,那么就用缓存,否则更新缓存。

      设定时间内不去判断数据是否要更新,过了设定时间再更新缓存。以上只适合对时效性要求不高的情况下使

    用 ,否则请看下面。

      内容触发缓存:

      当插入数据或更新数据时,强制更新缓存。

      在这里我们可以看到,当有大量数据频繁需要更新时,最后都要涉及磁盘读写操作。怎么解决呢?我在日常

    项目中,通常并不缓存所有内容,而是缓存一部分不经常变的内容来解决。但在大负荷的情况下,最好要用共享

    内存做缓存系统。

      到这里PHP缓存也许有点解决方案了,但其缺点是,因为每次请求仍然要经过PHP解析,在大负荷的情况下效

    率问题还是比效严重,在这种情况下,也许会用到静态缓存。

      静态缓存

      这里所说的静态缓存是指HTML缓存,HTML缓存一般是无需判断数据是否要更新的,因为通常在使用HTML的场

    合一般是不经常变动内容的页面。数据更新的时候把HTML也强制更新一下就可以了。

      其实一个缓存系统涉及的问题是比较多的,我在这里只介绍一下我平时的缓存思路,并没有介绍利用软件来

    实现缓存和写出具体代码。

      如果您有什么好的解决方案也请在下面提出,让我们一起互相探讨。

      ◆PHP使用函数调用命令

      php中使用exec,system等函数调用系统命令

      php的内置函数exec,system都可以调用系统命令(shell命令),当然还有passthru,escapeshellcmd等函数。

      在很多时候利用php的exec,system等函数调用系统命令可以帮助我们更好更快的完成工作。比如前二天笔者

    在批量处理.rar文件时exec就帮我了大忙了。

      今天整理一下常用的调用系统函数发出来和大家分享经验。

      注意:要想使用这二个函数php.ini中的安全模式必须关闭,要不然为了安全起见php是不让调用系统命令

    的。

      先看一下php手册对这二个函数的解释:

      exec --- 执行外部程式

      语法 : string exec ( string command [, array &output [, int &return_var]] )

      说明 :

      exec( )执行给予的命令command,不过它并不会输出任何东西,它简单的从命令的结果中传回最后一行,如

    果你需要去执行一个命令,并且从命令去取得所有资料时,可以使用passthru( )这个函数。

      如果有给予参数array,则指定的数组将会被命令所输出的每一行填满,注意 : 如果数组先前已经包含了一

    些元素的话,exec( )将会把它附加在数组的后面,如果你不想要此函数附加元素的话,你可以在传递此数组给

    exec( )之前呼叫unset( )。

      如果有给予参数array和return_var,则传回执行的状态命令将会写到这个变量。

      注意 : 如果你允许来自使用者输入的资料,可以传递到此函数,那么你应该使用escapeshellcmd( )来确定

    此使用者无法哄骗(trick)系统来执行武断的(arbitrary)命令。

      注意 : 如果你使用此函数来启动一个程式,而且希望在背景里(background)执行的时候离开它,你必须确

    定此程式的输出是转向(redirected)到一个文件或是一些输出的资料流,否则PHP将会悬挂(hang)直到程式执行

    结束。

      system --- 执行外部程式并且显示输出

      语法 : string system ( string command [, int &return_var] )

      说明 :

      system( )执行给予的命令command,并且输出结果。如果有给予参数return_var,则执行命令的状态码将会

    写到这个变量。

      注意 : 如果你允许来自使用者输入的资料,可以传递到此函数,那么你应该使用escapeshellcmd( )来确定

    此使用者无法哄骗(trick)系统来执行武断的(arbitrary)命令。

      注意 : 如果你使用此函数来启动一个程式,而且希望在背景里(background)执行的时候离开它,你必须确

    定此程式的输出是转向(redirected)到一个文件或是一些输出的资料流,否则PHP将会悬挂(hang)直到程式执行

    结束。

      如果PHP是运作成伺服器模组,在输出每一行后,system( )会试着自动地清除web伺服器的输出缓冲。

      成功则传回命令的最后一行,失败则传回false。

      如果你需要去执行一个命令,并且从命令去取得所有资料时,可以使用passthru( )这个函数。

      这二个都是用来调用系统shell命令,

      不同点:

      exec可以把执行的结果全部返回到$output函数里(数组),$status是执行的状态 0为成功 1为失败

      systerm不需要提供$output函数,他是直接把结果返回出来,同样$return_var是执行的状态码 0为成功 1

    为失败

      ◆关于开源

      开源最大的成功来源于Web

      开源运动广受欢迎,并且在软件开发史上写下了浓重一笔。但是它影响最深远的地方在哪呢?有史以来,最

    成功的开源“项目”又是什么呢?

      事实上,总体来看,Web不就是开源运动最大的成功么?

      可能最有名的例子就是隐藏域众多网站背后的LAMP,也就是Linux、Apache、MySQL和PHP。但当你仔细考虑

    后,你会发现更多。

      下面列出了Web得以运转的一些开源项目。

      Web browsers-网络浏览器

      在网络浏览器市场中,虽然微软的封闭源码软件IE浏览器仍然占有很大的份额,但其它功能相似的开源项目

    已经流行起来,并在不断壮大。像Mozilla公司的Firefox浏览器(它是开源的,还有Flock、PaleMoon)。还有增

    长迅速的基于Webkit的浏览器,像Safari,但最著名的是Chrome浏览器。

      如果把手机网络也算到这里面,其中Webkit主宰着iPhone、Android和Blackberry手机中的浏览器。

      Web server software-Web服务器软件

      迄今为止,Apache是使用范围最广的网络服务器软件,它是开源的,但是一个叫做Nginx的轻量级服务器软

    件在最近几年开始流行起来。事实上,三大顶级网络服务器软件中有两个是开源的(排名第二的微软的IIS是例

    外,但其距离第一相差甚远)。

      另外,大量服务器端底层软件也是开源的。例如,很多大流量网站使用Varnish作为与网站访问者之间的缓

    存层,而使用Memcached作为与网站数据库之间的缓存层。这只是众多例子中的两个。

      Scripting languages and web frameworks-脚本语言和Web框架

      网络上使用的大部分编程和脚本语言都是开源的,比如PHP、Perl、Python、Ruby等。

      但是,很少有网站完完全全是从零开始。毫不夸张的说,有成百上千的开源内容管理系统(CMS)和网络框架

    来协助开发人员,例如WordPress、Drupal、Ruby on Rails、Django、Joomla、DedeCMS、Ecshop等。

      Databases-数据库

      开源软件MySQL是目前为止最流行的网站数据库,但还有其它功能相似的开源软件,比如PostgreSQL,更不

    用说近来出现的众多“非关系型(NoSQL)”数据库。

      既然我们说到了底层软件,那就不得不提一下每次我们使用互联网或因特网上的任何东西时都要依靠的基础

    系统:

      DNS-域名解析系统

      Web(就此而言是整个因特网)离开了域名解析系统就一无是处。大家都知道,域名解析系统可以让用户使用

    像example.com之类的域名,而不是IP地址。BIND几乎是DNS服务器(亦称名称服务器)软件的实际标准,并且,你

    现在可能已经猜到了,它是开源的。

      Server operating systems-服务器操作系统

      所有网站都必须在服务器上运行,而那也是开源的统治领域。虽然Windows统治着桌面领域,但是网站赖以

    运行的服务器大部分采用开源的Linux操作系统,其他比较流行的选择是freeBSD和OpenBSD。

      开源的诱惑

      由于在许多情况下,开源软件能够提供与商业的封闭源码软件相同的性能,并且又是免费的,所以开源软件

    如此流行并不奇怪。免费是一个难以挑战的价格。

      假如Web不是运行在所有这些免费软件上,那么它很可能需要一段艰苦的过程,才能让人们广泛接受。

      注意我们并没说过Web中没有任何封闭源码软件,而那显然是存在的。但是,从统计数据看,Web开源统治领

    域中真正的例外是微软的基于Windows系列系统。

      除了那个,你通常需要深入研究才能发现更多私有封闭源码技术,像路由器和类似设备上的操作系统。但那

    是因特网,而不是Web。

    转载于:https://www.cnblogs.com/ylei11/p/6755682.html

    展开全文
  • 什么是软件的二次开发?

    千次阅读 2014-05-03 03:25:59
    管理软件的二次开发就是在现有软件产品的基础上,针对客户的个性化需求进行的开发,一般是由软件产品的开发厂商进行,或由厂商提供二次开发接口和源码由第三方来进行。不同于完全的定制开发,二次开发不是从头开发,...
  • 二次开发中文系列

    2014-04-09 15:36:09
    Epicor认识客户化_二次开发中文,讲epicor E9二次开发课程
  • 项目二次开发

    2016-04-22 22:02:00
    队友: 我:http://www.cnblogs.com/gzh13692021053/ 杨子健:http://www.cnblogs.com/yzj666/ 刘森松:http://www.cnblogs.com/lssh/ ... 作业要求: ...1.每个团队从Github上fork这个项目的源代码;...
  • 三种二次开发的方式

    千次阅读 2018-06-27 21:22:33
    二次开发时,只需将源代码的.H和的的的的.cpp文件分别导入到当前项目即可。 二,静态库  此时得到的是XX.lib和XX.h文件使用的方式有两种:  第一种:将XX.lib和XX.h放到当前目录下,在新的项目动态调用 #...
  • Workbench二次开发技术分享

    千次阅读 热门讨论 2018-12-19 13:13:56
    之前我发过的关于Workbech二次开发的技术ACT,ACT主要是用来对workbench进行一些横向的开发(诸如workbench现有的载荷类型已经满足不了你的需求,你可以利用ACT技术扩展载荷类型)。但是,我们可能更加关注的是纵向...
  • 搭建开发环境 安装Node.js和npm 略 安装Notebook-dev 使用Python虚拟环境或者默认环境执行下面的操作: git clone https://github.com/jupyter/notebook cd notebook pip install -e . 完成后,使用pip list查看...
  • 明基扫描仪二次开发包

    千次阅读 2002-06-06 09:40:00
    明基扫描仪二次开发包使用说明 明基电通信息技术有限公司·营销总部0512-68251233-2888目录一,功能说明(3-3)二,要求说明(3-3)三,开发包文件结构说明(3-4)四,scan.Dll接口说明(4-15)五,ImageRWSB.dll ...
  • QGIS二次开发包下载

    千次阅读 2016-07-24 18:10:15
    鉴于有些同学反应Cmake编译出来各种错误,自己而且只是想进行简单的QGIS的二次开发。这个直接放出编译好的版本QGIS2.8.9+VS2010+QT4.8,以及桌面程序QGIS(可能用到其中的bin文件目录下的东西)...
  • OCR SDK文字识别二次开发包,求提供,付费免费,来者都不拒
  • Qgis二次开发包下载及配置

    千次阅读 2016-01-14 13:43:29
    后来在网上找到了另外一个教程,其中提到可以利用Osgoe4W下载qgis二次开发包,不用自己编译源码,省了很多麻烦,果断尝试了下这种方法。 关于二次开发包下载这部分,这篇博客写得非常详细,可以参考:...
  • QGis2.9在windows下的编译以及二次开发包下载

    万次阅读 热门讨论 2015-09-05 02:15:54
    今天心血来潮,将QGis在github上的代码更新后,又编译了一下。留意到源代码包里面的INSTALL文件有更新,于是本次编译完全基于官方的编译说明。...本次分为两个部分,分别介绍QGis二次开发包的下载以及QGis2.9的源码编译
  • 海康威视网络摄像头SDK中Demo的二次开发(运行)

    万次阅读 多人点赞 2018-03-28 21:28:50
    我们买回来的网络摄像头可以在官网下载到SDK开发包: 下载下来SDK后我们解压,就可以看到里面包含一些开发文档以及一些Demo示例: 我们点开Demo示例,可以看到里面有各种语言的示例,这里我们以MFC为例进行...
  • Python 二次开发 AutoCAD 简介

    万次阅读 多人点赞 2018-12-13 18:20:21
    pyautocad模块由俄罗斯工程师开发,因参考实例较少,工程需要,现将模块中一些基本的用法,做出简要说明,叙述力求简洁明了, 因个人水平有限,文中难免有所疏漏,还请各位大神不吝批评指正。 ...
  • GSM短信猫常用二次开发包使用实例

    千次阅读 2012-11-14 18:34:41
    GSM短信猫开发包使用教程 //连接 typedef UINT (WINAPI *PFSMSCONN)(LPCTSTR,int,int,LPCTSTR*); //发送 typedef UINT (WINAPI *PFSMSSEND)(LPCTSTR,LPCTSTR); //接收 typedef UINT (WINAPI *PFSMSRECV)(LPCTSTR,...
  • QGIS 示例程序,实现QGIS二次开发

    热门讨论 2011-06-11 15:47:26
    本人编写的QGIS示例程序,环境vc9,qgis1.6 sdk,qt4.7,实现了基本的gis功能。
  • 使用SDK进行二次开发流程简述

    千次阅读 2016-01-17 15:42:22
    本文介绍了使用SDK进行二次开发的流程,以使用eBUS 提供的SDK开发一个控制红外摄像头的系统为例作为参照进行介绍,同时简单介绍了如何使用别人开发的控件
  • Samlight二次开发

    千次阅读 2016-11-30 15:55:26
    很久没有在CSDN上写点东西了,一方面...本文从下面几个方面来介绍如何在Samlight上做简单的二次开发: Samlight简介 Samlight帮助文档 常用的函数说明 一步一步来开发 Samlight简介
  • Ambari二次开发-实时编译-部署 集成环境搭建 总体思路:对ambari-web、ambari-admin进行单独编译,利用brunch watch功能,对文件源码进行实时监控编译。ambari-web/public 里存放编译完成的文件,(这里的文件目录...
  • Teamcenter客户化二次开发介绍

    千次阅读 2018-12-07 14:19:22
    现已转移到简书,地址如下: ... PLM,是一个英文缩写,表示产品... 而TC是Teamcenter的简称,是西门子发布的一款关于PLM的产品,相关制造业企业在使用过程中可以对其进行客户化地二次开发,主要涉及以下几类型的开发...
  • scratch二次开发打包成app

    千次阅读 2019-07-24 11:50:06
    去年因工作需要开发一个图形化编程来控制硬件的app,在借鉴了scratch2.0 的源码以后,目前已经成功开发了几个app,通过蓝牙连接硬件并控制,实现了和mblock app 一样的功能。 基本思路:用adobe air 写好app界面...
  • 也支持公网二次开发,借助离线开发包,可以很快将地图应用到不同的项目当中,包括WEB开发、APP开发等等。 安装好离线地图服务器和导入离线地图之后,我们可以看到 离线地图后面有个“开发使用”,如下图: ...
  • Wps二次开发(POI)

    万次阅读 2013-06-28 15:36:59
    Wps二次开发(POI) 一、POI的介绍 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对办公Office格式档案读和写的功能。以下是POI的几个重要组成部分,以及各组件的功能概述。 HSSF:WPS...
  • Navisworks_API_SDK安装完之后 为什么没有Autodesk.Navisworks.Api.dll文件
  • vs2010+proe二次开发 环境配置

    千次阅读 2016-01-21 10:02:51
    1.环境变量 lang=en 可以设置proe的语言为英文 PROE_INSTALL_PATH=F:\software\Creo2.0\Creo2~1.0\Common~1\M...2.二次开发工具的配置文件路径 F:\software\Creo2.0\Creo 2.0\Common Files\M090\text\**.dat 配置文件
  • 手机车牌识别二次开发包

    千次阅读 2017-08-08 23:16:21
    1、识别速度快,毫秒级识别,手机车牌识别SDK开发包新能源车牌识别没压力 2、手机车牌识别SDK开发包支持多平台应用  完美支持安卓系统,ios系统  支持手机ARM平台和PDA的X86架构 3、手机车牌识别SDK开发包支持...
  • 金橙子激光打标机的二次开发(C#)

    千次阅读 2019-09-13 21:32:17
    余的部分如日期二维号要根据他们提供的规则在规则的时间自动生成和切换,因为规则比较特殊,比如他们的日期要用特定的字母表示,这样的话只用ezcad是无法实现的,只能进行二次开发。 关于MarkEzd.dll MarkEzd.dll是...

空空如也

1 2 3 4 5 ... 20
收藏数 1,383,961
精华内容 553,584
关键字:

二次开发