TWaver图形界面之道(二)TWaver介绍

接上篇:TWaver图形界面之道(一)序言与目录

TWaver介绍

TWaver是一款图形界面组件产品,电信行业的朋友用它开发网管图形界面,非电信行业的用它制作的表格,指标图表,流程图。TWaver让界面开发变得简单,几行代码就可以实现组件与数据的绑定,组件与组件间的同步交互。TWaver提供多种界面组件,支持多种编程语言,这意味着无论你使用Java,.NET,Flex,还是JavaScript,都可以选择TWaver作为图形界面的解决方案。

TWaver的图形组件

TWaver最核心的组件是的拓扑图,以图形化的方式直观展示各种设备、线路甚至逻辑元素的分布和状态,具有着丰富的表现形式:气泡信息,染色和边框,告警渲染,动画效果等等。围绕着拓扑图组件,TWaver还提供了传统的通用组件,比如树组件、表格、树表格、属性页、图表(饼图,线图,柱状图……)等等。

TWaver的数据模型

对于终端客户,所看到的TWaver是各种窗体和控件,但这些并不是TWaver的全部,对开发者而言,TWaver最核心的是它统一的数据模型和设计模式。TWaver中有一个名为DataBox(TWaver Java中的TDataBox,TWaver Flex和TWaver .NET中的DataBox<>,ElementBox)的数据容器,负责管理图形元素,就像HTML中的DOM树、Java Swing中的TableModel、ListModel那样,DataBox管理着所有的图形数据,由它驱动到所有的TWaver视图组件。从MVC设计模式的角度看,DataBox数据容器扮演的是控制器(Controller)角色,是一个中间人,协调基本数据与视图界面的通讯和交互。如果把TWaver比做人,那么DataBox就是人的大脑,各个组件就是它不同的侧面,人的喜怒哀乐都由大脑控制和反馈。

TWaver是什么?

用一句话概括:TWaver是一种高效轻量的图形界面解决方案,提供多种语言开发平台,关注于电信网管行业,但不局限于电信行业。

TWaver提供图形界面解决方案

TWaver是一款中间组件产品,专注于图形组件,需要二次开发,提供图形界面一站式解决方案。

关注于图形界面

TWaver关注于图形界面,不是后台技术,也不是系统集成,我们的目标是让枯燥冰冷的数据,直观漂亮的展现。大家看到TWaver的第一眼,就是一系列图形组件,包括拓扑图,树,表格,属性页,图表……TWaver研究界面的每一个像素,关心细微之处的呈现。

TWaver提供了多种图形元素,比如节点,连线,分组,跟随者,附件等等,每一种图形都具有数十种样式属性,设置不同的样式,实现丰富的呈现效果。以网元标签为例,它是节点的一种附件元素,一个小小的标签可以设置位置,对齐方式,颜色,字体,背景色,渐变色填充,边框,HTML支持,气泡形式等诸多属性。由此多个附加元素组合而成的节点对象,就可以展现更丰富的信息,和呈现效果。

图形数据模型

TWaver所有的数据模型都围绕图形,TWaver网元主要是图形元素,而非业务元素,如TWaver Java中的Rack,Card,Port虽然代表可某类业务类型,但具体的业务属性还需要用户去添加,TWaver提供的多是图形属性,因此为了让它变得丰满,满足实际业务需要,我们在实际使用时,需要另外封装一层,或者追加更多的业务属性,以“Port”元素为例,描述设备端口,twaver.Port类中并没有端口流量,传输速率,几针几口,双工模式之类的属性,而只是定义了端口图片,端口边框,端口所在面板等等,这些都是界面呈现需要的。也正因为如此,在TWaver Flex和TWaver .NET版本中,连Port这样的对象也不存了,只是在Demo中给与体现。

例外的是Alarm元素,在Alarm对象上你可以找到告警时间,告警原因属性,这些在界面上不一定需要, TWaver提供了一套告警机制,定义了告警对象,告警级别,告警状态,告警统计,告警模型类, 这些正是TWaver为电信网管行业的特殊扩展。

需要二次开发

TWaver不是一款最终应用软件,需要进行二次开发,就像积木搭建房子,TWaver提供漂亮的积木,协助用户搭建自己的高楼大厦。

TWaver的直接客户是谁?

TWaver的直接客户是软件集成商,面向的是开发人员,我们乐于也善于与开发人员打交道,TWaver团队以开发人员为主,这也使得我们与客户有更多共同语言。因为TWaver不是最终的应用软件,其价值需要由我们的客户来体现,经过你们的二次开发,TWaver才能有机会展现在用户的桌面和终端界面之上。

同时TWaver是一款商业软件,我们出售许可和服务,提供文档,培训和技术支持,为用户提供一站式的图形界面解决方案,让我们的客户能在更短的时间内作出更好的界面效果。

TWaver组件具备高效轻量的特点

程序界面,没人喜欢臃肿和缓慢,程序用户体验的第一要素是流畅,如果界面布局缓慢,动画假死,程序庞大,没有人愿意去使用。优秀的后台,如果让界面拖了后腿,看不到背后的故事,令人不禁惋惜,所以TWaver一直遵循高效轻量的设计理念。

高效

高效主要从界面承载能力来体现,TWaver中用呈现的节点和连线数量作为评判。因为编程语言的差异性,不同语言平台有不同的性能表现:TWaver Java 拓扑图组件支持上万数量级节点的呈现,表格组件支持十万行数据。TWaver Flex和TWaver .NET稍弱,建议Flex控制在2000数量级,.NET为5000。

下面的三张性能分析报表分别反映了TWaver Java/Flex/.NET三款产品的性能特点,完全使用TWaver自己的图表组件制作的。可以看到TWaver Java中加载8000节点和1600条连线,拓扑图在一秒钟能完全呈现;TWaver Flex下2000节点和400连线总计渲染时间为2.2秒;TWaver .NET Silverlight运行环境中4000节点和800连线呈现时间约1.4秒。

 

轻量

TWaver的小巧也是其受欢迎的原因之一,对于一款中间组件,控制软件体积与女生控制体重一样重要。TWaver核心包一直控制着较小的体积,TWaver Flex和TWaver .NET的核心类库大小约1MB,TWaver Java核心包(twaver.jar)稍微大些,为1.8MB。体积虽小,内容丰富,以TWaver Java为例,twaver.jar中有了十几种图形和网元类型,提供了树,表格,属性页,拓扑图,图表等多种组件,还支持数据的导入导出,图片导出,SVG导出功能。

关注于电信网管行业,但不局限于此

电信网管行业应用

TWaver一直关注于电信网管行业,针对电信行业封装了相关的业务模型,比如设备面板,子网,总线,告警机制等等。从05年到现在,我们的客户大多是电信行业,这为我们积累了大量行业经验,积攒了很多的客户案例和解决方案。很多时候客户引领我们方向,TWaver的完善得益于客户千奇百怪的需求,TWaver很多示例都是客户需求的成果,感谢客户让我们成长,同时,TWaver也将这些经验回馈给客户,用心的交流,手把手的支持,就像两种思想的对话,让彼此都能受益。

其他行业的应用

虽然TWaver更关注于电信行业,但作为基本的图形界面呈现需求,推广到其他领域是完全可行的。在不同行业,基本的图形界面元素具有通用性,拓扑图也可以应用于电力,石油,资源等领域,而表格,树,图表的应用场景更加广泛,是通用的组件。TWaver在其他行业也有精彩的案例,下图中的ERP系统广泛使用了TWaver的拓扑图组件,表格,图表:

支持多种语言平台

TWaver支持多种语言平台,目前提供了Java,Web,Flex,.NET四大分支,此外还有TWaver GIS扩展分支,TWaver GIS分支在不同语言平台有不同的扩展包实现,目前包括:TWaver GIS for Java,TWaver GIS for JS,TWaver GIS for Flex。

未来我们将提供HTML5的版本以及TWaver 3D产品,这两个产品已经在小范围试用,不久将会推广。

TWaver可视化软件(七) WEB组态可视化软件 关于这个软件,首先要从组态的概念开始说起。 组态(Configure)的概念来自于20世纪70年代中期出现的第一代集散控制系统(Distributed Control System),可以理解为“配置”、“设定”、“设置”等,是指通过人机开发界面,用类似“搭积木”的简单方式来搭建软件功能,而不需要编写计算机程序。我们也可称之为“二次开发”,组态软件即为“二次开发平台”。 从用户操作与界面呈现的角度来说,组态软件采用标准HTML5技术,基于B/S架构进行开发,支持Web端呈现,在浏览器端即可完成便捷的人机交互 阅读详情

相关推荐

TWaver“一站式”UI组件提供包括网络拓扑图、地图、设备面板图、流程图、各种Chart图表、树图、表格等各种通用组件

TWaver HTML5(以下简称TWaver)使用HTML5技术和javascript语言,可在支持HTML5的浏览器上进行绘图。 使用TWaver前,需熟悉几个基本概念:图元(Element)、容器(DataBox)和画布(Network)。 图元:图形中的各种基本元素,如节点(Node)、连线(Link)等; 容器:图元都统一放置在一个容器(DataBox)中进行管理,如同“装鸡蛋的篮子”一样。它负责图元的增/删/改/查等管理操作; 画布:图元最终都绘制在画布(Network)组件上。Network是最终用户看到的图形组件,负责图形画面的具体绘制和交互;

Twaver-HTML5基础学习(2)基本数据元素(Data)

Data对象上的基本属性和如何自定义属性

见贤思齐焉,见不贤内自省 1387

python机器人编程——用pytorch实现六轴机械臂的正向和逆向数值解算,及python算法解析

前面对六轴(或多轴)机械臂进行了一些研究,特别是利用几何进行简化,实现逆解,来完成比较简单的搬用任务。然而,如果需要比较精确的操作任务,可能需要更加复杂的机械臂解算。其中比较复杂的是数值解算,这种解算往往涉及到比较复杂的机器人运动等原理知识,比较难以上手。但是,python的生态挺全面,已经有很多牛人实现了数值解法,但是去看他们的代码,还是觉得费劲。此外,随着深度神经网络的兴起,很多是用建立深度学习神经网络,去利用机械臂输入输出的大数据,训练机械臂的控制模型,这个上手也比较慢。

JAMES费的空间 5791

Twaver-HTML5基础学习(1)两点一线

我们需要明白 1.图元是最小的单元; 2.图元需要放置到容器中; 3.最终图元会渲染到画布上即可;

见贤思齐焉,见不贤内自省 3323

Ubuntu18.04 SoftRoCE安装教程

目标:创建两台Ubuntu18.04虚拟机,安装SoftRoCE环境,一台作为Server,一台作为Client,模拟RDMA通信环境,熟悉RDMA的通信方式。

GGGYL111的博客 1548

别再瞎调了!手把手教你搞定STM32步进电机PID速度环(附完整代码与比例系数详解)

本文详细解析了STM32步进电机PID速度环的完整实现过程,从算法输出到脉冲频率的转换链路,重点讲解了比例系数的确定方法及系统标定实验。通过完整的代码示例和调试技巧,帮助工程师解决实际应用中的常见问题,提升步进电机控制精度与稳定性。

weixin_28729331的博客 214

TWaver图形界面之道(四)如何申请与技术支持

接上篇:TWaver图形界面之道(三)TWaver产品家族 TWaver如何获取 TWaver是一款商业软件,面向企业用户,出售软件授权,提供支持服务,此外对于非商业用途的项目( 譬如院校,研究所的一些研究性课题),会给于优惠和减免。 要了解TWaver产品,可以先从我们的在线产品示例开始,这能直观全面的了解到TWaver产品的特性,接下来你可以申请产品试用,借助试用包中的类库和

TWaver可视化 2812

STM32H723ZGT6-单ADC极限采样率实战与分辨率权衡

本文通过实战测试,深入探讨了STM32H723ZGT6微控制器中单ADC模块的极限性能。文章详细展示了如何通过CubeMX配置时钟树、ADC参数、定时器触发与DMA,实测得出在16位分辨率下最高稳定采样率约为4.6MHz,而将分辨率降至8位后,采样率可提升至约6.2MHz,并分析了速度与分辨率之间的关键权衡,为高速数据采集项目提供选型与优化参考。

weixin_29240711的博客 297

TWaver图形界面之道(六)TWaver设计模式

继续上一章的TWaver图形界面之道(五)Hello TWaver TWaver设计模式         让我们详细探讨TWaver的设计模式,本章包括三个方面:MVC的设计模式,数据元素与数据容器,以及事件驱动机制。 什么是设计模式?         为了解决一些反复出现的问题,而提出的一种通用的解决方案,我们称为“设计模式”,设计模式是一种广泛的概念,软件开发有设计模式,UI设计有设计

TWaver可视化 1806

告别Keil/IAR:在VSCode中用CMake+Clangd打造丝滑的STM32开发环境(附完整配置)

本文详细介绍了如何在VSCode中使用CMake和Clangd搭建高效的STM32开发环境,替代传统的Keil/IAR工具。通过完整的配置指南和快速开发技巧,帮助开发者实现轻量级、高度可定制的现代化开发流程,显著提升STM32项目的开发效率。

weixin_26843605的博客 164

如何设置反馈点

前面的POWER DC仿真都是忽略反馈线进行的仿真,如果单板压降不过,电源会自动调整输出电压,来满足负载的得到额定的电压.可以看到因为设置了反馈点,源端电压就被抬高到满足压降的值了。仿真上也可以自己添加反馈点,以得到抬高后的电源输出电压值。同样以下图的CPU的Core电源为例。按照流程正常设置好参数。

weixin_54787054的博客 1147

TWaver图形界面之道(五)Hello TWaver

继续上一章的介绍TWaver图形界面之道(四)如何申请与技术支持 本章将以一个入门示例开始,介绍TWaver的基本使用,设计思想以及开发流程,如果你已经熟悉了TWaver的使用,熟悉了TWaver的MVC的设计模式,可跳过本章节。 Hello TWaver 以一个经典示例开始,创建两个节点和一条连线,并在不同组件中展现,然后我们会追加告警,观察界面的变化。 开发环境 TWaver有...

subnetwork的专栏 287

YOLOv8改进 | 卷积模块 | 用DWConv卷积替换Conv【轻量化网络】

YOLOv8改进,yolov8,yolov8创新,yolov8涨点

kay_545 7156

TWaver图形界面之道(三)TWaver产品家族

TWaver产品家族 TWaver Java TWaver Java是TWaver产品家族中历史最悠久、功能最强大、应用最广泛的一个分支。TWaver Java基于Java 2D和Java Swing技术,相比于JS、Flex、Silverlight、HTML5这些现在热门的Web前段技术,关注Java Swing技术的越来越少,但从技术的成熟性和运行效率考虑,不太在乎Web化,那么...

subnetwork的专栏 216

YOLO26科研升级:OREPA在线重参数化,让模型精度在训练中持续跃升

在目录下,新建AddModules文件夹,将orepa.py放入其中。

LXY_LOVE36的博客 98

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

认识TWaver

一、    概念介绍         TWaver是美国Serva Software公司的产品,是应用最为广泛的电信专业图形界面开发工具包,在电信行业应用非常广泛。TWaver关注于数据的图形展示,它是面向开发人员的,需要进行二次开发。         TWaver的图形组件库中提供了拓扑组件、地图组件、设备图组件,以及表格、树图、属性表、图表等丰富的通用图形界面组件,为电信运营支撑系统(OS

黄爱岗廊坊师范学院信息技术提高班 第七期 2234

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

TWaver图形界面之道(一)序言与目录

TWaver图形界面之道 作者序 最早我按TWaver的功能点拟定了提纲,在完成第一章后,遇到了两个问题:是写整个TWaver还是只介绍TWaver Java?与开发手册和培训文档的内容是否重复了? 于是我停下来思考,这本书究竟应该说点什么?如果只是TWaver的使用,看我们的开发手册,参加我们的培训会更合适,我希望说点特别的东西,更有价值的东西,不只是为TWaver用户,更包括

TWaver可视化 1835

深度学习工具包 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")

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

TWaver拓扑图形界面组件

TWaver是美国Serva Software公司的产品,是应用最为广泛的电信专业图形界面开发工具包,在电信行业应用非常广泛。

shanzhizi的专栏 3582

TWaver之HelloWorld

package com.test; import java.awt.BorderLayout; import java.awt.Component; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JSplitPane; i

黄爱岗廊坊师范学院信息技术提高班 第七期 1841

TWaver基本编程2

Element的选中机制 所有的Element数据都可以被选中。选中状态是Element的重要状态之一,它在实现人机交互过程中非常常用。理解和使用Element选择,对于熟练掌握TWaver开发具有重要意义。 使用选择状态 所有TWaver的Element都有一个选中状态。要么选中,要么没选中,它是一个boolean值。可以使用函数isSelected/setSelected进行获取或设

开往幸福列车 2579
上一篇: TWaver图形界面之道(一)序言与目录
下一篇: TWaver图形界面之道(三)TWaver产品家族
subnetwork
博客等级 码龄17年 17粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值