软件开发需要编写哪些文档
如今,软件开发越来越复杂,软件的功能也越来越丰富。而几乎所有成熟的商业软件,都是一个开发团队齐心协力的血汗结晶。"罗马不是一天建成的。",当我们震撼于Microsoft Windows的惊世巨著的同时,也道听途说了一些微软公司软件工程是如何的完善和规范。软件项目管理的成败是控制开发成本的关键环节。这里面,少不了贯穿其中的重要步骤软件文档。 …
结合Composer 新版本PHP的开发方式
结合Composer 新版本PHP的开发方式,有需要的朋友可以参考下。
一、PHP的一些臭历史
Dependency Manager For PHP,Composer。在Composer还没诞生之前,PHP的代码很难被管理。虽然pear社区的支持,许多可重用代码可以通过pear来获得,但是pear在处理代码关联性上非常差,当然还有许多问题。Java领域有Maven工具, .Net 的VS工具集成了NuGet,都是非常好使的关联管理器。但是PHP何去何从?Composer诞生了。它的诞生很大意义上是因为php的3.0版本被普及了,php的命名空间特性让代码包可以在全球级别上具备唯一识别性。当然有人说,我们可以在一个类的命名上做文章也可以做到,但是,会带来许多问题,类名太长,命名重名性高,文件的组织性识别性差等等。PHP根本无法忽略java,.net一直在被使用的package与命名空间的特性,php必须换血。随着php3.0
的普及,通过众多第三方的努力,PHP社区迅猛的积累了许多可用的代码库,起初,大部分代码库都是分享在Github,采用git的方式获取。虽然这个可取,但是关联管理以及操作性上还是比较差。我们需要一个更加简单的具备关联管理的代码库管理工具。Yeah。Composer。…
composer之创建自己的包
composer的出现,使得PHPer可以像java一样更加方便的管理代码。在composer没有出现之前,人们大多使用pear、pecl管理依赖,但是局限性很多,也很少有人用(接触的大多phper基本不适用pear管理依赖)。composer不仅仅能够解决依赖的问题,也可以在一定程度上解决造轮子的问题。
废话不多说,这篇主要记录如何创建自己的package。…
PHP项目中composer和Git的组合使用
…
深入浅出LVS:企业集群平台负载均衡的三种模式和算法实现
Load Balancer层:位于整个集群系统的最前端,由一台或多台负载调度器(Director Server)组成。LVS核心模板IPVS就安装在Director Server上,而Director的主要作用类似于一个路由器,它含有为完成LVS功能所设定的路由表,通过这些路由表把用户的请求分发给Server Array层的应用服务器(Real Server)。…
PHP中的线程安全
缘起TSRM
在多线程系统中,进程保留着资源所有权的属性,而多个并发执行流是执行在进程中运行的线程。如Apache2 中的woker,主控制进程生成多个子进程,每个子进程中包含固定的线程数,各个线程独立地处理请求。同样,为了不在请求到来时再生成线程,MinSpareThreads和MaxSpareThreads设置了最少和最多的空闲线程数;而MaxClients设置了所有子进程中的线程总数。如果现有子进程中的线程总数不能满足负载,控制进程将派生新的子进程。
Nginx 泛解析实现二级域名或三级域名泛解析
方案1. Nginx 泛解析实现二级域名或三级域名泛解析
方法:
在nginx vhost配置文件里 修改 server_name 添加*.domain.cn
如:server_name *.domain.com www.domain.com;
优点: 实现起来非常简单.
缺点: 可导致多个泛域名访问同一个页面.
方案2. nginx rewrite 实现二级或三级域名泛解析
在 nginx vhost配置文件server里 添加
#if ($host …
PHP并发IO编程之路
并发IO问题一直是服务器端编程中的技术难题,从最早的同步阻塞直接Fork进程,到Worker进程池/线程池,到现在的异步IO、协程。PHP程序员因为有强大的LAMP框架,对这类底层方面的知识知之甚少,本文目的就是详细介绍PHP进行并发IO编程的各种尝试,最后再介绍Swoole的使用,深入浅出全面解析并发IO问题。…
近期评论