介绍与实践
文章平均质量分 76
TINY框架
官方论坛:http://web.tiny.top Git
地址:http://git.oschina.net/tinyframework/tiny
QQ群:228977971
展开
-
《开源框架那点事儿23》:Tiny模板语言(VelocityPlus)初步入门
1 关于用户手册本文主要介绍如何在模板中使用Tiny模板语言,通过查阅本手册,可以对Tiny模板语言 TTL(Tiny Template Language)的用法有一个较全面的认识,并学会如何有效地使用Tiny模板语言。同时,本文提供了较多的例子帮您来学习并掌握它。 2 Tiny模板语言概述Tiny 模板语言是一个参考Velocity语法的模板语言,它对Velocity模板语言中一原创 2015-09-08 14:55:56 · 1440 阅读 · 1 评论 -
Tiny之7*24集群服务方案
232240_xJbt_1245989.jpg (156.3 KB, 下载次数: 0)下载附件2015-5-27 21:00 上传 最上层通过Apache或F5作接入端负载均衡 AR1,AR2,AR3,..., ARn负责做Web接入端 SC是Server Central的缩写,一个环境中一般一个就够了,为了避免单点,也可以提供多台AS1与AS2,AS原创 2015-06-09 16:22:28 · 306 阅读 · 0 评论 -
Hello,World 百态
最简陋HelloWorld 首先,编写一个页面文件叫:hello.page,输入下面的信息,然后运行之! 1Hello!name浏览器URL:http://localhost:/hello.page 运行结果如下: 160451_00NZ_1245989.jpg (23.65 KB, 下载次数: 0)下载附件20原创 2015-06-09 16:18:49 · 325 阅读 · 0 评论 -
如何快速开发网站?
开发网站 ,一般是如下过程:找美工画图进行图片切分开发人员添加内容现在还用JSP来做网页,当然属于...那啥的事情。 今天看看不一样的体验,稍有HTML基础,马上就可以照葫芦画瓢了。 第一步:找美工画图,第二步图片切分 这两步合成一步,到网上找模板,假设我们就看上这个模板了。 http://www.cssmoban.com/cssthemes/88.shtml原创 2015-06-09 16:16:25 · 1478 阅读 · 0 评论 -
流程自动化布局
在很多的时候,都需要进行流程设计,而流程设计器最难的部分就是流程节点的摆布。一种方式是由流程设计者自己拖动摆放节点,拖到哪里到哪里,虽然自由是自由的,但是要拖一个漂亮的清晰的流程图也是非常不容易的;另外一种是由程序化进行排布,但是程序化排布在很多的时候,美观性方面欠妥。 总之,一句话,两者各有利弊。 为此编写了一个流程自动布局算法,对流程的节点进行自动的位置排列。也就是流程设计过程只要拖原创 2015-06-09 16:15:21 · 361 阅读 · 0 评论 -
Word文档生成
非常多的时候,都需要在程序当中生成一些文档,这些文档可能是csv,word,pdf,PPT,xls等文件格式。 生成csv还是比较简单的,但是要生成word,excel就麻烦多了。当然,Tiny框架也面临这个问题,如何才能帮助开发人员快速生成这些文档呢? 一般来说,现在用java生成Word有如下方式: POI,iText,当然还有Xml形式。 对于采用POI,iText来说原创 2015-06-09 16:14:03 · 306 阅读 · 0 评论 -
流程自动化布局
在很多的时候,都需要进行流程设计,而流程设计器最难的部分就是流程节点的摆布。一种方式是由流程设计者自己拖动摆放节点,拖到哪里到哪里,虽然自由是自由的,但是要拖一个漂亮的清晰的流程图也是非常不容易的;另外一种是由程序化进行排布,但是程序化排布在很多的时候,美观性方面欠妥。 总之,一句话,两者各有利弊。 为此编写了一个流程自动布局算法,对流程的节点进行自动的位置排列。也就是流程设计过程只要拖原创 2015-06-09 16:13:30 · 1218 阅读 · 0 评论 -
线程组
问题的提出,我们经常会有几项的任务,这几项任务之间本身没有先后顺序关系,或者是协作来共同完成一个目标。这个时候,我们就希望能够把这几项任务并行进行运行以充分利用CPU,缩短运行时间,或者把大的任务分成小的任务,所有的小任务都完成时,再继续进行下一阶段的处理。 这个时候就有一个问题了,因为一般的Java多线程都是互不相关的,也就是当这个任务在执行的时候,主线程也会执行,但是因为这个时候前面的任原创 2015-06-09 16:14:20 · 319 阅读 · 0 评论 -
XmlParser和HtmlParser
经常要用的Xml和Html解决,实际上这个领域也有非常好的解决方案。 相对来说现在各种开源的Xml解析功能比较丰富,机制也比较灵活,但是由于他功能比较完善,干的事情比较多,所以性能方面也慢一点;另外,由于Xml天生是有严格格式的,所以问题不大,但是Html文件的内容是良莠不齐,有的网站经常缺少关闭标签,有的开始是大写,关闭是小写等等,没有严格遵守规范的时候,连Dom结构也解不正确,对于数据抓取程原创 2015-06-09 16:13:47 · 415 阅读 · 0 评论 -
BigPipe为什么可以节省时间?
关于什么是BigPipe,请移步http://baike.baidu.com/view/4601904.htm去查阅一下。在实现BigPipe的过程中,就对BigPipe到底能省多少时间比较奇怪。普通的web页面,一般来说是页面生成,网络传输,前面页面渲染,这三部分的时间加起来就是操作人员从点击鼠标到最后看到页面的时间。比如,一个页面有主页面框架,有4个部分的内容显示,为了便于分析,简原创 2015-06-09 16:12:04 · 300 阅读 · 0 评论 -
Tiny框架之内容组成
Tiny框架10分钟入门,用于在10分钟之内使读者对Tiny框架的组成有个概要了解。 应用配置框架用于提供系统配置加载与分发,同时提供默认配置及应用级配置两套配置方案,并以应用级配置方案为主,也就是说应用级的配置参数可以覆盖默认配置。这样做有个好处,就是如果不配置应用级配置,那么默认配置也可以上你玩得很好;如果提供了应用级配置,那么可以对系统、框架、模块的原有行为进行个性化调整。原创 2015-06-09 16:10:27 · 396 阅读 · 0 评论 -
分布式锁的简单实现
分布式锁在分布式应用当中是要经常用到的,主要是解决分布式资源访问冲突的问题。 一开始考虑采用ReentrantLock来实现,但是实际上去实现的时候,是有问题的,ReentrantLock的lock和unlock要求必须是在同一线程进行,而分布式应用中,lock和unlock是两次不相关的请求,因此肯定不是同一线程,因此导致无法使用ReentrantLock。接下来就考虑采用自己做个状态原创 2015-06-09 16:07:48 · 235 阅读 · 0 评论 -
开源前要做好哪些准备工作?
最近看到OSC上一些大牛小牛在开源,偶也心里毛毛乎乎的,也有一些朋友说,快开源吧,开源了参考参考。其实偶也想快点开源,但是还是一直捂着,没有拿出来。 原因是这样的:第一印象是相当重要的,如果第一印象不好,许多人不会给你第二次机会再来了解你的。 如果要开源,必须是要比较完整的,如果拿出来一个不完整的,如果期望使用者能跟着你一步一步的调整、学习,是完全不可想象的。 如果要开源,必要的原创 2015-06-09 16:07:14 · 353 阅读 · 0 评论 -
Tiny快速入门之控制层开发
前面讲了Tiny快速入门之服务开发和Tiny快速入门之Web界面快速开发实践,也就是说开发服务和界面都没有问题了,很明显要做一个完整的系统还是不够的,因此肯定有控制层,才可以把整个过程打通。控制层充当着界面和服务之间协作的角色。控制器从界面层接收用户输入的信息,然后调用服务来执行特定的处理,并把最终的结果回传给界面层进行渲染。Tiny框架中控制层的写法可以有许多种:集成Struts原创 2015-06-09 16:04:59 · 786 阅读 · 0 评论 -
TinySpider开源喽
TinySpider是一个基于Tiny HtmlParser的网络数据抓取框架。 Maven引用坐标:?12345org.tinygrouptinyspider0.0.12网络爬虫,一般用在全文检索或内容获取上面。 Tiny框架对此也做了有限的支持,虽然功能不多,但是想做全文检索或从网页上获取数据也原创 2015-06-09 16:02:32 · 369 阅读 · 0 评论 -
Tiny并行计算框架之使用介绍
呵呵,昨天看到两新粉,一激动,就想着今天来写这篇文章。 其实一直在关注这个领域,但是一直没有信心来写,所以一直期望着有一个开源的来用。 看到了彭渊大师的淘宝分布式框架Fourinone介绍,确实有一种相见恨晚的感觉,于是就准备去研究一番,详细见本人的感想文章由fourinone初步学习想到的,确实来说,感觉到有一种啃不动的感觉,当然也可能是本人水平不足的原因所致。但是不管怎么说,促动了本人来原创 2015-06-09 16:01:47 · 361 阅读 · 0 评论 -
Tiny并行计算框架之实现机理
这一篇呢,主要介绍其实现机理。 当然,秉承偶的一向的观点,让新手也能看得懂。 首先看工作的接口: 12345678910111213141516171819202122232425262728293031323334353637原创 2015-06-09 16:01:04 · 293 阅读 · 0 评论 -
基于实体模型开发主题管理简析
实体模型主要实现单表操作(insert, update, delete, select),凡是需要这4条SQL语句要完成的功能,基本上都可以完成。多表处理的,需要用到关系模型,后续专门讲述。 前面写过一篇文章叫“主题切换及其管理”,连接地址为http://my.oschina.net/u/1245989/blog/165402。里面有详细的模型配置文件,但只是一个结果而已,接下来,对其进原创 2015-06-09 16:21:39 · 337 阅读 · 0 评论 -
MDA模型定义及扩展
Tiny框架中,对模型本向没有任何强制性约束,也就是说你可以把任何类型的对象作为模型,也不必实现任何接口。因此简单的说,你定义一个类,里面有一些描述业务属性或处理的内容,就可以说它是模型了。 但是要想在引擎中跑起来,这么做显然是不够的,首先你得让引擎知道,这是个模型。这需要通过定义模型定义文件来声明出来。 model-class="org.tinygroup.e原创 2015-06-09 16:22:06 · 983 阅读 · 0 评论 -
基于实体模型开发主题管理简析
实体模型主要实现单表操作(insert, update, delete, select),凡是需要这4条SQL语句要完成的功能,基本上都可以完成。多表处理的,需要用到关系模型,后续专门讲述。 前面写过一篇文章叫“主题切换及其管理”,连接地址为http://my.oschina.net/u/1245989/blog/165402。里面有详细的模型配置文件,但只是一个结果而已,接下来,对其进原创 2015-06-09 16:24:01 · 278 阅读 · 0 评论 -
【公开课:Java开源框架服务及CEP深入剖析】直播QQ群:228977971
【公开课:Java开源框架服务及CEP深入剖析】直播QQ群:228977971一、课程简介Java开源框架的服务体系是如何运行的?什么是CEPCore?Java开源框架的服务有哪些关键要点?如何根据用户的服务自动生成相关服务包装类?来吧!一线开源框架资深设计师与你分享Java实战心得,手把手教你Java开源框架设计技巧!二、主题《Tiny服务及CEP深入剖析》三、时原创 2015-08-04 15:08:11 · 890 阅读 · 0 评论 -
Web应用的组件化开发
基本思路1. 为什么要做组件化? 无论前端也好,后端也好,都是整个软件体系的一部分。软件产品也是产品,它的研发过程也必然是有其目的。绝大多数软件产品是追逐利润的,在产品目标确定的情况下,成本有两个途径来优化:减少部署成本,提高开发效率。 减少部署成本的方面,业界研究得非常多,比如近几年很流行的“去IOE”,就是很典型的,从一些费用较高的高性能产品转载 2015-08-01 18:36:22 · 870 阅读 · 0 评论 -
《开源框架那些事儿26》:“最好的模板引擎”Beetl剖析及与Tiny模板引擎对比
查找最好的模板引擎,发现这个搜索词出来的是beetl,于是就仔细学习了Beetl,试图找寻“最好的”三个字表现在哪里?于是搭建环境,阅读代码,与鄙人所做的TinyTemplate进行了粗略的对比,在征得beetl作者@闲.大赋 的同意后,编写了此对比文章。由于时间关系,对Beetl的认知深度还有不足,分析不当之处在所难免,还请广大同学纠正,定当有错误和不当必改。 点滴悟透设计思想,加入框架原创 2015-08-01 18:28:18 · 1924 阅读 · 1 评论 -
《开源框架那些事儿21》:巧借力与借巧力
同样做前端UI,为什么有人花了一点力气,就可以做好?而有的人费尽全力,仍然错误百出?我们可以先看看几个故事。故事1:巧借力,乌鸦也可以吃核桃有一个盛产核桃的村子,每年秋末冬初,成群的乌鸦总会来到这里,到果园里捡拾那些被果农们遗落的核桃。核桃仁虽然美味,但是外壳那么坚硬,乌鸦怎么才能吃到呢?原来乌鸦先把核桃叼起,然后飞到高高的树枝上,再将核桃摔下去,核桃落到坚硬的地面上,被撞原创 2015-07-06 20:51:32 · 685 阅读 · 0 评论 -
《开源公开课1》:开源框架构建与实践
课程介绍: 缺乏高端技术人才?缺乏开发标准? 代码复用性低?技术风险难于把控? 招聘成本高?培训成本高? 如果想法不够宏伟,那么就会局限于细节;如果一开始就铺非常大的摊子,将会失去控制;如果不能快速扩展,就无法满足应用需要! 因为,再好的框架也有过时的时候,再优秀的架构师也有视野盲区,再NB的写手也无法实现所有的部分! 来吧,聆听《开源公开课1》:原创 2015-07-27 23:56:32 · 618 阅读 · 0 评论 -
《开源框架那点事儿23》:采用TinyDB组件方式开发
采用TinyDB组件方式开发步骤Icon 前文介绍四则运算的流程编程开发时,说过流程编排在开发重复功能时,可以利用已有的组件库快速开发。对于开发人员而言只需要简单配置流程就可以完成工作了。开发增删改查的组件接口。本来这部分很花费时间,如果采用组件复用的话,就可以实现一次开发,终生受益。配置curd.beans.xml和tinydb.xml。使用流程编辑器定制组件流程curd.p原创 2015-07-13 20:31:08 · 903 阅读 · 0 评论 -
《开源框架那点事儿25》:对框架模板引擎实现方式的改造实录
点滴悟透设计思想,Tiny模板引擎优化实录!加入框架设计兴趣小组:http://bbs.tinygroup.org/group-113-1.html Tiny模板引擎的实现方式原来是采用的编译方式,最近发生了一些问题,因此我觉得有必要把编译方式调整为解释方式,为此就开始了此次实现活动。 编译方式存在的问题 当时采用编译方式,主要是考虑到编译方式在运行时不必再去遍历语法树原创 2015-07-26 21:44:56 · 899 阅读 · 0 评论 -
《开源框架那点事儿13》:基于开源框架做应用是未来中小型软件公司的发展趋势
使用质量好有延续性的开源框架,基于开源框架做应用是未来中小型软件公司的发展趋势原创 2015-06-15 10:20:19 · 1004 阅读 · 0 评论 -
《开源框架那些事儿22》:UI框架设计实战
UI是User Interface的缩写,通常被认为是MVC中View的部分,作用是提供跟人机交互的可视化操作界面。MVC中Model提供内容给UI进行渲染,用户通过UI框架产生响应,一般而言会由控制层调用业务逻辑进行处理,并把处理结果以Model方式返回View,再次渲染。UI框架的大致过程就是如此,按实现方式可以分为RIA和瘦客户端方式,目前基于B/S的瘦客户端方式比较流行。UI框架套路上原创 2015-07-08 23:21:29 · 838 阅读 · 0 评论 -
在INSTALL TINY时出现下面的问题怎么办?
[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (D:\). Please verify you invoked Maven from the correct directory. -> [Help 1]因为你没有在pom.xml文件所在的目原创 2015-06-09 17:43:43 · 296 阅读 · 0 评论 -
用TinySpider进行网页抓取实例
本例中用到的maven坐标变化如下:org.tinygrouporg.tinygroup.spider0.1.0-SNAPSHOT复制代码在百度中搜索笑话,看到这么一个网站:http://www.jokeji.cn/,点进去看看,里面的内容比较简单,也比较有趣,呵呵,就它了,我们今天的示例就是如何利用TinySpider来进行网页抓取。示例1:获原创 2015-06-09 16:30:36 · 1814 阅读 · 0 评论 -
Tiny实例:TINY框架官网制作过程详解
新增加war包下载地址,呵呵愿意体验的可以直接下载并发布到容器即可试用,也可以查看里面的内容。 由于只花了两天时间制作,一天时间搞页面,一天时间搞内容,所以还非常粗糙,还有许多需要完善的地方,欢迎同学们提出改进和完善意见,但是今天网站做的好不好不是重点,重点讲讲网站是怎么做出来的。当然了,不用问,必须用Tiny框架来做,所以今天就来讲一下如何利用Tiny框架来高速有效的进行网站开发。原创 2015-06-09 16:29:16 · 1813 阅读 · 0 评论 -
快速搭建Tiny开发项目
先前阅读过《快速入门》的用户,应该了解Tiny开发项目的几种方式:服务方式、流程编排方式和MVC方式,当然用户也可以结合其他的框架。对Tiny而言,标准Web应用是一个集成工程,本身不应该包含任何代码,各种服务、业务、展示资源以子工程的方式通过总POM文件依赖引入。 《快速入门》提供的是web的示例工程,那么如何构建标准的开发工程呢? 比较简单的方式是通过骨干工程org.原创 2015-06-09 16:28:17 · 1083 阅读 · 0 评论 -
Tiny VS 其它开源产品
注意:这里仅列出在OSCHINA中搜索时排在前面的基于Java技术的对应产品,且没有先后顺序Tiny工程 其它开源产品原创 2015-06-09 16:27:46 · 401 阅读 · 0 评论 -
Tiny模板引擎之工具介绍
6.png (24.47 KB, 下载次数: 0)下载附件2015-5-27 10:48 上传要想做一流的模板引擎,当然有一流的模板编辑器是必须的。 Tiny模板引擎推出已经有一段时间了,但是由于其语法是独立的,因此编辑只能采用一般的文本编辑器,但是编辑效率自然就低。还有一种是采用Velocity编辑器进行编辑,但是带来的问题经常会有错误的语法提示,有些语法无法原创 2015-06-09 16:27:12 · 448 阅读 · 0 评论 -
JS合并的必要性分析
JS合并的必要性分析一、效率因素 一般来说,在一个WEB工程中,需要使用大量的JS,这些JS可能来自许多提供者。 而在页面访问时,每次访问资源都要发起一个http请求,因此,即使文件已经缓冲,也需要发出一次http请求来确认文件是否被改变过。如果js个数比较少,那么没有什么问题,但是当JS文件数目比较多的时候,就会导致页面访问效率下降。如果能把所有的js都合并为一个文件,那么就可以节省原创 2015-06-09 16:24:17 · 323 阅读 · 0 评论 -
在Linux下搭建Tiny开发环境
有一朋友在Linux下编译Tiny时出错了,偶在Windows下编译是OK的,但是说明不了问题。因此就想着搭建一个Linux下的编译环境进行验证,实际搭建过程碰到了一些问题--主要是NTLM ISA代理服务器的问题。由于整个过程比较复杂,因此就写此文志之,有需要的朋友也正好用一下。Step 1:搭建Linux环境 考虑到fedora各方面不错,本人选用了fedora,在vSphere中创建一个原创 2015-06-09 15:57:41 · 285 阅读 · 0 评论 -
TinyUI组件开发示例
TinyUI实际上并不是一个具体的UI展现组件,它只是一个UI构建体系。它可以适应于各种Html+CSS+JS的体系架构中。 TinyUI主要解决下面的问题: UI中JS的引入与顺序,JS合并的问题UI中css的引入与顺序,CSS合并的问题UI中碰到性能问题时的影响范围,比如:一个树出现问题,要改动许多用到树的地方代码重复的问题,同样的内容在许多地方都有,如果要改动就要改动许多个地方整体布原创 2015-06-09 15:56:35 · 10496 阅读 · 0 评论 -
开源框架Tiny之内容组成
源码快照:https://git.oschina.net/tinyframework/tiny上手之前,默认已经熟悉Maven和Git,对于Maven和Gig相关问题,女生请问谷哥,男生请问度娘,他二位的细致耐心一定会让你满意的。 install之前需要进行环境准备,确认你的机器可以联得上外网,或者有好用的Maven代理。 请确认在编译环境中存在jdk1.5和1.6以上版本。原创 2015-06-09 15:56:00 · 951 阅读 · 0 评论 -
基于业务单元的开发与部署模式
许多的人注重开发效率,但是老鸟们不仅关注开发效率,更关注维护与技术支持效率,因为他们深深知道,一个有生命力的产品,维护与技术支持成本占整个产品开发运维成本的70%以上,也就是说开发成本只占不到30%的成本。 对于一个传统的MIS系统来说,别的不说,光数据库表结构的维护脚本就够受的了,设你的用户有几十家,或上百家,他们使用的版本可能是1.0到m.n中间的任何一个版本,设总共有x个版本。这个原创 2015-06-09 16:20:37 · 393 阅读 · 0 评论