Go 使用 sse

1 SSE 的本质严格地说,HTTP 协议无法做到服务器主动推送信息。但是,有一种变通方法,就是服务器向客户端声明,接下来要发送的是流信息(streaming)。

go 函数式选项模式

Go 语言没有构造函数,一般通过定义 New 函数来充当构造函数。但是,如果结构有较多字段,要初始化这些字段,就有很多种方式,有一种方式被认为是最优雅的,就是函数式选项模式(Functional Options Pattern)。

golang make 和 new 的区别

make 的作用是初始化内置的数据结构,也就是 slice、map和 channel。 new 的作用是根据传入的类型分配一片内存空间并返回指向这片内存空间的指针。 1 make内置函数 make 仅支持 slice、map、channel 三种数据类型的内存创建,其返回值是所创建类型的本身,而不是新的指针引用。

Go 利用 chromedp 生成 pdf

1 chromedpPackage chromedp is a faster, simpler way to drive browsers supporting the Chrome DevTools Protocol in Go without external dependencies. 可以查看官方的示例。 以下示例用的版本为 github.com/chromedp/chromedp …

Nginx 笔记,体系化带你全面认识 Nginx

1 Nginx 概述Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。性能是 Nginx 最重要的考量,其占用内存少、并发能力强、能支持高达 5w 个并发连接数,最重要的是, Nginx 是免费的并可以商业化,配置使用也比较简单。

github pull request

1 总览之前在 CSDN 上写过一篇关于 RP 的笔记 github fork PR 的简单使用 ,那篇文章写的比较随意且不是用命令行操作的,大部分操作都是基于 IDE,所以想着重新整理下那篇文章,同时也复习下 git 常用命令。

grpc 入门应用

RPC 是一种跨语言的协议,它可以让我们在不同的语言之间进行通信。 远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个 地址空间(通常为一个开放网络的一台计算机)的子程序,而程序员就像调用本地程序一样,无需额外地为这个交互作用编程(无需关注细节)。 RPC是一种服务器-客户端(Client/Server) …

Go udp 简单使用

1 server go package main import ( "fmt" "net" "time" ) func main() { // 创建监听 socket, err := net.ListenUDP("udp4", &net.UDPAddr{ IP: []byte{127, 0, 0, 1}, Port: …

Redis 学习笔记

Redis 是一个使用 C 语言开发的数据库,与传统数据库不同的是 Redis 的数据是存在内存中的,我们把这种数据库叫做内存数据库。因为在内存中,所以读写速度非常快,因此 Redis 被广泛应用于缓存方向。

Mysql 服务端如何处理客户端请求

不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:客户端进程向服务器进程发送一段文本(MySQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果)。

Linux 常用命令备忘

1 linux 和 unix 的区别Linux和Unix之间的区别是什么? 2 musl 和 glibc 的区别musl 和 glibc 都是 Linux 的标准库,区别是 musl 是一个 mini 版本,或是叫做基于 glibc 的库,而 glibc 是一个完整版本。