- 浏览: 62642 次
- 性别:
- 来自: 成都
最新评论
-
sun_yang:
最近用到了dataTable
jquery插件之DataTables -
yuiezt:
...
jquery插件之DataTables -
fisk:
发现一些问题与不理解的地方,你看看哈。1. function ...
lglib.table API
文章列表
今天非常高兴,历经接近1年的开发,终于发布了 Bamboo v1.0。它是一个MVC,融合了非常多的创新理念在其中。
以下是发布邮件。
==========================================================
Dear friends,
I'm glad to announce the first release of Bamboo - v1.0. It took a
long time to prepare but now it may be ready to be tested so that I
can get some feedbacks ...
Mongrel2服务器配置及控制
- 博客分类:
- Bamboo Web框架
介绍
Mongrel2是一款面向现代Web应用(Web 2.0 以及以后)而设计的Web浏览器。由干净的C语言写成,(目前)在Linux(及类似的Unix)系统上运行。它支持HTTP, Flash sockets, WebSockets, Long Polling,异步等技术,基本上走在当今Web服务端技术的最前沿。
主页
http://mongrel2.org/
手册
http://mongrel2.org/static/mongrel2-manual.html
Mongrel2的理念
按前面的描述,Mongrel2听起来是个很牛X的Web服务器,其实它真正独特的地方还不是前面的描述, ...
Bamboo中的模型定义的时候,需要为每个字段设置一个字段描述表。这个表由一个个的属性和属性值构成。
将已经定义的属性和属性值罗列如下:
属性取值说明newfieldtrue or false or nil标明此字段是否是新字段(相对于继承字段来讲)requiredtrue or false or nil标明此字段是否是必须的,常用于表单提交时模型字段相关参数的自动检验(配合validate函数)st'ONE' or 'MANY' or 'FIFO' or 'ZFIFO' or nil指定外键存储方式(store type),为nil的时候,默认为'ONE'foreign'Model_name ...
以Ubuntu 10.04为例。从前到后依次执行。
安装gcc等基本编译环境
apt-get install build-essential
安装lua解释器,头文件,基本库,luarocks
apt-get install lua5.1 liblua5.1-0 liblua5.1-0-dev luarocks
安装uuid-dev等,被zeromq及后面的程序需要
apt-get install uuid-dev sqlite3 libsqlite3-dev git-core
安装libzmq
到zeromq官网(http://www.zeromq.org/)上下载最新稳定版的安装包, ...
Bamboo开发者邮件列表
- 博客分类:
- Bamboo Web框架
之前在Google Groups上建了一个邮件列表,可以G。F。W着实可恶,访问不方便,严重影响社区建设。现在更换个新的邮件列表(这个邮件列表系统又是mongrel2的作者Zed Shaw的一个杰作):
bamboo@librelist.com
加入方式:
向bamboo@librelist.com发送一封邮件,邮件标题和内容随便写。片刻后,你应该会收到一封确认邮件。你需要回复这封确认邮件(也是随便写些什么,内容完全不限),只要回复成功,就加入了此邮件列表。如果不想加入,就不要回复了。
Emacs 编程技巧积累
- 博客分类:
- 神的编辑器
* 进入一个文档后,要切换mode怎么办?比如我编辑一个index.html文件,进入后默认是html mode,现在想在里面写写javascript代码,想把它切换成javascript模式,怎么办?
答:M-x javascript。后面这个单词不用太费力地去记。输入前几个字符,然后猛击tab键数次,就会出现提示窗口,你参照着写就行了。
Bamboo对Upload的支持
- 博客分类:
- Bamboo Web框架
Bamboo Web框架对上传提供了方便的接口。目前支持的特性如下:
它同时支持html4和html5上传,且用统一接口处理;
同时支持单文件和多文件上传;
目前仅支持小于指定值(在mongrel2的配置文件中设定)的文件的上传,且是放在内存中一次性处理(后面视需求考虑支持大文件上传,大文件上传在mongrel2中已有很好的支持);
上传的文件会直接存储在磁盘上,同时会在数据库中有一份对应的记录;
Bamboo定义了一个基本的Upload模型,这个模型有如下字段:
name 文件名字
path 文件在服务器资源目录下的完整路径
size 文件的大小,按字节计算
timestamp ...
使用bamboo测试框架
- 博客分类:
- Bamboo Web框架
Bamboo测试框架好用是好用,但是有一套规则,必须按这套规则写,才能顺利地跑起来。
下面是几大规则:
测试代码必须放在app目录的tests目录下;
测试代码的文件必须取名 *_tests.lua;
测试代码文件必须引入测试框架:local testing = require 'bamboo.testing';
测试代码中使用telescope lua测试工具的结构,所以要学习telescope,不过也很简单;
可以在测试代码中创建伪造的浏览器对象,使用这个对象的方法。
关于telescope测试工具的资料:
http://telescope.luaforge.net/
http://t ...
Bamboo的测试框架的设计
- 博客分类:
- Bamboo Web框架
先说一下对Tir的测试框架的研究成果:
使用telescope作为测试框架的基本工具;
在确保mongrel2作为web server这一块绝对没问题,因此,不再对从浏览器到mongrel2的连接这一过程进行测试,也即是这个测试框架不走socket, http协议这一 ...
很简单,一个命令搞定:
update-alternatives --config editor
然后,按提醒操作就行了。
想的是用nginx作前端代理,后面的事情就交给ROR及自己的一套服务器去处理。这样避免nginx配置的复杂性。
装好redmine后,再装个mongrel服务器。
apt-get install mongrel
然后,进入/usr/share/redmine/(一般装在此目录下),执行
ruby script/server -d -e production
便以默认方式启动了mongrel web server以及之上的rails, redmine, 并且占用了3000端口。
然后,在nginx的配置/etc/nginx/sites-available/default中,加入如下配置
...
为了在封装性与灵活性之间做出权衡,Bamboo设计了一套完整的的自定义k-v存储接口,用户在特定情况下,可以方便地使用它们。
先列出API吧,再讲解一下设计和使用。
API method说明Model_name:setCustom(key, val, st)创建一个custom key,将 ...
先扯一下Bamboo与Redis的关系:Bamboo对redis目前严重依赖,但是无需担心无法使用其它数据库。Redis可以看成是一个中间层,后端使用其它机制来实现数据库的持久化。
Redis的指令虽然已经很好用了,但如果要上层逻辑直接使用,还是很复杂,容易出错。于是,对Redis的封装还是有必要的。在这个封装中,不是简单的redis的指令的包装,还有一些策略性的东西放在里面。
API基本范畴
名称用途save创建,批量写入update在已经创建的情况下,批量写入retrieve(及其衍生)获取所有del删除add(append及衍生)添加元素remove(pop)删除一个元素num(le ...
Bamboo的存储抽象层主要在model.lua中实现。本文仅从使用的角度来说明Bamboo中的存储抽象层的内容。
建立模型时,bamboo的域的属性由域属性表描述。根据是否是外链到其它对象的角度,可以把域分为两种:普通域和外键域。而这 ...
DataTables(http://www.datatables.net/)应该是我到目前为止见过的,功能最强大的表格解决方案(当然,不计算其它整套框架中的table控件在内)。
先把它主页上写的特性翻译罗列如下:
可变长度分页;
动态过滤;
多列排序,带数据类型检测功能;
列宽度的智能处理;
从多种数据源获取数据(DOM,js Array, ajax file, server-side returning);
滚动配置属性;
完整国际化支持;
jquery UI ThemeRoller支持;
经历了个2600多个单元测试,相当牢固;
有为数不少的插件支持;
免费的;
状态保存能力;
支持隐 ...