dorado7使用感觉(摘)

作者:wang102010 来自:http://blog.youkuaiyun.com/wang102010/article/details/7286076

做java程序4年了.4年程序开发经验,也许不算什么,但这4年也差不多决定了一个程序开发者未来能走多远.

期间接触过很多项目,搭建过不少项目,也使用过很多最新的技术和框架.公司主要还是使用dorado5做开发.最近使用体验了下dorado7并拿到了bdf的源代码,锐道很热情,而且对于我们这种小小的程序员,他们实现的内容,却可以说是我们的骄傲.

dorado已经算是一种很成熟的产品了.结合4年的使用经验,说下看法.

dorado7继承了很多dorado5的设计思想,创新更多
前台结合了jquery,ext等主流的前台开发模块.几乎能兼容所有主流浏览器.使用过一脉的google的gwt,smartgwtee等开源框架.还是比较习惯dorado7的前后台设计思想.
前后台分开.前后台的数据交互实现得很好.这点是gwt,smartgwtee等框架望尘莫及的.
eclipse的界面很简洁方便.但要真正用好,前台的javascript学习代价还是很高的,不过多查api就可以了.不用api文档永远别想学会dorado7,jquery等得学习都是其次.api文档够用了
后台高度整合了spring,hibernate.
由于学习视频比较多,可以说上手很容易,精通需要时间.
总的来说很强大.其开发框架bdf就是用dorado7开发的.bdf成熟后建议新项目都用dorado7做开发,dorado5,structs可以成为过去了.当然.别想着dorado5直接升级到dorado7项目.但可以考虑混用.
感谢锐道,骄傲.
多说无益.要用了才知道.

bdf实现了商业应用上几乎所有的基本功能,如果无特殊要求,几乎可以直接在上面开始商业逻辑的开发,bdf是商业开发的一个技术沉淀.剩下来的是项目开发中最经典,最有用,最方便的设计和实现.

不过现在的bdf感觉还是只是面向基础开发者的学习框架.离商用开发还是有段距离,估计当初设计者也有他们的考虑吧.和他们接触过,不得不说锐道是一个很负责任的公司,已经知道他们在开始完善这个框架.

bdf的好处太多.没见识过的说了也白说.说说这个框架需要改进的地方

大部分代码与数据库交互的居然是jdbc.
使用了大量数据字段.
很多商业使用,数据库是不允许使用blob,clob的,会大大降低数据库的性能.即使使用了,业务表是不允许存储数据文件的.业务表和数据存储混杂在一起.在oracle数据库上,如果开启jbpm和quart模块程序的运行都成了问题.

相信这点会很大的影响dorado7的推广,因为很多开发都是有现有的公共模块的,如果bdf的内容不能有效的替换这些模块,没有人愿意用dorado7把这些公共模块再开发一次的,导致框架选择的时候他们会优选老的框架.

不过学习的话,现阶段的bdf够了.如果这2点改好了.懒懒的程序员兄弟们就有福了
Dorado7企业级快速开发框架:从核心原理到现代化改造实践 在企业级应用开发领域,快速构建复杂交互的Web管理界面一直是核心需求。传统开发模式中,前后端分离架构虽然灵活,但需要大量手写代码实现数据绑定与通信逻辑。而声明式数据绑定技术通过预定义数据模型与界面组件的关联关系,能够自动处理数据流转与界面更新,大幅提升开发效率。这种技术原理的核心在于将数据状态管理与界面渲染解耦,通过中间层自动同步数据变化。其技术价值在于降低前后端协作复杂度,使后端开发者也能高效完成界面逻辑开发。在内部管理系统、快速原型验证等应用场景中,这种高生产力的开发模式尤为适用。Dorado7作为经典 阅读详情

相关推荐

Dorado7企业级前端快速开发平台:核心概念、环境搭建与调试实战

在企业级Web应用开发中,前后端数据绑定与状态管理是提升开发效率、保证数据一致性的关键技术。其核心原理在于建立视图组件与数据模型之间的自动同步机制,当数据变化时界面自动更新,用户操作也能直接反馈到数据层。这种技术价值在于大幅减少了手动操作DOM和异步调用的代码量,降低了开发复杂度,尤其适合需要快速构建复杂CRUD界面的管理后台系统。在2010至2018年间,基于jQuery的Dorado7展现中间件正是这一理念的典型实践,它通过服务端定义的DataSet和View模型,实现了声明式UI开发。应用场景主要集中

weixin_34098209的博客 298

简单聊聊dorado7,快速入门,内含工具。

聊聊dorado7,新人入门,含工具--- 说实话,这玩意 面向百度,面向文档资源非常有限,我尽量把这个栏目持续更新下去,当然作为一个后端研发,咱们只需要知道啥意思,怎么用就ok了,没必要往太深去了解,毕竟遇到这玩意跟路上被鸟屎砸中了概率差不多,如果你碰上了不要慌,我会尽量帮助你快速入门。...............

qq_48435967的博客 4548

dorado7-eclipse研发工具

此资源为dorado7前端框架研发工具,适用于国企,银行等老项目后期维护使用

dorado7使用感觉

做java程序4年了.4年程序开发经验,也许不算什么,但这4年也差不多决定了一个程序开发者未来能走多远. 期间接触过很多项目,搭建过不少项目,也使用过很多最新的技术和框架.公司主要还是使用dorado5做开发.最近使用体验了下dorado7并拿到了bdf的源代码,锐道很热情,而且对于我们这种小小的程序员,他们实现的内容,却可以说是我们的骄傲. dorado已经算是一种很成熟的产品了.结

wang102010的专栏 1万+

dorado7项目环境-jar包

最开始接触dorado7最容易碰到的是版本依赖问题,由于前端技术过于老旧为了保证兼容性,推荐此jar包。 使用方式为:放在项目中WebContent下WEB-INF的lib中。

Dorado7/9开发环境 (解压即用Eclipse+dorado插件)支持dorado7和dorado9

资源:eclipse-4.3_for_dorado7_ide.zip 之前公司Dorado7开发环境(含插件开箱即用)压缩包珍藏版,支持dorado9开发。

Dorado7与Extjs的比较

Dorado7与Extjs的比较 Dorado7和Extjs都是开源的Web展现层开发技术。表面上看似乎是相似度很高的两款产品,然而事实上他们之间存在很大的差别。究竟这两款产品各自适用于哪些场景呢?本文将从以下几个方面出发来对Dorado7与和Extjs做些比较。 产品功能设计方面的比较 众所周知,Extjs是一款优秀的前端Javascript库,拥有了一整套精美的界面控件。而D

thinkingdo的专栏 1458

用5毫欧采样电阻实现高精度电流检测?数字可调电源控制板的硬件设计陷阱

本文深入探讨了在数字可调电源控制板设计中,如何利用5毫欧采样电阻实现高精度电流检测。从微小信号放大电路设计、采样电阻布局与热管理,到电源切换与电池管理电路优化,提供了全面的硬件设计解决方案和实用技巧,帮助工程师规避常见设计陷阱,提升系统性能。

wdx0123456的博客 1030

Dorado7使用感觉(摘)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34041003的博客 141

[深度学习] 从 originbot 到 origincar

原来,OriginBot的摄像头是MIPI模式,而OriginCar的摄像头是USB摄像头,也就是imageWidth 是0~959,超过了范围640。origincar在执行以下命令部署模型时。

chdlr的博客 2385

Python画好看的雷达图,全网开源代码最好看的

【代码】Python画好看的雷达图,全网开源代码最好看的。

大模型天花板 2282

Dorado7使用感觉

作者:wang102010 来自:http://blog.youkuaiyun.com/wang102010/article/details/7286076 做java程序4年了.4年程序开发经验,也许不算什么,但这4年也差不多决定了一个程序开发者未来能走多远. 期间接触过很多项目,搭建过不少项目,也使用过很多最新的技术和框架.公司主要还是使用dorado5做开发.最近...

weixin_34198453的博客 106

海思Hi3516CV610--SPI NAND Flash移植实战:从手册到驱动的完整适配

本文详细介绍了海思Hi3516CV610芯片上SPI NAND Flash的移植实战,包括从手册解读到驱动适配的完整流程。以GD5F2GM7UEYIGR Flash为例,重点讲解了关键参数确认、模式选择、时序配置以及U-Boot和Linux内核驱动的具体实现步骤,帮助开发者快速完成Flash移植工作。

weixin_29158413的博客 447

dorado java_[Java教程]dorado 7 使用总结

[Java教程]dorado 7 使用总结0 2018-10-20 18:00:23最近项目上需要,使用了dorado 7 ,总体感觉还可以,快速开发很方便,然而在方便的同时,难免有些太过繁琐,很多东西都封装了起来,会造成很多不便。因此快速开发的项目可以使用,其它的不推荐。现在打算将过去使用dorado7时遇到的,一些有趣的地方记录下来,方便以后参考。1.DataSet数据对象Dat...

weixin_29188043的博客 768

CUBEMX ADC 单/多通道+DMA

本文使用的是STM3F103C8T6 Cubemx进行单/多通道DMA配置。

记录学习 1403

基于matlab的CNN验证码识别系统(UI界面版)

基于matlab的CNN验证码识别系统(UI界面版),CNN验证码识别系统包括数据集处理、模型搭建、模型训练、界面设计与实现

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 484

dorado 7 使用总结

最近项目上需要,使用了dorado 7 ,总体感觉还可以,快速开发很方便,然而在方便的同时,难免有些太过繁琐,很多东西都封装了起来,会造成很多不便。因此快速开发的项目可以使用,其它的不推荐。现在打算将过去使用dorado7时遇到的,一些有趣的地方记录下来,方便以后参考。 1.DataSet数据对象 Dataset又称Dataset数据集对象,用来管理一组数据,其结构类似于关系型数据库中的表或视...

weixin_30590285的博客 524

2026年全国青少年信息素养大赛复赛真题(算法应用主题赛C++初中组:带解析)(7月4日试卷一)【文末附答案和解析】

2026年全国青少年信息素养大赛复赛真题(算法应用主题赛C++初中组:带解析)(7月4日试卷一)【文末附答案和解析】

王老师青少年编程 1738

Dorado7学习笔记---Dorado 7 自动生成Dao的类

第一种、bean都在一个包里面的做法 Dorado 7中的Java Bean层能够通过DBTool自动生成,而Dao层得自己手敲代码,继承HibernateDao。感觉有点麻烦。就手写了一个简单的Dao生成工具 1、设置好当前bean层目录,也就是这里的entity包的路径。 2、创建dao包 3、把所有的bean都换成dao 写入文件。 4、有洁癖的 可以修改格式。 import...

一个努力飞行的菜鸟 1302

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

属性修正Dorado 7.2.2 发布,Ajax的Web开发平台

首先声明,我是一个菜鸟。一下文章中涌现技术误导情况盖不负责      Dorado 7.2.2 宣布,Dorado7的全称是Dorado现展中间件,是一款开源软件,致力于为Web应用供提更加丰硕、友爱的用户界面,同时大幅高提现展层的发开效 率。 Dorado7由三个部份成组:浏览器端的件控(Javascript+CSS)、服务器端的驱动引擎(Java)和集成发开环境(Eclipse P

373

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

谈谈对javaeye 首页广告dorado 的使用问题

小弟不材.使用dorado5 快到1年了.用他做了不少的东西.对于dorado 说点点东西.....(说错了打我的pp哈)....dorado 在比较高端的电脑性能上跑起是很不错的.我们做的项目中.一个页面的信息点很大..乃至这个文件高达近200k..对于dorado的自定义下拉筐 那个在客户运行的速度才叫慢啊..一个页面出来要5-7秒.(客户的电脑内存512,cpu 奔4 2.0以上).但在我们...

network-eagle 151

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Dorado 学习文档

这是我学习Dorado的学习文档, Dorado on the way - final 本来想继续前面陆陆续续的两篇关于Dorado的文章,但想想为了大家查阅方便,干脆来一个final版,一次性写出来。 2006年12月25日 首先在公司的官方网站(http://www.bstek.com/)下载了Dorado的最近版本,我下载的版本是Dorado-5.0 06...

shjy.nicholas 495

初探dorado

刚刚接到bstek从上海打过来的电话面试,问了我一些框架以及相关的一些问题。唉,大概是已经有近一个月没怎么写java了,再加上雨后的广州竟异常地 冷,回答的时候竟有些发颤。最后被告知先了解一下他们的dorado,过一两天再电话联系。好吧,就看看dorado是怎么一件产品(也怪我,投了人家简 历居然没研究人家的产品)。 1.安装 首先是安装dorado。运行setup.bat文件即可。它会去检测...

聪明的笨蛋 429

dorado中定时刷新实现数据监控

刚有个客户问到一个有关数据监控的问题 我们知道,传统的Web监控页面只想获取DB里的最新数据必须不断的Refresh Page.这样做的坏处是,对整个页面进行Refresh.给人最直观的感觉是页面消失,一两秒后再出来. 但有了Dorado之后就不用这么干了. 我们知道JS中有个叫个setInterval函数.这个函数的格式是:setInterval("要执行的函数名称",时间间隔

dclove的专栏 1706
下一篇: 什么是Dorado7
thinkingdo
博客等级 码龄15年 2粉丝 14原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值