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

开发工具

  • 硬核 | 我一个人开发了“Dubbo”框架

    大家好,我是冰河~~没错,这次冰河又要搞事情了,这次准备下手的是RPC框架项目。为什么要对RPC框架项目下手呢,因为在如今分布式、微服务乃至云原生不断发展的过程中,RPC作为底层必不可少的通信组件,被广泛应用在分布式、微服务和云原生项目中。为啥要开发RPC框架​事情是这样的,在开发这个RPC框架之前

  • 如何借助工具快速生成代码?新手容易踩的这些坑一定要避开

    ​使用genservice自动生成代码注意:该功能特性从goframev2.1版本开始提供。基本介绍设计背景在业务项目实践中,业务逻辑封装往往是最复杂的部分,同时,业务模块之间的依赖十分复杂、边界模糊,无法采用Golang包管理的形式。如何有效管理项目中的业务逻辑封装部分呢?对于每个采用Golang

  • 危险的KPI,“逼疯”了程序员...

    ​作者| 云昭不管在哪个领域,团队想要高效运转,取得成功,最重要的是,让团队有一个与上下文语境相适应的“方向”,而在软件开发领域,KPI则充当着“北极星”,使团队朝着正确的方向前进。软件开发KPI经常与指标相混淆。指标是代表一个事实的数字,而KPI是对一个组织很重要的事情。注意:选择KPI

  • JavaScript 中事件发射器(Event Emitters)背后的魔力

    什么是事件发射器(EventEmitter)?朋友们,作为一名软件工程师,你一定用过EventEmitter,我们经常用它来处理跨组件的通信场景。它触发了一个每个人都可以收听的事件,并且可以在事件触发时发送数据。不同的库提供不同的实现,用于不同的目的,但基本思想是提供一个用于发布和订阅事件的框架。你

  • 一款面向程序员的搜索引擎,收录信息超2900万页!

    一款专门面向程序员的搜索引擎,2021年9月才开工,却收录了超过2900万页信息。这样的「编程神器」,你愿意尝试吗?这两天,草根开发者浮士德发布了一款名为「Feep!search」的搜索引擎。只要在检索框中输入你想找的程序名称,分分钟便能检索出成百上千条成熟代码。虽然这款「编程神器」还存在着不少问题

  • 双11期间系统并发上10w,我用多级缓存架构直接撑住

    今天给大家分享一个话题,就是如果要是你老板突然要求你把你负责的系统,要接入到春晚中去抗下春晚带来的超大流量,你会感到心里特别慌,然后特别没底吗?我估计大部分兄弟应该都会感到很慌很没底,不过没事,今天我们就来给大家讲讲,如果咱们系统要接入春晚活动抗下超大并发流量,应该怎么来优化设计。回头看看:原始系统

  • 一篇带你了解 React Fiber 是什么?

    大家好,我是前端西瓜哥。为了提高React的性能,React团队在开发React16时做了底层的重构,引入了ReactFiber的概念。ReactFiber是什么?Fiber,本意为“纤维”,在计算机世界中则是”纤程“的意思。纤程可以看作是协程的一种,是一种任务调度方式。JavaScript是单线程

  • 如何防止接口重复提交?

    一、摘要对于投入运营的软件系统,最近小编在巡检项目数据库的时候,发现某些表存在不少的重复数据,对于这样的脏数据,初步分析大致的来源有以下可能:1.由于用户误操作,多次点击表单提交按钮2.由于网速等原因造成页面卡顿,用户重复刷新提交页面3.黑客或恶意用户使用postman等网络工具,重复恶意提交表单这

  • 如何使用ORM链式操作?如何优雅的实现软删除?

    本期重点会带大家完成【电商实战项目】的轮播图删除功能,用到的知识点包括:ORM链式操作如何优雅的进行时间维护软删除和物理删除的区别如何优雅的实现软删除结合商业项目需求,有哪些容易踩的坑?ORM链式操作-时间维护需要注意,该特性仅对链式操作有效。gdb模块支持对数据记录的写入、更新、删除时间自动填充,

  • 让我来告诉你列存数据仓库怎样更高效

    很多数据仓库产品都采用了列式存储。如果数据表的总列数很多而计算涉及的列很少,采用列存就只读取需要的列即可,能够减少硬盘访问量,提高性能。特别是数据量非常大时,硬盘扫描和读取的时间占比很大,这时候列存的优势会很明显。那么,是不是只要用了列存就一定能做到性能最佳呢?我们来看看,列式存储在哪些方面还可以做

  • 聊一聊企业级业务中台架构

    一、什么是业务中台?业务中台是以业务领域划分边界,形成高内聚、低耦合的面向业务领域的能力中心,打造持续演进的企业级业务能力共享服务平台。业务中台的直观呈现就是各能力中心,以互联网电商为例,常见的有交易中心、商品中心、库存中心等。它不仅提供丰富的共享服务,还包含体系化建设企业能力域的方法和机制。业务中

  • 盘点Visual Studio 2022 17.4 给C++开发者带来的新东西

    ​我们很高兴地宣布,VisualStudio202217.4版本正式可用。这篇文章,我将盘点一下那些对C++开发者相关的一些新功能。Arm64在17.3版本中,VisualStudio已经添加了对Arm64的原生支持。在之后的版本中,我们继续添加了对更多开发场景的支持,在最新的17.4版本中,Arm

  • Java性能优化实战:七类技术手段让性能优化有章可循

    ​今天主要讲解Java性能优化有哪些可以遵循的规律。在上一篇时,我们详细地了解了对于性能的定义,这样在做性能优化的时候,就有了具体的优化目标和衡量方法,优化效果也不会仅仅停留在直观感觉上。了解了优化目标后,那接下来应该从哪些方面入手呢?本篇主要侧重于理论分析,我们从整体上看一下Java性能优化都有哪

  • 为什么和 CSS-in-JS 说拜拜

    本文是由Emotion的第二大活跃维护者Sam分享,本文第一人称都指的是Sam。Emotion是一个广泛流行的CSS-in-JS库,用于React。文章Sam会带大家深入探讨CSS-in-JS最初吸引人的原因,以及为什么作者(以及Spot团队的其他成员)决定放弃它。什么是CSS-in-JS?顾名思义

  • C语言该怎么进阶?你学会了吗?

    ​C语言的入门还是很简单的:复制#include<stdio.h>intmain(){printf("helloworld\n");return0;}1.2.3.4.5.6.把这段代码输入文本编辑器vim,保存成hello.c文件:文件里的符号全是英文字符,别把分号打成中文字符。然后用g

  • 你该学会自己写 Java 注解了

    ​我们通过HelloWorld这个例子引入了RPC框架,知道了客户端要想调用服务端需要靠两个注解来实现,下面我们一起来实现这两个注解。注解相关的实现代码是RPC框架的核心代码,后面写完后可以打包成一个jar包作为框架供业务代码中使用,这样我们前面写的客户端和服务端demo就可以正常工作了。好了,铺垫

  • 高性能计算:RoCE技术分析及应用

    HPC网络的发展与RoCE的诞生在早年的高性能计算(HPC)系统中,往往会采用一些定制的网络解决方案,例如:Myrinet、Quadrics、InfiniBand,而不是以太网。这些网络可以摆脱以太网方案在设计上的限制,可以提供更高的带宽、更低的延迟、更好的拥塞控制、以及一些特有的功能。IBTA在2

  • 当我们谈论DDD时我们在谈论什么

    作者| 祁兮谈论到DDD,我们会聊事件风暴,会聊限界上下文,会聊六边形架构,会聊实体值对象。这些概念各不相同,相关的概念也很不一样,但都属于DDD的范畴。见过了很多DDD的讨论和工作坊,我发现大家唇枪舌剑无法达成一致,往往是因为各自脑中的问题并不相同。我尝试在软件设计领域,将这些问题划分到

  • 动动嘴就能写代码?网友怒怼:哪位高管想当然了!

    作者|路遥、迪迪审校|千山今年6月份,在经过近1年的测试以后,微软GitHubAI编程工具Copilot以每月10美元的价格正式上线。Copilot可以根据上下文自动写代码,包括注释、函数、代码等等,只要你给出提示,就可以写出完整的函数。在很多场景当中,打上注释,函数就出来了,即便是在一些“稀巴烂”

  • 如何解决前端常见的竞态问题?

    大家好,我是CUGGZ。本文将深入研究Promise是如何导致竞态条件的,以及防止竞态条件发生的几种方法!1、Promise和竞态条件(1)Promise我们知道,JavaScript是单线程的,代码会同步执行,即按顺序从上到下执行。Promise是可供我们异步执行的方法之一。使用Promise,可

  • Python编程:递归与匿名函数及函数属性与文档字符串(函数补充)

    本文简单扼要地说,辅以代码进一步地加深理解。 递归函数当函数调用自身而生成最终结果时,这样的函数称为递归。有时递归函数非常有用,因为它们使编写代码变得更容易——使用递归范式编写一些算法非常容易,而其他算法则不是这样。没有不能以迭代方式重写的递归函数,换句话说,所有递归函数都可以通过循环迭代

  • 硬核剖析AQS源码,深入理解底层架构设计

    我们常见的并发锁ReentrantLock、CountDownLatch、Semaphore、CyclicBarrier都是基于AQS实现的,所以说不懂AQS实现原理的,就不能说了解Java锁。上篇文章讲了AQS的加锁流程,这篇文章再一块看一下AQS具体源码实现。先回顾一下AQS的加锁流程1.AQS

  • Amazing!巧妙构建页面结构的 3D Visualization

    对Chrome扩展功能熟悉的小伙伴,可能都有用过Chrome的3D展示页面层级关系这个功能。可以通过 控制台-->右边的三个小点-->MoreTools-->Layers 打开。即可以看到页面的一个3D层级关系,像是这样:这个功能有几个不错的作用:页面层级概览。

  • 如何解决前端常见的竞态问题?

    本文将深入研究Promise是如何导致竞态条件的,以及防止竞态条件发生的几种方法!1.Promise和竞态条件(1)Promise我们知道,JavaScript是单线程的,代码会同步执行,即按顺序从上到下执行。Promise是可供我们异步执行的方法之一。使用Promise,可以触发一个任务并立即进入

推荐阅读