- 博客(63)
- 资源 (8)
- 收藏
- 关注

原创 Dojo Util Build 打包压缩 合并独立JS/CSS 优化加载
问题现象:Dojo的JS文件分散,如果不打包压缩直接使用,尤其是页面上存在dijit/dojox控件(或者在HTML直接引入JS)的时候,加载的JS过多,会导致画面初期化时间较长。解决方案:Dojo提供了一个Build打包工具,将多个JS或者CSS文件,整合到一个独立的文件中,简化浏览器加载Dojo文件次数,用于优化页面加载时间。(HTTP协议的特性决定了多次请求取得多个小文件的效率远...
2018-10-30 11:03:58
1052
1
原创 TortoiseGit和Git配置使用同一SSH密钥
而TortoiseGit自带的PuTTYgen工具可以将openSSH密钥转换为puTTY密钥。生成后私钥拥有.ppk后缀,公钥没有后缀。※openSSH所产生的密钥可以直接被TortoiseGit使用,不需要再转换为PuTTY风格的密钥。在Git bash中生成的是openSSH密钥。它的私钥默认是没有后缀的,而公钥有一个.pub后缀;一直点击"下一步",直到如下窗口,选择"OpenSSH",点击"完成"。另外,网络的SSH设置,只需填写ssh.exe即可。
2025-02-21 11:28:23
256
原创 关闭Microsoft Compatibility Telemetry服务解决VScode CPU内存占用过高导致电脑卡顿(实测有效)
在运行VScode的时候,CPU和内存总是占用过高,导致电脑异常卡顿,试过网上各种方法均无效,最终发现关闭Windows的一个服务即可解决
2022-06-07 14:53:43
7570
1
原创 两段文本的差异比较源码
Java/JS/Python/IOS等各种语言的文本比对源码https://github.com/JanX2/google-diff-match-patch-git-svnhttps://blog.youkuaiyun.com/qq_34062622/article/details/105436727PHP语言的文本比对源码https://github.com/fadion/diff-match-patch
2021-08-27 10:52:09
857
原创 Java Log记录的几种方式
在Java中记录日志的方式有如下几种:一、System.out.println(最简单)1、输出到控制台:System.out.println("XXX");2、输出到指定文件:import java.io.PrintStream;PrintStream ps = new PrintStream("D:\\test.txt");System.setOut(ps);System.out.println("XXX");二、java.util.logging(相对简单)JDK自带的lo
2021-06-02 17:02:57
4505
1
原创 Java时区处理相关知识点
一、Java 时间和时区API1、Date类Date表示特定的瞬间,精确到毫秒。获得一个表示当前时间的Date对象有两种方式:Date date = new Date(); Date date = Calendar.getInstance().getTime(); Date对象本身所存储的毫秒数可以通过date.getTime()方法得到;函数返回自1970年1月1日 00:00:00 GMT以来的毫秒数。它与时区和地域没有关系。如:在北京时间(GMT+8)下,new Da
2020-07-11 17:27:54
388
原创 微信小程序无法访问豆瓣API, 豆瓣图书小程序示例
一、访问豆瓣API官方API地址:图书 Api V2按照API的示例,图书检索的URL为:https://api.douban.com/v2/book/search?q=检索信息&start=0 图书详细信息URL为:https://api.douban.com/v2/book/图书ID但是实际上豆瓣似乎已经封禁了微信小程序,直接请求会返回403。URL的参数需要加上apikey才可以正常访问。https://api.d...
2020-06-15 14:33:35
1453
原创 微信小程序开发随笔(持续更新)
1、小程序的wx.getSystemInfo和wx.getSystemInfoSync API可以获取系统信息。 都可以获取屏幕宽度和高度,取得结果的单位都是px。 getSystemInfo 是异步方法,getSystemInfoSync是同步方法。 二者取值方法不同: (1)getSystemInfo:需要在success方法中取值var _this = this;wx.getSystemInfo({ success:function(re...
2020-06-13 16:08:05
348
原创 解决屏幕大小不一导致页面下方出现多余空白的问题
一、问题描述:左图:iphone5的屏幕大小,页面高度正常显示右图:iphoneX的屏幕大小,由于设置了固定高度,导致在大屏幕下出现多余空白 二、解决方案:底部(按键)保持固定高度,顶部(输入结果部分)根据屏幕高度计算剩余高度Page({ data:{ ......... windowHeight: 0, screenHeight: 0, layoutBottomHeight: 0 }, onLoad:function(options){.
2020-06-13 16:05:46
1911
原创 postgresql 窗口函数
要根据每个组中行数的百分比检索行,可以使用两个窗口函数:一个用于计算行,另一个用于为它们提供唯一编号。SELECT gp, valFROM ( SELECT gp, val, COUNT(*) OVER (PARTITION BY gp) AS cnt, ROW_NUMBER() OVER (PARTITION B...
2020-04-20 13:32:23
379
原创 Visual Studio Code结合Git与GitHub的完整步骤
一、Visual Studio Code安装官网下载地址:https://code.visualstudio.com/Visual Studio Code是一个精简版的迷你Visual Studio,并且可以跨平台,Windows、Mac、Linux通用。二、Git安装官网下载地址:https://git-scm.com/downloads安装步骤请参考:Git for Win...
2020-04-10 14:05:29
19585
原创 Git本地仓库和GitHub远程库的关联步骤
二者的关联有以下2种方式:一、如果我们从零开发,推荐先在GitHub上创建远程库,然后从远程库克隆到本地,这样两个仓库就可以同步1、首先在GitHub上创建一个新仓库单击右上角“+”号,选中“New repository”在“Repository name”中输入仓库名称,可在“Description”中输入仓库的介绍内容,其余默认即可,然后单击“Create Reposi...
2020-04-10 12:59:27
4162
原创 Mysql完整下载与安装步骤
1、官网下载地址:https://dev.mysql.com/downloads/mysql/5.6.html2、安装步骤:(1)下载完解压到指定目录下(2)在指定目录下新建my.ini文件,并输入如下内容: 需要将basedir与datadir路径改成mysql的解压路径[mysql] # 设置mysql客户端默认字符集 default-...
2020-04-07 14:15:58
631
原创 GitLab CI/CD For PHP
一、将需要持续集成的项目放到GitLab上(1)先创建一个空白项目(2)项目建完后,画面会提供如下命令,在本地需要上传的文件夹内,执行完红框内的命令即可把本地文件上传到该项目二、在项目中新建.gitlab-ci.yml文件,修改模板即可三、开启共享的runner(比如公司内部提供的共享runner)四、运行pipeline五、查看执行结果...
2019-05-29 18:07:54
2184
原创 eclipse3.7安装hibernate tools 逆向生成实体类和映射文件
一、eclipse3.7 安装Hibernate Tools插件:(1) 打开eclipse,点击Help > Install New Software...>(2) 添加如下地址:http://download.jboss.org/jbosstools/updates/development/indigo/(3) 选择JBoss Tools > Hibernat...
2019-03-13 12:36:48
309
原创 PostgreSQL Kill进程
1、虽然可以使用 kill -9 来强制删除用户进程,但是不建议这么去做。 因为:对于执行update的语句来说,kill掉进程,可能会导致Postgres进入到recovery mode 而在recovery mode下,会锁表,不允许链接数据库。 2、通常情况下:使用如下语句(1)查看有哪些SQL正在执行:---》
2014-12-25 09:21:40
4045
转载 JAVA,JSP,Servlet获取当前工程路径-绝对路径
在jsp和class文件中调用的相对路径不同。 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径。另:在Jsp,Servlet,Java中详细获得路径的方法!1.jsp中取得路径:以工程名为TEST为例:(1)
2014-04-09 11:31:46
1088
原创 ZK示例
1、分页同时控制2个grid使用paginal属性 2、辅助表头使用auxhead、auxheader指定,支持colspan、rowspan属性(列表头column并不支持)。辅助表头必须和column一起使用,可以被用于grid,listbox,tree(而column/columns仅可以被grid使用)
2014-03-17 14:38:53
3066
翻译 ZK Validator
一、Input Validator 当绑定组件的属性到一个validator,在保存数据到绑定的目标之前绑定器将会自动调用它去验证属性值。如果验证失败,ViewModel(or middle object)的属性将保持不变。(1)@bind(vm.account.email)@validator(vm.emailValidator)保存时机:触发组件属性相关事件,如onCha
2014-03-17 11:25:26
1481
原创 ZUL页面注解语法与Java注解语法
一、页面注解1、viewModel="@id(name) @init(expression)" explanation:用于设置ViewModel ◆ 一个拥有apply="org.zkoss.bind.BindComposer"属性的组件可以使用这个注解,如果没有这个注解,那么这个组件将会被设置到一个composer上。 ◆ express
2014-03-14 11:47:58
4598
原创 MVVM示例
例子:在一个页面上通过字符串条件查询出item清单,选中一个item会在页面底部显示详细信息。1、按照MVVM的设计理念,我们应该抛开视觉效果,首先设计ViewModel。一个ViewModel应该不依赖View层,但是要考虑到与View层交互的数据(data)和行为方法(action)。例子中我们需要一个字符串作为检索条件,一个ListModelList来保存查询结果,一个doS
2014-03-14 11:32:31
1173
原创 验证
一、有多个栏位,第一个出错的栏位要取得焦点。栏位1:不可为空值; 栏位2:数量不可为0与负值(整数部分最多8位,小数部分四舍五入); 栏位3:必须为short类型。//驗證function validate(){ var msg="錯誤信息: "; var errorSpring=document.getElementById("errorSpring"); var flag=
2014-03-13 15:43:53
629
原创 回调
一、window.open方法 在A.jsp页面点击“输入Email”按钮,会调用js方法,开启一个子窗口B;输入完毕“确定”会将输入值回传到父窗口栏位显示。(1)A.js方法:function openEmailWin(){ var url=ctx+"/mvc/B.jsp?callBackFunction=userEmailCallBack"; width=450;
2014-03-13 14:09:35
630
原创 DialogWindow
一、Ext继承1、Ext.extend( Objectsubclass,Object superclass, [ Object overrides ]: Object )方法是用来实现类的继承。 参数一:子类; 参数二:父类; 参数三:要覆盖的属性; 子类继承下来的是父类中提供superclass.prototype方法定义的属性/方法。2、例子 f
2014-03-13 11:30:08
942
原创 DoubleSubmit
(1)问题描述 一般网页按refresh或reload更新网页时,browser会重复执行上一次get或post动作,如果没有检查这样的行为,则Double submit在重要应用会有问题(可能会下多次订单)。(2)解决方法 利用token比对方式,当正常的submit动作时,client送到controller的token与session中的token比对相同,则
2014-03-12 19:39:29
924
原创 sessionForm
一、差異:1、非sessionForm:點擊添加,發送POST請求,根據流程會調用formBackingObject(),創建一個新的表單對象(假設新建表單的列表記錄為2條),之後呼叫bindAndValidate()方法將request參數綁定到表單對象中: 第一次添加時,頁面列表中的記錄和新建的表單列表中的記錄一致,所以綁定參數時不會出錯。在後面的流程會呼叫isFo
2014-03-12 16:37:40
939
原创 Ext流程
1、页面加载ext-base、ext-all、SimpleFormBinding.js(ext的验证在这里执行) /extjs/resources/css/ext-all.css" rel="stylesheet" type="text/css" /> /extjs/adapter/ext/ext-base.js"> /extjs/ext-all.js"> /ex
2014-03-12 15:59:14
1388
原创 自定义标签库
1、自定义Tag Library类:SexIdTag(1)需要import三个类:JspException、JspWriter、TagSupport。(2)继承TagSupport,使用其提供的doStartTag、doEndTag、doAfterBody方法。(3)声明属性(即后期使用标签时要处理的数据),要利用JavaBean的getter和setter机制,需要属性的get、se
2014-03-12 15:09:43
635
原创 EL表达式
一、原理 在得到页面请求的时候,Tomcat服务器会把JSP文件转换成.java文件存放在work\Catalina目录下,然后编译成.class文件执行。当读取.jsp文件发现“${”开头的样式就表明是EL表达式,Tomcat会将其进行转换,如果没有“}”反括号,则抛出异常。二、使用范围 EL表达式只有在JSP页面才可以正确被执行。如果在JSP中引用一个
2014-03-12 14:03:27
710
原创 正则表达式
一、基本符号\b:只匹配一个位置。它的前一个字符和后一个字符不全是\w\w:匹配字母或数字或下划线或汉字等.:匹配除了换行符以外的任意字符*:代表前面的内容可以连续重复任意次。0次或多次+:匹配1个或重复多次。1次或多次?:0次或1次*?:重复任意次,但尽可能少,最简+?:重复1次或多次,尽可能少??:重复0次或1次,尽可能少{n,m}:重复n到m次,尽可能少.
2014-03-11 09:49:34
921
转载 Word打开报错"此文件无法注册,无法在其他文件建立与此文件的连结"
问题如题所述,解决方法如下: 运行services.msc命令,打开“服务”窗口,启动“DCOM Server Process Launcher 服务”,稍后再开启Word就不会出现错误窗口了。
2014-02-21 10:24:29
3485
转载 Maven多模块
原文地址:http://juvenshun.iteye.com/blog/305865为避免日后无法访问原文,转载内容如下:所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml。它们之间通过继承和聚合(也称作多模块,multi-module)相互关联。那么,为什么要这么做呢?我们明明在开发一个项目,划分模块后,导入Eclipse变成了N个项目,这会带
2014-02-20 16:55:18
1008
转载 Maven搭建多模块企业级项目
原文地址:http://www.cnblogs.com/quanyongan/archive/2013/05/28/3103243.html为避免日后无法访问原文,转载内容如下:首先新建一个maven项目,pom.xml的文件如下:搭建多模块项目,必须要有一个packaging为pom的根目录。创建好这个maven项目后,我们对着项目右键-->new输入你的项目
2014-02-20 16:51:42
1094
转载 Maven依赖
原文地址:http://juvenshun.iteye.com/blog/337405 为避免日后原文无法访问,转载内容如下: 有人认为Maven是一个依赖管理工具,当然这种想法是错误的(确切的说Maven是一个项目管理工具,贯穿了整个项目生命周期,编译,测试,打包,发布...),但Maven给人造成这种错误的印象也是有原因的,因为Maven的依赖管理十分强大,用好了Maven,
2014-02-20 16:28:53
2236
2
转载 Maven POM文件、多模块以及依赖关系
一、POM.XML1、ProjectObject Model:项目对象模型2、基本项:project:pom.xml的顶级元素。groupId:指出创建这个工程的组织或团队的唯一标识。plugins:插件。artifactId:基本名称。packaging:类型(如JAR、WAR、EAR等等),默认是JAR,所有带有子模块的项目的packaging都为pom。version
2014-02-20 15:57:59
20051
转载 Spring的BindException设置错误信息
名称 密码 errors.reject("ccc","用户名或密码错误!");errors.rejectValue("userName","nameErr",null,"用户名错误!“);errors.rejectValue("password","passErr",n
2013-12-31 14:48:02
5063
1
实用的java课件(全)
2011-04-05
实用软件工程课件(全)
2011-04-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人