反爬虫
爬虫多多少少会对服务器有所危害,所以反爬虫是种手段.针对一般的防反爬虫的手段,除了使访问交互更像是人在操作以外,使用代理进行爬虫也是必不可少的一种手段. 扩展阅读:关于反爬虫,看这一篇就够了.
爬虫多多少少会对服务器有所危害,所以反爬虫是种手段.针对一般的防反爬虫的手段,除了使访问交互更像是人在操作以外,使用代理进行爬虫也是必不可少的一种手段. 扩展阅读:关于反爬虫,看这一篇就够了.
<build>
<finalName>grab-${version}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${org.spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<finalName>grab-${version}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
自己写的后台管理中有双层遮罩的功能,在最外层的遮罩关闭后,因为最底层的超过页面高度,所以需要滚轴控制.但是外层关闭后滚轴直接滚动的是页面而不是遮罩层.
网上查资料看到蓝阳这位小哥的blog,试了一下果然可以.
$('.notLastModal').on('hidden.bs.modal', function(){ $(document.body).addClass('modal-open'); });
bootstrap中如果在模态框弹出模态框,即多重模态框,那么在关闭模态框后,上一级的模态框无法滚动,而且滚动事件会穿透到body层。
原理是只要有modal被打开,body会被赋予modal-open这个类,使其overflow变为hidden,无法滚动;
而只要有modal被关闭,body的modal-open这个类就会被remove掉。
所以解决方法如上代码,非最外的一层modal监听隐藏事件,为body重新添加modal-open类
最近查看一个开源代码中发现一个定时器,采用java.util.Timer.scheduleAtFixedRate()
进行的调度.想一想自己之前都是用的quartz做的调度,这个是什么东东.遂查资料.
查资料发现了scheduleAtFixedRate方法介绍的说明.
大致又看了看其他的内容,发现这个网站上的java.util包下面的类都有讲解,很适合新手入坑啊.
最后附上地址:易百教程
本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:
Ctrl + B
Ctrl + I
Ctrl + Q
Ctrl + L
Ctrl + K
Ctrl + G
Ctrl + H
Ctrl + O
Ctrl + U
Ctrl + R
Ctrl + Z
Ctrl + Y
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— [ 维基百科 ]
使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,创建一个链接等,详细语法参考帮助?。
本编辑器支持 Markdown Extra , 扩展了很多好用的功能。具体请参考Github.
Markdown Extra 表格语法:
项目 | 价格 |
---|---|
Computer | $1600 |
Phone | $12 |
Pipe | $1 |
可以使用冒号来定义对齐方式:
项目 | 价格 | 数量 |
---|---|---|
Computer | 1600 元 | 5 |
Phone | 12 元 | 12 |
Pipe | 1 元 | 234 |
代码块语法遵循标准markdown代码,例如:
@requires_authorization
def somefunc(param1='', param2=0):
'''A docstring'''
if param1 > param2: # interesting
print 'Greater'
return (param2 - param1 + 1) or None
class SomeClass:
pass
>>> message = '''interpreter
... prompt'''
可以渲染序列图:
张三->李四: 嘿,小四儿, 写博客了没?
Note right of 李四: 李四愣了一下,说:
李四-->张三: 忙得吐血,哪有时间写。
或者流程图:
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?
st->op->cond
cond(yes)->e
cond(no)->op
即使用户在没有网络的情况下,也可以通过本编辑器离线写博客(直接在曾经使用过的浏览器中输入write.blog.csdn.net/mdeditor即可。Markdown编辑器使用浏览器离线存储将内容保存在本地。
用户写博客的过程中,内容实时保存在浏览器缓存中,在用户关闭浏览器或者其它异常情况下,内容不会丢失。用户再次打开浏览器时,会显示上次用户正在编辑的没有发表的内容。
博客发表后,本地缓存将被删除。
用户可以选择 把正在写的博客保存到服务器草稿箱,即使换浏览器或者清除缓存,内容也不会丢失。
注意:虽然浏览器存储大部分时候都比较可靠,但为了您的数据安全,在联网后,请务必及时发表或者保存到服务器草稿箱。