深圳幻海软件技术有限公司 欢迎您!

开发工具

  • 图解 Kafka 超高并发网络架构演进过程

    大家好,我是 华仔,又跟大家见面了。上一篇作为专题系列的第一篇,我们深度剖析了关于Kafka存储架构设计的实现细节,今天开启第二篇,我们来深度剖析下「KafkaBroker端网络架构和请求处理流程」是如何设计的? 相信使用过Kafka的朋友都知道其吞吐量可以高达百万,但很少人理解

  • 用Go重写Node.js服务:项目性能提升五倍,内存减少40%

    HasuraStorage是一项开源服务,在hasura和任何s3兼容的存储服务之上增加了一个存储服务。其目的是能够利用云存储服务,同时也利用hasura的功能,如它的graphqlAPI、权限、行动、预设等。出于业务发展需求,HasuraStorage团队近期将其原本用Node.js编写的服务用G

  • 过度使用懒加载对 Web 性能的影响

    如今为了提升应用性能,懒加载被广泛使用于Web应用中。它帮助开发者减少网站加载时间,节省流量以及提升用户体验。但懒加载的过度使用会给应用性能带来负面影响。所以在这篇文章中,会详述懒加载对性能的影响,来帮助你理解应该何时使用它。什么是懒加载?懒加载是一种常见的技术,通过按需加载资源来减少网页的数据使用

  • 使用 gRPC、Ballerina 和 Go 构建有效的微服务

    关键要点根据交互和沟通方式,我们可以将微服务分为两类:面向外部的微服务和内部微服务。RESTfulAPI是面向外部的微服务事实上的通信技术(REST的普遍性和丰富的支持生态系统在其持续成功中发挥着至关重要的作用)。gRPC是远程过程调用(RPC)API范式的一个相对较新的实现。它可以在内部微服务之间

  • 聊聊保证线程安全的十一个小技巧

    前言对于从事后端开发的同学来说,线程安全问题是我们每天都需要考虑的问题。线程安全问题通俗的讲:主要是在多线程的环境下,不同线程同时读和写公共资源(临界资源),导致的数据异常问题。比如:变量a=0,线程1给该变量+1,线程2也给该变量+1。此时,线程3获取a的值有可能不是2,而是1。线程3这不就获取了

  • 谈谈 Unsafe 在 Java 中的作用

    前言最近在Kotlin项目中发现,定义的 dataclass​(成员变量都声明不可空)经过在 Gson​ 解析后,可以得到成员变量为空的对象,而不是得到解析失败,那么就很容易造成后续代码的非预期运行,因为成员变量都按不可空的情况来处理,最终喜提 NullPoi

  • 有了HTTP,为什么还要RPC?

    本文简单地介绍一下两种形式的C/S架构,先说一下他们最本质的区别,就是RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的,我们都知道HTTP协议是在传输层协议TCP之上的,所以效率来看的话,RPC当然是要更胜一筹啦!下面来具体说一说RPC服务和HTTP服务。OSI网络七层模型

  • Golang 常见设计模式之单例模式

    之前我们已经看过了Golang常见设计模式中的装饰和选项模式,今天要看的是Golang设计模式里最简单的单例模式。单例模式的作用是确保无论对象被实例化多少次,全局都只有一个实例存在。根据这一特性,我们可以将其应用到全局唯一性配置、数据库连接对象、文件访问对象等。Go语言实现单例模式的方法有很多种,下

  • 如何使用插件化机制优雅地封装你的请求Hook

    本文是深入浅出ahooks源码系列文章的第二篇,这个系列的目标主要有以下几点:加深对Reacthooks的理解。学习如何抽象自定义hooks。构建属于自己的Reacthooks工具库。培养阅读学习源码的习惯,工具库是一个对源码阅读不错的选择。注:本系列对ahooks的源码解析是基于 ​​v

  • 超快微服务:当Microstream遇上Wildfly

    译者| 朱钢审校| 孙淑娟在超快系列的第二部分中,你将学习一个新的数据库,该数据库可以使你的微服务在Java世界中快速扩展!第一部分可参看:​​Java中的超快微服务:当Microstream遇上OpenLiberty​​当我们谈论创建可扩展的应用程序时,微服务已成为一个流行语。

  • 如何编写干净的JavaScript代码?

    今天来分享几个编写干净的JavaScript代码的技巧!1.更好的命名在JavaScript中,良好命名的关键不在于最短的变量名,而在于最具描述性的变量名。(1)减少幻数将代码中的一些数字定义为一个常量,以使它更有意义,也便于后期的维护。❌复制for(i=0;i<8765;i++){}1.✅复

  • 聊聊 URL、URI、URN 有什么区别?

    一、URLURL全称为UniformResourceLocator,意为统一资源定位符。URL是一串字符串,这些字符可以是字母,数字和特殊符号。URL是给定唯一资源的地址,指向该唯一资源的位置。URL的语法如下:scheme:通信协议,包括HTTP、HTTPS、FTP、MAILTO、IRC、FILE

  • 一文彻底搞懂前端沙箱

    什么是“沙箱”也称作:“沙箱/沙盒/沙盘”。沙箱是一种安全机制,为运行中的程序提供隔离环境。通常是作为一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。沙箱能够安全的执行不受信任的代码,且不影响外部实际代码影响的独立环境。有哪些动态执行脚本的场景?在一些应用中,我们希望给用户提供插入自定

  • 又一机器学习模型解释神器:Shapash

    什么是Shapash模型可解释性和可理解性一直是许多研究论文和开源项目的关注的重点。并且很多项目中都配备了数据专家和训练有素的专业人员。Shapash适用于大多数sklearn、lightgbm、xgboost、catboost模型,并可用于分类和回归任务。它利用Shap后端来计算特征的局部贡献度,

  • 进入 SpringBoot2.7,有一个重要的类过期了

    进入到SpringBoot2.7时代,有小伙伴发现有一个常用的类忽然过期了:在SpringSecurity时代,这个类可太重要了。过期的类当然可以继续使用,但是你要是决定别扭,只需要稍微看一下注释,基本上就明白该怎么玩了。我们来看下WebSecurityConfigurerAdapter的注释:从这

  • 面试官:说一下Java的共享内存模型

    前言目前正在出一个Java多线程专题长期系列教程,从入门到进阶含源码解读,篇幅会较多,喜欢的话,给个关注❤️~本篇内容篇纯理论一点并发编程模型我们之前给大家讲了多线程的一些知识,首先我们要知道的是在并发编程模型下会产生两大问题线程之间如何通信线程之间如何同步解决这两个问题主要有两种并发模型:消息传递

  • 聊聊分布式一致性算法协议 Paxos

    Google的粗粒度锁服务Chubby的设计开发者Burrows曾经说过:所有一致性协议本质上要么是Paxos要么是其变体。网上有很多讲解Paxos算法的文章,但是质量层次不齐。今天笔者带大家深入聊一下Paxos。Paxos是什么?Paxos算法是基于消息传递且具有高度容错特性的一致性算法,是目前公

  • 如何构建可观测系统

    译者|崔皓  策划|云昭本文聚焦于信息系统的观察性,特别是在大型信息系统中如何应用可观测性,让其在大型分布式组织中产生奇效。 什么是可观测性?根据维基百科的说法:“通过系统的外部输出来推断和度量,系统的内部状态。在控制理论中,线性系统的可观测性和可控性是数学对偶的。”简

  • Simula 诞生之前的面向对象程序设计

    想象一下,你坐在河边,河岸上如茵绿草,不远处湍急河流;午后的阳光慵懒惬意,使人陷入冥想哲思,不觉开始思考眼前的河流是否真实存在。诚然,几米外确实有河水奔流而下。不过,我们所称为“河流”的存在究竟是什么呢?毕竟,河水奔流不息,一直处于变化之中。似乎,“河流”这个词无法指代任何固定不变的事物。2009年

  • Vue开发常用的工具有哪些?

    ​本节小编将对Vue的开发环境以及常用工具的使用进行讲解。1.VisualStudioCode编辑器VisualStudioCode(VSCode)是由微软公司推出的一款免费、开源的编辑器,推出之后便很快流行起来,深受开发者的青睐。作为前端开发人员来说,一个强大的编辑器可以让开发变得简单、便捷、高效

  • 二十分钟了解K8S网络模型原理

    作者|中国移动云能力中心PaaS产品部张永曦​对于好多刚接触K8S,甚至是接触K8S很长时间的同学,K8S网络模型可以说是个很神秘的东西。那么对于这部分同学,恭喜你发现了本文,只要你花二十分钟的时间,就保证你能轻松掌握K8S网络模型原理。01知识储备首先,我们提前热身一下,学一点网络基础知识。1.1

  • 从0到1,IDE如何提升端侧研发效率?

    背景随着应用DinamicX(简称DX,下同)技术的场景和团队愈加复杂与广泛,持续保障DX核心竞争力,支持团队级别协同开发,助力复杂业务场景的诉求愈发强烈。之前的DX开发基于模板平台,其核心为基于开源的Monaco编辑器(驱动VScode的开源代码编辑器)定制开发的前端工程。虽然模板平台在过去一定程

  • Node.js 17 达到 EOL:这意味着什么?

    随着Node.js17的生命周期结束,是时候看看您需要更改哪些内容才能继续使用受支持的开发环境版本。Node.js17是Node.js的一个版本,于2021年10月19日发布。它引入了几个新特性,例如支持OpenSSL3.0、ReadlinePromiseAPI,并将JavaScriptV8引擎升级

  • 有些时候,你也许不需要使用UI框架

    很多前端开发人员喜欢使用各种UI框架,比如bootstrap,materialUI,tailwindcss等,他们希望这可以节省他们大量的时间,然而,现实却并非如此。很多时候,人们会问我,或者让我推荐一些UI框架,但是我想说的是,对于UI框架,没有万能的,每个UI框架都有自身的优点和缺点,如果你非要

推荐阅读