详情

全站展示位

如何优雅地绘制电路图

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

推荐

快速处理 Git 冲突

我一直是在终端下使用 git 的。如果合并分支或者执行 rebase 遇到冲突,处理起来比较麻烦。今天 rebase 开发分支的时候又遇到了一堆冲突,于是就花了点时间研究如何快速处理 git 冲突。方法很简单,就是将 conflictstyle 配置改成 diff3。下面为大家细细分解。

Sniper 框架两周年回顾

一年前我向大家介绍了 sniper 框架。年复一年,sniper不觉已平稳运行两年有余,是时候再次总结一拨该框架的实战经验了。

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

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

禁止网页在新窗口打开链接

很多网页(尤其是简中互联网)强行在新窗口(或者新标签页,下面统称新窗口)打开链接。有人觉得这种做法很方便,可以保留原始网页。但我不喜欢这种方式。因为我用 Firefox,如果是在新窗口或者标签页打开网页就无法使用触摸板滑动返回到上一个页面。今天就整理一下强制在当前窗口或者网页打开链接的方法,分享给大家。

心灵鸡汤

女儿上大学了

文/武艺

三年前,女儿参加中考,我有感而发写下了《陪女儿中考》。经过三年的刻苦学习,今年迎来了她人生又一重要时刻——高考。

回顾女儿这三年的高中学习,可以说很拼。从高一普通班的前几名,到学理科上火箭班,特别是进入高三,学习抓得非常紧,每天早上六点多出门,晚上十点放学。高三第二学期,三天一大考,两天一小考,确实很辛苦。

高考时女儿在太原五中考场,离家也不远。考前,我特意置办了一身新衣服,寓意“开门红,状元红”。生活需要仪式感,就是要把平淡的生活过得有滋有味,有情有义。

我和妻子分工明确,我接送孩子,她在家做饭。6月7日、8日那两天,太原温度不算高,时不时还有阵雨光临。全社会都关心高考,车辆限行,公安、医疗、电力等部门都全力以赴,保驾护航。

实力是说话的底气,成绩是平时状态的客观反映。两天顺利考完,终于松了一口气,孩子开心地出去玩,我们也高高兴兴地放松一下,喝了顿快乐的大酒。

高兴两天后,又焦虑等待出成绩,忐忑不安。成绩发布时是深夜,不知不觉又是一个不眠之夜。

凌晨查到孩子成绩,心中石头总算落下来,随即又急切等待山西一本分数线的划定。一本线出来后,又转入填报志愿关键期。选学校,选专业,找老师,问专家,咨询去年高考过的考生家长,真是过了一关又一关。

盼望着,等待着,录取通知书到了。拿到通知书那个瞬间,喜悦的同时,突然反应过来,一张录取通知书,代表着希望和未来,同时也意味着与孩子的一种离别。

通知书预示着孩子即将踏上新的征程,与父母与故乡长时间别离。于是想到了20多年前,我们离开家乡去求学时,父母送行的样子。人生或许就是这样吧。

写下这段文字,孩子已开始崭新的大学生活。送孩子报到,想起一段话。龙应台说:“所谓父女母子一场,只不过意味着,你和他的缘分就是今生不断地在目送他的背影渐行渐远。你站立在小路的这一端,看着他逐渐消失在小路转弯的地方,而且,他用背影告诉你,不必追。”

孩子未来的路很漫长,相信她会越走越好的!

列表展示

主站展示位

记一次线上 DDoS 攻击案例

跟进大半年的项目终于上线了🎉虽说上线当天没有出问题,最近却受到了一次 DDoS 攻击。说起来我还没有线上 DDoS 的相关经验,这次攻击规模不大,有些方面符合预期,有些方面出乎预料。今天把这次攻击事件分享出来,给大家做个参考。

寓教于乐的蛇棋

家里有一套蛇棋,女儿👧很很喜欢,经常要跟我玩几局。我发现它不仅简单有趣,而且还能在娱乐的过程中潜移默化地教一些道理,正所谓寓教于乐。这算是我迄今为止所发现的性价比最高的玩具了。今天就跟大家分享自己的感悟。

配置 HE 免费 IPv6 地址

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

Download File only when Changed using wget/curl

I am working on one ChatGPT based Product, and it need to download the cl100k_base.tiktoken file via

使用 Nginx 反向代理 HTTPS 网站

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

使用递归实现正则匹配

很久之前就读到 Brain 的文章,讲怎么写优雅的代码。作者在文中讲了 Rob Pike 的故事,Rob 用一个多小时的时间实现了一个简的的正则匹配函数, 所有代码加上注释也才三十多行。Rob 的实现不但简洁而优雅,而且还充分展示了递归函数和指针的强大魅力。今天就结合自己的理解分享给大家。

跟女儿玩脑筋急转弯

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

为什么还在写博客

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

群晖 NAS 支持 HTTPS 访问

朋友在我这托管了一个群晖设备,正好我也有中国电信的公网IP地址,就想着做一个公网可用的网络存储。公网访问肯定要上 支持。

Shell 编程中的 test, [ 和 [[

写过 Shell 的朋友一定摆脱不了被方括号支配的恐惧,Shell 分支判断语法简直是奇葩。时而用[,时而用 [[,甚至有时还会用 test,跟常见的编程语言差距太大。我自己也没弄明白为什么要分单括号和双括号,直到我遇到这篇文章。今天就结合原文以及自己的理解为大家梳理一下 Shell 中的方括号语法。

Oracle 云主机开通 25 号 SMTP 端口

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

如何优雅地绘制电路图

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

Punycode 编码

DNS 最早由美国人 Jon Postel 等人设计,所以仅支持 ASCII 编码。但很快互联网就扩展到欧洲和世界其他地区。人们希望能够使用自己的本地语言表示 DNS 域名。但同时又必须兼容已经部署和运行的 DNS 软件系统,所以就得设计一种用 ASCII 编码来表示世界上所有不同语言文字的编码规则,这就是 Punycode 编码。我们的中文域名用的也是这种编码。这么重要的编码技术,中文互联网上几乎没有详细的资料介绍。于是只能硬啃它的 RFC 文档,今天把学习成果分享给大家。

在 Markdown 中优雅绘图

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

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 开发,部署起来非常麻烦。最后,我想了一个比较取巧的方案:基于电子邮箱来实现留言板功能。今天就把思路和方案整理出来,分享给大家。

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

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

开通 ChatGPT Plus 攻略

ChatGPT 已经红透海内外。虽然国人想注册免费版都得过关斩将,但用得人还是太多了。高峰时期服务响应非常慢。而且免费版无法使用 OpenAI 最新发布的 GPT-4 模型。为了更快、更强,必须开通 ChatGPT Plus。但是 OpenAI 不但屏蔽了中国的 IP 地址,连国内的 Visa 信用卡也一同屏蔽。所以最难的一关是如何给 OpenAI 充值😂你看吧,好的产品往往是用户求着付钱💰这就是差距呀。今天就给大家分享我开通的过程。

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 确实难受。今天就跟大家分享解决问题的方法和过程。

博客寄语:

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

实时播报:

博客号-学习成长

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