IT博客汇
首页
精华
技术
设计
资讯
扯淡
权利声明
登录
注册
相关标签
作者:
Jiajun的技术笔记
1998
source
关注
love
0
Jiajun的技术笔记
发表于
2024-11-20 00:00:00
自建DERP服务器提升Tailscale连接速度(使用Nginx转发)
《自建DERP服务器提升Tailscale连接速度(使用Nginx转发)》官方文档里,DERP服务器默认是直接占用443端口的,但是我的服务器上已经有了Nginx服务,因此好一顿折腾,终于成功了。## 安装DERP... ...
继续阅读 (2)
love
0
Jiajun的技术笔记
发表于
2024-11-07 00:00:00
自动升级Docker容器
《自动升级Docker容器》我有一些自托管软件,都是以Docker容器的形式运行的。之前都是隔段时间手动升级,不够方便。因此花了点时间写了一个自动升级脚本,一劳永逸... ...
继续阅读 (3)
love
0
Jiajun的技术笔记
发表于
2024-08-30 00:00:00
HTTP 压力测试中的 Coordinated Omission
《HTTP 压力测试中的 Coordinated Omission》HTTP负载测试工具有很多,常见的有 ApacheBench,也就是 ab,还有 wrk、vegata等。在了解这些工具时,我了解到一个新的概念:Coordinated Omission,来看 GPT 的解释... ...
继续阅读 (13)
love
0
Jiajun的技术笔记
发表于
2024-07-24 00:00:00
2的补码
《2的补码》计算机的底层是一堆的bit,具体怎么理解bit,取决于我们怎么解释,对于同样的8个bit,例如 `11111111`,我们可以把它看成是一个无符号数,也可以看成是一个有符号数。如果我们把它看成是一个无符号数,那么它的值就是255,如果我们把它看成是一个有符号数,那么它的值就是-1, 如果理解为字符,那么它就是一个字符,具体是什么字符,取决于编码方式,如果是ASCII编码,那么它就是DEL字符... ...
继续阅读 (23)
love
0
Jiajun的技术笔记
发表于
2024-07-21 00:00:00
编程语言中的 context 是什么?
《编程语言中的 context 是什么?》最近在看 CSAPP3e,看到讲 context,想起这个概念在学习编程的时候经常遇到,却没有一个准确清晰的定义。随着在工作中逐渐积累,才有一些感觉。准确的来说,context,就是一堆状态(state)。举几个例子来看不同场景下的 context... ...
继续阅读 (22)
love
0
Jiajun的技术笔记
发表于
2024-03-19 00:00:00
Flatpak 使用小记
《Flatpak 使用小记》一般的软件,都是直接用apt安装,不过桌面上有一些软件例如浏览器,是更新很频繁的,apt仓库的基本都过时了老旧了,因此有了flatpak 和 snap 这样的软件,不过我不是很喜欢snap,正好今天尝试了一下 flatpak,以Ubuntu/Debian为例... ...
继续阅读 (92)
love
0
Jiajun的技术笔记
发表于
2024-03-09 22:37:04
Golang CAS 操作是怎么实现的
《Golang CAS 操作是怎么实现的》在Go语言中,CAS(Compare and Swap) 操作一般都是通过 `atomic` 操作来实现的,我们来探究一下底层是怎么实现的。我们以 `CompareAndSwapInt32` 为例,首先找到源码,位于 `doc.go`... ...
继续阅读 (125)
love
0
Jiajun的技术笔记
发表于
2024-03-08 16:34:42
PostgreSQL 当MQ来使用
《PostgreSQL 当MQ来使用》一般我们都是用 Redis/RabbitMQ等等 来做MQ,那么,能不能使用关系型数据库来做这件事情呢?显然,可以。## 设计存储表... ...
继续阅读 (69)
love
0
Jiajun的技术笔记
发表于
2024-03-08 00:00:00
Clash 结合 工作VPN 的网络设计
《Clash 结合 工作VPN 的网络设计》这个是我曾经探索实践过的方案,主要用于学习工作,但是看网络上有不少人有同样的疑惑,因此整理一下分享给大家。Clash是一个网络分流工具,为了方便使用,我直接在 OpenWRT 也就是路由器这一层面搭建的Clash,因此只要在局域网内都可以获得流畅的网络... ...
继续阅读 (60)
love
0
Jiajun的技术笔记
发表于
2024-03-05 00:00:00
PostgreSQL 配置优化和日志分析
《PostgreSQL 配置优化和日志分析》## 性能PG默认的配置下,连接数和缓存等都不是很大,因此我们需要根据机器的情况来优化参数,这里我推荐一个工具 [pgtune](https://pgtune.leopard.in.ua/) ... ...
继续阅读 (88)
love
0
Jiajun的技术笔记
发表于
2024-03-03 00:00:00
有GitHub Copilot?那就可以搭建你的ChatGPT4服务
《有GitHub Copilot?那就可以搭建你的ChatGPT4服务》我有Github Copilot,也订阅了GPT Plus,GPT Plus 20刀每月,我看了一下其实我用的不是特别多。本着开猿节流,降本增笑的精神,我停止续订了GPT Plus,并且着手于找到 GPT Plus 的替代方案... ...
继续阅读 (67)
love
0
Jiajun的技术笔记
发表于
2024-03-01 00:00:00
窗口函数的使用(以PG为例)
《窗口函数的使用(以PG为例)》很少做数据统计,之前一直没有接触和使用窗口函数。今天看了一下文档,发现在统计领域,窗口函数非常强大,当然,缺点就是把计算量移到了数据库这一层,但是没关系,对于少量数据,直接一条SQL解决,cool!... ...
继续阅读 (38)
love
0
Jiajun的技术笔记
发表于
2024-01-16 00:00:00
读《为什么学生不喜欢上学》
《读《为什么学生不喜欢上学》》我喜欢学习和探索,更喜欢学习自己是如何学习的。这本书就是“元认知”类型的:学习自己是如何学习的。以下为摘录和我的归纳。- 人天生有好奇心,想要探索不知道的东西。但是人并不是天生就喜欢思考,相反,大脑会避免思考。因此,每一个阶段,它能思考... ...
继续阅读 (82)
love
0
Jiajun的技术笔记
发表于
2024-01-07 00:00:00
OpenAI Prompt Engineering 摘录和总结
《OpenAI Prompt Engineering 摘录和总结》这篇文章是指导如何写出比较好的prompt,本文是我的摘录和总结。原文链接:https://platform.openai.com/docs/guides/prompt-engineering/strategy-write-clear-instructions... ...
继续阅读 (71)
love
0
Jiajun的技术笔记
发表于
2023-12-17 00:00:00
VueJS 总结
《VueJS 总结》使用Vue有一段时间了,可能因为使用场景比较少,一直都感觉不得要领,最近终于有一种融会贯通的感觉了,理解了大部分使用场景和技巧。这篇文章是我的总结... ...
继续阅读 (60)
love
0
Jiajun的技术笔记
发表于
2023-11-16 00:00:00
FreeBSD 和 Linux 网卡聚合实现提速
《FreeBSD 和 Linux 网卡聚合实现提速》今天折腾的内容是网卡聚合提速。由于家里的交换机是2.5G,但是有两个机器,板载网卡都是千兆网卡,我想提升一下访问该机器的传输速率,因此想到了可以叠加两个网卡,从而提升带宽,由于两台机器的操作系统不同,因此FreeBSD和Linux都折腾了一下... ...
继续阅读 (83)
love
0
Jiajun的技术笔记
发表于
2023-11-15 00:00:00
GPT 帮我搞定了时区转换问题
《GPT 帮我搞定了时区转换问题》前几天碰到一个时区转换问题,需要把2023年(year)第46周(week)的第2天(weekday)转换为timestamp,时区在美国洛杉矶。其中weekday使用0表示周一,6表示周日... ...
继续阅读 (55)
love
0
Jiajun的技术笔记
发表于
2023-11-12 00:00:00
长任务系统如何处理?
《长任务系统如何处理?》有时候我们会遇到一些长时间运行的任务,应该如何处理呢?可能你的第一回答是“使用异步任务”,没错,是需要使用异步任务,但没有那么简单。常见的异步任务框架,针对的场景,大部分可能都是1分钟以内的任务,例如很多框架都会为任务设置一个超时时间... ...
继续阅读 (65)
love
0
Jiajun的技术笔记
发表于
2023-11-11 00:00:00
macOS/Linux 编译 InputLeap
《macOS/Linux 编译 InputLeap》上一篇说到,我安装了 synergy-core,但是是下载别人编译好的二进制。我就想着,反正我也能编译,干脆改改源码,把Synergy里烦人的激活提示框干掉得了?但是又想到,Barrier本来就是改好了的,只是不维护了,InputLeap 又是 Barrier 的继任,那我就直接自己编译 InputLeap 试试看了... ...
继续阅读 (74)
love
0
Jiajun的技术笔记
发表于
2023-11-10 00:00:00
使用开源软KVM - synergy-core
《使用开源软KVM - synergy-core》前面我写过使用barrier的文章,Linux + Windows的时候,Linux做服务端,Windows做客户端,工作的还是挺不错的,大部分时候都能正常工作,偶尔剪贴板会有点小问题,比如贴出来的是乱码,第二次贴才正常,但是无伤大雅... ...
继续阅读 (66)
love
0
Jiajun的技术笔记
发表于
2023-11-06 00:00:00
解决 macOS 终端hostname一直变化问题
《解决 macOS 终端hostname一直变化问题》macOS 终端有时候名字会变化,网上查到的原因说是因为 macOS 会从 DHCP 服务器取值,解决的办法很简单,执行如下命令(假设你准备把hostname改成 mbp)... ...
继续阅读 (67)
love
0
Jiajun的技术笔记
发表于
2023-11-05 00:00:00
KVM 共享 Intel 集成显卡
《KVM 共享 Intel 集成显卡》我比较喜欢折腾虚拟化,最近在折腾的就是这个:把宿主机的 Intel 集成显卡 给 Windows 虚拟机使用。Intel 平台做这个事情非常方便,因为官方有 Intel GVT-g 项目,就是用来把宿主机生成多个虚拟 GPU 给虚拟机用的... ...
继续阅读 (108)
love
0
Jiajun的技术笔记
发表于
2023-02-03 00:00:00
为什么要把复杂的联表操作拆成多个单表查询?
《为什么要把复杂的联表操作拆成多个单表查询?》我们在系统优化的时候,常见的一个操作,就是把复杂的联表操作,拆解成多个单表操作,然后在应用程序中进行联接。为什么要这样做呢?相信大家都可以列出几点。不过《高性能MySQL 第四版》对此有很好的总结,值得细品。摘录如下... ...
继续阅读 (53)
love
0
Jiajun的技术笔记
发表于
2023-01-31 00:00:00
红包系统的设计
《红包系统的设计》秒杀系统中,很常见的一种就是抢红包,还有其他的例如:双11抢购、直播间秒杀下单、一元夺宝等等。其中抢红包的特点在于无法超售,对于下单,如果比库存超售少许,其实是可以接受的,但是对于红包,一旦用户抢到的钱比发出去的钱更多,那就是大问题了。当然,抢购也有特定的业务复杂度,例如下单之后,用户可能没有付款,超时之后需要重新把库存加回去等。我们这里主要讨论红包系统... ...
继续阅读 (45)
love
0
Jiajun的技术笔记
发表于
2022-12-31 00:00:00
2022年终总结
《2022年终总结》2022年是忙碌的一年,也是收获满满的一年。今年的博客比往年又要少,一则是太忙了没有时间,二则是太水的文章也没有很大的意义,以后也是如此,希望能够越钻越深,产出有质量的文章... ...
继续阅读 (48)
love
0
Jiajun的技术笔记
发表于
2022-12-16 00:00:00
Go mod 简明教程
《Go mod 简明教程》最近认真学习了一下 `go mod`,整理成文。这篇文章是系统的了解 `go mod`,并不是简单介绍如何使用。在 `go mod` 出来之前,社区采用的是类似 `NodeJS` 那种模式,`vendor`,也就是把所有的包都保存在 `vendor` 这个目录下,但是... ...
继续阅读 (64)
love
0
Jiajun的技术笔记
发表于
2022-12-04 00:00:00
OpenWRT 使用 Android/iOS USB 网络
《OpenWRT 使用 Android/iOS USB 网络》我所在的地方网络不好,于是计划用 4G/5G 网络,但是开热点有个缺点,那就是WiFi本身新号未必稳定,第二无法让它经过OpenWRT实现全局科学上网。一个方案是购买 CPE,也就是 4G路由器,或者5G路由器,将手机信号转换成有线信号,然后作为 OpenWRT 的网络入口... ...
继续阅读 (52)
love
0
Jiajun的技术笔记
发表于
2022-11-20 00:00:00
搭建旁路由
《搭建旁路由》有一台机器处于这样的环境:有DNS污染、无法访问外网,而经常又需要下载一些依赖需要外网。但是这是一台老机器,没有多个网口,因此无法网卡穿透做OpenWRT。那怎么办呢?这个时候,旁路由就可以登场了... ...
继续阅读 (58)
love
0
Jiajun的技术笔记
发表于
2022-11-04 00:00:00
Golang gRPC 错误处理
《Golang gRPC 错误处理》gRPC 最常见的错误处理方式就是直接返回错误,例如 `return nil, err`,但是实际业务中,我们还有业务码需要返回,常见的方式是在返回的结构体里定义一个错误码,但是这样写起来又很是麻烦,例如,你可能需要这样写... ...
继续阅读 (50)
love
0
Jiajun的技术笔记
发表于
2022-10-12 00:00:00
OAuth 2 详解(六):Authorization Code Flow with PKCE
《OAuth 2 详解(六):Authorization Code Flow with PKCE》我们在前面了解到,`Authorization Code` 模式是最安全的一种模式,但是必须要有服务端参与进来,因为 `client_secret` 必须保存在服务端才安全。OAuth 2.0 在 [RFC7636](https://www.rfc-editor.org/rfc/rfc7636) 中定义了一种扩展模式,这种模式下,客户端不需要使用 `client_secret`,模式中 PKCE 的全称是 Proof Key for Code Exchange。那怎么理解这个呢?简单来说,就是我们仍然... ...
继续阅读 (64)
1/14
下一页