ext

性能优化相关

孤街醉人 提交于 2020-01-18 08:00:55
性能优化相关 1.前端 1.1请求性能优化 1)请求方式异步 2)请求发送内容用gzip压缩 1.2Js文件按需导入 类似如下方式 Ext.require([ ‘Ext.Gc3.CntTypeHelp’, ‘Ext.Gc3.Dept’, ‘Ext.Gc3.Stamps’, ‘Ext.Gc3.YsflHelp’, ‘Ext.Gc3.CntKgHelp’, ‘Ext.Gc.GcNumber’, ‘Ext.Gc.GcNumber’ ]); 1.3 UI渲染相关(框架ExtJs4.2) 1)grid控件的数据量大时需要虚拟滚动: 在grid的plugins数组内部添加,{ ptype: ‘bufferedrenderer’ }即可 2)grid的数据大量导入需要用loadData(record) 3)grid修改数据数据时比如需要修改多行数据然后循环操作store进行set的需要在改数据之前Ext.suspendLayouts(); //停止刷UI 然后在修改set完之后Ext.resumeLayouts(true);//开始刷UI 4)单据打开时一定要先渲染UI不要在刷完数据之后再去渲染,提高用户体验 5)多Tab页的单据需要懒加载需要进行懒加载 2.后端 1)不要在Controller循环find,不然很容易造成数据库连接数过多客户连不上 首先这会增加连接数

Extjs动态加载grid表格

最后都变了- 提交于 2020-01-16 22:49:55
  通常情况下,我们编写Extjs表格grid的时候,都是静态的,也就是说grid的表头、列都是固定的。在实际开发中,往往面对很多“非主流”的情况,就比如我曾经遇到的一个实际开发的案例,要求前台以Extjs Grid来显示数据库的表并进行编辑操作。数据库中有很多表,由于每张数据库表的字段数目是不同的,所以需要事先通过后台进行数据库表的字段计算,然后输出到前台给以显示。   还好这不是什么难事,因为Extjs的所有的配置格式基本上都是Json格式的,所有只要Grid的相关配置参数(如columnModel、fields)是Json格式的,那就不管是前台写死的还是后台动态输出的,都无关紧要。   本例,通过Extjs的ajax来请求后台Servlet的输出,然后决定Grid的显示效果: (图一)Extjs动态加载grid的效果一   之后,我们更改Servlet的输出方式,或者更改前台Extjs Ajax中url的地址,将显示如下效果: (图二)后台决定前台Grid显示效果图二,可以看到列及列数都已经变化 来看index.jsp的代码: 1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C/

Windows下搭建PHP开发环境

≯℡__Kan透↙ 提交于 2020-01-16 03:11:18
PHP集成开发环境有很多,如XAMPP、AppServ......只要一键安装就把PHP环境给搭建好了。但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习。所以我还是喜欢手工搭建PHP开发环境,需要哪个模块自己安装就行了,或者那个软件需要升级,直接升级那个软件就行了,并不影响其他软件,非常方便。    一、准备工作-下载所需软件 Apache httpd-2.2.22-win32-x86-openssl-0.9.8t.msi PHP php-5.3.10-Win32-VC9-x86.zip MySQL mysql-5.5.20-win32.msi    二、安装软件      安装Apache : 双击安装,与安装其他Windows软件没有什么区别,在填Server Infomation时,并没有特殊规定,只要输入的信息符合格式即可。     安装完成之后,在浏览器输入http://localhost,如果显示It Works!,表示Apache安装成功。      安装PHP :将php-5.3.10-Win32-VC9-x86.zip解压到一个目录即可。         安装MySQL :双击安装,如果需要更改安装目录,则在Choose Setup Type选择Custom     安装完成后开始配置MySQL,全部保持默认选项即可

【翻译】Sencha Ext JS 5公布

我只是一个虾纸丫 提交于 2020-01-14 13:01:39
原文: Announcing Sencha Ext JS 5 简单介绍 我代表Sencha和整个Ext JS团队,非常自豪的宣布,在今天,Sencha Ext JS 5公布了。Ext JS 5已经迈出了一大步,在这里,我们还想花一点时间来感谢我们的社区为我们提供的全部反馈和不断的支持。在我们的历史上。这是最大的一次beta版本号修订,超过了10万的下载量。与你们一起,我们创建了世界上最先进的多设备JavaScript框架。有了你们的宝贵參与。才让我们建立了最好的Ext JS框架。 新东西 触屏支持 Ext JS 5是自公司成立以来对框架进行的最全面的更新。在该版本号中将触屏设备上功能引入到了桌面应用程序——使用单个代码库。 架构改进 如今使用MVVM架构和双向数据绑定功能比以往创建应用程序更easy了。通过新奇出炉的client数据会话管理能够有效的降低与server端的交互。 通过路由的引入能够在应用程序内实现深度链接。 随着这些更新,应用程序的开发将会更高效。 响应式布局 从今天開始,通过使用响应式配置系统,Ext JS 5为应用程序提供了跨桌面和平板、不须要考虑方向更改的最佳视觉体验。 组件升级 随着组件的需求增长,Sencha在继续增强它的组件库。在Ext JS 5。如今能够在网格的单元格内为数据的可视化和大数据分析加入小部件。 在Ext JS 5内

【翻译】Ext JS 6 Beta发布

喜夏-厌秋 提交于 2020-01-14 13:01:10
原文: Ext JS 6 Beta is Now Available 概述 Ext JS 6的好处 新的Ext JS功能和工具 需要你的反馈意见 概述 很高兴,Ext JS 6 beta版本现在发布了。该版本是为了让你、社区来测试和评估Ext JS 6工作进度的。这是协助创建最好的Ext JS发布版本的最好方式。 对于Ext JS 6来说,可以单独使用一个javascript框架来创建基于桌面、平板和智能手机的应用程序。 下载Ext JS 6 Beta 查看Ext JS 6的新内容 Ext JS 6的好处 在演变过程中,Ext JS已经成为功能丰富的、数据驱动的、单页面应用程序的工业标准。Ext JS强大的应用程序已经成功政府数以百计的屏幕和成千上万行的代码。所有的这些应用程序都需要被动员起来,以便用户能够在任何设备、任何时间、任何地点尤其是出门在外时能处理关键的业务。 在去年发布了支持触摸和手势支持的Ext JS 5,为Ext JS框架带来了移动性的第一步。在此过程中,创建了一个核心公共代码库。在Ext JS 6,Ext JS和Sencha Touch的UI组件都是建立在公共核心之上的,因此,可以使用一个单一的代码库并创建从桌面到智能手机等设备的应用程序,事实上的通用应用程序。 新的Ext JS功能和工具 未了合并框架,Ext JS 6带来了大量的新功能、工具和改进

java Djava.ext.dir

笑着哭i 提交于 2020-01-13 04:13:03
jar -jar 指定lib启动 java -Xms1g -Xmx4g -Djava.ext.dirs=/opt/test/lib -jar /opt/test/untitled.jar 提示报错 用-Djava.ext.dirs=指定lib的会覆盖系统ext包 所以需要重新指定系统ext包 java -Xms1g -Xmx4g -Djava.ext.dirs=/opt/test/lib:$JAVA_HOME/jre/lib/ext -jar /opt/test/untitled.jar 来源: CSDN 作者: wwq_vracle 链接: https://blog.csdn.net/wwq_vracle/article/details/103926679

使用sphinx快速为你python注释生成API文档

感情迁移 提交于 2020-01-12 12:39:13
sphinx简介 sphinx是一种基于Python的文档工具,它可以令人轻松的撰写出清晰且优美的文档,由Georg Brandl在BSD许可证下开发。新版的Python3文档就是由sphinx生成的,并且它已成为Python项目首选的文档工具,同时它对C/C++项目也有很好的支持。更多详细特性请参考spinx官方文档,本篇博客主要介绍如何快速为你的Python注释生成API文档。 环境 需要安装python 安装sphinx pip install sphinx 1 实例 新建一个项目 目录结构如上图所示,doc目录使用来存放API文档,src目录是用来存放项目的源码。 src目录下的源码 #coding=UTF-8 class Demo1(): """类的功能说明""" def add(self,a,b): """两个数字相加,并返回结果""" return a+b def google_style(arg1, arg2): """函数功能. 函数功能说明. Args: arg1 (int): arg1的参数说明 arg2 (str): arg2的参数说明 Returns: bool: 返回值说明 """ return True def numpy_style(arg1, arg2): """函数功能. 函数功能说明. Parameters ---------- arg1 :

Windows下搭建PHP开发环境

孤者浪人 提交于 2020-01-12 05:14:27
  PHP集成开发环境有很多,如XAMPP、AppServ......只要一键安装就把PHP环境给搭建好了。但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习。所以我还是喜欢手工搭建PHP开发环境,需要哪个模块自己安装就行了,或者那个软件需要升级,直接升级那个软件就行了,并不影响其他软件,非常方便。    一、准备工作-下载所需软件 Apache httpd-2.2.22-win32-x86-openssl-0.9.8t.msi PHP php-5.3.10-Win32-VC9-x86.zip MySQL mysql-5.5.20-win32.msi    二、安装软件      安装Apache : 双击安装,与安装其他Windows软件没有什么区别,在填Server Infomation时,并没有特殊规定,只要输入的信息符合格式即可。     安装完成之后,在浏览器输入http://localhost,如果显示It Works!,表示Apache安装成功。      安装PHP :将php-5.3.10-Win32-VC9-x86.zip解压到一个目录即可。         安装MySQL :双击安装,如果需要更改安装目录,则在Choose Setup Type选择Custom     安装完成后开始配置MySQL,全部保持默认选项即可

致命错误:ext/standard/php_smart_str.h:没有那个文件或目录

我们两清 提交于 2020-01-09 23:45:32
致命错误:ext/standard/php_smart_str.h:没有那个文件或目录 参考文章: https://blog.csdn.net/jartins/article/details/80371257 。 一、发生背景:   安装php-redis扩展时,打开php官网下载扩展,选择了版本redis-2.2.5.tgz。   下载路径是:https://pecl.php.net/get/redis-2.2.5.tgz。   然后使用make编译时,报错: ... ...,致命错误:ext/standard/php_smart_str.h:没有那个文件或目录 ... 编译中断。 make: *** [redis.lo] 错误 1 二、原因:   在网上搜索后,得到的说法是:     因为最新的 phpredis 分了几大分支,针对最新的PHP稳定发行版 php7 有专门为php7的分支,     所以我们从github拉下phpredis 源码。 三、解决:   (1)然后打开github,搜索phpredis。     点击搜索结果的第一个:phpredis/phpredis(https://github.com/phpredis/phpredis)     点击页面中的releases(https://github.com/phpredis/phpredis

ExtJS 列表数据编辑

荒凉一梦 提交于 2020-01-05 04:02:15
在ExtJs中,GridPanel一般用于展示列表数据。同时利用一些附加的插件也能编辑数据。类似于asp.net中的DataGridView控件. 展示数据比较简单,利用Store则可以自动展示,只要在服务器端将数据Json化即可; 下面在Extjs中编辑列表数据 一、单条编辑 单条数据的编辑利用了Ext.ux.grid.RowEditor插件达到目的 var gridEditor = new Ext.ux.grid.RowEditor({ listeners: { 'canceledit': function () { var re = FieldGrid.getSelectionModel().getSelected(); var id = re.get("Id"); if (id == null) { var r = FieldStore.getAt(0); if (Ext.isDefined(r)) { FieldStore.remove(r); } } }, 'beforeedit': function () { }, //赋值 'beforerecordsubmit': function (r, cm, ri) { r.set('Content', cm.getCellEditor(1, ri).getValue()); r.set('Description', cm