分类目录 ‘程序开发’

据venturebeat报道,游戏开发工具公司GameSalad日前任命Steve Felter担任首席执行官,该公司创始人及原首席执行官Michael Agustin则负责接手首席产品官职位。Agustin将重点监管GameSalad的产品管理,而Felter则负责统领公司的运营发展。

在加入GameSalad团队之前,Felter是社交媒介市场营销及分析服务公司DigiSynd的首席运营官和首席财务总监,该公司曾帮助迪士 尼公司在Facebook展开市场营销活动,让后者在Facebook网站成功吸引了1亿多名粉丝。另外,他还从事华纳兄弟公司的业务开发工作。
gamesalad-1gamesalad-1

与其他游戏开发工具不一样,GameSalad的游戏开发工具省略了繁琐的步骤,支持没有编程知识的人通过拖放式的用户界面,自主完成从美术到音效 等一系列的游戏开发过程。不管是YouTube视频编辑人员,还是普通美工,所有人都可以使用这种降低技术门槛的工具,成为一名游戏开发者。
(全文 …)

MySQL Query Cache 小结

作者: seasun

顾名思义, Query Cache 就是用来缓存和 Query 相关的数据的。具体来说,Query Cache 缓存了我们客户端提交给 的 SELECT 语句以及该语句的结果集。大概来讲,就是将 SELECT 语句和语句的结果做了一个 HASH 映射关系然后保存在一定的内存区域中。

在大部分的 MySQL 分发版本中,Query Cache 功能默认都是打开的,我们可以通过调整 MySQL Server 的参数选项打开该功能。主要由以下5个参数构成:

  • query_cache_limit:允许 Cache 的单条 Query 结果集的最大容量,默认是1MB,超过此参数设置的 Query 结果集将不会被 Cache
  • query_cache_min_res_unit:设置 Query Cache 中每次分配内存的最小空间大小,也就是每个 Query 的 Cache 最小占用的内存空间大小
  • query_cache_size:设置 Query Cache 所使用的内存大小,默认值为0,大小必须是1024的整数倍,如果不是整数倍,MySQL 会自动调整降低最小量以达到1024的倍数
  • query_cache_type:控制 Query Cache 功能的开关,可以设置为0(OFF),1(ON)和2(DEMAND)三种,意义分别如下:
    • 0(OFF):关闭 Query Cache 功能,任何情况下都不会使用 Query Cache
    • 1(ON):开启 Query Cache 功能,但是当 SELECT 语句中使用的 SQL_NO_CACHE 提示后,将不使用Query Cache
    • 2(DEMAND):开启 Query Cache 功能,但是只有当 SELECT 语句中使用了 SQL_CACHE 提示后,才使用 Query Cache
  • query_cache_wlock_invalidate:控制当有写锁定发生在表上的时刻是否先失效该表相关的 Query Cache,如果设置为 1(TRUE),则在写锁定的同时将失效该表相关的所有 Query Cache,如果设置为0(FALSE)则在锁定时刻仍然允许读取该表相关的 Query Cache。

(全文 …)

如果你拥有一个网站或独立博客,或者你的工作多少和互联网有关,那你一定耳濡目染多多少少对SEO(搜索引擎优化)有一定了解。本文将列举其中20个SEO领域最常用的名词和概念,如果你打算熟悉和了解他们请继续阅读。当然,如果你已经无所不晓,那你可以权当补习功课,或可以直接忽略本文。

20个你必须知道的SEO概念

1. 搜索引擎营销 (SEM)

搜索引擎营销(SEM)英文全称为Search Engine Marketing,意指通过搜索引擎进行服务和产品的营销。搜索引擎营销又主要分为两种:搜索引擎优化()和付费点击(PPC,Pay-Per- Click)。搜索引擎优化()指通过优化网站和页面并让它们在搜索结果的页面中展示,而付费点击(PPC)指通过购买搜索引擎的点击将用户带到自 己的网站。(通常)这些点击来自搜索结果页面中的“赞助商链接”(译注:显然不适用于百度)。
(全文 …)

PclZip是一个强大的压缩与解压缩zip文件的PHP类,PclZip library不仅能够压缩与解压缩Zip格式的文件;还能出压缩档的内容。同时也可以对现有的ZIP包进行添加或删除文件。

官方网站:http://www.phpconcept.net/pclzip/index.php

以下为一个简单的压缩全站进行备份的代码:
(全文 …)

这两天网上炒得最火的产品经理的文章,估计就是老周的《怎样才能成为一个优秀的产品经理》了,老周作为一个老产品经理,这篇文章还是值得大伙儿学习的。
当我看到这篇文章的时候,颇有感触,有了执笔写这篇“优秀产品经理必须逾越的三道防线”一文。
优秀的产品经理空间要攻破哪三道防线呢?
优秀产品经理的第一道防线:领导线
优秀产品经理的第二道防线:客户线
优秀产品经理的第三道防线:用户线
如果你攻破不了这三道防线,那离优秀产品经理或者说离成功的产品都有很远的距离,下面我们来细说一下,这三道线究竟是咋回事,如何攻破。
(全文 …)

现在,互联网公司里开始重视产品经理了,这是一个好事。以前互联网谈融资,谈商业模式,谈战略,很少有谈产品的,因为产品可以从国外抄,谁下手快谁 就能获得先发优势。现在,互联网里的资本已经不成问题,抄袭速度都一样快了。这个时候,互联网比拼的就是谁能更好的理解用户需求,比谁能做出比别人更好的 产品。此时,产品经理的作用至关重要。

那么,怎样才能成为一个优秀的产品经理?或者说,一个优秀的产品经理需要具备哪些素质?

一个产品没做好,原因可能很多,比如说功能做得太多,或者定位不清楚。这些原因都容易看出来,给产品经理指出来。但是,原因背后的原因如果找不到,产品经理就会犯同样的错误,那也意味着根本不会成为一个优秀的产品经理。
(全文 …)

对于一些转载性质或采集性质的网站,因为外链图片有可能被来源网站删除或出现防盗链的情况,有的时候站长期望把文章中的外联图片都保存到本地空间里。解决办法是在原有的系统中添加一个PHP自动保存文章中外部图片的功能。

首先我们想到的是可以通过正则匹配来寻找文章中所有的img标签,这个表达式需要可以匹配跨行的img标签,并且需要对img标签做条件判断允许img标签带有其他属性.解决方案是使用preg_replace_callback() 这个函数。

function getRomatePic($data){
        $pattern = '/<img[^\/]*src=\"([^\"]*)\"[^\/]*\/>/ims';
        return preg_replace_callback($pattern,filter_image_call, $data);    
}

为了完成外部图片的链接过滤及图片的本地保存,定义filter_image_call()。

function filter_image_call($match){
                $postImagePath="pic/";
                $postImageUrlBase="http://localhost/pic/";
        $image_tag = $match[0]; //获得匹配的img标签
        $image_url = $match[1]; //匹配img标签的src属性值
        //如果src属性值不是http://开头的,也就是说图片已经是本地地址,不做任何修改而返回原始的img标签
        if(substr($image_url, 0, 7) != 'http://'){
                return $image_tag;
        }
        $postfix = date('Y-m-d');
        $dir_prefix = $postImagePath.$postfix."/"; //预定义的本地保存图片的文件夹,根据需要改变
        $url_prefix = $postImageUrlBase.$postfix."/"; //预定义的url前缀,根据需要改变
        //echo $url_prefix;
        //新建保存图片的文件夹
        if(!file_exists($dir_prefix)){
                mkdir($dir_prefix, 0777, true);
        }
        //随机生成图片文件名
        $arr = split("[/\\.]", $image_url);
        $ext =  '.'.$arr[count($arr) - 1];
        $file_name = substr(sha1(date('Y-m-d H:i:s') . rand(0,1000)), 0, 5) .rand_str(5) . $ext;
        //使用http_get_file函数得到远程图片文件,并保存到本地
        $file = http_get_file($image_url);
  file_put_contents($dir_prefix . $file_name, $file);
        //通过str_replace函数替换掉原始img标签中的src属性/
        return str_replace($image_url, $url_prefix . $file_name, $image_tag);
}

最后,定义获取图片的函数,也可以使用discuz中的dfopen函数

function http_get_file($url){
        $url_stuff = parse_url($url);
        $port = isset($url_stuff['port']) ? $url_stuff['port']:80;
        $fp = fsockopen($url_stuff['host'], $port);
        $query  = 'GET ' . $url_stuff['path'] . " HTTP/1.0\n";
        $query .= 'Host: ' . $url_stuff['host'];
        $query .= "\n\n";
        fwrite($fp, $query);
        while ($line = fread($fp, 1024)) {
                $buffer .= $line;
        }
        preg_match('/Content-Length: ([0-9]+)/', $buffer, $parts);
        return substr($buffer, - $parts[1]);
}

另外中间会用到的还有生成指点数目的随机字符串:

function rand_str($size=6,$feed="abcdefghijklmnopqrstuvwxyz0123456789"){
                for ($i=0; $i < $size; $i++) {
                                $rand_str .= substr($feed, rand() % strlen($feed), 1);
                }
           return $rand_str;
        }

整个方法如上,高手可以将上述修改为 WordPress插件,Discuz插件,PHPWind插件等。

jQuery越来越流行,也就越来越多的开发者制作各种各样的jQuery插件。它们当中的一些非常的酷,例如之前介绍的“2010年最佳jQuery插件”和现在有介绍的10个给力的jQuery图片插件

jquery image 9

如果你也想让你的博客上的图片让人眼前一亮,不妨试试WDL博客推荐的10个jQuery图片插件。
(全文 …)

2010年最佳jQuery插件

作者: seasun

在2010年,JavaScript框架继续日渐普及,这使得大量的插件被开发出来。满目琳琅,难以 选择心头之好。WDL的作者从大量的优秀jQuery插件精心筛选出一些对Web Designers有帮助的和具备非常不错的视觉效果的Best of the best。

2010年最佳jQuery插件

2010年最佳jQuery插件(排名不分先后):

Nivo Slider

2010年最佳jQuery插件 Nivo Slider
(全文 …)

Google API 和开发者产品元素表

Google这只巨鳄实在是太巨大了,其拥有庞大的产品线,而每个产品线几乎又有无数为开发者提供的API,如果你想开发第三方应用就可以直接使用,但Google到底有多少API呢?为了搞清楚这个问题,Google自己制作了一个“Google API 和开发者产品元素表”,里面列出了截止2011年1月为止的所有API和跟开发者有关的产品,涵盖移动、搜索、gadgets、数据API、社会化、广告、地图、工具、Chrome等等方面,点击每个“元素”即可了解更多信息。

开发者一定要收藏这个地址,真是即好看又实用,而且这个元素表肯定还会不断膨胀。