文章列表
生活琐事 / 陈大剩
· 2025-05-20 17:33:51
岗位职责 参与公司 APP 应用后端 API 设计和开发工作; 负责项目 APP 应用的维护及优化,单元测试编写; 能够和产品高效需求对接,保证系统高可用; 基本要求 全日制本科及以上学历,计算机、通信、物联网等相关专业优先; 3 年以上 GO 开发经验,有扎实的 GO 语法及基础,需具有备互联网产品开发经验; 有 APP 后端开发经验,且做过 A
OS相关 / 陈大剩
· 2025-05-17 21:51:24
《cURL 必知必会》阅读摘要记录丹尼尔·斯坦伯格 书籍简介作者: DanielStenberg(丹尼尔·斯坦伯格)译者:薛命灯出版年: 20200101页数: 147定价: 59.00 元装帧:平装ISBN: 9787115523860 第 1 章 cURL项目开源项目比较有趣的一点是,它们通常被称为“项目”,好像它们在某种程
编程语言 / 陈大剩
· 2025-05-05 22:32:46
背景最近,BOSS 让我搭建一下几个开源 AI 平台,因为之前没有搭过 Node 项目,顺带记录一下,防止以后踩坑,也是对自己知识点的一个补充吧。 部署步骤 安装宝塔面板一般应用于生产环境的的服务器都是安装的不带桌面的版本 linux 系统,面对着黑乎乎的命令行窗口,即便是稍微熟悉点的童鞋管理服务器也会觉得繁琐,这时候可以通过界面代替命令行来操作服务器;就
生活琐事 / 陈大剩
· 2025-04-29 23:45:34
背景最近,在公司负责后端相关面试,简历看了不下 50 份,面试 10+,纯手码 2000 多字,说说我对简历的看法,希望给大家一点启发。 教育经历在众多求职面试中,我发现多数求职者容易忽视教育背景的重要性。有些求职者甚至选择淡化或完全不提及其教育经历,对该方面的不够重视,例如:1. 求职者只有全日制大专学历,之后再考了成人本科,然后教育经历栏全不写,在个人简介栏写直接写本科
编程语言 / 陈大剩
· 2025-04-18 23:23:26
临时对象池介绍`sync.Pool` 类型可以被称为临时对象池,它的值可以被用来存储临时的对象,与其他同步工具一样,`sync.Pool` 类型也属于结构体类型,它的值在被真正使用之后,就不应该复制了。临时对象池 中容量是自动伸缩的、高效的、同时也是并发安全的。```gopool := sync.Pool{New: func() interface{} { re
编程语言 / 陈大剩
· 2025-04-02 22:27:23
原子操作原子操作即操作过程中不能被中断的操作。在针对某个值的原子操作执行过程当中,`CPU` 绝对不会再去执行其他针对该值的操作,无论这些其他操作是否为原子操作。`Golang` 语言提供的原子操作都是非侵入式的,他们由标准库代码包 `sync.atomic` 中的众多函数代表,可以通过这些函数对几种简单类型的值执行原子操作。这些类型包括 6 中:`int32`、`int64
编程语言 / 陈大剩
· 2025-03-31 23:29:39
在使用 `WaitGroup` 值的时候,最好用 “先统一Add,再并发Done,最后Wait” 的标准模式来构建协作流程。```govar wg sync.WaitGroupwg.Add(2)go func() { defer wg.Done() fmt.Println("第一个协程")}()go func() { defer wg.
编程语言 / 陈大剩
· 2025-02-26 21:48:43
WaitGroup 介绍`sync.WaitGroup` 类型是并发安全的,也是开箱即用的。例如,在声明 `var wg sync.WaitGroup` 就可以直接使用 `wg` 变量了。`sync.WaitGroup` 与前面讨论的几个同步工具一样,它一旦被真正使用就不能被复制了。`WaitGroup` 类型拥有三个指针方法:`Add`、`Done` 和 `Wait`。
编程语言 / 陈大剩
· 2025-02-17 22:03:15
锁`golang` 除了提供特有的并发编程模型和工具之外,还提供了传统的同步工具,它们都在 `golang` 的标准库代码包 `sync` 和 `sync/atomic` 中。在使用其他语言(比如 `C` 或 `Java`)的锁类工具时,可能会犯一些错误:忘记解开已经锁住的锁,从而导致流程异常、线程执行停滞,甚至程序死锁等一系列问题。然而,在 `Golang` 中,这个错误极低,因
编程语言 / 陈大剩
· 2025-02-05 22:00:57
defer在 Go 语言中,`defer` 用于延迟调用指定函数,它只能出现在函数内部,由 `defer` 关键字以及某个函数的调用表达式组成。我们可以理解 `defer` 调入一个函数执行栈 的过程,然后再依次取出。简单例子如下:```gofunc printStr() { defer fmt.Println("函数执行结束前一刻才会被打印。") f
....正在加载