惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cisco Talos Blog
Cisco Talos Blog
K
Kaspersky official blog
T
The Exploit Database - CXSecurity.com
NISL@THU
NISL@THU
AWS News Blog
AWS News Blog
V2EX - 技术
V2EX - 技术
Google DeepMind News
Google DeepMind News
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Security @ Cisco Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recent Commits to openclaw:main
Recent Commits to openclaw:main
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
Attack and Defense Labs
Attack and Defense Labs
Jina AI
Jina AI
The Last Watchdog
The Last Watchdog
W
WeLiveSecurity
H
Help Net Security
V
Visual Studio Blog
宝玉的分享
宝玉的分享
C
Cybersecurity and Infrastructure Security Agency CISA
T
Threat Research - Cisco Blogs
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
Latest news
Latest news
T
Tor Project blog
I
Intezer
美团技术团队
GbyAI
GbyAI
T
Tailwind CSS Blog
Last Week in AI
Last Week in AI
博客园 - 三生石上(FineUI控件)
Google DeepMind News
Google DeepMind News
Scott Helme
Scott Helme
Y
Y Combinator Blog
博客园 - 司徒正美
T
Tenable Blog
O
OpenAI News
N
News and Events Feed by Topic
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
V
Vulnerabilities – Threatpost
P
Palo Alto Networks Blog
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Threatpost
Google Online Security Blog
Google Online Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
云风的 BLOG
云风的 BLOG
Help Net Security
Help Net Security

极客兔兔

Go sync.Cond | Go 语言高性能编程 Go 死码消除与调试(debug)模式 | Go 语言高性能编程 Go sync.Once | Go 语言高性能编程 Go 逃逸分析 | Go 语言高性能编程 Go struct 内存对齐 | Go 语言高性能编程 Go 空结构体 struct{} 的使用 | Go 语言高性能编程 控制协程(goroutine)的并发数量 | Go 语言高性能编程 | 极客兔兔 如何退出协程 goroutine (其他场景) | Go 语言高性能编程 如何退出协程 goroutine (超时场景) | Go 语言高性能编程 Go 语言陷阱 - 数组和切片 | Go 语言高性能编程 减小 Go 代码编译后的二进制体积 | Go 语言高性能编程 Go Reflect 提高反射性能 | Go 语言高性能编程 读写锁和互斥锁的性能比较 | Go 语言高性能编程 | 极客兔兔 for 和 range 的性能比较 | Go 语言高性能编程 切片(slice)性能及陷阱 | Go 语言高性能编程 | 极客兔兔 字符串拼接性能及原理 | Go 语言高性能编程 | 极客兔兔 pprof 性能分析 | Go 语言高性能编程 benchmark 基准测试 | Go 语言高性能编程 Go 语言高性能编程 | 极客兔兔 Go 接口型函数的使用场景 | 极客兔兔 Python 简明教程 | 快速入门 | 极客兔兔 Go 语言笔试面试题(代码输出) | 极客面试 | 极客兔兔 动手写RPC框架 - GeeRPC第七天 服务发现与注册中心(registry) | 极客兔兔 动手写RPC框架 - GeeRPC第六天 负载均衡(load balance) 动手写RPC框架 - GeeRPC第五天 支持HTTP协议 | 极客兔兔 动手写RPC框架 - GeeRPC第四天 超时处理(timeout) | 极客兔兔 动手写RPC框架 - GeeRPC第三天 服务注册(service register) 动手写RPC框架 - GeeRPC第二天 支持并发与异步的客户端 | 极客兔兔 动手写RPC框架 - GeeRPC第一天 服务端与消息编码 | 极客兔兔 7天用Go从零实现RPC框架GeeRPC | 极客兔兔 Go 语言笔试面试题(并发编程) | 极客面试 | 极客兔兔 Go 语言笔试面试题(基础语法) | 极客面试 | 极客兔兔 Go 语言笔试面试题汇总 | 极客面试 | 极客兔兔 Go Context 并发编程简明教程 | 快速入门 Go Mmap 文件内存映射简明教程 | 快速入门 动手写ORM框架 - GeeORM第七天 数据库迁移(Migrate) | 极客兔兔 动手写ORM框架 - GeeORM第六天 支持事务(Transaction) | 极客兔兔 动手写ORM框架 - GeeORM第五天 实现钩子(Hooks) | 极客兔兔 动手写ORM框架 - GeeORM第四天 链式操作与更新删除 | 极客兔兔 动手写ORM框架 - GeeORM第三天 记录新增和查询 | 极客兔兔 动手写ORM框架 - GeeORM第二天 对象表结构映射 | 极客兔兔 动手写ORM框架 - GeeORM第一天 database/sql 基础 SQLite 常用命令 | 速查表(Cheat Sheet) 7天用Go从零实现ORM框架GeeORM | 极客兔兔 动手写分布式缓存 - GeeCache第七天 使用 Protobuf 通信 动手写分布式缓存 - GeeCache第六天 防止缓存击穿 | 极客兔兔 动手写分布式缓存 - GeeCache第五天 分布式节点 | 极客兔兔 动手写分布式缓存 - GeeCache第四天 一致性哈希(hash) | 极客兔兔 Go Mock (gomock)简明教程 | 快速入门 动手写分布式缓存 - GeeCache第三天 HTTP 服务端 动手写分布式缓存 - GeeCache第二天 单机并发缓存 | 极客兔兔 Go Test 单元测试简明教程 | 快速入门 7天用Go从零实现分布式缓存GeeCache | 极客兔兔 Go WebAssembly (Wasm) 简明教程 | 快速入门 Go RPC & TLS 鉴权简明教程 | 快速入门 Go Protobuf 简明教程 | 快速入门 Go语言动手写Web框架 - Gee第七天 错误恢复(Panic Recover) WSL, Git, Mircosoft Terminal 等常用工具配置 Rust 简明教程 | 快速入门 | 极客兔兔 Go语言动手写Web框架 - Gee第六天 模板(HTML Template) 百宝箱 - 值得收藏的工具网站 | 极客兔兔 Go语言动手写Web框架 - Gee第五天 中间件Middleware | 极客兔兔 Go语言动手写Web框架 - Gee第四天 分组控制Group | 极客兔兔 Go语言动手写Web框架 - Gee第三天 前缀树路由Router | 极客兔兔 博客折腾记(七) - Gitalk Plus | 极客兔兔 Go语言动手写Web框架 - Gee第二天 上下文Context | 极客兔兔 Go2 新特性简明教程 | 快速入门 | 极客兔兔 博客折腾记(六) - 不要为了流量忘记了初心 | 极客兔兔 Go语言动手写Web框架 - Gee第一天 http.Handler | 极客兔兔 7天用Go从零实现Web框架Gee教程 | 极客兔兔 Go Gin 简明教程 | 快速入门 Go 语言简明教程 | 快速入门 | 极客兔兔 机器学习笔试面试题 11-20 | 极客面试 | 极客兔兔 机器学习笔试面试题 1-10 | 极客面试 | 极客兔兔 机器学习笔试面试题汇总 | 极客面试 | 极客兔兔 TensorFlow 2 中文文档 - RNN LSTM 文本分类 TensorFlow 2 中文文档 - TFHub 迁移学习 TensorFlow 2 中文文档 - 卷积神经网络分类 CIFAR-10 TensorFlow 2 中文文档 - 保存与加载模型 TensorFlow 2 中文文档 - 过拟合与欠拟合 TensorFlow 2 中文文档 - 回归预测燃油效率 TensorFlow 2 中文文档 - 特征工程结构化数据分类 TensorFlow 2 中文文档 - IMDB 文本分类 TensorFlow 2 中文文档 - MNIST 图像分类 TensorFlow 2 / 2.0 中文文档 TensorFlow 2.0 (九) - 强化学习 70行代码实战 Policy Gradient 博客折腾记(五) - 友链这件事,没那么简单 | 极客兔兔 博客折腾记(四) - 原创资格是争取来的 | 极客兔兔 TensorFlow 2.0 (八) - 强化学习 DQN 玩转 gym Mountain Car TensorFlow 2.0 (七) - 强化学习 Q-Learning 玩转 OpenAI gym 博客折腾记(三) - 主题设计、彩蛋与阅读量翻倍 | 极客兔兔 TensorFlow 2.0 (六) - 监督学习玩转 OpenAI gym game 博客折腾记(二) - 对搜索引擎的理解 | 极客兔兔 博客折腾记(一) - 极致性能的尝试 | 极客兔兔 Pandas 数据处理(三) - Cheat Sheet 中文版 TensorFlow 2.0 (五) - mnist手写数字识别(CNN卷积神经网络) TensorFlow入门(四) - mnist手写数字识别(制作h5py训练集) | 极客兔兔 TensorFlow入门(三) - mnist手写数字识别(可视化训练) | 极客兔兔 Pandas 数据处理(二) - 筛选数据 | 极客兔兔 Pandas 数据处理(一) - DataFrame 与 Series
2020 年终总结 | 极客兔兔
2020-12-30 · via 极客兔兔

2020

从 2020 年开始,在博客里记录每一年的成长与改变。

年初的时候,给自己定了两个目标:工作上升一级,博客浏览量能翻一倍。第一个目标没想到刚过完年,就实现了。第二个目标到年底的时候也基本达成了,月 UV 3w,月 PV 8w。

在这里,将过程中的一些经历和感悟记录下来。

工作

今年所做的工作需要横跨很多部门,而我是特别不愿意干这种事情的。喜欢一个人静下心来写代码,不被打扰。对其他部门的同事,特别是总来问你进展,顺便把成果包装的同事特别反感。但是在这个过程中,逐渐地转变了想法。一个人的能力是有限的,跨团队跨部门的合作更容易产生大的价值,关键点在于摘掉有色眼镜,找到大家共同的利益诉求,把事情做好。不要担心被别人包装,别人来包装你,说明你有价值。把蛋糕做大才是最重要的,一个大的蛋糕,再怎么分,也比原来手中的小蛋糕大。

今年涉及的工作是原来从来没接触过的,经过一年的摸爬滚打,竟然做得还不错。我在公司内部总结为那么一句话:

一年只做一件事,一年做好一件事。

我一直是一个很浮躁的人,坚持做一件事不超过三个月。Github 上的开源项目也是这样,经常发现过了几个月还没啥人关注,就放弃了。上面这句话,是今年的最大的感悟。不管是在工作中,还是在工作外。很多事,很可能需要持续到某一个时间点,才会产生质变,不要过早放弃,也不要随意切换方向。选择是有时间成本的。

博客

2020 blog

今年博客的阅读量和评论量主要是来自于这两个系列:

七天系列 Github 有 5.9k 的星星,这是一个完全原创的项目,从很多童鞋的评论来看,能够对大部分童鞋理解一些优秀的开源项目和框架源码有帮助。

我分析过我的博客的流量构成,搜索、直接访问和引荐各占了三分之一。直接访问有那么高是比较意外的,我觉得对持续提升流量有帮助的几个点:

  • 坚持写一个领域的文章,比如写 Go,就坚持写个几十篇,比较成体系,对搜索引擎比较友好,而且也容易在这个领域形成一定的影响力,会有很多直接访问的流量,因为别人记住你了。
  • 不要在其他平台随意地转载自己的文章。大部分博客平台的权重很高,如果同时发在自己的独立博客和 CSDN、博客园这样的平台,那么很容易被搜索引擎判定抄袭,降低权重,博客的搜索流量会变得很小。如果想完全同步,建议间隔一个月。如果你的域名权重很高,就无所谓了。
  • 可以在其他平台发一些汇总链接的文章,我的每个系列都会在知乎发汇总贴,比如 7天用Go从零实现RPC框架GeeRPC,有 200 个赞,一个原因是有童鞋在知乎关注了我,发篇文章能够让关注我的同学知道我出新的系列了。另一个原因,也是可以在一定程度上增加外链的数量,可以增加博客文章的权重。
  • 检查下你的订阅文件,有没有包含全文。我原来没注意,生成的 atom2.xml 包含了全文,每次更新,第一时间被很多采集站全文搬运,这篇文章就白写了。利用标准的 feed 文件内容,直接发布,还不用写爬虫,不搬运你搬运谁呢,这种搬运更不可能注明转载和原文地址了。现在生成的 feed.xml 去掉了正文。

读的书

今年纸质书读得比较少,微信读书读了挺多,在这里分享两本比较有意思的鸡汤书吧。

第一本书是《微习惯》,因为这本书,我给自己定了每天写 50 字和做 1 个俯卧撑的目标,坚持了很长时间。我的第二个系列能写那么快,我觉得这本书功不可没。养成一个习惯很难,即使有再强大的动机和毅力都很难坚持下来。那如果这个习惯只需要极其微小的动机,不消耗任何的毅力呢?比如每天一个俯卧撑,中午吃完饭大家午休的时候,你就趴下来,再站起来,一秒钟一个俯卧撑的目标达成,每天花费一秒钟,就养成了一个健身的好习惯。

我从第一天的 5 个,到现在每天中午做 40 个。但是目标仍旧是每天 1 个,哪天生病了,实在是没法动,随便做 1 个,这个习惯就还是没有断的。

每天写 50 字也是一样的,大部分时间,在手机或者电脑上随便敲 50 字就睡觉了,然后有三分之一的时间,敲满了 2 千字,比如今天这篇总结。假如没这个习惯,我估计明日复明日,这个年终总结就没了。

第二本书是《刻意练习》,这本书比较啰嗦。对我启发比较大的地方总结一下:

首先,只花时间练习是不够的,还得“刻意”,最佳方式是找这个领域你能接触到的最厉害的人给你辅导,给你反馈。一件事情简单的重复是无意义的,是浪费时间,一万小时也不会变成专家。自己自学是没问题的,但是如果有人指导你,那必然是能更快的。比如入门 Python,淘宝花 200 块,让别人给你讲 1 小时课,他的水平可能不高,但是对于从没有接触过 Python 的你,指导你安装好环境,写出 hello world 是足够了的。如果自己去琢磨,很可能折腾了一天,啥事都没做成。工作以后,时间是很宝贵的。

第二,一件事重复做一百次是有意义的,前提是每次做完思考下哪些地方可以提升。比如学英语,对大部分人来说,看一百部电影的效果比不上《老友记》的一集看一百遍。看一百部电影,光顾着看字幕去了,不太可能找到提升的点。而找一个难度适合的半小时的材料,听一百遍,每次多听懂一个单词,一句话,提升就是巨大的。

只有“刻意”去做,才不会看似忙碌,实则浪费时间。

flag

唯一的 flag 就是,通过上述两本鸡汤书养成的习惯,明年不要丢。再小的习惯,坚持一年,也会产生巨大的能量。


专题: 年终总结

本文发表于 2020-12-30,最后修改于 2026-02-23。

本站永久域名「 geektutu.com 」,也可搜索「 极客兔兔 」找到我。


上一篇 « Go struct 内存对齐 下一篇 » Go 逃逸分析