资讯

  • 什么是零拷贝?

    什么是零拷贝?

    一、摘要相信不少的网友,在很多的博客文章里面,已经见到过零拷贝这个词,会不禁的发出一些疑问,什么是零拷贝?从字面上我们很容易理解出,零拷贝包含两个意思:拷贝:就是指数据从一个存储区域转移到另一个存储区域。零:它表示拷贝数据的次数为 0。合起来理解,零拷贝就是不需要将数据从一个存储区域复制到另一个存储区域。果真是这样的吗?最早的零拷贝定义,来源于 Linux 系统的 sendfile 方法逻辑!在 ...

    日期:2023-07-31点击:221
  • 为什么Ctrl-C会中断当前运行程序

    为什么Ctrl-C会中断当前运行程序

    0x01 问题演示下面是用rust写的一段测试程序,逻辑非常简单,就是读取用户输入,然后将其输出。图片运行这个程序,然后按Ctrl-C:图片由上图可见,该程序没有收到任何输入,当然也没有任何输出,这个程序就退出了。为什么Ctrl-C会导致当前运行程序退出呢?0x02 程序退出原因上面的测试程序之所以会退出,是因为Ctrl-C会告诉linux内核,让其发送SIGINT信号给当前运行程序,该信号的默认...

    日期:2023-07-31点击:223
  • 专为技术写作人员提供的七条 Git 技巧

    专为技术写作人员提供的七条 Git 技巧

    作为 ATIX 的技术作家,我的任务包括为 Foreman 创建和维护存放在 github.com/theforeman/foreman-documentation 的文档。Git 帮助我跟踪内容的版本,并与开源社区进行协作。它是我存储工作成果、共享和讨论改进的重要工具。我主要使用的工具包括浏览器、用 OpenSSH 连接 Foreman...

    日期:2023-07-31点击:219
  • 强烈推荐11款办公利器,让你准点下班不是梦!

    强烈推荐11款办公利器,让你准点下班不是梦!

    嗨!我是橙点点,办公室三件套是现在学习和工作中不可或缺的工具。然而,许多人在使用这些工具时并不了解一些高效的技巧和技能,导致效率低下。在本期分享中,我们将通过介绍一些实用工具帮助你更好地掌握这些工具,提升学习工作效率。无论你是初学者还是有一定经验的用户,本文都能让你在办公三件套使用中更加游刃有余,事半功倍。接下来就让我们一起探索吧!一、Wrodword文档是一款文字处理软件,是文字处理器应用程序,...

    日期:2023-07-29点击:233
  • SpringCloud— 微信小程序授权登录增加多租户配置

    SpringCloud— 微信小程序授权登录增加多租户配置

    GitEgg框架集成weixin-java-miniapp工具包以实现微信小程序相关接口调用功能,weixin-java-miniapp底层支持多租户扩展。每个小程序都有唯一的appid,weixin-java-miniapp的多租户实现并不是以租户标识TenantId来区分的,而是在接口调用时,传入appid,动态切换ThreadLocal的appid来实现多租户的。并且其多个微信小程序的配置,...

    日期:2023-07-29点击:233
  • 6门新兴语言,小众亦强大

    6门新兴语言,小众亦强大

    作者丨Alex Babin编译丨诺亚编码语言在塑造我们创建软件的方式方面起着至关重要的作用。多年来,我们观察到Python,Java和C++等成熟语言的流行。然而,如今一波新的编码语言浪潮已经出现,提出了创造性的解决方案,并推动了软件工程领域所能完成的极限。在本文中,我将探讨一些你可能还没有听说过的新兴编程语言,揭示它们的潜力和独特特征。我将介绍它们的范围和它们擅长解决的问题,还包括一些代码示例。...

    日期:2023-07-29点击:224
  • 在 Vue.js 中使用事件总线在组件之间传递数据

    在 Vue.js 中使用事件总线在组件之间传递数据

    在Vue.js中有一种使用event emitters通过父组件在两个子组件之间进行通信的方法。在子组件中设置事件并在父组件中设置侦听器时,响应式将通过父组件向下传递到嵌套组件。虽然这是一个有价值的解决方案,但随着项目的发展,它可能会变得笨拙。事件总线是一个 Vue.js 实例,它可以在一个组件中发出事件,然后直接侦听并响应另一个组件中发出的事件——无需父组件的帮助。事件总线比发射器更高效,因为它...

    日期:2023-07-29点击:227
  • 什么样的程序员在35岁后仍然保持竞争力?

    什么样的程序员在35岁后仍然保持竞争力?

    作为程序员,大家肯定都听说过程序员的35岁危机,有的人刚入职程序员这个岗位就开始为自己的未来担忧,然而,与其担心自己35岁以后被优化掉,不如现在想想,怎么让自己到了35岁以后在这个岗位上依旧有竞争力。今天小狮妹就和大家一起探讨一下,什么样的程序员能够在35岁之后依然保持竞争力。1.技术与经验的平衡在技术领域深耕是保持竞争力的关键。这意味着你需要去不断学习和掌握最新的编程语言、框架和工具,以及跟进行...

    日期:2023-07-29点击:193
  • 什么是多运行时架构?

    什么是多运行时架构?

    作者 | 张旭海,刘振伟服务化演进中的问题自从数年前微服务的概念被提出,到现在基本成了技术架构的标配。微服务的场景下衍生出了对分布式能力的大量需求:各服务之间需要相互协作和通信,以及共享状态等等,因此就有了各种中间件来为业务服务提供这种分布式能力。图片我们熟知的“Spring Cloud 全家桶”正是凭借着对各种中间件优秀的集成与抽象能力,成为了当时炙手可热的项目。然而随着业务...

    日期:2023-07-29点击:222
  • 简化Java单元测试数据

    简化Java单元测试数据

    作者 | 张哲EasyModeling 是我在2021年圣诞假期期间开发的一个 Java 注解处理器,采用 Apache-2.0 开源协议。它可以帮助 Java 单元测试的编写者快速构造用于测试的数据模型实例,简化 Java 项目在单元测试中准备测试数据的工作,在提高编写效率的同时,使单元测试更加整洁易读。经过一年的维护,EasyModeling 已经在几个 Thoughtwo...

    日期:2023-07-29点击:206
  • 完美掌握多行文本修剪技巧:CSS中的实用指南

    完美掌握多行文本修剪技巧:CSS中的实用指南

    AICube 开放GPT-4给大家使用以及AI工具助手,可以简化大家生图的的prompt这篇文章深入讨论了在CSS中裁剪多行文本的方法,以提高网页的外观和用户体验。作者首先介绍了常见的CSS文本裁剪技术,例如使用text-overflow和overflow属性。然后,他引入了新的CSS属性line-clamp,它可以更轻松地裁剪多行文本并添加省略号。作者解释了如何使用line-clamp属性设置最...

    日期:2023-07-29点击:191
  • 这几个常用的工具类,让你生产力爆表!

    这几个常用的工具类,让你生产力爆表!

    前言Hutool是一个优秀的Java工具类库,提供了丰富的工具类和方法,能够简化Java开发过程中的许多常见任务。本文将介绍四个常用的Hutool工具类,并给出每个工具类的四个实际例子,帮助你更好地了解和使用Hutool。大纲图片StrUtil工具类StrUtil工具类提供了一系列字符串处理的方法,让字符串操作变得简单和高效。import cn.hutool.core.util.StrUtil; ...

    日期:2023-07-29点击:224
  • Golang中降本增效的常规实践

    Golang中降本增效的常规实践

    最近一年各大中小厂都在搞"优化",说到优化,目的还是"降本增效",降低成本,增加效益(效率)。技术层面,也有一些降本增效的常规操作。比如池化、io缓冲区技术golangC#eg.池化技术snnc.PoolObjectPool前端切图仔,归入前端资源池 , 随用随取字节数组缓冲区bytes.BufferList---io缓冲区bufioBufferStream适度超前,赛道埋伏池化技术 sync.P...

    日期:2023-07-29点击:225
  • Golang 日志库 Zap 如何自定义输出目标?

    Golang 日志库 Zap 如何自定义输出目标?

    Zap(https://github.com/uber-go/zap)是一个功能非常丰富、易于使用的 Golang日志库。记录日志时,一般会选择输出到控制台(stdout和stderr)或者输出到文件或者同时输出到两者。zap 库也提供了对应的选项。指定日志输出目标zap 配置项中(zap.Config), 使用 OutputPaths 和 ErrorOutputPaths 可以指定日志输出目标,...

    日期:2023-07-29点击:236
  • 服务架构:微服务架构

    服务架构:微服务架构

    微服务架构是由很多小而自治的微服务组合而成,每个服务都提供一套独立自洽的业务能力。从应用的层面,我们首先对业务进行建模,业务域定义的边界也自然而然作为每个微服务的职能边界。什么是微服务?微服务的定义比较直白,但只有理解它的设计理念和原则,才能真正用好它。从单个服务/服务间关系来看,有以下特征:微服务通常很小、提供很少但独立的功能,服务间耦合度很低。一个很小的研发团队就可以开发和维护一个微服务。每个...

    日期:2023-07-29点击:223
  • 使用Postman如何在接口测试前将请求的参数进行自定义处理

    使用Postman如何在接口测试前将请求的参数进行自定义处理

    1、前言当我们使用 Postman 进行接口测试时,对于简单的不需要处理的接口,直接请求即可,但是对于需要处理的接口,如需要转码、替换值等,则就麻烦一些,一般我们都是先手动把修改好的值拷贝到请求里再进行请求接口,这也是大多数测试人员进行接口测试时这么做的。其实 Postman 有一个 Pre-request Script 功能,即在接口请求前测试人员可自定义编写函数等对请求参数进行处理,本篇将举例...

    日期:2023-07-29点击:234
  • 超详细Java NIO选择器教程,轻松掌握高性能网络编程!

    超详细Java NIO选择器教程,轻松掌握高性能网络编程!

    1、选择器的概念和使用场景Java NIO中的选择器(Selector),是一个可以同时处理多个通道的I/O多路复用机制。在传统的I/O模型中,每个连接都需要独立的线程去处理,当连接数量增多时,线程数量也会随之增加,这会导致系统资源的消耗和线程切换的开销,从而影响系统的性能和可伸缩性。而使用选择器,可以将多个通道注册到同一个选择器中,这样就可以用一个线程来处理多个通道的I/O事件,从而大大减少线程...

    日期:2023-07-29点击:220
  • JVM优化:PC 程序计数器

    JVM优化:PC 程序计数器

    一、什么是程序计数器程序计数器(Program Counter Register):也叫PC寄存器,是一块较小的内存空间,它可以看做是当前线程所执行 的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条 需要执行的字节码指令、分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。二、PC寄存器的特点(1)区别于计算机硬件的pc寄存...

    日期:2023-07-29点击:226