详情

全站展示位

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

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

推荐

快速处理 Git 冲突

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

Sniper 框架两周年回顾

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

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

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

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

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

心灵鸡汤

  唐朝贞元年间,著名诗人白居易考中进士后,被派往陕西周至当县令。

  他刚上任,城西的赵乡绅和李财主就为争夺一块地跑到县衙打官司。为了能打赢官司,赵乡绅差人买了一条大鲤鱼,在鱼肚中塞满银子送到县衙。而李财主则命长工从田里挑了个大西瓜,掏出瓜瓤,也塞满银子送了来。收到两份“重礼”后,白居易吩咐手下贴出告示,明天公开审案。

  第2天,县衙门外挤满了看热闹的百姓。白居易升堂后问道:“你们哪个先讲”赵乡绅抢着说:“大人,我的理(鲤)长,我先讲。”李财主也不甘示弱说:“我的理(瓜)大,该我先讲。”白居易沉下脸说:“什么理长理大成何体统!”赵乡绅以为县太爷忘了自我送的礼,连忙说:“大人息怒,小人是个愚(鱼)民啊!”白居易微微一笑说:“本官耳聪目明,用不着你们旁敲侧击,更不喜欢有人暗通关节。来人,把贿赂之物取来示众。”

  衙役取来鲤鱼和西瓜,当众抖出银子,听审者一片哗然。白居易厉声喝道:“大胆刁民,胆敢公然贿赂本官,按大唐律法各打40大板!”众百姓无不拍手称快。至于这些的'银子,白居易就用来救济贫苦百姓了。

列表展示

主站展示位

Nginx 常见配置错误

本文整理了 Nginx 常见的配置错误,供大家参考。如果你果你是初学者,可以先看我的另一篇基础文章。

Nginx 配置快速入门

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

国行索尼电视安装 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.

Go语言基准测试

基准测试英文关键词 benchmark,主要用于测试 CPU 和内存使用效率。配合一定的工具,还能直观地展示出代码优化的效果。因为跟性能相关,有时候也叫性能测试。Go语言内置基准测试工具包,使用非常方便。建议所有Go开发者都能熟练使用。

How to Set Up Selfhosted Email Server

I have used email service with my own domain for several years. Gandi.net were chosen as my domain registrar, not only because its low fees, but also its free mailbox service. However, since the middle of this year, Gandi.net has announced their price increment and would cancel all free mailbox service in the end of November. Although it is a controversial decision, I have no choice but to find an alternative mail service as soon as possible. As I also own some always free instance of Oracle Cloud Computer, why not set up my own selfhosted mail service? So do I, and in this blog, I will share how to set up one selfhosted mail server securely and freely, yet without any fee.

为什么还在写博客

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

群晖 NAS 支持 HTTPS 访问

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

Shell 编程中的 test, [ 和 [[

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

Oracle 云主机开通 25 号 SMTP 端口

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

纪念陈皓(左耳朵耗子)

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

记录 gRPC GOAWAY 报错排查过程

公司内部新服务基本都使用 gRPC 协议通信。我们的业务使用 Sniper 框架,并没有内置 gRPC 客户端。所以我基于 Go 语言的 net/头有关,万万没想到。今天跟大家分享排查过程。

ChatGTD.net极简 ChatGPT 代理

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

注册 Oracle 永久免费虚拟主机

Oracle Cloud 推出永久免费套餐也有两三年了。我就一张招行信用卡,老是注册失败。但很多朋友都成功了,甚至还有催生出卖号之类的灰产。今天看到有人通过 5G 网络成功注册。我也就试了一下,没想到也成功了。在此大家分享注册过程。

在 Markdown 中优雅绘图

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

为什么中国没有DNS根服务器

当今互联网有13组DNS根服务器,但没有一组由中国机构运行。无论民间还是政界,一提起此事大家都痛心疾首,感觉被美国卡住了脖子。从国际互联网和中国互联网的发展脉络看,中国本来有多次机会运营自己的根服务器。但发展到今天为什么事与愿违呢?本文就尝试回答这个问题。

个人网站支付宝收款

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

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 解析行为有关。今天就把相关经验分享给大家。

博客寄语:

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

实时播报:

博客号-学习成长

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