Jetpack Compose学习(16)——ModalBottomSheet(底部弹窗)
原文地址: Jetpack Compose学习(16)——ModalBottomSheet(底部弹窗)-Stars-One的杂货小窝 接手新公司项目里,有代码用到了这个弹窗,由于需要重构架构和进行相关统一组件封装,顺手学习下这个组件,发现还是踩了些坑(怪我以Compose里的Dialog来用了哈哈) ...
Kamailio 5.8.3与rtpengine双网卡SBC集成要点
本文档总结了将Kamailio 5.8.3与rtpengine(配置为双网卡模式)集成以实现SIP+RTP媒体流转发(包括音视频和RTCP)的关键配置要点和最佳实践。用户场景包括:无NAT、公私网双向呼叫、通过dispatcher模块对公私网两侧的多网关进行负载均衡。 1. Kamailio rtp ...
SpringBoot--如何给项目添加配置属性及读取属性
SpringBoot允许使用配置文件对应用程序进行配置,支持以下不同形式的配置源: 属性文件(比如application.properties) yaml文件(后缀可以是yml或者yaml) 环境变量 命令行参数 获取这些外部化属性有以下几种方式: 使用@Value注解 使用Spring的Envir ...
Augment入门指南
没有ide 和 Cursor 不同,它没有做自己的开发编辑器,而是以插件的形式发布。 Jetbrains、VS Code、GitHub 以及 Slack 甚至 Vim 都可以以插件的形式去使用它! 对了,新用户免费使用半个月,之后便会以 50刀/每月 高昂的费用收取! vscode安装 只需要在vs ...
Java简历、面试、试用期、转正
前言 这个内容其实一直在我的GitHub中,但我最近应要求面了一些人,整体感受让我头疼得很,所以添加一些细节点后拿到博客园来了,顺便夹杂着吐吐槽, 面试前准备 提前准备 1、使用招聘网站列出招聘的技术清单 百度百聘:https://yiqifu.baidu.com/g/aqc/joblist?q=J ...
分布式系统高可用性设计-负载均衡与容错机制深度解析
在分布式系统中,负载均衡与容错机制是保障高可用性的两大核心支柱。本文从理论模型、技术实现、实战策略及面试高频问题四个维度,系统解析负载均衡的流量分配策略与容错机制的故障处理模式。 一、负载均衡:流量分配的艺术 1.1 负载均衡的核心目标 水平扩展:将请求均匀分发到多个服务实例,突破单机性能瓶颈。 高 ...
C# Avalonia 03 - LayoutPanels - SimpleInkCanvas
这次继承C# Avalonia官方自带的Canvas,扩展一个InkCanvas,兼容Canvas的所有功能。为了简化自定义命名控件,建议把自定义控件加入到默认空间。 AssemblyInfo.cs代码如下 using System.Runtime.CompilerServices; using S ...
极大提高项目部署的生产力!分享一个半自动化的CICD实现方案
前言 完全自动化的 CICD 确实好,代码提交后就自动构建自动发布新版本,实现不停机更新的情况下,还能随时回滚,这搁谁不喜欢啊~ 但理想很丰满,现实往往很骨感,不是所有开发/生产环境都具备部署 CICD 的条件 先说结论,这些 CICD 服务都有一些问题,要么就是网络不通,要么就是太重太麻烦不具备部 ...
Java开发AI项目,太爽了!LangChain4j保姆级教程
大家好,我是程序员鱼皮。现在 AI 应用开发可以说是程序员必备的技能了,求职时能够大幅增加竞争力。之前我用 Spring AI 带大家做过一个 开源的 AI 超级智能体项目,这次我来带大家快速掌握另一个主流的 Java AI 应用开发框架 LangChain4j。 这个教程也是我精心设计,拒绝枯燥的 ...
解决Dify的Ollama插件添加模型时保存成功但模型为空的问题
最近组里安排了点调研Dify任务。我跟着基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程一步一步走,前面都挺顺利,但在Dify的Ollama中引入大模型这一步卡住了:按照原文,我添加了本地安装的deepseek-r1:1.5b,点击“保存”,提示“保存成功”但模型 ...
AI领域又新增协议: AG-UI
随着AI的快速发展正在重塑技术生态,协议的演进速度尤为迅猛。一个令人头疼的问题浮现了:不同的AI智能体和前端应用之间就像说着不同语言的人,无法顺畅交流。开发者们需要为每个智能体单独编写接口,维护成本高昂,用户体验也参差不齐。 正是在这样的背景下,2025年5月,以开发AI集成工具包CopilotKi ...
留个VKProxy性能测试记录
其实原本是打算OpenTelemetry对应内容搞好后再做个简单的性能测试,也算表明自己写(抄)代码的能力(不至于用了反射什么的就把Kestrel这么好的底子的性能拖垮了) 但是最近看见一篇go的文章 报告揭示 OpenTelemetry 对 Go 的性能影响,说OpenTelemetry 拖慢了 ...
【锁的本质】锁本身就是共享资源,那么锁如何保证线程安全?
锁本身作为共享资源却能保证线程安全,以及AtomicInteger等原子类的线程安全实现,其根本原因都依赖于硬件层面的原子操作指令和内存屏障。下面分层解析其原理: 一、锁如何保证自身线程安全(以 ReentrantLock 为例) 1. 底层依赖:CAS (Compare-And-Swap) // ...
独立开发,这条路可行吗?
从过去两周的实践来说,产品技术还有自媒体,都在按照自己的规划迭代;内心真正的压力在于:能否以最初的构想,满意的走完整个过程。 ...
Windows链接创建神器:一键生成符号链接与硬链接的智能批处理工具【NuGet】
【自用工具】NuGet 或各项目中共用部分目录或文件,利用DOS符号链接解决重复文件的多份拷贝,起到节省磁盘空间的作用。 告别复杂的命令行操作!这款增强版批处理脚本让Windows链接创建变得简单、直观且美观 在Windows系统中,符号链接和硬链接是强大的文件系统功能,它们允许我们创建文件或目录的 ...
手把手教你在 Sevalla 上部署 Next.js 博客:从搭建到上线全流程
很多开发者会纠结:“现在博客平台这么多,为啥还要自己搭博客?” 答案很简单:用 Next.js 搭的博客,是真正属于你的 “数字资产”。 为什么选 Next.js?为什么是 Sevalla? 先聊聊这两个核心工具的优势,帮你搞懂 “为什么这么组合”。 Next.js:不止是博客,更是你的品牌载体 N ...
Rust修仙之道 第十一章 构型境 · 设计模式之道
第十一章:构型境 · 设计模式之道 “千术可构,格局需明;结构得法,道可延年。” 顾行云正式承担“魂核驱动阵”的重构之任,发现需求纷繁、参数繁多、状态变化复杂。传统术式难以胜任,他遂投身于构型殿修行,悟得三种典范设计法术。 一、建造之术 · Builder Pattern 用于灵术属性繁多、创建步骤 ...
SpringBoot3 + LangChain4j + Redis 实现大模型多轮对话及工具调用
引言 在人工智能快速发展的当下,大语言模型(LLM)已成为构建智能应用的核心技术之一。LangChain4j 作为 Java 生态中领先的 LLM 应用开发框架,为开发者提供了强大的工具,助力构建基于大语言模型的各类应用。在 Java 领域,目前整合大语言模型的主流工具主要有 Spring AI 和 ...
Spring AI 对话记忆大揭秘:服务器重启,聊天记录不再丢失!
还在为 Spring AI 应用重启后对话上下文丢失而烦恼吗?本文将带你深入 Spring AI 的对话记忆机制,并手把手教你实现一个基于文件的持久化方案,让你的 AI 应用拥有 “过目不忘” 的超能力! 哈喽,各位程序员朋友们! 在之前的文章里,我们一起探索了如何使用 Spring AI 构建能理 ...
Transformer模型原理概述
Transformer 是一种基于自注意力机制(Self-Attention)的深度学习模型,最初由 Google 在 2017 年的论文《Attention Is All You Need》中提出,主要用于自然语言处理任务,如今已广泛应用于计算机视觉、语音识别等多个领域,是现代大语言模型(如GPT ...