资讯

  • 写了个插件,一口气解决项目中所有精度丢失问题!

    写了个插件,一口气解决项目中所有精度丢失问题!

    前言大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心。JS 绕不开的精度丢失问题在 javascript 中,当我们进行运算时0.1 + 0.2你觉得输出是 0.3 吗?显然不是的,由于 javascript 存在精度丢失问题,导致了输出的不是你预期的图片image.png至于为什么会精度丢失呢?我之前出过一篇文章专门讲了这个原因你知道 0.1+0.2 !...

    日期:2024-04-26点击:25
  • 携程多品牌融合与多端一致的前端方案实践

    作者简介 佳璐,携程研发总监,专注大前端核心价值的构建和创新。一、背景概要参照Apple、Booking和AirBnB等一众品牌在国际化的进程中始终保持品牌认知的一致性,Ctrip和Trip(以下简称为“C&T”)并驾齐驱的过程中,集团对于不同国度和不同客群的品牌效应有趋于统一的诉求。研发的整体链路上同样存在由于C&T相似需求导致的重复开发工作量,服务链路上并没有完全做到抽象与统一...

    日期:2024-04-26点击:18
  • Nginx负载均衡算法选择指南:优化性能的智慧

    引言在现代网络应用中,负载均衡是确保高可用性和可伸缩性的关键因素之一。当用户量增加或流量波动时,负载均衡可以帮助分发请求到多个服务器上,从而降低单个服务器的负载,提高系统的整体性能和稳定性。Nginx 作为一款高性能的反向代理服务器,提供了灵活而强大的负载均衡功能,使得开发者可以轻松地构建可靠的基础架构来应对不断增长的用户需求。多种算法介绍Nginx支持多种负载均衡算法,用于分发请求到后端的多个服...

    日期:2024-04-26点击:25
  • Go语言如何实现HTTP代理和反向代理

    代理的核心功能可以用一句话概括:接受客户端的请求,转发到后端服务器,获得应答之后返回给客户端。代理的功能有很多,事实上整个互联网到处都充斥着代理服务器。如果所有的 HTTP 访问都是客户端和服务器端直接进行的话,我们的网络不仅会变得缓慢,而且性能会大打折扣。代理服务器根据不同的配置和使用,可能会有不同的功能,这些功能主要包括:内容过滤:代理可以根据一定的规则限制某些请求的连接。比如有些公司会设置内...

    日期:2024-04-26点击:24
  • 从RPC到HTTP:网络通信协议的演变

    从RPC到HTTP:网络通信协议的演变

    前言随着信息技术的飞速发展,网络通信协议在构建分布式系统和应用程序中发挥着至关重要的作用。从早期的远程过程调用(RPC)到现代的超文本传输协议(HTTP),网络通信协议经历了显著的演变。在刚开始C/S架构流行时,对于C/S架构下的软件,如聊天软件、办公软件等,它们只需要与自己公司的服务器通信,所以可以使用自家定制的RPC协议进行远程调用即可。但随着万维网与B/S架构的出现,浏览器产生了,而浏览器需...

    日期:2024-04-26点击:27
  • Node.js 重大更新,你知道更新了啥?

    4 月 24 日,Node.js 发布了 v22。Node.js 22 的更新亮点包括使用require()来导入 ESM 模块、WebSocket 客户端、V8 JavaScript 引擎的更新等!Node.js 22 正式接替 Node.js 21,成为当前的发布主线。在接下来的六个月里,它将作为当前发布版(Current),直到2024 年 10 月,届时将转为活跃状态(Active)。下面...

    日期:2024-04-26点击:25
  • 一种避免大量If-else代码的新思路

    一种避免大量If-else代码的新思路

    哈喽,各位代码战士们,我是Jensen,一个梦想着和大家一起在代码的海洋里遨游,顺便捡起那些散落的知识点的程序员小伙伴。今天,我要给大家带来一个超级无敌霹雳的编码新招式,只要看完,保证你的代码像用了某某洗发水一样,不仅去屑还更柔顺。咱们要聊的是那些让人又爱又恨的技术点:自定义异常、全局异常捕获、断言。一、控制异常流程首先,让我们来聊聊自定义异常。你知道的,在Java的世界里,我们通常用if-els...

    日期:2024-04-26点击:16
  • 一篇学会SpringBoot的核心内容之自动装配

    不面试不知道,现在面试的问题真的是五花八门的,最近就有读者说,在面试的过程中,面试官还提到了关于最初版本的 Spring 还有 SpringMVC 以及现在的 SpringBoot 中的一些相关问题,比如他提到了这个 SpringBoot 的自动装配是什么,你是怎么理解的,今天了不起就和大家一起来看看这个关于 SpringBoot 的自动装配。SpringBoot装配机制SpringBoot的自动...

    日期:2024-04-26点击:17
  • WPF开发:使用命令模式实现Undo和Redo功能

    WPF开发:使用命令模式实现Undo和Redo功能

    Undo 和 Redo 功能是许多应用程序都需要的功能。它允许用户在执行某些操作后,可以将操作撤销或重做。在 WPF开发 中,实现 Undo 和 Redo 功能有多种方式,其中一种常用的方式是使用命令模式。命令模式将操作封装成一个命令对象,然后将命令对象存储在一个栈中。当用户执行 Undo 或 Redo 操作时,从栈中取出一个命令对象,并执行命令对象的 Undo 或 Redo 方法。1. 命令模式...

    日期:2024-04-26点击:19
  • Vite 热更新(HMR)原理了解一下

    Vite 热更新(HMR)原理了解一下

    前言用过Vite进行项目开发的同学,肯定听说过,Vite在开发环境和生产环境是两种不同的资源处理方式。在开发环境,Vite以原生ESM方式提供源码,让浏览器接管了打包程序的部分工作:Vite 只需要在浏览器请求源码时进行转换并按需提供源码。根据情景动态导入代码,即只在当前屏幕上实际使用时才会被处理。图片而在本地开发中,肯定会有本地代码的变更处理,如何最大限度的在不刷新整体页面的情况下,进...

    日期:2024-04-26点击:18
  • 打包Python代码的常用方法,让你的程序变成exe应用!

    打包Python代码的常用方法,让你的程序变成exe应用!

    Python是一门强大的编程语言,但在将Python代码分享给其他人时,让他们安装Python解释器并运行脚本可能有点繁琐。这时,将Python代码打包成可执行的应用程序(.exe)可以大大简化这个过程。本文将介绍几种常用的方法,轻松地将Python代码变成独立的可执行文件。1. 为什么需要将Python代码打包成可执行文件将Python代码打包成可执行文件的好处有很多:便携性: 可执行...

    日期:2024-04-26点击:17
  • 不得不说,在很多业务中,这种模式用得真的很香

    不得不说,在很多业务中,这种模式用得真的很香

    老猫的设计模式专栏已经偷偷发车了。不甘愿做crud boy?看了好几遍的设计模式还记不住?那就不要刻意记了,跟上老猫的步伐,在一个个有趣的职场故事中领悟设计模式的精髓吧。还等什么?赶紧上车吧。故事“不能再写if else来拓展当前系统了,现在已经有三个支付场景了......”工位上,小猫看着电脑,挠着头。就在刚刚,小猫接到了一个新需求,需要和客户公司打通资产,形成资产联动。说白了就是需要定制化对接...

    日期:2024-04-26点击:15
  • 聊聊高可用存储架构:集群和分区

    聊聊高可用存储架构:集群和分区

    主备、主从、和主主架构都基于一个共同的前提:主机需要有能力存储所有数据。然而,主机的存储和处理容量是有限的。以历史发展为例,Intel 386时代的服务器仅能存储几百MB数据,到了Intel奔腾时代则能够存储几十GB,而进入Intel酷睿多核时代后,服务器的存储能力增加到了数TB。尽管从硬件发展角度看,存储能力的提升速度相当快,但与业务需求的增长速度相比,这种提升还是远远不够。例如,截至2013年...

    日期:2024-04-26点击:16
  • 详解JavaScript中的层叠规则(CSS Specificity)

    详解JavaScript中的层叠规则(CSS Specificity)

    引言在前端开发中,CSS样式表用于定义网页元素的外观。然而,在实际应用中,可能会出现多个选择器同时作用于同一元素的情况,此时浏览器如何决定使用哪个样式呢?这就涉及到了CSS的层叠规则(Specificity)。本文将深入探讨JavaScript环境下CSS层叠规则的工作原理及其计算方法。1. CSS层叠规则简介CSS层叠规则是指当有多个CSS声明应用于同一个HTML元素时,浏览器依据特定的优先级顺...

    日期:2024-04-26点击:18
  • 为什么Java String哈希函数乘数为31?

    为什么Java String哈希函数乘数为31?

    哈喽,大家好,我是了不起。今天给大家介绍一个底层数字问题——为什么Java String哈希函数乘数为31?1、源码重现在这个实现中,31 被用作乘数。那么,为什么选择 31 作为乘数呢?2、降低哈希冲突31 是一个质数,相信大家学过数学的,质数是这样定义的:指在大于1的自然数中,除了1和它本身以外没有任何正因数的自然数。在哈希函数中,使用质数作为乘数可以提高哈希值的分布均匀性。如果使用...

    日期:2024-04-26点击:14
  • 从零到生产:Go在Google的历程

    从零到生产:Go在Google的历程

    2007年Go诞生于Google,2009年Google正式对外宣布了Go语言的开源!时至今日,距离Go开源已经过去了近15个年头了[1]!Go在Google公司内部究竟是怎样的一个状态呢?前Google员工Yves Junqueira近期撰文从其个人所见所闻谈了Go在Google的历程[2]!这里简单翻译,供大家参考!最近,Jeremy Mason[3]和Sameer Ajmani[4]撰写了有...

    日期:2024-04-26点击:13
  • .NET配置文件大揭秘:轻松读取JSON、XML、INI和环境变量

    .NET配置文件大揭秘:轻松读取JSON、XML、INI和环境变量

    概述:.NET中的IConfiguration接口提供了一种多源读取配置信息的灵活机制,包括JSON、XML、INI文件和环境变量。通过示例,清晰演示了从这些不同源中读取配置的方法,使配置获取变得方便且易于扩展。这种方式适用于不同场景,如API密钥、数据库连接等,为应用提供了高度可配置性。在.NET中,IConfiguration接口提供了一种灵活的方式来管理和读取应用程序配置信息。这可以包括来自...

    日期:2024-04-26点击:14
  • Zustand:让React状态管理更简单、更高效

    Zustand:让React状态管理更简单、更高效

    在React项目开发中,状态管理一直是一个绕不开的话题。很多人提到状态管理,第一时间会想到Redux。Redux作为一个历史悠久的库,确实在功能性和中间件生态方面都有着不错的表现,但它复杂的配置和繁琐的代码书写让许多开发者望而却步。什么是Zustand?近年来,React社区涌现出了许多新的状态管理库,比如Jotai、Recoil,还有本文的主角——Zustand。这些新兴的库不仅可以完全替代Re...

    日期:2024-04-26点击:15