Thursday, December 15, 2011

[REF] User testing is common sense.


When you should do it
User testing can be carried out at any stage of a design, from the initial concepts to the final product. In general, the most efficient way of carrying out user testing is to do it as early as possible in the design process, so that fundamental problems are eradicated before further design work is carried out. Then test often. Some feedback secured at the beginning of the project is great but it’s not enough. Keep validating your assumptions – even if it involves just showing it to 1-2 users.  The best approach to testing is to start early and test often, using an iterative development process of design, test, update, test – etc

Wednesday, October 14, 2009

小自行车购买

小自行车购买:

小自行车品牌:
1. 好孩子
2. 新中华

我儿子现在2岁半,身高1米,骑12寸的车子正好,应该再骑1年没问题.
本来想直接买14寸的,但是当时他骑着够不着就还是选12寸的了.

不买12寸主要是发现12寸的轮子和14寸的不一样,12寸的轮子是塑料、实心的,质量一般般,车子也是塑料的,14寸以上的就是电喷的了,轮子是充气的,和大人的车子一样。

不过最好到二岁后再买,因为现在就算买了,他也不会骑. 过了二岁后他的小腿肌肉就有力道踩下去了啊. 

我家是12寸的,2岁左右骑差不多,现在骑小了,但我觉得从长远来看,还是14寸好点,因为宝宝会骑车的时候14寸也够的着了  

2岁小孩可以买12寸的自行车,最长可以用到4岁多

我们20个月的时候就买的14寸的,一开始不能骑满轮,但很快,过两个月就可以了。
建议买14寸的,我们骑到现在,但是当时买12寸的现在都换第二辆了,12村用不了多久  


我家去年买的14寸的,当时骑有点大,只踩半圈,现在骑刚好了,宝宝长起来很快的,估计还能玩个两年。

以前听说过最好3岁以后让宝宝骑自行车,太早对他的腿发育不好 

儿童自行车尺寸参照(只供参考):
12寸----适合1.5-4岁儿童
14寸----适合3-6岁儿童
16寸----适合4-8岁儿童


Thursday, May 14, 2009

Oracle中的异常处理

异常与Oracle错误的关联可通过EXCEPTION_INIT编译器指令实现。语法:

  PRAGMA EXCEPTION_INIT(exception_name , oracle_error_number);

(在PL/SQL中使用编译器指令的语法都是以pragma打头,且只能在代码的声明部分使用。可参照自治事务的用法)

1>被关联的异常只能是用户自定义的异常,不能是预定义的异常名。当然用户可定义一个与预定义同名的异常(但不提倡这样做);

2>一个错误可以关联多个异常,关联同一个错误的异常不能在异常处理部分同时出现;

5、SQLCODE返回的是当前的错误号。

  SQLERRM返回的是当前的错误信息文本。

  如果错误(异常)是通过RAISE显式引发的用户自定义异常,且该异常没有通过EXCEPTION_INIT语句与错误代号进行关联,则SQLCODE返回值为1,而SQLERRM返回的信息是:ORA-06510: PL/SQL: unhandled user-defined exception。

  也可以这样理解:用户自定义的异常默认与错误代号为1的错误进行关联,而错误代号为1的错误信息文本是:ORA-06510: PL/SQL: unhandled user-defined exception。

  两个相关例子:

SQL> DECLARE

2  e_test EXCEPTION;

3 BEGIN

4   RAISE e_test;

5 EXCEPTION WHEN OTHERS THEN

6   DBMS_OUTPUT.PUT_LINE(SQLCODE);

7  DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.FORMAT_ERROR_STACK);

8 END;

9 /

1

ORA-06510: PL/SQL: unhandled user-defined exception

PL/SQL过程已成功完成。

SQL> DECLARE

2  e_test EXCEPTION;

3  PRAGMA EXCEPTION_INIT(e_test ,-20001);

4 BEGIN

5   RAISE_APPLICATION_ERROR(-20001,'This is a test.');

6 EXCEPTION

7   WHEN e_test THEN

8     DBMS_OUTPUT.PUT_LINE(SQLCODE);

9  DBMS_OUTPUT.PUT_LINE(SQLERRM);

10   WHEN OTHERS THEN

11     NULL;

12 END;

13 /

-20001

ORA-20001: This is a test.

PL/SQL过程已成功完成。

6、使用RAISE_APPLICATION_ERROR方法引发异常并创建错误代号与错误消息。语法:

  RAISE_APPLICATION_ERROR(error_number,error_message[,keep_errors]);

  其中,error_number是在-20000到-20999之间的一个值。error_message是与该错误关联的文本.keep_errors的值为TRUE或FALSE,如为TRUE,新产生的错误就会追加到已引发错误的列表中(如果已经有错误的话)。如为FALSE(FALSE也是默认值),新发生的错误就会替换当前的错误列表。

SQL> BEGIN

2   BEGIN

3     BEGIN

4    RAISE_APPLICATION_ERROR(-20001,'This is a test.',TRUE);

5     EXCEPTION WHEN OTHERS THEN

6    RAISE_APPLICATION_ERROR(-20002,'I raised by 20001.',TRUE);

7     END;

8   EXCEPTION  WHEN OTHERS THEN

9     RAISE_APPLICATION_ERROR(-20003,'I raised by 20002.',TRUE);

10   END;

11 EXCEPTION WHEN OTHERS THEN

12     DBMS_OUTPUT.PUT_LINE(SQLCODE);

13  DBMS_OUTPUT.PUT_LINE(SQLERRM);

14 END;

15 /

-20003

ORA-20003: I raised by 20002.

ORA-20002: I raised by 20001.

ORA-20001: This is a test.

PL/SQL过程已成功完成。

7、异常的传播

  1、声明部分和异常部分引发的异常都会立即传播到该封装块。

  2、使用不带任何参数的RAISE语句,再次引发当前异常。该语句只能在异常处理部分出现,通常是为了异常能从已被捕获的处理块中再次传出。

8、异常与事务

  引发异常不会结束某个事务,就像终止某个代码块不会终止一个事务一样。

  但是如果顶层的代码块以一个未处理异常而终止,该异常就会传播到调用环境,代码中产生的相应事务就会立即由服务器进行回滚。

9、异常可当作控制语句使用(如跳过某段程序的执行、终止整个程序的执行等)。

Tuesday, May 12, 2009

PL/SQL debug – 1

Error Message while executing the script:

Error code:-932Script error message:ORA-00932: inconsistent datatypes: expected - got -

possible solution:

1. check the parmaters type match the column type in select clause

2. check the result table type definition match the source table column type

3. copy part of the script to another editor window, try to run to get more determined error messages

Monday, May 11, 2009

select into

case 1. select into 语法
 
现在有表
tablea 
 cola int ,
 colb varchar(20)
)
 
要把tablea中满足条件(cola <100)的记录生成新的表tableb。
 
在ms sqlserver 可以直接用select into语法:
select * into tableb 
where cola <>
 
在oracle中语法如下:
create table tableb 
as 
  select * from tablea 
    where cola <100)