- 博客(27)
- 资源 (2)
- 收藏
- 关注
原创 关于数字出版物的版权
关于数字出版物的版权纸质书籍有自然的版权载体,因此不需要特别的版权约束,不过书籍的版权仍有值得讨论之处。书籍有与普通商品不同的特性,一经享用对同一读者的价值就下降许多,因此就版权利益而言书籍不应被转让或者分享。记得80年代初街头有不少花几分钱看一本小人书的摊位,这侵犯了出版商的利益。顺便说一句,曾经非常流行老少咸益的小人书现在在书店已看不到,而书店更多的是昂贵的、彩页印刷的、但显得不实在的儿童读物。
2015-09-22 17:08:51
3057
原创 技术与经济之八:关于优惠与红包
技术与经济之八:关于优惠与红包我们的市场使用很多优惠、红包等促销方式。这反映了一些社会心理的问题,此处仅作粗略探讨。优惠与红包是价格歧视(price discrimination)。课本中“价格歧视”的定义是中性的,它指卖家通过设置不同价格设法从不同买家赚取更高利润,如商贩通过判断买家的心理价位来讨价还价。从道德的角度来看,价格歧视是不公平的,如果遇到比较,出高价者有被骗的感觉。应
2015-08-22 08:52:01
1086
原创 技术与经济之七:关于管理软件与云服务——从Jessica Mah的创业说起
技术与经济之七:关于管理软件与云服务——从Jessica Mah的创业说起昨天的一则Yahoo新闻报道了一个25岁的华裔女生Jessica Mah的创业故事,随后新浪新闻也对她做了报道。Jessica Mah的名字与阿里巴巴的创始人马云的英文名字Jack Ma很相象。她目前25岁,是一家有千万美金资产的在线财务管理软件公司inDinero的CEO。她从8岁开始编程,12岁时帮人制作
2015-08-18 17:17:39
1253
原创 技术与经济之五:关于货币市场
本文介绍了传统货币市场的概念,探讨了无期限的货币市场的模型及市场化的基准利率,并描述了以货币市场为基础的银行的存款账户与信用账户服务。
2015-08-09 07:23:33
1434
原创 使用Email的身份验证(OpenID)、电子支付,及Email的链接处理
本文介绍使用Email的身份验证(OpenID)的原理,指出分布式身份验证的优点,并讨论将Email用于银行电子支付的链接处理机制。
2015-07-20 16:46:50
3297
原创 DNS的查找机制、中文扩展,及其对手机扫描商标名称的支持
本文介绍DNS的逐级查找机制,建议对DNS查询作中文扩展、使之支持无标点分割的中文域名。本文还建议使用扩展后的DNS服务支持手机商标名称扫描的url跳转。
2015-07-14 21:47:57
2081
原创 Node.js的Connect框架的代码重写与改进
Node.js的Connect框架的代码重写与改进Connect框架简介Connect框架是建立在Node.js的基本http.server功能之上,帮助实现结构化的web服务器逻辑的框架。Connect框架建立在两个重要的设计模式之上。1) 责任链模式在处理web请求时常需要作分派处理。例如,ASP.NET MVC支持按照请求参数将处理分派至某个Controller类的某个Action方法,以及根
2015-06-26 18:36:34
1167
原创 Prolog与数据库
Prolog与数据库简介----Prolog用谓词表示数据,并且用合一将不同谓词关联,这与SQL的数据查询暗合。例如, /* 数据库架构。 * student(id, name, age) * course(id, name) * studies(student_id, course_id) */
2014-10-20 10:47:25
1490
原创 作为软件平台的浏览器与文件管理器
浏览器是真正的软件平台,它为专业的与非专业的程序员提供了发挥才能的空间。不难想像程序员能够写出如下的基于浏览器的应用:1. 保存。浏览器窗口内的一个frame(可被隐藏)中运行的用户程序,可以对其他frame中用户浏览的内容作索引,并按照用户的要求保存从网上获取的资料,如文档、图片、音乐、视频等(免费或已付费的)。这些资料被保存在用户自己的目录下,按照用户的意愿作整理,而不是浏览器自带
2014-09-11 16:05:23
951
原创 XML与Data Binding
.Net平台中数据类型需要自己为data binding提供支持,如INotifyCollectionChanged与INotifyPropertyChanged。JavaFX中同样如此,如ObservableValue与ObservableList。实际上,XML是数据类型的良好抽象,并且为data binding提供了内在支持。当XML DOM(文档对象模型)的某一节点发生改动时,触发的事
2014-08-17 22:14:27
668
原创 Java接口的default method与多重继承
多重继承可被用来为类添加已定义的标准的功能,这又被成为mixin。Java(JDK1.8)中接口的缺省方法实现(default method)提供了对此的支持。以JavaFX示例中的ensemble.samples.graphics2d.puzzle为例。例子是将一幅图片拆成多块并摆乱,让游戏者将它们放回原位。示例代码中图片块拖动涉及的代码被放在图片块类Piece之内。实际
2014-07-21 12:01:50
1042
原创 关于Java的事件分派机制及两个可能的语言扩展
Java用interface将Event分组,并按组同时注册interface中的所有事件。public interface MouseListener { void mouseClicked(MouseEvent e); void mouseEntered(MouseEvent e); void mouseExited(MouseEvent e);
2014-07-19 21:41:56
548
原创 关于SQL、XML与NoSQL数据库
说到数据库,还得从文件的记录说起。谭浩强在他的畅销书《BASIC语言》中就描述过从顺序文件或随机文件读取等长的(固定格式的)记录。实际上,文件的记录不必等长,即包含的字段可以不同,并且即使记录不等长的文件也能支持非顺序查找,如二分查找、或改进的按照平均记录长度估计记录位置的查找算法。下面的交易文件就是带不等长记录的文件的示例。这样的数据文件格式对于用户很有价值。
2014-07-08 21:27:36
1709
原创 关于SQL服务器的客户端缓存与O-R映射
为了联接安装在其他计算机上的SQL数据库,常需要在本机上安装数据库驱动,如ODBC驱动程序、JDBC驱动程序。安装在客户端的数据库驱动程序,除了提供用标准API访问不同数据库的接口外,还可以提供重要的缓存功能。例如,客户端程序用cursor在某一查询的大量结果中来回翻寻时,在往上翻页检查前面看过的结果时,安装在本地的数据库驱动可以从缓存中提取数据,而不必再耗费服务器资源。再如,客户端已
2014-07-08 14:58:54
797
原创 关于用C++实现带约束条件的类型
关于用C++实现带约束条件的类型Stroustrup在《The C++ programming language》一书(第三版25.6.1节)中已提及用C++模板来实现带约束条件的类型。下面的代码示例了带范围约束条件的类型的实现,注意类型不占用额外的空间,并且在带相同约束的同类变量间及在兼容类型变量间传值时不需要作检验。#include template
2014-07-05 13:25:44
3556
1
原创 关于迟绑定、动态联接与Java虚拟机(应用服务器)
迟绑定是指在运行时选择用到的库。标准的Java迟绑定实现代码示例如下:interface Service { /* ... */ }Class cls = Class.forName(className); // 常从XML配置中读取类名Service svc = (Service)cls.newInstance();实际上,迟绑定是动态联接库(含Java的cl
2014-07-02 16:43:21
685
原创 关于C++的右值、const引用、右值引用、const成员函数及相关扩展
函数式编程采用抽象的函数模型,将计算视为用函数对“值”作处理。“纯粹”的函数式编程避免涉及内存模型,禁止更改值及保存状态变量(这被称作“副作用”:side-effect)。一些语言如Haskell仍遵从这一规则。纯粹性使得计算易被充分优化,如改变执行顺序、并行执行、以及缓存函数计算结果等。C/C++语言沿用了“值”的概念,称作“右值”。右值概念上没有内存地址,并且实际的内存分配可能被优
2014-06-27 15:39:30
2178
原创 用C++实现带单位的数值计算
用C++实现带单位的数值计算在科学计算中的数值量常带有单位,而不同单位的量容易相互混淆。下面的简单的C++代码实现了带单位的数值量计算。说明:1. 程序用C++11编写,但并非必要,用到的C++11特性可以绕开。2. 选择基本单位时不必根据标准单位制,如可以用毫米而不是米,以提高数值精度。3. 代码未实现一些功能,如非倍数的单位转换(如摄氏度-华氏度)。4.
2014-06-26 11:17:51
2693
原创 C++ STL与C# LINQ中级联处理的对比
C++ STL与C# LINQ中级联处理的对比在LINQ中,如下的级联处理是常见的:var result = src.select(x => f1(x)) // 用 y = f1(x), z = f2(y) 转换 x序列 .where(y => c1(y)) // 筛选条件: c1(y) 与 c2(z)
2014-06-25 16:13:43
886
我改进的Node.js的Connect框架与示例程序(小更正)
2015-06-28
我改进的Node.js的Connect框架与示例程序
2015-06-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人