前言 最近,开启了Form认证,发现Form账号前面加空格,或者后面加空格都可以登录站点,但是提示未共享. 解决方法 后来bing了很多帖子,发现大家都遇到过类似的问题,问题是由于SPClaimsUtility.AuthenticateFormsUser的方法有个小bug,也就是用户登录名前后有空格,这个方法里并没有trim掉空格,但是做验证的时候,却能通过,同时把用户会话给了带空格用户名的用户,所以当前登录的用户对站点并没有权限,也没有办法加权限. 后来,我们合计了一下,就在用户登录之前,把用…
这里介绍的是Win平台的安装方法,其他平台请至Github>Puppeteer. 首先要安装node.js 可以看我这篇的开头>[Angular]学习笔记-环境部署.项目建立相关 1.新建项目目录 2.打开gitbush(常用的Terminal都可以) 3.键入 npm i puppeteer 4.等......待安装 ps:安装会带一个Chromium 还是挺大的.. 到这里基本上就算安装完成了. 官方栗子: const puppeteer = require('puppeteer'); (…
今天在测试导入数据的时候,突然发现本应该是枚举内容的数据,导入了进了一个很大的不在枚举定义内的数字. 记得当时用的是 Enum.TryParse 方法对导入的文本进行校验的,于是调试了一下,发现果然是它的问题- public enum Gender { 保密 = , 男 = , 女 = , 其他 = } static void Main(string[] args) { Gender gender; // 虽然 199 不在枚举定义中,但此转换是成功的!!! ", out gender)) {…
Object是一个抽象类,他有很有方法,其中的toString方法是我们常见的一个方法,我们可以看这段代码 package com.com.day1; public class ToStringTest { static int i=1; public static void main(String args[]){ System.out.println("love "+new ToStringTest()); ToStringTest a=new ToStringTest(); a.…
public class Father { protected void server(int i){ switch (i){ case 1: methodone(); break; case 2: methodtwo(); break; case 3: methodthree(); break; default: System.out.println("error"); } } protected void methodthree() { System.out.println(&qu…
easyui toopTip,鼠标划过悬浮,显示一个小提示框的方法 /*easyui,鼠标划过悬浮,显示一个小提示框的方法*/ function toopTip(idOrClass,showText){ $(idOrClass).tooltip({ position: 'bottom', content: '<span style="color:#6A6A6A">' + showText + '</span>', onShow: function(){ $(th…
Redola.Rpc 的一个小目标 Redola.Rpc 的一个小目标:20000 tps. Concurrency level: 8 threads Complete requests: 20000 Time taken for tests: 0.886 seconds Time per request: 0.044 ms (avg) Requests per second: 22573 [#/sec] (avg) Concurrency level: 8 threads Complete r…
最近在使用UniversalImageLoader时遇到了一个小问题,多个地方同时通过ImageLoader.getInstance().loadImage(url, new ImageSize(dp72, dp72)...加载图像时,有一定机率只有部分地方能正确地加载到图片,其他地方是什么结果呢?从Log看是这个样子: 1 03-19 15:41:44.167 1500-1541/xxx D/ImageLoader﹕ Start display image task [xxxxxxx/grou…
今天和大家分享robotium一个小问题. 我们在运行自已经搭好的框架时,有可能会出现一个找不到类的错误(如上图所示). 问题是重签名工具给出的activity有误,这时我们可以用Appt命令查看重签名后的apk的activity,这个才是正确的. 1.进入到SDK安装目录下有Appt.exe程序的文件夹 2.输入命令aapt dump badging D:\qq.unar_debug.apk.(注:命令+apk的存放路径) 3.可查看包名.版本.开发用的sdk的版本 4.查看activity…
最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量.<s:iterator>标签有一个value属性,用来存放在Action类的方法中存数据的list集合,还有一个id,好像是说指定集合的索引的意思,就是给list集合遍历出来的每个对象加上一个数字标签,反正我是这么理解的,没用过.还有一个很重要,就是var变量,我在s:iterator按ctr…
昨天晚上突然接到客户的电话, 说在配置了镜像的生产环境数据库下修改 “已提交读快照” 选项的时候报错, 需要先取消镜像然后再重新搭建.悲催的是这是个近TB的数据库,问我有没有什么快速的方法.于是我就问客户为什么觉得时间长,他说重新搭建镜像的时候要先做完整备份然后再在镜像节点还原这个步骤会花费大量的时间.那么实际需要这么做吗? 在镜像数据库下修改 “已提交读快照” 选项 取消镜像后就会看到镜像节点的数据库的状态 从 “镜像,已同步/正在还原” 变成 “正在还原...”,不要删除它,它还有用. 修改…
你是否发现项目中有很多页面只用到了框架不到十分之一的内容,还引了压缩后还有70多kb的jquery库 你是否发现项目中就用了两三个underscore提供的方法,其他大部分的你方法你甚至从来没有看过 你是否发现fetch好像比ajax好用那么一点 你是否想过自己封装个ajax....   纯前端写得久了,便想折腾点事情.比如先定一个小目标,年前自己写个类jquery轻量级库....   那么就从自己封装一个ajax切入吧,首先我整理的一个流程图,一目了然 解析参数数据 通常我们的请求后面会有一些…
快速掌握iOS API的一个小技巧 周银辉 iOS SDK和Developer Library中提供了各个类以及函数的帮助文档,这很棒,但要想了解整个库的大体结构(比如UIKit下有哪些类,他们的继承关系如何)这有些让人摸不着头脑,下面有个小技巧: 打开iOS Developer Library, 点击你想要了解的Framework,以UIKit为例,好多东西都是平级地放在一起的,根本看不下去了 然后在搜索框输入: Framework Reference,绝大多数情况下都会出现一个 xxx Fr…
最近一直在做一个电话拨号的系统,系统不大,但是做的时间有点长了.其中用到了一个技术:js调用后台方法.解决这个问题花了不少时间,现如今仍然还有些不明白的地方,今天跟大家分享一下.真正明白的同学欢迎指正. 其实,在vs里面,这种前台调用后台方法还是很常见的,只不过是被vs封装了. 我们在界面拖一个button,双击后,vs会自动为在前台调用这个button的Click事件,同时在后台生成好这个button的Click方法. 或者说我们不用vs替我们办这些,我们自己来写,方法当然也很简单: 在前台在…
最近被项目里面控件的设计搞的死去活来的,大部分的设计都会需要使用进度条的功能,因为UI形状的变态,使用ProgressBar不能满足需求,没办法就自己想办法实现进度显示.折腾的多了发现一个很不错的方法来实现进度显示的问题.不需要进行复杂的计算,具体就是借用线性渐变画刷. 线性渐变画刷在使用的时候设置里面的Offset的时候,你会发现它用的是相对值,也就是0-1.换句话说,不管你的填充到底多长,反正就是通过百分比来显示你的高度,只要你将代码写成这个模样 然后你会看到效果是这个模样的: 已经成功了一…
有以下两个代码: package com.lk.A; public class Test3 { public static void main(String[] args) { try { int a = args.length; int b = 42/a; int c[] = {42}; c[42] = 42; System.out.println("b="+b); } catch (ArithmeticException e) { // TODO: handle exception…
最近两天公司事比较多,这两天自己主要跟xml打交道,今天更一下用java操作xml的一个小例子. 原来自己操作xml一直用这个包:xstream-1.4.2.jar.然后用注解的方式,很方便,自己只要定义好bean的层次结构就可以了,第三方包会自动生成和解析xml. 但是今天发现,这个包有两个问题: 一个是比较复杂(我是菜鸟,求别喷,我真的觉得他挺复杂的..).比如说你要想处理既有属性又有值的xml就比较麻烦.(@XStreamConverter注解这种方法报这个错:com.thoughtwor…
以下是一个小应用的数据库连接池配置,包括DBCP和C3P0的配制方法 因为是小应用,完全不涉及访问压力,所以配置上采取尽量节约数据库资源的方式 具体要求如下:初始化连接数为0连接不够,需要新创建时,每次创建1个尽快回收空闲连接需要开启prepareStatement缓存 具体用代码来说明 package com.yazuo.util; import com.mchange.v2.c3p0.ComboPooledDataSource; import org.apache.commons.dbcp.…
大家都知道C++虚函数的机制,对于基类定义为虚函数的地方,子类假设覆写,在基类指针或者引用来指向子类的时候会实现动态绑定. 但假设指针去调用非虚函数,这个时候会调用C++的静态绑定,去推断当前的指针是什么类型,就去运行哪个类型的函数. 非常有一种比較经典的使用方法,就是Template Method模式,基类定义一个非虚的算法框架,里面详细定义一些纯虚的函数片段,由子类来进行实现,从而实现了控制整体框架,但能够给客户自由定制的灵活性.这个使用方法事实上就是指针去调用了基类的方法,由方法的扩展之后…
大家都知道C++虚函数的机制,对于基类定义为虚函数的地方,子类如果覆写,在基类指针或者引用来指向子类的时候会实现动态绑定. 但如果指针去调用非虚函数,这个时候会调用C++的静态绑定,去判断当前的指针是什么类型,就去执行哪个类型的函数. 很有一种比较经典的用法,就是Template Method模式,基类定义一个非虚的算法框架,里面具体定义一些纯虚的函数片段,由子类来进行实现,从而实现了控制总体框架,但可以给客户自由定制的灵活性.这个用法其实就是指针去调用了基类的方法,由方法的扩展之后扩展到虚函数…
前言:在讲述这个小问题之前,我们有必要先了解一下UIViewAutoresizing的有关属性概念和使用详解. 参考:自动布局之autoresizingMask使用详解(Storyboard&Code)     现在已经不像以前那样只有一个尺寸,现在最少的iPhone开 发需要最少需要适配三个尺寸.因此以前我们可以使用硬坐标去设定各个控件的位置,但是现在的话已经不可以了,我们需要去做适配,也许你说可以使用两套UI 或两套以上的UI,但那样不高效也不符合设计.iOS有两大自动布局利器:autore…
python初学者,非常喜欢虫师的文章. 练习时发现一个小bug,http://www.cnblogs.com/fnng/p/3782515.html 验证邮箱格式一题中,第三个x不允许有数字,但是测试发现abc@de.f2g 仍显示验证邮箱地址正确 发现 re.match() 匹配的只是开头,故想到了分组的方法,代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- #Myemails.py import re def Myemails(e):…
1   背景假设 厦门央瞬公司是一家电子元器件设备供应商,其中有个ARM部门,专门负责ARM芯片的方案设计.销售,并在北京.上海各设立了一个办事处.对于工作日志,原先采用邮件方式发给经理,但是这种方式有个缺点,那就是不具备连续性,要看以前的日志必须一封一封邮件去查看,很麻烦.于是就想到利用 Subversion, 让员工在自己电脑上编辑日志,然后利用svn传送回来,既方便员工自己编写日志,又方便对日志的归档处理,而且提交日志的时候只需要执行一下 svn update 即可,比发送邮件还要简单的多…
从另一个小程序接着说 文件I/O 前边我们已经给大家简单介绍和演示过C和C++在终端I/O处理上的异同点. 现在我们接着来研究文件I/O. 编程任务:编写一个文件复制程序,功能实现将一个文件复制到另一个文件. 例如:fileCopy  sourceFile  destFile C语言版实例分析:fileCopy.c #include <stdio.h> #include <stdlib.h> int main( int argc, char* argv[] ) { FILE *in…
从一个小程序说起2 要求:编写一个程序,要求用户输入一串整数和任意数目的空格,这些整数必须位于同一行中,但允许出现在该行中的任何位置.当用户按下键盘上的"Enter"键时,数据输入结束.程序自动对所有的整数进行求和并打印出结果. C语言版本: #include <stdio.h> #include <stdlib.h> void main() { int i; ; char ch; printf("请输入一串整数和任意数目的空格: "); )…
版权声明:本文出自汪磊的博客,转载请务必注明出处. Java线程系列文章只是自己知识的总结梳理,都是最基础的玩意,已经掌握熟练的可以绕过. 一.从一个小Demo说起 上篇我们聊到了Java多线程的同步机制:Java多线程同步问题:一个小Demo完全搞懂.这篇我们聊一下java多线程之间的通信机制. 上一篇探讨java同步机制的时候我们举得例子输出log现象是:一段时间总是A线程输出而另一段时间总是B线程输出,有没有一种方式可以控制A,B线程交错输出呢?答案是当然可以了,这时候我们就要用到多线程的…
学习任何一门框架,都不可能一股脑儿的从入口代码从上到下,把代码看完, 这样其实是很枯燥的,我想也很少有人这么干,或者这么干着干着可能干不下去了. 因为肯定很无聊. 我们先从一个最最简单的小例子,来查看new Vue(options)实例,这个过程发生了什么. vm实例上的属性又如何添加上去的,又如何渲染到浏览器页面上的. 关于vue的数据依赖和虚拟dom都是重点,必然会在以后的帖子记录. 这篇帖子就根据下例子,看看实例化一个vm实例做了啥吧. 先把小例子贴出来: <div id="app&…
Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer   Advanced Installer :Free for 30 days. All features.下载地址:https://www.advancedinstaller.com/download.html30天内免费汉化版:http://www.jb51.net/softs/595612.html 选择Visual Studio应用,点击创建项目 可以输入应用名称…
Set-HashSet实现类: 遍历一个Set的方法只有一个:迭代器(interator). HashSet中元素是无序的(这个无序指的是数据的添加顺序和后来的排列顺序不同),而且元素不可重复. 在Object中除了有final(),toString(),equals(),还有hashCode(). HashSet底层用的也是数组. 当向数组中利用add(Object o)添加对象的时候,系统先找对象的hashCode: int hc=o.hashCode(); 返回的hashCode为整数值.…
页面静态化,其实就是将动态生成的php页面,变成静态的HTML页面,让用户直接访问.有一下几方面好处: 1,首先就是访问速度,不需要去访问数据库,或者缓存来获取哪些数据,浏览器直接加载渲染html页即可.所以可以大大的提高访问效率: 2,从网站优化来分析,搜索引擎更喜欢静态的网页,静态网页与动态网页相比,搜索引擎更喜欢静的,更便于抓取,搜索引擎SEO排名更容易提高. 3,从安全角度讲,静态网页不宜遭到黑客攻击,如果黑客不知道你网站的后台.网站采用程序.数据库的地址,静态网页, 更不容易受到黑客的…