自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

全菜工程师小辉的博客

计算机视觉菜鸟去做服务器开发咯~

  • 博客(136)
  • 资源 (17)
  • 收藏
  • 关注

原创 一文了解如何发现并解决Redis热key与大key问题

业务场景中经常会有各种热key或大key的问题,如果未能及时处理,可能会导致服务性能下降、用户体验变差,甚至引发大面积故障。所以本文针对这两个问题进行讲解,提供发现/监控的方法以及处理的解...

2022-03-21 07:30:00 3086

原创 通用能力抽象选择SDK组件还是API服务?

大型的后端服务,当需要把一部分通用能力抽象出来,通常有两种方式:SDK组件或者API服务。对于有Java分库分表经验的同学来说,这两种形式的选择类似于Sharding-JDBC和MyCat...

2022-03-10 07:30:00 848

原创 痔疮肛瘘康复指南

这一篇是《记小辉人生中的第一刀》的续篇,上一篇博客是小辉在术后两周写的,在这之后到目前(术后两个月),过程中又收集了一些康复的tips,给正在经历恢复痛苦的病友们一些帮助。康复tips1....

2021-11-08 07:30:00 1249

原创 记小辉人生中的第一刀

本篇是小辉趴在床上写完的博客,讲的是半个月前“肛裂+肛瘘+混合痔”手术到术后两周的康复过程以及一些注意事项和提示,给读者们的健康提个醒,欢迎转发给身边正在经历痛苦或者犹豫的朋友。希望大家都...

2021-09-18 07:30:00 590

原创 一个后端朋友面试一个月的经验总结

关于面经,小辉之前的文章可以查看《建议找工作的你看一下,无论是校招还是社招》本次分享一个后端朋友最近面试的经验总结,希望能对你有启发。面试概况朋友坐标北京,裸辞在家找工作。线上面试一共58...

2021-08-17 07:30:00 3529 1

原创 一文理解Kafka如何做到高吞吐

如果对Kafka不了解的话,可以先看这篇博客《一文快速了解Kafka》。其余有关Kakfa的文章如下:《一文理解Kafka的选举机制与Rebalance机制》《一文理解Kafka重复消费的...

2021-07-01 07:30:00 545

原创 一文理解Maven如何解决依赖冲突与循环依赖

Maven中依赖冲突与循环依赖是开发过程中比较令人头疼的问题。依赖冲突首先介绍下Maven中依赖管理的策略。依赖传递:如果A依赖B,B依赖C,那么引入A,意味着B和C都会被引入。最近依赖策...

2021-06-30 07:30:00 2905 1

原创 一文了解数据拆分与分库分表

数据库在业务体系不大的情况,一般都是单库出现,通过增加主从复制提高SLA。但当业务体量不断扩大,就需要考虑进行数据拆分来解决性能瓶颈问题。下面讨论的技术方案主要是从MySQL角度考虑的,其...

2021-06-29 07:30:00 703

原创 一文理解分布式事务的解决方案

单体数据库不涉及网络交互,所以在多表之间实现事务是比较简单的,这种事务称之为本地事务。但是单体数据库的性能达到瓶颈的时候,就需要分库,就会出现跨库(数据库实例)的事务需求;随着企业应用的规...

2021-06-28 07:30:00 625

原创 一文理解ThreadLocal

本文讲解ThreadLocal、InheritableThreadLocal与TransmittableThreadLocal。有关本文的实验代码,可以查看文末补充:“比较一下Thread...

2021-06-25 07:30:00 500 4

原创 一文理解Kafka的选举机制与Rebalance机制

Kafka是一个高性能,高容错,多副本,可复制的分布式消息系统。在整个系统中,涉及到多处选举机制,被不少人搞混,这里总结一下,本篇文章大概会从三个方面来讲解。控制器(Broker)选举机制...

2021-06-24 07:30:00 748 2

原创 一文理解Kafka重复消费的原因和解决方案

如果对Kafka不了解的话,可以先看这篇博客《一文快速了解Kafka》。在解释Kafka重复消费出现原因之前,列举一下Kafka中与消费者有关的几个重要配置参数。enable.auto.c...

2021-06-23 07:30:00 6565 1

原创 一文理解MySQL的事务原则与事务隔离

事务是一组不可分组的操作集合,这些操作要么都成功执行,要么都取消执行。最典型的需要事务的场景是银行账户间的转账:假如 A 账户要给 B 账户转账 100 元,那么 A 账户要扣减 100 ...

2021-06-22 07:30:00 357 3

原创 一文理解MySQL的锁机制与死锁排查

MySQL的并发控制是在数据安全性和并发处理能力之间的权衡,通过不同的锁策略来决定对系统开销和性能的影响。基础知识为了后续的解释更加容易理解,这里列举一些基本概念的解释。悲观锁悲观锁指的是...

2021-06-21 07:30:00 464

原创 一文了解分布式系统ID生成策略

在分布式系统中,经常需要对大量的数据、消息、http请求等进行唯一标识,例如链路追踪traceId、身份标识号、订单流水号、操作记录流水号、优惠券id等等。这个时候数据库自增主键已经不能满...

2021-06-18 07:30:00 325

原创 一文快速了解进程、线程与协程

进程与线程进程是操作系统进行资源分配的基本单位,每个进程都有自己的独立内存空间。由于进程比较重量,占据独立的内存,所以上下文进程间的切换开销(栈、寄存器、虚拟内存、文件句柄等)比较大,但相...

2021-06-17 07:30:00 324

原创 一文理解Kafka如何消息不丢失

本文只聚焦于Kafka系统的消息丢失,如果是生产环境出现数据丢失,排查时要先从链路上分段定位,缩小问题范围。如果对Kafka不了解的话,可以先看这篇博客《一文快速了解Kafka》。数据丢失...

2021-06-16 07:30:00 331

原创 一文理解如何实现接口的幂等性

幂等,这个词来源自数学领域。幂等性衍生到软件工程中,它的语义是指:函数/接口可以使用相同的参数重复执行, 不应该影响系统状态,也不会对系统造成改变。举一个简单的例子:正常设计的查询接口,不...

2021-06-15 08:20:00 662

原创 一文理解如何解决Kafka消息积压问题

通常情况下,企业中会采取轮询或者随机的方式,通过Kafka的producer向Kafka集群生产数据,来尽可能保证Kafk分区之间的数据是均匀分布的。如果对Kafka不了解的话,可以先看这...

2021-06-11 07:30:00 5710

原创 一文理解分布式锁的实现方式

分布式锁的应用场景分布式锁的应用场景主要包括两类:处理效率提升:减少重复任务的执行,避免资源处理效率的浪费(例如幂等场景)。数据准确性保障:在数据资源的并发访问时,避免数据不一致情况,甚至...

2021-06-10 08:00:00 472

原创 一文理解消息队列如何保证高可用

之前博客《一文理解为什么需要使用消息队列》提到过,系统引入消息队列后,需要考虑如何保证消息队列的高可用。本篇文章将围绕几个常见的消息队列中间件(RabbitMQ,RocketMQ,Kafk...

2021-06-09 07:30:00 525

原创 一文理解Kafka如何保证消息顺序性

要想实现消息有序,需要从Producer和Consumer两方面来考虑。如果对Kafka不了解的话,可以先看这篇博客《一文快速了解Kafka》。针对消息有序的业务需求,还分为全局有序和局部...

2021-06-08 07:30:00 1840 1

原创 一文理解Redis底层数据结构

Redis的5种常见数据结构:字符串(String)、列表(List)、散列(Hash)、集合(Set)、有序集合(Sorted Set)。这些都是Redis对外暴露的数据结构,本文将介绍...

2021-06-07 08:00:00 324

原创 一文理解Java中的SPI机制

SPI机制简介服务提供者接口(Service Provider Interface,简写为SPI)是JDK内置的一种服务提供发现机制。可以用来加载框架扩展和替换组件,主要是被框架的开发人员...

2021-06-03 08:00:00 991 2

原创 一文理解JVM线程属于用户态还是内核态

Linux操作系统的体系架构分为用户态和内核态(或者用户空间和内核)。用户态与内核态内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境。用户态即上层应用程序的活...

2021-06-02 08:00:00 2041 2

原创 网络连接存在大量time_wait和close_wait的原因以及解决方法

如果对tcp中的握手挥手不了解的同学,请先看这篇博客:《关于三次握手与四次挥手你要知道这些》。四次挥手过程:第一次挥手:主机A(可以是客户端,也可以是服务器端),设置Sequence Nu...

2021-06-01 08:00:00 1125

原创 一文快速了解Kafka

初学Kafka,肯定会被各种概念搞得很头疼,所以整理下Kafka进阶学习必须要了解的概念。这篇博客也作为后续Kafka深入理解的前置信息。什么是KafkaKafka基于Scala和Java...

2021-04-27 00:00:00 399 1

原创 一文理解JWT鉴权登录的安全加固

有关JWT的基础知识,可以查看之前的博客:快速了解会话管理三剑客cookie、session和JWT在之前的博客《一文理解JWT在鉴权登录的应用》介绍了JWT在鉴权登录中的使用。但是不恰...

2021-04-26 08:00:00 976

原创 一文理解JWT鉴权登录的应用

如果对cookie/token有疑问的,可以查看之前的博客快速了解会话管理三剑客cookie、session和JWTJson Web Token (JWT)是为在网络应用环境间传递声明而执...

2021-04-25 08:00:00 502

原创 一文理解为什么需要使用消息队列

消息队列(Message Queue),简称为MQ,是一种跨进程的通信机制,用于上下游传递消息。常见消息队列中间件如:Kafka、ActiveMQ、RabbitMQ、RocketMQ等。消...

2021-04-15 08:00:00 514

原创 海外产品快速集成三方登录

笔者过去两年参加了两个海外项目的开发,期间接入过多种授权登录,也踩过一些坑,所以总结出本文,方便做海外产品的开发者可以减少集成授权登录的时间成本。本文讲解的登录方式包括:Google,Fa...

2021-03-31 08:00:00 2069

原创 一文搞懂单例模式

单例模式(Singleton Pattern)是Java中最简单的设计模式之一,属于创建型模式。它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确...

2020-12-18 08:00:00 282 1

原创 从“人工桌面”到“原神”,窥探国产游戏的崛起

作为老游戏人,是该聊点儿游戏圈的事情了。这次我们聊下最近米哈游旗下的动态桌面壁纸软件“人工桌面”。12月1日,“人工桌面”在安卓、PC双平台正式上线,首日即登TapTap热门榜、新品榜榜...

2020-12-08 08:00:00 1328

原创 Java对象属性复制组件-Mapstruct的项目改造指南

本文介绍下Java对象属性复制组件(MapStruct),以及项目中引入遇到的坑。1. 问题背景日常编程中,经常会碰到对象属性复制的场景,就比如下面这样一个常见的三层MVC架构。前端请求...

2020-12-07 08:00:00 998 5

原创 结合IDEA与命令行,解决常用git操作与特殊情况的最佳实践

本文适合总觉得git操作不够顺滑,被各种分支问题搞得焦头烂额的Java业务开发同学。如果是git的初学者,建议搜索下git其他入门教程,这方面资料很多,非常推荐git init一个新项目...

2020-11-30 08:00:00 517

原创 建议找工作的你看一下,无论是校招还是社招

最近一些同学会微信联系笔者,内容都是有关校招或者社招找工作的一些问题。恰逢互联网公司的提前批招聘已经开始了,所以想想莫不如写一篇博客记录下大部分的回答,就像语音客服一样,以后有人提出类似...

2020-07-13 08:00:00 931

原创 快速搞定docker部署Filebeat、Elasticsearch、Logstash与Kibana

本文介绍使用docker安装部署Filebeat与Elasticsearch、Logstash、Kibana(简称ELK)全家桶7.5.1。如果熟悉框架的话,直接copy配置文件与docker命令,简单删减和修改路径,即可快速启动整个链路。安装docker环境以及常用docker命令,请点击跳转查看简单的ELK数据平台是这样的流程:由于Kafka并不是ELK中必须的组件,所以本博客跳过部署...

2020-03-21 23:40:13 5692 3

原创 轻松掌握Logstash的grok匹配

Logstash的filter插件在7.5.1版本中,有多达46种。介绍filter插件的官网地址,感兴趣的话可以自行研究,点此跳转本文主要讲解filter插件中的grok。通过在filter中使用grok,可以把日志中的关键字快速匹配出来。grok主要有两部分:自定义正则表达式和系统预定义的模式表达式。Grok Debugger在线匹配正则推荐一款在线匹配正则的网站——Grok Debu...

2020-03-16 13:54:55 7136 3

原创 Docker常用命令与构建中遇到的问题

最近在忙微服务和数据系统的容器化,所以又重温了一遍docker网络与基本操作并成功实现docker化。为了提高查找命令的效率,所以总结了dockerfile编写中常用的命令。docker安装检查系统环境检查当前设备是否具备安装docker的配置要求:$ curl https://raw.githubusercontent.com/docker/docker/master/contrib/c...

2020-03-14 15:46:38 654

原创 轻松搞定spring boot+jpa实现多数据源读取

多数据源配置使用注解和yml,只需要四步,亲测可用。环境配置不提版本简直是耍流氓。所以声明下,工程是在SpringBoot 2.1.8.RELEASE, JDK8环境下调通的。多数据源的需求:笔者这个微服务负责数据分析,所以微服务除了自己的直连数据库,还需要连接其他的数据库进行合并查询。从下图可以看到服务目前支持连接user数据库和analysis数据库。如果需求相同、版本相似,下面代码...

2020-03-03 22:19:32 1313 3

世界地理(大陆和港澳台同级关系版).sql

包含世界各国以及主要城市的信息(简体,繁体,英文名称),国内精确到区县,国外精确到市。以树形结构存储,可以获取当前国家下属城市,也可以获取当前城市所属国家或洲

2020-10-09

世界地理(大陆和港澳台层级关系版).sql

包含世界各国以及主要城市的信息(简体,繁体,英文名称),国内精确到区县,国外精确到市。以树形结构存储,可以获取当前国家下属城市,也可以获取当前城市所属国家或洲

2020-10-09

大数据技术之高频面试题.docx

大数据技术之高频面试题.docx

2020-05-19

Spring的69个问题.docx

有关spring框架的69个问答题,有详细答案,全面总结Spring常见的问题。

2019-08-21

Python for Informatics中文版

Python for Informatics中文版~~~~~~~~~~~~

2016-05-08

mit最新的人脸数据集

mit最新的人脸数据集

2016-02-10

SPAMS_matlab_v2.5

一个功能强大,为解决各种稀疏估计问题的开源优化工具箱

2016-01-22

Python.Machine.Learnin

15年新书,有关Python和机器学习的,非常好的书,英文版·

2016-01-21

Introducing.Python

英文版~学习Python的经典书

2016-01-21

Learn Python The Hard Way 第三版

学习Python的经典书籍。。。。。。。。。。。。。。。。。。

2016-01-21

Think.Python

学习Python的经典书籍。

2016-01-21

Learning.Python第五版

学习Python的权威书。

2016-01-21

structured sparsity:thesis algorithms and applications

关于结构稀疏十分适合入门的好资源,里面有很多彩图,只是简单易懂。

2015-08-27

《好学的c..》的代码和习题答案

《好学的c++》第二版的资源,刚从官网下载的

2015-08-11

《c++标准库(第2版)》的补充章节

刚入手的大厚本,在官网下载的补充章节文档,和大家分享

2015-08-09

冈萨雷斯matlab版数字图像处理的最新源文件,刚下载的

源代码是需要购买正版书,用书后的序列号发邮件,才能得到源代码,所以很难的。。。

2015-06-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除