掌握设计模式--抽象工厂模式
抽象工厂模式(Abstract Factory Pattern) 抽象工厂模式是一种创建型设计模式,它提供了一个接口,用于创建一组相关或依赖的对象,而无需指定具体类。它涉及到多个工厂,每个工厂负责创建一类相关产品的对象,确保客户端在不需要了解具体类的情况下,能够通过抽象工厂来获得所需的一系列产品。 ...
JVM实战—12.OOM的定位和解决
大纲 1.如何对系统的OOM异常进行监控和报警 2.如何在JVM内存溢出时自动dump内存快照 3.Metaspace区域内存溢出时应如何解决(OutOfMemoryError: Metaspace) 4.JVM栈内存溢出时应如何解决(StackOverflowError) 5.JVM堆内存溢出时应 ...
多样化消息通知样式,帮助应用提升日活跃度
在智能手机时代,用户的通知栏充斥着各种应用推送的消息。如何在这些信息中脱颖而出,激发用户的兴趣,引导他们进一步探索,是提高应用的日活跃度(DAU)的关键。 HarmonyOS SDK推送服务(Push kit)提供了多样化的通知消息样式,开发者们可以根据应用的特点和用户的需求来定制更有创意的消息文案 ...
.NET Core 对象分配(Alloc)底层原理浅谈
对象分配策略 .NET程序的对象是由CLR控制并分配在托管堆中,如果是你,会如何设计一个内存分配策略呢? 按需分配,要多少分配多少,移动alloc_ptr指针即可,没有任何浪费。缺点是每次都要向OS申请内存,效率低 预留缓冲区,降低了向OS申请内存的频次。但在多线程情况下,alloc_ptr锁竞争会 ...
AI对开发过程的替代性
在过去一年投入人工智能辅助开发之后,虽然大家说使用了人工智能之后工作效率显着提高,但我们日常使用的实际软件似乎并没有明显改善。所以问题出现在哪里? 使用场景 目前团队AI使用主要在以下方面: 代码补全和建议 执行复杂的重构任务 生成测试和文档 作为“结对程序员”来解决问题 从设计或粗略概念开始 使用 ...
华为云专家说:开源的商业化之路与开发者技术服务
本文来源:《华为云DTSE》第五期开源专刊,作者:华为云开发者支持首席布道师汪盛 开源、云的增长模式与 Product Led Growth具有较大相似性,两者增长立足于产品质量与使用的开发者数量上,即通过使用规模的扩张,带动市场的扩展。在产品与应用传播中,“能力开放”、“场景化”是核心的两个要素, ...
[.NET] API网关选择:YARP还是Ocelot?
随着微服务架构的流行,API网关在系统架构中扮演着越来越重要的角色。在.NET生态中,YARP(Yet Another Reverse Proxy)和Ocelot是两种常用的API网关解决方案。那么,在实际应用中,我们该如何选择?本文将从易用性、文档、负载均衡、限流、身份验证、授权和性能等多个方面,... ...
按部就班--从零开始建设k8s监控(二)
前言 书接上文,prometheus已经安装好了,并且能够对k8s的整体状态进行监控,但是我们还需要更多 环境准备 组件 版本 操作系统 Ubuntu 22.04.4 LTS docker 24.0.7 grafana 11.2.2 下载编排文件 本文所有的编排文件,都在这里 ▶ cd /tmp & ...
使用 NodeLocalDNS 提升集群 DNS 性能和可靠性
本文主要分享如何使用 NodeLocal DNSCache 来提升集群中的 DNS 性能以及可靠性,包括部署、使用配置以及原理分析,最终通过压测表明使用后带来了高达 50% 的性能提升。 1.背景 什么是 NodeLocalDNS NodeLocal DNSCache 是一套 DNS 本地缓存解决方 ...
字节二面:你怎么理解信道是golang中的顶级公民
1. 信道是golang中的顶级公民 goroutine结合信道channel是golang中实现并发编程的标配。 信道给出了一种不同于传统共享内存并发通信的新思路,以一种通道复制的思想解耦了并发编程的各个参与方。 信道分为两种: 无缓冲和有缓冲信道(先入先出)。 分别用于goroutine同步和异 ...
搭建gitlab私有仓库
1、下载gitlab 首先在 /etc/yum.repos.d/目录下配置gitlab下载镜像源。 # 进入目录 /etc/yum.repos.d/ cd /etc/yum.repos.d/ # 创建文件 gitlab-ce.repo vim gitlab-ce.repo # 添加以下内容 [git ...
C# AIModelRouter:使用不同的AI模型完成不同的任务
AIModelRouter AI模型路由,模型的能力有大小之分,有些简单任务,能力小一点的模型也能很好地完成,而有些比较难的或者希望模型做得更好的,则可以选择能力强的模型。为什么要这样做呢?可以降低AI模型的使用成本,毕竟能力强的模型会更贵一点,省着用挺好的。 Semantic Kernel中可以很 ...
《刚刚问世》系列初窥篇-Java+Playwright自动化测试-10- 标签页(tab)操作 - 上篇 (详细教程)
1.简介 本来按照计划这一系列的文章应该介绍Context和Page两个内容的,但是宏哥看了官方文档和查找资料发现其实和宏哥在Python+Playwright系列文章中的大同小异,差不了多少,再在这一个系列介绍就有点画蛇添足,索性就不介绍和讲解了,有兴趣的自己可以看宏哥之前写的,或者自己查找资料和 ...
聊一聊 C#异步中的Overlapped是如何寻址的
一:背景 1. 讲故事 前段时间训练营里的一位朋友提了一个问题,我用ReadAsync做文件异步读取时,我知道在Win32层面会传 lpOverlapped 到内核层,那在内核层回头时,它是如何通过这个 lpOverlapped 寻找到 ReadAsync 这个异步的Task的呢? 这是一个好问题, ...
C#+ WPF 实现蓝牙转WIFI计步上位机
前言 一个WIFI上位机,接收底层MPU6050数据,途中转蓝牙从机透传,到蓝牙主机直连WIFI,PC端UDP通信,实现三轴加速度数据传送和计步功能。 项目介绍 本项目基于.NET平台,使用WPF开发了一个应用程序,用于实现MPU6050传感器数据从蓝牙模块传输到主机,并通过WiFi以UDP协议接收 ...
配置文件加密
AES对称加密 AES(Advanced Encryption Standard),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于20 ...
Spring Cloud Alibaba AI 入门与实践
本文将介绍 Spring Cloud Alibaba AI 的基本概念、主要特性和功能,并演示如何完成一个在线聊天和在线画图的 AI 应用。 ...
【漏洞分析】20250105-SorraStaking:奖励金额计算错误,每次取款都有大收益
背景信息 2024-12-21 11:58:11 (UTC) 准备交易:https://app.blocksec.com/explorer/tx/eth/0x72a252277e30ea6a37d2dc9905c280f3bc389b87f72b81a59aa8f50baebd8eaa 2025-0 ...
大语言模型提示技巧(五)-推断
大语言模型具备从文字中推断情感和主题的能力。这种能力可用于获知客户对产品评价的情感、新闻或媒体文章的主题或倾向等。大语言模型的这种推断能力可被应用于舆情分析等场景。 推断可以看作是模型接收文本作为输入并执行某种分析的过程,其中涉及提取标签、提取实体、情感分析等。如果想要从一段文本中提取正面或负面情感 ...
SQL优化的这15招,真香!
前言 sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到。 如果某天你负责的某个线上接口,出现了性能问题,需要做优化。那么你首先想到的很有可能是优化sql语句,因为它的改造成本相对于代码来说也要小得多。 那么,如何优化sql语句呢? 这篇文章从15个方面,分享了sq ...