最新 | 最热门 | 最高评价

+0  基于PECL OAuth打造微博应用

Tag: Technical | OAuth | PHP
老王 发于 2011年01月16日 16:26 | 点击: 5300 | 展开摘要
最近,国内主要门户网站相继开放了微博平台,对开发者而言这无疑是个利好消息,不过在实际使用中却发现平台质量良莠不齐,有很多不完善的地方,就拿PHP版SDK来说吧,多半都是用TwitterOAuth改的,一旦多平台集成,很容易出现命名冲突之类的问题。

既然官方SDK不给力,那我们只能发扬自力更生的革命精神了!好消息是PHP本身已经有了一个标准的OAuth实现:PECL OAuth!下面以此为例来讲解一下如何实现微博应用:

说明:首先需要对OAuth概念有一定的了解,如不清楚可

查看全文: http://www.udpwork.com/item/4679.html

+0  PHP数组交集的优化

Tag: Technical | PHP
老王 发于 2011年01月30日 17:52 | 点击: 1516 | 展开摘要
假设我们正在运营一个手机相关的网站,用户可以通过指定若干参数(如操作系统,屏幕分辨率,摄像头像素等等)来筛选自己想要的手机。不过由于手机的参数多,且不同的手机其参数差异大,所以参数表结构通常是纵表(一个参数是一行),而不是横表(一个参数是一列),此时使用若干参数来取结果,通常就是把每个单独参数来取结果,再一起取交集。

假定每个参数会包含一千个左右的产品ID(int),以此为前提来模拟生成一些数据:

<?php

$rand = function() {
$r

查看全文: http://www.udpwork.com/item/4678.html

+0  在MongoDB中模拟Auto Increment

Tag: Technical | MongoDB | PHP
老王 发于 2011年02月09日 16:33 | 点击: 1548 | 展开摘要
MySQL用户多半都有Auto Increment情结,不过MongoDB缺省并没有实现,所以需要模拟一下,编程语言以PHP为例,代码大致如下所示:

<?php

function generate_auto_increment_id($namespace, array $option = array())
{
$option += array(
'init' => 1,
'step' => 1,
);

查看全文: http://www.udpwork.com/item/4677.html

+0  Javascript中的函数声明和函数表达式

Tag: Technical | Javascript
老王 发于 2011年03月02日 12:45 | 点击: 1213 | 展开摘要
Javascript有很多有趣的用法,在Google Code Search里能找到不少,举一个例子:

<script>
~function() {
alert("hello, world.");
}();
</script>

试一下就知道这段代码的意思就是声明一个函数,然后立刻执行,因为Javascript中的变量作用域是基于函数的,所以这样可以避免变量污染,但这里的位运算符『~』乍一看让人摸不到头脑,如果去掉它再运行则会报错:Synta

查看全文: http://www.udpwork.com/item/4676.html

+0  使用Imagick实现图像直方图

Tag: Technical | Imagick | PHP
老王 发于 2011年03月05日 16:38 | 点击: 1484 | 展开摘要
玩过单反相机的人应该都知道图像直方图(Image Histogram),简单点说,它通过计算每个色阶在总像素中所占的比例来反映图像的曝光情况。我并不打算详细解释专业名词,有兴趣的读者可以查阅文章结尾处的参考链接,那里有通俗易懂的解释:

我们先找一个例子图像(用Canon 550D拍的):

例子图片:butterfly.jpg

下面看看如何使用Imagick实现图像直方图:

<?php

$file = 'butterfly.jpg';

$size = arra

查看全文: http://www.udpwork.com/item/4675.html

+0  PHP操作MongoDB时的整数问题及对策

Tag: Technical | MongoDB | PHP
老王 发于 2011年03月13日 16:34 | 点击: 2345 | 展开摘要
本文所说的整数问题,其实并不是MongoDB的问题,而是PHP驱动的问题:MongoDB本身有两种整数类型,分别是:32位整数和64位整数,但旧版的PHP驱动不管操作系统是32位还是64位,把所有整数都当做32位整数处理,结果导致64位整数被截断。为了在尽可能保持兼容性的前提下解决这个问题,新版PHP驱动加入了mongo.native-long选项,以期在64位操作系统中把整数都当做64位来处理,有兴趣的可参考:64-bit integers in MongoDB。

那么P

查看全文: http://www.udpwork.com/item/4674.html

+0  说说Shell在代码重构中的应用

Tag: Technical | AWK | Grep | Linux | Sed | Shell
老王 发于 2011年03月18日 18:09 | 点击: 1514 | 展开摘要
代码重构(Code refactoring)有时是很枯燥的,字符串替换之类的操作不仅乏味,而且还容易出错,好在有一些工具可用,以PHP为例,如:Rephactor,Scisr等等,不过现成的工具往往意味着不够灵活,所以今天我要说说Shell在代码重构中的应用。

先来个简单的,假设我们要把PHP文件中的foo_bar全都替换成fooBar,那么可以如下:

方法一,使用Sed:

shell> find /path -name "*.php" -print0 | xar

查看全文: http://www.udpwork.com/item/4673.html

+0  JavaOne美国之行–走势篇

Tag: JavaOne | oracle keynote | javaone general technical session | jvm
bluedavy 发于 2010年09月30日 00:12 | 点击: 1979 | 展开摘要
JavaOne已经结束几天了,在走势方面,其实外部消息已经非常非常多了,毕竟现在Oracle掌控了Oracle、MySQL、两个使用面最广的JVM(JRockit、Hotspot)的发展方向,再结合我和jrockit、hotspot一些人聊后对JVM发展的更多感想吧。

Oracle Keynote

Oracle的keynote万众期待,现场发布的exalogic应该也算是比较隐蔽的消息了,之前貌似没太听说过,由于不太感兴趣,本来之前我是不打算听的,只是看到twitter上

查看全文: http://www.udpwork.com/item/2906.html
|<<<6789101112>>>| 一共12页, 140条记录