最新 | 最热门 | 最高评价

+2  正确重置MySQL密码

Tag: Technical | MySQL
老王 发于 2011年06月12日 15:37 | 点击: 2259 | 展开摘要
谁都不想弄丢家门钥匙,但不管多么小心,时间长了,这样的事情总会发生几次。MySQL密码也是一样,把它写在文档上不太安全,记在脑子里又难免会忘记。

如果你忘记了MySQL密码,如何重置它呢?

下面是错误答案:

首先停止MySQL服务,然后使用skip-grant-tables参数启动它:

shell> /etc/init.d/mysql stop
shell> mysqld_safe --skip-grant-tables &

此时无需授权就可以进

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

+1  MySQL和MongoDB设计实例对比

Tag: Technical | MongoDB | MySQL
老王 发于 2011年06月08日 22:51 | 点击: 2117 | 展开摘要
MySQL是关系型数据库中的明星,MongoDB是文档型数据库中的翘楚。下面通过一个设计实例对比一下二者:假设我们正在维护一个手机产品库,里面除了包含手机的名称,品牌等基本信息,还包含了待机时间,外观设计等参数信息,应该如何存取数据呢?

如果使用MySQL的话,应该如何存取数据呢?

如果使用MySQL话,手机的基本信息单独是一个表,另外由于不同手机的参数信息差异很大,所以还需要一个参数表来单独保存。

CREATE TABLE IF NOT EXISTS `mobiles

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

+0  实例演示SimpleXMLElement的用法

Tag: Technical | PHP | XML
老王 发于 2011年05月29日 20:39 | 点击: 1918 | 展开摘要
使用PHP解析XML时,常用simplexml_load_string,缺省是一个SimpleXMLElement的包装函数,今天不说simplexml_load_string,只说SimpleXMLElement。

本文以Android软件中的AndroidManifest.xml文档为例,先看一下演示文档的内容:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http:

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

+0  UTF-8编码中BOM的检测与删除

Tag: Technical | BOM | Shell | UTF-8
老王 发于 2011年05月14日 18:28 | 点击: 1739 | 展开摘要
所谓BOM,全称是Byte Order Mark,它是一个Unicode字符,通常出现在文本的开头,用来标识字节序(Big/Little Endian),除此以外还可以标识编码(UTF-8/16/32),如果出现在文本中间,则解释为zero width no-break space。 注:Unicode相关知识的详细介绍请参考UTF-8, UTF-16, UTF-32 & BOM。 对于UTF-8/16/32而言,它们名字中的8/16/32指的是编码单位是多少位的,

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

+0  MVC演化史

Tag: Technical | MVC | MVP
老王 发于 2011年05月02日 21:49 | 点击: 3520 | 展开摘要
Martin Fowler在他所写的《企业应用架构模式》一书中感慨道:MVC已经成为我们最常误用的模式。人们之所以常常误用MVC,很大程度上是因为混淆了不同的MVC变体。

Classic MVC

大概上世纪七十年代,Xerox PARC的Trygve提出了MVC的概念,并应用在Smalltalk系统中,为了和其它类型的MVC加以区分,历史上习惯的称之为Classic MVC。

Model:封装领域数据及逻辑

View:查询领域数据并展现给用户

Conctroller

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

+0  神奇的Fastcgi_Finish_Request

Tag: Technical | Performance | PHP
老王 发于 2011年04月12日 22:14 | 点击: 1935 | 展开摘要
当PHP运行在FastCGI模式时,PHP FPM提供了一个名为fastcgi_finish_request的方法。按照文档上的说法,此方法可以提高请求的处理速度,如果有些处理可以在页面生成完后再进行,就可以使用这个方法。

听起来可能有些茫然,我们通过几个例子来说明一下:

<?php

echo '例子:';

fastcgi_finish_request();

echo 'To be, or not to be, that is the question.';

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

+0  下一站:HandlerSocket!

Tag: Technical | HandlerSocket | MySQL
老王 发于 2011年04月10日 20:48 | 点击: 1791 | 展开摘要
目前使用MySQL的网站,多半同时使用Memcache作为键值缓存。虽然这样的架构极其流行,有众多的案例,但过于依赖Memcache,无形中让Memcache成为故障的根源:

Memcache数据一致性的问题:当MySQL数据变化后,如果不能及时有效的清理掉过期的数据,就会造成数据不一致。这在强调即时性的Web2.0时代,不可取。

Memcache崩溃后的雪崩效应:作为缓存的Memcache一旦崩溃,MySQL很可能在短时间内承受高负载而宕机。据说前段时间新浪微博就遭遇了

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

+0  MySQL复制的概述、安装、故障、技巧、工具

Tag: Technical | MySQL | Replication
老王 发于 2011年04月05日 10:26 | 点击: 1858 | 展开摘要
同MongoDB,Redis这样的NoSQL数据库的复制相比,MySQL复制显得相当复杂!

概述

首先主服务器把数据变化记录到主日志,然后从服务器通过I/O线程读取主服务器上的主日志,并且把它写入到从服务器的中继日志中,接着SQL线程读取中继日志,并且在从服务器上重放,从而实现MySQL复制。具体如下图所示:

MySQL复制

整个过程反映到从服务器上,对应三套日志信息,可在从服务器上用如下命令查看:

mysql> SHOW SLAVE STATUS;

&nb

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

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

Tag: Technical | AWK | Grep | Linux | Sed | Shell
老王 发于 2011年03月18日 18:09 | 点击: 1569 | 展开摘要
代码重构(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  PHP操作MongoDB时的整数问题及对策

Tag: Technical | MongoDB | PHP
老王 发于 2011年03月13日 16:34 | 点击: 2409 | 展开摘要
本文所说的整数问题,其实并不是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  使用Imagick实现图像直方图

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

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

例子图片:butterfly.jpg

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

<?php

$file = 'butterfly.jpg';

$size = arra

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

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

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

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

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

查看全文: http://www.udpwork.com/item/4676.html
|<<<78910111213>>>| 一共13页, 145条记录