Nginx 自动禁止爬虫IP采集

背景最近我们有一个公开服务提供给客户查询关键词的热度值,由于这个API做在官方网站上,自然没有用户登陆,也没有很高查询成本,所以设计上没有任何鉴权无法进行身份认定,于是就被一个爬虫开了超高并发请求,直接后端的AWS Tomcat CP... Continue reading

GoogleTagManager 国内代理以及Chrome Extension接入GA4

背景Google Analytics(UA) 于2023年7月要求全面下架,所以必须迁移使用 Google Analytics 4(GA4),在迁移的过程,因为GA4使用的是 GoogleTagManager 的方式进行装载,我们发现... Continue reading

Redis原子性事务Lua应用

Redis 平时用的挺多,大多是情况用于队列消费和缓存,很少用上事务,最近因为队列高并发消费问题,处理完成后整理出相关的信息;背景大量业务需要从 Redis List Pop 出任务进行处理,部分任务处理可能出现因为第三方接口频率限制... Continue reading

Ngrok私有自定义域名部署

Ngrok如果你完全不知道它是什么东西,可以在它的github项目上了解下:https://github.com/inconshreveable/ngrok简单概括:能够将你本机的HTTP服务或TCP服务,通过部署有ngrok服务的外... Continue reading

在敏捷回顾会议中引导使用ORID

头一次接触ORID方法在2015年的一次敏捷回顾上,但是还不知道它,当天围坐在小会议室中通过该方法总结迭代开发经验,使我很有收获。ORID工作法很好理解,几乎一听就会,只是日常工作中我们总会选择更偷懒的方法,而忽略了总结过程中思考和逻... Continue reading

生产环境Linux部署

1. 启动网卡ifup eth02. SSH链接 ifconfig 查看IP后SSH终端连接3. 更新基本软件包yum install ntpdate wget lsof -y 备份原系统更新源mv /etc/yum.repos.d/... Continue reading

SVN 迁移到 GitLab

由于公司搬迁到原因,一直以来都和其他部门公用SVN,权限分配也是分管部门配置的,SVN上很多项目文件,各种branches,tags命名不规范化,产品运营也都混合使用,介于此情况下,考虑将我们有价值以及正在研发都项目都迁移到我们自己到... Continue reading

Mac brew php7.1环境下安装Runkit

开发机一直使用brew来安装PHP及其他的环境,今天把PHP升到7.1,由于7.1版本下还没有runkit的源,官方也没有更新支持到php7,庆幸Github上有人Fork后做了支持,所以无法使用brew安装,只能编译安装了。首先下载... Continue reading

通过Nginx拷贝请求流量到测试环境测试

最近通过 Java 重写了一个简单但流量较大的 PHP 项目,但需要做一个稳定的线上测试,将 PHP 项目的流量拷贝一份至 Java 项目上,在保证项目稳定的同时,从而评估出 Java 服务在性能和成本上的变更。于是我最快联想到的解决... Continue reading

Intellij IDEA使用Maven快速创建Spring MVC Web项目工程

最近团队正在做一些Java的转型,在一段时间的编程过程中,发现Java配合Maven的XML配置蛮多的,自己在调试的过程中也是踩了不少的坑,期间遇到各种问题,搜索的网上大量的文章,虽然大部分都是互相转载,加之自己摸爬滚打,周围有经验丰... Continue reading

MySQL InnoDB删除数据后释放磁盘空间

Innodb数据库对于已经删除的数据只是标记为删除,并不真正释放所占用的磁盘空间,这就导致InnoDB数据库文件不断增长。如果在创建数据库的时候设置 innodb_file_per_table=1,这样 InnoDB 会对每个表创建一... Continue reading

SSH免密码登录的方法

由于项目以及服务器管理比较多,OSX上操作直接使用终端,无法如Windows Xshell一般记住密码,每次ssh的时候都要输入密码实在太浪费时间,今天有空一口气全部改为公钥/私钥认证,登录再也不用任何密码了。实现步骤:在你的自己的机... Continue reading

Composer使用内网私有仓库进行包管理

由于长期使用Composer进行包依赖管理,许多公用的类库都会放在GitHub上,在多个项目之间引用依赖,更新版本时,减少了很多成本,但还是存在一些问题: 每次更新,本地需要跑过单元你测试,Commit并Push到Github,等待... Continue reading

2015年终总结与2016计划

转眼已是2016年初三,今天正好回了一趟母校,最大的感触时间过得真快,已经毕业10年了,回想下来是该回头好好总结一下2015年。先说说目标吧,当时14年结束的时候,在『百度无线91』给自己定了一个目标:研发架构师,回首再看确实目标定的... Continue reading

AWS EC2 通过 resize2fs 修改 EBS Volume

本文转载:aws ec2 硬盘 resize2fs在申请 AWS EC2 时,按照向导,在选择存储的时候默认硬盘大小是 8G,这时候可以根据自己的需要输入一个合适的数字,例如100。完成向导并启动 EC2 instance 后登陆... Continue reading

ShadowSocks 科学上网

ShadowSocks属于Socks5代理,是一个开源项目。ShadowSocks使用自定义协议,屏蔽和干扰就更为困难,因此相对来说稳定一些。Install有网友做了个服务器端一键安装ShadowSocks的脚本,使用root用户登录... Continue reading

Setting Up with AWS S3

Create S3 Bucket S3 Dashboard > [Create Bucket] Create a Bucket - Select a Bucket Name and Region Bucket: [cash... Continue reading

Setting Up with AWS RDS(MySQL)

Create MySQL Instance RDS Dashboard > Instances [Launch DB Instance] Select Engine [MySQL] Do you plan to use t... Continue reading

Setting Up with AWS Elastic Load Balancing

Create ELB EC2 Dashboard > LOAD BALANCING > Load Balancers [Create Load Balancer] Define Load Balancer Assig... Continue reading

Setting Up with AWS ElastiCache(Redis)

Create Redis Instance ElastiCache Dashboard > Cache Clusters [Launch Cache Cluster] Select Engine [Redis] Speci... Continue reading

Setting Up with AWS EC2

Create Security GroupsSerivces > NETWORK & SECURITY > Security Groups [Create Security Group]Press [Create]... Continue reading

在PHP与NodeJS上通过CasperJs登录facebook获取profile id

神奇的CasperJs最近的这个业务真心让我感觉有点蛋疼,由于客户端毫无下限的行为,服务端为了配合其数据结构,需要拿到facebook profile id(uid)更好的与客户端做对接,完成Web版业务功能。像facebook这样的... Continue reading

linux用extundelete恢复ext2、ext3、ext4下rm -rf误删除的数据

国外的Linux系统管理员守则中有这么一条:“慎用 rm -rf 命令,除非你知道此命令所带来的后果“Linux下删除文件并不是真实的删除磁盘分区中的文件,而是将文件的inode节点中的扇区指针清除,同时释放这些数据对应的数据块,当释... Continue reading

搭建Docker Registry

感谢knktc的Docker Registry的搭建方案,成功搭建后并在项目中很好的应用了,转载文章,以下为正文部分。 本文转载:搭建自己的docker registry平时我们使用的docker镜像都来自官方的docker ind... Continue reading

如何在Centos 6上设置NFS挂载目录

本文翻译自:How To Set Up an NFS Mount on CentOS 6关于 NFS (Network File System) 挂载NFS挂载工作与多个服务器之间共享一个目录。由于主目录存在一台服务器上,所以有节... Continue reading

MySQL Proxy监听数据库表结构变更

最近团队在进行持续集成时发现,RD团队快速开发的过程中对数据表结构更变的频率非常高,当提测QA团队出现一个致命问题,当前 TAG 数据表比前一个 TAG 的差异性在哪里?其实不能全怪RD们,在紧张的开发过程中优先都以交付项目为目标,根... Continue reading

Mock Server 简单实现

利用 Nodejs 创建 HTTP Server 欢迎关注我Github上Mock Server项目:https://github.com/LancerHe/mock-server一.背景在 Linux 服务端模块测试中,经常会遇到... Continue reading

WordPress 迁移 Github Page

原因博客写了将近5年,说起来就前几年博文特别多,具体的应该是学习特别多,但是质量并不高,2014年开始基本很少,但质量还是不错,用了wordpress这么久最烦的就是维护它,不得不说基于数据库的HTML储存太糟糕了,写作体验也糟的不行... Continue reading

2014年终总结与2015计划

2013年底我进了无线91,这一年过的很快,也有很多话想要对自己说,1月份的时候本来想好好的总结一下这年,我用大量的加班工作借口来搪塞自己,一拖再拖直到今天,正好2014年终也下来,算起来比我当时2010年刚工作时一年的收入还高,不管... Continue reading

异步日志输出方案

深入了解PHP生命周期一.背景日志在WEB应用中的使用非常广泛,记录访问者IP,访问者操作的数据,接口请求的信息,异常提示信息等,尤其在产品环境中,我们往往需要通过日志来分析当前应用的运营情况,是否在存在一些不可见的未知错误。在程序实... Continue reading

PHP命令行下模拟Session机制

自动化测试过程中常规策略一.背景Session称为会话,是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间,如果需要的话,可能还有一定的操作空间。通常情况下Session用于存储需要在整个... Continue reading

服务端需要一个新的分层 -“数据缓存层”

实现读取缓存在数据访问层中抽离策略一. 背景使用数据缓存在WEB工程中是一个非常有意义的策略,不仅仅可以减少数据库负载,而且当数据缓存在内存中,能大大提高了的读取速度。在WEB设计中,我们往往忽略一个重要的信息 – Key,每当我们需... Continue reading

PHPUnit单元测试YAF模型层

在Yaf应用中,创建一个模型层UserModel:Class UserModel { // 初始化连接数据库,pre_common_member只有三条数据ID:1,2,3 public function __constr... Continue reading

PHPUnit单元测试YAF控制层

在Yaf应用中,创建一个控制层UserController:Class UserController extends Yaf_Controller_Abstract { // init方法相当于控制器的初始化函数,取消自动渲染视... Continue reading

文章/视频Tags数据库结构设计

标签表CREATE TABLE `t_tags` ( `t_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '标签ID', `t_name` varchar(200... Continue reading

让sql语句不排序,按照in语句的顺序返回结果

MySQL:SELECT * FROM EVENT WHERE eventId IN(443,419,431,440,420,414,509) ORDER BY INSTR(',443,419,431,440,420,414,509... Continue reading

使用nginx-http-concat自动合并静态资源,加速你的网站请求速度

首先了解一下 nginx-http-concat,他是一个淘宝的开源Nginx模块,是一个能把多个CSS和JS合并成一个请求的Nginx模块,对于Web性能优化非常有意义。Github地址:https://github.com/ali... Continue reading

Javascript获取远程图片宽高

function getMeta(varA, varB) { if (typeof varB !== 'undefined') { alert(varA + ' width ' + varB + ' height'... Continue reading

sphinx/coreseek安装

Sphinx 官方版本安装wget http://sphinxsearch.com/files/sphinx-2.0.3-release.tar.gz tar zxvf sphinx-2.0.3-release.tar.gz ./... Continue reading

安装Phabricator代码审核工具

官方安装文档 installation-requirementCentos 选择Redhat系列wget http://www.phabricator.com/rsrc/install/install_rhel-derivs.sh$ ... Continue reading

phpDocumentor安装与使用

最近再总结一些PHP的规范, 正好项目也需要文档管理,翻到了phpDocumentor, 说起来现在有了phpDocumentor2了,用起来感觉还是很方便, 而且还带bootstrap样式,就安装到使用的过程写下来, 与大家分享。这... Continue reading

Linux Git安装

相对于比较早期的系统,如Centos 5版本其实默认是没有安装Git。所以只能手动安装安装包下载可以选择一个自己认为的稳定安装源,这里我选择git-1.8.3.1wget http://git-core.googlecode.com/... Continue reading

MongoDB学习笔记三 -- 用户授权

#选择admin数据库use admin;#创建一个用户名为root,密码为root的帐户;db.addUser("root", "root");#执行查看数据表,发现失败,需要登陆。show collections;所以我们重新登录... Continue reading

MongoDB 学习笔记二

#save和insert方法类似,都是插入数据,但是save当主键相同的时候会自动更新db.c1.save({_id: 1, name:'user7'});#删除name为user1的数据db.c1.remove({name:'use... Continue reading

MongoDB 学习笔记一

#查看数据库show dbs;#查看当前数据库db;#查看集合/表 show collections;show tables; #为了兼容mysql习惯#给user集合插入一条JSON数据db.user.insert(... Continue reading

Lnmp安装MongoDB以及PHP扩展

MongoDB安装wget -c http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.4.1.tgztar zxvf mongodb-src-r2.4.1.tar.gzmv mo... Continue reading

Nodejs -- 初学安装

快速安装, 到Nodejs官网下载最新的安装包。wget http://nodejs.org/dist/v0.9.0/node-v0.9.0.tar.gztar zxvf node-v0.9.0.tar.gzcd node-v0.9.... Continue reading

HTTPSQS简单队列服务的应用安装

本文转自:基于HTTP协议的轻量级开源简单队列服务最近因为工作需要才解除到队列服务,不可不说HTTPSQS是个非常高效的一个服务应用。先介绍一些队列的原理和应用:队列(Queue)又称先进先出表(First In First Ou... Continue reading

创建一个类似Youtube的Id -- 使用PHP/Python/Javascript/Java/SQL

本文译自:Create Youtube-like IDs with PHP/Python/Javascript/Java/SQLid通常都是用数字,不巧的是只有10个数字来使用,所以如果你有很多的记录,id往往变得非常冗长。当然对... Continue reading

MySql更新多条数据不建议使用UPDATE语句

我们知道当插入多条数据的时候insert支持多条语句:INSERT INTO t_member (id, name, email) VALUES (1, 'nick', 'nick@126.com'), (4, 'ange... Continue reading

Windows上使用CSS合并打包工具css-combo

首先介绍下css-combo的功能:把CSS模块化的文件,打包合并到一个CSS文件中。为什么项目中可能需要使用这个工具,作者给出了详细的说明。http://www.techcheng.com/study/css/introduce-c... Continue reading

九个PHP很有用的功能

文章来源:http://coolshell.cn/articles/2394.html英文原文:http://net.tutsplus.com/tutorials/php/9-useful-php-functions-and-feat... Continue reading

多次重定向中http-referer的变化

先初步了解下URL重定向,Http Referer两个概念 URL重定向(URL redirection,或称网址重定向或网域名称转址),是指当使用者浏览某个网址时,将他导向到另一个网址的技术。说白了就是URL重定向就是把一个URL... Continue reading

float:left li中文标签在IE7中被自动折行

Li标签Float:left在做网页侧栏的一些tags的时候,是一种很好的选择。不过在中文字符换行问题上,可能会出现一点小问题,先看一张IE7和IE8下的效果图吧:[][1]上图IE7的效果看起来的确很蛋疼,但是在标准浏览器中是不会出... Continue reading

在Linux下实现Mysql远程访问

[][1]步骤一 激活Mysql配置文件my.cnf中的远程访问位置: /etc/mysql/my.cnf (Debian linux)/etc/my.cnf (Red Hat Linux/Fedora Linux)/var/db/... Continue reading

Vmware上通过NAT方式与Linux通信,FTP访问小结

[][1] 本文主要记录Vmware虚拟机上通过NAT方式与Linux与主机进行相互通信的问题,通过FTP上传文件,另外介绍putty工具的使用。在Vmware上使用桥接是最容易完成通信的工作,但是往往有的时候我们只有一个IP,所以... Continue reading

Bootstrap process bar 制作 iframe loading效果

[][1]最近特别喜欢Bootstrap,不仅仅因为他的简洁和漂亮,更因为他的可扩展和自定义组合效果让我着迷。今天正好在研究iframe loading,发现bootstrap process bar的样式非常适合做loading载入... Continue reading

301重定向html页面 -- 利用404页

相信大家都知道一个页面被永久不再使用的时候,都会重定向到新的一个页面,否则将会出现404 not found。一般情况下服务器端可以告知浏览器这个页面已经永久重定向到指定的页面,而永久重定向称作301重定向。一般情况下服务端可以这么写... Continue reading

快速搭建你的前端工程 -- Bootstrap

作为一个PHP工程师,大部分时间都和服务器端语言打交道,从而在前端javascript以及美工,CSS兼容性上有着一定程度的弱势。常常因为要设计一个简单而又美观的界面或是图标寻求设计师的帮助。然而Bootstrap却可以很简单的解决这... Continue reading

GoAgent图文设置教程:从此翻墙无压力

最近VPN不好使,找到一个很好的翻墙方式,利用google app engine帐户,如果有gmail的朋友一定能省下不少步骤。本文转载自:http://www.x-berry.com/goagent相信有很多人都懂得使用GoAgen... Continue reading

Chrome视频音频下载插件 -- FVD Video Downloader

今天正好在查找Chrome插件,无意中在Chrome的网上应用商店里看到FVD Video Downloader,以前都是用Firefox的视频插件来下载一些优酷,搜狐的视频。而这次Chrome终于有自己的Media下载器了。添加应用... Continue reading

Sublime Text 2开发工具用法心得

今天看到一款神器级的开发工具,sublime text2(点这官网下载) ,这一两天试用中,对各种编辑辅助功能,语法高亮,快捷键,snippet,插件都有大致的了解,列下各个细节功能点吧:1. 项目文件夹浏览: sublime不同于n... Continue reading

整理网站

转眼已经国庆假期的第三天,每次放假都毫无作为,度日如梦的我,这次的假期出乎意料的平淡和无聊。没有总是在玩游戏,也许是厌倦了虚拟生活,也许是现实生活给予的更大压力吧。前端时间网站备案通过了,正好也移动到国内的主机了,由于平时的工作都是连... Continue reading

网站备案成功

备案花了20多天,又是照相,又是送材料,核对真实性。终于把网站备案下来了!终于可以访问自己的博客了!太开心了,这几天一定我的网站出现了好多次404。不过邮箱里的垃圾评论倒是少了不少…… Continue reading

[转载]图解Google搜索秘籍:使用快捷键 善用数据库

2月24日,《商业周刊》近日刊登名为《五招图解 Google 搜索秘籍》的文章,详细分析利用Google 搜索信息技巧。以下为全文:江湖上有这么一说:欲练神功,必先谷歌!而你是否每次在Google时都只加入空格键分隔关键词呢?最近伊利... Continue reading

jQuery实现鼠标点击Div区域外隐藏Div

[][1]jQuery本身没有这样一个事件,要实现这个效果,我们首先要先了解javascript中的事件冒泡。 冒泡定义:当一个元素上的事件被触发的时候,比如说鼠标点击了一个按钮,同样的事件将会在那个元素的所有祖先元素中被触发。这一... Continue reading

jquery美化下拉框select插件czCombobox ( 原创 )

其实之前也用过网上很多select美化插件,但是由于很多事件没有办法自定义,或者一些Bug的原因我无法对原始插件进行扩展。所以还是决定自己写一个。这个插件其实很早就写好了,只是由于Bug比较多,就没有对外发布过,近来整好有时间,就顺便... Continue reading

PHP中去除特殊空白换行方法

第一种写法: 指定替换,根据需要替换掉。$str = str_replace(array(“\r\n”, “\r”, “\n”), “”, $str);第二种写法: PHP_EOL是php规定的特殊的转义字符,比较推荐使用换行缩进的时... Continue reading

文章系统中的Content html保存

最近做一个文章发布系统,突然发现我的PHP基础只是很薄弱,尤其是保存文章content部分的时候经常出现转义问题。首先我们需要对POST和GET数据做自动转义过滤,那么我们需要判断服务器是否开启了自动转义,否则我们可能出现重复转义。i... Continue reading

Html email标签Mailto标签的使用方法

之前一直以为mailto只能选择邮件地址,由于任务需要添加默认标题,才特地搜索了下,结果发现果然有这个功能。以下转自:http://www.360doc.com/content/09/0805/14/16915_4684377.sht... Continue reading

Uncaught TypeError: Property ‘reset’ of object # is not a function

今天碰到一个非常特殊的问题,由于ajaxform提交后需要对当前form进行reset,但是在reset的时候一直报错: Uncaught TypeError: Property ‘reset’ of object # is not... Continue reading

PHP利用checkdnsrr过滤更有效的邮箱地址

PHP检验邮箱大部分都通过正则,但是正则依然不能过滤出一些无效的邮件。如:atin@12232ssd.com, 像12232ssd.com这样的域名很可能是不存在的,邮箱存在的前提条件就是域名必须存在。庆幸的是PHP可以具有检查域名是... Continue reading

兼容阴影,固定DIV位置的CSS样式

.shadow{ width:250px;height:auto;border:#909090 1px solid;background:#fff;color:#333; filter:progid:DXImageTran... Continue reading

DW中的正则替换应用

今天发现使用DW中的正则替换特别好用,于是正好发现网上有一篇实例教程写的很好,转自:http://oa.yubooa.com/html/4588.html网站优化过程中,经常会遇到很多要批量修改的东西,一个个修改,明显效率低下。本文是... Continue reading

CSV格式不支持UTF-8编码,多语言乱码

由于我们的开发模式一般选择UTF-8编码,所以当存在简体中文,繁体中文,韩日,日文时候,一般页面是不会出现问题的,但是今天做了个项目当导出的CSV的数据存在多国,不同语言的数据时候,数据将会出现乱码。而以往的案例一般只做一种语言如:m... Continue reading

利用PHP登陆FTP实现服务器资源同步

由于经常操作国外服务器,深刻的感受是速度比较低,有的时候可以说非常低。最近需要两台服务器做下载数据分流。但是面临着一个问题:同时去上传两个资源到两台服务器明显是一件比较麻烦的事,而且速度很慢,花时间又多。所以想了一个办法,将资源上传到... Continue reading

如何在Apache环境下配置Rewrite规则

本文转载自:http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/05/24/1742815.htmlURL 静态化是一个利于搜索引擎的设置,通过 URL 静态化,达到原来是动态... Continue reading

jquery单选框复选框美化插件czCheckbox, czRadio ( 原创 )

最近由于需求关系,于是乎自己开发了两个用于美化checkbox和radio的插件,并提供一些回调函数的功能。这样可以随时替换自己需要的样式表。Checkbox 效果图Radio 效果图czRadio: 查看Demo    下载插件cz... Continue reading

使用YUI Compressor 和 /packer/ 压缩JavaScript

Javascript压缩后放在我们的网站上,能优化读取速度,就像我们压缩图片格式一样。降低javascript脚本代码的容量将使得你的站点提高载入速度。同时访问者也得到更好的体验。而javascript压缩有一般两种情况,用jquer... Continue reading

jQuery插件添加回调方法

在jQuery插件开发中,我们需要在执行某个动作的情况后促发一些回调函数,如hover, click, change等,或者当插件初始化完成后执行一个简单的回调函数。$.fn.myPlugin = function( setting ... Continue reading

FusionCharts参数的详细说明

FusionCharts是一个Flash的图表组件,它可以用来制作数据动画图表,其中动画效果用的是Adobe Flash 8 (原Macromedia Flash的)制作的flash , FusionCharts可用于任何网页的脚本语... Continue reading

FirePHP开发中的调试应用

安装Firebug插件和FirePHP插件,FirePHP只是Firebug的一个扩展。 登陆FirePHP的主页:http://www.firephp.org/ 下载FirePHPCore Server L... Continue reading

MySQL建立临时表应用

有的时候我们的数据表结构是这样的currentdate counts2011-07-12 152011-07-13 352011-07-14 43…2011-07-24 342011-07-25 122011-07-28 252011... Continue reading

windows下apache设置域名创建虚拟目录

打开apache下的配置文件httpd.conf找到NameVirtualHost *:80  去掉注释符,保证前面没有#,开始建立虚拟目录.<VirtualHost *:80>DocumentRoot "D:\www\g... Continue reading

CSS框架:960 Grid使用

由于工作需要,把原来的920px的网站要求使用960 Grid的标准来做,特地研究下了960 Grid System。说实在话我已经有点Out。简单的讲,960 GS就是一种基于网格的布局框架,使用它可以极大地简化页面的布局工作。要是... Continue reading

Vmware设置端口映射

将应用部署在虚拟机上,如何让其他机器访问上例如我的主机在局域网中的IP为: 192.168.0.144而对于外网的IP为:211.253.124.71如果在Vmware上使用桥接设置一个IP为192.168.0.143是最容易让局域网... Continue reading

css解决图片垂直居中

本文转载至:http://playgoogle.com/?p=85使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中。.box { /*非IE的主流浏览器识别的垂直居中的方法... Continue reading

Google Ajax Search PHP站内搜索应用

原理:Google Ajax Search其实就是返回在google上输入关键字的结果,在自己站点上用上。首先在google上申请一个Api Keyhttp://code.google.com/intl/zh-CN/apis/webs... Continue reading

IE7下position的z-index Bug解决方案

[][1]通常设置position后,通过z-index属性来设置div的层叠情况。但是在IE7中,设置position后,z-index会失效。导致div的层叠出现问题。具体效果可以看这个页面http://therealcrisp.... Continue reading

JavaScript对话框(弹出层) -- artDialog类库

最近由于项目需要,特别需要弹出层的JS类库。网上搜了大半发现artDialog这个JS库,发现确实很不错,还是国人制作的。不得不佩服,更支持国产~artDialog是一个轻巧且高度兼容的javascript对话框组件,可让你的网页交互... Continue reading

PHP中CKEditor和CKFinder使用心得

[][1]最近由于工作需要,一次性需要把所有的编辑器改进成CKEditor,不过这玩意没有上传功能,只好找到它的姐妹产品CKFinder。网上一查,才知道这两东西合伙才有希望完成上传等诸多功能。由于之前都用FCKeditor,突然使用... Continue reading

jquery中getJSON跨域示例

在 jQuery 1.2 中,您可以通过使用JSONP 形式的回调函数来加载其他网域的JSON数据,如 “myurl?callback=?”。jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。 注意:此行以后的代码将在... Continue reading

IE如何激发haslayout

如何激发 haslayout?大部分的 IE 显示错误,都可以通过激发元素的 haslayout 属性来修正。可以通过设置 css 尺寸属性(width/height)等来激发元素的 haslayout,使其“拥有布局”。如下所示,通... Continue reading

PHP cookie和session的分析

本文转载至:http://blog.chinaunix.net/u/27731/showart_259031.html 1. PHP的COOKIE cookie... Continue reading

给文章设定置顶截止时间,到时间后自动取消置顶功能

最近搞这个自动取消置顶的东西,非常之烦一开始方案是采取读出两次数据 ,一组是置顶不过期数据,一组是所有数据。然后进行数组匹配,第二个数组中不在第一个数组的数据累加到第一个数组后头。当文章数目仅仅就10来篇的时候也就罢了,倘若上百篇,这... Continue reading

几个正则表达式的学习心得

一开始我的确正则表达式头疼。不过去网上看了一些文章,其实正则并不是很难,因此记录下学习心得。1、符号 ^ 和 $ 分别用来匹配字符串的开始和结束: “^page” ... Continue reading

Jquery现实限制复选框多选数目

最近在搞一个投票系统,要求可以发布后的投票可以实现至少选多少个,至多选多少个,和QQ空间的投票类似。其实用Jquery的遍历实现起来非常快。具体代码如下:var voteMax = 7var voteMin = 3 var error... Continue reading

ExtJs 结合ComboBox的Store学习心得

在传统页面的设计中,使用select标记作为下拉列表框,但在ExtJs中 ComboBox并不是一个select,不得不说ExtJs把按钮改的面目全非,这看起来和select标记别无二致,只是更加的漂亮了,再看看ExtJs帮我生成的代... Continue reading

关于ExtJS在提交表单出现SYNTAX ERROR解决方案

今天搞了个登陆框,但是在登陆的时候一直出现等待窗体,又找不出什么原因。用FireBug检验的时候发现数据已经成功POST,但是貌似一直获取不到返回值。卡在waitMsg数据处,死循环。FireBug检查的结果是SYNTAX ERR... Continue reading

PHP在WINDOWS中执行计划任务

在Linux上通常有定时发送Email或者定时备份数据库的功能,通常是通过设置cron实现。而在Windows也能通过计划任务实现。在控制面板中开启计划任务(前提是计划任务这服务必须先开启)写一个PHP页面,如emailcron.ph... Continue reading

一个不错的PHP-MySQL类

网络上很多自己写的Mysql类,当然都依照自己的需求写出来的,我也曾经写过一些自己用的类,但是由于方法多或者其他原因,用起来很不舒服。 下面这个MySQL类个人觉得是挺不错的,与其他MySQL类不同的是,它非常的简单,没有那么多... Continue reading

PHP设计模式 -- 工厂模式应用学习心得

工厂模式是指使用一个工厂类来创建其他对象的方法的类。通常用来返回符合类似接口的不同的类。工厂的一种常见用法就是创建多态的提供者,从而允许我们基于应用程序逻辑或者配置设置来决定应该实例化哪一个类。在PHP应用程序中,通常会使用关系型数据... Continue reading

JS延迟加载(setTimeout)方法注意点

为了让一个广告延迟几秒加载,或者延迟几秒做页面跳转,发现使用了Javascript的setTimeout实现,还是非常灵活的延迟载入广告JSsetTimeout的标准语法是: setTimeout(表达式,时间(毫秒)) 两个参数.但... Continue reading

自己用的PHP漂亮的分页类

其实平时经常用分页,但是很少整理,都写着就凑合用,突然觉得之前的这个分页类可以扩展,于是乎就认真改进了…效果图:点此查看:Demo演示点此下载:page.class.zip附件注释写的挺详细…主要功能:设置分页长度设置每页记录数应用自... Continue reading

Linux学习笔记 – 文件与文件夹权限的理解

之前很早就了解过Linux上的777权限,一般都是设置在文件上,今天看了教程又详细理解了一下Linux的文件、文件夹权限。 虽然Linux下的文件和文件夹的权限都用r、w、x表示,但其意义却是不同的。因此整理了一张表。 ... Continue reading

Mysql设置root密码

常常由于集成环境安装后MySql的密码为空,或者偶尔想改下MySql密码倘若我们要设置密码为root123,进入MySql控制台mysql> grant all privileges on *.* to 'root'@'loca... Continue reading

CentOS5.5找不到ifconfig等命令

安装好CentOS5.5,和往常安装Ubantu和Fedora差不多,只不过准备配置网络时,输入ifconfig时候居然出现无法使用ifconfig命令,很明显这和Window上的命令行中无法找到的原理一样,没有配置环境变量。 ... Continue reading

Ajax Loading进度条gif在线生成网站PreLoaders.net

在这个Web信息泛滥的互联网时代,Ajax技术早已经被大多数程序员广泛应用,然后介于服务器性能以及地区差异性,导致网络存在部分延迟,因此很多Ajax程序都会在异步读取数据的同时,显示一个正在读取或Loading的进度条动画,这个G... Continue reading

编程时使用的好看的等宽字体 – Inconsolata

写代码,不仅是对脑力,智力的考验,也是对眼睛的考验,所以还是需要好好保护眼睛,这是个长期的过程,养成好习惯是一方面,就编程而言字体的选择也很重要。眼睛对字体识别的难易度有助于对眼睛的保护,这个难易度是多方面的。一种喜欢并且适合自己... Continue reading

Excel筛选两个表公共字段

今天一同事导出两个CSV,叫我帮忙弄个PHP脚本,从一个表中能筛选出另一个表的信息。刚想着这玩意上会刚写了个,结果说是上会那个功能呢是剔除信息的,这回功能是筛选的,虽然用脚本判断比较快但写起来导入导出也够费劲。发觉好像Excel本... Continue reading

PHP二维数组在排序的应用

最近弄一个二次开发的API接口,一直在找PHP是否可以直接对二维数组中的某个键名进行排序,平时PHP对一维数组的排序比较简单,但是当我们在读取数据库写入数组后,可能经过一系列复杂的操作,最后形成一个二维数组,那次是如果为了更好的浏览数... Continue reading

Ubuntu下安装PHP环境(Apache+MySQL)

直接打开终端输入下面命令自动下载安装运行环境sudo apt-get install apache2sudo apt-get install mysql-serversudo apt-get install php5-common... Continue reading

PHP中单例模式数据库应用

最近接触到一个新名词:单例模式。刚开始一直百思不得其解,百度的结果居然是平时看到的 Db::getInstance()-> ,原来这个就是所谓的单例模式。先看我们平时使用的方法class Category{ //定义一个获取分类... Continue reading

一些常用的CSS HACK

  IE6 IE7 FF * ... Continue reading

在IE6中,line-height属性失效解决方案

经常发现在IE6中,line-height属性经常会失效,其实不然,当全文字的时候,line-height属性仍然有效,只有当文字和img、input、textarea、select、object等对象在同一个容器中的时候,lin... Continue reading

PHP stdClass 应用

最近在某源码中发现了这个类:stdClass,发现该源码中并没有声明过这个类,再查手册也没发现,于是上网找下资料,原来stdClass在PHP5才开始被流行。而stdClass也是zend的一个保留类。也可以理解为stdClass是P... Continue reading

关于无限级分类的几种数据库设计分析

第一种方案: 使用递归算法,也是使用频率最多的,大部分开源程序也是这么处理,不过一般都只用到四级分类。这种算法的数据库结构设计最为简单。category表中一个字段id,一个字段fid(父id)。这样可以根据WHERE id = f... Continue reading

HttpClient模拟POST获取返回值

在没有表单的情况下PHP很难实现POST数据,如果采用URL方式GET传值,那么比较大的数据是无法传过去。而HttpClinet这个类去很好,跨域的情况下也可以直接模拟POST到其他页面中,同时可以获取返回值。 下载地址:htt... Continue reading

PHPwind7.5 插件开发常用变量和函数

常量和变量:R_P //用于记录总论坛目录的绝对路径 D_P //用于分论坛目录的绝对路径 H_R //用于论坛使用插件目录的绝对路径 ./hack/bank/ phpwind //常用变量 $manager //创... Continue reading

PHP的header函数详解

大部分时候我们使用PHP中header函数常用的有header(‘Location: http://www.example.org/’);header(‘Content-Type: text/html; charset=utf-8′)... Continue reading

PHP多语言系统开发方式

PHP多语言制作的目录一般为了支持多语言并可同时浏览不同语言版本的网页。也就是说为了方便用户本地化,可以让用户自己选择本地浏览的语言环境。 当用户选择某种语言时,我们如何显示该语种版本的网站? 对于每种语言都写一个版本,这种土... Continue reading

无法加载 mcrypt 扩展解决方案

关于 phpmyadmin 无法加载 mcrypt 扩展 的问题,一般经过以下4步,都能解决 1).在php.ini配置文件中,搜索 ;extension=php_mcrypt.dll 将php_mcrypt.dll前的 ... Continue reading

MySQL时间字段究竟使用INT还是DateTime?

本文转载自:http://ourmysql.com/archives/547本文在如下环境中测试效果:#Windows XP#PHP Version 5.2.9#MySQL Server 5.1#第一步、创建一个表date_test(... Continue reading

关于设计表时应该注意的问题

转载自:http://ourmysql.com/archives/373 如有错误欢迎大家指出。这段时间在家里,做了点修正。1、慎重选择表名。有两种选择:按照多数开发语言的命名规则。比如(myCustomer)。按照多数开源思想... Continue reading

CI让控制器可以支持多级子目录扩展Router类库

转载自:http://codeigniter.org.cn/forums/thread-2849-1-1.html 由于控制器下不能建立目录URL结构,比如我们类似需要一个后台文件夹,如:http://localhost/adm... Continue reading

CI框架验证码的使用小结

用CI框架做项目的时候有些时候难免需要验证码,因此特地去官方论坛上搜了一个验证码类Authcode,由于有些改动,就先放在附件中。 将这个类放在application下,其实这个类还是非常完善的,可以设定字符数目,删除线,杂点之... Continue reading

终于结束网站ICO图标设计

今天估计是蛋疼没事干,搞个网站ICO图标花了一个多小时 看到网站上很多人使用microangelo5.59制作,下载下来看了下,只能设置32*32,48*48两种的 而网站的ICO图标一般使用16*16,32*32,而16*16... Continue reading

编写HTML邮件规则

参考文章:http://ued.koubei.com/?p=239 由于最近经常做email campaign用于发送邮件,发现很多css在接收邮件里是有限制的,通过对以前的各位达人总结的学习,解决了这个问题,把一些心得记录下来... Continue reading

VMware工作站7.1.1-282343 官方正式版+完美汉化包+注册码

VMware工作站是专门针对Windows / Linux服务器平台的一个版本 它使得Windows / Linux服务器平台上虚拟的Windows客户端(视窗2000以上)能与宿主系统无缝地运行在一块。 VMware工作站7... Continue reading

Fedora 13 中文语言设置

今天下了个Linux Fedora 13,安装的时候也没见到提示安装语言,安装好是英文版的。结果找了好久一直没找到Langguge在哪里,没想到在登陆页面上面设置语言。。。晕死。。。 Continue reading

zend studio 7.1.1注册码及汉化包下载

转自游天小虾Blog:http://www.b2cpress.com/archives/101Zend Studio 7.1.1 官方下载地址:http://downloads.zend.com/studio-eclipse/7.... Continue reading

一款Win XP上的可写便签的日历软件

最近一直想找一款桌面日历软件,能在上头写一些便签,这样就可以记录近一段日子需要完成的一些事情,避免被遗漏。本以为只有Vista、Win 7上面有写桌面小工具。今天终于找到一款叫wallpaper calender,没想到Win X... Continue reading

PHP中字符串定义小结

一、双引号(“”)定义1、可以在双引号中执行变量2、可以使用转义字符二、单引号(”)定义3、不能在单引号中执行变量4、只能使用部分转义字符三、反引号(“)定义1、反引号内可以定义字符2、但是只能使用服务器命令四、定界符(«<)定... Continue reading

PHP函数中静态变量的使用方法和技巧

首先理解静态变量的区别,声明一个函数test()<?phpfunction test(){ $num = 0; echo $num . “”; $num++;}test();test();test();test();test()... Continue reading

apache开启.htaccess支持

打开apache的配置文件httpd.conf1.把 #LoadModule rewrite_module modules/mod_rewrite.so 前面的#去掉。2.搜索 AllowOverride None 改为 AllowO... Continue reading

学习CI框架之MVC模型开发小记(二)

今天学习了CI的Model模型,总的来说Model完全就是用来给数据库打交道用了。 在models文件架建立blog_model.php用于给文章的数据增加,更新,查询的Model。<?phpclass Blog_model... Continue reading

学习CI框架之MVC模型开发小记(一)

今天开始接触CodeIgniter框架,这个所谓的简单,也是容易学习的MVC框架。本来也想学Zend Framework框架的,下载解压完就20个兆,在一看里面文件的一大堆。晕倒掉了。。仔细想了想我学习PHP还不到几个月还是从简单... Continue reading

jQuery实现表格隔行变色及鼠标经过加亮

用过JavaScript的实现表格的隔行变色,鼠标经过加亮至少需要20行以上的代码,而是用jQuery只需要短短几行的代码。td {padding:6px 11px;border-bottom:1px solid #95bce2;ve... Continue reading

PHP自动加载对象

很多开发者写面向对象的应用程序时对每个类的定义建立一个 PHP 源文件。一个很大的烦恼是不得不在每个脚本(每个类一个文件)开头写一个长长的包含文件列表。在 PHP 5 中,不再需要这样了。可以定义一个 __autoload 函数,它会... Continue reading

PHP读取XML国家列表

一般来说国家列表非常长的,在客户端一般不使用连接数据库来读取数据的国家列表。这不仅消耗内存而且让页面加载速度也变慢,为此把国家列表存在XML中是一个很好的选择。部分XML数据:data/countries.xml,列表太长,完整的放在... Continue reading

php中heredoc模板引擎方法小结

Heredoc技术,也叫字符串输出技术,在正规的PHP文档中和技术书籍中一般没有详细讲述,只是提到了这是一种Perl风格的字符串输出技术。之前在研究PW模板中经常发现,但一直不明白原理,其实这就是一种大量字符串输出的技术,这种技术不仅... Continue reading

在FF和IE下实现图片垂直居中

相信大家都知道CSS中vertical-align:middle;完全就是个可有可无的东西。。因此实现一堆缩略图的垂直居中显得非常之麻烦。一般来说在div中实现文字垂直居中可以做到:比如div {height:200px;line-h... Continue reading