Will's blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
LeetCode临时整理

LeetCode临时整理

LeetCode刷题记录记录模板解法xxx:xxx 思路 犯错 代码 0001 两数之和O(n)思路:使用哈希表记录原数和原数的下标,扫描一遍,去哈希表中寻找另一半数,找不到就记录原数和原数的下标,找到据返回。错误:忽略了map查找有两个返回值的特点,返回值可以更简洁,不一定要设计变量记录 12345678910func twoSum(nums []int, target int) []int
2025-01-25
Algorithm
#LeetCode
动态规划总结

动态规划总结

动态规划问题介绍大致做法:大问题分解为小问题,存储子问题的解避免重复计算。 最优子结构:原问题的最优解是从子问题的最优解构造来的 重叠子问题:相同的问题会被多次计算 无后效性:问题的当前状态的最优解不受其未来状态的影响 存储子问题的解:通常使用表格(数组或者哈希表)来存储子问题的解 计算顺序:子问题间存在依赖性,要保证计算一个子问题前,其依赖的所有子问题已经解决 代码实际概念状态:子问题的定义,通
2025-01-25
Algorithm
#LeetCode
gomall

gomall

CloudWeGo简介CloudWeGo是字节跳动开源的微服务架构应用,主要有Go和Rust两种实现方式。该架构围绕Go、Rust语言开发,涵盖框架、编解码器、网络库与运行时、工具、中间件多个层面,各组件协同工作,为构建高性能分布式系统提供技术支撑。 框架(Framework) Kitex与Hertz(Golang):Kitex是Golang的RPC框架,专注于构建高效的远程过程调用系统,可优化
2025-01-22
#gomall
搭建个人博客

搭建个人博客

Hexo配置根据文章,安装配置hexo并更换主题为fluid。 图床使用在插入图片的地方遇到了不小的困难,怎么尝试都不太行,实践发现是img文件夹下没有我存的图片,不知道为什么存放在文件夹中的图片在generate时没有到public/img下。还是需要使用图床技术来解决这个问题。 阿里云OSS:根据文章,实现阿里云OSS的配置,其中注意设定存储区域里要填的是之前记下来的地域节点里面的第一个字段
2025-01-22
#blog
geeRPC学习

geeRPC学习

RPC针对geeRPC进行了学习,原文链接:geeRPC 服务端与消息编码以下是对Codec接口的详细解释: 1. 整体作用Codec接口用于定义编解码器的通用行为。它抽象了编解码过程中涉及的关键操作,使得不同的编解码器实现可以遵循相同的接口规范,方便在程序中进行统一管理和替换。这种设计模式提高了代码的可维护性和可扩展性,特别是在需要处理多种编码格式的应用场景中。 2. 接口方法解释 io.Clo
2025-01-22
geektutu
HTTP状态码

HTTP状态码

HTTP状态码[HTTP常见状态码 && HTTP的逐步发展(通俗易懂版)_网络请求码418-CSDN博客](https://blog.csdn.net/ScheenDuan/article/details/142343622#:~:text=HTTP 状态码 是) HTTP 状态码是一组由服务器返回给客户端的标准响应代码,用来表示 HTTP 请求的状态。它们帮助客户端了解请求的结
2025-01-22
bluebell
JWT的Go语言实践

JWT的Go语言实践

JWT参考:在gin框架中使用JWT | 李文周的博客 (liwenzhou.com) 原理Go实践Go语言中直接使用jwt-go库来实现生成JWT和解析JWT的功能。 定制声明我不知道为什么这个地方要叫做Claims,其实对应原理的Payload(负载)。jwt官方标准的负载封装为jwt.StandardClaims,我们将其嵌入到自定义的结构体中,形成自定义的Claims—— 12345//
2025-01-22
bluebell
Redis实现投票机制的思路

Redis实现投票机制的思路

zset每一个元素都有一个与之对应的分数,分数用于排序 设计两个zset(有序集合)key分别对应post:time:和post:score:,即帖子对应时间和分数,对应按照时间查找和按照分数查询 哪个用户对哪个帖子投票投的是赞成还是反对也要记录,再设计一个key为post:voted :分割key,相当于命名空间,方便查询和拆分 声明常量,可以写一个前缀KeyPrefix表明命名空间,方便业务
2025-01-22
bluebell
fsnotify 文件系统通知库

fsnotify 文件系统通知库

fsnotify 是一个用于 Go 语言的文件系统通知库,它可以监视文件或目录的变化,比如文件的创建、删除、修改等。通过 fsnotify,你可以在文件系统发生变化时做出相应的响应,非常适合用于配置文件热加载、日志监控等场景。 常见应用场景 配置文件热加载:当配置文件发生变化时自动重新加载配置,不需要手动重启程序。 日志监控:监控日志文件是否被修改,实时获取日志变化。 文件监控:对文件的创建、删除
2025-01-22
bluebell
go-mysql&sqlx

go-mysql&sqlx

go-sql特性go-sql的执行特性是query和exec执行完返回对数据库的链接,需要再执行Scan绑定到Go代码的变量中。因此需要手动关闭返回对数据库的链接,注意在错误判断后defer关闭。 连接流程:sql.Open写入数据源但不连接,db.Ping尝试连接 123456789101112func initDB() (err error) { dns := "user:
2025-01-22
bluebell
1234

搜索

Hexo Fluid