<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>后端 - 分类 - Simi Studio</title>
        <link>/categories/%E5%90%8E%E7%AB%AF/</link>
        <description>后端 - 分类 - Simi Studio</description>
        <generator>Hugo -- gohugo.io</generator><language>zh-CN</language><managingEditor>simi@simi.studio (Simi)</managingEditor>
            <webMaster>simi@simi.studio (Simi)</webMaster><lastBuildDate>Sun, 28 Jan 2024 12:33:57 &#43;0800</lastBuildDate><atom:link href="/categories/%E5%90%8E%E7%AB%AF/" rel="self" type="application/rss+xml" /><item>
    <title>规范优先的 API 开发</title>
    <link>/posts/spec-first-api-development/</link>
    <pubDate>Sun, 28 Jan 2024 12:33:57 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/spec-first-api-development/</guid>
    <description><![CDATA[一篇面向生产环境的规范优先 API 指南：基于 OpenAPI 3.1，讲清楚设计评审、兼容性规则、示例、统一错误结构、代码生成边界、Mock、契约测试，以及如何避免把 spec 做成纯文档工作。]]></description>
</item>
<item>
    <title>Go 编程模式: Functional Options</title>
    <link>/posts/golang-functional-options-pattern/</link>
    <pubDate>Thu, 25 Jan 2024 14:40:56 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/golang-functional-options-pattern/</guid>
    <description><![CDATA[<p>在 Go 中，我们通常使用结构体来封装和组织数据。但是有时候当我们需要提供可选的、可定制的行为时，这种方式可能会变得复杂和难以维护。这就是 <strong>Functional Options Pattern</strong> 要解决的问题。这是一种设计模式，允许我们创建具有可选参数和可定制行为的对象。</p>]]></description>
</item>
<item>
    <title>微服务设计模式</title>
    <link>/posts/microservices-design-patterns/</link>
    <pubDate>Thu, 18 Jan 2024 15:25:05 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/microservices-design-patterns/</guid>
    <description><![CDATA[微服务架构近年来已成为一种流行的软件开发方法。通过将大型单体应用分解成更小、更独立的服务，团队可以独立开发、测试和部署，从而缩短上市时间并提高可扩展性。但是，设计微服务架构可能具有挑战性，尤其是在处理分布式系统的复杂性时。设计模式应运而生。]]></description>
</item>
<item>
    <title>Golang Table-Driven Testing 最佳实践</title>
    <link>/posts/golang-table-driven-testing-best-practices/</link>
    <pubDate>Tue, 09 Jan 2024 17:30:15 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/golang-table-driven-testing-best-practices/</guid>
    <description><![CDATA[<p>表驱动测试是 Go 里的经典写法，原因很简单：一组输入输出结构相似的测试，用表来写，代码确实更省、更稳，也更容易补边界场景。</p>]]></description>
</item>
<item>
    <title>揭秘 JWT</title>
    <link>/posts/jwt/</link>
    <pubDate>Mon, 08 Jan 2024 20:48:55 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/jwt/</guid>
    <description><![CDATA[JSON Web 令牌 (JWT) 是保护 API 和 Web 应用程序的强大工具。它们是无状态、紧凑、安全、可定制和寿命长的，因此适用于很多场景。]]></description>
</item>
<item>
    <title>高并发系统设计</title>
    <link>/posts/high-concurrency-system-design/</link>
    <pubDate>Wed, 20 Dec 2023 20:02:09 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/high-concurrency-system-design/</guid>
    <description><![CDATA[<p>高并发不是一种神秘的架构流派，它只是普通系统在流量、扇出和错误假设叠加之后的真实工作状态。</p>]]></description>
</item>
<item>
    <title>RESTful API 最佳实践</title>
    <link>/posts/restful-api-best-practices/</link>
    <pubDate>Tue, 19 Dec 2023 15:14:32 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/restful-api-best-practices/</guid>
    <description><![CDATA[<p>很多 REST API 文章都停留在“GET 查、POST 增、PUT 改、DELETE 删”。这类内容对新人扫盲有用，但对已经上线、有多个客户端、还得扛几年演进的 API 没什么帮助。</p>]]></description>
</item>
<item>
    <title>Go 语言中的 init 函数：理解 Go 语言的初始化</title>
    <link>/posts/the-go-init-function/</link>
    <pubDate>Thu, 15 Jun 2023 08:32:48 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/the-go-init-function/</guid>
    <description><![CDATA[Go 语言中的 init 函数是一个在程序启动时调用的特殊函数。它用于初始化程序并设置任何必备的状态。]]></description>
</item>
<item>
    <title>Go 语言结构体指针与值详解</title>
    <link>/posts/understanding-pointers-vs-values-in-go-struct/</link>
    <pubDate>Wed, 14 Jun 2023 17:05:46 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/understanding-pointers-vs-values-in-go-struct/</guid>
    <description><![CDATA[理解 Go 语言结构体指针和值之间的区别对于编写高效、有效且可伸缩的 Go 程序至关重要。根据应用场景选择正确的方法，可以确保结构体按预期工作，并优化代码的性能。]]></description>
</item>
<item>
    <title>Go 中的栈与堆</title>
    <link>/posts/stack-vs-heap-in-go/</link>
    <pubDate>Tue, 13 Jun 2023 11:14:04 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/stack-vs-heap-in-go/</guid>
    <description><![CDATA[了解 Go 中栈和堆之间的差异对于编写高效有效的代码至关重要。通过了解在何时使用每种技术，可以避免常见陷阱，如内存泄露，并提高应用程序的性能。]]></description>
</item>
</channel>
</rss>
