断点

webuploader如何实现分片+断点续传

て烟熏妆下的殇ゞ 提交于 2019-12-09 13:40:52
javaweb 上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1. 通过form表单向后端发送请求 <form id= "postForm" action= "${pageContext.request.contextPath}/UploadServlet" method= "post" enctype= "multipart/form-data" > <div class= "bbxx wrap" > < input type = "text" id= "side-profile-name" name= "username" class= "form-control" > < input type = "file" id= "example-file-input" name= "avatar" > <button type = "submit" class= "btn btn-effect-ripple btn-primary" >Save</button> </div> </form> 改进后的代码不需要form标签,直接由控件来实现。开发人员只需要关注业务逻辑即可。JS中已经帮我们封闭好了 通过监控工具可以看到控件提交的数据,非常的清晰,调试也非常的简单。 2. 通过ajax向后端发送请求 1. $

Spring-AOP源码分析随手记(一)

心已入冬 提交于 2019-12-08 14:58:27
1.@EnableAspectJAutoProxy(proxyTargetClass = true) 就是弄了个"org.springframework.aop.config.internalAutoProxyCreator"::AnnotationAwareAspectJAutoProxyCreator.class的Bean到容器中 2.分析AnnotationAwareAspectJAutoProxyCreator.class类结构 得出了哪些是重要的几个。 3.查看AnnotationAwareAspectJAutoProxyCreator源码 =》查看父类AbstractAutoProxyCreator,有setBeanFactory等等各种继承来的方法 4.又是一顿整理得出了一个图(???)如下 pic1->AOP功能代码分析图 5.分析AbstractAutoProxyCreator。 setBeanFactory有个O标志被重写了,打开,有个initBeanFactory方法,打开,创建了个advisorRetrievalHelper切面工具,又是O重写 创建了aspectJAdvisorsBuilder 6.pic1图里明显看出有两个关键性方法:

PC端自适应布局

醉酒当歌 提交于 2019-12-08 02:33:42
截止目前,国内绝大多数内容为主的网站(知乎,果壳,V2EX,网易新闻等)均使用内容区定宽布局,大多数电商网站(网易考拉,京东,聚美优品)也使用了内容区定宽的布局,也有些网站使用了自适应布局: 该篇文章为转载,更多文章见我的个人博客: http://cherryblog.site/ 天猫 内容区采用媒体查询+定宽,在达到某个断点之后更改内容区的宽度,并把某个内容显示/隐藏。 注意热门市场这里,虽然每一个方块的宽度是随着断点变化的,但是左上角的标签和里面长方形的白色区域在所有的屏幕下都是定宽度的,但是也可以完美的适应不同的屏幕; 淘宝 内容区也是采用了媒体查询+定宽; 达到某个节点之后隐藏某些元素: 宽屏: 窄屏: 微博 页面主体定宽,当小于1007的时候,把侧边栏隐藏,内容区本身是定宽。 亚马逊 很多宽度和高度是js动态计算赋值。 总结(什么时候做响应式,怎么做响应式) 目前看来,内容为主的社区网站或者电商网站使用自适应布局的并不多,仅有的几个也没有做大范围的自适应布局,一般是使用媒体查询在几个断点(不超过三个,微博这样的只设置了一个断点)做响应式进行布局微调。 内容为主(大量文字,少量图片)的网站不适合做响应式布局,大量图片少量文字的网站比较适合做响应式布局(比如花瓣,airbnb)。是否做响应式和用户体验没有必然关系。 如果要做PC端自适应布局,尽量控制变化的范围

ajax成功请求到后台(进断点),但是浏览器控制台报404错误!

给你一囗甜甜゛ 提交于 2019-12-07 16:03:26
向Controller发送请求,进入断点且走到最后一步,中间也没有报错。但是,结果没有成功响应,浏览器控制台报404。 原因:忘记加@ResponseBody,spring对返回值映射时找不到对应的视图,所以返回404。 来源: https://www.cnblogs.com/yuehaikuo/p/11993486.html

解读断点续传的基本原理

雨燕双飞 提交于 2019-12-07 12:07:29
断点续传的理解可以分为两部分:一部分是断点,一部分是续传。断点的由来是在下载过程中,将一个下载文件分成了多个部分,同时进行多个部分一起 的下载,当某个时间点,任务被暂停了,此时下载暂停的位置就是断点了。续传就是当一个未完成的下载任务再次开始时,会从上次的断点继续传送。      使用多线程断点续传下载的时候,将下载或上传任务(一个文件或一个压缩包)人为的划分为几个部分,每一个部分采用一个线程进行上传或下载,多个线程并发可以占用服务器端更多资源,从而加快下载速度。   在下载(或上传)过程中,如果网络故障、电量不足等原因导致下载中断,这就需要使用到断点续传功能。下次启动时,可以从记录位置(已经下载的部分)开始,继续下载以后未下载的部分,避免重复部分的下载。断点续传实质就是能记录上一次已下载完成的位置。    断点续传的过程   ①断点续传需要在下载过程中记录每条线程的下载进度;   ②每次下载开始之前先读取数据库,查询是否有未完成的记录,有就继续下载,没有则创建新记录插入数据库;   ③在每次向文件中写入数据之后,在数据库中更新下载进度;   ④下载完成之后删除数据库中下载记录。      断点续传在HTTP请求上和一般的下载有所不同,客户端浏览器传给Web服务器的时候要多加一条信息——从哪里开始(HTTP请求变量)。要实现HTTP断点续传,Web服务器必须支持HTTP/1.1

LLDB 常用命令

女生的网名这么多〃 提交于 2019-12-07 08:32:01
LLDB 小结 简介 LLDB 是新一代高性能调试器,其是一组可重用组件的集合,这些组件大多是 LLVM 工程中的类库,如 Clang 表达式解析器或 LLVM 反汇编程序等。LLDB 是 Xcode 中默认的调试器,并且支持调试 C/C++ 程序,详情参考 官方文档 。 LLDB 命令 LLDB 的命令格式不同于 GDB 的命令格式的随意,而是统一为如下格式: <命令名称> <命令动作> [-可选项 [可选项的值]] [参数1 [参数2···]] 需要注意的是,不管是命令名称、命令动作、可选项还是参数,它们都是由空格分隔的,所以如果,参数本身包含由空格符号,那么,使用双引号来包裹参数,如果,参数中包含有反斜杠或双引号,那么使用反斜杠对它们进行转义。 多个可选项在命令行中的顺序并不是固定的,但是如果可选项后的参数是以 - 开始的,那么需要使用 -- 标记可选项的结束,如下面的命令: (lldb) process launch -- stop -at -entry -- -program_arg_1 value -program_arg_2 value //可选项顺序可以不固定 (lldb) breakpoint set -l 34 -f UIView + Theme . m (lldb) breakpoint set -f UIView + Theme . m -l 35 开启调试

Idea Intellij多线程调试

℡╲_俬逩灬. 提交于 2019-12-07 01:42:56
(适用Idea 14 & 15,其他版本未知) 几天前遇到一个问题: 在多线程调试的时候,一些断点会被跳过。 比如像下面的代码: public static void main(String[] args) throws InterruptedException { new Thread() { // 断点0 @Override public void run() { System.out.println("1"); // 断点1 try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("2"); // 断点2 } }.start(); // 外线程 System.out.println("3"); // 断点3 Thread.sleep(2000); System.out.println("4"); // 断点4 } 启动调试后,可能会命中断点1或者断点3,命中路径可以是3->2->4或者3->4甚至3->2,总之并不会命中全部断点。在单步调试的过程中,代码的执行速度事实上远比直接运行慢得多,所以我加入了一些sleep用来模拟这些延迟的过程。 这段代码一共有两个线程,在调试一个线程的过程中,很显然另一个线程是在运行的

gdb 常用命令总结(精优)

允我心安 提交于 2019-12-06 21:09:43
格式说明: [xxx] :可选参数,即可以指定可以不指定,实际输入的内容是 xxx <xxx> :占位参数,即必须指定的参数,实际输入的内容是 xxx gdb 常用命令: gdb [file] :进入 gdb 调试环境 / 进入 gdb 调试环境,并加载被调试被调试文件 file file <file> :加载被调试文件 file r [运行时参数] : r=run ,运行被调试程序。如果没有设置断点,则运行完整个程序,如果有断点,运行到第一个断点处 start :开始调试,停在第一行代码处 l [line_number] : l=list ,查看第 1 行附近的源代码 / 查看第 line_number 行附近的源代码 b <line_number> : b=breakpoint ,在第 line_number 行设置断点 b <function> :让程序在调用函数时触发断点,e.g. b fun1 。如果希望将断点设置在 C++ 类的成员函数上,可以使用 类名::函数名 的形式设置断点,e.g. b TestClass::testFunc(int) i b : i b=info break ,查看所有的断点信息 d [break_number] : d=delete ,删除所有断点 / 删除编号为 break_number 的断点 bt : bt=backtrack

手脱PESpin壳【06.exe】

江枫思渺然 提交于 2019-12-06 15:12:30
1.查壳 2.LoradPE工具检查 一方面可以用 LoradPE工具查看重定位,另一方面也可获取一些详细信息 3.查找OEP ①未发现pushad 开始未发现pushad,进行单步步入,很快就能找到pushad ②使用ESP定律 这里要注意如果是有守护进程的话,需要使用【Crtl+G】,在输入框中输入“CreateMutexA”,点击“OK”,解除双进程守护。我们在函数末尾的Retn 0xC处下断点,因为壳会判断这个函数的头部是否有断点。 发现程序运行起来了,可以确定程序有反硬件断点,而反硬件断点是在异常处理中进行,所以要查看异常处理。 ③开启异常处理 点击“选项”,选择“调试选项”,去掉框中所有勾选。 ④插件忽略异常 右键导航栏单击“StrongOD”单击“Options”,出现图中界面,取消框中勾选,单击Save。 ⑤异常断点 第一次异常 0043864A F3:AE repe scas byte ptr es:[edi]//内存访问异常, [0043864D] 第二次异常 0043884A F6F3 div bl//整数除0异常, [00438863] 第三次异常 0043AFC3 FB sti//特权指令, [0043AF42] 第四次异常是在第三次异常的位置, [0043AF77] 第五次异常 0043AF87 D7 xlat byte ptr ds:[ebx+al]/

Fiddler 安装使用

℡╲_俬逩灬. 提交于 2019-12-06 14:16:33
Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一些蛮实用隐藏的小功能用了之后就忘记了,每次去网站上找也很麻烦,所以搜集各大网络的资料,总结了一些常用的功能。 Fiddler 下载地址 : https://www.telerik.com/download/fiddler Fiddler 离线下载地址: https://pan.baidu.com/s/1bpnp3Ef 密码:5skw 下载Fiddler要翻墙,我费了好大得劲才翻出去下载到… win8之后用“Fiddler for .NET4”而win8之前用“Fiidler for .NET2”比较好 1. Fiddler 抓包简介 Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。当然Fiddler很屌,在打开它的那一瞬间,它就已经设置好了浏览器的代理了。当你关闭的时候,它又帮你把代理还原了,是不是很贴心。。。 1) 字段说明 Fiddler想要抓到数据包,要确保Capture Traffic是开启,在File –> Capture Traffic。开启后再左下角会有显示,当然也可以直接点击左下角的图标来关闭/开启抓包功能。 Fiddler开始工作了