存档

2009年9月 的存档

[数据库]查询当前节点以及所有的下一节点的ID

2009年9月10日 没有评论

以前工作中会有比较多的SQL,但一直没有总结~ 很多都忘记了…在此做个笔记备忘

查询当前节点以及所有的下一节点的ID

表结构:
Field Type Collation Null Key Default Extra Privileges Comment
——— —————- ————— —— —— ——- ————– ——————————- ——-
id int(10) unsigned (NULL) NO PRI (NULL) auto_increment select,insert,update,references
parent_id int(10) unsigned (NULL) YES (NULL) select,insert,update,references
name varchar(255) utf8_general_ci YES (NULL) select,insert,update,references
form_id int(11) (NULL) YES (NULL) select,insert,update,references
path varchar(255) utf8_general_ci YES (NULL) select,insert,update,references

  1. select a.*,group_concat(b.id) as next from category a left join category b on a.id=b.parent_id group by a.id

查询每个分类的前N条记录

早上朋友从CSDN上介绍我看的一个帖子~ 很巧妙的解决办法~ 本来我打算用子查询limit来做…可是MYSQL不支持子查询使用limit 再仔细看这位高人的解决办法~ 确实赞~

   mysql> -- -------------------------------
   mysql> --  Author: liangCK
   mysql> -- -------------------------------
   mysql>
   mysql> -- > 生成测试数据: @T
   mysql> DROP TABLE IF EXISTS tb ;
   Query OK, 0 rows affected (0.01 sec)
 
   mysql> CREATE TABLE tb(录象文件编号 INT,录象文件级别 INT,录象文件时间 TIME);
   Query OK, 0 rows affected (0.05 sec)
 
   mysql> INSERT INTO tb
       -> SELECT 1,1,'12:00:01' UNION ALL
       -> SELECT 2,1,'12:00:02' UNION ALL
       -> SELECT 3,1,'12:00:03' UNION ALL
       -> SELECT 4,2,'12:00:01' UNION ALL
       -> SELECT 5,2,'12:00:02' UNION ALL
       -> SELECT 6,2,'12:00:03' UNION ALL
       -> SELECT 7,3,'12:00:01' UNION ALL
       -> SELECT 8,3,'12:00:02' UNION ALL
       -> SELECT 9,3,'12:00:03';
   Query OK, 9 rows affected (0.09 sec)
   Records: 9  Duplicates: 0  Warnings: 0
 
   mysql>
   mysql> -- SQL查询如下:
   mysql>
   mysql> SELECT *
       -> FROM tb AS A
       -> WHERE 2>(SELECT COUNT(*) FROM tb
       ->          WHERE A.录象文件级别=录象文件级别
       ->;              AND 录象文件时间

恶心事情太多

2009年9月10日 没有评论

人在屋檐下,没办法啊,哎。

每天累死累活的改代码,完了还要挨骂,这个世界真是不公平!

中午一群牢骚人合伙吃了个官记烤翅,骂骂咧咧很痛快,喝个革命的小酒,回头忘掉过去,继续写狗屎代码,发泄记录之。

技术的地位真低!

分类: 杂七杂八 标签:

可口可乐要破产?

2009年9月8日 没有评论

据说出来辟谣了,不过这年头,什么都难说,经常是一夜之间,说倒闭就倒闭了,哈哈。

反正我也不喝可乐。

分类: 杂七杂八 标签:

Kappa拖鞋的秘密

2009年9月8日 没有评论

正面一看没啥问题
Kappa拖鞋的秘密

没想到鞋底另有乾坤
Kappa拖鞋的秘密

仔细一看
Kappa拖鞋的秘密

感觉怎么样,十二分的强悍吧!这年头强人真的很多啊

给空间安装代码高亮的功能

2009年9月8日 没有评论
<?php
echo "welcome weige, this is a test message!!!";
echo "当前时间为:" . date('Ymd');
?>

效果还不错,暂时就先用这个了。

分类: 技术收集 标签: ,

最近研究下HAProxy

2009年9月8日 1 条评论

据说HAProxy的效率不错,近期研究一下,稍后的文章分享使用经验。

其实我就一个新手而已,知道个名词,哇哈哈

分类: 杂七杂八 标签:

47款国内网友开发的 WordPress 免费中文主题

2009年9月8日 8 条评论

今天是农历七月初七,中国传统的七巧节,现代人称之为中国的情人节。我们今天给大家带来了 Terry 网友所精心总结出来的47款国内网友开发的免费的 WordPress 中文主题,希望能够帮你扮靓网站,度过一个快乐的节日。

大家肯定很熟悉smashingmagazine的一篇文章,100 Excellent Free WordPress Themes,当时这篇文章被N多的博客转载,但是这些漂亮的主题有很多在中文博客上,显示的并没有英文的好看,有的需要后台进行改进,这就是汉字和拉丁字母的区别了。

为了让大家能更好地用上漂亮的、更适合于汉字的主题,自己在网络上不断搜寻着国人设计的wordpress主题,现在贴出来。引用 smashingmagazine的一句话:“You want them — you get them. This page may take a while to load; therefore please be patient and don’t hit “Reload” too often.”

写在前面:

1.其实主题的类型本来就不好细分,我并没有按照一栏、两栏、三栏进行区分,而是按照风格来的,简洁、华丽、CMS等。

2.原意也是想找100个主题的,但是发现很难,并不是说没有那么多,只是在国内知名的wordpress主题设计者并不多;数字50感觉太整齐了,所以在编辑了一整天的这篇文章中,最后定在了47,而且不会再去增加了。

3.这篇文章是花费了大量的时间去整理的,所以希望转载的朋友们,注明“转载”字样,保留原作者链接,谢谢!

一、简洁、朴素、易用类型(最适合用于博客的主题)

1.G7 V1(这款主题相当经典了,当时underone刚刚设计出来时,网络上到处都是它的踪影,由此可见其魅力多大了)

g7_v1_final

2.iNove(目前最流行的wordpress主题,在wordpress.org的主题下载中也是排名第一

inove

3.CKSKY-WP V1.0(最近刚刚火起来的一款主题,灰白色,简洁大方,V2.0版本也快要出来了)

CKSKY

4.hello:D(Fen设计的一款主题,hellowiki.com,不过作者的主页现在是Typecho))),不再是wordpress了,但主题依然漂亮)

hello d

5.iblue(与G7V1同时代的主题,除了顶部和底部有蓝色和黑色外,没有其他的图片,感觉上很紧凑工整,目前更新到1.2版本)

iblue

6.Prower V2(新年发布的V2主题,依然是蓝色+白色的搭调,页面很清新)

prowerv2

7.SimpleG(从作者的日志标题可以看出日期是09/02/05发布的,05/01更新,这款主题比前面几款还要简洁,好像除了logo和页脚的几个字,没有其他图片了)

simpleG

8.O-BOX(作者主页目前打不开,显示数据库连接错误,与上面几款不一样的在于,这次使用了比较奔放热情的橙色,但是总体上还是简单型的,所以归纳进这一类别)

O-box

9.PhiNa(主题整体是白色,背景有点灰色,页面的每个部分划分的很整齐)

phiNa

10.imagine(也许这个名字有点陌生,但是如果说是帕兰的自用主题,大部分人估计就知道了,作者写着“非正常共享”,因为要修改很多东西,不过喜欢的话,就不用怕麻烦)

imagine

11.Blogbus(由柠檬制作的blogbus主题,有点图片,也许算不上简洁,但是很值得推荐)

blogbus

12.Green-vanilla1.0.2(出自fvzone之手,这款主题与上面一款的颜色搭配有些类似,简单,清新)

green-vanilla102

13.Simple Publication(pantap的一个主题,乍一看,全是文字,几乎没有图片,有此爱好的可以去尝试下)

Simple Publication

14.Mr.WhiteBoard(MrChou的御用主题,从名字就可以看出“白板”,自然超简洁了)

Mr.WhiteBoard

15.iKite Theme v2.0(不一样的蓝白搭配,主题圆润,使用了 iChat 的气泡聊天样式来作为评论的样式。)

ikite

16.D&Z Theme(zEUS的一款作品,灰白色调,风格类似的还有Ipple Ultra和Ipple Lite两款作品,不能说简洁,只能算是朴素的类型吧)

D&Z Theme

17.MiniWP(sofish的主题,很简单朴素)miniwp

18.ClearTime(还是sofish的主题,简洁)

clearTime

19.Colorful(虽然为colorful,但是特点“简洁+清新+白色+或许适合小女生”,作者:sofish)

colorful

20.Js O3 Lite(作者jinwen,感觉很有天赋,在这个主题中,页面时橙色和白色搭配,运用了js效果,虽然看起来很简单,但是效果很炫,官方的演示图很小,就用自己的博客演示截图了)

Js O3 Lite

21.Maxthon(模仿遨游浏览器的主题,简洁)

maxthon

22.Denim(牛仔与怀旧的风格)

Denim

23.Wheat-lite(page设计制作的主题,还有其他几款主题,基调是类似的,不过版式不一样,很漂亮)

Wheat-lite released

24.page-balloon(与上面一款出自page之手)

pageballon

25.Reborn Theme(fvzone的大作,黑灰白,再加点蓝色,大气沉稳的主题,适合男性)

Reborn Theme

26.LostBlue(与ikite同样的作者,介绍中,得知该主题是pjblog上移植过来的,整洁,清爽)

lost blue

27. zFirst(版本号从0.8、0.9、0.9.3、1.0.0再到1.2.1,包括了好几个色调,有白色,也有黑色,下面演示的是黑色,结构紧凑的主题)

zFirst

28.DarkWish(在国人设计的黑色系主题中算是很经典的一个了,xuhel的作品,有其他的系列)

darkwish

二、华丽类型(漂亮、色彩丰富的图片、效果,很high的风格)

1.Infinity(提到华丽精美的wordpress主题,肯定知道vikiworks的设计风格,全部超级华丽漂亮,别看页面是英文的,作者是中国人)

Infinity

2.Resurrection(仍然是vikiworks设计的,依旧华丽)

Resurrection

3.Vikiworks V5(还是vikiworks的,谁让人家设计的那么漂亮呢,取舍不了)

V5 theme

4.7color(顾名思义,是七彩的颜色,页面顶部和底部的图片也确实很color,整体华丽且简单)

7color

5.Diablo III (来自宙斯之手,根据游戏的画面设计的主题,很大气)

diablo 3

6.ihiro(作者的博客6月份刚上线时做的主题)

ihiro

7.ediyang(此款主题作者没有共享,我是看到如此漂亮,才写出来的,如果冒犯了作者,通知我,我立刻删除)

ediyang

8.NFS:Carbon(作者是xu.hel,上面的iKite也是出自其手,这个主题的元素都取自游戏《Need for Speed Carbon》)

Carbon

9.5Key(作者5Key,该主题背景的木纹比较有特色,总体也不错)

5key

10.Js O4w(名字是不是很熟悉啊,依然是jinwen设计的,与简约型的#20区别在于,设计的图案上,圈圈很是漂亮)

Js O4w

11.Mac osX 2.1(一看名字就知道Mac主题,背景更撑托出“雪豹”的魅力)

macosx21

12.Battle(Designed by battle.net & GoneWTW,背景是battle平台的图片,非常的漂亮,喜欢魔兽、暗黑、星级的朋友们,赶快上吧)

battle

三、CMS类型(用wordpress做一些资源或者门户网站的主题)

1.oMagazine(sofish的CMS主题,色彩很丰富,自定义图片等等)

omagazine

2.lin(与oMagazine相比,这款显得更加的CMS,门户站)

lin

3.BBTheme(菠萝油的主题,看着这样一个主题,也许以为是CMS程序建立的,同时也不得不感叹worpress的强大)

BBtheme

4.iNews-v1(与lin的颜色类似,感觉都像Dedecms,本质是WORDPRESS!)

iNew

四、相册类型(适合做相册、摄影一类的wordpress主题)

1.Impression0.1(很漂亮的一个相册主题,在wordpress.org下载也很靠前,值得推荐)

Impression0.1

五.其他类型(主题有一些亮点功能的,如切换颜色、宽度等)

1.Fashion Blue(这款主题如果只是从页面的设计效果看,出众的地方不多,但是该主题的亮点或者精华就在于顶部的调节Resolution ,最好的方法是自己去体验下)

Fashion Blue

2.ElegantBox(同样是mg12的作品,这一款虽然不及inove那么有名气,但是也是相当的漂亮,页面感觉超级清爽简洁,而且可以切换主题的颜色)

elegentbox

写在最后:

其实在国人设计的wordpress主题中,真的有很多是精品,与国外设计的主题相比较,相册类的主题以及CMS主题显得特别的少,在最后还是真心的希望国内的大师们,设计出越来越好的主题!

Java模式设计之单例模式

2009年9月8日 3 条评论

作为对象的创建模式[GOF95], 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。

注:《Java与模式》一书的第十五章。

引言

单例模式的要点

单例单例

显然单例模式的要点有三个;一是某各类只能有一个实例;二是它必须自行创建这个事例;三是它必须自行向整个系统提供这个实例。在下面的对象图中,有一 个”单例对象”,而”客户甲”、”客户乙” 和”客户丙”是单例对象的三个客户对象。可以看到,所有的客户对象共享一个单例对象。而且从单例对象到自身的连接线可以看出,单例对象持有对自己的引用。
资源管理

一些资源管理器常常设计成单例模式。
在计算机系统中,需要管理的资源包括软件外部资源,譬如每台计算机可以有若干个打印机,但只能有一个Printer Spooler, 以避免两个打印作业同时输出到打印机中。每台计算机可以有若干传真卡,但是只应该有一个软件负责管理传真卡,以避免出现两份传真作业同时传到传真卡中的情 况。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。

需要管理的资源包括软件内部资源,譬如,大多数的软件都有一个(甚至多个)属性(properties)文件存放系统配置。这样的系统应当由一个对象来管理一个属性文件。
需要管理的软件内部资源也包括譬如负责记录网站来访人数的部件,记录软件系统内部事件、出错信息的部件,或是对系统的表现进行检查的部件等。这些部件都必须集中管理,不可政出多头。
这些资源管理器构件必须只有一个实例,这是其一;它们必须自行初始化,这是其二;允许整个系统访问自己这是其三。因此,它们都满足单例模式的条件,是单例模式的应用。

一个例子:Windows 回收站
Windows 9x 以后的视窗系统中都有一个回收站,下图就显示了Windows 2000 的回收站。

在整个视窗系统中,回收站只能有一个实例,整个系统都使用这个惟一的实例,而且回收站自行提供自己的实例。因此,回收站是单例模式的应用。

双重检查成例

在本章最后的附录里研究了双重检查成例。双重检查成例与单例模式并无直接的关系,但是由于很多C 语言设计师在单例模式里面使用双重检查成例,所以这一做法也被很多Java 设计师所模仿。因此,本书在附录里提醒读者,双重检查成例在Java 语言里并不能成立,详情请见本章的附录。

单例模式的结构

单例模式有以下的特点:

.. 单例类只可有一个实例。

.. 单例类必须自己创建自己这惟一的实例。

.. 单例类必须给所有其他对象提供这一实例。

虽然单例模式中的单例类被限定只能有一个实例,但是单例模式和单例类可以很容易被推广到任意且有限多个实例的情况,这时候称它为多例模式 (Multiton Pattern) 和多例类(Multiton Class),请见”专题:多例(Multiton )模式与多语言支持”一章。单例类的简略类图如下所示。

由于Java 语言的特点,使得单例模式在Java 语言的实现上有自己的特点。这些特点主要表现在单例类如何将自己实例化上。

饿汉式单例类饿汉式单例类是在Java 语言里实现得最为简便的单例类,下面所示的类图描述了一个饿汉式单例类的典型实现。

从图中可以看出,此类已经自已将自己实例化。

代码清单1:饿汉式单例类

public class EagerSingleton
{
private static final EagerSingleton m_instance = new EagerSingleton();
/**
* 私有的默认构造子
*/
private EagerSingleton() { }
/**
* 静态工厂方法
*/
public static EagerSingleton getInstance()
{
return m_instance;
}
}

读者可以看出,在这个类被加载时,静态变量m_instance 会被初始化,此时类的私有构造子会被调用。这时候,单例类的惟一实例就被创建出来了。

Java 语言中单例类的一个最重要的特点是类的构造子是私有的,从而避免外界利用构造子直接创建出任意多的实例。值得指出的是,由于构造子是私有的,因此,此类不能被继承。
懒汉式单例类

与饿汉式单例类相同之处是,类的构造子是私有的。与饿汉式单例类不同的是,懒汉式单例类在第一次被引用时将自己实例化。如果加载器是静态的,那么在懒汉式单例类被加载时不会将自己实例化。如下图所示,类图中给出了一个典型的饿汉式单例类实现。

代码清单2:懒汉式单例类

package com.javapatterns.singleton.demos;
public class LazySingleton
{
private static LazySingleton
m_instance = null;
/**
* 私有的默认构造子,保证外界无法直接实例化
*/
private LazySingleton() { }
/**
* 静态工厂方法,返还此类的惟一实例
*/
synchronized public static LazySingleton
getInstance()
{
if (m_instance == null)
{
m_instance = new LazySingleton();
}
return m_instance;
}
}

读者可能会注意到,在上面给出懒汉式单例类实现里对静态工厂方法使用了同步化,以处理多线程环境。有些设计师在这里建议使用所谓的”双重检查成例”。必须指出的是,”双重检查成例”不可以在Java 语言中使用。不十分熟悉的读者,可以看看后面给出的小节。

同样,由于构造子是私有的,因此,此类不能被继承。饿汉式单例类在自己被加载时就将自己实例化。即便加载器是静态的,在饿汉式单例类被加载时仍会将自己实例化。单从资源利用效率角度来讲,这个比懒汉式单例类稍差些。

从速度和反应时间角度来讲,则比懒汉式单例类稍好些。然而,懒汉式单例类在实例化时, 必须处理好在多个线程同时首次引用此类时的访问限制问题,特别是当单例类作为资源控制器,在实例化时必然涉及资源初始化,而资源初始化很有可能耗费时间。 这意味着出现多线程同时首次引用此类的机率变得较大。

饿汉式单例类可以在Java 语言内实现, 但不易在C++ 内实现,因为静态初始化在C++ 里没有固定的顺序,因而静态的m_instance 变量的初始化与类的加载顺序没有保证,可能会出问题。这就是为什么GoF 在提出单例类的概念时,举的例子是懒汉式的。他们的书影响之大,以致Java 语言中单例类的例子也大多是懒汉式的。实际上,本书认为饿汉式单例类更符合Java 语言本身的特点。
登记式单例类

登记式单例类是GoF 为了克服饿汉式单例类及懒汉式单例类均不可继承的缺点而设计的。本书把他们的例子翻译为Java 语言,并将它自己实例化的方式从懒汉式改为饿汉式。只是它的子类实例化的方式只能是懒汉式的, 这是无法改变的。如下图所示是登记式单例类的一个例子,图中的关系线表明,此类已将自己实例化。

代码清单3:登记式单例类

import java.util.HashMap;
public class RegSingleton
{
static private HashMap m_registry = new HashMap();
static
{
RegSingleton x = new RegSingleton();
m_registry.put( x.getClass().getName() , x);
}
/**
* 保护的默认构造子
*/
protected RegSingleton() {}
/**
* 静态工厂方法,返还此类惟一的实例
*/
static public RegSingleton getInstance(String name)
{
if (name == null)
{
name = “com.javapatterns.singleton.demos.RegSingleton”;
}
if (m_registry.get(name) == null)
{
try
{
m_registry.put( name,
Class.forName(name).newInstance() ) ;
}
catch(Exception e)
{
System.out.println(“Error happened.”);
}
}
return (RegSingleton) (m_registry.get(name) );
}
/**
* 一个示意性的商业方法
*/
public String about()
{
return “Hello, I am RegSingleton.”;
}
}

它的子类RegSingletonChild 需要父类的帮助才能实例化。下图所示是登记式单例类子类的一个例子。图中的关系表明,此类是由父类将子类实例化的。

下面是子类的源代码。

代码清单4:登记式单例类的子类

import java.util.HashMap;
public class RegSingletonChild extends RegSingleton
{
public RegSingletonChild() {}
/**
* 静态工厂方法
*/
static public RegSingletonChild getInstance()
{
return (RegSingletonChild)
RegSingleton.getInstance(
“com.javapatterns.singleton.demos.RegSingletonChild” );
}
/**
* 一个示意性的商业方法
*/
public String about()
{
return “Hello, I am RegSingletonChild.”;
}
}

在GoF 原始的例子中,并没有getInstance() 方法,这样得到子类必须调用的getInstance(String name)方法并传入子类的名字,因此很不方便。本章在登记式单例类子类的例子里,加入了getInstance() 方法,这样做的好处是RegSingletonChild 可以通过这个方法,返还自已的实例。而这样做的缺点是,由于数据类型不同,无法在RegSingleton 提供这样一个方法。由于子类必须允许父类以构造子调用产生实例,因此,它的构造子必须是公开的。这样一来,就等于允许了以这样方式产生实例而不在父类的登 记中。这是登记式单例类的一个缺点。

GoF 曾指出,由于父类的实例必须存在才可能有子类的实例,这在有些情况下是一个浪费。这是登记式单例类的另一个缺点。

分类: 杂七杂八 标签:

2009的愿望

2009年9月8日 没有评论

应该在年初展望比较好,不过年初的时候博客因为种种原因,自己也比较懒惰,原来的地址就给荒废掉了,现在重新开了一个,希望这次能继续下去,加油。

1.身体好好,身体是革命的本钱嘛,呵呵。自己和lp的都要好才行,过一段时间还得去医院彻底检查一下。

2.努力赚钱,年底的基本目标是15个。

3.学车,必须得学了,这项技能还是尽早的会了比较好。

4.捣鼓点自己的“事业”,哈哈

5.持续学习英语,哎。听说读写还是瘸腿的很厉害,这可怎么办,继续努力吧。

6.让lp开开心心的每一天。

7.学习点新技术.. python得捡起来,这个忘得真快,以后得多用这个进行操作

分类: 心情故事 标签:

穷则思变

2009年9月8日 没有评论

陪lp去医院检查,顺便去团结湖公园小小地游完了一下,心情还是不错的,就是不懂医院的规定,等我们慢慢悠悠的晃到医院的时候人家的分诊台都已经长长地一大串了,等看完天都快黑掉了,真麻烦,下次有经验了。

人应该经常的思考一下,否则一成不变的呆着,几年下来人估计就彻底的废掉了。为理想奋斗了,以后再回想起来总还是没有遗憾的,哇哈哈。感慨一下。T6的“老妈蹄锅”不错,撑死了。

分类: 心情故事 标签: ,