诺基亚证实在开发平板

诺基亚设计主管Marko Ahtisaari告诉一家芬兰杂志,该公司正在开发平板。供应链消息来源称诺基亚使用的是微软的Windows-on-ARM平台。平板的规格为双核高通芯片组,显示屏为10英寸,预计2012年第4季度发布。诺基亚一位发言人就Ahtisaari的评论表示,他们对平板一直很感兴趣,但目前并无正式声明可宣布。

MySQL BOOL/BOOLEAN 与 TINYINT 测试总结

导读

MySQL数据库产品提供了二种比较特殊的数据类型: SET(集合类型)、ENUM(枚举类型)、BOOL/BOOLEAN(布尔类型),而多数开发人员,甚至DBA从业者对如何使用这三种数据类型的应用场 景并不十分清晰,为此结合TINYINT数据类型对比,让我们大家一起弄清楚。

(一)   数据类型测试 

(1). 布尔类型BOOL/BOOLEAN 微整型TINYINT

a). 创建测试表结构 

root@localhost : test 05:12:49> CREATE TABLE boolean_test(ID INT NOT NULL AUTO_INCREMENT,

    ->                           Online_Flag BOOL,

    ->                           Lock_Flag BOOLEAN,

    ->                           PRIMARY KEY(ID)

    ->                           )ENGINE=InnoDB CHARACTER SET ‘utf8′ COLLATE ‘utf8_general_ci’;

Query OK, 0 rows affected (0.01 sec)

 

我们可以发现对于字段类型写成BOOL或者BOOLEAN,MySQL的SQL语法都是允许通过的,另外我们再通过SHOW命令查阅创建好的表结构:

*************************** 1. row ***************************

       Table: boolean_test

Create Table: CREATE TABLE `boolean_test` (

  `ID` int(11) NOT NULL AUTO_INCREMENT,

  `Online_Flag` tinyint(1) DEFAULT NULL,

  `Lock_Flag` tinyint(1) DEFAULT NULL,

  PRIMARY KEY (`ID`)

) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

1 row in set (0.00 sec)

小结:

我们对比手工输入创建表boolean_test的结构定义与数据库中查阅到表结构定义,可以发现二者的差别:

  1. MySQL数据库将字段的数据类型BOOL/BOOLEAN默认地转换成TINYINT(1);
  2. MySQL数据库自动完成的数据类型转换过程,没有给出任何错误或警告信息提示;

b). 测试数据的写入

root@localhost : test 05:12:58> INSERT INTO boolean_test(Online_Flag,Lock_Flag) VALUES(TRUE,FALSE);

Query OK, 1 row affected (0.00 sec)

root@localhost : test 05:13:58> INSERT INTO boolean_test(Online_Flag,Lock_Flag) VALUES(1,0);

Query OK, 1 row affected (0.00 sec)

root@localhost : test 05:14:04> INSERT INTO boolean_test(Online_Flag,Lock_Flag) VALUES(2,-1);

Query OK, 1 row affected (0.00 sec)

root@localhost : test 05:14:11> INSERT INTO boolean_test(Online_Flag,Lock_Flag) VALUES(-128,127);

Query OK, 1 row affected (0.00 sec)

root@localhost : test 05:14:18> INSERT INTO boolean_test(Online_Flag,Lock_Flag) VALUES(-256,256);

Query OK, 1 row affected, 2 warnings (0.00 sec)

root@localhost : test 05:14:24> SHOW WARNINGS;

+———+——+——————————————————+

| Level   | Code | Message                                              |

+———+——+——————————————————+

| Warning | 1264 | Out of range value for column ‘Online_Flag’ at row 1 |

| Warning | 1264 | Out of range value for column ‘Lock_Flag’ at row 1   |

+———+——+——————————————————+

2 rows in set (0.00 sec)

小结:

  1. 测试数据表boolean_test的2个字段布尔类型字段,写入的值超过有符号整型TINYINT数据类型存储范围时,出现了字段值截断的警告信息;
  2. 向测试数据表boolean_test的字段可以写入表达布尔数值的TRUE 或 FALSE是不会报错,也不需要用单引号或双引号括起来;
  3. 向测试数据表boolean_test的字段可以写入非表达布尔类型的数值,MySQL数据库不会有任何错误或警告信息提示;

c). 显示写入表boolean_test的数据

root@localhost : test 06:31:33> SELECT * FROM boolean_test;

+—-+————-+———–+

| ID | Online_Flag | Lock_Flag |

+—-+————-+———–+

|  1 |           1 |         0 |

|  2 |           1 |         0 |

|  3 |           2 |        -1 |

|  4 |        -128 |       127 |

|  5 |        -128 |       127 |

+—-+————-+———–+

5 rows in set (0.00 sec)

小结:

通过查阅测试表boolean_test的数据,可以发现MySQL数据库中存储的值与数据写入的INSERT语句还是有一些差别,体现在:

  1. 写入的布尔类型值TRUE 转换成了 1,FALSE 转换成了 0;
  2. 超过TINYINT数据类型存储的上下限制的值,被自动截断;
  3. 布尔类型BOOL/BOOLEAN的功能等同于微整型TINYTINT;

要不要使用 Bootstrap 框架

Bootstrap 是快速开发Web应用程序的前端工具包。它是一个CSS和HTML的集合,它使用了最新的浏览器技术,给你的Web开发提供了时尚的版式,表单,buttons,表格,网格系统等等。

首先,人们发现 Bootstrap 框架超棒,于是开始使用,然后非常的恼火。所以我想说明下 Bootstrap 的优缺点以及为什么我决定继续使用它。

优点

  • 应用视觉效果一致性. 这个其实是很很难的,你希望你的链接、按钮、提醒都有统一的视觉效果,你可以为不同级别的提醒使用不同的颜色

  • 通过多个浏览器测试. 市面上主流的浏览器支持都没问题

  • 完整的框架解决方案. 这是一个框架,你只需使用它而无需重新制作,这个框架专为 Web 应用设计,所有的元素都可以非常完美的在一起工作,可快速开发。

缺点

  • 很难回头. 因为我们都在同一条起跑线上

  • 使用 Less CSS. 这个是个人喜好,我跟喜欢 SASS ,这样就变成我必须在同一个系统中使用两套 CSS 预处理器框架来做几乎相同的事情。

为什么我还要继续使用?

  • 速度. 我不是一个设计师,我喜欢的设计师她现在非常的忙,我无法等她三周后再来帮我

  • 一致性. 使用 Bootstrap 可以让我的整个 Web 应用的风格完全一致,一致的用户体验,一致的操作习惯。

  • 简单而优雅. 尽管还有很多不喜欢 Bootstrap 的人非常抗议这一点

最后我想说的是,Bootstrap 让我的应用看起来跟 Windows 或者 Gnome 下的程序一样,一样的按钮,一样的对话框,运行快速。而且越来越多的 Web 应用被直接放在桌面上运行,应用的一致性是一个趋势,你可以把精力放在业务上,而不是 UI。

英文原文,OSCHINA 原创翻译

传说中的开源 vs 现实中的开源

目前越来越多的科技企业加入到了开源领域,也都在积极地推动开源社区的发展。业界谈及开源,即想到创新、免费等一大堆优势。

不过,IDC并不这么认为。近日,IDC在其召开的Directions 2012大会上称,这些不过是一些传言,尽管有一定的道理,但也不能尽信。

IDC是全球著名的信息技术、电信行业和消费科技市场咨询、顾问和活动服务专业提供商。

IDC在大会上对6个热门传言进行了回应。

传言1:开源软件将接管世界,或者如同IDC一样,将进入每一个市场。

现实中:需求是有必要的,专有的解决方案无法很好地服务于市场,而开发者社区更愿意重新打造软件解决方案。

传言2:开源软件的本质是创新。

现实中:在过去,开源软件罕见地创造了一个新的市场,而不是复制已有的解决方案。而现在的开源软件已经逐渐背离了这些原则。

传言3:在功能改善上,开源软件比商业软件的周期更短。

现实中:在许多情况下,这是事实,但这并不意味着这些提交对于企业客户都是有用的。开源软件每月、每周,甚至每天都在更新,但问题是,有多少改进你能立即使用到。

传言4:开源软件不会将用户锁定(lock-in)到特定的产品中。

现实中:这是事实,但也多少会有些限制。没有强有力的锁定措施,这是对商业产品的最大挑战。

传言5:开源软件是免费的,或至少要便宜得多。

现实中:价格标签只不过反映了一小部分成本,用户在决定之前,必须考虑到项目的整个生命周期,再来看是否真正节省了成本。“Try-before-you-buy”是非常有必要的,同时要认识到,总成本还包括部署成本、长期管理成本、用户支持成本、故障停机成本等。

传言6:积极参与到开源社区,才能真正受益。

现实中:这是不正确的,看看一些大项目,如Linux、Hadoop等,为用户提供了巨大的好处,也不需要用户参与。尽管参与到开源社区有一定的好处,但并不意味着用户必须提交代码或进行测试。

关于开源软件,你怎么认为呢?

Via Zdnet

创业必经之路——Paul Graham 创业曲线

我正在和几个创业公司合作,这些公司正处在Paul Graham所描绘的创业曲线的各阶段:

许多人认为创业总是处于上升期并且有着正确方向。但是更多服务显示这个“创业曲线” 超过任何其他增长模式。当然,有些人并未跌入途中的低谷。但也有很多人都遇到过,这是大多数初创公司都会遇到的难题,他们会设法解决并且向目标努力奋斗。

昨天一位创业者与我共进午餐,我们共事已有二十年。他最近的项目用了数年时间才步入正轨。目前他不断完善产品,签约客户,业务也终于开始盈利。我很高兴能看到他为自己的成就而自豪。

就如同大多数成功的故事,成功之道就是简化服务。从其特点来看,提炼有价值的建议,明确和简化用例。把并不完善的产品推广到市场,寻找少数需要它的客户,然后仔细倾听那些客户反馈,从而做出理想产品。

这就是你为什么必须要经历创业“过山车”的原因。业务下滑非常可怕,跌入低谷也同样如此。但是没有经过这些,你就不知道什么是炒作,什么是现实。

那些创业者询问我何时是发布产品的好时间,而我的回答是“你自己决定”。不管何时你都要经历这样的“过山车”,不如从现在开始。(张祺)

原文链接:avc.com