No Site Name 人生无彩排,每一天都是LIVING SHOW. 黄亮的BLOG.

16五/120

Redis中删除SortSet的最大Score和最小Score

删除最小Score

1
zremrangebyrank key 0 0

删除最大Score

1
zremrangebyrank key -1 -1
15五/120

Python中,时间字符串与时间戳的互相转换

时间字符串转换为时间戳:

1
2
3
4
import time
timestring = '2012-05-15 17:12:37'
timestamp = int(time.mktime(time.strptime(timestring, '%Y-%m-%d %H:%M:%S')))
print timestamp

时间戳转换为时间字符串:

1
2
3
4
import time
struct_time = time.localtime(1337073342)
timestring = time.strftime('%Y-%m-%d %H:%M:%S',struct_time)
print timestring
14五/120

在AJAX页面显示Loading…

直接贴代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<style>
#ajaxloading {right:0; top:0; width:130px; position:fixed; padding:10px; text-align:center; font-weight:bold; background:#900; color:#FFF;} 
* html #ajaxloading {position:absolute; right:16px;}/*only for ie*/ 
html {overflow:auto !important; overflow:hidden;}
</style>
 
<div id="ajaxloading" style="display:none;">正在加载,请稍候 ...</div>
 
<script>
function setPage(ajax_url, sethistory) {
	$('#ajaxloading').ajaxStart(function() {
		$(this).show();
	});
	$('#ajaxloading').ajaxStop(function() {
		$(this).hide();
	});
	$.get(ajax_url, function(response) {
		$('#setpage').html(response);
        if (!sethistory) {
            history.push(ajax_url);
       }
        return false;
	});
}
</script>
10五/120

13 个mod_rewrite 应用举例

1.给子域名加www标记

1
2
3
RewriteCond %{HTTP_HOST} ^([a-z.]+)?example\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .? http://www.%1example.com%{REQUEST_URI} [R=301,L]

这个规则抓取二级域名的%1变量,如果不是以www开始,那么就加www,以前的域名以及{REQUEST_URI}会跟在其后。

25四/120

小结一下

一转眼已经一年多了,去年的2月20日到新公司入职,3月8日开始,到北京开始出差。总结果一下过去的一年,有得有失吧。。。

先说说得吧。

到了新的公司、新的岗位,经历了新的事,接触到了新的人。感觉一切的一切都是新鲜的。自己突然又觉得有好多好多不懂或是不明白的事情,需要在短时间内搞定。感觉像是回到了当初刚刚开始工作的那段时间,不断的在吸收着新的知识。

在项目中,也接触到了新的技术,试过了新的工作流程。有好也有坏,有习惯,但更多的是不习惯。

在过去了的一个年头里,实现了自己“开发一套框架”的愿望。以项目为蓝本,开发了一套PHP开发框架,并成功的将其应用到了其他的子项目中,证明了框架的可用性。

而且现在还在为转为管理岗位而努力着。。。

再说说“失”了哪些。。。

过去的整个2011年以及2012年到现在过完了的小半年,最对不起的恐怕就是媳妇了。

媳妇在家怀孕10个月,我出差在外待了10个月。宝宝出生,也只在家待了半个月而已。。。心里满是愧疚啊。。。

没有办法参与到宝宝的成长过程中,失掉的乐趣,恐怕也只有自己能够体会得到。。。满心苦楚。。。

马上就要五一回家了,盼着回家与妻女团聚。。。虽说只是短暂的团聚,聊胜于无吧。。。

25四/120

CKEditor插件开发

最近手头项目用到了富文本编辑器,而且要自己开发一些编辑器的插件,于是便直接使用了CKEditor。

CKEditor是目前能见到的比较灵活的WYSIWYG编辑器之一,在CKEditor上做扩展非常容易,而且界面的一致性也能得到很好的保证。

这里简单的把插件开发过程记录下来,留个存档,供以后需要之时翻来查用。

9四/120

Smarty的缓存技术

大家应该知道缓存机制能能有效的减轻网站的服务器压力,Smarty模板引擎的一大亮点就是为我们提供了非常简单的缓存操作,下面就让我们学习一下。

首先我们要知道Smarty缓存机制分为全局缓存,部分缓存,局部缓存三种,我们一一介绍。

分类: PHP 继续阅读
27三/120

Node.php

Evented I/O for PHP [ GitHub ]

Example HTTP server

1
2
3
4
5
6
7
<?php
$http = new node_http();
$http->listen(8080, function($request, $response) {
    $response->end("yay, super awesome response");
});
nodephp_run();
?>

To build:

First build nodephp as a php module

1
2
make
sudo make install

Then you must add the following line to your php.ini

1
extension = nodephp.so

Now you can go and run the example script

1
php src/test.php

Now if you point your browser to 127.0.0.1:8080 you should see the response being served by the test script via nodephp

分类: PHP 没有评论
26三/120

10个实用的Django建议

Django 作为一个杰出的Python开源框架,或许得不到和其它流行框架如Rails这样多的赞美,但是它和其他框架一样精炼,非常注重DRY(Don’t Repeat Yourself)原则、组件的重用性,通过自动化过程使编码更简洁。

如果在Django项目中能够灵活使用某些方法和技巧的话,它将大大加快软件开发的速度同时避免很多头疼的事。作者在下面列举了几点,这些方法由浅入深,可以帮助任何级别的程序员更加熟练的使用Django。

1、 在配置中使用相对路径

某些原因使得项目可能常常会被来回的迁移。如果没有事先规划好这种可能性的话这绝对是一个棘手的问题。Rob Hudson 有一个极好的技巧能够确保你的Django项目在部署过程中能够轻松的来回迁移。仅仅只要编写几行代码在你的配置文件(settings.py)中。

1
2
3
4
5
6
import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
 
TEMPLATE_DIRS = (
    BASE_DIR + '/templates',
)
16三/120

简单介绍一下PHP 5.4的新特性

1. 实例化时访问类成员

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Human{
	function __construct($name){
		$this->name = $name;
	}
	public function hello(){
		return "Hi " . $this->name;
	}
}
// old style
$human = new Human("ixcv");
echo $human->hello();
 
// new cool style
echo (new Human("ixcv"))->hello();

2. 短数组定义语法

1
2
$a = [1, 2, 3];
print_r($a);
分类: PHP 继续阅读
   下一页