详情

全站展示位

//go:embed 入门

Go1.16 引入了//go:embed功能,可以将资源文件内容直接打包到二进制文件,方便部署。最近读到 Carl M. Johnson 写的 How to Use //go:embed 一文,写得相当不错。于是联系作者拿到了授权,现译成中文,分享给大家。。。。

推荐

Go语言泛型函数 mock 原理

Go语言实现猴子补丁系列又有更新了。这一次跟大家分享泛型函数的打桩原理。

Go语言没有内置错误处理机制

本文是Go语言错误处理系列文章的第二篇。我在上文指出错误处理的本质是流程控制,并系统地介绍了Go语言的流程控制语句。今天就来介绍一下Go语言内置的错误处理机制。其实Go语言压根就没有内容什么错误处理机制,而是把错误处理的包袱甩给了程序员。请容我细细道来。

深入理解 Git

讲 Git 的书有不少,我看过最好的一本书叫Git Internals。里面第二章 Understand Git 讲了一部分 Git 的基础概念,但很快就陷入流俗,开始罗列命令。强记命令不但让学习毫无趣味,还可能在实际使用中误用命令导致各种麻烦。我一直在思考如何才能高效的掌握 Git。现在把这些思考整理成文供大家参考。

解密 TTY 设备

终于找到一篇把 TTY 系统讲透的文章了。联系作者拿到了翻译授权。现在分享给大家。以下是原文。

心灵鸡汤

  东汉年间,有一个有名的清官,名叫杨震。

  一年,他居官荆州,发现王密才华出众,便向朝延举荐王密为昌邑县令。数年之后,他调任路过昌邑。王密亲赴郊外迎接恩师,安顿膳宿,照应得无微不至。

  晚上,王密前往杨震官邸拜谒,他见室中无外人,迅即从怀中捧出黄金十斤,端放于杨震的案桌上,说道:“恩师难得光临,特备小礼相赠,以报栽培之恩!”

  “不可,不可!”杨震见状,连连摆手拒绝。他想不到王密会来这一手,便语重心长地说:“以前正因为我了解你有真才实学,才推荐你担如此重任,可你这样做,是太不知我的为人了。”

  王密自讨了没趣,但仍想力争,于是轻声轻气地说:“反正是黑天,又无外人知道。”

  杨震更气了,他正色地说:“你送金子与我,外人怎么会不知?即使没人知道,也是天知,地知,我知,你知!以为无人知道,就宽容自己,这是很要不得的。”

  王密一听,羞愧难言,只得挟起金子,谢罪而去。

列表展示

主站展示位

Nginx 配置快速入门

今天面向初学者分享一篇 Nginx 配置的入门材料。Nginx 安装之后附带的 nginx.conf 篇幅较长,令人望而生畏。初学者限于自身经验不足,很难分清重点。今天我尝试抛开默认配置,从最小的配置出发,带领大家学习从静态 Web 站点到动态 API 网关等各类功能配置。希望能给大家带来一些启发。如果有问题或者想法,欢迎留言讨论。

手撸纯净版 DoH 服务

传统 DNS 协议使用明文传输,中间节点可以监听用户的查询内容,甚至还能篡改查询结果。为了解决这类问题,IETF 制定了 RFC8484,使用 服务,解决前面提到的两个问题。

Outlook/Hotmail is no longer blocking my mail server

After some struggle, I managed to de-list the address of my mail server from Microsoft’s blocklist. Here is some experiences may help you.

谈谈博客版权

最近偶然发现某网站转载了我的文章,但没有事先跟我申请授权。于是我联系到站长要求下线。但最终站长同意给出规范外链,此事也就作罢。今天记录完整的维权过程,也顺便谈谈我对博客版权的思考。

使用 Nginx 反向代理 HTTPS 网站

Nginx 最常用的功能是就是反向代理。不过之前多是用 Nginx 代理 给博客搞了一个反代,看看访问速度快不快。如果还可以,后面考虑退掉付费的虚拟机,进一步降低博客成本。

跟女儿玩脑筋急转弯

今天跟大女儿视频聊天。她提议要互相提问题,让对方回答。大女儿六岁半了,我觉得可以趁机教她玩脑筋急转弯,于是欣然答应。

垃圾短信治理建议

今天清理手机短信时发现一条工信部的短信,我之前在部长信箱留言,提出一种治理垃圾短信的建议。顺手查了一下,过了一个半月,工信部回复了。虽然都是场面话,但他们但凡能听进去一点,也不枉废我一番功夫。既然已经回复,那就算告以段落。短信里的查询密码也就不必保留。但我觉得可以将建议的内容分享给大家。

抢救 VPS 服务器

昨天晚上例行更新 VPS,更新后重启,重启后失联了😂博客、梯子、ChatGPT全部失效。今天早上折腾了一番终于给抢救回来了。记录一下抢救过程,供大家参考。

怎样向 ChatGPT 提问

最近几个月,ChatGPT 席卷全球,可谓是炙手可热。很多人都说 ChatGPT 是人工智能,也就是 AI 的 iPhone 时刻。ChatGPT 就像年 iPhone 颠覆智能手机行业一样,彻底改写了人工智能行业历史。但当大家过关斩将终于可以跟 ChatGPT 对话后才发现,它好像也不是很智能,老是答非所问或者翻来覆去都是些空话套话。这个问题是因为大家不了解 ChatGPT 的工作方式,不能正确的提问,不能给 ChatGPT 传递正确的提示,也就是 Prompts 导致的。今天就跟大家分享一下怎样给 ChatGPT 提问题,或者说怎样写 Prompts。

ChatGTD.net极简 ChatGPT 代理

ChatGPT 想必大家都有所耳闻,它是 OpenAI 公司研发的生成式聊天机器人,代表了当前人工智能 AI 领域的最高水平。ChatGPT 可以帮助大家完成很多工作,比如写小说、写简历、总结工作汇报、多语言之间相互翻译、批改作文,甚至还能解鸡免同笼这类的数学题。可以这么说,只要你把要回复的内容描述清楚,基本上都能获得正确的答案。然而,这么强大的工具却不能在中国大陆和香港地区使用,于是就出现了形形色色的代理。我自己也做了一款叫ChatGTD.net,简单稳定,推荐给大家。

ChatGPT 付费新方案 Onekey 美国优选卡

该来的还是来了。5月31号 Depay 发布维护公告,说自己的 Mastercard 号段被银行风控,无法正常扣费。之前开通的 ChatGPT Plus 因无法续费被取消了。虽然我个人不强依赖 ChatGPT Plus,可是我还开发了 ChatGTD 为大家提供服务。功能是简陋了点,还是有一些朋友有用。如果 ChatGPT API 也不能通过 Depay 支付的话,那么 ChatGTD 的用户就会受影响。今天检查 OpenAI 的账单,果然扣款失败了。为了不辜负大家的信任,我得尽快解决这个问题。网上说 Onekey Card 新出了美国美国优选卡,可以解锁 ChatGPT Plus 和支付 ChatGPT API 费用。也只能硬着头皮试试看,顺便看能不能转移 Depay 中的余额。没想到还真可以。现在把过程记录下来,分享给大家。

基于邮箱实现留言功能

网站上线已经有几个月了,一直都没有留言功能。有朋友建议说添加留言或者讨论支持。我最早的想法是留言频很低,我也在个人页面留了邮箱地址。如果真有朋友需要讨论问题,可以发邮件。但实际的情况是国人很少使用邮件,也不方便。于是我考察了 Disqus 和一众基于 Github 的评论系统,它们共同的缺点是需要注册,而且有一定的隐私风险。它们的 CDN 在国内也不太稳定,影响用户体验。我希望找一个支持匿名评论的系统。最终找到了 isso。它使用 sqlite 保存评论数据,支持匿名评论,各方面都很契合我的需求。但是它用 python 开发,部署起来非常麻烦。最后,我想了一个比较取巧的方案:基于电子邮箱来实现留言板功能。今天就把思路和方案整理出来,分享给大家。

为什么只有13台根服务器

网上很多人都说 DNS 根服务器只有 13 台,中国一台也没有。在网络世界,中国被美国卡住了脖子。那 DNS 根服务器真的只有 13 台吗?如果是,那原因又是什么?今天就给大家说道说道。

Makefile Based Blogging

In this article, I will build a simple static site generator using make, bash, and pandoc. All codes have been published to GitHub named after makedown.

Web Push on iOS

Finally, the first beta of Safari 16.4 packs the long awaited feature, the Web Push. I can’t wait to install the beta version iOS, and have made a demo. In this article, I will demonstrate how to send web notification to Safari, and some of its restrictions.

解决 ChatGPT Access denied 问题

之前分享了订阅 ChatGPT Plus 的过程,又解决了订阅续费问题。过了几天好日子,ChatGPT Plus 也确实提高了自己的生产力。但好景不长,突然有一天打开 ChatGPT网页后发现账号被封了😂欲哭无泪呀。虽然还可以调 API 使用 GPT-3.5 模型,但用不了 GPT-4 确实难受。今天就跟大家分享解决问题的方法和过程。

一例Go语言解析JSON引发的BUG

今天有同事反馈说某接口的的签名计算有误。而且比较签名的代码也写错了,结果负负得正,系统居然带病运转了达五年之久。作为代码提交者深感愧疚。痛定思痛,发现该问题跟 Go 语言的 JSON 解析行为有关。今天就把相关经验分享给大家。

Linux往事

最近读到 Lars Wirzenius 写的文章,他是 Linus 的同学,参与并见证了 Linux 系统从无到有的历史。想想人家上的大学,再比较一下自己的学生时代,真是让人唏嘘呀。今天把文章编译成中文分享给大家。

博客寄语:

    有朋自远方来,不亦乐乎。

实时播报:

博客号-学习成长

相信每一分耕耘都有每一分收获,致力帮助博客主所创作的博客能更快的被收录! 如果有其它需求,可联系下方邮箱。