分类目录归档:随笔

出门的教训,必须带纸

上了火车才发现,没有带纸。

要坐数十个小时的火车,可以说是很头痛了。

老爸曾说,纸这个东西借不得,因为别的东西都可以还,唯独纸这个东西因为你借了没办法还,所以就别借。

好在我可以很久不吃不喝。所以安全度过。

为什么我愤怒了?

一直以来,我的脾气都是很好的,不愿与他人争吵,产生纷争,因为太过麻烦。

但是今天的确失态了。

回顾自己今天的原因,为什么我失态了?

我觉得主要是两点:

  1. 超出我的预期:原本的方案是 Micro:bit + JS 开发,发现有一些硬伤后,我觉得可以考虑上 Rust ,但是同事觉得应该使用 CPP,对底层进行修改。我觉得成本太高了。而且不认为自己能够处理。
  2. 需要花费大量的时间:由于同事负责的并非是硬件,所以他提出方案后,我觉得这是对我的挑战。而且,由于他不是负责这部分业务,所以我们之间的想法会有所差异。

醒悟

别让情绪操纵自己,做正确的事情,而不是符合情绪的事情。

测试随笔

作为一个开发者,相信你或多或少都会接触过测试,小到”单元测试“,大到”特性测试“,团队人少的开发自己测试,团队人多的专门招个人测试,甚至是有自己专门的测试团队、测试部门。

当我们从简简单单的关注功能到了关注代码质量、关注产品性能、关注软件工程的时候,我们就不可避免的要与测试打交道,可是,你又是否真正关注过测试?

在我看来,测试真正的价值是将软件工程中的一些变量,变成了不变的量。对于一个项目来说,变量越多,我们要处理的问题就越复杂。而测试可以确保我们需要的东西从变量,转变为常量。当他成为常量时,我们在后续的处理相对就更加简单了。

如果用线性代数的话来说,测试其实就是将维度降低了,你每写下一个测试,都将代表着你的软件复杂度的维度降低一维,你解决问题的难度也就越低。

Screeflow vs Camtasia

从极客学院录制课程开始,我就一直使用的是 ScreenFlow。Screenflow 界面美观,功能强大,渲染出的视频大小也不错,所以我就一直用了下来。

k9d7v
screenflow 8

最近因为工作需要,需要录制一个视频,视频需要能够被 Windows 系统编辑,所以改用了 Camtasia ,功能更加强大、界面也不像是使用 Qt 之类的跨平台框架开发的,十分的流畅。非常的爽。

pfbw8
Camtasia 2018

后续我应该会使用 Camtasia 来录制视频了。

为什么我们要了解一个产品的生命周期

作为一个开发者,我们经常要使用到各种各样的开发工具,比如你使用 Vue ,那么肯定要了解 Vue 的生命周期;如果你使用 WordPress ,就需要了解他的产品加载顺序。

如果你只关注如何使用,却不曾关注底层的逻辑到底是什么,那么有朝一日你也会提出这样的问题:

uiyqg
V2ex 的帖子

实际上,如果你曾先了解过一个应用的生命周期、加载顺序等这些比较基础的东西时,就不会问这些问题了。

从另外一个层面, 面试常问 HTTTP 的三次握手四次挥手也是这个原因,当你了解了整个流程,才能更好的在这个流程上进行研究、开发、Hack。

关注你的核心目标

我们常常没有办法很好的完成一件事,是因为我们在前进的路上,迷失了方向,忘记了什么才是我们追求的目标。

比如说:写博客。

作为程序员,写博客是再正常不过的事情了。就写博客这一件事来说,也有很多不同的方案:

  • 有的人使用 CSDN、ITEye 这样的博客服务提供商(BSP)来建立自己的博客;
  • 有的人购买虚拟主机,使用 WordPress 这样的程序来建立自己的博客;
  • 也有的人选择直接使用一些静态博客程序,生成静态页面,托管在免费的 Github Pages 上。

每个人选择都有自己的想法,我想说一说我选择 WordPress 的原因。

首先,我的目标是“写博客”,非常纯粹。落脚点呢,是”写”,所以核心的目标就是要坚持写。

那么,从这个目标出发,所做的一切选择都应该是为”写”而服务的。比如,为什么不用 Hexo、octporess、Jekyll?因为这些工具会拉长写作的路径,写一篇文章需要先安装 Git、下载编辑器、Clone 代码、写内容、编译、commit、push,路径非常长。如果你选择使用诸如 WordPress 这样的程序,就可以直接打开浏览器,登陆后台,并开始写作。

最后,为什么不用 BSP 呢?BSP的原因是编辑器的体验并不好,不少平台都还在用可见即所得的编辑器,但是对于我平时主要写随笔和代码文章来说,这样的编辑器太难用了,而且, BSP 的自由度也太低,作为程序员,还是要自己折腾折腾,广告也不少。不过, BSP 也有自己的优势,比如有流量的加持,平台可以为你提供流量,帮助你更好的出名,But,我的本意是写作,而不是出名,这个流量的加持对我来说并不重要。所以,也不选择 BSP。

在前进的路上,我们很容易就迷失自己的方向。在写博客的过程中,我也曾多次切换过平台,直到最后,我明白了,写作才是真正值得我追求的,最终,回到了 WordPress, 并坚持写下去。

前进时,别光顾着走,也看看自己的目标是什么,时常回顾自己的目标,才不至于走偏。

网名,真名哪个重要?

Boss 在一个群里的讨论

今天在看 V2ex 的时候,发现 V2ex 有个帖子“你们的 Github 账号会用自己的真实姓名么?”,里面提到了大家大多不在互联网上使用自己的真实姓名。

刚好,今天早上我的 Boss 在一个读书会的群里也在讨论这个问题,他常年使用笔名“青润”,很多人只知道他的笔名,不知道他的真名。

这两件事情让我思考,我们是否真的有必要让别人知道自己的真名呢?

就如我 Boss 所言,名字本身只是一个代号,笔名也是一个代号,如果你一直使用一个特定的代号,那他其实和你的名字没有什么区别。对于我来说,使用 Bestony 这个 ID 也不短时间了,以后应该也会长期使用下去。不过,我在考虑后续同时扩张我的本 ID 的影响力。这样看来,似乎也没有必要。

不过,可以本名关注非技术领域,网名关注技术领域。

Reference

你们的 Github 帐号会用自己的真实姓名吗?:https://www.v2ex.com/t/538131#reply32

为什么英文互联网世界里实名比例如此之高: https://laike9m.com/blog/wei-shi-yao-ying-wen-hu-lian-wang-shi-jie-li-shi-ming-bi-li-ru-ci-zhi-gao,107/

用上了自己做的翻译插件

之前用的翻译插件cos_slug_translator 因为一些原因,并没有办法很好的和 JetPack 一起联用。导致每次发布到 Twitter 的文章链接都是失效的。为此,我前往 Github ,在 JetPack 的项目中发起了一个 Issue 。

Jeremy 给我了一些建议 , 于是,我就重新做了一个插件,并将这个插件提交到了官方的插件系统。希望可以通过审核。

后续考虑继续支持其他一些翻译平台,比如,有道翻译的新 API、搜狗、Google等一系列。特别是 Google, 这样就可以支持非中文文章了,比如,日语的。

项目仓库:

https://github.com/bestony/automatic-translate-slug

能成大事者,敢背锅

我有两个朋友,在某厂做 BaaS 服务。

在进行产品开发时,到了某个产品时,大 boss 竟然想让用户自己去买服务器来搭服务,并通官方通过的 SDK 进行转接。这让我百思不得其解。

因为在我看来, BaaS 这种业务,就是把弹性、运维、环境都从用户这里拿走,让用户只关注逻辑和业务,从而更好的关注自己的业务。这种将一部分能力拆出来,由用户自建的行为十分的奇葩,将从用户这里拿走的弹性、运维、环境问题,重新又踢回给了用户。

作为一个 BaaS 服务,如果你让用户想起来自己去搞弹性,那基本就是在提醒用户,你不要用我们的服务了,你自建吧,反正弹性什么的你还是要自己搞。没区别。

后来,我想明白了,估计是 大 Boss 因为该产品之前的一些功能不稳定,总是被客户吊,所以在设计新的产品时,选择了稳妥,但是很难用的方案。这样的方案虽然难用,但不是不能用。可能想着得过且过,不背锅算了。

不过,如果同样的事情让我来做,可能会有不一样的看法。

在我看来,你可以因为业务的不稳定而被吊,这没问题,自己的技术力量不足,无法解决问题是应该被吊。但是如果你因为稳定,而不去做一些东西,这等于拱手将客户送人。我宁可被吊,但是用户要被我抓在手里。有了用户,我才能获取足够多的反馈,才能够让我以后不被吊。你把皮球都踢出去了,也把用户都踢出去了,yi以后你想要被吊,也没有机会了。

在我看来,一个 BaaS 、SaaS 层的服务,最好的三个状态是这样的:

  1. 让用户不能离开:因为你需要用户来给你反馈,来帮助你迭代,成功。你可能会做一些限制,不让用户离开。比如深度耦合的服务。
  2. 让用户不想离开:虽然有了竞品,但是因为你的好用,所以用户不愿意离开。你虽然应用户的需求,开放了数据导出等功能,但是用户还是很喜欢你的产品,不想离开。
  3. 让用户不愿离开:当用户发现,虽然有竞品,但是提供的服务依然不如你,切换过去了发现还不如你的时候,他就再也不愿意离开了。而且,当他试过一次别人家的业务,很失望以后,后续除非有什么特别大的利好,不然他不会再考虑离开你的服务。这个时候,你的业务就成功了。

此外,这个 Boss 的想法也让我觉得可笑,愿意背锅,敢于背锅是对自己开发团队、产品团队的信任,我信任你不会让我背锅。把锅甩出去了,表现了你对自己的产品、自己的团队没有信心。倘若团队离心,产品又怎么可能做好呢?