为什么要看腾讯的视觉设计方案?
体系化的品牌设计对于你做自己的品牌设计有一定的帮助。
一些不错的写作模板
都是来自于 Confluence 的模板,供写作参考。
应该如何使用这些模板?
这些模板我提供的都是图片,而非文本,一方面是其内容并非简单的通过一个文本就可以展示。对于真实的使用场景,可能你依然需要使用诸如 Notion、Coda、Evernote 之类的工具来展现。另一方面,这个模板更多是帮助你思考,如果我在做类似的事情的时候,可以加入哪些模板。
此外, Notion 也提供了不少的 Template ,值得你在使用的时候参考。
季度计划

年度计划

AWS 架构图

头脑风暴模板

一页纸商业计划

产品更新动态

个人职业生涯

内容设计规范
关键词表

内容策略

创意规划 Creative Brief

Customer Impact Assessment

设计组件

设计冲刺

设计系统

DevOps 变更管理模板

DevOps 行动手册

破坏性头脑风暴

邮件递送模板

商业执行反馈

实验模板

招聘方案

紧急情况沟通方案

故障事后总结

面试总结

IT 项目

Job Description

团队领导力指标

Master Document

会议纪要

更多模板可以去哪里找到?
实际上,Confluence 中还有大量的模板,不过我发现, Confluence 可以免费使用,所以,just register it,and use it。
进行 Hexo 开发时,如何去除缓存?
表现
最近我在开发一个 Hexo 插件,在开发的过程中,遇到了一些小的问题:插件的代码发生了修改,但运行hexo 的时候却没有实时刷新出来。
原因
在对代码进行分析后发现,hexo 的 tag filter 的结果会缓存在数据库中,由于缓存了,所以我使用的 generator ,所以也会被缓存。
解决方案
在预览前,删除 db.json
即可让 hexo 重新开始生成
为了方便,我在 npm 的 scripts 中加入了一个自定义的配置
{
...
"scripts":{
...
"s": "rm db.json && hexo server"
...
}
...
}
Code language: JavaScript (javascript)

Golang 中如何为 XML 加入 CDATA 支持
需求
最近在参与 WavPub 的开发,在开发的过程中,需要调整 XML 的结构,因此,需要为一些字段加入 CDATA 的支持。
问题
在阅读了 eduncan911/podcast 中的代码后发现,这个包在生成 XML 的时候,使用的是 Golang 核心库中的 encoding/xml 包,而这个包在使用的时候有一个问题,你可以给其字段加入 ,cdata 来完成加入 cdata 的标签,但问题在于,他的实现是,在你的字段外部加标签,而不是内部加标签。举个例子来说,就是,如果你定义了字段为 xml:”category,cdata” 你得到的会是
<![CDATA[ somecode ]]>
Code language: HTML, XML (xml)
而非我们想要的
<category> <![CDATA[ xxx ]]> </category>
Code language: HTML, XML (xml)
实现
想要解决这个问题,就需要你在你的字段中实现一层包裹,在其自动生成的 CDATA 外层加入一层 XML ,这样就可以实现我们想要的效果,比如说我上面的效果可以通过定义一个新的 Description 的 Struct 来实现
package podcast
import "encoding/xml"
// Description represents text inputs.
type Description struct {
XMLName xml.Name `xml:"description"`
Text string `xml:",cdata"`
}
Code language: JavaScript (javascript)
然后,再在需要的地方,加入相应的引用就好
type Podcast struct {
XMLName xml.Name `xml:"channel"`
...
Description *Description
...
}
Code language: JavaScript (javascript)
Reference

自用 App 推荐
2020 年 5 月 生活习惯分析
五月我的时间分配如下

在交通上花费更少的时间

更多的工作和睡眠

算上周末,平均每天要在公司待近 10 个小时

2020 年五月月度总结
TL;DR
倒计时进入 2 位数阶段,开始为 Next Stage 做准备。
此外,这个月做了一些优化效率的工作:
- 优化了自己的所有公众号,从原来的 800 + 调整到如今的 140 :缩小信息来源,提升保留信源的打开率。
- 优化了 RSS 方案:之前是部署在 Heroku 上的,有数据库总量限制,现在部署在 PacificRack 上,并加入了 CloudFlare, 提升访问速度。对于信息的输入有一定的帮助。
月度总结
工作
运营工作越来越熟练,努力成为一个更好的运营。工作的关系,现在我也需要产品相关 & 研发相关的工作,工作的内容慢慢超越了岗位的范畴。是好也是坏。
工作中开始出现一些乱象,值得我警惕。
比如,因为自己的一个失误,导致损失了 1000 多块钱。不过,这个事情也让我突然发现
1. 你工作中的失误导致的损失可能没有你想象中的那么多。
2. 人心其实很便宜,应该避免自己被小恩小惠所感动。
白宦成
工作中开始试图培养没有那么专业的同事,让他也变的更好~
生活
生活中没有太多的变化,但是生活习惯不太好。六月需要做一些切实的事情去优化生活习惯。
五月生活相关的总结,会在明天发出,另开一篇文章来写。
Side Project
这个月启动了一个新的 Side Project —— WXmarkdown

WXMarkdown 在运行了一段时间后,目前的数据如下

六月希望可以将数据调整到日 PV 能在 300 ,需要加把劲了。
此外,在教程方面,重新启动了云计算基础课程,目前在公众号连载,希望这一次能圆满做完。
写作
本月因为推广 WXMarkdown 开始写了一些文章,但是总体来说,量还是不够, 这部分还有待优化。
此外,也基于 WXMarkdown ,开了一个新的 GitChat, 记录自己的所得
当然,因为我一贯的脱稿习惯和遇到了一些坑。。还欠了一些稿件。。。
此外,五月写了14篇日记,还是有待提升的。
财务状况

本月在教育方面投入较高,总体支出近 2000 元,但目前购买的一些资源还没有开始看,需要注意。是否需要尽快开始消化,优化工作和生活。
本月在数字产品上有较高的投入,达到了近 1500 元,域名消耗依然是大头。其次,本月购买了一个新的电子产品——手写板。打算平时在其上勾勾画画。

娱乐
游戏
- 「中国式家长」:推荐玩一下,这个游戏很独特,但又很现实,让没有成家的人可以感受一下,带孩子的痛苦。和现实中的带孩子的痛苦不同的是,这个游戏会让你明白,有舍有得,对孩子可能才是更好的。
- 「马里奥 Maker 2 」
- 「动森」:基本玩腻了,为什么玩腻了见这里
视频
- 《585号》:一部微电影,没看懂。
- 《没有宇宙我们无法生存》:一部微电影,感觉兄弟俩关系真的好。
- 《家庭隔离舞蹈》
- 《能否走上人生巅峰》
- 《男人之间的约定》
- 《塑料姐妹》
- 《推迟情人节》
- 《恐龙恋爱了》
- 《1年 VS 40 年》
- 《进化岛》:非常震撼的一部电影
- 《小羊肖恩2:末日农场》:很温馨,很可爱的电影。
- 《意外》
阅读
- 《20岁的生活方式,决定30岁的打开方式》:一本鸡汤书。。。鸡汤浓度过高,看不下去了,浪费的时间太多了。
学习
- 《张亮的运营思维课》:课程笔记
年度计划对标
课程学习
一年学习 54 门课程,本月进度 1 门;全年进度2 /54;
图书阅读
一年读书 54 本,本月进度 1 本;全年进度 15/54
电影观看
一年观看 54 部电影,本月进度 5 部;全年进度 7/54

Golang 返回随机值
需求
在某些场景下,需要根据给定值,返回一批特定的结果,在这种情况下,需要返回切片中的某一个特定的值。
实现
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
userAgentSlice := []string{
"Podcasts/1430.46+CFNetwork/1125.2+Darwin/19.4.0",
"Spotify/1.0",
"PocketCasts/1.0+(Pocket+Casts+Feed+Parser;++http://pocketcasts.com/)",
"iTMS",
"AirPodcasts/1440.4+CFNetwork/1126+Darwin/19.5.0",
"Tentacles,+Like+iTunes",
}
rand.Seed(time.Now().Unix())
fmt.Println(userAgentSlice[rand.Intn(len(userAgentSlice))])
}
Code language: JavaScript (javascript)
写了个简单的接力工具
两会期间,各种工具的效果都会大幅度下降。在这种情况下,作为翻译组,想要好好干活也是挺麻烦的,于是,便写了一些简单的工具,来解决这种特殊情况下的尴尬问题。
场景描述
在翻译组,我们有专门的机器来负责内容抓取 & 转化成为 markdown,但同时,文章中会有一些图片,种种原因,会导致这些图片无法访问。在翻译的时候,我们需要对这些图片进行下载,在这种情况下,就会很麻烦。我们需要一个更加简单的方式,来完成文件的下载。
解决方案 – Simple Proxy
Simple Proxy 就是来解决这个问题的,他可以让你很方便的完成外网的文件下载(当然,前提是你的 Proxy Server 可以访问到这个文件。
使用方法:
- 找到你要下载的文件,比如 https://img.linux.net.cn/data/attachment/album/202005/23/201448jcxlcci1f1z4c2l2.jpg
- 在你的域名前加入测试域名作为前缀,比如 https://simpleproxydemo.herokuapp.com/img.linux.net.cn/data/attachment/album/202005/23/201448jcxlcci1f1z4c2l2.jpg
- 访问新的地址,就会自动提醒你下载文件了。
使用建议
在实际的使用过程中,我给你的建议是,
- 使用 Heroku 部署 + 使用 Cloudflare 加速 + 一个短域名
这样可以让你的使用体验达到最佳。
如何自己部署
参考:https://github.com/bestony/simple-proxy
原理
Simple Proxy 的代码十分简单,加入了大量的注释,也不过 51 行。
最为核心的代码源自于其中的
res.set({
'Content-Disposition': `attachment; filename=${filename}`
})
Code language: JavaScript (javascript)
这段代码的用户是为返回值设定 Header ,其中用到的 Header Content-Disposition
是 HTTP 协议早期定义的 Header 规范。
如果你将其值设置为 inline
,其内容将会直接展示在界面中;
其值设置为 attachment
则可以启动系统浏览器自带的下载功能。
其值中加入 filename
则可以更进一步,在下载时,指定下载的名称,在本次的项目中,就借助了这样的功能,让下载的文件名不发生改变。
Reference
整理了个个人简介
整理了个个人简介,用于在加人的时候发。
2020.05.22 版本
【姓名】:白宦成 Bestony
【坐标】:深圳
【职业】:产品运营 & 全栈工程师
【公众号】:
- 程序百晓生:主要分享小程序、软件开发、云计算
- 独立产品:主要分享自己开发产品的心得
【播客】:
- 生产力维基,一个关注个人生产力和个人效能的播客
【作品】
Logoly.pro : 一个 PornHub 风格的 Logo 生成器
WXMarkdown.com : 一个帮你在公众号里插入各大平台小程序卡片的工具
【电子书】:
人人都能学会的 WordPress 实战课:www.easywpbook.com
给程序猿的写作课:thewriter.dev
远程工作也 OK:remoteok.cn
自我量化指南: ziwolianghua.com
【简介】:在鹅厂做运营的工程师,致力于用技术解决身边切实存在的问题,优化自己的工作流