08 2020 档案
摘要:前言 Canal是阿里巴巴开源的数据库Binlog日志解析框架,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。 在之前我写的文章阿里开源MySQL中间件Canal快速入门中,我已经介绍了Canal的基本原理和基础使用。 在部署到生产环境的过程中,自己作为一个菜鸟,又踩了一些
阅读全文
摘要:前言 “删库跑路”是程序员经常谈起的话题,今天,我就要教大家如何删!库!跑!路! 开个玩笑,今天文章的主题是如何使用Mysql内置的Binlog日志对误删的数据进行恢复,读完本文,你能够了解到: MySQL的binlog日志是什么?通常是用来干什么的? 模拟一次误删数据的操作,并且使用binlog日
阅读全文
摘要:前言 Git是一个易学难精的分布式版本控制系统,被我们码农常用于代码的管理。如果你还不了解Git,建议先通过廖雪峰的Git教程进行了解,再来看本文,因为本文以使用技巧为主,不会在基础名词上做过多解释。 廖雪峰的Git教程: https://www.liaoxuefeng.com/wiki/89604
阅读全文
摘要:记录一次线上JVM堆外内存泄漏问题的排查过程与思路,其中夹带一些JVM内存分配机制以及常用的JVM问题排查指令和工具分享,希望对大家有所帮助。
阅读全文
摘要:前言 当你兴冲冲地开始运行自己的Java项目时,你是否遇到过如下问题: 程序在稳定运行了,可是实现的功能点了没反应。 为了修复Bug而上线的新版本,上线后发现Bug依然在,却想不通哪里有问题? 想到可能出现问题的地方,却发现那里没打日志,没法在运行中看到问题,只能加了日志输出重新打包——部署——上线
阅读全文
摘要:前言 由于业务需求,需要同时在SpringBoot中配置两套数据源(连接两个数据库),要求能做到service层在调用各数据库表的mapper时能够自动切换数据源,也就是mapper自动访问正确的数据库。 本文内容: 在Springboot+Mybatis项目的基础上,学习多数据源的快速配置 避免网
阅读全文
摘要:前言 前两章教程,我们使用WebSocket的基础特性打造了一个小小聊天室,并在第二章对其进行了集群化改造。 系列教程回顾: [WebSocket]第一章:手把手搭建WebSocket多人在线聊天室(SpringBoot+WebSocket) [WebSocket]第二章:WebSocket集群分布
阅读全文
摘要:前言 书接上文,我们开始对我们的小小聊天室进行集群化改造。 上文地址: [WebSocket入门]手把手搭建WebSocket多人在线聊天室(SpringBoot+WebSocket) 本文内容摘要: 为何要改造为分布式集群 如何改造为分布式集群 用户在聊天室集群如何发消息 用户在聊天室集群如何接收
阅读全文
摘要:前言 本文中搭建了一个简易的多人聊天室,使用了WebSocket的基础特性。 源代码来自老外的一篇好文: https://www.callicoder.com/spring-boot-websocket-chat-example/ 本文内容摘要: 初步理解WebSocket的前后端交互逻辑 手把手使
阅读全文
摘要:前言 前几周做了个使用Selenium的项目,踩了好多好多好多的Selenium的坑,越来越感觉他作为一个第三方库,对于Chrome的操作实在是有局限。另外,推荐大家一个Selenium之外的操作浏览器的选择:puppeteer(https://github.com/GoogleChrome/pup
阅读全文
摘要:前言 大家在面试的时候,难免会遇到让人摸不着头脑的逻辑题,这类题目让同学们往往连答案应该回答些什么都摸不清楚,只能和面试官四目相对,非常尴尬。 其实,很多面试的考官,都是从题库随机挑选逻辑题来考验同学们,面试官有时候自己也未必完全摸透这类题目,所以面试的时候不必过于紧张,就算答不出来啊也非常正常。
阅读全文
摘要:前言 接触到CDN的起因: 我自己搭建的网站https://price.monitor4all.cn/网页打开的速度一直比较慢,经查证是我的网站有很多静态js大文件,通过浏览器读取这些js比较耗时间。 最近有了一些空余精力, 好好优化一下加载速度。 分析思路 公用CDN加速公用js库 其实首先想到的
阅读全文
摘要:前言 最近做了一个python3作业题目,涉及到: 网页爬虫 网页中文文字提取 建立文字索引 关键词搜索 涉及到的库有: 爬虫库:requests 解析库:xpath 正则:re 分词库:jieba ... 放出代码方便大家快速参考,实现一个小demo。 题目描述 搜索引擎的设计与实现 输入:腾讯体
阅读全文
摘要:前言 本专题旨在快速了解常见的数据结构和算法。 在需要使用到相应算法时,能够帮助你回忆出常用的实现方案并且知晓其优缺点和适用环境。并不涉及十分具体的实现细节描述。 图的最短路径算法 最短路径问题是图论研究中的一个经典算法问题,旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。 算法具体的形式包
阅读全文
摘要:前言 本专题旨在快速了解常见的数据结构和算法。 在需要使用到相应算法时,能够帮助你回忆出常用的实现方案并且知晓其优缺点和适用环境。并不涉及十分具体的实现细节考究。 字符串排序算法简介 对于许多排序应用,决定顺序的键都是字符串。 其主要思想是利用比较,根据字符的有限性通过计数的方式来划分字符串的排名位
阅读全文
摘要:前言 新开专栏【数据结构拾遗】 本专栏旨在快速了解常见的数据结构和算法。在需要使用到相应算法时,能够帮助你回忆出常用的实现方案并且知晓其优缺点和适用环境。 参考 算法(第四版):第五章5.3小节 http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%9
阅读全文
摘要:前言 由于项目需要涉及到zookeeper和Kafka的使用,快速做了一篇笔记,方便小伙伴们搭建环境。 zookeeper 官方定义 What is ZooKeeper? ZooKeeper is a centralized service for maintaining configuration
阅读全文
摘要:前言 本文总结了常用的查找算法,内容包括: 查找算法的定义和思路,动画演示 查找算法的代码实现:Python和Java 查找算法性能分析:时间空间复杂度分析 不同排序算法最佳使用场景 面试知识点复习手册 此文属于知识点复习手册专栏内容,你还可以通过以下两种途径查看全复习手册文章导航: 关注我的公众号
阅读全文
摘要:前言 本文总结了常用的全部排序算法,内容包括: 排序算法的定义和思路,动画演示 排序算法的代码实现:Python和Java,包括实现中需要注意的细节 排序算法性能分析:时间空间复杂度分析,稳定排序算法背诵口诀等 不同排序算法最佳使用场景 此文干货颇多,烦请收藏后慢慢研读。 面试知识点复习手册 此文属
阅读全文
摘要:前言 本文快速回顾了面试常考的算法,用作面试复习,事半功倍。 需要说明的是,由于算法的代码实现主要注重思路的清晰,下方有代码实现的文章主要以Python为主,Java为辅,对于Python薄弱的同学敬请不用担心,几乎可以看作是伪代码,可读性比较好。如实在有困难可以自行搜索Java代码 此外,关于算法
阅读全文
摘要:前言 我的京东价格监控网站需要不间断爬取京东商品页面,爬虫模块我采用了Scrapy+selenium+Headless Chrome的方式进行商品信息的采集。 由于最近爬虫用的服务器到期,需要换到新服务器重新部署,所以干脆把整个模块封装入Docker,以便后续能够方便快速的进行爬虫的部署。同时,由于
阅读全文
摘要:前言 吐槽:由于科研任务,需要在云端运行一个基于神经网络的目标识别库,需要用到GPU加速。亚马逊有很多自带GPU的机器,但是环境的配置可折腾坏了,尤其是opencv,每次总会出各种各样的问题! 无奈中,看见了Adrian Rosebrock的blog:Pre-configured Amazon AW
阅读全文
摘要:前言 看见一篇非常通俗易懂且适合新手阅读的Web应用架构文章,我将其手工翻译了出来,分享给大家。 也可以去阅读英文原文,标题为,贴出链接: https://stephenmann.io/post/whats-in-a-production-web-application 英文标题为: What's
阅读全文
摘要:前言 距离上一篇文章发布又过去了两周,这次先填掉上一篇秒杀系统文章结尾处开的坑,介绍一下数据库中间件Canal的使用。 Canal用途很广,并且上手非常简单,小伙伴们在平时完成公司的需求时,很有可能会用到。 举个例子: 公司目前有多个开发人员正在开发一套服务,为了缩短调用延时,对部分接口数据加入了缓
阅读全文
摘要:前言 微笑挖坑,努力填坑。 ———— 已经拥有黑眼圈,但还没学会小猪老师时间管理学的蛮三刀同学 本文是秒杀系统的第四篇,我们来讨论秒杀系统中缓存热点数据的问题,进一步延伸到数据库和缓存的双写一致性问题,并且给出了实现代码。 前文回顾和文章规划 零基础上手秒杀系统(一):防止超卖 零基础上手秒杀系统(
阅读全文
摘要:前言 我回来啦,前段时间忙得不可开交。这段时间终于能喘口气了,继续把之前挖的坑填起来。写完上一篇秒杀系统(四):数据库与缓存双写一致性深入分析后,感觉文章深度一下子被我抬高了一些,现在构思新文章的时候,反而畏手畏脚,不敢随便写了。对于未来文章内容的想法,我写在了本文的末尾。 本文我们来聊聊秒杀系统中
阅读全文
摘要:前言 时光飞逝,两周过去了,是时候继续填坑了,不然又要被网友喷了。 本文是秒杀系统的第三篇,通过实际代码讲解,帮助你了解秒杀系统设计的关键点,上手实际项目。 本篇主要讲解秒杀系统中,关于抢购(下单)接口相关的单用户防刷措施,主要说两块内容: 抢购接口隐藏 单用户限制频率(单位时间内限制访问次数) 当
阅读全文
摘要:前言 本文是秒杀系统的第二篇,通过实际代码讲解,帮助你快速的了解秒杀系统的关键点,上手实际项目。 本篇主要讲解接口限流措施,接口限流其实定义也非常广,接口限流本身也是系统安全防护的一种措施,暂时列举这几种容易理解的: 令牌桶限流 单用户访问频率限流 抢购接口隐藏 此外,前文发出后很多同学对于乐观锁在
阅读全文
摘要:前言 大家好,好久不发文章了。(快一个月了- -)最近有很多学习的新知识想和大家分享,但无奈最近项目蛮忙的,很多文章写了一半搁置在了笔记里,待以后慢慢补充发布。 本文主要是通过实际代码讲解,帮助你一步步搭建一个简易的秒杀系统。从而快速的了解秒杀系统的主要难点,并且迅速上手实际项目。 我对秒杀系统文章
阅读全文