在Spring security的使用中,为了对方法进行权限控制,通常采用的三个注解,就是@Secured().@PreAuthorize().@RolesAllowed(). 示例,修改用户密码必须是ADMIN权限,可以用三种方法: @Secured({"ROLE_ADMIN"}) public void changePassword(String username, String password); @RolesAllowed({"ROLE_ADMIN"})…
在Spring security的使用中,为了对方法进行权限控制,通常采用的三个注解,就是@Secured(), @PreAuthorize() 及 @RolesAllowed(). 但是着三者之间的区别,我之前也不是很清楚,现在看看,做个小小的记录,备忘吧! 现在举例,比如修改用户密码,必须是ADMIN的权限才可以.则可以用下面三种方法: @Secured({"ROLE_ADMIN"}) public void changePassword(String username, Stri…
1.前言 2017 年 12 月,微信小程序向开发者开放了实时音视频能力,给业内带来广阔的想象空间.连麦互动视频直播技术在 2016 年直播风口中成为视频直播的标配,然而只有在原生的 APP 上才能保障良好的用户体验. 那时候,在微信小程序中无法进行实时音视频互动.微信小程序在去年 12 月宣布开放实时音视频能力,再加上去年 6 月苹果宣布即将支持 WebRTC,业内一下子千树万树梨花开,前途一片光明. 连麦互动直播技术和微信小程序以及 WebRTC 能产生怎么样的化学作用?开发者在微信小程序或…
项目中准备使用ElasticSearch,之前只是对ElasticSearch有过简单的了解没有系统的学习,本系列文章将从基础的学习再到深入的使用. 咔咔之前写了一份死磕MySQL文章,如今再入一个系列玩转ElasticSearch. 本期文章会带给大家安装ElasticSearch.Kibana.Logstash.配置ElasticSearch外网可访问.配置守护进程启动Kibana.ElasticSearch.使用Logstash导入演示数据到ElasticSearch中. ElasticS…
Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换.排序.合并.迭代等等基本操作. 原文:http://www.cnblogs.com/kelsen/p/4850274.html 创建数组和数组检测 1.使用Array构造函数 创建数组. //创建一个空数组 var cars = new Array(); //创建一个指定长度的数组 var car…
vmware里面的名词 vSphere.vCenter Server.ESXI.vSphere Client vSphere.vCenter Server.ESXI.vSphere Client VSphere包含很多产品组件,是vmware虚拟化的平台ESXI实际就是一个Linux操作系统,就是一个宿主机,用户不是root,而是admin,并且需要服务器支持硬件虚拟化 多台ESXI主机组成集群,多个集群组成一个数据中心,Vcenter既可以管理集群,也可以管理数据中心 vCenter Serv…
摘要 面向对象设计(OOD)有助于我们开发出高性能.易扩展以及易复用的程序.其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC.DI以及Ioc容器等概念.通过本文我们将一起学习这些概念,并理清他们之间微妙的关系. 目录 前言 依赖倒置原则(DIP) 控制反转(IoC) 依赖注入(DI) IoC容器 总结 前言 对于大部分小菜来说,当听到大牛们高谈DIP.IoC.DI以及IoC容器等名词时,有没有瞬间石化的感觉?其实,这些“高大上”的名词,理解起来也并不是那么的难,关键在…
刚过去的周五(3-14)例行地主持了技术会议,主题正好是<UI层的设计模式——从Script.Code Behind到MVC.MVP.MVVM>,是前一天晚上才定的,中午花了半小时准备了下就开讲了. 今天看到了大家在为MVVM knockout.js友(ji)好(lie)地交流,所以就整理下然后更扩展地分享. 主要目的也不是为了争论,毕竟只是正巧主题相近,原本的打算也就是一次技术分享并且记录下来. 那么我们就按照大致的历史进程将这些概念进行划分: Script Code Blocks.Code…
本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已赋值 三种状态. 3. JS异常:介绍对JS异常的处理. 4. 命名规范:介绍Js的基本命名规范. 1. var 关键字 1.1 作用 声明作用:如声明个变量. 1.2 语法 var c = 1; 1.3 省略var 在javascript中,若省略var关键字而直接赋值,那么这个变量为全局变量,哪…
本篇主要介绍Web环境中屏幕.浏览器及页面的高度.宽度信息. 目录 1. 介绍:介绍页面的容器(屏幕.浏览器及页面).物理尺寸与分辨率.展示等内容. 2. 屏幕信息:介绍屏幕尺寸信息:如:屏幕.软件可用以及任务栏的高度和宽度. 3. 浏览器信息:介绍浏览器尺寸信息:如:浏览器.内部页面以及工具栏的高度和宽度. 4. 页面信息:介绍HTML页面尺寸信息:如:body总的.展示的高度和宽度. 一.介绍 1. 容器 一个页面的展示,从外到内的容器为:屏幕.浏览器以及页面本身. HTML元素展现在页面内…
前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6.x中不同,相同的则不再叙述. EntityFramework Core 1.1方法理论详解 当我们利用EF Core查询数据库时如果我们不显式关闭变更追踪的话,此时实体是被追踪的,关于变更追踪我们下节再叙.就像我们之前在EF 6.x中讨论的那样,不建议手动关闭变更追踪,对于有些特殊情况下,关闭变更追…
前言:用了微信sdk各种痛苦,感觉比qq sdk调用麻烦多了,回调过于麻烦,还必须要在指定包名下的actvity进行回调,所以我在这里写一篇博客,有这个需求的朋友可以借鉴一下,以后自己别的项目有用到也有个找资料的地方. 一.微信登陆分三个步骤: 1).微信授权登陆  2).根据授权登陆code 获取该用户token  3).根据token获取用户资料  4).接收微信的请求及返回值 如果你的程序需要接收微信发送的请求,或者接收发送到微信请求的响应结果,需要下面3步操作: a. 在你的包名相应目录…
大家好,今天我们要讲的是http模块的第二部分,主要学习ng2中Jsonp.URLSearchParams.observable中断选择数据流的用法. 例子…
本篇博客中的代码实现依然采用Swift3.0来实现.在前几篇博客连续的介绍了关于查找的相关内容, 大约包括线性数据结构的顺序查找.折半查找.插值查找.Fibonacci查找,还包括数结构的二叉排序树以及平衡二叉树的构建与查找,然后还聊了哈希表的构建与查找.接下来的几篇博客中我们就集中的聊一下常见的集中排序方式,并并给出相应的时间复杂度.本篇博客我们将会详细的介绍冒泡排序.插入排序.希尔排序以及选择排序,下篇博客将继续介绍堆排序.归并排序以及快速排序的相关内容.当然上述内容的代码实现我们依然采用S…
经常听到有朋友抱怨他的电脑运行软件或者游戏时提示缺少什么 d3dx9_xx.dll 或 msvcp71.dll.msvcr71.dll又或者是 .Net Framework 初始化之类的错误而无法正常使用,其实很多时候,只是因为你的电脑没有安装好这些软件所需要的运行库 (又称"运行时" / Runtime) 而已. 在 Window s环境下,很多软件特别是游戏都需要依赖一些运行库才能正常使用,而这些库并没有集成在 Windows 里的,需要我们自行下载安装 (所需的运行库一般在软件或…
目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. (原创:转载声明出处:http://www.cnblogs.com/linguanh/) 1,过程感慨(想直接看教程,请跳过此部分) 在写具体内容之前,我先说下我搞这个东西的过程,由于导师之前说过要搞个图像匹配的androi APP,具体就是匹配前后两张图片的相似度,类似 安卓5.0 引入的刷脸解锁. 当时觉得,要实现这样一个东西,肯定没现成的API 可供使用,第一时间想…
开始 关于委托,肯定是要有问题的. 第一个问题,委托用来干什么? 看.net中的表述:在.net平台下,委托类型用来定义和相应应用程序中的回调.(回调?处理内存中两个实体双向通信的一种技术.)   第二个问题,委托和C++(其实起源于C语言)函数指针? 必然要说区别,虽然委托和函数指针都是指向以后要调用的方法.但委托相比于函数指针来说,主要有两点优势:一,委托是对象(我们知道,委托和类在一个层次).二,委托是内置支持多路广播和异步方法调用的.   关于事件. 问题,事件用来干什么? 事件是为委托…
本章内容: Memcached 简介.安装.使用 Python 操作 Memcached 天生支持集群 redis 简介.安装.使用.实例 Python 操作 Redis String.Hash.List.Set.Sort Set 操作 管道 发布订阅 RabbitMQ 简介.安装.使用 使用 API 操作 RabbitMQ 消息不丢失 发布订阅 关键字发送 模糊匹配 一.Memcached 1.简介.安装.使用 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态 Web 应用以…
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数.事务.索引.语句 前天有一个五年java开发经验工程师,问我存储过程怎么写? My god, 你这个也太 low 了! 本章内容: 视图.增/删/改/查 触发器.增/删/改/查 存储过程.增/删/改/查 存储过程三种传参,pymysql 怎么用? 函数.增/删/改/查/return值 内置函数 事…
select.poll.epoll之间的区别总结 05/05. 2014 select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作.但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用户空间.关于这三种IO多路…
1.Date 类 java.util.Date是一个"万能接口",它包含日期.时间,还有毫秒数,如果你只想用java.util.Date存储日期,或者只存储时间,那么,只有你知道哪些部分的数据是有用的,哪些部分的数据是不能用的. 1.1 Date的构造方法 Date 是我们使用的最多的一个日期类,Date提供的构造方法在官方API中有一下几种: Date 类提供了多种构造方法,但是目前有很多方法都已经不建议使用 public Date() { this(System.currentTi…
"小程序"来了,微信变成名副其实的 Web OS,新一轮的Web App 与Native App争论四起.程序员对新技术永远保持灵敏的嗅觉和旺盛的好奇心,@李锦发整理了微信小程序资源汇总,涵括微信 Web 开发者工具,WeApp 教程,站点收集和代码实例,持续更新,GitHub 地址:awesome-wechat-weapp . 除了"小程序"的大热点之外,本期 fir.im Weekly 重点整理了关于 iOS10 适配.开发.推送的相关知识点和 Android…
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之权限管理系统(2) 功能及实体设计 3 Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL 4 Asp.Net Core 项目实战之权限管理系统(4) 依赖注入.仓储.服务的多项目分层实现 5 Asp.Net Core 项目实…
前言:Microsoft Windows 服务能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面.这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用.还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务.本文就向大家介绍如何运用C#来创建.安装.卸载.调试Windows Service程序. 一.创建Windows服…
C# 数组的交集.差集.并集 工作中经常会用这方面的知识来检查那些字段是必须输入的,那些是禁止输入. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Collection { class Program { static void Main(string[] args) { ,,,,}; ,,,,}; var z1 = x.Except(y); Cons…
FILE文件流用于对文件的快速操作,主要的操作函数有fopen.fseek.fread.fclose,在对文件结构比较清楚时使用这几个函数会比较快捷的得到文件中具体位置的数据,提取对我们有用的信息,满足编程中的需要.以下分别进行说明,还有他们使用时的注意事项 fopen 函数原型    FILE * fopen(const char *path,cost char *mode) 作用:打开一个文件,返回指向该文件的指针 参数说明:第一个参数为欲打开文件的文件路径及文件名,第二个参数表示对文件的打…
一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化,当然也可以使用call.apply修改this指向的对象.它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用 1.1.JavaScript中函数与方法的区分 在面向过程的语言中我们习惯把完成某个特定功能的代码块称为“函数”或“过程”,当然过程一般没有返回值.在面向对象语言中我们把对象的功能…
一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div,for循环绑定事件. 示例代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>闭包</title> <style type="…
想看前面整理的canvas常用API的同学可以点下面: canvas学习之API整理笔记(一) canvas学习之API整理笔记(二) 本系列文章涉及的所有代码都将上传至:项目代码github地址,喜欢的同学们欢迎点Star- 从本篇文章开始,我会分享给大家canvas绘制的各种基础图形和酷炫的图形,注意:是一系列!欢迎关注! 后续每篇文章我会着重分享给大家一些使用Canvas开发的实例和这些实例的实现思路. 本文看点:使用canvas来绘制常见的各种图形实例,并且会简单封装一下绘制各图形的方法…
兼容IE6+,因IE6.IE7.IE8不支持Array.prototype.indexOf()和String.prototype.trim(),分别用Polyfill实现支持. 详细: indexOf https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf trim: https://developer.mozilla.org/en-US/docs/Web/Jav…