自言自语

I'm Wang Xianyuan, writing for myself, more studying, more experience…

博易(BlogYi) to BlogEngine(博易)?

By

benlogo80 发了很久的懒,不仅没有写些东西,也没有怎么进行那些习惯性的思考。最近拿出以前的手稿啥的翻翻,我总觉得这样会更加客观地思考一些 idears 的方方面面。果然,又有很多或需要修正、或需要放弃的 ideas。近期要去修正的一个已运转着的博客——博易本地化版本,现在看来就该进行一次蜕变了。一方面考虑到当时做博易本地化版本时的想法大部分是为了把 BlogEngine.NET 本地化,介绍到国内并给自己和其他有兴趣的用户提供支持。当时的版本 v1.3 对中文支持还不太完善,这项工作是有意义的。然而,自 BlogEngine.NET 发布 v1.6 以来,各方面都获得了改善,对中文以及其他语言的支持更加出色。博易本地化版本的存在虽然还是有些道理,但我想在更长的时间之后,这个经过我本地化并加进一些改进的版本将成为一个尴尬。除非,咱也自立门户做一个全新的博客;当然,在 BlogEngine.NET 发展如此之快的情形下,这种想法本身意义不大。

几经思考,我有了一个初步的博易本地化版本的调整策略——从源头变成支流,源头重技术和架构,支流更重视的是用户和服务。至于这次调整将会直接把 BlogYi.NET 扼杀在幼年,还是把 BlogYi.NET 发展得更好,我想这是一个学习、总结和磨砺的过程,拭目以待吧!

唐骏假?方舟子假?

By

在媒体的普遍关注下,在我辈好奇心与扼腕惊叹下,唐骏学历造假的争论从腾讯微博蔓延到新浪微博,因此关注此事的人激增不少。在数量庞大的围观群众百万双眼睛的压力下,唐骏从最初的“不予理睬”被迫向全国人民“作出回应”。关于这个回应,我们似乎能揣测些什么,不过这些都是意义不大的。

学历、经历造假的公众人物,尤其是那些在国外呆过,又海龟了,再沦为公众人物。这一群人曾在海外干过些什么,对于海内的人民来说多少有一些想象。就好比一个不坏不好的女人背井离乡,多年之后带来一大笔财富,这时候那些敏感的邻居们会在背地里说东道西。这很正常,也还好,大家都没有充分的证据,你们爱说就去说吧,我该干嘛还干嘛。不妙的是这坏女人的故乡民风淳朴、人杰地灵、藏龙卧虎、一片和谐,在这种民风和文化的影响下,很多人都相当的有才,但同时他们也很低调。不仅有才的人低调,无才的人也开始学低调,大家都低调,有才无才便开始难以区分了,总之一片和谐之景。但这位回乡的女人性情已与她的乡亲们有所不同,绝然不顾邻居们对她背地里的揣测,高调地发表一些在外面的经历与资历。时间长了,一些人看不下去了,更有一位开始较真了,并翻出一些论据,通过媒体施压,乡亲们哗然。

我们生活在这么一个这么容易被大面积集体忽悠的社会、时代,如果不是媒体,我想不会产生这么大的力量。不管我们是被唐骏忽悠,还是被方舟子忽悠,这并不重要。最终我们还是被媒体忽悠,这很重要。

Qt+SQLite数据加密的一种思路

By

了解Qt是比较早的,可是一直没有耐心去做一个练习。近期花了差不多两周时间做了次Qt开发练习,基本完成了Qt的入门,逃脱微软平台又迈出了几小步。Qt虽然是C++的,但开发应用是比较方便的,我觉得它在界面设计、消息传递方面超过了Delphi,甚至在一些方面更优于.net WinForm。给入门造成门槛的是关于Qt的中文资料相对较少,遇到问题寻找解决方法的成本较高,需要极大的耐心。

在学习Qt的时候在考虑一个问题——数据如何做到一定程度的保密而且能对数据进行方便的查询?首先想到是用数据库,而数据库需要有专门的数据库服务器支持,比如Oracle、MySQL、SQLServer,有没有一种不需要数据库服务器支持的数据库呢?自然又会想到Access、SQLite等。Access 的加密形同虚设,SQLite要支持加密需要修改并重新编译其源码或者购买高级的SQLite版本。

当我打开Qt自带的关于数据库操作的Demo时,无意看到两行代码:

[code:c#]

QSqlDatabase db = QSqlDatabase::addDatabase(“QSQLITE”);
db.setDatabaseName(“:memory:”);

[/code]

用的是上面提到的SQLite数据库,而这个数据库的路径并不像是在本地文件的路径。经查,这么设定可以直接在内存中创建一个SQLite数据库。这样,数据是可以实现不落地的。那么一个具有一定保密功能,同时又拥有数据库查询性能,而且无需数据库服务器支持的数据存储方案有了。大概思路是这样的:

1.在资源文件中附加文本格式的数据文件,如果对安全性还有担心,可以加密这个数据文件。
2.在程序第一次启动时在内存中创建SQLite数据库,将这些数据插入到库中。

这样之后,当需要对数据进行查询、排序操作时就可以方便地通过数据库功能来实现了,同时保证数据库不落地,数据是比较安全的。唯一要付出的成本是每次程序启动时都要去将数据插入到即时创建的数据库中,适用于数据条数和单笔数据都不大,而查询性能要求较高的情况。

关于Android与iPhoneOS的胡思乱想

By

Android SDk 2.2的发布影响可谓广泛,掐指一算,未来最值得关注的智能手机平台大战应该在Android与iPhone OS之间展开了。在近期Google I/O对Android的高调宣传下,又在老同学彪的支持下,我带着压抑已久的好奇心准备闯入Android的世界,摸摸Android这头小象。Android最吸引人的莫过于开源、Google、Moto等N家巨头的支持,那么我就从技术角度和市场前景角度胡思乱想、胡扯乱谈一番好了。

android-iphoneos

开发门槛

从入门开始,当然首先要谈开发门槛了。这个东西很重要,会环环相扣,是产品最终在市场上的杀伤力,甚至是占有率的重要影响因素。从开发语言上来看,Android是Java的,也是C++的,但归根结底是基于虚拟机的。一旦有了虚拟机这个东西,就可以用先进的OOP思想去Coding优雅的框架和程序代码。这一点将直接降低开发门槛,原来没有嵌入式平台开发经验的程序员只要熟悉Java就能以极快的速度上手,完成一般性应用也不需要去了解系统底层,更可免去与硬件打交道繁杂过程。

相比之下,Apple的iPhone OS在开发语言和开发方式的选择上就要少一些了。当然,没有选择也不是坏事。因为你没有选择,因为它是独一无二的Apple,你也不需要选择,Apple已经把选择给他的开发者省略掉了,这样一来作为开发者省事了很多,不用踌躇在专注于App开发还是专注于底层开发。不过话说回来,在这么多先进的、近乎自然语言的编程语言关怀下成长起来的现代开发者,要回头去忍受C语言(尽管是Objective的)的“禁锢”,怎么说都得击退一大批还在Java和C之间犹豫不定的浮躁的程序员(我曾经就是浮躁的程序员,后来我发现了这一点,第一时间改行了)。Read More →

在你的博客分享耍宝的乐趣

By

一直在潜心收集有趣的内容并通过耍宝进行分享,同时也在思考如何让这些内容以更加丰富的方式呈现给各种不同口味的围观群众。为此,上个月给耍宝开发了一个耍宝图片专栏,准备本月或下月上线公开。这个图片专栏将会集中整理有趣的耍宝图呈现出来,以符合喜爱浏览纯图片或相册内容的读者口味。在这个专栏公开之前,我又花了今天一天时间做了一个内容引用的Widget,我想可以先把这个Widget提前公布出来。下面就来介绍下这个Widget。

这个Widget的功能是在第三方博客或网站上分享耍宝精选出来的图片内容,给更多的网站加点新鲜草料,同时也可以给耍宝起到一个推广作用。效果如下:

image

没错,就是目前你在本博右侧栏中所看到的。要将这个Widget插入到你的博客或网站,你需要在需要插入这个Widget的地方嵌入一行JS代码,为了让显示更加符合你的页面布局,我采取了用户自定义CSS的方案,因此你还需要给嵌入这个Widget的网页加上一段相应的CSS。(以后我会根据需求和经验推出样式固定的免附加CSS的Widget)

需要插入的JS如下:

[code:html]
<script src="http://www.shuabao.net/tu/quotewidget.ashx" language="JavaScript"></script>
[/code]

目前 quotewidget.ashx 支持如下参数:

gettype支持2种传入值——random:随机选取内容;latest:选取最新的内容。

n为数值参数——选取内容的条数。

link支持2种传入值——original:链接到内容原始来源;site:链接到内容引用来源。

target支持4种传入值——blank、parent、self、top,用法对应于html里面<a>标签的target属性。

用例:

[code:html]
<script src="http://www.shuabao.net/tu/quotewidget.ashx?gettype=random&n=6&target=blank&link=original" language="JavaScript"></script>
[/code]

需要在<head></head>标签里增加如下代码:

[code:html]
<style type="text/css">
.shuabaotuwidget {padding: 0; width:180px; height:260px; overflow:hidden;}
.shuabaotuwidget img {margin: 5px 8px 5px 0;width: 75px; height: 75px;}
</style>
[/code]

上面的CSS部分也可加入到CSS文件中,可自定,修改Widget和图片的长宽样式。如果你是博易博客的用户,则可以直接在后台“高级设置”中HTML头区域加入以上代码。

介绍完毕!欢迎选用,使用上有任何问题可以联系我。

收到新头像,已更新

By

在上一篇博客里提到张立兴同学给我画肖像的事儿。经过焦急而漫长的等待,终于收到了这份礼物。打开一看,还挺写实的,只是有点小接受不了——除了耳朵有点大、右脸有点肿之外,眼神还很是忧郁。张同学说这是经过夸大处理的结果,我细细看了半天,还真是,挺有意思的哈。与上一张画像这么一比对,那效果真是立竿见影。

image

使用后,面色红润了,头发也有光泽了,要不酸、背不疼、腿脚也有劲儿了。特此向张立兴同学表示感谢!