为什么要自己实现 图片轮播,这其实已经是一个烂大街的功能,到处可见;网上也有很多现成的组件,那为什么还要自己来实现呢?主要的原因有两个 性能 定制化 一个是网上的组件良莠不齐,在pc跑跑还可以,到了移动端,各种卡。另外一个原因,是因为有诸多定制化的交互要实现,所以还是自力更生,丰衣足食! 举两个栗子 ...
分类:
其他好文 时间:
2020-01-17 00:15:56
阅读次数:
102
功能介绍 上篇文章【 "从源码角度了解SpringMVC的执行流程" 】通过接口源码向大家介绍了SpringMVC的执行流程,主要偏重于源码。这篇文件我们来自己实现那几个关键接口,来真实体验下SpringMVC关键的流程,以此来加深理解。功能很简单,通过访问一个地址 /mymvc 来自动跳转到工程首 ...
分类:
编程语言 时间:
2020-01-16 22:23:00
阅读次数:
88
redis如此之快,整体来说原因如下 绝大部分请求是纯粹的内存操作(非常快速) 采用单线程,避免了不必要的上下文切换和竞争条件 非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。epoll中的读、写、关闭、连接都转化成了事件,然后利用epoll的多路复用特性,绝不在io ...
分类:
其他好文 时间:
2020-01-16 22:05:04
阅读次数:
175
[toc] Django框架 所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。 这样我们就可以自己实现Web框架了。 自定义简易web框架 上面的代码 ,就回到了最初的面条版本,众所周知,这种代码,不易后期维护和添加新功能所以我们可以基于wsgiref模块 ...
分类:
其他好文 时间:
2020-01-15 21:29:21
阅读次数:
108
@ "TOC" 之前在项目中需要接入nessus扫描器,研究了一下nessus的api,现在将自己的成果分享出来。 Nessus提供了丰富的二次开发接口,无论是接入其他系统还是自己实现自动化扫描,都十分方便。 同时Nessus也提供了完备的API文档,可以在 Settings My Account ...
分类:
编程语言 时间:
2020-01-12 18:11:39
阅读次数:
98
一、概念 1. 布隆过滤器是一个数据结构:bit数组+随机映射函数 2. 作用:高效判断某个元素是否在给定的集合中 3. 缺点:有一定的错误识别率,随着数据量越大,错误识别率越大;并且不容易删除 二、原理 1. 加入元素: a. 使用布隆过滤器中的哈希函数,计算元素的哈希值,可能有多个哈希函数,对应 ...
分类:
其他好文 时间:
2020-01-11 13:06:02
阅读次数:
63
爬虫学习 17.基于scrapy redis两种形式的分布式爬虫 redis分布式部署 1.scrapy框架是否可以自己实现分布式? 不可以。原因有二。 其一:因为多台机器上部署的scrapy会各自拥有各自的调度器,这样就使得多台机器无法分配start_urls列表中的url。(多台机器无法共享同一 ...
分类:
其他好文 时间:
2020-01-10 22:14:46
阅读次数:
103
01、紧耦合 在我们编码的过程中,通常都需要两个或者更多的类通过彼此的合作来实现业务逻辑,也就是说,某个对象需要获取与其合作对象的引用,如果这个获取的过程需要自己实现,代码的耦合度就会高,维护起来的成本就比较高。 我们来通过实战模拟一下。假如老王是少林寺的主持,他想让小二和尚去扫达摩院的地,代码可以 ...
分类:
编程语言 时间:
2020-01-10 22:03:35
阅读次数:
72
一、项目简介 实现迷你博客,用户可以进行注册和登录账号,拥有自己的个人主页,可以编辑文章,查看文章,并可以按照自己的需求进行搜索相应的文章。 二、项目git链接 https://gitee.com/fengqiyunyan/Mini Blog 三、项目git提交截图 ...
分类:
编程语言 时间:
2020-01-10 12:53:59
阅读次数:
61
一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。HTTP协议本身不支持断点上传,需要自己实现。 二、Range 用于请求头中,指定 ...
分类:
编程语言 时间:
2020-01-10 10:25:42
阅读次数:
290