加载中
Golang - 选项模式 vs 构建器模式

在使用Golang创建复杂对象时,常用的两种模式是选项模式(Options pattern)和构建器模式(Builder pattern)。这两种模式各有优缺点,选择适合项目需求的模式取决于具体情况。 问题 假设我们...

06/02 17:21
58
高性能 Go 的 6 个技巧 — Go 高级主题

本文旨在讨论6个提示,这些提示可以帮助诊断和修复Go应用程序中的性能问题。 基准测试: 在Go中编写有效的基准测试对于了解代码性能至关重要。可以通过将文件命名为“_test.go”,并使用tes...

05/31 19:48
106
Go中的并发是困难的

我明白标题可能有些令人困惑,因为一般来说,Go被认为在并发方面有很好的内置支持。然而,我并不认为在Go中编写并发软件是容易的。让我向您展示我是什么意思。 使用全局变量 第一个例子是我们...

05/30 22:55
55
2023年Web服务器基准测试:NodeJS vs Java vs Rust vs Go

现在是2023年,是时候进行一次新的Web服务器基准测试了! 结果对我来说有些出乎意料! 一个Web服务器必须能够处理大量请求,尽管瓶颈在于IO。这次我决定比较最流行的、速度极快的现代框架的性...

05/29 23:36
87
软件工程的问题

我长期以来一直是这个应用程序的用户,它一直快速、响应迅速且易于使用。 然而,在上周的一次更新之后,启动时间从不到一秒钟大幅增加到超过15秒。唯一明显的变化是添加了一个新的启动界面和...

05/28 21:41
59
Postgres vs MySQL

主要区别及示例 简而言之,Postgres和MySQL之间的主要区别实际上归结为主索引和辅助索引的实现方式以及数据的存储和更新方式。 让我们进一步探讨这个问题。 但首先...基础知识 索引是一种数据...

05/27 22:53
40
从数据库到固态硬盘的读取过程

应用程序到数据库到操作系统到固态硬盘 在我研究了从应用程序发送的简单 SQL 查询是如何最终存储到磁盘的过程中,我发现术语“页(page)”和“块(block)”可能是软件工程中最多用的概念之...

05/26 21:29
43
不要将你的 API 设计得过于简单

关于软件工程的真相 框架永无止境 有多少框架、库和服务的存在仅仅是为了让你编写更少的代码?几乎所有的框架都是如此。 为什么我们有这么多框架,每年还会出现一个新的?这是因为一个框架试...

05/25 22:05
43
我是如何精通软件工程的

软件工程是一个庞大且不断演化的领域,涉及许多创新。虽然如此,大多数技术——如果不是全部——在软件工程中往往最终汇聚为几个基本原则。工程师更好地掌握软件工程的方法是熟悉软件工程的基...

05/24 23:07
38
在酒店房间中的数据库索引

如果你经常去酒店,你会看到一块类似下面的标牌,指引你到达房间。这能够帮助你方便快速地找到房间,特别是当酒店拥有许多房间时。 以一个有9层的酒店为例。你的房间号是917。第一步是找到你...

05/23 21:41
53
Memcached 架构

Memcached是一种内存中的键值存储,最初是用Perl编写的,后来重写为C语言。它受到Facebook、Netflix和Wikipedia等公司的欢迎,因为它简单易用。 虽然当谈论到软件描述时,“简单”这个词已经...

05/22 23:24
35
B+树索引搜索(Index Seek)与索引扫描(Index Scan)

在本文中,我探讨了数据库中索引搜索(Index Seek)和索引扫描(Index Scan)的性能影响。虽然这些术语主要与 SQL Server 相关,但它们对于在数据库管理系统(DBMS)平台中搜索 B+树非常重要...

单击链接之后的的网络

当你点击一个超链接时,你的浏览器从远程服务器加载链接的内容并进行渲染。在幕后,涉及到连接建立、会话加密、协议协商、重定向、域指示等等许多操作。 在本文中,我将为你详细介绍在浏览器...

05/20 23:32
65
SELECT * 有多慢?(深入探讨)

在行存储的数据库引擎中,数据以称为页的单元进行存储。每个页都有一个固定的头部,并包含多个行,每个行都有一个记录头部,后面跟着各自的列。例如,在 PostgreSQL 中考虑以下示例: 当数据...

05/19 23:02
40
数据库页面 — 深入探究

数据库通常使用固定大小的页面来存储数据。表、集合、行、列、索引、序列、文档等最终都以字节形式存在页面中。这样,存储引擎就可以与负责数据格式和 API 的数据库前端分离开来。此外,当一...

05/18 22:38
68
NGINX 架构

NGINX 是一个开源的反向代理和 Web 服务器,旨在实现规模化。作为后端基础架构的第一道防线,它在如缓存层、负载均衡器、API 网关或 Web 服务器等方面广受欢迎。 在本文中,我将探讨 NGINX ...

05/17 22:15
55
MongoDB内部架构

我坚信数据库系统在其存储层面上具有相似的核心基础,了解这些基础可以让我们客观地比较不同的DBMS。例如,MongoDB中的文档存储方式与MySQL或PostgreSQL存储行的方式没有什么不同。 所有数据...

05/16 22:31
50
我是如何设计软件的

设计软件是具有挑战性的,我认为没有一种正确或错误的方法。在我的职业生涯中,我尝试了几种软件设计方法,它们都缺少某些东西,让我对所构建的系统不够自信。 我尝试了先编写代码的方法,通...

05/15 23:21
55
后端应用程序中的线程和连接

构建后端应用程序需要一个通信协议、一个绑定的端口和一个处理请求和产生响应的进程。当特别使用TCP作为传输协议时,会为希望连接到后端的客户端创建一个有状态的连接。 在此之前,后端应用程...

05/14 21:59
76
Go语言的五个坏实践:从错误中成长

从他人的错误中成长,通过本指南避免常见陷阱和坏实践,提高你的 Go 编程技巧 在 Go 语言中,就像在任何编程语言中一样,了解常见陷阱和坏实践是编写干净、高效代码的关键。 尽管下面列出的某...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部