摘要: 为什么要使用缓存 一个网站或者一个应用的标准流程是浏览器向应用服务器发出请求,应用服务器做一些计算和逻辑判断之后再请求数据库,数据库收到请求后在经过计算将数据返回给应用服务器,应用服务器再次计算后把数据返回给浏览器 那么,随着web业务的复杂度和并发量的增加,应用服务器所做的计算和逻辑处理越来越多, 阅读全文
posted @ 2019-02-20 21:53 lovollll 阅读(2120) 评论(0) 推荐(0) 编辑
摘要: 近期有一些朋友,在做上传图片这一块的时候进度卡住了。有个朋友说,我已经在这个问题上浪费了一天了。 确实,对于新手而言,上传图片成了比较复杂的的一个事,今天整理了一下常用的两种方式,让新手轻松掌握上传图片的小难题。 (一)form表单上传 这种方式简单暴力,如果没有特殊需求,数据和图片一次性处理的时候 阅读全文
posted @ 2019-02-20 21:52 lovollll 阅读(2020) 评论(0) 推荐(0) 编辑
摘要: 1. 入门abc 1.1 github账号添加 第一步依然是配置git用户名和邮箱 生成ssh key时同时指定保存的文件名 新增并配置config文件 touch ~/.ssh/config 在config文件里添加如下内容(User表示你的用户名) 上传key到github 测试ssh key是 阅读全文
posted @ 2019-02-20 21:51 lovollll 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 页面交互效果 下面是写好的示例前端交互页面,主要是列表页面,编辑页面。 主要交互有: 1 开启定时任务进程 2 关闭定时任务进程 3 新增一项定时任务 4 编辑已有的定时任务 5 删除定时任务 6 开始一项定时任务 7 停止一项定时任务 定时任务分两种: 1 执行一次 2 循环执行 定时任务执行的内 阅读全文
posted @ 2019-02-20 21:50 lovollll 阅读(480) 评论(0) 推荐(0) 编辑
摘要: PHP学习之路 算法题 1.使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组 二分查找(数组里查找某个元素) 顺序查找(数组里查找某个元素) 2.使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组 冒泡排序(数组排序) 冒泡排序 快速排序(数 阅读全文
posted @ 2019-02-20 21:49 lovollll 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 因为公司的业务是前后端分离,web前端和后端接口域名不同,所以存在跨域问题,开始使用的是jsonp解决,但是因为接口风格是rest的,还有delete、put等请求,jsonp就不够用了(涉及HTTP简单请求和复杂请求,这里有详细介绍),因此就找到了CORS跨域解决方案。原理过长,所以本篇文章只写服 阅读全文
posted @ 2019-02-20 21:48 lovollll 阅读(848) 评论(0) 推荐(0) 编辑
摘要: 年前最后一篇文章,提前祝大家春节快乐。对了,还有369就要2018年了,提前祝大家2018年春节快乐。 <p> 在面试的时候,经常会出现这样的面试题目: 初学者其实对于 this 肯定是一头雾水,甚至有一些有工作经验的伙伴,对 this 的理解也依旧很模糊。 一、理解函数的调用 函数的调 阅读全文
posted @ 2019-02-20 21:40 lovollll 阅读(244) 评论(0) 推荐(0) 编辑
摘要: Nginx的工作原理1.Nginx的模块与工作原理 Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配 阅读全文
posted @ 2019-02-20 21:39 lovollll 阅读(1362) 评论(0) 推荐(0) 编辑
摘要: 在还没有接触curl的时候,相信大家在获取网页内容的时,使用得最多的一个函数就是:file_get_contents(),但是它的可控制性不够灵活,无法处理错误情况,对于各种复杂情况的采集更是显得有点无能为力。因此,本文将为你介绍另外一种工具:cURL的使用方法,在后面也还会给出相关的几个案例,这些 阅读全文
posted @ 2019-02-20 21:38 lovollll 阅读(1162) 评论(0) 推荐(0) 编辑
摘要: 最近准备入手 PHP 爬虫,发现 PHP 的 cURL 这一知识点不可越过。本文探讨基础实战,需要提前了解命令行的使用并会进行 PHP 的环境搭建。 cURL 的概念 cURL,Client URL Library Functions,是利用 URL 语法在命令行方式下工作的开源文件传输工具,被广泛 阅读全文
posted @ 2019-02-20 21:36 lovollll 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 虚拟机并不是永远地要求对象的年龄必须达到了MaxTenuringThreshold才能晋升老年代,如果在Survivor空间中相同年龄所有对象大小的总和大于Survivor空间的一半,年龄大于或等于该年龄的对象就可以直接进入老年代,无须等到MaxTenuringThreshold中要求的年龄。 学习 阅读全文
posted @ 2019-01-09 18:13 lovollll 阅读(2336) 评论(0) 推荐(0) 编辑
摘要: 前言 在上文 设计一个百万级的消息推送系统 中提到消息流转采用的是 Kafka 作为中间件。 其中有朋友咨询在大量消息的情况下 Kakfa 是如何保证消息的高效及一致性呢? 正好以这个问题结合 Kakfa 的源码讨论下如何正确、高效的发送消息。 内容较多,对源码感兴趣的朋友请系好安全带(源码基于 v 阅读全文
posted @ 2019-01-09 18:12 lovollll 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 导读 Netty 是一个异步事件驱动的网络通信层框架,用于快速开发高可用高性能的服务端网络框架与客户端程序,它极大地简化了 TCP 和 UDP 套接字服务器等网络编程。 Netty 底层基于 JDK 的 NIO,我们为什么不直接基于 JDK 的 NIO 或者其他NIO框架: 使用 JDK 自带的 N 阅读全文
posted @ 2019-01-09 18:11 lovollll 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 现在的系统是越来越复杂了,不仅仅是功能复杂,系统结构也非常复杂,而且经常在一个系统里包含几种不同语言编写的子系统。例如用 JavaScript 做前端开发、用 Java/PHP 等等做后端,C/C++/Go 等做一些底层模块等等(我只是举个栗子,不要挑起斗争哦)。 这些不同语言编写的子系统经常需要进 阅读全文
posted @ 2019-01-09 18:10 lovollll 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 前言 最近分享的一些源码、框架设计的东西。我发现大家热情不是特别高,想想大多数应该还是正儿八经写代码的居多;这次就分享一点接地气的: SpringBoot 使用中的一些小技巧。 算不上多高大上的东西,但都还挺有用。 屏蔽外部依赖 第一个是屏蔽外部依赖,什么意思呢? 比如大家日常开发时候有没有这样的烦 阅读全文
posted @ 2019-01-09 18:09 lovollll 阅读(166) 评论(0) 推荐(0) 编辑
摘要: spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含spring mvc。spring mvc 是只是spring 处理web层请求的一个模块。因此他们的关系大概就是这样:spring mvc  < spring <sp 阅读全文
posted @ 2019-01-09 18:02 lovollll 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 有个问题一直困扰着 Scala 社区,为什么一些 Java 开发者将 Scala 捧到了天上,认为它是来自上帝之吻的完美语言;而另外一些 Java 开发者却对它望而却步,认为它过于复杂而难以理解。同样是 Java 开发者,为何会出现两种截然不同的态度,我想这其中一定有误会。Scala 是一粒金子,但 阅读全文
posted @ 2019-01-09 18:00 lovollll 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 按:系统架构经过多年演进,现在越来越多的系统采用微服务架构,而说到微服务架构必然牵涉到分布式,以前单体应用加锁是很简单的,但现在分布式系统下加锁就比较难了,我之前曾简单写过一篇文章,关于分布式锁的实现,但有一次发现实现的分布式锁是有问题的,因为出问题的概率很低,所以当时也没在意,前几天和朋友聊这个问 阅读全文
posted @ 2019-01-09 17:56 lovollll 阅读(319) 评论(0) 推荐(0) 编辑
摘要: ngrok,一个用于实现内网穿透服务,golang写的,已经很久远的一个东西了,可自己部署的版本最后一个版本是1.7.1,很久也没更新了,但他还是比较稳妥的,基于自己生成openssl证书来编译生成服务器端和客户端,还是具有一定程度的安全性。 一年前,其实已经部署起来了,还专门在码云上fork gi 阅读全文
posted @ 2019-01-09 17:52 lovollll 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 一、对象冒充 其原理如下:构造函数使用 this 关键字给所有属性和方法赋值(即采用类声明的构造函数方式)。因为构造函数只是一个函数,所以可使 Parent 构造函数 成为 Children 的方法,然后调用它。Children 就会收到 Parent 的构造函数中定义的属性和方法。例如,用下面的方 阅读全文
posted @ 2019-01-09 17:51 lovollll 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 并发队列的选择 Java的并发包提供了三个常用的并发队列实现,分别是:ArrayBlockingQueue、ConcurrentLinkedQueue 和 LinkedBlockingQueue  。 ArrayBlockingQueue是 初始容量固定 的阻塞队列,我们可以用来作为数据库 阅读全文
posted @ 2019-01-06 19:58 lovollll 阅读(442) 评论(0) 推荐(0) 编辑
摘要: WebFLux与WebMvc的差异 WebFlux读写Cookie不像WebMvc那么直接,最主要的原因是WebMvc是基于Servlet规范的,而WebFlux仅仅遵守的是HTTP协议。所以在使用的时候会发现HttpServletRequest、HttpServletResponse这些Servl 阅读全文
posted @ 2019-01-06 19:57 lovollll 阅读(401) 评论(0) 推荐(1) 编辑
摘要: vue的内容分发非常适合“固定部分+动态部分”的组件的场景,固定部分可以是结构固定,也可以是逻辑固定,比如下拉loading,下拉loading只是中间内容是动态的,而拉到底部都会触发拉取更多内容的操作,因此我们可以把下拉loading做成一个有slot的插件。 单个Slot 在children这个 阅读全文
posted @ 2019-01-06 19:54 lovollll 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 本文是小编给大家收藏的JavaScript 中频度最高的 10 种错误,我们会告诉你什么原因导致了这些错误,以及如何防止这些错误发生。写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 为了回馈我们的开发者社区,我们查看了数千个项目的数据库,发现了 阅读全文
posted @ 2019-01-06 19:54 lovollll 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 这次需要做一个监控项目,全网日志的指标计算,上线的话,计算量应该是百亿/天 单个source对应的sql如下 最原始的sql select pro,throwable,level,ip, ,id, ,firstl,lastl from ( select pro,throwable,level,ip, 阅读全文
posted @ 2019-01-06 19:41 lovollll 阅读(2077) 评论(0) 推荐(0) 编辑
摘要: 2018 12 31 更新声明:切片系列文章本是分三篇写成,现已合并成一篇。合并后,修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔接做了大量改动。原系列的单篇就不删除了,毕竟也是有单独成篇的作用。特此声明,请阅读改进版—— Python进阶:全面解读高级特性之切片!https: 阅读全文
posted @ 2019-01-06 19:35 lovollll 阅读(1375) 评论(0) 推荐(0) 编辑
摘要: 应用场景 有的时候,我们对于同一通道中的消息处理,会通过判断头信息或者消息内容来做一些差异化处理,比如:可能在消息头信息中带入消息版本号,然后通过if判断来执行不同的处理逻辑,其代码结构可能是这样的: 那么当消息处理逻辑复杂的时候,这段逻辑就会变得特别复杂。针对这个问题,在@StreamListen 阅读全文
posted @ 2019-01-06 19:34 lovollll 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 解Bug之路 记一次中间件导致的慢SQL排查过程 前言 最近发现线上出现一个奇葩的问题,这问题让笔者定位了好长时间,期间排查问题的过程还是挺有意思的,正好博客也好久不更新了,就以此为素材写出了本篇文章。 Bug现场 我们的分库分表中间件在经过一年的沉淀之后,已经到了比较稳定的阶段。而且经过线上压测的 阅读全文
posted @ 2019-01-06 19:21 lovollll 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 问题 在Django中使用mysql偶尔会出现数据库连接丢失的情况,错误通常有如下两种 1. OperationalError: (2006, 'MySQL server has gone away') 1. OperationalError: (2013, 'Lost connection to 阅读全文
posted @ 2019-01-06 19:20 lovollll 阅读(579) 评论(0) 推荐(0) 编辑
摘要: ``` const arr = [] // 1. 最简单 ES5+ Array.isArray(arr) // 2. 兼容性好的方法,也很准确 Object.prototype.toString.call(arr) === '[object Array]' // 3. 这个也不错 arr.constructor.name === 'Array' // 4. instance 不好用 ... 阅读全文
posted @ 2019-01-05 18:13 lovollll 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 问题 为了保证用户的信息安全,敏感信息需要脱敏。项目开发过程中,每次处理敏感信息的日志问题感觉很麻烦,大部分都是用工具类单独处理,不利于以后统一管理,很不优雅。于是,就写了一个基于 java 注解的日志脱敏工具。 github sensitive 项目介绍 日志脱敏是常见的安全需求。普通的基于工具类 阅读全文
posted @ 2019-01-05 18:12 lovollll 阅读(3486) 评论(0) 推荐(1) 编辑
摘要: MySQL Explain详解 简介 执行计划(query Execution plan) 语法 explain 中的列 expain出来的信息有10列,分别是id,select_type,table、type,partitions,possible_keys,key,key_len,ref,row 阅读全文
posted @ 2019-01-05 18:11 lovollll 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 在比较字符串、数值和布尔值的相等性时,问题还比较简单。但在涉及到对象的比较时,问题就变得复杂了。最早的ECMAScript中的相等和不相等操作符会在执行比较之前,先将对象转换成相似的类型。后来,有人提出了这种转换到底是否合理的质疑。最后,ECMAScript的解决方案就是提供两组操作符: 相等和不相 阅读全文
posted @ 2019-01-05 17:57 lovollll 阅读(3394) 评论(2) 推荐(0) 编辑
摘要: 内置提供了一个对象为 Object ,也被称之为是构造函数,用来创建对象用的。在 javascript 函数也是对象,是一种可被执行的对象,所以称Object为对象也是可以的。挂在函数上的方法,称之为静态方法。 Object.defineProperty() 如果对这个方法不了解,必须先看,下面的某 阅读全文
posted @ 2019-01-05 17:56 lovollll 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 什么是单向链表 链表是以链式存储数据的结构,其不需要连续的存储空间,链表中的数据以节点来表示,每个节点由元素(存储数据)和指针(指向后继节点)组成。 单向链表(也叫单链表)是链表中最简单的一种形式,每个节点只包含一个元素和一个指针。它有一个表头,并且除了最后一个节点外,所有节点都有其后继节点。它的存 阅读全文
posted @ 2019-01-05 17:55 lovollll 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 以往用到图片上传功能都是直接使用现成的插件,今天把其中用到的知识点整理一下。 知识点字典 input 标签之 file 类型 FileReader 对象:读取文件 FileReader.readAsDataURL():将读取的文件转换为 base64 编码的字符串 FormData 对象 使用 ax 阅读全文
posted @ 2019-01-05 17:54 lovollll 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 今日励志语 往日不可追,来日犹可期,祝大家2019年继往开来 迷之间隙 我们创建一个导航列表,并将其列表 item 设置为 inline block,主要代码如下: 效果图如下: 我们从效果图中可以看到列表 item 之间有一点小空隙,但是我们在代码中并没有设置 margin 水平间距。那么这个空隙 阅读全文
posted @ 2019-01-05 17:16 lovollll 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个一维数组,如[1,2,4,4,3,5],找出数组中第k大的数字出现多少次。 例如:第2大的数是4,出现2次,最后输出 4,2 来源:https://segmentfault.com/a/1190000017708381 阅读全文
posted @ 2019-01-05 17:14 lovollll 阅读(567) 评论(0) 推荐(1) 编辑
摘要: this 到底指向哪里 以下如果没提及,则为严格模式。 js中作用域有两种: 词法作用域 动态作用域 词法作用域 词法作用域指在书写代码时就被确定的作用域。看如下代码 动态作用域 动态作用域指在代码运行时才被确定的作用域。js中只有this的作用域是动态作用域 this的五种绑定 初学js时,会想当 阅读全文
posted @ 2019-01-05 17:09 lovollll 阅读(154) 评论(0) 推荐(0) 编辑
摘要: Excel.java 阅读全文
posted @ 2019-01-04 21:35 lovollll 阅读(485) 评论(0) 推荐(0) 编辑