原文地址:手把手教你如何玩转Solr(包含项目实战) 参考原文…
一:Solr简介       Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果. Solr是一个高性能,采用Java5开发, Solr 基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理…
手把手教你如何玩转Activiti工作流 置顶 2018年01月30日 19:51:36 Cs_hnu_scw 阅读数:24023   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Cs_hnu_scw/article/details/79059965 一:Activiti的介绍 场景:学校 主角:阿毛  ,   班主任   ,教务处处长 问题:有一天,阿毛到学校,感觉到身体不舒服,然后想跟班主任请假,然后班主任告诉阿毛说,你想请假,那么就必须…
手把手教你如何玩转消息中间件(ActiveMQ) 2018年07月15日 18:07:39 Cs_hnu_scw 阅读数 12270 标签: 中间件消息中间件ActiveMQ分布式集群 更多 个人分类: 企业级web框架    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Cs_hnu_scw/article/details/81040834 #情景引入小白:起床起床起床起床....快起床~我:怎么了又,大惊小怪,吓到我了.小白:我有事有事想找…
手把手教你使用 Clion 开发 Linux C++ 项目 关于CLion CLion是一款专为开发C及C++所设计的跨平台IDE.它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力,提高开发人员的工作效率.这种强大的IDE帮助开发人员在Linux.OS X和Windows上来开发C/C++,同时它还使用智能编辑器来提高代码质量.自动代码重构并且深度整合CMake编译系统,从而提高开发人员的工作效率.重要功能有:提供C及C++支持(包含C++11, libc++ 和Bo…
一个能为DaoAuthenticationProvider提供存取认证库的的类,它必须要实现UserDetailsService接口: public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException; public UserDetails loadUserByUsername(String username) throws UsernameNo…
前面已经讲过关于保护Web资源的方式,其中包括直接在XML文件中配置和自定义实现FilterInvocationDefinitionSource接口两种方式.在实际企业应用中,保护Web资源显得非常重要,它是保障Web应用安全性的关键部分.有了它,我们的Web应用就显得更加安全了.的确,部分Web应用有了它已经足够了.但许多时候却有这样的场景,某企业的系统允许用户A查看数据,但不允许他修改或删除数据:而用户B不但可以查看数据,而且可以修改和删除数据.此时,前面所说的保护Web资源的方式就无法满足…
#情景引入小白:起床起床起床起床....快起床~我:怎么了又,大惊小怪,吓到我了.小白:我有事有事想找你,十万火急呢~~我:你能有什么事?反正我不信..那你说说看~~小白:就是我有两个小表弟,叫大白和二白,他们现在每天睡觉之前都要分别和我聊天,让我给他们讲故事,如果不讲他们就不睡觉.但是,如果一个个的跟他们轮流来说的话,我就需要每天说两遍,而且我还要找准他们的时间点,这个有时候我有事情都无法实现这个问题,他们就会很生气...我:这不是挺好的嘛,小孩子就是爱听故事的呀...小白:我也愿意讲,但是时…
目录 1,前言 2,创建项目 2,安装vue全家桶 3,配置prettier 4,配置eslint 5,配置husky + git钩子 6,配置commitlint 6.1,配置commitlint格式检查 6.2,安装自定义的辅助提交依赖 1,前言 本文主要分享一个项目的规范约束从0到1的流程,从通过vue-cli创建项目,到团队协作插件安装(husky.eslint.commitlint.prettier等). 本文vue-cli脚手架为5.x 本文webpack版本为5.x 本文vue版本…
声明:配置是基于CLion的2019.1版本 〇.CLion简介 一.安装 \(JetBrains\)官方下载地址:CLion2019.3 百度网盘:CLion2019.1 个人觉得还是2019.1版本好用 二.激活方式 CLion是\(JetBrains\)公司的一个盈利性的IDE,未激活可以试用30天,然后要用就得花钱了. 官方购买 $199/年 各种奇怪的\(IDEA\)服务器授权激活(目前尚未找到合适的服务器) 激活码激活 获取激活码后在帮助->Register激活. 三.汉化 Clio…
首先讲讲EhCache.在默认情况下,即在用户未提供自身配置文件ehcache.xml或ehcache-failsafe.xml时,EhCache会依据其自身Jar存档包含的ehcache-failsafe.xml文件所定制的策略来管理缓存.如果用户在classpath下提供了ehcache.xml或ehcache-failsafe.xml文件,那么EhCache将会应用这个文件.如果两个文件同时提供,那么EhCache会使用ehcache.xml文件的配置.EhCache内容如下: <ehca…
7) daoAuthenticationProvider 进行简单的基于数据库的身份验证.DaoAuthenticationProvider获取数据库中的账号密码并进行匹配,若成功则在通过用户身份的同时返回一个包含授权信息的Authentication对象,否则身份验证失败,抛出一个AuthenticatiionException. <bean id="daoAuthenticationProvider" class="org.acegisecurity.provide…
这一节我们将要了解的是AnonymousProcessingFilter.RememberMeProcessingFilter和LogoutFilter三个过滤器. 1.AnonymousProcessingFilter 在大部分企业应用中,存在许多不需要用户登录就可以访问的资源,比如登录页面.退出页面.主页等.鉴于此,Acegi提供了匿名认证服务.这样能够使所有的Web资源得到保护,而不是某些资源不设权限控制,让任何人都可以访问,这样整个Acegi使能应用的Web安全策略模型将非常完美.与此同…
相信不少朋友们对于学习Acegi的过程是比较痛苦的,而且可能最初一个例子都没能真正运行起来.即使能运行起来,对于里面那么多的配置,更搞不清楚为什么要那么配,多配一个和少配一个究竟有什么区别? 最终头都大了^_^ 基于各方面的原因,本人决定写一系列关于Acegi从简单到复杂应用的文章,一方面是对自己学习Acegi的总结,而另一方面又对想学习研究Acegi的朋友们有所帮助. 关于Acegi的介绍,网上有很多相关资料,在此我就省略不写了,但我建议朋友们最好先对Acegi有所了解再来看我的文章. 在此,…
前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段.用户们都是很挑剔的.如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一批的用户在使用中纷纷出现闪退bug,轻则,很可能前期推广砸的钱都白费了,重则,口碑不好,未来也提升不起用户量来了.静下心来分析一下问题的原因,无外乎就是质量没有过关就上线了.除去主观的一些因素,很大部分的客观因素我觉得可以被我们防范的.根据大神们提出的一套开发规范建议,CI + FDD,就可以帮助我…
在很多app中都有这样通用的页面,一直没有机会使用UICollectionView,只是简单的看过他的使用方法.今天公司美工出图,使用了他,并且遇到了好多的坑.记录一下过程,不确定使用的方法是不是最优的,如果有更好的方案,一起讨论,一起进步 理论篇 一.UICollectionViewLayout是做什么的? 1.1 在创建UITableView的时候,使用的是- (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)…
前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段.用户们都是很挑剔的.如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一批的用户在使用中纷纷出现闪退bug,轻则,很可能前期推广砸的钱都白费了,重则,口碑不好,未来也提升不起用户量来了.静下心来分析一下问题的原因,无外乎就是质量没有过关就上线了.除去主观的一些因素,很大部分的客观因素我觉得可以被我们防范的.根据大神们提出的一套开发规范建议,CI + FDD,就可以帮助我…
在某些应用场合中,我们可能需要用到切换用户的功能,从而以另一用户的身份进行相关操作.这一点类似于在Linux系统中,用su命令切换到另一用户进行相关操作.      既然实际应用中有这种场合,那么我们就有必要对其进行研究,以求在需要时把它加入到应用中.那么,接下来我们就来研究下如何在Acegi中实现切换用户的功能. 一般来说,切换用户功能是从高级用户切换到普通用户,从而以普通用户的身份来进行一些操作.相反,普通用户通常是不能切换为高级用户的,如果可以的话那就是越权了. 实现步骤:1. 添加Swi…
有这样一些场合,系统用户必须以其他角色身份去操作某些资源.例如,用户A要访问资源B,而用户A拥有的角色为AUTH_USER,资源B访问的角色必须为AUTH_RUN_AS_DATE,那么此时就必须使用户A拥有角色AUTH_RUN_AS_DATE才能访问资源B.尽管这种场合相对较少,但存在即合理,总会有需要的时候,要学会未雨绸缪.      为了实现这一需求,Acegi为我们提供了Run-As认证服务.下面我们举例说明如何应用Run-As认证服务. 1.用于配置Run-As认证服务的接口与实现类 p…
在实际企业应用中,用户密码一般都会进行加密处理,这样才能使企业应用更加安全.既然密码的加密如此之重要,那么Acegi(Spring Security)作为成熟的安全框架,当然也我们提供了相应的处理方式. 针对用户密码的加密工作,DaoAuthenticationProvider同时暴露了passwordEncoder和saltSource属性.PasswordEncoder和SaltSource是可选的属性,PasswordEncoder负责对认证库中的密码进行加解密.而SaltSource则是…
今天就讲个ConcurrentSessionFilter. 在Acegi 1.x版本中,控制并发HttpSession和Remember-Me认证服务不能够同时启用,它们之间存在冲突问题,这是该版本的一个Bug,希望他们尽快改进!!关于这方面的资料,网上很多有说,不明白的朋友可以去了解了解. 在一些应用场合,企业可能需要限制同一帐号在同一时间登录到同一Web应用的次数,即控制并发HttpSession的数量.比如,在同一时间,只允许javaee/password用户在服务器存在一个或若干个活动H…
在企业应用中,用户的用户名.密码和角色等信息一般存放在RDBMS(关系数据库)中.前面几节我们采用的是InMemoryDaoImpl,即基于内存的存放方式.这节我们将采用RDBMS存储用户信息. UserDetailsService的接口实现有JdbcDaoImpl和InMemoryDaoImpl.JdbcDaoImpl通过数据库获取用户名.密码和角色信息,它将是接下来的重点内容. 1.简单JdbcDaoImpl配置 默认时, JdbcDaoImpl会采用如下SQL获得用户名.密码.启用状态:…
上一篇是基于BasicProcessingFilter的基本认证,这篇我们改用AuthenticationProcessingFilter基于表单的认证方式. 1.authenticationProcessingFilter 处理认证请求(通常是一个登录页面的表单请求).当身份验证成功时,AuthenticationProcessingFilter会在会话中放置一个Authentication对象,并且重定向到登录成功页面 l         authenticationFailureUrl定义…
大多时候,我们要学习一个新东西,不是不肯去学,而是不知道该如何开始.比如学angular,我要怎么开始学?怎么应用到自己项目中?这篇文章就是我根据自己边学习边应用,构建一个项目的切身体会,来讲下怎么开始一个angular项目,希望能帮到大家. 首先,作为一个程序员,我们需要git,Github上那么多资源,有了git,我们可以更方便地下载各位大神的开源代码. 其次,作为一个前端程序员,node这么火,我们难道不应该跟紧脚本,马上下载一个nodejs吗? 既然前提软件已备好,gulp及angula…
小编GitHub:https://github.com/ds1889 首先你得注册一个自己的GitHub账号,注册网址:https://github.com/join 有了自己的账号以后,就可以进行登录,开始创建一个新的项目 创建一个新的项目,填写项目名称,描述 创建完成之后,跳转到下面的页面,下面红框中的网址要记住,在后面上传代码的时候需要使用 接下来,我们需要先下载Git,这里最好下载最新版本的Git,这里附上我下载的Git2.6.2的网址:https://git-scm.com/downl…
前言 网上教程大多介绍的是Linux系统下SonarQube+Jenkins如何使用,这是因为这两款软件一般都是部署在服务器上,而大多数服务器,采用的都是Linux系统.大多数服务器用Linux的原因是: Linux服务器上的许多软件都是免费的,Window服务器的软件大多是付费的 基于Linux服务器的解决方案多,Linux是开源白盒的,容易做优化和自定义,开源的解决方案几乎都是最先基于Unix族系统开发,Windows要么是二等公民延迟支持,要么是优化不够,性能和Unix族有差距. 庞大的生…
版权声明:本文为博主原创文章,未经博主允许不得转载. 系列教程: 手把手教你写电商爬虫-第一课 找个软柿子捏捏 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫 看完两篇,相信大家已经从开始的小菜鸟晋升为中级菜鸟了,好了,那我们就继续我们的爬虫课程. 上一课呢一定是因为对手太强,导致我们并没有完整的完成尚妆网的爬虫. 吭吭~,我们这一课继续,争取彻底搞定尚妆网,不留任何遗憾. 我们先回顾一下,上一课主要遗留了两个问题,两个问题都和ajax有关. 1.由于是ajax加载下一页,导致下一页u…
版权声明:本文为博主原创文章,未经博主允许不得转载. 系列教程: 手把手教你写电商爬虫-第一课 找个软柿子捏捏 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫 手把手教你写电商爬虫-第三课 实战尚妆网AJAX请求处理和内容提取 老规矩,爬之前首先感谢淘宝公布出这么多有价值的数据,才让我们这些爬虫们有东西可以搜集啊,不过淘宝就不用我来安利了 广大剁手党相信睡觉的时候都能把网址打出来吧. 工欲善其事,必先利其器,先上工具: 1.神箭手云爬虫, 2.Chrome浏览器 3.Chrome的插件…
本篇博客是承接上一篇<手把手教你用IDEA搭建SpringCloud入门项目(二)>,不清楚的请到我的博客空间查看后再看本篇博客,上面两篇博客成功创建了一个简单的SpringCloud项目,本篇博客主要是贴出项目的代码部分,方便读者更好的实战操作搭建一个属于自己的SpringCloud项目 1)项目框架大体如下 ​ 2)编写eureka-server模块的启动类 package com.xu.eurekaserver; import org.springframework.boot.Sprin…
本篇博客是承接上一篇<手把手教你用IDEA搭建SpringCloud入门项目(一)>,不清楚的请到我的博客空间查看后再看本篇博客 1)先创建一个Eureka服务注册中心模块,用来作为服务的注册中心,点击项目右键,创建一个新的module ​ 2)SpringCloud是基于SpringBoot的,所以这里选择Spring Initializer创建一个新的SpringBoot模块,选择默认的Initializer Service URL即可,点击Next下一步 ​ 3)填写正确的Group和给…