总结
文章平均质量分 94
dapeng-大鹏
我撸了一个golang的依赖注入框架: github.com/gone-io/gone,能够很方便的做Web服务开发,推荐你使用
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
期望、信息量、熵、KL散度、交叉熵和交叉熵损失函数
本文系统介绍了信息论与机器学习中的核心概念及其数学表达。首先定义了期望(离散型与连续型随机变量的均值)、信息量(事件意外程度的对数度量)、熵(系统不确定性的期望值)等基础概念。随后重点阐释了KL散度(衡量两个概率分布的差异)与交叉熵(用预测分布编码真实分布所需信息量),并推导了关键关系式:交叉熵=真实熵+KL散度。最后,详细推导了交叉熵损失函数在二分类(Logistic回归)和多分类(Softmax回归)任务中的具体形式,揭示了其通过最小化预测分布与真实分布的差异来优化模型的本质。全文通过数学公式和示例,清原创 2025-07-19 06:40:47 · 569 阅读 · 0 评论 -
OpenTelemetry 介绍
本文系统介绍了OpenTelemetry的核心概念、发展历史、主要特点与优势、关键组件(API、SDK、Collector、导出器)、与主流后端(如Jaeger、Prometheus、Zipkin)的集成方式,以及在云原生环境下的应用价值。适合希望了解和落地可观测性体系的开发者与运维人员。原创 2025-05-08 11:14:22 · 1540 阅读 · 0 评论 -
Gone 框架的服务注册与发现:打造高效微服务架构
本文深入探讨Gone框架中服务注册与发现的实现机制,介绍其在微服务架构中解决动态通信、负载均衡和高可用等核心问题的方式。文章详细阐述了Gone如何优雅集成Nacos、Consul和Etcd等服务治理组件,提供了实战示例和原理解析,并说明了自定义组件的开发方法,为Go开发者提供完整的微服务治理解决方案。原创 2025-04-21 15:56:59 · 693 阅读 · 0 评论 -
Gone 如何读取配置,如何对接配置中心?
本文详细介绍了Gone框架的配置管理系统,展示了其三层配置方案:核心框架内置环境变量支持、本地配置文件读取和配置中心对接。Gone通过统一的Configure接口、智能的ConfigProvider和默认的EnvConfigure实现,提供了类型安全的配置注入、多种配置源支持和灵活的默认值机制。系统支持从环境变量、多格式配置文件到Apollo、Nacos等多种配置中心,满足从简单应用到复杂分布式系统的各类配置管理需求。原创 2025-04-21 09:24:21 · 1057 阅读 · 0 评论 -
使用gone v2 的Provider 机制升级改造 goner/xorm 的过程记录
本文详细记录了对 goner/xorm 组件的升级改造过程,主要解决了原设计中 Goner 机制和 Provider 机制并存导致的复杂性问题以及测试覆盖困难。通过统一采用 gone v2 的 Provider 机制实现,重构了代码结构,使各组件职责更加清晰,同时保持了与原有配置和注入方式的完全兼容性。改造后不仅保留并增强了原有的事务管理和 SQL 拼接功能,还显著提高了代码的可测试性和测试覆盖率,为未来的功能扩展和维护奠定了良好基础。原创 2025-04-14 11:44:34 · 1145 阅读 · 0 评论 -
Nginx 终极指南:从入门到精通
这篇《Nginx终极指南》是一份全面且系统的Nginx技术总结,涵盖了从入门基础到高级应用的各个方面。内容包括Nginx的安装配置、核心概念、基本功能、HTTP服务器配置、反向代理与负载均衡设置、缓存机制、HTTPS配置、性能优化技巧、日志监控方法以及常见问题解决方案。文章通过清晰的配置示例和实用技巧,帮助读者全面掌握Nginx的使用和优化,适合从初学者到高级用户的各层次读者参考使用。原创 2025-04-10 17:37:33 · 1370 阅读 · 0 评论 -
实战经验:Gone 框架模块化改造中的 go work 反思
本文分享了作者在 gone 框架模块化改造过程中对 Go 语言官方多模块开发工具 go work 的调研和使用体验。文章介绍了 go work 的基本功能和使用场景,深入分析了其在实际开发中存在的问题,特别是命令兼容性问题、版本管理混乱和 CI/CD 集成困难等。作者以 gone 框架的实际案例说明了为何最终放弃使用 go work 而选择回归传统的 go mod replace 方案,并提出了针对不同复杂度项目的实用建议。文章结论认为 go work 虽有用但功能有限,像"鸡肋"一样食之无味,弃之可惜,期原创 2025-03-23 17:34:08 · 786 阅读 · 0 评论 -
如何对Golang代码进行单元测试?
编写可测试的代码是单元测试的前提,合理的接口抽象和Mock技术能有效隔离依赖,而精心设计的测试用例则是质量保障的核心。Golang的测试工具链(如testinggomocktestify)为开发者提供了强大支持,结合本文实践,可显著提升项目的健壮性与可维护性。原创 2025-03-19 06:00:00 · 1882 阅读 · 0 评论 -
Go语言中的错误处理与异常恢复:性能对比与实践思考
在我的实践中,我会在中间件层面使用recover捕获所有未处理的panic,同时在业务逻辑层尽量使用返回error的方式处理可预见的错误情况。:继续遵循"错误是值,异常是非常规情况"的原则,对于可预见的错误情况返回error,只在真正的异常情况下使用panic。:在Web框架的中间件层面统一处理panic,将其转换为适当的HTTP响应,这样可以兼顾代码简洁性和错误处理的完整性。:对于确实对性能极其敏感的核心处理路径,可以优先考虑使用返回error的方式,特别是在这些路径可能频繁执行的情况下。原创 2025-03-17 19:31:17 · 825 阅读 · 0 评论 -
Go语言进化之旅:从1.18到1.24的语法变革
从Go 1.18到Go 1.24,Go语言在保持简洁性和向后兼容性的同时,引入了许多增强开发体验的语法特性。泛型的引入是这一时期最重大的变革,而循环变量作用域的改进和迭代器支持则解决了长期以来的痛点。进一步完善泛型特性增强错误处理机制改进并发编程模型增加更多语法糖以提高开发效率Go语言的进化紧密围绕其设计哲学:保持简洁、实用性和可读性,同时谨慎地增加能够显著提升开发体验的特性。这种平衡的设计理念,使Go语言在企业级应用开发中越来越受欢迎。原创 2025-03-16 19:58:28 · 1867 阅读 · 0 评论 -
什么是云原生?
云原生(Cloud Native)是一种为云环境设计的应用程序开发和部署方法,其核心目标是实现弹性、可扩展、自动化的软件架构。容器化、微服务、动态编排、声明式API、不可变基础设施,并通过自动化工具链实现高效管理。关键点•原生适配:从设计之初即针对云环境优化,而非简单迁移传统应用。•技术栈整合:以容器(如Docker)、编排工具(如Kubernetes)、服务网格(如Istio)等为核心,结合DevOps文化实现全流程自动化。云原生不仅是技术革新,更是一场软件架构与开发模式的范式转移。原创 2025-03-14 22:45:45 · 1058 阅读 · 0 评论
分享