2009年10月31日星期六

Desktop/Web App

本帖主题和之前写的东西感觉会有好多交叉,不过看来是我较关注的了。
而以下内容并感觉是没有写得很展开或有深度。

传统命令行程序可以
运行时加参数,然后返回状态值并在标准输出里显示内容,并造成副作用。
此外也可用从标准输入获取数据。以文件读写和系统环境交互。
这种程序的代码结构对C语言的程序来说是很典型的。可以在HelloWorld的基础上通过添加实现功能的代码来实现程序的需要的目的。

另一种是有更强的交互功能,用户可以根据输出的提示和要求进行输入或选择。这就如同现在所见所见的向导模式。想对用户友好是一方面(这里不涉及CLI与GUI优劣的讨论),不过在这种模式下,程序运行不是单单为获得结果。在程序运行的一段时间(用户不再是仅等待用户结束)内,用户的交互会和环境的变化之间产生影响。

下面是说到GUI,以Win32为例,这只是我暂时仅了解这个,不过它也比较典型。在程序建立空白窗体后,进入消息循环。代码根据消息的种类选择合适(有部分参数,但可去读文本框之类的输入内容)的操作。在获得载入消息时,可以在窗体上再绘制或调整需要的内容。

用物件导向来说(这里不是数据抽象的话题,因为那是Obj的另一个用途,或许这里我也会说错了),有属性,事件,方法的概念。属性可以分解为get和set两个消息,方法是消息Call可用以提供功能。事件是物件获得消息时被触发的或查询到环境有需要注意的变化。不过在GUI的编写中,通常是用一定的方式让事件和自己编写的执行操作的代码(一般封装成函数形式,也可以是成员函数,继承之类的东西,虽然我觉得叫方法会更好听,其实就是函数了。算了我说乱了。)进行绑定。

如果忽略掉与绑定有关的部分,那么可以看到的是窗体,窗体的代码,各种模块(非GUI而提供功能的部件啦),以及系统调用的封装。

下面转向Web App,如今它和Desktop App之间的距离正在缩短着,也产生了一些让人很有新意(其实更多是从使用上让人感到有力量的东西)的效果。

根据CGI标准,也就是从它的原理来说,就是按照一定规范编写的CLI程序。用户访问网页,则cgi被执行,向标准输出返回内容,比如可以是以Html格式的,即能被浏览器解析的网页。之后,cgi程序进程即被终止。URI和Form可以被用来向cgi输入内容,并供程序判断需要显示的内容,或者执行对应的操作。cgi进程不断地被产生和销毁,而不会保存用户的状态。所以通常会运用会话和cookies来实现类似于交互进程全局变量(临时文件貌似会有牵连)的作用。

不过网页的显示效果比返回一个有效的字符串要复杂,混合有程序逻辑和用以显示的代码会...分离开会有很有用的分明的感觉的。比如把程序的功能逻辑分离出来,提供接口。再提供类似于GUI的模块来处理与用户之间的交互,而GUI本身显示的效果和处理的代码也有一定的分离进行。比如这样可以获得的一个好处就是,为不同的需要可以进行不同的展示,而和共用的基础代码无关。

模板并不是为了这种分离,它只是用来把服务器端执行的代码嵌入到网页代码中用于生成显示的效果。此种情况下网页的展示被作为的主题,即其效果和内容会获得更主要的关注。不过用来做以上的分离,模板是很有效的机制。

如今ROR框架的思路给Web2.0的开发很有生产力的感觉,至少是对PHP上框架的发展也有强力的影响(我承认这是新手向的分享文了,就是那种总体概览之类的感觉)。对于每个post和get有单独函数(模块)进行(对数据的,数据是框架的基础)处理,前者用于执行操作而后者用于返回结果(一个明显的区别是是否有副作用)。即使两步操作上是连续的,也可按上述区别分开进行。
路由和模型也是结构上的重要组成,补充一下。而框架的存在已不限于提供功能,而设计开发的结构和组织形式。

不过,WebApp的目的已经不仅仅是简单的提交和展示了,DesktopApp的功能可以在网络平台上实施。对于如数据库一类原本就依赖分布的App而言,两种应用之间的区别并不明显。而通过浏览器内js脚本的强大功能以及Ajax技术的运用,复杂的交互和即时的数据交换使得桌面程序的功能和CS结构的程序可以以BS或更轻便的方式实现网络应用。

插一句,发布方式也会产生变化。服务会变得更加重要,而用户看到的是展示的界面。除非是提供局域网使用的套件,版本变化比使用自动更新模块更加模糊。

简单的如计算器之类,比如不涉及文件操作,其功能与运行环境没有直接关联。运算操作在本地进行则没有与桌面应用有很大差别,当然也可以把运算放置到服务器上,仅在浏览器中进行结果的展示。(画板之类)文件操作也可网络化,有服务器进行。
CS的结构可以通过瘦客户端的形式变成WebApp,浏览器也可以当作瘦客户端来使用。整个程序有独立的客户端和服务端,是多对一的关系。两者直接有各自的代码分开执行,然后通过一定的机制相互通讯。不同的是瘦客户端会在每次使用时从网络载入,可以缓存,便于携带,也可通过一定的机制实现离线功能。把瘦客户端转变为桌面应用,以获得更高效的体验,也可编写相应程序或直接利用某平台。

一些框架有自动生成客户端脚本的功能,通常这一机制是在视图和模板这一层面上实行的。可以是逻辑流程的开发变得集中,而不必在不同的语言之间进行切换,只是分别开发了界面和流程部分的代码。和GUi的开发有一定的关联。

桌面应用和网络应用是起源于不同的需求,在设计上会有这不同的出发点和视角。而所谓云(其实就是明说不清,找了一个词)概念的使得它们之间有一定的交融,而在开发与设计上产生了共通点。好了,终于到了本文最终的主题部分了。不过感觉也说的差不多不少东西了啊。再留一点简略的在下面。

关于驱动设计的要素
从数据的创建查询更新删除的角度
从输入输出的角度(包括优先考虑交互和展示的模块)
从要执行的一系列操作的序列流程的角度
从事件(会受到的消息)的角度
还有,从是桌面还是网络应用的角度,但相比以上,这一点是次要的。

恩,以上是些废话而已。顺便再放一个设计与使用DSL的话题吧,就留这么一句。

====
091209
这是11月头写的东西,当时是想着想着就堆了写东西。恩,其实现在都怕看了。都是故意在文字上绕了很多东西。
一个http调用,包含get/post的查询和发送消息
在ajax中可以返回:text文本,html带格式文本,json/xml打包的数据,
js对视图的操作以及跨域回调相关的
这里处理session/cookies用以对客户的认证外,视图的状态保存在客户端
是返回操作还是返回数据有客户端已载入的脚本来执行操作,是两种方式。
B/S结构是依照后者的方式进行的,不过脚本也可视为数据的一种。

网络应用的最终数据存放有三个地方:本地,服务提供者,第三方空间提供者(不提供计算力)。
如果单纯是进行文件的操作,操作接口是类似的。要考虑到减少传输的问题,比如查询数据和被查询的整体数据相比就会有明显的区别。临时文件是和计算操作的的执行有紧密关联的,需要有一致的存放。不同数据存放方之间会产生公开统一的接口。

开发框架和jsGUI库,可以运算完全放在服务端,仅在浏览器中载入GUI库然后和服务器交互。这和仅在操作中进行数据传递有所区别。甚至要在服务端考虑一个用户运行多个进程(回话)的结构,来考虑服务端对状态的存储方式。参见本地程序的GUI库或框架,与网络应用是同一的。而且一些本体应用也有采用C/S结构来设计,通过命令或浏览器中的视图来传递消息或进行交互。

在补充本文的这段时间里有了GOS,让App全部以Web方式运行,技术运用html5(包括了Gear的离线运行能力)提供的网页的语义,表单和新的API。

本来上月里三篇是一个小说相关的,本帖会不协调。不过其实本帖是也同时是上上最后一天晚开始写的,所以也算对存档页的结构影响不大。我多虑了。

2009年10月29日星期四

拼写检查工具-相关

自己平时是不怎么用拼写检查工具了,完全依靠人工。作为自己博客上发布些东西来说,暂且就这么过来了。况且还放置有那些我“闲置”在那里的“文学”类文字呢,仍很欠好好的整理啊。
至少我觉得拼写检查工具是相当实用的东西,可以开专页来呈现相关内容。自己如果去写非母语的东西,也会有不放心的感觉,而去寻找辅助工具。既然标题已经突出“相关”,就话题会扯到关于“表达”了,“工具”会是一个较宽泛的角度。
唉,已经被引言占据太多的内容了。


Aspell
也可用来检查代码

Hunspell
貌似很有用

MSOffice里提供的已经和实用了,相比以上感觉已经很强大了。

话说我是看到这个小工具而想到开此贴的
http://tinyspell.m6.net/
在Win下会对文本框的输入进行检查与提示

Google
字典 http://www.google.com/dictionary
翻译 http://translate.google.com/
对付EN文,很实用的工具了

个人想法是,语言是用来获取和表达的,所以在运用时更关注的不是其本身。
但如此来看,也不能忽视积累的过程。
至于其他的,暂时就留不出更多东西了。

标记:GAME项目OO,音乐和声,Web框架

++++撤销:[插入]占位 091222前来补坑
《面向对象的游戏开发》
----从项目的构成和代码的构成,属于工作记录的性质
《音乐知识手册》(续集)薛良
----简明和声学教程[英]伊瑞克泰曼 <- 我比较注意到了这个
《Rail Cookbook》
----关注点在于ROR的组件和站点搭建设计的技术点

具体目录,可以搜索试试看。

2009年10月20日星期二

十月之雨

其实本月很少要有下雨的痕迹。
喜欢旋律中厚重的低音的拨动。

之前那个小说设想,再简单的说一下,还没成文呢。
宗教集团利用人的局限性以解救来控制人从而获得利益。
神的反对者会希望成为神使的一员而维护神的。
成会尽力中立倾向,即认为存在是有原因,是出于人本身的一种可被审美的要素。
是悲剧化的情感,以及意识的发掘。

而文本是阅读者参与的通道,以信息流出的手段带来完整的体验。
不过是不限定于具体写法的。

本贴有雨,水在积累中……

====
下面贴的算反例(25-26日),不多留其余的了:

顺手再开就可以增加了本月的贴数,不过想来也太随意了些。
感觉如同似乎是要失去什么,而希望能多多保留仅有的东西吧。
总觉得文字是要承载些什么的,这或是珍藏自己所有的,或是留给并告诉未来时刻的东西。
不过像日记那样的不要先构想吧。
在安静的时候,找到一个空间,便可在纸面上捕捉思绪的踪影。
但是,这不是在抛弃痕迹,或发似乎是总有道理的感慨。
因为一天的行动,其中所含的努力,都在日记之外带来的推动。
哪怕是白天留下的困惑,也可在笔端的试探中,体会到忽然间明了,或更多地发现什么。
而有时,是在文字的进行中,做着托付,寻找着表达的方式。
这是相信自己积压下或思考后的体会,并在尽力建立通道来传递或寄托它们。
不会过于依赖计划,认为总会有的,就让它随意的出现。
或者是出于担心害怕,翻动着纸页,做着微弱的保留。
可是,当感觉日常平静了,有很多可以并忙碌于去开心或应对的事情,不需要在闲暇时的担心。
也不需要以压抑的感觉去珍藏什么,挖掘什么。
于是呢,算了,来留点东西,
并为这种随意找了些借口。

====
到十一月了,分明的寒意让周围忽然感到安静。很有闲心的感觉啊,不过喜欢文字是很有力量的样子。

有些虚幻的东西,如果一直相信,就会觉得它真的存在着。
一种是对美好的憧憬,一种是对不满的逃避。
宗教的话题上,可以用诚心来表述。而不论是说能满足什么愿望或反之遭到如何的惩罚。
一个灵魂就就生活在他自身的世界里,分界并不是物理上的阻隔。

多写后已经让构想模糊了,当初只是在扩展一个个人到社会的视角。
一些有意拉开的距离而造成的阻隔,其实……
还是不大好说啊

2009年10月12日星期一

话题]twitter与facebook

最近写贴有些不便,在不使用电脑访问网络时,自己所处之地手机信号也很有问题。而且目前环境给人封闭和满足感,所以文字的闲暇就显得格外多余的安静。
这贴所写的话题,若在08年写,还可以作总结类的文字。而我在之前这里尚未对此有所讨论。SNS类的发展虽然已过了人们关注的高峰,但作为一种趋势仍在进行之中。和传统的协作模式相比,显得非成熟的状态。
下面的是ZZ课上在填的内容,虽然所处时间和本次话题,对我自己而言不去寻找之间的联系。不过这算是难得有的有人文氛围与闲情的时段了。
磨啊磨手机中……
以上无关的说多了。

microblog twitter的创立者曾创办了blogger.com,后者在博客服务商中很具代表性。博客使得用户成为了信息发布的中心,而非原先基于站点的。评论和pingback机制,增加了访问者的交互和博客之间的联系。
微博正如字面所示,每贴变得简短。限定的字数同时作用于发布和阅读两个方面,减少了面对传统的博客时所具有的负担。“What are you doing?”可作为写微博的最初的引导语,通过网页手机IM短信等多种便捷的方式,博主可以随意得发布自己的状态。分享状态是微博起初的推动,且和博客相比信息更加实时。
微博也有发布外的其他机制,关注,回复,推荐,使得独立的微博之间产生了联系。而且用户在对微博的使用也更具目的。如用于发布信息,获取或挖掘信息,进行公开的讨论或分享(比IM公开且参与时间长久,比论坛注重参与个体且广泛有时效性)。一些企业也在其中建立了自己的节点。
手机信号真的不好,这样很消耗我那一点点热情的。
不过我目前twitter的帐号还没有,没去使用过还随意按感觉写或许可笑,不过既然本文把重点放在其中具有的趋势上,那点氛围我想自己还是有所感受的。这段内容也同样适用于facebook(本文还没提到),我还没参与到(包括国内的类似的东西)。所以……我自己也不知该说什么了。
国内对微博,虽也有单独的同类网站,有关注于博主,讨论,时间轴的不同形式。但较成熟的形式是作为SNS的组成模块,用以表示用户的状态,来加强用户间的互动。虽然twitter提供了整合到其他站点的接口,但不同于博客产生的平台间的通讯。

facebook之前,myspace有一定的影响力,貌似那是基于兴趣联络起了个体。脸谱按其名称是通讯录的作用,以实名的形式联络起相识的人。国内的跟随者校内以学生间的联络为让人参与的推动,而开心则是白领群体虽然它起初就是把互动放在联络之上的功能。拉拢用户群体是其起初的发展推动。
标准型SNS之外的,已有内容和用户的站点也可体现出社会化的特征。

常见的SNS是用户与应用的结合。其中,用户是参与的主题,而应用是用户所参与的活动。应用使用户之间走了沟通与参与,和传统方式相比,用户有着比内容更为首要的位置。而社交则是一个平台,在一个平台有足够的有关联的用户基数。平台除了与帐户管理之外的功能,需要依赖应用来发挥基础作用。而应用本身也需要平台的用户进行使用。
对于已有内容的者是或有专题的站点,都已经有了用户与话题的基础,在社交的趋势中,通过组件的增加,以用户间的互动增强联系。这即加强了用户之间的情感,也以有参与的方式辅助了对内容的挖掘。

隔了一周,补完。未加新想法,似乎所写不足。这次已经是很晚,是安静而联络通畅的时候。略困,又有点不安。

书/标记:电影与戏剧

待填……

书目包含
《导演电影》埃里克·舍曼
《电影导演艺术教程》韩小磊
《西方戏剧文化艺术论》李贵森

目录摘要
暂略……

关于此话题
恩,个人的关注点是放在情节及其表现方式上的。
觉得似乎在这个空间该有篇系统化(保守的)表述,或实际的尝试某些要素。
而零星的想法是只让体会到缥缈如烟尘的踪迹。

2009年10月3日星期六

[文-回收]天空,悲伤之境

回收一下写在别处的东西

《天空,悲伤之境》
http://www.keyfc.net/bbs/showtopic-34808.aspx
2009-10-01发的贴,是经历了一个空白的月和表达被阻隔。

《天空,悲伤之境》

Part.1
视野下的青松与河岸在渐渐渺小,我飘向着蔚蓝高空中白色的云团。
双脚与全身不习惯忽然失去重力,感觉很自在却又不知如何是好。
曾听说,天空是悲伤的地方,人在某一刻会带着不舍与痛心飞向那里。
我合上眼,感受轻风给面部的微微触感,此外也有夏日烈日带来的灼伤感。
天空那里,我独自去了,再见伙伴。我希望能一人承担起那里全部的悲伤。
陆地上美景之间的人们,你们不需要留意我。请忘记我,并去享受自己的快乐。
我到达了云团的下方,让天空的阴影去包裹里脚下广阔的一切。
有云间伸出了洁白的手来拉我,我递上手顺着指引。
虽然脑海里闪动画面给我一丝犹豫,忍着,我没有回头望。
光亮闪烁,我消失在云间。

Part.2
她坐在云团边沿,望着远方。如同坐在河岸上孤独地吹着风。
脚下就如水面,映出整个地面的色彩,那里是她曾生活地方。
她只是望着远方,一直没有低下头。捧着手里写好的信,一直到身旁变成了橘红色。
时间不早了,她起身转向后方,准备离开。
忽然一阵风吹走了她手中信纸,纸片飞舞在她的背影之中。
信纸落在云团之外,只是如落在透明平放的玻璃上,安静地停留着。
没有溅起水的波纹,而信纸上却已经留下了层层水渍。
信:伙伴们,
其实,其实大家一直以为错了,天空其实是一个幸福的地方。
在这里玩耍的灵魂根本就不需要悲伤。我在这里能感受到许多快乐的东西,
我想把这一切告诉你们,告诉你们我会幸福。
你们在地面上,不必掩埋起悲伤。因为那种情感,就不曾存在过。
我写下了信,可是我该如何传递给你们。
压抑在心中的情绪,只会让我难过...

Part.3
她来到云层边,光着脚,平静地向云外走去。如同拥抱向无边的水面。
“水面”带给脚的只是玻璃般冰凉的触感,烈日炫目,而不会溅起水的波纹。
玻璃面的另一侧是地面小小的景色,是她熟悉的生活过的地方。
可是,忽然间似乎有狂风,她脚下遥远的地面开始晃动。
那里是满目的红色,火海吞噬着目光所能触及的一切。
她无力地蹲着,缩成一团。紧闭着双眼,身体在颤抖。
口中弱弱地发出声响,
“明明那里,已经,我告诉自己,明明已经是与自己无关的地方了。怎么还...”

话说和贴在这里的东西看时有感觉差异。

文科女生日记(伪
http://www.keyfc.net/bbs/showtopic-34846.aspx
旧文,截取加词句改动。其实这真的是小说。

发觉最近是手生了,而且是总一直想能表达得更明了一些。
有时确实觉得贴的东西仅是个人化的,还是看看再能让文字本身传递或能被体会出什么吧。

是想扩展一下自身的活动范围了。

2009年10月2日星期五

杂乱的记录 - 十月

上个月是九月,这里没做任何更新。忽然间感受的距离不是一个月,而是一年了。这里更新到现在居然也累积了这么段时间了。只是现在再随手开一个贴时,开始想以后要进行如何的话题。

本帖放置些东西,因为它们存在,出于很自然的延续。看到这些文字,感到熟悉,也有陌生感(包括对过去的贴)。


用到过的东西:

工具putty,WinSCP

putty中处理中文
设置中字符集改为UTF-8
执行 export LC_ALL='zh_CN.utf8'
vim/nano可以用了

多man几下喽
对tar.gz
wget获取
tar -xzf zh-hans-6.x-1.0.tar.gz -C ~/public_html/ct 解压到

软链接
[~/public_html/ct/sites/all]# ln -s /home2/zflapcom/public_html/our08/sites/all/modules modules

终端下浏览器 links

drupal
Internationalization

rsync 同步

http://pplog.infogami.com/
Single File PHP Gallery 4.0.0


真的留一个月为空白了啊。

jdownloader.org
网盘下载工具,JAVA的,在Linux下确实很好用。

====
091030
以下是不知放哪个帖子里好的东西

PHP+SQLite实例教程
http://www.phpq.net/sqlite/php-sqlite-tutorial.html
手册
http://php.net/manual/en/book.sqlite.php

QT