The Wayback Machine - https://web.archive.org/web/20220622043510/https://bqyang.top/
🌓
close

模板方法

今天要学习的是模板方法模式,结合实际思考一下,我们一般会在什么时候需要用到模板,偷懒的时候。比如说我们要准备一个技术分享会,问问同事有没有模板,省的从零开始。还有就是转正答辩,找小伙伴要个模板参考下。但是工作内容还是要填写我们自己干了啥。

阅读全文

go-context

Image

这两天在看 Context 的最佳实践,在项目中有用到这个东西,但是又没有实际起作用,只是单纯的作为一个参数传来传去。这篇文章的目的就是学会使用 Context 以及阅读 Context 部分源码实现,还有在使用时需要注意的事项。

阅读全文

工厂方法模式

今天学习的另一个创造类的设计模式,工厂方法模式。工厂方法模式是 简单工厂方法 的优化版本,之前我们提到过开闭原则,对扩展开放、对修改封闭。简单工厂方法打破了这个原则,每次增加新的类别时都需要修改工厂类。

阅读全文

代理模式

Image

Decorator Vs Proxy

我感觉在很大程度上,这两种模式是十分接近且代码实现都差不多的,所以我好奇的是怎么区分以及它们各自的应用场景。(这篇整理是我学习这两种模式后估计留了几天时间写的,现在回顾确实区分不出来了。)

阅读全文

go-error-handling

Image

这篇文章是我学习董哥发布的 错误处理 文章的总结,好记性不如烂笔头,避坑啦!

阅读全文

面向对象五大原则

SOLID原则:由 5 个设计原则组成的,它们分别是:单一职责原则、开闭原则、里式替换原则、接口隔离原则和依赖反转原则,依次对应 SOLID 中的 S、O、L、I、D 这 5 个英文字母,

SRP单一职责原则 Single Responsibility Principle;

KISS保持简单 Keep It Simple and Stupid;

YAGNI不需要原则 You Ain’t Gonna Need It ;

DRY 不要重复原则 Don’t Repeat Yourself ;

LOD 迪米特法则 Law of Demeter。

阅读全文

策略模式

由工厂模式引出策略模式,需要思考的是作者是怎么一步步引导我们的,以及工厂模式到底解决了什么问题?

阅读全文

简单工厂模式

自己照着书上 JAVA 的代码翻译成了 Go 的代码,但是感觉很生硬,就比如,在 Go 中我们获取到了一个对应类型的 interface,这种情况下想要设置对应结构体的字段很麻烦,必须要实现 JAVA 中,那种 Get Set 的东西,如果说不想用这种方式,那么还需要对 interface 进行转换,并不是那么优雅。

工厂模式解决了什么问题:创建对象的问题

阅读全文

UML 类图

UML ,各种线条属实让人有点迷糊。

阅读全文

go-generic

Image

go 泛型学习,距离泛型的发布已经有很长一段时间了,之前大概看了下官方文档,说有些东西可能将来都会改变,不保证向前兼容,就没有具体了解,1.18也发了几个版本了,感觉再不努力又要被小伙伴们卷完了。

阅读全文

初识 go-ast

Image

从介绍 AST 到动手实践解析一个文件,再到查看开源代码的使用场景,一步步了解 AST。

前一阵子学到了一个 linter(检查err是否被 wrap),实现的方式用的就是 AST ,正好借这个机会了解一下。

阅读全文

根管治疗+全瓷冠

从小就是牙口不好,小时候家里对这方面也没有过多关注过,自己也不注重口腔健康,当时爽了,现在完蛋了。

不仅钱花得多,还非常的折腾。

我是清明节回家补了一颗龋齿(蛀牙),那天补牙的时候,突然有一下特别疼(就是那个感觉一瞬间就布遍全身,我感觉不咋疼),医生在那一顿叹气,哎呀,露神经了,这就不好弄了。

阅读全文

数组-简单题

虽然有些不是最优解,大体上还是挺让我惊讶的,竟然做出来了..

阅读全文

再学递归(几个有意思的递归练习)

逃不过的汉诺塔…

阅读全文

打印字符

for循环打印字符

阅读全文

C-String

复习 C 语言字符串

阅读全文

Rust-Enums

Rust 枚举

阅读全文

Rust-Structs

rust 中的结构体和方法(method)。

阅读全文

Rust-Ownership

Rust 核心概念了解 —— Ownership

阅读全文

Deployment 更新策略

将笔记进行拆分,都写在一个里边很拥挤,不方便翻阅查看。

阅读全文

操作系统启动


尝试揭开操作系统的神秘面纱。

阅读全文

同步原语-semaphore

同步原语–信号量学习

阅读全文

并发控制-Condition-variables

检查某些特定条件是否满足,然后决定线程是否继续执行。

阅读全文

跟兄弟们聊聊

今天上来就是为了跟兄弟们聊聊,在工作中怎么“优雅”的向别人提问,还有关于工作态度的一点理解。

阅读全文

并发控制-互斥(自旋锁、互斥锁)

锁.

阅读全文

perterson 算法学习

并发控制算法之-Peterson

阅读全文

宽松内存模型


最近学习到一个关于内存模型的知识点,一开始对内存模型的认识还是以为是描述数据结构实在内存中怎样进行存储的。

阅读全文

一点总结

这是一篇记录关于生活的记录。

阅读全文

k8s 2nd

各个部分及其字段的含义。

阅读全文

chi 框架路由分析

(暂时还没写完,不过为了方便阅读,我也发表了出来。这样回家就不用带电脑了。。)

chi 框架相对容易一些,跟上一篇文章中的 appsrv 框架进行一个简单地对比,看一下实现的差异在哪里。

阅读全文

一个 web 框架的那些事

项目上用了一套开源的云管理代码,他们框架中的路由的相关功能都是自研的,学习学习人家是怎么实现的。

阅读全文

真的遇到了变量逃逸

看看到底是怎么回事吧!

阅读全文

DDIA 读书笔记

Designing Data-intensive Applications

阅读全文

2021 年末总结

2021 已经过去半个月的时间了,看了很多前辈的总结,大家进步的都好快.. 突然想起来曹大的 Bio If you don't keep moving, you'll quickly fall behind.

阅读全文

new words for me

新词速查

阅读全文

kubernetes in action 读书笔记

关于 kubernetes in action 的读书笔记

阅读全文

git rebase

以前合分支,用的都是 git merge 但是发现用 merge 合并总是会出现一条自动添加的 commit 这样导致历史提交记录显得非常乱。

阅读全文

linker and loader

学习下 linker 和 loader 中的内容,记录一下学习过程遇到的笔记以及知识点。主要的内容来自 csapp。

阅读全文

elf 文件格式

简单整理下 ELF (executable and linkable format) 的几个知识点,这里跟 linker&&loader 中有一点重复内容。

阅读全文

golang 中的抢占

关于 go 1.13 协作式抢占的一点理解

阅读全文

Weekend

为了听键盘按键声音(全键都是 35 g 的,今天给键盘搞了个增压弹簧,非字母键位都加了 10 g),迫不得已写篇周记,记录下这周点滴。

阅读全文

GC 源码梳理

Golang GC 垃圾回收知识点总结,有些内容还没有完成,只是暂时写上了问题,还没来得及梳理相应的内容。

阅读全文

GC from go comments

来自 Go 官方对 GC 的解释。

阅读全文

第一次 pr

所有工作时间加起来也有一年多快两年的时间了,实习了 8 个月,正式工作也有 10 个月了,加起来有一年半的工作经验了。

阅读全文

一次上线故事

人在北京,刚上线到家。由于时间比较晚了,也没必要带电脑回家,用手机备忘录记录下这愉快的一晚。

阅读全文

工作现状

今天要聊的与技术无关,简单聊聊最近。
闲聊工作,最近有点迷,每天也不知道在忙啥,除了改bug还是改bug,还不是我写的bug,给上一任擦屁股,感觉永远都擦不干净。(说起来挺恶心,事实就是很恶心)

阅读全文

timer 优化

前言

我们已经知道了,老版本 timer 的性能瓶颈主要是在那把全局锁以及频繁的上下文切换上,今天我们看看 go 大佬们通过哪种方式进行优化的。

在这里解释一下为什么选择这几个版本,据我所知啊,从 1.10 版本以前都是像上一篇文中所描述的那样,在 1.10 版本开始就做了这个优化,但从 1.14 开始又对 timer 进行了优化,所以我选择了 1.8, 1.13, 1.14 这几个邻近的作为参考。

阅读全文

timer 源码分析

golang timer 的优化过程以及底层实现。

阅读全文

Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

阅读全文