2021 年第一个双月总结

距离上一篇总结已经过去了两个月,简单来复盘下这两个月的事情吧。

技术和分享

截止这篇文章发出,今年我已经公开分享了 9 篇技术相关的内容,也在不同的领域挖了一些新的坑,等待慢慢连载补全。其中提及最多的几个关键词是:Nginx、NJS、CI、Docker、GitLab、Drone。

这些关键词分别代表着我目前在做和计划做的部分事情,那么就稍微展开其中花费精力比较多的事情来聊聊吧。

Nginx & NJS:2021 年北京智源大会的高性能方案

相比较往年使用 Node / Java / PHP 这些经典方案来提供服务,今年在一些简单的通用场景上,计划将服务提供能力下沉到服务“最前端” 的 Nginx 上,用时髦的话来讲:“NJS Serverless 在边缘计算场景中的实践”。

相同资源的情况下,可以提供更高的性能,带来更好的用户体验,依靠更低的代码量、更健壮的代码基来进一步减少开发心智负担和维护成本。类似聚合接口、基础鉴权验证、生成简单的媒体文件这类需求,完全不需要再起一套带有框架的重型武器,一个 Nginx 标准镜像,带着一百行以内的 NJS 脚本就能高效的解决问题。

并且因为服务本身无状态、低状态的特性,非常容易水平扩展,提供可观的可预期的线性增长的性能。

CI、Docker、GitLab、Drone:可用于多个外包团队的通用开发环境

在两届智源大会背后这篇文章中,我提到过我们的团队和许多非互联网公司一样,依赖外部外包协助产出、进行人力补充,在去年的项目中,前前后后大概有至少五十余外包同学参与过各种项目的开发。

外包生产对于企业组织架构的精简有好处,但是对于产品开发来说利弊一半一半,短期能够明显的降本提效、能够用人海战术来解决一些初级问题,但是长期来看,软件的交付质量、代码的可维护性以及产品最终体验上都会存在一定的问题。

使用外包进行项目开发对于雇主团队的产品文档能力、项目管理能力有了很高的要求,除此之外对于项目代码 Review 、交付验收也增加了非常多的工作量。尤其是外包团队还可能会出现因为不可控因素过程中换人、并行开发多个公司项目时间争抢、存在兼职人员只有在下班才能投入开发和进行项目沟通的情况。

在以往的项目中,我们会更多的照顾开发者的习惯,开发过程集中在开发者本地机器,同时开放测试环境机器权限给项目工程师,在交付前先在测试环境机器进行部署,部署验收基本功能没有问题之后,再进行进一步的外部仓库代码合并,在最后集成验收的时候,再进行容器封装、多机部署,集成测试。这样做保障了我们最终产品质量下限,保护了内部线上数据安全、也尽可能少的对外暴露代码,但是也造成了一个很常见的风险:延期

而导致延期的主要原因是:在开发阶段的代码,和验收时要求的规范不一致;在验收的阶段的代码,存在和开发最后提交代码不一致和暴露额外设计问题的可能性。外部人员不熟悉也不清楚雇主的要求,代码规范繁杂和过多,等同于没有规范;将外部仓库合并至内部仓库,代码由子集变成全集(内部也存在需求迭代)、代码运行环境发生变化,导致运行结果存在一些差异;集群模式下应用出现一些经典的流程控制、资源争抢问题。

对于后端接口我们可以进行测试覆盖来验证项目的正确性,但是对于前端项目,尤其是频繁变更的前端项目,如果不采取录制,而是采取编写测试用例的方式,对于交付时间和用工成本都会有一些额外的投入、能否持续落地也是一件有挑战的事情。

这类问题最烦人的不是出现问题,而是出现问题太晚了,接近项目开发末期,可能外包人力都接近释放的时间点。如果我们将验收这个阶段提前,或者说和 CI/CD 一样的理念一样,融入到整个开发阶段中呢?

如果能够让开发产物和最终上线产物除了填充数据外保持完全一致,让开发过程使用的持续构建和线上最终构建保持完全一致,让开发过程直接能够使用线上最终的域名环境和鉴权认证过程,不再去刻意区分不同。那么交付时间和质量就能够变得的相对可控。

基于此,我在将开发团队在云服务器环境和本地使用的一些云原生的工具、持续集成的功能下沉到本地,让每个参与开发的人都能够有一套分布式的离线环境来根据规则进行符合要求,和目标环境差异几乎无差异的开发,让开发过程中的产物更加贴合最终的交付产物。

阅读数据

前面提到了已经分享的内容,和进行中的计划和事情,接下来记录下副产品,阅读数据。

相比较上次年末统计,知乎阅读数据增加了 14 万。

清洗网站数据进行统计看到今年目前已有4万独立IP进行了访问,不过不同的是今年的海外访客多了起来,或许是因为我在 GitHub 上挖的几个新“坑”吧。这里面有一些还算比较“硬核”的东西,如果后续有时间,我会整理成完整的文章。

下面分享一个有趣的数据。

来自谷歌和百度的统计的数据

我的读者多数是互联网从业者,其中使用 Ad Guard、AdBlock、uBlock Origin的用户应该不在少数,因为无论百度还是谷歌的数据中,访客人数和阅读数量都对不太上,甚至在区域数据上都会有一些差异。

团队建设

《2020岁末总结》中,关于工作、团队相关的观点目前看来依旧保持有效,故不做赘述,聊一些其他的。

提到团队建设,绕不开的话题是“人数”和“产出”,这里相对更本质的关注点是“有效人效”。之所以在人效前添加有效作为修饰,是因为我们可能会产出很多看似很多、还不错的结果,但是对于大方向、战略来说帮助不大。此外更大的规模的团队,意味着更大的责任。不论是从团队对组织上看、还是从团队管理者对团队成员上来看都是,故招聘需要慎之又慎。

如果团队当前出现了一些问题,尤其是那些看起来能靠加人来解决问题。相比较盲目的靠添加人力这种笨办法来掩盖和解决一些简单的短期的问题,不如梳理出当前团队的主要任务和值得长期投入精力去攻克的事情。“选择并保持合适的团队规模又有何不妥。”

此外,团队成员之间的信任、工作中的协作、方法论、基础效率提升反而应该更值得关注的事情,因为对于这些方面的投资不需要你打鸡血 allin 、下很大的赌注,只需要在日常过程中慢慢浸润即可持续“获取收益”。

生活相关

在这两个月里,我学会了开车,已经能够载着自己上下班了,甚至能够和妹纸一起带着猫咪们出门远行,这件事最大的好处就是我们不必再担心带毛孩子体检遇到不想拉我们的司机。等到驾驶经验再熟练一些后,或许我会考虑住远一些,让居住条件上一个台阶。

学车过程中有一个比较有意思的事情,在写代码的时候,我最初接受的思想之一是“防御性编程”,而汽车教练教我的方式则是“防御性驾驶”,奇妙的巧合。

在过年期间,我们和同公寓楼一个陌生的年轻程序员同学,在公寓门口遇到了一头从楼上窗户摔下来的小猫,大家七手八脚的把小猫带到了附近的宠物医院。

虽然小猫内伤很重,但是经过医生的努力,当天住院时已经安静了许多。几天后,经过手术,小猫目前已经成功出院,并由原主人带回家照料。这个事情之后,我们对出门关好窗户的认识更深刻了,你永远不知道小猫对窗外的世界有多好奇。一时的疏忽,带来的可能是一辈子的遗憾。

节后第一个现象级产品 ClubHouse 火爆了朋友圈,在朋友的帮助下,我比较早的体验到了这个软件,看着不少人沉迷于此的时候,恍惚之间感觉到了严重的“知识拣房”,或者说“信息茧房”更为贴切。

为了减少这类情况的发生、多一些有长期价值的沉淀,我和几十位群友开始了读书打卡挑战,目前已经运行一个月,为了有仪式感,我还用 Hugo 生成了一个简单的“已阅书籍”页面:https://soulteary.com/reading-list/。

其他

我在考虑添加一种技术分享的方式,在日常使用部分内容开放的 Wiki 进行分享,当分享内容积累到足够质量后,形成一篇有趣有料的技术文章。为此,我提交了一个新的网站备案申请,以及购置了一台年付的主机。

先写到这里吧。

–EOF


本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)

本文作者: 苏洋

创建时间: 2021年03月06日
统计字数: 4277字
阅读时间: 9分钟阅读
本文链接: https://soulteary.com/2021/03/06/summary-of-the-first-bimonthly-in-2021.html

2021 年第一个双月总结相关推荐

  1. 合肥工业大学宣城校区2020年-2021年第一(大四上)学期物联网工程专业资料汇总(含课件、个人实验报告、实验代码、课设报告等)

      蒟蒻已经把所有文件都上传到GitHub和百度网盘(验证码:h3e8,解压密码:lssb520)上了,可以自行下载.包含的课程有:<信息安全技术>.<公益活动>.<实习 ...

  2. CSP 2021 入门级第一轮

    CSP 2021 入门级第一轮 一.单项选择题 第 1 题 题目 以下不属于面向对象程序设计语言的是 ( ) : A. C++ B. Python C. Java D. C 分析 面向对象程序设计语言 ...

  3. 2021年第一季开发者报告新鲜出炉,最流行的编程语言竟然是它!

    2021年第一季开发者报告新鲜出炉,最流行的编程语言竟然是它! 近日,开发者调查分析公司SlashData发布了2021年<开发者报告>(第20版).报告中掺杂着大量冰冷的数字,无情的叙述 ...

  4. 2021年第一天,腾讯给青年科学家的300万大红包又来了

    允中 发自 凹非寺  量子位 报道 | 公众号 QbitAI 新年第一天,腾讯官宣2021年"科学探索奖"申报工作正式启动. 科学探索奖,作为腾讯持续鼓励和资助青年科技人才投身基础 ...

  5. 2021年 第一个月的福利 程序员免费资源!

    时间来到了 2021 年,新的一年有新的期待,而我亦有新的祝福 如果说在过去的一年,经历太多,心酸.迷茫.焦虑.幸福.喜悦 那么在 2021 年,希望你可以去过一种遇见自己的生活,恬淡.热情,喜欢自己 ...

  6. 南召第一高中高考成绩查询2021,南召县第一高级中学举行2021届高考百日冲刺誓师大会...

    原标题:南召县第一高级中学举行2021届高考百日冲刺誓师大会 靳杨杨.王宏报道 春回大地,万象更新:春雷隆隆,壮志豪情:旌旗猎猎,战鼓雷雷:百日征程,分秒必争.2月27日,南召县第一高级中学举行202 ...

  7. 2021美国第一只独角兽来啦!

    西雅图IT圈:seattleit [今日作者]拖拉机 IT圈里的拖拉机 小编前几期介绍了10家 西雅图本地最火独角兽 很多小伙伴表示非常喜欢 大家又有了刷题的动力 今天小编要介绍的这家公司 是2021 ...

  8. 2021的第一封拒信来自2021年年度青年活动家本科生奖!

    傍晚 感谢你最近申请2021年年度青年活动家本科生奖. 经过Clifford Chance团队的审查,很遗憾,这次我们将不会让你进入下一阶段. 虽然我们明白这是一个令人失望的消息,但我们也想说明的是, ...

  9. 2021巢湖第一中学高考成绩查询,2021年巢湖高中学校排名及录取分数线排名

    中考填报志愿的时候很多家长会参考本地的高中院校排名,选择给孩子包括合适的高中.那么巢湖的高中排名及录取分数线是如何的呢?本文小编整理了一些关于巢湖高中排名的资料供大家参考,希望对你有帮助. 一.巢湖高 ...

最新文章

  1. Android开发工具——ADB(Android Debug Bridge) 三DalvikVM之jdwp线程
  2. 若依 v4.6.1 后台 排除log4j
  3. NJ4X源码阅读分析笔记系列(三)—— nj4x-ts深入分析
  4. 什么是CRM中间件的1250事件
  5. Html5中的Video元素使用方法
  6. 突发!Python再次卫冕,Java和C下降,你怎么看?
  7. https开头的网址是什么意思_我想打这个面试官,他给我挖坑,问我:URI中的 “//” 有什么用?...
  8. C/C++:Windows获取电脑机器指纹
  9. Linux下Apache安装与配置(详细步骤+代码+验证)
  10. flink source 同步_Flink面试题
  11. linux 下wn725无线网卡驱动,TL-WN725N V3无线网卡驱动移植与wireless工具wpa_supplicant-2.6...
  12. 贺利坚老师汇编课程48笔记:转移指令如jcxz
  13. 数据库, 数据仓库, 数据集市,数据湖,数据中台
  14. 使用pano2vr生成html5全景页面
  15. learning的反义词英文_英语反义词大全.
  16. 解决chrome 停止搜索的解决办法之-- Steganos Internet Anonym 导致
  17. deepin 安装vscode
  18. Docker容器运行GUI程序的方法(直接进入Docker容器运行或通过SSH连接Docker容器运行)
  19. 基于空间平滑MUSIC算法的相干信号DOA估计(1)
  20. oracle数据库启动cannot mount database in EXCLUSIVE mode

热门文章

  1. “职”等你来!阿里云2020年专场招聘来了
  2. 现代软件工程 教课心得
  3. 西农大 Java实习 异常处理
  4. postgresql中sql查询语句报错处理——ERROR: failed to find conversion function from unknown to text
  5. 睡眠 应该用 a加权 c加权_CPA每日一练财管加权平均资本成本的计算
  6. 如何改typecho主题头像_零成本搭建hexo个人博客(二)--修改主题
  7. 应运而生的环保APP
  8. Oracle 10.2 流复制问题(二)—— C001: large txn detected
  9. Visual Graph常见问题回答(FAQ)
  10. 周小川深度解读:DC/EP和数字人民币e-CNY