• MySQL数据库大森林:B树、B+树、二叉树、红黑树

    1、二叉树:每个节点最多只有两个子树的树结构2、B树和B+树2.1、区别1)B+树只有叶子节点会存储指针,B树所有节点都带2)B+树叶子节点存储了所有数据,B树在内部节点出现的数据不会出现在叶子节点3)B+树所有叶子节点都是通过指针连在一起,B树不是2.2、B+树优点1)内部节点不存储指针,使得一个内部节点中可以容纳更多的数据2)叶子节点通过指针连在一起范围扫描很方便,B树就要...

    MySQL 2021年09月01日 1571 0
  • 平台的多租户设计

    1、用户、应用和机构是三个独立的对象,在平台上注册用户跟机构没有关系,同一个身份证号码在平台上只能创建一个用户。在平台上创建应用跟机构也没有关系在平台上注册新机构后,可以往机构添加人员,比如医院把院内的医生、护士、药师等人员添加到本机构,这样医生用户登录的时候如果身份证号码存在本机构人员中,这样医生就可以选择进入此机构,这样多点医生执业的场景就能完美解决。可以往机构安装应用,然...

    架构设计 2021年09月01日 1549 0
  • JAVA中直接用Jdbc就能操作数据库了,为什么还要用spring框架?

    不过随着业务的扩展,你就会发现jdbc建立一个连接居然要几百毫秒,而执行一个普通的SQL仅仅需要几毫秒。这么重量级的资源建立了就释放了不合适,得找个容器存起来,谁要就来取,不用了就还给容器,毕竟容器里的借取比建立一个连接要快的多。这样的容器叫做数据连接池。小日子继续过,业务也越做越大,慢慢地你就发现了:这jdbc的接口也太粗暴了,有一大半的代码在往bean里塞数据,下标还是从1...

    Java 2021年09月01日 1308 0
  • netty系列之:自建客户端和HTTP服务器交互

    简介上一篇文章,我们搭建了一个支持中文的HTTP服务器,并且能够从浏览器访问,并获取到相应的结果。虽然浏览器在日常的应用中很普遍,但是有时候我们也有可能从自建的客户端来调用HTTP服务器的服务。今天给大家介绍如何自建一个HTTP客户端来和HTTP服务器进行交互。使用客户端构建请求在上一篇文章中,我们使用浏览器来访问服务器,并得到到了响应的结果,那么如何在客户端构建请求呢?net...

    Linux 2021年09月01日 1300 0
  • DDD深入浅出

    为什么我们要了解ddd?作为一个开发者,我们肯定接手过其他的人的项目。我想你一定有个这样的经历:面对冗杂的系统,模块彼此关联,没有人能描述清楚每个细节,没有文档,即使有文档也和系统对不上。当新需求需要修改一个功能时,往往光回顾该功能涉及的流程就需要很长时间,更别提修改带来的不可预知的影响面。于是 RD 就加开关,小心翼翼地切流量上线,一有问题赶紧关闭开关。面对此般场景,你要么跑...

    架构设计 2021年08月31日 1529 0
  • Java教程:Java Float类

    Float类在对象中包装了一个基本类型float的值。Float类对象包含一个float类型的字段。此外,该类提供了多个方法,能在float类型与String类型之间互相转换,同时还提供了处理float类型时比较常用的常量和方法。Float类的构造方法Float类中的构造方法有以下3个。Float(double value):构造一个新分配的Float对象,它表示转换为floa...

    Java 2021年08月31日 1200 0
  • 高并发,你真的理解透彻了吗?

    高并发,几乎是每个程序员都想拥有的经验。原因很简单:随着流量变大,会遇到各种各样的技术问题,比如接口响应超时、CPU load升高、GC频繁、死锁、大数据量存储等等,这些问题能推动我们在技术深度上不断精进。在过往的面试中,如果候选人做过高并发的项目,我通常会让对方谈谈对于高并发的理解,但是能系统性地回答好此问题的人并不多。大概分成这样几类:1、对数据化的指标没有概念:不清楚选择...

    MySQL 2021年08月31日 1687 0
  • Vuex 学习笔记

    1.1 vuex的核心概念State (驱动应用的数据源)Mutation (以声明方式将 state 映射到视图)Action(响应在 view 上的用户输入导致的状态变化)Getter (对 Store 中的数据进行加工处理形成新的数据)1.1.1 Startstart 提供唯一的公共数据源,所以共享的数据要统一放到Store 的 Stare 中进行存储。// 创建 sto...

    Vue 2021年08月31日 1369 0
  • 微软终于放弃了Electron了

    微软最近宣布,他们的 Teams 活跃用户已经达到了惊人的 2.5 亿。不是 Word 或 Excel,而是 Teams,它是Microsoft Office 套件的摇滚明星。但是,它一直受到性能问题的困扰,因为它消耗了大量的系统资源。在内存较少的计算机上运行 Teams 是一场噩梦。微软 Teams 的高级副总裁宣布,Teams 将转向他们自己的 Edge Webview2 ...

    技术文章 2021年08月31日 2329 0
  • 基于 Mysql 实现一个简易版搜索引擎

    前言前段时间,因为项目需求,需要根据关键词搜索聊天记录,这不就是一个搜索引擎的功能吗? 于是我第一时间想到的就是 ElasticSearch 分布式搜索引擎,但是由于一些原因,公司的服务器资源比较紧张,没有额外的机器去部署一套 ElasticSearch 服务,而且上线时间也比较紧张,数据量也不大,然后就想到了 Mysql 的全文索引。简介其实 Mysql 很早就支持全文索引了...

    MySQL 2021年08月31日 1620 0
  • MySQL 时间类型 datetime、bigint、timestamp选哪个?很多人答错了

    数据库中可以用datetime、bigint、timestamp来表示时间,那么选择什么类型来存储时间比较合适呢?前期数据准备通过程序往数据库插入50w数据数据表:CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `time_date` datetime NOT NULL, `time_time...

    MySQL 2021年08月31日 1347 0
  • 前后端数据交互(四)——fetch 请求详解

    fetch 是 XMLHttpRequest 的升级版,使用js脚本发出网络请求,但是与 XMLHttpRequest 不同的是,fetch 方式使用 Promise,相比 XMLHttpRequest 更加简洁。所以我们告别XMLHttpRequest,引入 fetch 如何使用?一、fetch介绍fetch() 是一个全局方法,提供一种简单,合理的方式跨网络获取资源。它的请...

    前端技术 2021年08月31日 1224 0
  • Linux 5.14正式发布 提供新硬件兼容性、核心调度、秘密内存区域支持

    正如预期的那样,Linus Torvalds今日将Linux 5.14晋升为稳定版,在精彩的2021年秋季Linux发行版大量出现之前提供最新的功能、硬件支持和其他改进。您可以在本文参阅Linux 5.14功能列表,了解这个新内核版本的全面变化。Linux 5.14带来了新的硬件支持,改进现有的功能,并加入了其他新的内核创新。Linux 5.14的一些亮点包括核心调度支持、ME...

    Linux 2021年08月31日 1275 0
  • MongoDB 5.0 新特性速览

    前言:7 月 13 号, MongoDB 发布了大版本 5.0。本文由社区成员肖贝贝在14号发布于知乎上,他选择了一些亮眼的特性介绍给大家。文末我们还给大家介绍了两个MongoDB岗位,以及MongoDB 5.0 新特性在线研讨会入口,欢迎关注!时序集合: 版本核心功能在创建集合时, 可以指定此集合为时序集合, 一个创建命令如下: db.createCollection( ...

    MongoDB 2021年08月28日 1371 0
  • 如何搭建WebRTC信令服务器

    1.WebRTC后台服务:通话的房间服务器(Room Server)房间服务器是用来创建和管理通话会话的状态维护,是双方通话还是多方通话,加入与离开房间等等,我们暂时沿用Google部署在GAE平台上的AppRTC这个房间服务器实现,该GAE App的源码可以在github.com上获取.该实现是一个基于Python的GAE应用,我们需要下载Google GAE的离线开发包到我...

    WebRTC 2021年08月25日 2485 0
  • three.js之模型区域选中方法

    今天从ui那边拿到一个城镇模型,样子长这样的3d模型要实现的效果是选择这个模型中的某个房子,实现交互。效果如下交互效果导入模型和可能遇到的问题模型太大了在视图中调试半天也不出现。可以对模型的大小进行了缩放,并且通过计算xyz的最远和最近的2点确定中心点,将模型放置在视图的中心位置。核心代码如下:objLoader.load('./obj/house.obj', function...

    前端技术 2021年08月25日 2156 0
  • 关于RPC不可不知的“坑”

    RPC,全称是远程过程调用(Remote Procedure Call),是一种常用的Client-Server间的通信方式。早在上个世纪70年代这一概念就被提出来了,后来虽然经过不断地演进,但它的基本思想没有发生太大的变化,那就是屏蔽底层的网络细节,使得对远程服务的网络请求看起来就像是对一个相同进程内的函数调用一样。然而理想是丰满的,现实是骨感的。尽管RPC的愿景看起来很诱人...

    技术文章 2021年08月25日 1398 0
  • 从一次netty 内存泄露问题来看netty对POST请求的解析

    背景最近生产环境一个基于 netty 的网关服务频繁 full gc观察内存占用,并把时间维度拉的比较长,可以看到可用内存有明显的下降趋势出现这种情况,按往常的经验,多半是内存泄露了问题定位找运维在生产环境 dump 了快照文件,一分析,果然不出所料,在一个 LinkedHashSet 里面, 放入 N 多的临时文件路径可以看到,该 LinkedHashSet 是被类 Dele...

    Java 2021年08月25日 1257 0
  • 如何用研发流程搞垮一个团队?

    管理大师德鲁克说过:“有所成就的人,都从最重要的事情做起。而且,一次只做一件事情。”对于大师的观点,K哥是非常认同的,不仅认同,我还是一个认真实践的人,简称“践人”,其实不要脸这事如果干得好,这就叫心理素质过硬。我专注搞垮团队这件事20年,先后搞垮过10几个团队,不能说有多么高的成就吧,我只是一个平平无奇的搞垮小天才。反观自己的内心、总结过往,我分别从研发流程、组织架构、开发工...

    技术文章 2021年08月25日 1472 0
  • 开箱即用!看看人家的微服务权限解决方案,那叫一个优雅

    前置知识我们将采用Nacos作为注册中心,Gateway作为网关,使用Sa-Token提供的微服务权限解决方案,此方案是基于之前的解决方案改造的应用架构还是和之前方案差不多的思路,认证服务负责登录处理,网关负责登录认证和权限认证,其他API服务负责处理自己的业务逻辑。为了能在多个服务中共享Sa-Token的Session,所有服务都需要集成Sa-Token和Redis。micr...

    微服务 2021年08月25日 1087 0
  • 一次订单号重复引起的事故,可把我给坑惨了

    我们线上出了一次事故,这个事故的表象是这样的:系统出现了两个一模一样的订单号,订单的内容却不是不一样的,而且系统在按照订单号查询的时候一直跑错,也没法正常回调,而且事情发生的不止一次,所以这次系统升级一定要解决掉。经手的同事之前也改过几次,不过效果始终不好,总会出现订单号重复的问题,所以趁着这次问题我好好地理了一下我同事写的代码。这里简要展示下当时的代码:/** * OD单号...

    Java 2021年08月24日 1184 0
  • Node的Request对象

    在向服务器发送请求时,Node会帮助我们封装Request对象,Request对象携带了客户端向服务端传递过来的所有信息,如本次请求的URL、请求方式Method与请求的headers等信息。const http = require('http') const server = http.createServer((req, res) => { // request...

    前端技术 2021年08月23日 1368 0
  • .NET 6 新特性 WaitAsync

    .NET 6 新特性WaitAsyncIntro在 .NET 6 里新增加了一个 WaitAsync 的方法,用来异步地等待一个任务完成,异步等待的时候可以指定一个 Timeout 时间或者一个取消令牌 CancellationToken,在之前的版本中只有一个同步的 Wait 会等待任务的完成,不支持比较好的任务超时或取消处理,如果要实现的话要自己写扩展,很多开源项目甚至微软...

    C#技术 2021年08月23日 1248 0
  • 从SSO出发谈谈登录态保护

    抛砖引玉在文章开始前,先看看一个常见的情况在集团内进行开发时,通常会遇到不同组之间的合作,如果是同一个组的前后端,因为交互请求都是在同一个「域」内发生的,所以一般不会存在跨域问题。但如果未做处理,直接从 a.alibaba.com 请求 b.alibaba.com 的接口,就会出现跨域的问题,这是因为浏览器对于不同域请求的限制问题,其实跨域的问题很好解,只要设置了正确的请求头即...

    技术研究 2021年08月23日 1223 0
  • Feign接口实现上传多个文件的坑

    前言这段时间需要做一个公共的上传文件资源的服务,可以通过前端直接调用上传文件;还有需求可以通过后台服务通过Feign接口方式 ,调用上传文件资源服务。在这过程中,遇到了一些问题,老顾在这里留个tag,避免小伙伴们也遇到相似的问题流程上面流程是常规的上传文件的2种方式,我们下面先来看看,正常的代码代码后台文件服务文件服务支持单个文件,以及多个文件上传Feign接口通过feign接...

    Java 2021年08月23日 1563 0
  • 企业级技术中台微服务架构Eurynome Cloud简介

    企业级技术中台微服务架构与服务能力开发平台Eurynome Cloud是一款企业级微服务架构和服务能力开发平台。基于Spring Boot 2.5.4、Spring Cloud 2020.0.3、Spring Cloud Alibaba 2021.1、Nacos 2.0.3 等最新版本开发,遵循SpringBoot编程思想,高度模块化和可配置化。具备服务发现、配置、熔断、限流、...

    微服务 2021年08月23日 1157 0
  • Netty对Executor实现机制分析

    ThreadPerTaskExecutorThreadPerTaskExecutor每一个任务的执行器(代理和命令模式)线程解耦(执行线程和创建线程)public final class ThreadPerTaskExecutor implements Executor { //定义一个私有的线程工厂 private final ThreadFactory thr...

    Java 2021年08月23日 1497 0
  • 统一认证授权平台keycloak初体验

    上一篇文章简单介绍了Keycloak,反响不错。看来大家都对这个东西感兴趣,今天就来进一步的体验Keycloak,让我们对它有一个直观的认识,然后逐步深入,把它的设计理念和概念各个击破。总体思路因为事先已经知道Keycloak提供了Spring Security的适配器。先独立把Keycloak的核心概念弄清楚,然后再去研究它如何结合Spring Security的。安装Key...

    Java 2021年08月23日 2746 0
  • 基于spring-data 实现mongodb changestream

    最近项目要求对mongodb的数据变更操作记录操作日志,首先想到的是基于spring的AOP对变更的接口进行拦截处理,由于调用接口的点很多不是很方便的去梳理,考虑使用mongodb的CDC机制,实时监控数据的变更。首先是springboot集成mongodb,mongdb需要是3.6以上的版本才能支持changestream<parent> <grou...

    MongoDB 2021年08月23日 1494 0
  • 终于解决好友置顶硬伤 微信新版详细体验

    新版微信来了,微信安卓版终于用上了iOS版中早就更新的一个功能,此外还带来了视频封面、边写边译功能,赶紧来看看吧。重点关注的好友和群必须置顶,但是置顶的好友太多,又导致混乱。现在好了,当你微信置顶好友超过10个时,会自动出现“折叠置顶聊天”提示,点击后就可以将置顶聊天折叠收纳起来。置顶好友折叠 界面更清爽不过折叠置顶聊天时用户的置顶聊天群有设置为免打扰的,将不会被折叠...

    技术资讯 2021年08月22日 1368 0