spirng-boot中,基于既有的token验证方式,利用spring-security实现权限系统

2016-12-09
阅读 3 分钟
18.6k
用过spring-security的都应该能感觉到,spring-security把authentication和authorization封装的比较死。默认的authorization是基于session的。利用session验证过的信息,保存进SecurityContext,权限系统再根据SecurityContext保存的用户权限相关信息,来进行权限管理。

利用collectd, influxdb和grafana进行简单的负载预警

2016-11-18
阅读 2 分钟
6.1k
利用collectd, influxdb和grafana进行监控系统搭建可以参考这篇文章Monitoring hosts with CollectD, InfluxDB and Grafana grafana的操作比nagios和cacti真的友好很多,可定制的能力也强很多。

安利一个grafana的插件grafana-influx-dashboard

2016-11-14
阅读 1 分钟
7.4k
利用grafana+collectd+influxdb快速搭建监控系统是很多创业公司采用的一个方案,网上也有很多相关教程。但是对于管理几十台上百台机器的话,一台一台配置graph确实好麻烦。grafana提供了相应的scripted template编程方式。但是编写起来还是要花一些时间,尤其对于前端经验匮乏的运维来说还是有一定难度。这个grafana的插...

spring-boot支持websocket

2016-11-06
阅读 5 分钟
6.1k
spring-boot本身对websocket提供了很好的支持,可以直接原生支持sockjs和stomp协议。百度搜了一些中文文档,虽然也能实现websocket,但是并没有直接使用spring-boot直接支持的websocket的特性。

spring-boot单元测试

2016-11-06
阅读 1 分钟
6.3k
其中MockMvc可以模拟http对于controller的请求主要用到的函数在我的测试用例里面都列出来了。大家开发的时候直接看javadoc就好了。

angularjs利用ui-route异步加载组件

2016-11-06
阅读 6 分钟
2.6k
ui-route相比于angularjs的原生视图路由更好地支持了路由嵌套,状态转移等等。随着视图不断增加,打包的js体积也会越来越大,比如我在应用里面用到了wangeditor里面单独依赖的jquery就300多k。异步加载各个组件就很有必要。在这里我就以ui-route为框架来进行异步加载说明。

Leetcode 18. 4Sum

2016-11-03
阅读 2 分钟
2.1k
复杂度是o3 先排序,关键还是要处理连续重复数据,i和j都要取一串连续数字中最左面的那一个 {代码...}

Leetcode 17. Letter Combinations of a Phone Number

2016-11-02
阅读 4 分钟
1.6k
我的做法是利用迭代来代替递归本质这个是一个尾递归结构,跟数数是一个道理 {代码...} 看到更加优雅的一个解法 {代码...}

Leetcode 16. 3Sum Closest

2016-11-01
阅读 2 分钟
1.6k
这个题很简单,还是取一个值,然后另外两个值从两端向中间逼近 {代码...}

Leetcode 15 3 sum

2016-10-25
阅读 2 分钟
1.9k
这道题的复杂度是O(n^2)。问题是这样的,如果我取中间,然后再左右各取的话,去重虽然不会增加复杂度,但是最后leetcode结果还是会超时。

tomcat项目支持跨域访问

2016-10-18
阅读 2 分钟
13.6k
在web.xml中添加如下filter {代码...} 具体配置参考CORS Filter 在Access-Control-Allow-Origin: * in tomcat中有答案说,对于tomcat6版本中通用的方法是需要添加 {代码...} 配置如下filter {代码...}

Leetcode. 14. Longest Common Prefix

2016-10-17
阅读 1 分钟
1.4k
这个简单,注意边界条件就行 {代码...}

Leetcode 12. Integer to Roman

2016-10-17
阅读 2 分钟
1.5k
这道题就是先求出各个位上1~9的表示方法 然后进行拼接 {代码...}

Leetcode 11. Container With Most Water

2016-10-17
阅读 1 分钟
1.4k
当左端线段L小于右端线段R时,我们把L右移,这时舍弃的是L与右端其他线段(R-1, R-2, ...)组成的木桶,这些木桶是没必要判断的,因为这些木桶的容积肯定都没有L和R组成的木桶容积大。

Leetcode 10. Regular Expression Matching

2016-10-14
阅读 3 分钟
1.7k
可以想想一些问题可不可以转化为递归要看一下尾递归转迭代! {代码...} 我的java解法,注意的关键点为 注意在*的情况下字母相等和.的吞字母情况是不同的。.的情况是要迭代各种屯字母的个数,字母相同的情况是一个不吞字母,另一个是吞了一个字母。 另外一个注意的是当s长度为0的情况 {代码...}

Leetcode 9. Palindrome Number

2016-10-13
阅读 1 分钟
1.5k
这题好简单 {代码...}

Leetcode 8. String to Integer (atoi)

2016-10-13
阅读 3 分钟
1.4k
这个题目好多边界情况,需要注意的几个 以空格或非数字结尾,break 注意前面可以有+ 或者 - 但是不能多于一个 如果以不是数字开头 则返回0 还是要注意整数越界 {代码...}

Leetcode 7. Reverse Integer

2016-10-10
阅读 2 分钟
1.4k
不断的取10的余数 放在一个数组里面这里面有几个边界条件 -0的情况 在代码里,负数如果和正数统一处理的话 注意取反 因为正负最大值差了1 反转后判断是否超过取值范围,主要就是提前一位与214748364进行比较 {代码...}

Leetcode 5. Longest Palindromic Substring

2016-10-10
阅读 3 分钟
1.6k
首先初始化,i>=j时,flagi=true,这是因为si是单字符的回文,当i>j时,为true,是因为有可能出现flag2这种情况,比如bcaa,当计算s从2到3的时候,s[2]==s[3],这时就要计算s[2+1] ?= s[3-1],总的来说,当i>j时置为true,就是为了考虑j=i+1这种情况。

Leetcode 6. ZigZag Conversion

2016-10-10
阅读 2 分钟
1.5k
这道题是要找出每个字符跳转的规律,还是比较好找的 关键是找到zigGap和zagGap {代码...}

Leetcode 4. Median of Two Sorted Arrays

2016-10-08
阅读 9 分钟
1.7k
这道题本质还是利用二分法查找。例如在第一个数组假设index1为中位数,那么在第二个数组中需要有(length1+length2)/2-index1个数比这个假设数要小。一次来判断这个数是大还是小

Leetcode 3. Longest Substring Without Repeating Characters

2016-10-04
阅读 1 分钟
1.4k
这道题的关键还是掌握好循环,控制两个指针p,q。p在左,q在右。如果q字符等于p字符的话,则p可以向右挪一个。如果q字符等于p到q之间的一个字符的话则,q移动到相同字符右边一个。之前的字符串长度可以进行存档,即与最长长度记录进行比较。

Leetcode 2. Add Two Numbers

2016-10-04
阅读 2 分钟
1.4k
这个比较简单,掌握好循环条件以及进位条件。 {代码...}

Leetcode 1. Two Sum

2016-10-04
阅读 1 分钟
1.4k
这道题本身不难,我认为关键是要给出靠谱的证明。方法是先排序,然后首末各放一个指针进行移动。如果小了,左指针向右移,如果大了,右指针向左移。 证明应该就是要靠数学归纳法,证明每次正确答案应该在移动之后的两个指针之间。 {代码...}

Leetcode 166. Fraction to Recurring Decimal

2016-10-03
阅读 3 分钟
1.6k
这个是我比较原始的解法。在这里有个trick就是把int扩展为long。要考虑负数情况,以及负数最小值的情况。 {代码...}

Leetcode 46. Permutations 全排列

2016-10-03
阅读 4 分钟
4.4k
最简单的深度搜索,空间复杂度也比较高,花费在List的复制上。 {代码...} 基于交换与递归的全排列 {代码...} 基于迭代的全排列字典序法,参考字典序全排列算法研究 【例】 如何得到346987521的下一个 {代码...} {代码...}

spring-boot 和 webpack-dev-server联合开发

2016-09-28
阅读 2 分钟
6.1k
当前前后端架构分离的模式比较流行,前端用Nodejs或者ngnix等方式发布与渲染网页,后端程序只提供restful的数据接口。但对于一些小项目来说,并不想让前后端如此分离,还是希望用spring-boot的内置tomcat来serve static content。

angularjs directive和component命名规则的坑

2016-09-27
阅读 1 分钟
4.4k
Normalization Angular normalizes an element's tag and attribute nameto determine which elements match which directives. We typically referto directives by their case-sensitive camelCase normalized name (e.g.ngModel). However, since HTML is case-insensitive, we refer todirectives in the DOM by low...

spring boot直接返回静态html

2016-09-26
阅读 1 分钟
29.4k
通常spring boot的一般教程的例子都是通过模板来返回页面,比如thymeleaf或者freemarker,但是直接返回html的例子比较少。本文参考文章SpringBoot : How to display static html file in Spring boot MVC application。说明如何让spring boot直接返回html。

像@Transactional一样利用注解自定义aop切片

2016-08-02
阅读 2 分钟
5k
在spring中,利用@Transactional注解可以很轻松的利用aop技术进行事物管理。在实际项目中,直接利用自定义注解实现切片可以大大的提高我们的编码效率以及代码的简洁性。