0%

疫情后的第二次春节,我和女友本打算各回各家(省略各种对于回谁家的争执),各找各妈。我票都订好了,为了自己的老腰还订了一等座,女友也约了当天的顺风车,就等 1.27 出发了。结果出发前一天杭州突然又出现新的病例,这突如其来的变化打破了我们的计划。回家的旅程充满了不确定性,毕竟如果路上或者到了目的地被劝返或者被要求更可怕的强制隔离,那就很吃不消了。

于是我问了老爸家里的政策,听起来问题不大,应该是可以回家的。只是女朋友很担心,她听到的消息不够确定,怕回家被隔离,想等形式明朗,政策清晰后再决定还要不要回家。那我想就等你一两天再杭州陪你吧,不行的话年 30 再回家也行。还考虑到如果她家回不去,那就跟我一起回家,为此我花大价钱订了一张特等座(没有票了,只候补到这个席位)。

第二天一早,女友起床一看直接黄码了,她哪也去不了了,我也只能留在杭州陪她了。于是就这样稀里糊涂的要渡过在杭州的第一个春节了,也好,哪也不跑风险小。

刚好趁着这个时间,对去年做个总结。

工作

年初由于组织架构调整,大前端团队拆掉了都划分到各个业务小组里去,变化非常大,同时夹杂着一些其他原因,整个大组里面资深的人走了一大半。我入职虽不久,但三年来还没有这么大的动荡。老板也对我的想法比较关注,我都是直说一直以来都有看机会,当然这个不针对最近发生的事情,只是作为一个职业的职场人士,这是应该的,需要一直关心市场的行情。

当然最后我还是选择继续留了下来,原因也很多,简单说就只能是懒了,加上外面也没有非常合适的机会。留下来也不是一个非常错误的决定,一来因为组织架构调整对我们小组影响不是很大,二来优秀的人变少了不能说完全是一件坏事,毕竟作为留下来的优秀人士,我的发展机会变大了那么一点点,只是我比较佛,倒不是很在意这个,所以整体上在团队的职责和定位没有发生太大的变化。甚至由于前后端团队的合并,在我们店铺小组来说合作更加方便了。提了三年的智能店铺也最终一起达成了方向上的一致,打算今年进行落地。

整个项目的推进还是很顺利的,到了年中一切都按照计划进行。老板中期谈话,跟我说你这个级别只搞智能店铺是不行的,要搞一点更有挑战性、前瞻性的东西,并给我指了个方向说搞端智能

阅读全文 »

今天是阿里入职三周年,借机回顾一下这三年的工作。
回想入职之前,内推的朋友跟说我过来可能负责日本站的开发,当时还挺激动的,国际化业务啊, international 。
结果我入职的前几天组织架构发生了巨大的变化,带我的师兄也换了,负责的业务域也换了。除了刚入职做了一段时间 detail ,后面主要就是做国际站店铺了。

业务开发

国际店铺这个业务虽然已经很稳定了,但还是有很多可以改进和优化的地方。三年来大的项目主要就是:

  • 千人千面
  • CP 结构化展示
  • 双赛道
  • 管理后台升级
  • 无线店铺 2.0
  • 内容化店铺

也算是为跨境国际贸易做出了自己的贡献。

效率&架构升级

开发提效

一开始负责 detail 的开发,接到的第一个需求是做一个什么物流相关的。我一看很简单自评了 2 天,师兄跟我说评少了,一个星期吧。我当时内心 OS:这么简单的功能需要一周?

结果真正着手做的时候发现,我靠一周都悬。当时的 detail 还是一个完全依赖后端 vm 渲染的古典 web 业务,前后端完全不分离。几乎任何功能都需要前后端一起改,并且改完部署到预发才能调试,而一次部署需要将近 20 分钟到半个小时。可以想想这样的开发效率,那是相当的低下,最终导致我入职第一周就体验了通宵工作,干的我差点想当场离职。都 2018 年,还是这么落后的技术,难以想象。

阅读全文 »

本文整理了近两年来国际站店铺在体验优化上做的努力和探索,也取得了不错的成果,分享出来希望对其他类似场景能有帮助。

性能优化大体上可以分为网络性能优化和交互体验优化:

阅读全文 »

流式渲染

首先, 简单介绍一下什么是流式渲染.
流式渲染是利用 http1.1分块传输编码的特性, 让服务端分块返回 html , 浏览器可以在接收时逐步渲染页面, 这样有助于页面的首屏展现, 提升用户体验.

分块传输编码

分块传输编码(Chunked transfer encoding)是超文本传输协议(HTTP)中的一种数据传输机制,允许 HTTP 由网页服务器发送给客户端应用( 通常是网页浏览器)的数据可以分成多个部分。分块传输编码只在 HTTP 协议 1.1 版本(HTTP/1.1)中提供。

分块传输格式

如果一个 HTTP 消息(包括客户端发送的请求消息或服务器返回的应答消息)的 Transfer-Encoding 消息头的值为 chunked,那么,消息体由数量未定的块组成,并以最后一个大小为 0 的块为结束。
每一个非空的块都以该块包含数据的字节数(字节数以十六进制表示)开始,跟随一个 CRLF (回车及换行),然后是数据本身,最后块 CRLF 结束。在一些实现中,块大小和 CRLF 之间填充有白空格(0x20)。
最后一块是单行,由块大小(0),一些可选的填充白空格,以及 CRLF。最后一块不再包含任何数据,但是可以发送可选的尾部,包括消息头字段。
消息最后以 CRLF 结尾。

一个栗子

店铺无线和 PC 端都做了流式渲染的改造, 首屏提升都在 200ms 左右, 而且业务数据也都有相应的提升 。

店铺普通渲染和流式渲染对比时序图:

工程化解决方法 Spark

流式渲染的好处很明显,但每个应用接起来还是有一定的成本,我就打算从店铺的改造思路中抽离一个可以快速接入流式渲染的方案。

方案预研

阅读全文 »

主板型号是 z490 GodLike, 微星旗下 Z490 系列最高端的品牌,拓展坞是贝尔金的 Intel 认证的 13 合一的那一款。
拓展坞插到电脑上的时候毫无反应,想了一下可能是缺少驱动。于是就上微星官网找了一下,果然有一个 thunderbolt 的驱动,下载下来却发现根本不知道如何安装:

看起来执行 setup 这个批处理文件就好了,但是每次执行都是失败,毫无进展。

于是直接上网搜 thunderbolt 的驱动,看到 intel 官方有给自己 NCU 产品提供的驱动,于是下载下来直接安装。安装好后会有一个 Thunderbolt 控制中心的应用,同时在设备管理器里面也能看到名为 Thunderbolt(TM) Controller - xxxx的设备:

同时打开前面提到安装好的 Thunderbolt 控制中心,能看到如下展示就说明驱动都没有问题了:

重新插拔拓展坞,会看到控制中心有提示新的设备接入,需要授权(如果 Bios 中设置的不需要授权就不会有这个提示):

点击授权就好了。
至此,第一次 ThunderBolt3 拓展坞的连接就成功了,安装在上面的 U 盘之类的扩展设备也都能正常的识别和读取。

奇怪的事情

按理说我的拓展坞已经正常运行了,不应该再有其他的事情了。上面的操作也都是常规操作不值得专门写一篇文章记录,然而奇怪的事情就在几天后发生了。

阅读全文 »