- 博客(280)
- 收藏
- 关注
原创 走过 2023
分享 2023 年完成的三个小作品。在 ChatGPT 的帮助下,去年做了两个 Google Chrome 插件,其中一个用户快 4K 了。完成了一个付费小报童专栏:《这一次彻底搞定 TODO 管理》,目前用户数还不多。曹大博客目录页这个插件的作用是给曹大博客生成一个目录页,方便定位到历史文章。页面非常简洁漂亮,并且做了暗黑模式。曹大读者记得安装,地址在这里[1]。批量删除 ChatGPT 对话经...
2024-03-03 19:17:01
478
原创 到底是手写笔记好,还是电子笔记好?
快刀青衣最近更新 AI 文章很频繁,看得出来,产品经理还是更关注如何做出来一些可用的产品。因为得到总编室之前打磨了很多课程,他们在知识萃取上有很多经验,所以做了一个叫做“开始练练”的小程序,基于企业的知识库做一个“问答机器人”(我自己的理解)。群里有人在讨论笔记相关的事情。快刀秀出了自己的做法。哈哈,第二大脑说的很玄,具体干点啥就成。我分享下我的干法吧,我每天笔记先收集到 flomo,然后晚上集中...
2023-12-09 19:00:11
641
原创 如何一键生成前端代码
作为后端程序员,我一直想独立开发一个产品,哪怕只是一个简单的落地页。但由于前端开发对我来说颇有难度,这个愿望一直未能实现。直到 ChatGPT 发布,我才借助它来共同开发了一个名为“Bulk Delete ChatGPT”的插件,至今已拥有超过1600名用户,并时常收到好评。由于插件依赖于 ChatGPT 官网的页面样式,而官网经常更新,因此需要频繁更新插件代码。但由于我的能力限制,无法及时发布最...
2023-12-05 19:02:09
617
转载 【新书抽奖】Go 语言进阶,这样学!
或许你并未察觉,身边的奇迹往往由简单的元素组成。金字塔和狮身人面像由沙石堆砌而成,作为生物体遗传密码的DNA,也不过是由几种基础的核苷酸组合而成的。当图灵在1936年提出图灵机的概念时,谁又能够想到,仅仅让机器遵循一些简单的规则就足以构建出今天丰富多彩的数字世界。同样地,今天软件工程中许多令人眼花缭乱的框架与概念,都不过是基础元素的整合。但是简单元素的灵活组合,逐渐带来了让人无法轻易掌控的复杂度。...
2023-09-08 08:00:43
172
原创 如何使用 Raycast 一键打开预设工作环境
工作中,你一定遇到过这样的场景:你正在认真写代码,线上突然出现报警。看到报警信息之后,你不得不打开浏览器,点开收藏夹,打开监控页面、告警页面、trace 页面、日志搜索平台……有时,还需要打开特定的文件或者软件,比如你记在本地的一些常用的命令文件、iterm2 等等。这些网页、文件、软件,很可能每次遇到 报警时都要打开。这种重复的工作有没有可能一键自动完成呢?可以。借助 Raycast 可以非常方...
2023-06-05 07:45:22
1137
原创 ChatGPT 与我合力开发 xargin blog archive 插件:曹大博客的新奇探险
之前写的批量删除 chatGPT 对话的插件[1],最近我收到了一个五星好评:虽然不赚钱,交个朋友嘛,还是挺高兴的。而且借助 chatGPT,我是在与全世界的用户交流,想想就激动。最近我发现自己让 chatGPT 帮忙写前端代码有点上瘾,这不又上架了一个 chrome 插件:Xargin Blog Archive[2]。它的主要功能就是在曹大的博客 xargin.com 上添加一个 archive...
2023-05-28 17:47:06
1053
转载 【文末抽奖】豆瓣 9.1:终于有人把Go垃圾回收讲明白了
豆瓣鲜有的原创9.1高分Go语言图书《Go专家编程》,最近出版社的编辑老师告知刚刚出了第二版,这是一本定位于 Go 语言进阶的书籍,主要讲解 Go 语言特性的实现机制,但为了照顾新手程序员,也为了循序渐进、由浅入深地展开介绍,在介绍特性前也会从基础用法讲起。在讲解 Go 语言实现原理时,书中尽可能地使用源码中的数据结构,并配以适量的图文来帮助理解。除了对 Go 语言特性的介绍,还包含一些精心设计的...
2023-05-27 13:24:02
183
1
原创 和 GPT-4 结队编程开发批量删除 chatGPT 对话插件
我和 GPT-4 一起开发了一个 Chrome 插件,可以批量删除 chatGPT 网页版上的对话,废话少说,先看效果:youtube[1]Github 地址[2]插件地址[3]视频号地址(手机上可以用微信扫码):背景作为一名后端工程师,基本没写过啥前端代码。但是自己独立写一个有 UI 界面的作品出来给用户使用,一直是个梦想。无奈动手写的成本太高,也尝试过学习前端语言,但是时间精力问题,一直也没成...
2023-05-08 08:00:31
945
原创 如何使用 GPT-4 为博客目录页打造炫酷前端效果
前不久我用 cmd markdown 写了篇文章《项目 TO 的自我修养》,文章的目录如下:当我把它发布到线上后,目录却只展示出了二级标题:这哪行!我猜这个可能就是加个配置啥的就能修复。于是马上就问 GPT-4 怎么办?虽然不仅仅是改配置,但看起来很简单,于是我立即照做。改完之后,打开博客,这回连目录都没有了,而且是一闪而过。接着问吧,GPT-4 也很快给出了新方案:这回有目录了,但是还是只有 h...
2023-04-17 08:02:28
1135
原创 项目 TO 的自我修养
最近作为项目 TO 在公司内完成了一个涉及面比较广的项目,对于如何推动项目上线有一些经验和大家分享。希望刚毕业几年、没有参与过大型项目的同学,从中能学到一些方法,为今后担任项目主力做一些准备。所谓的 TO,是 Technical Owner 的缩写,是一个项目的技术负责人。互联网公司里,每个需求都需要确定一个 owner,他负责需求的方案评审、进度对齐、问题解决、整体上线。大一点的项目,就要强调 ...
2023-04-03 08:30:02
812
原创 如何写一个 things3 client
Things3[1] 是一款苹果生态内的任务管理软件,是一家德国公司做的,非常好用。我前后尝试了众多任务管理软件,最终选定 things3,以后有机会会写文章介绍我是如何用 things3 来管理我的日常任务。本文主要介绍欧神写的 tli[2] 工具来学习如何写一个定制的通过邮件和 things3 沟通的工具。很多软件都有类似的邮件功能,例如给绑定的 kindle 邮件地址发送电子书文件,就可以在...
2023-02-19 21:11:05
338
原创 走过 2022
“听过很多道理,依然过不好这一生”。每年写年终总结也是。但是审视自己在过去一年的表现依然是必需的。“吾日三省吾身”,更好的当然是每天都有所反思。世间很多事都离不开反馈,写总结就是一个很好的反馈。经历了过去荒诞的一年,对很多事都无可奈何。22 年最后一天还得知初中同学因抑郁离世的消息,悲痛和无力。工作工作上没有太大长进,按部就班。年中换了新工作,见识了新系统的玩法。不是所有的系统都是大流量高并发,设...
2023-01-02 22:09:27
439
转载 三种获取 Go 项目根目录的方式
在搭建项目中一般都会有确定项目根目录的绝对路径的需求,一旦有了根目录的绝对路径,就能以这个根目录为基准,设置静态文件、配置文件所在的目录,这样做的好处是无论把项目部署到哪个目录下,执行程序时都不会出现No such file or directory这样的错误。今天就总结一下在 Go 程序里边怎么获取项目的根目录绝对路径。在网上搜索怎么获取 Go 项目的根目录,一般有三种,分别依赖 Go 的以下...
2022-12-30 08:00:53
2884
原创 几个小设置让 mac 更好用
今天在 youtube 上看到一个视频[1],讲新 mac 到手后一定要做的几个设置,有几个之前我不知道的小设置,非常好用,看完马上就用上了。一些常用的就不列了,比如说设置点按、三指拖拽,不知道的可以去搜索了解,属于是基操。finder 设置搜索时,默认搜索当前文件夹里的内容而不是整个 mac。整个 mac 搜索起来会很慢,即使你真的是想搜索整个 mac,也可以在结果出来后,点“这台 mac”重新...
2022-12-26 08:05:17
645
原创 深度阅读之《100 Go Mistakes and How to Avoid Them》
继《Mastering Go》和《Concurrency in Go》[1]之后,这是我精读的第 3 本 Go 主题的英文书了。全书 390+ 页,从开始读到全部读完,快 2 个月了,????。前不久曹大连接发了几个关于《100 mistakes》的视频,多猜他大都是看看标题,看看代码,就知道要说什么了,并且很快就跳过去,速度飞快。我开始设想的是除了读懂内容,还想练习一下英语阅读,慢就慢吧。不过,我过后...
2022-12-12 09:00:22
905
转载 关于 Go 的一些面试题及答案
不知道你发现没,国内外 Go 的环境都越来越好了,Go 背靠 Google 公司,社区活跃,还有 Docker、Kubernetes 这样的杀手级应用,已然成为云计算时代的首选编程语言。字节Go 是主力语言,腾讯 Go已超越C++,成为最热门的编程语言,华为、百度、小米、京东等很多公司都在积极转向 Go 语言,这促成了 Go 在招聘市场的火爆。岗位多:连续 2 年位居需求技能榜 No1,掌握 ...
2022-12-01 09:00:52
582
原创 《Go 程序员面试笔试宝典》上市半年多了~
周末发布的文章《Go map 竟然也会发生内存泄漏》上榜了!博客园编辑推荐,博客园首页第一篇文章就是它。几年前每次文章正文前都是上这榜、上那榜,现在想想还怪不好意思的。想想已经很长时间没关注过这些“榜单”了。自己写出来的东西能够获得别人的认可当然很重要,文章阅读量、转发量,这些数据在推着我们写下去。但最重要的还是作者在写作过程中得以梳理自己的知识系统。思考得以完全,能力得以提升。今年 4 月份,我...
2022-11-16 08:50:33
318
原创 Go map 竟然也会发生内存泄漏?
Go 程序运行时,有些场景下会导致进程进入某个“高点”,然后就再也下不来了。比如,多年前曹大写过的一篇文章[1]讲过,在做活动时线上涌入的大流量把 goroutine 数抬升了不少,流量恢复之后 goroutine 数也没降下来,导致 GC 的压力升高,总体的 CPU 消耗也较平时上升了 2 个点左右。有一个 issue[2] 讨论为什么 allgs(runtime 中存储所有 goroutine...
2022-11-13 12:46:31
125
转载 平台到底有什么价值?
感谢匿名用户X的投稿。不知不觉已经过了靠纯代码输出来做事情的阶段,很多时候做事情变成了说服别人做事情本身的价值,自己体力输出对于公司的贡献度已经越来越小了。作为一个架构师,需要能够帮助部门和公司走上正确的路线,避免无意义的内卷和消耗,以免让一线的开发心灰意冷无所成长最终提桶跑路。2017 年,美团在南京上线了打车业务,滴滴上下为之震惊。彼时滴滴在本土兼并收购,打跑了洋人对手 Uber,正是意气风发...
2022-09-18 09:31:41
399
转载 学会 Go 中的时间处理
作为程序员,我们经常需要对时间进行处理。在 Go 中,标准库 time 提供了对应的能力。本文将介绍 time 库中一些重要的函数和方法,希望能帮助到那些一遇到 Go 时间处理问题就需要百度的童鞋。应对时区问题在编程中,我们经常会遭遇八小时时间差问题。这是由时区差异引起的,为了能更好地解决它们,我们需要理解几个时间定义标准。GMT(Greenwich Mean Time),格林威治平时。GMT 根...
2022-09-07 08:44:59
209
原创 你说的下游是 upstream 吧?
工作中,有一些术语比较容易混淆,聊半天,最后发现双方对术语的理解不一致。这个时候用英文原本的表达或者换一种方式来表述能让沟通更顺畅。像我们经常说的『上下游』便是经常发生混淆的一对名词。以前,我经常说『梳理一下我们依赖的下游』,后来发现这种说法是错误的。正确的是:梳理一下我们依赖的上游。是不是听着很奇怪?可以这样理解,越是上游的地方,越是离源头更近的地方,源头就是指数据源。...
2022-08-01 08:30:54
332
原创 将博客迁移到了 Cloudflare Pages
上个月把博客从 hexo 迁移到了 hugo,博客数据、发布流程全部托管到 github。之后把之前写的一篇《那些年曹大写的文章》搬了过来,其他文章暂时下线了。上周在折腾博客 css 的时候,aofei 说不如迁移到 Cloudflare,还能全球 cdn 加速。于是又动手迁移到 Cloudflare Pages,顺便又修改了一些 css,目前博客样式比较顺我的意。这篇文...
2022-07-20 09:56:40
612
转载 从Go log库到Zap,怎么打造出好用又实用的Logger
日志无论对于程序还是程序员都非常重要,有多重要呢,想要长期在公司健健康康的干下去就得学会阶段性划水,阶段性划水的一大关键的就是干活快过预期但是装作。。。不对,这个开头不对劲,下面重来。日志无论对于程序还是程序员都非常重要,程序员解决问题的快慢除了经验外,就是看日志能不能有效地记录问题发生的现场以及上下文等等。那么让让程序记录有效的日志,除了程序内记日志的点位尽量精准外,还...
2022-07-18 18:15:34
210
转载 每个 gopher 都需要了解的 Go AST
最近业务迁移,大约 100+ 个接口需要从旧的服务,迁到公司框架。遇到几个痛点:结构体 dto 做 diff, 对比结果自定义的结构体与 protobuf 生成的互相转换,基于 json tag这类工作要么手写(编译期), 要么 reflect 反射实现(运行时)。其中 #1 考滤到性能问题,手写最优,但是结构体太大,同时 100+ 个接口迁移,工作量可以想象google...
2022-05-07 09:00:00
2524
转载 Go 处理大数组:使用 for range 还是 for 循环?
我们知道,Go 的语法比较简洁。它并不提供类似 C 支持的 while、do...while 等循环控制语法,而仅保留了一种语句,即 for 循环。fori:=0;i<n;i++{......}但是,经典的三段式循环语句,需要获取迭代对象的长度 n。鉴于此,为了更方便 Go 开发者对复合数据类型进行迭代,例如 array、slice、c...
2022-05-06 09:00:00
157
转载 最后一波:《Go 程序员面试笔试宝典》送书
第二波活动已结束,今天是最后一波,继续送我和欧神最近出版的《Go 程序员面试笔试宝典》实体书。关于书的故事,可以看这篇文章:我和欧神合作的《Go 程序员面试笔试宝典》出版了!,这里就不过多赘述了。很多留言都很走心,非常感谢大家的支持。纸质书目前在京东、当当、淘宝、拼多多均已上架。赠送规则:在评论区留言写下你和码农桃花源或者和本书的故事,我会挑 5 位留言写得好的读者送出。...
2022-04-25 08:35:00
530
转载 第二波:《Go 程序员面试笔试宝典》送书
第一波活动已结束,第二波马上来袭,继续送我和欧神最近出版的《Go 程序员面试笔试宝典》实体书。关于书的故事,可以看这篇文章:我和欧神合作的《Go 程序员面试笔试宝典》出版了!,这里就不过多赘述了。第一波活动留言很精彩,非常感谢各位读者朋友的支持。纸质书目前在京东、当当、淘宝、拼多多均已上架。赠送规则:在评论区留言写下你和码农桃花源或者和本书的故事,我会挑 4 位留言写得好...
2022-04-24 08:50:00
402
转载 第一波:《Go 程序员面试笔试宝典》送书
今天是 4.23 世界读书日,来送几本我和欧神最近出版的《Go 程序员面试笔试宝典》实体书。关于书的故事,可以看这篇文章:我和欧神合作的《Go 程序员面试笔试宝典》出版了!,这里就不过多赘述了。纸质书目前在京东、当当、淘宝、拼多多均已上架。赠送规则:在评论区留言写下你和码农桃花源或者和本书的故事,我会挑 3 位留言写得好的读者送出。最终解释权归「码农桃花源」所有。开奖时间...
2022-04-23 11:51:40
718
转载 Go语言定制指南 - 自主可控从自我定制开始
Go语法树是Go语言源文件的另一种语义等价的表现形式。而Go语言自带的`go fmt`和`go doc`等命令都是在Go语法树的基础之上分析工具。因此将Go语言程序作为输入数据,让我们语法树这个维度重新审视Go语言程序,我们将得到创建Go语言本身的技术。Go语法树由标准库的`go/ast`包定义,它是在`go/token`包定义的词法基础之上抽象的语法树结构。本书简单介绍...
2022-04-22 17:14:57
651
转载 图解 Go GC
转载自曹大公众号,不光是图,还有动画,读完对 Go GC 会有一个高层次的理解。这一篇是之前给极客时间 tony bai 老师专栏的供稿,经过编辑的同意,延迟几个月后可以在我的个人号上发出~本文内容只作了解,不建议作为面试题考察。武林秘籍救不了段错误包教包会包分配在各种流传甚广的 C 语言葵花宝典里,一般都有这么一条神秘的规则,不能返回局部变量:int*func(vo...
2022-04-12 09:55:27
361
转载 IO 密集型服务 性能优化实战记录
背景项目背景Feature 服务作为特征服务,产出特征数据供上游业务使用。服务压力:高峰期 API 模块 10wQPS,计算模块 20wQPS。服务本地缓存机制:计算模块有本地缓存,且命中率较高,最高可达 50% 左右;计算模块本地缓存在每分钟第 0 秒会全部失效,而在此时流量会全部击穿至下游 Codis;Codis 中 Key 名 = 特征名 + 地理格子 Id + 分...
2022-04-11 08:32:27
1419
转载 Go 之父:聊聊我眼中的 Go 语言和环境
大家好,我是煎鱼。之前春节假期,在家闭关多日。看到了在 2021 年 6 月 Go 语言之父 Rob Pike 在 UNSW Computing(悉尼新南威尔士大学计算机)组织的分享会议,介绍了他对现在 Go 编程语言和环境的一些看法。今天煎鱼结合大佬的演讲《The Go Programming Language and Environment》和一点个人理解给大家分享一...
2022-04-07 09:00:00
280
转载 计算密集型服务 性能优化实战始末
背景项目背景worker 服务数据链路图worker 服务消费上游数据(工作日高峰期产出速度达近 200 MB/s,节假日高峰期可达 300MB/s 以上),进行中间处理后,写入多个下游。在实践中结合业务场景,基于快慢隔离的思想,以三个不同的 consumer group 消费同一 Topic,隔离三种数据处理链路。面对问题worker 服务在高峰期时 CPU Idle ...
2022-04-06 18:00:00
565
转载 写了 30 多个 Go 常用文件操作的示例,收藏这一篇就够了
Go官方提供的文件操作标准库分散在os、ioutil等多个包中,里面有非常多的方法涵盖了文件操作的所有场景,不过因为我平时开发过程中需要直接操作文件的场景其实并不多,在加上 Go 标准库的...
2022-03-21 09:00:00
235
原创 你应该如何学习?
最近看到耗子叔发布了一个他公司内的小伙子内部分享的视频[1],很是佩服。对于我们也很有学习的意义,特地和大家分享。在这个视频里他讲了自己如何在非 CS 背景下,系统性学习 CS 核心基础知...
2022-03-20 09:00:00
342
1
转载 为什么你不应该接受有 race 的代码
在任何语言的并发编程场景中,都有 race 问题,现代语言为了解决 race 问题有两种思路,一种是像 rust 那样的通过所有权+Sync/Send 限制用户尽量无法写出带 race 的...
2022-03-07 09:00:00
178
转载 Go大型项目实战:项目结构、配置管理、API设计
著名编程语言排名指数TIOBE近期发布了2021年各大主流编程语言最终排名,与2020年相比,2021年Go从第14名上升到第13名,继续保持稳健的发展节奏。并且TIOBE配文中认为,除了...
2022-03-07 09:00:00
902
原创 让人迷糊的 socket udp 连接问题
公司内部的一个 golang 中间件报 UDP 连接异常的日志,问题很明显,对端的服务挂了,自然重启下就可以了。哈哈,但让我疑惑的问题是 udp 是如何检测对端挂了?err:write...
2022-03-04 09:21:05
1495
转载 使用 Go 实现生产者和消费者,Kafka 正式升级到 3.0!
Kafka 是消息队列中间件的代表产品,它与RocketMQ和RabbitMQ最大的区别在于:在某些场景,可以弃用Flink、Spark这样的计算引擎,借助Kafka Stream轻松实现...
2022-02-22 18:00:00
601
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人