今朝のブログ

グロブの朝今

There is no end to learning

ディスクリプション
  • 首页图片随机,我也不知道会是什么,应该不会有涩图把(大概)
  • Notes 部分太多了没有整理,就没有统计进首页,文档备份都在 my-notes
  • Zu'u Laan Wah Dir 不要看這裡

Kesa...小于 1 分钟
每週小結

2023-12-04 ~ 11

    • v0.3.0 發佈:支持 hanimetv 下載 並 展示處理狀態

Kesa...大约 2 分钟
ArchLinux 安裝流程

1. 為何選擇 Arch Linux

  • 深入學習 Linux:已經使用 Manjaro 一段時間了,對 Linux 的基本使用已經熟悉;安裝 Arch Linux 以便深入學習
  • This is COOL OvO

Kesa...大约 5 分钟Linux
為 Git commit 添加簽名

1. PGP、OpenPGP、GnuPG 和 gpg

  • PGP(Pretty Good Privacy):最初的商業軟件名
  • OpenPGP: PGP 標準
  • GnuPG(Gnu Privacy Guard):實現了 OpenPGP 的軟件
  • gpg:GnuPG 的命令行工具

Kesa...大约 3 分钟Git
判断切片是否相同的两种方式性能比较

比较两个切片可以使用两种方式:

  1. 遍历切片比较每个元素,可以判断临界条件以快速失败提高性能
  2. 使用反射,reflect.DeepEqual(x, y any) bool,因为是通用型函数,并且使用反射获取类型信息,在有性能要求的场景中不建议使用

Kesa...大约 2 分钟golang
GeeCache 笔记总结

1. LRU 缓存策略

implement lru algorithm with golang
implement lru algorithm with golang

Kesa...大约 7 分钟golang
GeeORM 笔记总结

1. 核心思想

1.1 标准库 database/sql

SQL 语句的执行是对标准库方法的封装:

type Session struct {
	db       *sql.DB
	...
}

...

func (s *Session) Exec() (sql.Result, error) {
	defer s.Clear()
	log.Info(s.sql.String(), s.sqlVars)
	res, err := s.DB().Exec(s.sql.String(), s.sqlVars...)
	if err != nil {
		log.Error(err)
	}
	return res, err
}

Kesa...大约 8 分钟golang
GeeRPC 笔记总结

RPC(Remote Procedure Call,远程过程调用)是一种计算机通信协议,允许调用不同进程空间的程序。RPC 的客户端和服务器可以在一台机器上,也可以在不同的机器上。使用时,就像调用本地程序一样,无需关注内部的实现细节。


Kesa...大约 14 分钟golang
Gee 笔记总结

1. 核心思想

Gee 的基本原理是实现http.Handler接口:

package http

type Handler interface {
    ServeHTTP(w ResponseWriter, r *Request)
}

func ListenAndServe(address string, h Handler) error

Kesa...大约 3 分钟golang
2
3
4
5