• 展开微博窗口
  • QQ:826945906
  • 微信:u200714928
  • 展开分类目录
胡伟

Python Web框架对比

说到Web Framework,Ruby的世界Rails一统江湖,而Python则是一个百花齐放的世界,各种micro-framework、framework不可胜数,不完全列表见: http://wiki.python.org/moin/WebFrameworks。 虽然另一大脚本语言PHP也有不少框架,但远没有Python这么夸张,也正是因为Python Web Framework(Python Web开发框架,以下简称Python框架)太多,所以在Python社区总有关于Python框架孰优孰劣的话题,讨论的时间跨度甚至长达3-5年。 Python这么多框架,能挨个玩个遍的人不多,坦白的说我也只用过其中的三个开发过项目,另外一些稍微接触过,所以这里只能浅谈一下,欢迎懂行的朋友们补充。 Django Python框架虽然说是百花齐放,但仍然有那么一家是 …

MySQL存储引擎对比

对于初学者来说我们通常不关注存储引擎,但是 MySQL 提供了多个存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在 MySQL 中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。 存储引擎简介 MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。 存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。 例如,如果你在研究大量的临时数 …

PHP命名空间

1.为什么需要命名空间 在PHP中,命名空间用来解决在编写类库或应用程序时创建可重用的代码如类或函数时碰到的两类问题: 1.用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。 2.为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。 2.命名空间的三种用法 在说别名和导入之前,需要知道关于空间三种名称的术语,以及PHP是怎样解析它们的。官方文档说得非常好,我就直接拿来套了。 1.非限定名称,或不包含前缀的类名称,例如 $comment = new Comment();。如果当前命名空间是Blog\Article,Comment将被解析为Blog\Article\Comment。如果使用Comment的代码 …

PHP各版本主要ChangeList

一、PHP5.2以前(2006前) 顺便介绍一下 PHP5.2 已经出现但值得介绍的特征。 autoload 大家可能都知道 __autoload() 函数,如果定义了该函数,那么当在代码中使用一个未定义的类的时候,该函数就会被调用,你可以在该函数中加载相应的类实现文件,如: 复制代码 代码如下: function __autoload($classname) { require_once(“{$classname}.php”) } 但该函数已经不被建议使用,原因是一个项目中仅能有一个这样的 __autoload() 函数,因为 PHP 不允许函数重名。但当你使用一些类库的时候,难免会出现多个 autoload 函数的需要,于是 spl_autoload_register() 取而代之: 复制代码 代码如下: spl_autoload_register(function($cla …

php框架选型

为何使用框架 使用框架主要是在团队协作开发过程中统一开发规范、程序设计模式,遵循开发框架的各种约定,无论在编码还是以后的维护过程中都是易于管理的。另外就是框架会集成丰富的类库、函数库,也避免你的重复劳动,可以“随地取材”,提升开发的效率。作为新人,我们是不提倡学习框架的,尽量还是从PHP本身先学起,例如很多框架中都提供了ORM、CURD这类东西,但刚刚接触PHP的同学连PHP+MySQL都没有搞太清楚,直接选择框架式不可取的。 另外一些简单的应用也不必选择框架,例如一些小的工具或者功能,本身编写就不是很复杂,选择一套框架反而让你的程序变得臃肿。个人开发的时候也是根据情况而定,如果一些程序员本身就有一套开发思路 …

go心得

先大概说下为什么用 Golang。我是一个对语言有洁癖的人,曾经是一个C+Python 的坚定呐喊者,最常说的一句话就是,只要熟练这两种,什么情况都能应付,根本不用 Java 和 C++(纯指我所在的领域)。核心代码用C,速度快,需要记的语言细节少;外围用 Python glue,灵活,简洁,任何模块都容易上手,绝配。Java 的繁琐,C++ 的无数无用的特性,都让我只在不得不用的时候才去用。Objective-C 是另一个我欣赏的语言,问题是不跨平台,过于封闭。 可惜的是,在这个节奏极快的时代,不是所有情况下都适合上C。之前有一个项目也是类似的架构和规模,为了节省时间,当初几乎没有服务器平台编程经验的我,在服务器端选择用 Django+Apache+MySQL  做 …

mysql树形结构数据存储方案

今天来看看一个比较头疼的问题,如何在数据库中存储树形结构呢? 像mysql这样的关系型数据库,比较适合存储一些类似表格的扁平化数据,但是遇到像树形结构这样有深度的人,就很难驾驭了。 举个栗子:现在有一个要存储一下公司的人员结构,大致层次结构如下: (画个图真不容易。。) 那么怎么存储这个结构?并且要获取以下信息: 1.查询小天的直接上司。 2.查询老宋管理下的直属员工。 3.查询小天的所有上司。 4.查询老王管理的所有员工。   方案一、(Adjacency List)只存储当前节点的父节点信息。 CREATE TABLE Employees( eid int, ename VARCHAR(100), position VARCHAR(100), parent_id int ) 记录信息简单粗暴,那么现在存储 …