2019-10-30 15:54
在网上查询 Bean 的加载顺序时,看到了大量的文章中使用@Order注解的方式来控制 bean 的加载顺序,不知道写这些的博文的同学自己有没有实际的验证过,本文希望通过指出这些错误的使用姿势,让观文的小伙伴可以知道@Order的具体的应用场景...
2019-10-30 15:25
目录
SQL注入
一些寻找SQL漏洞的方法
防御SQL注入
SQL注入相关的优秀博客
XML注入
什么是XML注入
预防XML注入
JSON注入
什么是JSON注入
JSON注入的防御
CRLF注入
CRLF介绍
CRLF漏洞检测
CRLF漏洞预防
SQL注入#
所谓SQL注入,是将恶意SQL命令通过某种方式提交到服务器后台,并欺骗服务器执行这些恶意的SQL命令的一种攻击方式。 —— [ 百度百科 ]
造成SQL注入漏洞原因有两个:一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。
...
2019-10-30 15:56
一、前言GIS 涉及测绘、几何拓扑、人文社科等多方面的科学知识。在 .Net 平台下有着许多优秀的开源产品,比如:MapWindow、SharpMap、WorldWind等。而在这其中,CoordinateSharp与NetTopologySuite是两款极其令人惊艳的中间开发组件产品。直到最近,我才遇到它们。...
2019-10-30 15:25
我的博客已经快一年没没有更新过了,因为我准备“弃码从农”了,一方面自己本身还是农业户口,算是标准意义上的农民,另一方面觉得农民跟“码农”都有一个“农”字,所以觉得这算是一个“缘分”,不写代码了回去当农民应该是个不错的主意。于是一年前就开始筹划成立一个公司做农业相关项目,最后定位做一个农产品电商平台,准备采用C2C的模式,结果踩坑了,至今没有什么进展,正在踌躇之际,昨天正巧遇到到一件事情,结合最近跑政府遇到的问题,让我感叹创业之不易,民生之多艰!
事情是这样,我正在楼上写项目有关啊的方案,突然听到楼下小餐馆一阵喧哗:"XXXXX(此处省略5字),这辈子再也不种菜了,宁愿去城里卖一个月秋二(方言,打苦工的意思),也比种一年菜强..."因为我正在做的项目就是准备解决农民卖菜难的问题,所以听到“卖菜”这两个字,立刻下意识的要去搞清楚这是怎么回事。
...
2019-10-30 12:06
我是一个不太爱折腾的人,因此在一个公司待久了,就不太会轻易跳槽。正因为如此,我在上家公司待了整整三年,在这里,认识了一群可爱的人,便更不舍得离去。...
2019-10-30 11:41
本文首发于“生信补给站”公众号,https://mp.weixin.qq.com/s/zdSit97SOEpbnR18ARzixw
更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号。
ggstatsplot是ggplot2包的扩展包,可以同时输出美观的图片和统计分析结果,对于经常做统计分析或者生信人来说非常有用。
一 准备数据
gapminder 数据集包含1952到2007年间(5年间隔)的142个国家的life expectancy, GDP per capita, 和 population信息
...
2019-10-30 11:46
首先说一下,教科书上的扫描线算法确实是用c++很好实现,而且网上有很多源码,而java实现的基本没有(可能是我没看到),所以肖先生还是打算自己码(实验作业写这个而自己又个是写java的猿0.0)。
对于扫描线的实现过程,我只在这里大概讲下书本上的内容(自己去看),主要还是讲一下自己实现时算法的改动和实现方法。
扫描线算法:顾名思义,就是从Ymin开始扫描,然后构建出NET,之后根据NET建立AET。
贴个图:
实现的时候首先是构造NET,因为对于java来说不能像c++一样直接用指针所以我用对象数组和Node类(如下代码)构造了类似数组+指针的数据结构。在实现了NET后开始通过NET实现AET,在这里我改变了一种实现方式,教科书上是一次次遍历扫描线,然后将NET插入AET后进行排序等一系列操作,而我因为是自己写的数据结构,如果说再建个表按书上的方式来最后还得自己实现链表排序等一系列操作。所以我这里直接用一个包含Arraylist的对象数组代替了。我的方法是:直接从NET开始遍历每个节点,得到节点后将它以及它自己之后会引申出的插入AET的节点(比如当前扫描线y=0 节点 X:1 dx:-1 Ymax:3 那之后会插入AET的就是 0 -1 1 和 -1 -1 2 )将这些节点不论顺序的先插入AET对应扫描线位置的对象数组的list中,将NET中节点全部遍历完之后再最后对AET中每个对象数组的list进行排序。最后得到了NET在进行打印。
...
2019-10-30 11:39
Redis 的消息交互当我们使用客户端对 Redis 进行一次操作时,如下图所示,客户端将请求传送给服务...
2019-10-30 11:53
小程序订阅消息公测已经有些日子,今天以世界上最好的语言(PHP)为例,说一下如何发送订阅消息。
1、订阅消息
其实如果用过模板消息的话,改用订阅消息挺简单的,看一下官方文档稍加摸索就能使用。
但是对于那些第一次用的萌新来说,可能会遇到各种各样的坑,所以我会具体的说一下实现的过程,有经验的可以直接翻到文章底部查看 Demo。
虽然如此,但是更详细的参数描述还是需要去看官方文档,传送门:
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html
...
2019-10-30 11:57
简介
本教程采用WHY-WHAT-HOW黄金圈思维模式编写,黄金圈法则强调的是从WHY为什么学,到WHAT学到什么,再到HOW如何学。从模糊到清晰的学习模式。大家的时间都很宝贵,我们做事前先想清楚为什么要做,学完能达到什么样的目标,然后我们再考虑要达到这个目的,通过什么样的方法来实现。
尝试一些事,遭遇失败后从中学习,比什么事都不做更好。—马克.佐克伯
为什么要学?
对于开发人员来说,调试API接口和生成API文档是一件极其头疼的事情。我们在百忙之中,还不得不为前端开发人员编写接口文档,来描述系统中N个接口的参数及返回状态,再借助PostMan等第三方工具来测试API的正确性。在Swagger诞生后,这项体力活终于得到了极大的改善,我们不但可以自动构建漂亮的交互式API说明文档,还可以直接调试API接口的正确性。最新版的Swagger已经完美支持Open Api规范及JWT Token授权访问等。
...
2019-10-30 11:02
这是简易数据分析系列的第 13 篇文章。
不知不觉,web scraper 系列教程我已经写了 10 篇了,这 10 篇内容,基本上覆盖了 Web Scraper 大部分功能。今天的内容算这个系列的最后一篇文章了,下一章节我会开一个新坑,说说如何利用 Excel 对收集到的数据做一些格式化的处理和分析。
Web Scraper 教程的全盘总结我放在下一篇文章,今天先开始我们的实战教程。
在前面的课程里,我们抓取的数据都是在同一个层级下的内容,探讨的问题主要是如何应对市面上的各种分页类型,但对于详情页内容数据如何抓取,却一直没有介绍。
...
2019-10-30 11:25
Spring5 AOP 默认使用 Cglib 了?我第一次听到这个说法是在一个微信群里:...
2019-10-30 11:28
Java8系列 (二) Stream流
目录
概述
Stream API
参考资料
概述
Stream流是Java8新引入的一个特性, 它允许你以声明性方式处理数据集合, 而不是像以前的指令式编程那样需要编写具体怎么实现。
比如炒菜, 用指令式编程需要编写具体的实现
复制代码
配菜();
热锅();
放油();
翻炒();
放调料();
出锅();
复制代码
而如果是Stream流这种声明式方式, 只需要一步操作 炒菜(); 就可以完成上面的炒菜功能。它关注的是我要做什么, 而不是我要怎么做。
...