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

开发工具

  • 2022经历裁员之后,我总结了程序员必备的架构能力

    一、前情回顾我们采用冷热数据分离:冷数据基于HBase+Elasticsearch+纯内存自研的查询引擎,解决了海量历史数据的高性能毫秒级的查询热数据基于缓存集群+MySQL集群做到了当日数据的几十毫秒级别的查询性能。最终,整套查询架构抗住每秒10万的并发查询请求,都没问题。本文作为这个架构演进系列

  • 一日一技:包含元组的列表,对第一个元素升序第二个元素降序

    大家都知道,在Python里面可以使用​​.sort​​​方法或者​​sorted​​函数对各种数据进行排序,例如:复制a=[2,3,1,9,3,7,4]a.sort()b=[2,3,1,9,3,7,4]c=sorted(b,reverse=True)1.2.3.4.运行效果如下图所示:我们也知道,

  • 深刻理解Java并发中的有序性问题和解决之道

    ​问题Java并发情况下总是会遇到各种意向不到的问题,比如下面的代码:复制intnum=0;booleanready=false;//线程1执行此方法publicvoidactor1(I_Resultr){if(ready){r.r1=num+num;}else{r.r1=1;}}//线程2执行此方

  • 年底裸辞准备面试,我用七张图画了ZK分布式锁

    一、写在前面这篇文章再给大家聊一下ZooKeeper实现分布式锁的原理。同理,我是直接基于比较常用的Curator这个开源框架,聊一下这个框架对ZooKeeper(以下简称zk)分布式锁的实现。一般除了大公司是自行封装分布式锁框架之外,建议大家用这些开源框架封装好的分布式锁实现,这是一个比较快捷省事

  • 2023 年值得选择的 15 个优秀 JavaScript 框架

    本文提供了2023年将流行的15个优秀JavaScript框架的完整列表,包括React、Angular、Vue、Svelte等。JavaScript是一种功能强大的编程语言,专为开发Web浏览器而创建。它是最流行的编程语言之一,在世界范围内被广泛使用。JavaScript用于创建手机游戏、高度交互

  • API开发,gRPC还是GraphQL?

    ​译者|崔皓审校|云昭gRPC是由Google开发的一个高性能、通用的开源RPC框架,主要面向移动应用开发且基于HTTP/2协议标准而设计,同时支持大多数流行的编程语言。GraphQL既是一种用于API的查询语言,且GraphQL对API中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得

  • 面试官:Net/Http库知道吗?能说说优缺点吗?

    前言哈喽,大家后,我是asong;这几天看了一下Go语言标准库net/http的源码,所以就来分享一下我的学习心得;为什么会突然想看http标准库呢?因为在面试的时候面试官问我你知道Go语言的net/http库吗?他有什么有缺点吗?因为我没有看过这部分源码,所以一首凉凉送给我;废话不多说,接下来请跟

  • 这是一篇很好的互动式文章,Framer Motion 布局动画

    重现framer的神奇布局动画的指南。到目前为止,我最喜欢FramerMotion的部分是它神奇的布局动画--将layoutprop 拍在任何运动组件上,看着该组件从页面的一个部分无缝过渡到下一个部分。复制<motion.divlayout/>1.在这篇文章中,我们主要介绍:布

  • 为什么Spring官方推荐应用开发使用Gradle?Gradle更优秀是未来

    Spring官方曾发布一篇文章《​​Spring/SpringBoot编译工具从Maven迁移到了Gradle​​》,说明为什么Spring(2012年)和SpringBoot(2020)的源码构建使用Gradle。主要迁移的原因还是因为Gradle的构建速度远远优于Maven。近期,生成Sprin

  • 你也是业务开发?提前用这个设计模式预防产品加需求吧

    大家好,我是每周在这里陪大家一起进步的网管。今天继续更新设计模式相关的文章,我在前面两篇关于模板模式和策略模式的文章里给大家说过一个我总结的"暴论":“模板、策略和职责链三个设计模式是解决业务系统流程复杂多变这个痛点的利器”。这篇文章我们就来一起说说这第三个设计模式利器—职责链模式。职责链模式职责链

  • 一个操作,Maven 轻松迁移 Gradle

    大家好,我是指北君。今天我们来讲讲如何将Maven项目转换为Gradle项目。这个过程还是蛮简单的,下面通过一个例子来说明怎么转换。Gradle设置如果没有安装gradle,我们可以从Gradle官网下载最新的版本,根据gradle官方的文档安装即可。可以看我们之前的文章,这里不过多的描述。Mave

  • 微服务的灰度发布就该这样设计

    实际生产中如有需求变更,并不会直接更新线上服务,最通常的做法便是:切出线上的小部分流量进行体验测试,经过测试后无问题则全面的上线。这样做的好处也是非常明显,一旦出现了BUG,能够保证大部分的客户端正常使用。要实现这种平滑过渡的方式就需要用到本篇文章介绍到的全链路灰度发布。什么是灰度发布?灰度发布(又

  • 「lambda表达式」Comparator接口

    Comparator接口包含很多方便的静态方法来创建比较器。 这些方法可以用于lambda表达式或方法引用。静态comparing方法取一个“键提取器”函数,它将类型T映射为一个可比较的类型(如String)。对要比较的对象应用这个函数,然后对返回的键完成比较。例如,假设有一个Person

  • Go 语言代码风格规范-指南篇

    ​每门开发语言都会有其特有的风格规范(亦或指南),开发者遵循规范能带来显著收益,有效促进团队协作、减少bug错误、降低维护成本等。Google开源的GoogleStyleGuides(​https://google.github.io/styleguide/​)为多种编程语言提供了风格规范,包括C+

  • 如何使用 C++ 与 Python 实现二分查找

    计算机科学中最基本的算法之一是二分查找算法。您可以使用两种方法实现二分查找:迭代方法和递归方法。虽然两种方法具有相同的时间复杂度,但迭代方法在空间复杂度方面要高效得多。与递归方法产生的 O(logn)  相比,迭代方法的空间复杂度为 O(1) 。那么

  • 面试官:使用 RocketMQ 怎么进行灰度发布?

    大家好,我是君哥。今天来聊一聊RocketMQ的灰度方案。灰度发布是指在黑与白之间,平滑过渡的一种发布方式。在大流量的系统中,如果一次升级改造范围比较大,或者影响内容不太确定,一般会采用切量的方式进行升级,这样可以减少生产变更带来的影响。如上图,对ServiceA这个服务进行升级,采用灰度发布,先升

  • 手把手教你用 SpringBoot 开发微信公众号后台

    Hello各位小伙伴,松哥今天要和大家聊一个有意思的话题,就是使用SpringBoot开发微信公众号后台。很多小伙伴可能注意到松哥的微信公众号后台有一个回复关键字如 666​ 或者 888 可以获取学习资料的功能,这是松哥基于SpringBoot写的一个简单后

  • 万能的CSS 渐变!单标签绘制一个足球场

    世界杯正在进行中,也不要忘记学习CSS(得想办法蹭一波热度)。比如,用CSS绘制一个足球场?CSS足球场一眼望去,这里的形状只有圆形和矩形,在不借助其他标签的情况下(包括伪元素),其实很容易联想到渐变,一起看看如何绘制的吧,有非常多的渐变小技巧~温馨提示:文章中带有“⚽️”的描述属于足球小知识,不感

  • 不再使用 Print 来Debug了, IceCream 来了!

    写在前面在编程过程中,Bug几乎是不可避免的。其实大部分程序员花了大量的时间进行Debug(调试),以使他们的代码没有Bug。​在调试时,最常用的方法无疑是选择使用print()语句来了解pipeline流程以及发现bug。然而,使用print()有许多注意事项,例如:打印语句通常是为了向用户显示一

  • 如何做好对Spring Boot项目全面监控之Actuator

    定义Actuator为springboot项目提供了很全面的监控和审查,通过启用和公开endpoints,可以很方便的查看项目中的一些指标。添加依赖复制<dependencies><dependency><groupId>org.springframework.b

  • 推荐15个Javascript常用工具类

    今天给大家分享15个Javascript常用工具类,希望大家喜欢。js常用工具类lodash一个一致性、模块化、高性能的JavaScript实用工具库。xijs一款面向复杂业务场景的javascript工具库ramda一个很重要的库,提供了许多有用的方法,每个JavaScript程序员都应该掌握这个

  • 比JSON.stringify快两倍的fast-json-stringify

    前言​相信大家对JSON.stringify并不陌生,通常在很多场景下都会用到这个API,最常见的就是HTTP请求中的数据传输,因为HTTP协议是一个文本协议,传输的格式都是字符串,但我们在代码中常常操作的是JSON格式的数据,所以我们需要在返回响应数据前将JSON数据序列化为字符串。但大家是否考虑

  • 四个很多人都不知道的现代 JavaScript 技巧

    JavaScript在不断的进化和升级,越来越多的新特性让我们的代码变得更加简洁。因此,今天这篇文章,我将跟大家分享4个不常用的JavaScript运算符。让我们一起研究它们。1.可选的链接运算符这个功能非常好用,它可以防止我的代码出错,甚至可以大大简化它。例如,我们想打印一个人的名字,我敢打赌这很

  • 泛家庭云VR高分辨率渲染技术浅析

    Part01为什么要研究VR高分辨率视频播放技术? VR技术的快速发展促使全景视频成为未来视频服务的新型载体,然而目前行业主流终端设备大部分仅支持4K全景视频播放,存在纱窗效应明显、播放高码率视频卡顿等问题,导致用户对VR视频内容的体验仍停留在低像素、观感模糊的阶段。在家庭应用场景中,智能

推荐阅读