排序
使用 Sa-Token 完成踢人下线功能
一、需求 在企业级项目中,踢人下线是一个很常见的需求,如果要设计比较完善的话,至少需要以下功能点: 可以根据用户 userId 踢出指定会话,对方再次访问系统会被提示:您已被踢下线,请重新登...
[sylar]C++高性能服务器框架——线程模块
线程模块概述 该模块基于pthread实现。sylar说,由于c++11中的thread也是由pthread封装实现的,并且没有提供读写互斥量,读写锁,自旋锁等,所以自己封装了pthread。 锁模块实现了信号量、互斥...
[sylar]C++高性能服务器框架——协程调度模块
协程调度模块概述 封装了一个N : M协程调度器,创建M个协程在N个线程上运行。通过schedule()方法将cb或fiber重新加到任务队列中执行任务,协程可以在线程上自由切换,也可以在指定线程上执行。 ...
尝试用Go goroutine实现一个简单的聊天服务
hello,大家好,我是张张,「架构精进之路」公号作者。 对于聊天服务,想必大家都不会陌生,因为在我们的生活中经常会用到。 我们用 Go 并发来实现一个聊天服务器,这个程序可以让一些用户通过...
网络|学习一下tcp三次握手
TCP报文结构 我们想要介绍TCP/IP三次握手,需要有个前置条件,我们得补充下相关背景,目前我们所使用的的网络协议为TCP/IP4层协议,从下往上即: 数据链路层、网络层、传输层 以及 应用层。 图示...
续航之力:引领时代的驱动力
亮相:闪耀的瞬间 当一个人亮相时,仿佛整个世界为之静默,只留下闪耀的光芒。学校的舞台上,有一次难忘的亮相瞬间。那位平凡的学生代表站在讲台上,他的声音铿锵有力,言辞真挚感人,仿佛化身...
010-从零搭建微服务-系统服务(三)
写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):gitee.com/csps/mingyu… 源码地址(前端):gitee.com/csps/mingyu… 文档地址:gi...
SpringCloud Alibaba Sentinel实现熔断与限流
安装Sentinel控制台 github.com/alibaba/Sen… 点击选择版本,进入下载页面,页面最下方含有下载连接。点击下载 改控制台是由SpringBoot编写,内嵌tomcat。下载完成后保证java8环境OK,8080端口...
《面试1v1》MyBatis
我是 javapub,一名 Markdown 程序员从??,八股文种子选手。 《面试1v1》 连载中... 面试官: 恭喜你进到面试的最后一个环节!你对 MyBatis 比较熟悉吗? 候选人: 谢谢面试官!MyBatis 是我最喜...
Python面向对象编程
Python是一门面向对象编程的语言,因此在Python中使用类和对象非常重要。类用于定义一种数据类型的结构,而对象则是该类的实例。本篇文章将介绍Python中类和对象的基础知识,并给出一些示例代码...
适配器模式
适配器模式 一、适配器模式定义 适配器模式的定义是,Convert the interface of a class into another interface clients expect,将某个类的接口转换为接口客户所需的类型。 适配器模式解决的...
JVM高阶面试:Java8为什么使用元空间替换永久代?
1. 方法区简介 JVM 的内存模型主要包括程序计数器(Program Counter Register)、虚拟机栈(VM Stack)、本地方法栈(Native Method Stack)、堆(Heap)和方法区(Method Area)。 方法区(Met...
从零搭建K8s集群
前言 本文将演示如何从零搭建一个K8s集群,所有镜像在国内均可以下载,所有步骤均经过实测,只要严格按照步骤执行,最后一定可以完成K8s集群搭建。 正文 一. 机器配置和版本选择 本篇教程搭建的...
记录一次 bin/rails db:migrate 报错
bin/rails db:migrate 最近在倒腾后端,用的是 Ruby on Rails,数据库是 Postgres,在执行数据库迁移命令(bin/rails db:migrate)时,模型更新出错了 :( bin/rails db:migrate:status 提示说,已...
富文本编辑功能实现后端部分(附源码)
富文本编辑功能实现后端部分(附源码) 上一篇文章分享了富文本编辑功能实现的前端部分,所以此篇文章紧接上篇文章来说一下后端需要如何实现的(后端技术栈为koa2)? 上篇文章(前端项目中如何...
【面试高频题】难度 3/5,综合构造题
题目描述 这是 LeetCode 上的 「1802. 有界数组中指定下标处的最大值」 ,难度为 「中等」。 Tag : 「二分」、「数学」、「构造」、「贪心」、「模拟」 给你三个正整数 n、index 和 maxSum。你...
JVM笔记:垃圾收集算法
垃圾收集算法 1. 分代收集理论 1.1 分代假说 弱分代假说:绝大多数的对象存活时间很短,朝生夕灭。 强分代假说:熬过越多次的垃圾回收次数,对象越难被消灭。 跨代引用假说:跨代引用相对于同代...
[sylar]C++高性能服务器框架——日志模块
日志模块概述 日志模块类似于Log4j风格。同样的,日志模块拥有以下几个主要类: class LogLevel:定义日志级别。并提供将日志级别与文本之间的互相转化 class Logger:日志器。定义日志级别,设...
[sylar]C++高性能服务器框架——配置模块
配置模块概述 配置模块采用约定优于配置的设计思想,让程序所依赖的配置项都有一个默认值,就不需要每次都指定了,这样既简单又灵活。例如通过以下方式设置默认端口号,名称:system.port,值:...