兄弟的网站上线,欢迎大家多去光顾!
有需要房子装修的朋友可联系我或”第一空间装饰公司”,
价格优惠, 实实在在, 咨询下也是可以的.
www.027dykj.com
Frank 文章 装饰设计
CouchDB又一种关系数据库.
如果您是位典型的 PHP 开发人员,就不难通过以往的项目得到这样一个结论:在多数(如果不是全部)情况下,为了进行动态数据处理,您都会让 PHP 与数据库后端进行对话;而在这些实例中,99% 的情况下使用的都是 MySQL。
如今,使用关系型数据库无可厚非。如果所处理的数据结构复杂,并具有多种关系,那么这么做是很合理的。您可以顺利地(或是不太顺利地,取决于 您对 SQL 的熟悉程度)进行对模式、数据关系、表等等的处理。
不过,您所从事的项目有时也会让您不经意间心生疑问:“为什么我要做所有这些工作?” 您所从事的这个项目包含了一些简单的或难以预测的数据 — 在不同的日子获得的数据字段可能不同甚至事务之间的数据字段都不尽相同。若是创建一个模式来预测将会出现什么数据字段,结果很可能会得到内含大量空字段的 表或大量的映射表。
对于这些项目,您需要采用一种不同的方式 — 不涉及关系型数据库。在这些情况下,您需要的是一个基于文档的、没有模式的、具有扁平地址空间的特别数据库。简言之,您需要 Apache CouchDB。
阅读全文…
Frank Database相关, PHP相关 couchDB
最近又回到在Ubuntu下开发,发现Zend的支持实在太差劲,问题一堆,用起来影响心情,就Go了一把,无意中发现几个好东东, 个人感觉不错,有兴趣的朋友下载试试.
1. 一个轻量级的PHP IDE工具,安装后简单使用了下,感觉 不错。
Dev-php,比起Editplus在开发的时候要强,当然各有强项,大小安装后2M多点,可惜只能在Window下用。
2. 一个集成环境套件,这个套件不同一般的套件,是需要自己来编译的(一键搞定),用它自带的“脚本bash”安装,目前只发现支持Linux, 名称:Lnmpp
3. 一个代码在线编辑器(无需安装,浏览器运行),可创建工程,可连接FTP {Ajax的操作页面,有点像EXTjs}。
地址:http://phpanywhere.net/
下载:devphp2_4_0_338
Frank Linux/Unix相关, PHP相关 IDE, 套件, 开发
又拍网是一个照片分享社区,从2005年6月至今积累了260万用户,1.1亿张照片,目前的日访问量为200多万。5年的发展历程里经历过许多起伏,也积累了一些经验,在这篇文章里,我要介绍一些我们在技术上的积累。
又拍网和大多数Web2.0站点一样,构建于大量开源软件之上,包括MySQL、PHP、nginx、Python、memcached、redis、Solr、Hadoop和RabbitMQ等等。又拍网的服务器端开发语言主要是PHP和Python,其中PHP用于编写Web逻辑(通过HTTP和用户直接打交道), 而Python则主要用于开发内部服务和后台任务。在客户端则使用了大量的Javascript, 这里要感谢一下MooTools这个JS框架,它使得我们很享受前端开发过程。 另外,我们把图片处理过程从PHP进程里独立出来变成一个服务。这个服务基于nginx,但是是作为nginx的一个模块而开放REST API。
阅读全文…
Frank Database相关, Linux/Unix相关, PHP相关 分库设计
几乎所有的富 Web 应用都基于一个或多个 Web UI 库或框架,这些 UI 库与框架极大地简化了开发进程,并带来一致,可靠,以及高度交互性的用户界面。本文介绍了 15 个非常强大的 JavaScript Web UI 库,非常适合各种各种规模的富 Web 应用的开发。
LivePipe
LivePipe UI基于Prototype Javascript 框架,包含了一整套经严格测试并高度可扩展的 UI 控件,拥有很好的文档,在不支持 JavaScript 的环境中,可以无缝降级使用。包括 Tab, 窗体,文本框,多选框,评分控件,进度条,滚动条,右键菜单等多种控件。
LivePipe首页与下载
LivePipe演示与示例

阅读全文…
Frank Ajax相关 Javascript, ui
如何有效强奸百度,跟百度以硬碰硬,并以节约成本为基本,靠百度赚钱为本。加盟百度联盟,放个百度代码,重新提 交后就可以。一旦拥有优质优化模板,你可以用于电影,音乐,彩信,交友等大量娱乐站上,可为你后期提升带来极大的帮助。
首页
如何有效强奸百度,跟百度以硬碰硬,并以节约成本为基本,靠百度赚钱为本。更好地反百度,看完 此篇文章后,就无需再上什么fanbaidu.com了
一。瞒天过海
俗称隐藏内容,多用于BLOG论坛等 web1.5、web2.0平台,多数此类平台,都以正规话题为主题,有技术,文字,财经,网络安全,百科,教育,也有生活休闲,时尚百科,吃喝玩乐等, 在此类表面好似正规的平台中,时常夹杂一些刻意优化或者作弊手法的文章,让百度防不胜防。也可用于新站收录,现在一般电影站,彩信站,成人站,百度是不收 录的,就算你换了再多的米,也是无济于事,这时就可先放个正规内容的主页,再到http://www.baidu.com/search /url_submit.html登录网址,即可让百度收录,快则隔天,慢者不超一周。这里要着重讲一下百度的“三度检查”,很多新收录的站就因为不晓得 三度检查,而收录不久再度被封。百度在收录网站当天,会对网站进行首次人工检查,隔一周后,百度机器人已完成对网站的初步索引,会有二次人工检查,再隔两 周(即收录20天),百度已全面做好网站索引,把绝大部分网页都显示出来,会有第三次人工检查,简称百度三度检查。如果有心对百度动手脚的话,一定要懂得 忍住性子,逃过百度三度检查,坚决不放任何百度不喜欢的内容。之后你想放什么,百度都很少再会人工光顾了。我的一个站长朋友,用此法,成功让百度收录了近 十个充满成人电影词优化贴的BLOG,长达半年之久也依然收录。
阅读全文…
Frank 文章 排名, 百度
最近在看Ruby On Rails,将一些相关的资源记录下来,方便有需要的朋友查找。
准备工作
1. 生产环境,集成套件来得快,推荐Instant Rails,SVN下载地址
svn checkout http://instantrails.rubyforge.org/svn/
或
svn checkout svn://rubyforge.org/var/svn/instantrails
(原地址:http://rubyforge.org/scm/?group_id=904)
2. IDE开发工具,重量级的用NetBean, 中量级用RadRails,轻量级编辑器用SciTE,如果你一直用Eclipse,也可去下载一个插件。
3. Rails开发,当然离不开API手册, 贴一个在线手册
http://api.rubyonrails.org/
到此学习Ruby On Rails的准备工作完成,可以开工了,体验Ruby On Rails的乐趣!
Redmine: 一款基于WEB项目管理的软件,是用Ruby On Rails框架开发的跨平台的项目管理软件.
Frank Ruby相关 ruby on rails
通用权限系统设计是更换权限时候尽量不要涉及到代码修改
/*
03 *控制访问表
04 * acl值 功能
05 * 1 需要登录
06 * 2 自身修改
07 * 4 需要组的权限集合
08 * 8 需要身份访问集合
09 * 16 身份被禁止访问
10 * 32 可访问的日期
11 * 64 可访问的周日
12 * 128 可访问的<span class="t_tag" onclick="tagshow(event)">时间</span>
13 * 256 输入密码才能访问
14 * 512 超级管理使用
15 */
class aclACL extends acl {
public $routername="acl";
public $aclid='2'; //权限资源ID,如果登录人员没有拥用这个权限那么其(下面)它值都为0也不能访问
public $roledisable=array(9); //禁用身份
public $pwd=123456; //密码访问 ACL->noPwd();
public $date=array('begin'=>0,'end'=>0); //允许日期之间
public $hours=array('begin'=>0,'end'=>0); //一日内小时区间
public $weeks=array('begin'=>0,'end'=>0); //一周内周一到周七
public $aclgroup=array("create"=>"4,45,8"); //create需要的组才能创建
public $aclrole=array("all"=>"6","create"=>"7,95,78"); //create需要的角色才能创建,该组需要ID为6的角色才能访问
public $acl=array("all"=>0,
"index"=>4, //表列4表示检查组的组合
"delete"=>1, //删除只登录后删除,当然呆以设置为2或4
"update"=>1, //更新提交只能登录后才能更新,在这里做也防止非法、<span class="t_tag" onclick="tagshow(event)">post</span>,edit是不能访问显示编辑内容页
"createForm"=>1, //也不能新提交<span class="t_tag" onclick="tagshow(event)">数据库</span>
"edit"=>0, //登录才显示编辑框
"show"=>0, //不用登录也能显示
"create"=>1); //创新表单需要登录操作 可以设置某个组才能创建
}
?> |
这个是要认证的文件模块是acl 每当用户访问acl模块时候,如果开启了认证那么会调用这个类 然后这个类会根据$acl 的all或index等值去做认证检查。 把这个文件放在router/acl目录里面就可以了,框架会自动认证如果用户没有相应的正向授权是无法访问相 应的限制的。 比如crud create方法 负向权限为17 那按照前面解释应该是 需要登录和组授权 就是$aclgroup 数组中create的4 45 8三个组, 首先会员没有登录将提示登录,如果会员不在这三个组是无法访问该方法的会提示没有权限。 目前router可以自己根据情况开启用acl控制 方法是在xxxxRouter.class.php文件中 添加 public function isAcl(){} 可以返回权限文件名比如返回curd,那么自动会调用curdACL.class.php类和名 curdRouter类设置验证
<?php
class curdRouter extends controller{
//返回 RBAC 控制访问列表验证类默认是跟router同名也就是curd
//可以不写这个<span href="tag.php?name=%BA%AF%CA%FD" onclick="tagshow(event)" class="t_tag">函数</span>,那么不会启用通用权限系统。
public function isAcl(){}
public function index()
{
$booktype=M("booktype");
$this->pager=C("pager");//取得分类
$this->pager->setPager($booktype->count(),10,'page');//取得<span href="tag.php?name=%CA%FD%BE%DD" onclick="tagshow(event)" class="t_tag">数据</span>总数中,设置每页为10
$this->assign("list",$booktype->orderby("bookid desc")->limit($this->pager->offset(),10)->fetch()->getRecord());
}
public function login(){ //登录<span href="tag.php?name=%D2%B3%C3%E6" onclick="tagshow(event)" class="t_tag">页面</span>
}
public function logout(){ //退出页面
MY()->logout(); //退出登录
redirect(url_for("guestbook/index"),"退出成功",3);
}
public function noAcl($mask) { //处理一下如果没有权限转向登录
redirect(url_for("guestbook/login"),"需要登录",3);
}
public function loginpost() { //登录提交地方 简单处理下登录认证
if($_POST['author']=='queryphp'&&md5($_POST['pwd'])==md5('123456'))
{
MY()->setLogin(); //设置登录状态
redirect(url_for("guestbook/adminlist"),"登录成功",3);
}
redirect(url_for("guestbook/login"),"登录失败",3);
}
/////////////////////////////////////////////
缓存数据,登录时候恢复。
*/
class mybase {
public $options=array();
public $uid;
public $username;
public $isadmin;
public $role=array(); //我使用的身份
public $group=array(); //我所在组
public $grouprole=array(); //组的身份
public $mygroupMar=array(); //我拥有管理的组
public $mygroupOwn=array(); //属于我的组
public $acl=array(); //主动控制表 groupacl和myacl控制权限集合 内容是rbac的rbacid
public $groupacl=array(); //组拥用的控制权限
public $myacl=array(); //我的身份拥用的控制权限
public $loginfaild=0; //登录失败次数 如果超过这个数应该禁止IP登录几分种
////////////////////////////////////////
//这是基本可以把myUser.class.php放在项目lib目录里面
//////////////////////////////////////// |
使用MY()函数就可以取得myUser了。
下载测试例子和chm手册
http://code.google.com/p/queryphp/downloads/list
原文
Frank Database相关, PHP相关 权限系统
Git 是 Linux Torvalds 为了帮助管理 Linux® 内核开发而开发的一个开放源码的版本控制软件。我们可以自己下载这个软件用于对内核的 hack 分析,或者用来管理自己的软件开发项目。本文将向您展示如何使用 Git 工具开始分析 Linux 。
在现代软件开发项目中,要成为一个有效的软件开发人员,我们必须能够与其他项目贡献者并行进行开发。源代码管理(SCM)系统不是什么新思想。为了 编写一些能够更快速、简单地开发以后软件项目的软件,已经进行了很多尝试。最新的源代码解决方案都包含了版本控制系统,它可以对源代码的修改进行回滚,从 而将有害的代码剔除出项目之外,或者简单地跟踪哪些人修改了代码的哪些行的内容。版本控制系统试图解决开发人员在试图同时对某个文件进行修改时所出现的冲 突问题,可以防止用户覆盖其他人所作的修改。源代码管理使用的很多流行解决方案都试图解决以前 SCM 解决方案中的失效问题。
集中化的版本控制系统通常采用两种方式:
- 有些提供了文件锁来防止多个用户的并行访问。这些系统对文件进行加锁,这样在某个时间只有一个开发人员对中心仓库具有写入权限。
- 另外一些工具,例如 CVS,允许多个开发人员同时对相同的文件进行编辑,并提供了一些机制稍后合并这些修改。
流行的版本控制系统包括:
- CVS
- Subversion
- Arch
- Bazaar
- BitKeeper
什么是 Git?
非常简单地说,Git 是 Linus Torvalds 最近实现的源代码管理软件。正如所提供的文档中说的一样,“Git 是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问。”
Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如,X.org 最近就迁移到 Git 上来了,很多 Freedesktop.org 的项目也迁移到了 Git 上。
阅读全文…
Frank Linux/Unix相关, Network/Servers相关, 文章 git, 版本控制器
在缓存服务器中知名的Memcache大家都知道, Redis是一个key-value键值对高性能的缓存数据库, 它的速度相对Memcache快很多, 提供了Python, Ruby, Php的客户端, 今天安装了它, 将过程记录下来.
Redis 的写入和读取性能相当不错,在一台主流配置的 1U Linux 服务器上,基本可以达到 11 万次每秒的写入和 8.1 万次的读取。能够取得这样的性能是因为 Redis 在运行时会把整个数据集都放在内存中进行操作,通过定时或不定时的方式将数据写到磁盘。(引用网友, 本人未作证明测试)
这里我以PHP使用Redis的安装过程.
一. 准备工作
下载相关文件
Redis:http://code.google.com/p/redis/ (服务端)
Rediska:http://rediska.geometria-lab.net/ (客户端)
Rediska Document:http://rediska.geometria-lab.net/documentation (文档)
本站下载: redis-1.2.6.tar.gz , rediska-0-4-0.zip
用下面的命令把最新版的Rediska下载到/usr/share/php/目录(可指定目录)下:
cd /usr/src
[ -d Rediska ] || git clone git://github.com/Shumkov/Rediska.git
cd Rediska && git pull && rsync -a ./library/ /usr/share/php/
阅读全文…
Frank Network/Servers相关, PHP相关 redis, 缓存
PhpDig是一个采用PHP开发的Web爬虫和搜索引擎。通过对动态和静态页面进行索引建立一个词汇表。当搜索查询时,它将按一定的排序规则显示包含关 键字的搜索结果页面。PhpDig包含一个模板系统并能够索引PDF,Word,Excel,和PowerPoint文档。PHPdig适用于专业化更 强、层次更深的个性化搜索引擎,利用它打造针对某一领域的垂直搜索引擎是最好的选择。
本站下载:phpdig-189-rc1
源下载:http://www.phpdig.net/download.php?digfile=phpdig-1.8.9-rc1.zip
Demo: http://www.phpdig.net/navigation.php?action=demo
Frank Network/Servers相关, PHP相关 phpdig, 搜索引擎, 爬虫
最新评论