苟利国家生死以,岂因祸福避趋之

Panda Home

Golang 的 "omitempty" 关键字略解

发布于 # 聊聊技术
标签: # Go # JSON # omitempty
Golang 的 "omitempty" 关键字略解
By Bjjung - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=38817272

用法 熟悉 Golang 的朋友对于 json 和 struct 之间的转换一定不陌生,为了将代码中的结构体与 json 数据解耦,通常我们会在结构体的 field 类型后加上解释说明,例如在表示一个地址的时候, json 数据如下所示 { "street": "200 Larkin St", "city": "San Francisco", "state": "CA", "zipcode": "94102" } 与之相对应的 Golang 结构体表示定义如下 type address struct { Street string `json:"street"` // 街道 Ste string `json:"suite"` // 单元(可以不存在) City string `json:"city"` // 城市 Sta

在没有黑暗的地方相遇

发布于 # 聊聊书籍
标签: # 一九八四 # 乔治·奥威尔 # 反乌托邦 # 读后感
在没有黑暗的地方相遇
Photo by Viktor Forgacs on Unsplash

这篇《一九八四》的书评被我写了又删,删了又写,如此往复几次,终于因为自己无法掌握“双重思想”,没法子假装自己没看过这本书,也没法子把没看过这本书的假装忘掉,还是在博客上动了笔。 大概在某个平行宇宙的1984年,地球上确实有个大洋国,也确实如书中所写,每一个人被国家机器统治成了一个个规整的零件,不能乱说,不能乱写,甚至不能乱想,只能按照老大哥的指示,安安分分的做上头指派下来的工作,这其中大部分工作都是用来限制人们的“乱说”、“乱写”、“乱想”。这个世上分明有了充足的物资来支持每一个人的富裕生活,人们的生活本应是丰富多彩的,而字里行间的描写却让我感到比书页的白纸黑字还要单调。无论春夏秋冬,整个大洋国都是一片死气沉沉,每句话、每个动作都有专人在监视,没有历史,没有真相,老大哥希望人们看到的就是真相。在这样的灰度图一般的背景中,那个玻璃镇纸中的珊瑚红得那样不真实。一个古董铺,一个小酒馆,甚至在后院

用 Python 代码生成视频的缩略图

发布于 # 聊聊技术
标签: # Python # Reddit # FFmpeg
用 Python 代码生成视频的缩略图
Photo by Kit Junglist on Unsplash

最近写了个 Reddit 发帖辅助工具,因为涉及视频的上传及标注出处来源,所以一个简单的脚本可以大大减轻我的工作量,出于糙快猛的考虑,自然而然就是 Python 了。 Reddit 上目前充斥着各种机器人账号,官方也非常支持这种行为,只要不是无意义的发言,机器人多了还能增加活跃度,吸引真人用户一起来各抒己见,比如说在“旧金山湾区”板块上每周都有一个题为“烦人的星期二”的帖子,就是大伙儿吐槽生活中种种烦心事的好地方。因此 Reddit 提供了一整套开发者 API ,同时 SDK 也不难找,这里有一个详尽的列表,大家可以根据自己的语言喜好随意取用。 脚本很简单,真正的困难在于视频上传, Reddit 的要求很特殊,有了帖子标题和视频路径还不够,还需要提供一张缩略图, SDK 的文档也说了,如果不提供,就会自动上传一张他们的 Logo 作为视频的缩略图。这个时候,就需要祭出 FFmpeg 了。

Java 在 MacOS 环境下的安装与卸载

发布于 # 聊聊技术
标签: # Java # MacOS
Java 在 MacOS 环境下的安装与卸载
Photo by wu yi on Unsplash

如题所言,这个操作看起来很无聊,但实施起来还是挺繁琐的,避免每次去谷歌上搜,摘抄过来留作自己的笔记。 卸载 这个步骤很重要,比如说误装了 Oracle 提供的 jdk ,要是没细看使用条款,分分钟律师函就过来了。我在 StackOverflow 上发现了一个答案,抄录过来。 运行如下命令删除 jdk sudo rm -rf /Library/Java/JavaVirtualMachines/jdk<version>.jdk 如果想删除插件的话,运行下面的一堆命令 sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin sudo rm -rf /Library/LaunchAgent