10 2011 档案
摘要:Select-下拉列表选择插件包含下拉选择图片,grid,下拉框选项的搜索,多个标签编辑,为下拉框中的每个选项添加不同图标等功能 1)ImageSelect是一个jQuery插件能够让用户从一个漂亮的下拉框中选择图片。主页:http://www.liam-galvin.co.uk/imageselect/演示地址:http://www.liam-galvin.co.uk/misc/imageselect-demo/ 2)multiselect这是一个jQuery UI插件,可以将有多个选择内容的组合框转换为下拉菜单样式。主页:http://corydorning.com/projects...
阅读全文
摘要:hadoop主要包含了MapReduce和HDFS两个要点。infoq上面的入门文章。http://www.infoq.com/cn/articles/hadoop-introhttp://www.infoq.com/cn/articles/hadoop-config-tiphttp://www.infoq.com/cn/articles/hadoop-process-develop
阅读全文
摘要:问题:在ComboBox初始化后,调用combobox.getStore().filterBy()来过滤下拉框的数据,失效,但当点击一次下拉框后,再调用过滤,一切正常..解决办法:设置combobox的lastQuery属性为''
阅读全文
摘要:说明:最近做了一个功能,记录用户浏览过的产品页面。我的思路是,客户每次进入产品页面,就自己调用JS把产品信息以json的形式保存到cookie里面。浏览记录的显示是从cookie里读出来,然后解析成json,生成html元素。因为用户可能会同时打开好几个页面,这几个页面上可能都有浏览记录,为了使即使显示浏览记录,每秒中刷新一次。要用到2个js文件,history.js,关键的聊天记录保存和读取代码。json.js,对json进行处理。history.jsvar addHistory=function(num,id){ stringCookie=getCookie('history
阅读全文
摘要:准备工作 1、想好要把select美化成什么样子,并准备好相应的图片。 2、写好一个普通的表单递交页面,注意给select定义基本的CSS样式、在头部添加了调用js文件的代码、在body中添加了调用函数的脚本。 实现思路 第一步:将表单中的select隐藏起来。 第二步:用脚本找到select标签在网页上的绝对位置。 第三步:用脚本把select标签中的值读出来。 第四步:当用户点击select标签的替身,也就是div的时候。我们再用一个div浮在上一个div的下边,这个就是options的替身了。 功能需求 1、调用要方便,做好之后应该像这样:以下是引用片段:functio...
阅读全文
摘要:侧边栏的标签云(Tag Cloud)一直是 WordPress 2.3+ 以后的内置功能,一般直接调用函数wp_tag_cloud或者在 Widgets 里开启即可,但是默认的全部是一个颜色,只是大小不一样,很是不顺眼,虽然可以用Simple Tags之类的插件,但是总感觉不爽,所以我介绍一个不用任何插件就能显示彩色标签云的方法。方法是Alex的英文站那里看来的,直接拿来主义和大家分享之。PS:貌似是冰古兄弟原创。后台编辑 主题 的functions.php, 输入以下代码functioncolorCloud($text){$text=preg_replace_callback('|&
阅读全文
摘要:匹配中文字符的正则表达式: [\u4e00-\u9fa5]匹配双字节字符(包括汉字在内):[^\x00-\xff]\u4e00要写成\x{4e00} \u9fa5 写成 \x{9fa5}在这里做了一下记录。以备后用。01<?php0203if(preg_match('/^[\x{4e00}-\x{9fa5}]+$/u','国')){0405echo'全是汉字';0607}else{0809echo'不全是汉字';10}1112echo"<br />";1314if(preg_match(
阅读全文
摘要:前言:这算是对前端优化的总结吧,之前零零星星总结和学习,这次做一个完整的总结。测试网页性能工具⑴Page Speed:谷歌开发的工具,网站管理员和网络开发人员可以使用 Page Speed 来评估他们网页的性能,并获得有关如何改进性能的建议。⑵yslow:YSlow可以对网站的页面进行分析,并告诉你为了提高网站性能,如何基于某些规则而进行优化。安装方法:安装:yslow直接在firefox组件查找,安装即可Page Speed安装,使用火狐点开http://code.google.com/speed/page-speed/download.html,点击下载,火狐会自动安装使用方法:1)pag
阅读全文
摘要:1、下载Erlang(RabbitMQ是Erlang写的,这个2语言,哥是相当的不喜欢)2、到www.rabbitmq.com下载最新程序,本人在用2.4.03、用记事本打开sbin目录下的rabbitmq-server,设置CONFIG_FILE配置文件路径,默认情况下是/etc/rabbitmq/rabbitmq.config(注意配置文件后缀必须是.config)4、然后启动服务端(注意要使用管理员权限)#sudo ./rabbitmq-server5、下载rabbitmq-c和rabbitmq-codegen,把rabbitmq-codegen解压后改名为codegen,然后放到rab
阅读全文
摘要:1、下载JDK(ActiveMQ是Java写的)2、Apache官网下载ActiveMQ3、运行bin目录下的activemq(要使用管理员权限运行)4、下载PHP的STOMP扩展,并安装之5、测试代码<?php$broker = 'tcp://localhost:61613';$queue = '/queue/feeds';$msg = 'hello world!';$stomp = new Stomp($broker, $username, $password);$stomp->send($queue, $msg);?>
阅读全文
摘要:gzip决定是否开启gzip模块param:on|offexample:gzip on;gzip_buffers设置gzip申请内存的大小,其作用是按块大小的倍数申请内存空间param1:intparam2:int(k) 后面单位是kexample: gzip_buffers 4 8k;gzip_comp_level设置gzip压缩等级,等级越底压缩速度越快文件压缩比越小,反之速度越慢文件压缩比越大param:1-9example:gzip_com_level 1;gzip_min_length当返回内容大于此值时才会使用gzip进行压缩,以K为单位,当值为0时,所有页面都进行压缩param:
阅读全文
摘要:首先介绍一下Nodejs,他是一个运行在服务端的JS,支持高并发、长链接。官网:http://nodejs.org1.安装wgethttp://nodejs.org/dist/node-v0.1.32.tar.gztar xzvf node-v0.1.32.tar.gzcd node-v0.1.32./configuremakemake install安装完之后有可能没在/usr/bin目录下,就不能在任何一个目录下使用node命令,所以你需要软链接一个nodeln -snode /usr/bin/node这样操作之后,你在任何一下目录下都可以执行node命令了。2.开始第一个NodeJs程序
阅读全文
摘要:1. 预定义:#define在object-c中,跟C语言一样都是采用#define才使用,但末尾是没有分号的;例子:#define PI 3.14在之后即可引用,这点在iphone开发中一定每个组建的tag非常好用,并且可以集合放一个定义文件中。2. 条件编译:#ifdef,#end,#elseif#ifdef,#else,#endif如我们常识认为的那样,程序会根据判断条件处理或者忽略某一个程序段。例子:#ifdef MAC_OS_X# define DATADIR “/uxnl/data”#else# define DATADIR “\usr\data”#endif3. 数组在objec
阅读全文
摘要:1.@interface在java等语言编程中,创建类都是用class,但在object-c中,用@interface。例子:@interface circle :NSObject //定义名为circle的类,继承自NSObject{ ShapeColorfillColor;//定义ShapeColor类型的实例变量 fillColor; Shapebounds;//定义Shape类型的实例变量 bounds;}- (void)setFillColor:(ShapeColor)fillColor;//定义名为setFillColor的方法2.@implementation在object-c中
阅读全文
摘要:例子:@property(nonatomic,retain) NSString *aString;property:属性的定义,相当于C语言的setter和getter方法。assign:简单的赋值,不更改索引的计数。copy:建议一个索引计数为1的对象,然后释放旧对象;retain:释放旧对象,将旧对象的值赋予新对象,再增加新对象的索引计数1。针对具体的数据类型在属性定义应该这样选择:使用assign:对基础的数据类型,比如NSInterger,CGFloat和C数据类型(int,float,double,char等等)。使用copy:针对NSString;使用retain:针对NSObje
阅读全文
摘要:(1)精灵指任何可以在屏幕上独立于其他东西而自由移动二维位图图像;(2)精灵表包含一个以上精灵的图像就叫精灵表。精灵表是一个图像中包含一系列以网格形式存在的精灵图像。,对每个精灵都可以通过他在大图像中的行和列位置进行访问。如下:更复杂的精灵表,可以称为打包精灵表,他是包含一系列更小子图像的图像,每一个子图像又可以是其他的精灵表或者图像。如下:复杂的精灵表,我们就无法简单的根据行和列的位置确定每个精灵的位置了,我们通过建立一个plist控制文件,来确定他们的位置。这个控制文件可以通过Zwoptex等工具生成。Zwoptex可以由分散的图像生成精灵表和控制文件。生成的控制文件如下:我们以后再介绍如
阅读全文
摘要:产品经理的角色定位:1、 产品经理必须以来许多其他的专家来发展产品线和进行营销。意味着产品经理和企业其他部门的同仁之间必须达到一定程度的互信。2、 产品经理必须持续与产品销售团队交流信息。产品经理的工作内容产品经理的工作是管理其产品/服务线有关的所有大小事务,满足顾客更高的要求,并且为企业提供长期的价值。1、 日常活动是工作的基础,大约占40%-55%的时间。2、 短期活动占20%-30%时间。3、 其余15%-25%则是长期策略性任务。日常职责l 登录更新“产品状况簿”。l 激励销售团队及经销商。l 收集营销信息,包括竞争情况,市场趋势和顾客的期望等。l 作为销售、制造、研发等部门的沟通桥梁
阅读全文
摘要:(1)在object-c中,用#import来代替C语言中的#include;在一般的头文件中都会用#import<Foundation/Foundation.h>;Foundation框架是一个处理用户界面之下的层中的特性,Foundation为cocoa框架的子集,cocoa框架还包括Application Kit框架。(2)NSLog此命令是向控制台显示输出语句,跟c语言的printf()很相似,比如:NSLog(@”Hello World!”);则是在控制台输出HelloWorld!双引号中的字符串前有一个@符号,这表示引用的字符串应该作为Cocoa的NSString元素来
阅读全文
摘要:产品经理的定义:1、 管理、营销自己特定产品线、品牌和服务的责任。2、 又叫品牌经理,行业经理,顾客细分经理等。产品经理存在的地方1、 消费型的零售业,服务业(化妆品,金融行业等)。2、 工业性产品的企业(模型厂商等)。作为产品经理,你应该会哪几点?1、 对不同产品的管理,体现在管理方式上2、 如何对产品规划年度营销计划3、 如何评估产品组合和上市策略4、 如何增加产品价值的途径
阅读全文
摘要:1、创业不一定要有资金和辞职2、创意来自你要用的东西和生活3、团队人数不一定要多,但知道每个人都有明确的职责4、产品的好坏是创业小公司的核心竞争力5、创业体现在坚持上
阅读全文
摘要:CCTransitionFade,//渐隐效果CCTransitionFadeTR, //碎片效果CCTransitionJumpZoom, //跳动效果CCTransitionMoveInL, //从左向右移动CCTransitionPageTurn, //翻页效果CCTransitionRadialCCW, //钟摆效果CCTransitionRotoZoom,//涡轮效果CCTransitionSceneOriented,//CCTransitionShrinkGrow, //渐远效果CCTransitionSlideInL, //左移CCTransitionSplitCols,//上下
阅读全文
摘要:1、http://developer.apple.com/iphone/library这个是官方的代码实例2、www.cocoachina.com这个网站比较适合初期开发者,上面的版主之类的也比较热心,一般的问题都会提供帮助3、http://www.tipb.com/国外的一些文章博客,介绍iphone的特性和开发4、http://www.iphonedevsdk.com/forum/iPhoneDev SDK5、http://iphone.tgbus.com/kuihua/iphone 宝典6、http://www.iphonetw.net/forum/thread.php?fid=9台湾i
阅读全文
摘要:Objective-C语言被设计成一种精致的,面向对象的,用法简单的计算机语言。它是完全基于标准C语言,并且做了最小的,但是功能强大的扩展的语言。这个扩展语言借鉴了是早期的能支持面向对象的语言Smalltalk的风格。Objective-C使用一种简单易懂的方式使得C语言能够完全支持面向对象。大部分面向对象的开发都保护下面几个部分:一个面向对象的语言一个类库一系列的开发工具一个运行期环境本文档描述了开发环境的第一部分--程序语言。同时对第二部--类库--提供简单描述,Objective-C提供了编程框架--即Cocoa。关于运行期是被描述在一个单独的文档中--Objective-C Runti
阅读全文
摘要:我们通过发送XML访问WebService就可以实现号码的归属地查询,我们可以使用代理服务器提供的XML的格式进行设置,然后请求提交给服务器,服务器根据请求就会返回给一个XML,XML中就封装了我们想要获取的数据。发送XML1.通过URL封装路径打开一个HttpURLConnection2.设置请求方式,Content-Type和Content-Length XML文件的Content-Type为:application/soap+xml; charset=utf-83.使用HttpURLConnection获取输出流输出数据WebService1.WebService是发布在网络上的API,
阅读全文
摘要:XML-RPC是一种简单的,轻量级的通过HTTP协议进行RPC通信的规范。一个XML-RPC消息就是一个请求体为XML的HTTP-POST请求,被调用的方法在服务器端执行并将执行结果以XML格式编码后返回。 XML-RPC 和SOAP是创建web services的两种标准协议。XML-RPC是出现较早的(也比较简单),而SOAP较新,也比较复杂。Microsoft的.NET就是基于 SOAP,而很多流行的WEB程序,如Frontier和blogger,则提供XML-RPC接口。PHP通过xmlrpc扩展提供SOAP和XML-RPC的访问途径。xmlrpc基于xmlrpc-epi项目(更多信息
阅读全文
摘要:1.软件开发价格估算方法软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式:软件开发价格 = 开发工作量 × 开发费用/人·月1.1开发工作量软件开发工作量与估算工作量经验值、风险系数和复用系数等项有关:软件开发工作量 = 估算工作量经验值 × 风险系数 × 复用系数1.1.1估算工作量经验值(以A来表示)软什开发工作量的计算,曾有人提出以源代码行或功能点来计算,这些方法实施起来均有不少难度。目前国际上仍旧按以往经验的方式加以计算,国内各软件企业也是采用经验的方式加以估算工作量。为了更好地规范估算方法,建议可按照国
阅读全文
摘要:NoSQL在开源世界已经渐成主流,现在已有很多适用于各种复杂程度的NoSQL解决方案,但是,这些NoSQL产品很少有可用于Microsoft Windows平台的,因此我才有了写作本文的意图。AD:从可查询的分布式解决方案,如MongoDB,到简单的分布式Key/Value存储解决方案,如Cassandra。此外,还有Riak,Tokyo Cabinet,Voldemort,CouchDB和Redis。但目前仅有少量的NoSQL项目支持在Windows平台上运行,如果要说到生产应用那就更少了。MemcachedMemcached传统上认为它不属于NoSQL的范畴,而是一个分布式Key/Valu
阅读全文
摘要:1、正则表达式的介绍和作用什么是正则表达式?在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的语法。例:在判断用户邮件地址格式、手机号码格式或者采集别人网页内容时主要的作用是:分割、匹配、查找、替换注:正则表达式对于一个程序员来讲是至关重要的一个知识点,所以学好正则 是每一个程序员必须具备的。不仅可以帮助我们完成一些通过函数无法实现 的工作,还可以帮助我们减轻很多工作量。2、PHP中两个常用的正则函数preg_match 正则函数,以perl语言为基础preg_match ( mode, string subject , array m
阅读全文
摘要:问题描述 今天在处理一个Iframe自适应高度时遇到一个多层Iframe引用时的高度不能撑开的问题,效果同Demo1.原因分析 问题是由引用的顺序引起的,我们假设有3层Iframe引用,h1.html,h2.html,h3.html h1包含h2,h2又包含h3,h3.html中有内容会出现高度适应问题,一般的处理方式是我们在引用h3的iframe中加入onload事件来让这个Iframe高度自适应引用的页面高度。这时我们打开h1.html就开发页面看起还是没有撑开,这是因为页面是一级一级的加载下去的,当h1引用h2 时,h2的高度是固定的,当h3加载完毕的时候h2的高度做了变化,但是这时h1
阅读全文
摘要:MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。grant select on testdb.* to common_user@'%'grant insert on testdb.* to common_user@'%'grant update on testdb.* to common_user@'%'grant delete on testdb.* to common_user@'%'或者,用一条 My
阅读全文
摘要:一,表单1,上传文件的表单使用post方式(和get的区别不用说了);还要加上enctype='multipart/form-data'。2, 一般要加上隐藏域:<inputtype=hiddenname='MAX_FILE_SIZE'value=dddddd>,位置在 file域前面。value的值是上传文件的客户端字节限制。据说可以减少文件超标时客户端的等待时间,不过我没觉得有什么区别。3, 出于安全考虑,file域是不许赋值的。随便在file域输入字符串,然后按submit也不会有反应。必须是第二个字符是冒号的时候(比如空格跟随冒号 可以上传一
阅读全文
摘要:1. 模板中不能使用的标签{$content} {$i}2. If标签如: <if condition="$name eq 1 ">试验后总是有想不到的错误, 这样,还不如直接用<?php if(...){ ...?>来得快些呢.约定:1.所有类库文件必须使用.class.php作为文件后缀,并且类名和文件名保持一致2.控制器的类名以Action为后缀3.模型的类名以Model为后缀,类名第一个字母须大写4.数据库表名全部采用小写,如:数据表名: 前缀_表名模型类名: 表名Model 注:这里的表名第一个字母要大写创建对象: D('表名
阅读全文
摘要:一、密码长度:5 分: 小于等于 4 个字符10 分: 5 到 7 字符25 分: 大于等于 8 个字符二、字母:0 分: 没有字母10 分: 全都是小(大)写字母20 分: 大小写混合字母三、数字:0 分: 没有数字10 分: 1 个数字20 分: 大于等于 3 个数字四、符号:0 分: 没有符号10 分: 1 个符号25 分: 大于 1 个符号五、奖励:2 分: 字母和数字3 分: 字母、数字和符号5 分: 大小写字母、数字和符号最后的评分标准:>= 90: 非常安全>= 80: 安全(Secure)>= 70: 非常强>= 60: 强(Strong)>= 5
阅读全文
摘要:1.Firebughttp://getfirebug.com/最流行的前端开发工具2.HttpWatchhttp://www.httpwatch.com/集成在IE和Firefox上的监听HTTP和HTTPS的工具3.Fiddlerhttp://www.fiddler2.com/fiddler2/Fiddler是一个记录你电脑和网络之间所有HTTP(S)请求的网络调试代理4.HttpFoxhttps://addons.mozilla.org/eu/firefox/addon/6647?lang=en-US和HTTPWatch很类似的一个工具5.Yslowhttp://developer.yah
阅读全文
摘要:Subversion 支持类似 CVS 的关键字扩展,用来在文件中嵌入文件名称和版本信息。当前支持的关键字有:$Date$已知最后提交的日期。它基于你更新工作副本时获得的信息。它不检查版本库查找最新的修改。$Revision$已知最后提交的版本。$Author$已知最后提交的作者。$HeadURL$此文件在版本库中的 URL。$Id$前述四个关键字的压缩组合一般用$Id$即可, 自动开启替换功能:[miscellany]enable-auto-props = yesuse-commit-times = yes[auto-props]*.c = svn:keywords=Id*.cpp = sv
阅读全文
摘要:HTML5将给我们带来不少新的特性.如下:HTML部分:语义 (New tags, Link Relations, Microdata)Accessibility (ARIA roles)Web 表单 2.0 (Input 元素)多媒体 (Audio 标签, Video 标签)2D and 3D 图形绘制 (Canvas, WebGL)CSS部分:更复杂的选择器网络字体文本溢出处理布局排版,分栏显示视觉效果 (文本描边/透明效果/色彩模式/圆角效果/渐变效果/阴影效果)变换和动画 - Transitions, transforms and animationsJS部分:新的选择器客户端储存 (
阅读全文
摘要:Maxthon, 傲游浏览器下, 会莫名其妙的阻止js调用Flash的方法.看到傲游论坛有人反馈过, 但是官方没有回应.今天项目里面也遇到了这个问题, 测试了N久才发现问题所在.1. Flash必须每次都是从服务器加载. 即不缓存.2. Flash文件所在域名必须与当前网页域名一致.第二点非常重要, 在其他浏览器都不阻止的情况, 傲游很脑残的阻止了JS调用Flash的方法!且所有版本都有这个问题.套用某人的一句话, 傲游你做个IE的壳就算了, 还要改他的东西, 改就算了, 还改出问题, 你当我们都闲着没事做是吧.
阅读全文
摘要:有朋友告诉我一个IE的bug, 一段HTML,所有IE浏览器一浏览必死.IE8也不例外, IE9还没测试过, 但愿不会崩溃...XML/HTML代码<html><head><styletype="text/css">#a{ margin:010px10px; } #b{ width:100%; } </style><title>IECrasher</title></head><body><table><tr><td><divid=&quo
阅读全文
摘要:不管我是多么喜欢JAVA但是,从实际开发角度讲,Java的多线程确实没有C++好使。表现在:1.Java没有全局变量;2.Java 的线程之间的通信比较差,C++提供了多种通信方式;3.Java的数据同步是通过synchronized来实现,但是基本上等于交给了虚拟机来完成,而C++有很多种:临界区、互斥体等。4. Java的多线程run方法没有返回值,因此如何能得到子线程的反馈信息,确实令人头疼。5.Java的多线程是协作式,这样等于操作系统放弃了对线程的控制;这里谈谈我在java多线程中的编写经验:1.创建thread时,将主控类或者叫做调用类传入构造函数中,例如:Class A调用Cla
阅读全文
摘要:英文原文:Reverse Ajax, Part 1: Introduction to Comet在过去的几年中,web开发已经发生了很大的变化。现如今,我们期望的是能够通过web快速、动态地访问应用。在这一新的文章系列中,我们学习如何使用反向Ajax(Reverse Ajax)技术来开发事件驱动的web应用,以此来实现更好的用户体验。客户端的例子使用的是JQuery JavaScript库,在这首篇文章中,我们探索不同的反向Ajax技术,使用可下载的例子来学习使用了流(streaming)方法和长轮询(long polling)方法的Comet。 前言 web开发在过去的几年中有了很大的进..
阅读全文
摘要:1.多线程中有主内存和工作内存之分, 在JVM中,有一个主内存,专门负责所有线程共享数据;而每个线程都有他自己私有的工作内存, 主内存和工作内存分贝在JVM的stack区和heap区。2.线程的状态有'Ready', 'Running', 'Sleeping', 'Blocked', 和 'Waiting'几个状态,'Ready' 表示线程正在等待CPU分配允许运行的时间。3.线程运行次序并不是按照我们创建他们时的顺序来运行的,CPU处理线程的顺序是不确定的,如果需要确定,那么必须手工介入,使用se
阅读全文
摘要:什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么是线程?线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。什么是多线程?多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。多线程的好处:可以提高CPU的利用率。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,这样就大大提高了程序的效率。多线程的不利方面
阅读全文
摘要:1.使用一个SQL注射备忘单一个基本的原则就是,永远不要相信用户提交的数据。另一个规则就是,在你发送或者存储数据时对它进行转义(escape)。可以总结为:filter input, escape output (FIEO). 输入过滤,输出转义。通常导致SQL注射漏洞的原因是没有对输入进行过滤,如下语句:1234<?php$query="SELECT * FROM users WHERE name = '{$_GET['name']}'";在这个例子中,$_GET['name']来自用户提交的数据,既没有进行转义,也没
阅读全文
摘要:首先说Model吧。在TP中是一个表对应一个Model,而且普通Model中只是一些自动验证啊,自动完成啊、还有数据字段信息啊一些东西;而CI中的Model则完全不同,一个Model不必约束于一个表,也就是说名字为abc的Model中你也可以查询名字为def的表中的数据,而且可以定义方法完成一些数据查询,比如我可以在名为articles_model的Model中定义一个名字为get_articles的方法来获取所有文章信息,当某个Controller加载了这个Model后,就可以在相应的Controller中用1$this->articles_model->get_articles
阅读全文
摘要:1、用防火墙关闭不须要的任何端口,别人PING不到服务器,威胁自然减少了一大半。防止别人ping的方法:1)命令提示符下打,0表示允许,1表示禁止echo 1 > /proc/sys/net/ipv4/icmp_ignore_all2)用防火墙禁止(或丢弃) icmp 包iptables -A INPUT -p icmp -j DROP3)对所有用ICMP通讯的包不予响应,比如:PING TRACERT 2、开启安全模式(做为商业应用的服务器不建议开启)#vi /usr/local/Zend/etc/php.ini(没装ZO时php.ini文件位置为:/etc/php.ini) .saf
阅读全文
摘要:1、编译安装麻烦,浪费时间。2、你以后可能都不记的编译的参数,你的下一任维护也麻烦。因为他不清楚你当时是用的什么参数编译。这个你的boss可关心着哦。3、当然,有人一定会讲,编译性能高,其实不见的,出问题的机会也高哦,在讲一个程式性能提高3%有什么用。其实没有多少用。当然,你用LFS的系统做生产环境,那就有分别,因为你任何一个包都是自己编译的。相信你不会吧。4、rpm -qf 可以查到那个文件是那个包,要是有一天,你的系统中有个文件坏了。你可以用rpm这个方法一下找出一,但你用编译安装,你就头痛了,天啊,这个包是那个软件生成的啊。5、我不愿意从源程式安装。不是因为难。相反的,蛮容易。只是,我不
阅读全文
摘要:BigPipe是一个重新设计的基础动态网页服务体系。大体思路是,分解网页成叫做Pagelets的小块,然后通过Web服务器和浏览器建立管道并管理他们在不同阶段的运行。这是类似于大多数现代微处理器的流水线执行过程:多重指令管线通过不同的处理器执行单元,以达到性能的最佳。虽然BigPipe是对现有的服务网络基础过程的重新设计,但它却不需要改变现有的网络浏览器或服务器,它完全使用PHP和JavaScript来实现。 动机 为了更好的了解BigPipe,我们需要了解一下现有的动态Web服务系统,它的历史可以追溯到万维网的初期,但现在与初期相比却并没有多少改变。现代网站有着远远高于10年前的动态效果..
阅读全文
摘要:所谓BigPipe,指的是Facebook开发的用来改善客户端响应速度的技术。本质上讲,其实它并不是新事物,原理上等同于Yahoo在Best Practices for Speeding Up Your Web Site里提出的Flush the Buffer Early,不过BigPipe的实现更灵活,所以有必要了解一二。我们平常浏览网页时的体验通常是串行的:浏览器发起请求,服务器收到后渲染页面,在此期间,浏览器除了等待别无选择,演示代码如下:<?phpsleep(1);$header = 'header';sleep(1);$content = 'conten
阅读全文
摘要:1. 自己写代码产生随机的数字和字母组合,每产生1个去数据库查询该随机码是否已存在,如果已存在,则重新产生,直到不重复为止。 优点:没发现有啥优点。 缺点:产生速度慢,还要查询数据库,当数据量大的时候,可能重复的机率会比较高,要查询多次数据库.2. guid,该方法应该是用的比较多的。 优点:使用简单方便,不用自己编写额外的代码 缺点:占用数据库空间相对较大,特别是根据guid查询速度比较慢(毕竟是字符串)。3. 主键+随机码的方式,我们产生的随机码保存到数据库肯定会有个主键,用该主键+随机字符来组合。产生步骤: 1) 先从id生成器中获取id,比如是155. 2)填...
阅读全文
摘要:Ctrl + a 切换到命令行开始这个操作跟Home实现的结果一样的,但Home在某些unix环境下无法使用,便可以使用这个组合;在Linux下的vim,这个也是有效的;另外,在windows的许多文件编辑器里,这个也是有效的。Ctrl + e 切换到命令行末尾这个操作跟END实现的结果一样的,但End键在某些unix环境下无法使用,便可以使用这个组合;在Linux下的vim,这个也是有效的;另外,在windows的许多文件编辑器里,这个也是有效的。Ctrl + l 清除屏幕内容,效果等同于clearCtrl + u 清除剪切光标之前的内容这个命令很有用,在nslookup里也是有效的。我有时
阅读全文
摘要:目 录一、 Nginx 基础知识二、 Nginx 安装及调试三、 Nginx Rewrite四、 Nginx Redirect五、 Nginx 目录自动加斜线:六、 Nginx Location七、 Nginx expires八、 Nginx 防盗链九、 Nginx 访问控制十、 Nginx日志处理十一、 Nginx Cache十二、 Nginx负载均衡十三、 Nginx简单优化 十四、 如何构建高性能的LEMP环境十五、 Nginx服务监控十六、 常见问题与错误处理.十七、 相关资源下载【前言】:编写此技术指南在于推广普及NGINX在国内的使用,更方便的帮助大...
阅读全文
摘要:源码安装nginx就面临这样的麻烦,不能使用service nginx restart 来重启nginx,没办法只能重新加载下nginx.#/usr/local/nginx/sbin/nginx -s reload
阅读全文
摘要:1、传统缓存之一(404)这个办法是把nginx的404错误定向到后端,然后用proxy_store把后端返回的页面保存。配置:location / {root /home/html/;#主目录expires 1d;#网页的过期时间error_page 404 =200 /fetch$request_uri;#404定向到/fetch目录下}location /fetch/ {#404定向到这里internal;#指明这个目录不能在外部直接访问到expires 1d;#网页的过期时间alias /home/html/;#虚拟目录文件系统地址要和locaion /一致,proxy_store会将
阅读全文
摘要:Nginx 有几种缓存动态网站,详情请看:nginx缓存cache的5种方案。我的需求是保存动态页面为静态文件即可。然后写个脚本定时删除超过给定时间的html文件。这样可以减轻动态网站的压力。使用 nginx 的 proxy_store 模块,匹配:http{server{listen80;server_nametest.com;access_loglogs/test.access.logmain;gzipon;location/{root/home/www/cache;proxy_storeon;proxy_set_headerAccept-Encoding'';proxy_
阅读全文
摘要:据说 Nginx 做负载均衡不错,恩拿来学习配置下。先安装:wgethttp://sysoev.ru/nginx/nginx-0.6.35.tar.gztarzxvfnginx-0.6.35.tar.gzcdnginx-0.6.35./configuremakemakeinstall安装时出现下面的错误:Configuration summary+ PCRE library is not found+ OpenSSL library is not used+ md5 library is not used+ sha1 library is not used+ using system zlib
阅读全文
摘要:VPS 上安装了 nginx。用多个子域名,每个子域名到不同的目录。如:http{server{listen80;server_namea.com;access_loglogs/a.access.logmain;server_name_in_redirectoff;location/{indexindex.html;root/home/www/host_a/;}}server{listen80;server_nameb.com;access_loglogs/b.access.logmain;server_name_in_redirectoff;location/{indexindex.html
阅读全文
摘要:zip命令的基本用法是:zip [参数] [文件1] [文件2]简单的例子:把本目录下的test文件打包成test.zip文件:zip test.zip test/* ,如果在文件中用绝对的路径,那么在压缩文件中也是绝对路径。就是说,如果你 zip test.zip /home/test/* ,那么在压缩文件中也是这样的层次关系。 参数列表: -a 将文件转成ASCII模式 -F 尝试修复损坏的压缩文件 -h 显示帮助界面 -m 将文件压缩之后,删除源文件 -n 特定字符串 不压缩具有特定字尾字符串的文件 -o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间 -q 安静模式,在压缩的时
阅读全文
摘要:在Web设计中,常用的字体尺寸单位有:points(pt)、Pixes(px)、Ems(em)、百分比(%),下面这张表就是这些Web设计字体尺寸单位转换的一个速查表。可能由于字体、浏览器、操作系统的不同,这个转换表只能是一个近似值,但它还是很有参考价值。PointsPixelsEmsPercent6pt8px0.5em50%7pt9px0.55em55%7.5pt10px0.625em62.5%8pt11px0.7em70%9pt12px0.75em75%10pt13px0.8em80%10.5pt14px0.875em87.5%11pt15px0.95em95%12pt16px1em100
阅读全文
摘要:<?php class Guid{ /** * 系统当前时间 */ private static function _curTimeMillis() { list($usec, $sec) = explode(" ",microtime()); return $sec.substr($usec, 2, 3); } /** * 客户端相关信息 */ private static function _getHost() { $name = empty($_SERVER["HTTP_USER_AGENT"]) ? 'localhost'
阅读全文
摘要:成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令:show dbs:显示数据库列表show collections:显示当前数据库中的集合(类似关系数据库中的表)show users:显示用户use <db name>:切换当前数据库,这和MS-SQL里面的意思一样db.help():显示数据库操作命令,里面有很多的命令db.foo.help():显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令db.foo.find():对于当前数据库中的foo集合进行数
阅读全文
摘要:成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令:show dbs:显示数据库列表show collections:显示当前数据库中的集合(类似关系数据库中的表)show users:显示用户use <db name>:切换当前数据库,这和MS-SQL里面的意思一样db.help():显示数据库操作命令,里面有很多的命令db.foo.help():显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令db.foo.find():对于当前数据库中的foo集合进行数
阅读全文
摘要:<?phpclass SpendTime {static function Start($sTransName) {SpendTime::$arrStartTimes [$sTransName] = microtime ( true );}static function End($sTransName) {SpendTime::$arrSpendTimes [$sTransName] = microtime ( true ) – SpendTime::$arrStartTimes [$sTransName];}static function PrintTime() {echo “<
阅读全文
摘要:<?phpfunction makeRandomCount($length = 6){$key = “”;$str = ’0123456789ABCDEFGHIJKLOMNOPQRSTUVWXYZ’;//字符池for($i=0;$i<$length;$i++) {$key .= $str{mt_rand(0,36)};}return $key;}?>
阅读全文
摘要:php有三种方法可以post数据,分别为Curl、socket、file_get_contents:<?php/*** Socket版本* 使用方法:* $post_string = "app=socket&version=beta";* request_by_socket('facebook.cn','/restServer.php',$post_string);*/function request_by_socket($remote_server,$remote_path,$post_string,$port = 80,$t
阅读全文
摘要:<?php$fp = fsockopen("202.106.0.20", 3306, $errno, $errstr, 30);if (!$fp){ echo "$errstr ($errno)<br />\n";}else{ echo "ok\n";}?>
阅读全文
摘要:<?php/*示例: $file = '/data/ad_files/5/5.swf'; $flash = new FLASH(); $flash = $flash->getSwfInfo($file); echo "文件的宽高是:".$flash["width"].":".$info["height"]; echo "文件版本是".$flash["version"]; echo "文件帧数量是".$flash["fr
阅读全文
摘要:<?php /*** Mongodb类** examples: * $mongo = new HMongodb("127.0.0.1:11223"); * $mongo->selectDb("test_db"); * 创建索引 * $mongo->ensureIndex("test_table", array("id"=>1), array('unique'=>true)); * 获取表的记录 * $mongo->count("test_table&qu
阅读全文
摘要:<?php/*@ 获取QQ达人QQ信息 @ 起点岁月 2010-09-06@ 一个简单的例程,通过扩展可以轻松获取千万级别QQ信息,$jsonUrl 参数cd=610900 为城市代码@ QQ达人信息已经做防盗链了,所以在此用到PHP的refer去伪造 http://city.qq.com@ 本来想做一个QQ邮件裙发软件玩玩,但是没有经济价值呵呵,贡献出来大家参考,很简单。*/$refer="http://city.qq.com"; //定义$refer$opt=array('http'=>array('header'=>&
阅读全文
摘要:如果你是一名前端er,又想在移动设备上开发出自己的应用,那怎么实现呢?幸好,webkit内核的浏览器能帮助我们完成这一切。接触 webkit webApp的开发已经有一段时间了,现把一些技巧分享给大家 :1. viewport:也就是可视区域。对于桌面浏览器,我们都很清楚viewport是什么,就是出去了所有工具栏、状态栏、滚动条等等之后用于看网页的区域,这是真正有效的区域。由于移动设备屏幕宽度不同于传统web,因此我们需要改变viewport;实际上我们可以操作的属性有4 个:width -// viewport 的宽度 (范围从200 到10,000,默认为980 像素)height -/
阅读全文