2018 总结记录

这是一篇是对 2018 年的总结记录。2018 年收获很多,2019 年仍需努力。

全年完成了 1 个 Flag ,解决了 4 个问题,进行了 8 次认知迭代,遇见了 13 个好工具,记录了 15 天日记。

这一年,我使用 Spacemacs 编辑器替代了 vim,使用 tmux 来管理终端会话。

这一年,我学会了使用 wireshark 抓包分析问题,学会了从源码中寻找问题的解决方案。

这一年,我开始使用 dotfiles 来管理软件配置,开始使用 RSS 来管理信息输入。

Flag 记录

  • 写 Shell 脚本编程的使用文档 (开始时间:2018-05-18, 完成时间:2018-05-27)

工具记录

时间 工具 说明
2018.06.01 fossa.io asciinema.org 作为终端录制, 可以录制 Shell 相关有趣的工具
2018.06.01 asciinema.org 用于检测项目的 License 是否合法
2018.06.02 Cacher 使用 github gist 管理自己的代码片段, 支持分类, 标签和搜索
2018.06.02 sourcegraph sourcegraph, 这个项目可以用于查看 Github 的源码, 并支持代码的跳转
2018.08.09 frp 基于 Go 语言编写的内网穿透软件, 类似于 ngork 这个软件。原理是将数据转发到外网可访问的 server, 由 server 转发端口和 tcp/udp http 的数据包
2018.08.28 cmdchallenge.com Linux基础命令闯关练习 (强烈推荐)
2018.09.05 v2ray 类似于 ss 的软件, 也是一种不错解决方案
2018.11.05 hey ab 压测工具的替代品
2018.11.22 jsdelivr jsdelivr 优秀的前端cdn镜像
2018.11.28 Manjaro Manjaro 是一款基于 Arch Linux,对用户友好的 Linux 发行版本
2018.11.28 RSSHub RSSHub 是一个轻量、易于扩展的 RSS 生成器, 可以给任何奇奇怪怪的内容生成 RSS 订阅源(万物皆可 RSS)
2018.11.28 Privoxy 可以将 Socket5 转化成 HTTP 代理的工具
2018.11.28 wrk 现代化的 HTTP 压测工具

认知迭代

时间 关键词 认知
2018.05.18 ProtoBuf ProtoBuf,(Protocol Buffers) 是一种轻便高效的结构化数据存储格式。可以用于结构化数据串行话,或者说序列号。比 JSon, XML 数据量更小。适合用于 PRC 数据交互或者数据存储。可以用于通讯协议,数据存储等领域的语言无关,平台无关,可拓展的序列化结构数据格式
2018.05.18 HttpDNS HttpDNS,基于 HTTP 协议向 DNS 服务器发送域名解析请求,替代传统的 DNS 协议向运营商 Local DNS 发起解析请求的传统方式。可以避免域名劫持和跨网访问的问题。主要运用于移动应用的场景,改善域名解析和劫持问题
2018.05.29 GPG GPG,GitHub 添加 GPG Key (Signing commits using GPG), 避免传输过程中信息被篡改。提交代码使用:git commit -S -m your commit
2018.05.29 CAS CAS(Compare And Swap) 是一种原子操作方式,Java, Go 中都有对应的 Atomic 的类实现了 CAS 的原子操作。使用这种方式可以实现无锁队列,用于并发的场景
2018.06.05 MPS MPS,是 Go 的线程调度
2018.06.07 以太网 以太网, 是一个计算机的局域网技术. IEEE组织的IEEE 802.3标准制定了以太网的技术标准, 它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网是目前应用最普遍的局域网技术,取代了其他局域网标准如令牌环、FDDI和ARCNET – 维基百科
2018.06.12 TPS TPS,每秒的事务处理数。用于衡量一个系统的吞吐能力
2018.08.08 DDNS DDNSD DNS 动态 DNS,主要运用于动态 ip 的情况可以实时的修改域名所绑定的 ip。其中的一种实现方式是使用 阿里云的域名 + 阿里云域名解析 API,使用 crontab 定时的获取 ip,并调用阿里云域名解析的 API 实时修改

解决问题

时间 方案
2018.06.06 xcode-select error 的问题, 安装 xcode 就可以解决,并重新设置 xcode-select 的路径
2018.06.06 npm install 出现 error Unexpected end of JSON input,原因是安装源的内容获取不到(大概是…),使用淘宝源可以解决这个问题
2018.08.28 如果项目中没有使用到 maven,但是需要 maven 包的依赖,可以使用 dependency copy 的方式将依赖下载
2018.12.28 makefile 出现 makefile:2: *** missing separator. Stop.,原因是 makefile 必须使用 tab 开头

日记记录

2018-12-21

换了一成 oh-my-tmux 的 tmux 方案,现在 tmux 使用起来挺舒服的。

2018-06-24

今天折腾了一部分的 Spacemacs 的主题,试了试 org-mode 体验还不错。后面看看能不能慢慢的从 Vim 中迁移过来。

2018-06-13

今天又折腾了 Spacemacs,这几天也学习了一些 Emacs 的知识,比之前用的要顺手很多。但是 emacs 的行高设置不能设置为 1.5 倍行距。这可能是我要又一次放弃 Emacs 的原因吧。

2018-06-11

学习 Tcp 网络课程, Tcp 协议相比 UDP 太复杂。

2018-06-08

又开始了新的一轮折腾 Emacs 了,还是会想用 Emacs + evil-mode 去做尝试。

2018-06-05

公司组织了 GO 语言的培训,讲师是一直想认识的人。 但真正看到讲师的时候,发现之前很早就见过。讲的内容比较深听的云里雾里的。

2018-05-28

Vim galore 是一个不错的 Vim 的教程,今天学习了简介部分,保存了很多的 Vim 操作图。

2018-05-26

因为现在的评论系统 Disqus 在国内无法访问,后面打算使用 Gitalk + 自动初始化的方式。

2018-05-25

公司组织户外素质拓展,第一次参加这样的活动,挺累的也很有收获。

2018-05-23

在 Go 语言的 Web 框架 Gin 上使用,JWT(Json Web Token) 的中间件,实践使用 JWT 的鉴权方式。

2018-05-21

今天工作的时候大部分时间都在写 Shell, 学习使用 jq 命令去操作 Json 文件,学习 sed 命令去替换文件的内容。sed 还有很多功能,后面慢慢的学习。

2018-05-20

今天写了一部分 Shell 编程的文档,写了 Shell 变量的一部分。

重新学习一遍 中文文案排版指北中文技术文档的写作规范, 并在后面的文章中实践规范。

2018-05-19

今天看了阿里的 Java 代码规范,和 PHP PSR1, PSR2 大部分保持一致,但是还是有很多 强制推荐 的部分比较容易在项目中执行。

今天整理了自己的印象笔记,将之前收集的一些 Inbox (收件箱) 的内容。阅读到了一片关于 Linux Shell 的文章放入了重点项目中。

2018-05-17

最近由折腾 Spacemacs 到 Spacevim, 这些软件真的很强大,比如 emacs 中的 major-mode, minor-mode, major-mode 只有负责语言层面的代码高亮,语法检查,代码缩减等等;而 minor-mode 负责公用的部分,比较代码补全显示行号等。这样的思想真的大开眼界。

其次是快捷键的设计思想,比如 SPC b 为 buffer 相关的操作,SPC f 为文件相关的操作,SPC h 为帮助相关的操作,SPC x 为执行相关的操作,可以简化对快捷键的记忆。但是操作量比较大,基本一个命令得 SPC + 2-3 个字母。

折腾结束,Spacemacs 很强大,但是感觉到卡顿的情况,也没有原生的 vim 的体验好。Spacevim 也很强大,但是一味的模仿 Spacevim 使得快捷键过于繁琐,相关的插件可以在 dotfile 中添加。

2018-05-15

最近比较焦虑,研究 SpaceVim 不小心误删了 vim 的配置,很是沮丧。通过在网上的查找,找到了 Time Machine 时间机器可以回滚某个文件,试用后心情愉快了很多。以后得多多备份才好。