vibe coding 博客迁移翻车与自救实录
也就没想到,给一个静态博客换主题,能整出这么多幺蛾子。 事情的起因很简单——NexT 主题用了好几年,审美疲劳了,想换个新鲜。刚好最近被 vibe coding 这套说法洗脑,想着要不就实践一把,用”氛围感”驱动开发,快速迭代,边写边看。 结果? vibe 是 vibe 了,coding 是 coding 了,就是中间翻车的过程不太 vibe。 动手前:先保命这次倒没上头直接开干。毕竟博客写了这么多年,真搞丢了也挺心疼的。 先做了三件事: 整站备份,内容和主题全塞进 backup/2026-02-25-next-migration/ gi...
黑果的尽头是白果
算是印证了标题,黑果玩到最后,不想折腾了,就会去买白果的。从去年m1发布后,我就一直在翘首以待下一代arm版的macbook pro,终于,10月20号,搭载m1 Pro/Max 的 macbook pro 发布了,在国区解锁购买的早上,我就火速购入了。 苹果也知道自己的东西贵,所以整了24期免息,对我这种虽然存好了钱但是不想一下子花光的人真是福音。我买的配置是16寸,Pro,32g,1tb,官网购入,23999,加上去大别那整的ac+,2450,总花费26449,其中23999分24期免息,每个月只要1000来块,和不要钱一样(笑。...
Openwrt Clion 环境配置指南
因为 openwrt对 golang 支持不佳,被迫写C,所以不得已使用 Clion 来对印度人的开源项目进行二次开发,印度人的项目使用的管理工具是 autoconf ,而 Clion 对 autoconf的支持实在不行,在经历了三个月纯粹把IDE当成 “有全局查找功能的编辑器” 后,忍无可忍 ,就有了创建独立于老代码的新项目,然后在老代码里引用新项目动态库的想法。 用 Clion 给 Openwrt 开发软件,首先得给 Clion配置上 openwrt的工具链,以 linux 上的 Clion 为例 , 在 setting -> B...
Openwrt QSDK 坑
最近接手我司路由器固件开发,作为对openwrt 以及QSDK完全没有经验和理解的小白,踩了一些坑,留篇笔记,以做纪念 dts的目录在:qsdk/qca/src/linux-4.4/arch/arm(or arm64)/boot/dts 修改板子的名称后,需要修改对应的生成网口的脚本添加匹配选项。脚本的目录在这:qsdk/target/linux/ipq/base-files/etc/uci-defaults ...
为什么 goroutines 不是轻量化的线程
原文地址我没去获得授权来着,随手翻译一下就当做笔记了 如今 golang 获得了从前不可想像的流行度,其主要原因是它那由 goroutines 与 channels 组合所提供简单且轻量的并发开发体验。 并发已经存在于线程很长一段时间,最近几乎所有应用都使用到了这一特性。 要去了解为什么 goroutines 并不是轻量化的线程,我们需要先了解线程如何在 OS 上进行工作。 如果你已经对线程很熟悉了,你可以直接跳转到这。 什么是线程?一个线程既是可被一段可被处理器所执行的指令顺序,线程 ( Thread ) 比进程 ( process ) ...
Go 的调度器 : Ms , Ps 以及 Gs(翻译)
注意,原文发布日期为2017年5月3日,至今已有3年 , 而 go 语言已然从 1.10 进化到了 如今的 1.14 , 所以本篇的内容时效性并不做保证,仅用以学习理解。 基础 Go 的 runtime 调度器把 goroutines 映射为操作系统的线程,所以实质上, goroutines 是轻量化版本的,可以以极低的开销运作的线程。 所以 gotoutines 既是 G.M.P 模型里面的 G 。runtime 会追踪每一个 G ,并把他们映射到每一个逻辑处理器 (Logical Processors) , 即 P 。P 可以...
拯救黑苹果
由于穷的缘故,我一直使用 Hackintosh 作为我的主力开发机,当然,我一直以攒够钱就去买 macbook 为目标 ,然而这个目标更像是一个 flag , 毕竟由于疫情原因,公司的生意确实没啥起色。而两周前,在完美升级完了 10.15.4 后,这台机子突然就睡死了,睡死之后就再也无法唤醒。于是开始了持续两周黑苹果拯救计划。 第一天和第二天都在尝试使用 OpenCore 和 Clover 来重新安装,耗费了我好多时间。看着报错一堆 “Apple nvme assert error” ,还以为是兼容性啥的出了问题,搜了几乎全网的解决方案...
春节至今的一两点琐事
也就没想到这台switch买的这么是时候。 这些天因为大家都知道的那档事,呆家里呆了蛮久的,正当我在家玩switch咸鱼了半个月之际,猛的想起我毕设前端还没整,于是瞎几把抄起了键盘撸了个前端demo出来。其实快两年没写基于Nodejs的前端了,心来还是有点发虚,给垃圾笔记本win10切换到了慢速预览版,整上了wsl2,装上了docker,开起iTunes,听起了李宗盛,卸载了本身电脑里的nodejs和yarn,给wsl2里的ubuntu装上这俩玩意,因为wsl2会直接给你引用windows系统环境变量以及一些软件啥的。 整好yarn后,找了找...
关于protobuf的json处理
就打了那么久go代码了,一般需要处理json的时候一般都是Json Marshal Unmarshal一刷子搞定,但这次遇到了一个坑,那就是marshal into interface{} 。 对于处理marshal into interface{} 问题我之前都是使用jsoniter这个库来解决的,一般来说都能用,但这次是通过protobuf生成的文件,因为流表许多不同的结构,导致了protoc文件在同一字段使用了大量oneof来处理。也就导致了我们生成了一个看似interface而又有具体类型的结构。 主要解决还是这个的Marshal form...
grpc折腾笔记(1)
最近公司准备整项目,需要用到python 和 golang 协同工作,而如何协同这一问题,在restful api 和 grpc之间,我们选择了grpc 。 Protoc-gen-go 报错首先第一条报错: 1protoc-gen-go: program not found or is not executable 一看就知道是没安装好对吧?咱们再安装一遍 1go get -d -u github.com/golang/protobuf/protoc-gen-go 然后 1go install github.com/golang/proto...