详情

全站展示位

如何参与开源项目

今天是个值得纪念的日子。经过长达半年的努力,我给pion/dtls项目贡献的会话恢复功能终于被社区合并了。这是我参与的功能最复杂、涉及面最广、沟通最深入、时间跨度最长的一次开源合作。社区最终接受了我的提案和代码,也进而承担了后续的维护工作。今天就说一说这个事情的来龙去脉,以及我对如何参与开源项目的经验和反思。。。。

推荐

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 网关等各类功能配置。希望能给大家带来一些启发。如果有问题或者想法,欢迎留言讨论。

配置 HE 免费 IPv6 地址

现在 IPv6 已经算是比较普及了,无论是民用 ISP 还是各类云厂商或者 IDC,都支持配置 IPv6 网络。但有一些小型的 VPS 厂商或者一些大厂的特定产品,如阿里云的轻量服务器,仍然不支持接入 IPv6 网络。这时候我们就需要所谓的 tunnel broker 来接入 IPv6 网络。在众多 broker 中,HE提供的 tunnelbroker.net 最为有名,而且支持的区域也最为广泛。我之前换过几次 VPS,每次配置都要查一遍。今天把过程记录下来,做个备忘,也分享给大家。

国行索尼电视安装 YouTube

2024年元旦假期总共休了五天,完成了很多拖了很久的小心愿。其中之是让家里的索尼电视国行版用上了 YouTube。孩子们从此再也不需要忍受电脑的小屏幕了。讲真在国内环境下,要想能在电视上用 YouTube,还真得花一番功夫。今天把自己的方案梳理出来,分享给大家。虽然我家是索尼电视,但本文的大部分内容都跟电视机型无关,请放心食用。

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.

Prometheus 简介

我最近的工作重心转到 SRE 领域,当前的主要内容是帮助部门完善监控系统。说起监控,大多数做 SRE 的朋友都会想到 Prometheus,中文译名是普罗米修斯。我很早就知道、平时也大量使用。但因为之前主要做开发工作,一直没有仔细研究它:基础概念比较模糊,查询语法一知半解,采集、存储等方面则完全不懂。这次就梳理一下最近学到的内容,希望能给新入门的朋友提供一些参考。

垃圾短信治理建议

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

为什么还在写博客

都 2023 年了,现在是短视频的时代,怎么还在写博客?是的,我还在写博客。从注册域名 taoshu.in 开始,到现在己经两年多了。我的创作经历还能追溯到更久,因为之前主要在知乎创作。今天回顾一下过去两年的发展,也谈谈自己对博客创作的理解。

为什么要备案?

最近政府布告天下,从事互联网信息服务的 App 需要备案才能上架。这个应用备案就是从网站备案或者 ICP 备案发展而来的。今天就来聊聊备案这个话题。

Oracle 云主机开通 25 号 SMTP 端口

我在七月份成功注册 Oracle 云账户并创建一台 x86 虚拟主机,永久免费。本不想凑这个热闹,但我的服务商年底下架免费邮件服务,所以想用 Oracle 云主机做邮件服务器。注册后才发现 Oracle 默认屏蔽 25 号端口,得工单才能开通。但是永久免费账号不能提工单。快就年底了,邮件服务必须迁移。这两天就折腾了一把,成功给 Oracle 云主机开通了 25 号端口。

抢救 VPS 服务器

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

使用UPnP配置SDN端口转发

上海电信的光猫只能通过一款叫网络管家的APP设置。如果想通过公网访问内网的服务,需要配置虚拟服务器或者DMZ主机。它们在本质上都是端口转发。这些网络管家都支持。但是,端口转发需要指定局域网机器的IP和端口。局域网设备的IP由光猫自动分配,网络管家上居然不支持给设备绑定IP。如果设备重启,就可能使用新的IP,这样之前配置的端口转发就失效了。最简单的办法是直接给内网主机设置固定IP。如果你不想折腾,读到这里就可以结束了。但这种方法可能产生IP冲突。虽然概率很小,但总觉得不优雅。更好的方案是利用 UPnP 实现自动端口映射。

怎样向 ChatGPT 提问

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

纪念陈皓(左耳朵耗子)

昨天惊悉知名IT技术人士陈皓(左耳朵耗子)于13号突发心梗不幸辞世,享年四十七岁。四十不惑,五十知天命。这可能是人生最好的阶段,他也在这个阶段收获了知识、技能、家庭、财富和名望。但所有的一切突然就化作云烟随风飘散。生命是一,其他的都是零。

如何优雅地绘制电路图

最近整理学习笔记时需要画数字电路图。幸亏之前给博客系统开发了对应的功能,可以在 Markdown 中使用 LaTeX 的宏包来绘图。简单学习了一把,发现 LaTeX 可以绘制非常精美的电路图,这让我的文章增色不少。今天就给大家简要介绍一下绘图方法,希望能帮大家快速入门。

在 Markdown 中优雅绘图

我一直用自研的博客系统。因为是自研,只实现了核心功能。像绘图功能,特指矢量图,就没有支持。技术文章在很多地方都需要添加示意图。现在只能先用外部软任绘图,再生成图片,最后上传到博客并在原文引用。这种办法不但将绘图跟写作分割开来,更大的问题是后期修改的流程也非常繁琐。所以我尽量使用 ASCII 字符 + 代码块的方式绘制示意图,方便后续修改。到现在基础功能已经稳定,为了让文章更加出彩,是时候实现绘图功能了。今天跟大家分享基于 pandoc 的 lua-filter 实现在 Markdown 中直接绘制 SVG 矢量图。

基于邮箱实现留言功能

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

美国删除伊拉克国家域名始末

简中互联网流传着一则摇言,说美国政府曾经利用自己的网络霸权删除过伊拉克的国家域名 .iq,导致该国的网站一夜之间从互联网上完全蒸发。这种危言耸听的摇言本不值得一驳,但相关内容竞出自体制内人员之口,而且还被《人民日报》和人民网报道。作为互联网从业人员和 DNS 爱好者,我有必要站出来说两句,以正人心而靖浮言。

个人网站支付宝收款

个人微创业最大的问题就是收款。但如果不注册公司或者个体户,就很难接入支付宝或者微信的支付系统。也有一些第三方公司可以通过支付机构的服务商接口为个人开通支付权限。但一方面需要向三方提供个人信息,有隐私风险;另一方面有额外的手续费。经过一番调研,我觉得目前最靠谱的还是支付宝的当面付,可以集成到个人PC/H5网站上。

博客寄语:

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

实时播报:

博客号-学习成长

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