0

前后端数据交互(四)——fetch 请求详解

fetch 是 XMLHttpRequest 的升级版,使用js脚本发出网络请求,但是与 XMLHttpRequest 不同的是,fetch 方式使用 Promise,相比 XMLHttpRequest 更加简洁。所以我们告别XMLHttpRequest,引入 fetch 如何使用?一、fetch介绍fetch() 是一个全局方法,提供一种简单,合理的方式跨网络获取资源。它的请求是基于 Promise 的,需要详细学习 Promise ,请点击《 Promise详解 》。它是专门为了取代传统的 xhr 而生的。1.1、fetch使用语法fetch(url,options).then((resp...

阅读全文>>

0

Linux 5.14正式发布 提供新硬件兼容性、核心调度、秘密内存区域支持

正如预期的那样,Linus Torvalds今日将Linux 5.14晋升为稳定版,在精彩的2021年秋季Linux发行版大量出现之前提供最新的功能、硬件支持和其他改进。您可以在本文参阅Linux 5.14功能列表,了解这个新内核版本的全面变化。Linux 5.14带来了新的硬件支持,改进现有的功能,并加入了其他新的内核创新。Linux 5.14的一些亮点包括核心调度支持、MEMFD_SECRET的秘密内存区域支持、围绕英特尔Alder Lake的各种新特性的持续启用、Yellow Carp和Beige GobyAMD图形支持、AMD SmartShift笔记本电脑支持、Raspberry P...

阅读全文>>

0

MongoDB 5.0 新特性速览

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

阅读全文>>

0

如何搭建WebRTC信令服务器

1.WebRTC后台服务:通话的房间服务器(Room Server)房间服务器是用来创建和管理通话会话的状态维护,是双方通话还是多方通话,加入与离开房间等等,我们暂时沿用Google部署在GAE平台上的AppRTC这个房间服务器实现,该GAE App的源码可以在github.com上获取.该实现是一个基于Python的GAE应用,我们需要下载Google GAE的离线开发包到我们自己的Linux服务器上来运行该项目,搭建大陆互联网环境下的房间服务器.通话的信令服务器(Signaling Server)信令服务器是用来管理和协助通话终端建立去中心的点对点通话的一个角色。这个角色要负责一下任务:1...

阅读全文>>

0

three.js之模型区域选中方法

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

阅读全文>>

0

关于RPC不可不知的“坑”

RPC,全称是远程过程调用(Remote Procedure Call),是一种常用的Client-Server间的通信方式。早在上个世纪70年代这一概念就被提出来了,后来虽然经过不断地演进,但它的基本思想没有发生太大的变化,那就是屏蔽底层的网络细节,使得对远程服务的网络请求看起来就像是对一个相同进程内的函数调用一样。然而理想是丰满的,现实是骨感的。尽管RPC的愿景看起来很诱人,但是这一设想本身存在着一些根本性的缺陷,我们在进行技术选型的时候不可不知。首先我们要明白,网络请求和本地调用之间有着本质的不同:对于本地函数调用来说,它的结果完全是由输入决定的,无论成功还是失败,都是可以预期的。但是网...

阅读全文>>

0

从一次netty 内存泄露问题来看netty对POST请求的解析

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

阅读全文>>

0

如何用研发流程搞垮一个团队?

管理大师德鲁克说过:“有所成就的人,都从最重要的事情做起。而且,一次只做一件事情。”对于大师的观点,K哥是非常认同的,不仅认同,我还是一个认真实践的人,简称“践人”,其实不要脸这事如果干得好,这就叫心理素质过硬。我专注搞垮团队这件事20年,先后搞垮过10几个团队,不能说有多么高的成就吧,我只是一个平平无奇的搞垮小天才。反观自己的内心、总结过往,我分别从研发流程、组织架构、开发工具、文化氛围四个方面来总结我的搞垮心得:研发流程篇1、用“伪敏捷”,掩盖产品能力的不足虽然“敏捷宣言”发表20年后,连最初的发起人之一也承认它的失败。但是,只要手里有个锤子,看哪里都是钉子。VUCA时代就是要快,产品能力...

阅读全文>>

0

开箱即用!看看人家的微服务权限解决方案,那叫一个优雅

前置知识我们将采用Nacos作为注册中心,Gateway作为网关,使用Sa-Token提供的微服务权限解决方案,此方案是基于之前的解决方案改造的应用架构还是和之前方案差不多的思路,认证服务负责登录处理,网关负责登录认证和权限认证,其他API服务负责处理自己的业务逻辑。为了能在多个服务中共享Sa-Token的Session,所有服务都需要集成Sa-Token和Redis。micro-sa-token-common:通用工具包,其他服务公用的用户类UserDTO和通用返回结果类CommonResult被抽取到了这里。micro-sa-token-gateway:网关服务,负责请求转发、登录认证和权...

阅读全文>>

1

一次订单号重复引起的事故,可把我给坑惨了

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

阅读全文>>