快速配置php开发环境

PDT – Eclipse for PHP Developers
XAMPP – Apache + PHP + MySql + … all in one

关键点:
傻瓜式安装完成XAMPP,解压完成PDT之后
1. 打开XAMPP控制板->启动 Apache,MySql
2. 配置PDT,选择Window->Preferences->PHP->PHP Executables->Search (选择XAMPP安装目录里的php目录)
3. 新建php工程的时候选择”Create Project from existing source”,然后填入XAMPP的htdocs目录+”工程名称”,这样做是为了 Run as-> PHP Web Page的时候就能马上预览效果了

当然phpeclipse和XAMPP也能集成得不错,可以参看这篇写得很详细的适合新手上路的文章: Eclipse3.4 下搭建PHP 开发环境 xampp

补充:

要调试的话,需要安装zend debug插件http://downloads.zend.com/pdt,安装完成之后,配置PDT的PHP Executables为安装插件目录下的PHP。(已经在列表里面了,选择设置一个默认的即可)

在火车站被一个小孩抱住腿

出门的时候飘着小雨,坏天气对于有事情要办的人来说总是不爽的,所以心情比较一般

2号线转3号线在上海火车站北广场出去,到长途客运总站买回家的汽车票

鸟车站感觉修了有好几年了,还没改造好,要绕好远的才能到买票的地方

怎么不拿迎世博,刷外墙,修马路的劲头来修北广场呢?



刚到地铁出口就听到

while (ture)
{
chant “发票发票”
}

其中不乏带小孩的中年妇女,七老八十的老奶奶

为什么卖发票这么流行呢?还不是因为有市场,还不是因为这些某些性质的单位需要用报销的方式来逃税漏税?

这些单位大肆偷税漏税,相比之下像咱们这样在外企干活的小白领,连每个月的公交补助都要上税进贡,何其不公!

且不说这些进贡的钱到底被有关部门花到那里去了。。。



继续往前,走了长长一段满是泥泞的路,原本就狭窄的路两边还有不少卖黑货手机、盗版海宝、内部中华、油炸肉串、玉米棒的。。。

还有倒卖车票的、拉黑车的、帮人拉行李的。。。

当然还有不少乞讨的,跪着的,躺着的,到处抱人家腿的。。。

(求3元回家车票钱的女孩子估计很有钱了,不屑于在这样的天气出来吧,又或者这样的天气不利于她在地上写字)

怎么走了这么久唯独不见管理治安的。。。

(相信很多人有过在火车站手机钱包被偷的经历吧)

平日里报导上作威作福的城管大爷们,这里难道不是最应该维护市容的地方么?

公安系统的警察同志们,公务员,这里难道不是你最应该维护治安的地方么?

交通系统的警察同志们,公务员,这里难道不是你最应该打击黑车的地方么?

到了车站,看到的是辛辛苦苦维持秩序的车站保安,虽然穿的是警服,干着最辛苦的差事,他们也不一定是属于编制里的。。。



买完票往回走的路上,终于被一个小孩子看中了,估计觉得我长得温柔,向我粘了过来

两步之外,我就对她摇了摇手,表示不会给她钱

但是她丝毫没有退却的意思,开始粘上来,拽我的衣服

我用正常的语气说道:”不要烦哦”

但是她似乎更加坚定了,抱住了我的腿,大有吃定我的意思

此时,想到这里的种种现象,众多不爽一下子涌上心头,脸色一沉,大喝一声:”不要烦!!!”

明显感觉到她小小的身子为之一振,吓到了,不自觉的松开了手,嘟哝着嘴小声的骂我。。。

做人,该凶的时候一定要凶,而且要一鼓作气,要凶得粗暴而有气势,才能喝退这样的小鬼

虽然吓唬了这个小女孩,心里稍稍有些不忍,但是想到她背后那邪恶的黑手,要坚信自己做的是正确的事情

今天一旦心慈手软给了她钱,那么她背后的那个黑手,肯定备受鼓舞,变本加厉的弄出更多的抱腿小孩

只有大家都不给钱的时候,他们无利可图,抱腿的小孩也有可能会越来越少

不求实现理想国,只愿这些现象越来越少。。。

为iPhone优化网页的技巧

为了使得网页看上去更像native的程序,我们需要对网页进行一些优化

使用iPhone访问本文的测试页面

本文包含一些小的技巧:
1. 如何隐藏iPhone Safari的地址栏
2. 如何设置网页的桌面快捷方式图标
3. 如何为网页设置iPhone的样式
4. 如何在网页中检测屏幕的方向
5. 如何在网页中检测当前的位置

为iPhone优化网页,最需要了解的应该是下面这个属性
viewport: 可见窗口

可见窗口在iPhone Safari上和桌面Safari略有不同,iPhone上默认没有滚动条,默认的实际的可见大小在竖屏状态下,如下图是320*356,地址栏占据了60像素的高度,稍后我们有办法将其隐藏,得以使用这宝贵的60像素。

iPhone的Safari在显示传统的web网页时(未做优化的网页),viewport会被设置成显示网页宽度的980像素,即在320*356的大小内显示原网页980像素的内容,做了适当的缩放等调整。

所以我们做网页优化的时候,可以通过设置这个meta属性,更多细节可以参考: “Safari Web Content Guide.pdf”

<meta name="viewport" content="width=device-width,height=device-height, initial-scale=1.0, user-scalable=no"/>

width=device-width, //设备宽度

height=device-height, //设备高度

initial-scale=1.0, //初始的缩放比例

user-scalable=no //是否允许用户缩放

小技巧

1. 如何隐藏iPhone Safari的地址栏

设置这个属性(文档里面说有用,但是好像不太成功)

<meta name="apple-mobile-web-app-capable" content="yes" />

还有一种办法,页面加载完成之后滚动窗口,这个确实有效,唯一要注意的是页面高度必须够长,我一般设成device-height就没问题了:

<script type="text/javascript">
addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false);

function hideURLbar(){
window.scrollTo(0,1);
}
</script>

2. 如何设置网页的桌面快捷方式图标

这个其实不算技巧,只是从Apple文档里找到这一项罢了

<link rel="apple-touch-icon" href="apple-touch-icon.png"/>
<link rel="apple-touch-startup-image" href="startup.png"/>

第一行就是设置桌面快捷方式图标的,图标必须是57*57像素的文件,不需要自己做圆角和高亮效果,系统会自动帮你搞定这个
放在网页根目录会作用于下面的全部网页,当然也可以为每个页面设置单独的图标

第二行是设置启动画面(没看到成功效果)

3. 如何为网页设置iPhone的样式

这个是CSS media selector的一点小技巧

<!--[if !IE]>-->
<link media="only screen and (max-device-width: 480px)"
  rel="stylesheet" type="text/css" href="iphone.css"/>
<!--<![endif]-->

4. 如何在网页中检测屏幕的方向

<script type="text/javascript">
function updateOrientation()
{
	var displayStr = "Orientation : ";
	switch(window.orientation)
	{
	case 0:
		displayStr += "Portrait";
		break;
	case -90:
		displayStr += "Landscape (right, screen turned clockwise)";
		break;
	case 90:
		displayStr += "Landscape (left, screen turned counterclockwise)";
		break;
	case 180:
		displayStr += "Portrait (upside-down portrait)";
		break;
	}
	document.getElementById("output").innerHTML = displayStr;
}
</script>
<body onorientationchange="updateOrientation();">

5. 如何在网页中检测当前的位置

<script type="text/javascript">
navigator.geolocation.getCurrentPosition(showMap);
function showMap(position) {
	latitude = position.coords.latitude;
	longitude = position.coords.longitude;
	document.getElementById("latitude").innerHTML = latitude;
	document.getElementById("longitude").innerHTML = longitude;
}

//Register for location changes
var watchId = navigator.geolocation.watchPosition(scrollMap,handleError);

function scrollMap(position) {
	latitude = position.coords.latitude;
	longitude = position.coords.longitude;
	document.getElementById("latitude").innerHTML = "scrollMap->"+latitude;
	document.getElementById("longitude").innerHTML = "scrollMap->"+longitude;
}
function handleError(error) {
	document.getElementById("error").innerHTML = error;
}

function buttonClickHandler() {
	// Unregister when the user clicks a button
	navigator.geolocation.clearWatch(watchId);
}

</script>
</head>
<body>
<div id="location">
	latitude:<p id="latitude">null</p>
	longitude:<p id="longitude">null</p>
</div>
<div>
	<input type="button" value="clearWatch" onclick="buttonClickHandler();"/>
</div>
<div id="error"></div>
</body>

WordPress彩色的标签云

自己写simpleblog程序的时候做过一个彩色的标签云,所以想自己写一个用到wordpress里面,后来发现网上这样的代码很多,就找了段现成的。
修改了mystique主题的widgets模板文件 ~/wp-content/themes/mystique/lib/widgets.php
可以看到重点是wordpress的这个方法add_filter(‘wp_tag_cloud’, ‘colorCloud’, 1),我没做过wordpress开发,对这个不熟啦,
但是联想了一下Servlet的filter机制,对这个函数的理解也八九不离十啦,能用了。

<div class="tag-cloud">
<!--Colorful tag cloud -->
<?php
function colorCloud($text) {
$text = preg_replace_callback('|<a (.+?)>|i', 'colorCloudCallback', $text);
return $text;
}
function colorCloudCallback($matches) {
$text = $matches[1];
$color = dechex(rand(0,16777215));
$pattern = '/style=(\'|\")(.*)(\'|\")/i';
$text = preg_replace($pattern, "style=\"color:#{$color};$2;\"", $text);
return "<a $text>";
}
add_filter('wp_tag_cloud', 'colorCloud', 1);

?>
<!--end -->
<?php wp_tag_cloud(apply_filters('widget_tag_cloud_args', array())); ?>

</div>

mystique主题的中文翻译有问题,下载了个poedit修改了一下zh_CN.po文件,这个工具蛮方便的,能自动生成mo文件,自己更新一下主题下的mo文件就行了
~/wp-content/themes/mystique/lang/
zh_CN.mo
zh_CN.po

Google voice recognition API

Google语音搜索的识别率非常棒!
iPhone自带的语音控制识别率很一般!
纯粹YY一下,要是Google提供出他的语音识别API给开发者多好啊!
在高识别率的基础上相信全球的开发者肯定能搞出不少杀手级别的应用!
眼前最现实的是各种平台上的文字输入都将受益!