月度归档: 2021 年 12 月

2021年度总结

2021年,全球新冠疫情仍然没有明显好转,不知何时是尽头,好在我所在公司的业务受疫情影响较小。

从新年开始,我们研发团队的所有开发小组都开始执行Scrum敏捷开发,敏捷开发体系建设完成。在完成各项产品开发任务的同时,上半年我着重研究AI技术,关注AI在业务场景的应用,和团队一起分析产品逻辑,安排团队完成了B端用户画像,与AI团队一起讨论智能推荐的模型算法,我不禁感叹,短短几年时间,智能推荐就已经从我刚接触时的协同过滤变成了如今基于深度学习的算法模型。在推进团队对APP的智能推荐进行了改造升级后,从统计数据上看,改造之后的模型推荐效果要好于之前,但智能推荐是需要持续优化、不断演进的,AI团队仍然在继续努力。下半年,随着《中华人民共和国个人信息保护法》的正式施行,国家、社会、民众对个人信息保护的关注度空前高涨,我们的很多工作也是围绕信息安全、个人信息保护展开,为了提升信息安全等级和对个人数据的严格保护,我与团队设计并上线了新的数据加解密中心,并对重要数据加密升级保护做了规划,预计在明年完成所有重要数据加密升级。

学习用TensorFlow训练基础的Fashion-MNIST数据集

今年我一直在观察和思考互联网的发展,在去年总结时,我说过“行业互联网巨头,滥用市场支配地位,实施垄断”,没想到今年,阿里巴巴和美团就因为垄断被处巨额罚金,看来国家也看到了互联网巨头垄断的危害,从而下决心出重拳打击,以儆效尤,估计腾讯、携程们也会瑟瑟发抖。纵观今年,各头部互联网企业的增长似乎都到了瓶颈,电商交易额、在线广告的增长都趋于平缓,完全没了以往高歌猛进的势头,加之国家打击垄断与防止资本无序扩张,反倒是一个个噤若寒蝉,甚至到了年底,爆出爱奇艺等多家大厂大幅裁员的消息。

平台的商业本质是流量,谁控制了流量,谁就控制了终端用户获取资讯、商品、服务的通道,接下来只要收“买路钱”就可以了,这几家头部的平台型互联网公司,始终无法下沉到具体行业中,无法真正给实体企业赋能,是因为“平台”像毒品一样让人上瘾,用最轻的资产,撬动了最高额的利润,这也是资本眼里最好的模式–“轻资产,高毛利”,互联网巨头热衷于与垄断,就是要不断的控制流量,攫取利润。去年总结时,我也说过“互联网C端流量已到瓶颈”,目前看来互联网C端流量已经见顶,格局已定,要获取新流量,就是要对现有流量进行重新分割,从存量流量池里切,成本会越来越高,这也是头部互联网企业增长趋缓的原因之一。除非互联网形态有革命性的变化(比如从PC互联网转向移动互联网),目前的流量格局不太会发生变化。Facebook在10月底改名为Meta,标志Facebook将从一家社交公司改变成一家元宇宙公司,我想Mark Zuckerberg就是在赌未来的互联网形态是VR、AR,但人类生产生活脱实向虚,将是多么可怕的一件事情。

2021年,仍然没有出现现象级的创新产品或创业公司,在互联网形态和流量格局固定的情况下,也似乎很难出现优秀的创业企业,但也不是没有机会,我还是坚持以输出优质内容为导向,优质内容的形态其实非常广泛,资讯、产品、服务都可以包装成优质内容,优质内容的制造者,根本不用担心流量来源,而是运用现有的平台。根据网络间接外部性,在平台一端用户(C端)数量足够的情况下,另一端的优质内容提供者对于平台价值的贡献远大于C端用户,所以平台对于优质内容提供者的重视程度也远远高于另一端的C端用户,这也是为什么垄断是要商户“二选一”的原因,在充分竞争的市场环境下,优质内容的提供者会选择成本低流量大的平台分发内容,通过内容变现。

今年对于有小孩的家庭来说,也出现了一个重大的变化,2021年7月24日,中共中央办公厅、国务院办公厅印发《关于进一步减轻义务教育阶段学生作业负担和校外培训负担的意见》,即“双减”政策,随后“双减”政策落地,培训机构关门,小朋友们不用再在各个培训学校间疲于奔命,虽然我们没有给小孩报什么辅导班,但对于这个政策是赞成的。今年我儿子进入初三,明年就要中考,上海中考的淘汰率非常高,大概只有50%的小孩能上高中,所以中考的重要性甚至超过了高考。从年初,也就是初二下半学期开始,我就开始抓儿子的学习,好在初中的知识我记忆比较深刻,我负责数理化,我老婆负责英语语文,在暑假的时候,我把初三上半学期的数理化三门课全部讲了一遍,初三学期开始,每天晚上和周末都要辅导他功课,和他一起做题,儿子的成绩确实有所提高,但距离考上特别好的高中还是有点差距,仍需要努力。

做儿子的习题

今年读了不少书,《谷歌和亚马逊如何做产品》、《幕后产品:打造突破式产品思维》、《成为乔布斯》、《我曾走在崩溃的边缘》、《创新公司 皮克斯的启示》、《敏捷团队绩效考核:KPI、OKR和360度评估体系的应用与实践》、《一往无前 雷军亲述小米热血10年》、《生生不息 一个中国企业的进化与转型》、《我在小米做爆品》、《未来算法》、《能力陷阱》、《底层逻辑》、《闭环思维》,其中《成为乔布斯》从另一个侧面讲述了乔布斯的故事,让我坚定了持续打造团队、追求卓越的决心。上半年研究AI,所以阅读好了几本深度学习的技术书籍,《TensorFlow深度学习算法原理与编程实战》、《人工智能数学基础》、《机器学习实战:基于Scikit-Learn、Keras和TensorFlow》、《Python深度学习》、《TensorFlow深度学习——深入理解人工智能算法设计》、《深度学习推荐系统》,还学习了几门“极客时间”网站上的在线课程,《推荐系统三十六式》、《深度学习推荐系统实战》、《TensorFlow 2项目进阶实战》、《朱赟的技术管理课》。在背单词的“扇贝网”上的打卡记录是2085天。

读书

今年由于辅导小朋友功课的缘故,平日没怎么跑步,也就是在周末2天跑跑,但每天晚上吃的很少,体重没有明显反弹,算是保住了去年减肥的成果。

疫情一直不消停,加之小朋友学业紧张,一整年都没有出去旅游,等明年中考结束,疫情有所好转,一定带着家人好好出去玩玩。

2022年,在工作中希望达成“数据加密升级”、“微服务架构改造完成”等几个目标,提升团队整体综合素质,持续创造价值。生活中希望儿子能考上理想的高中,家人身体健康。最后还是希望疫情能早日结束,所有人都过上正常的生活。

封面图片:家里露台上的葡萄架,拍摄于2021年8月7日。

在pyenv环境下安装支持Mac M1芯片的TensorFlow

从TensorFlow v2.5开始,可以通过tensorflow-metal PluggableDevice使用Mac M1芯片的GPU加速训练。

一般情况下,只要按照苹果“Getting Started with tensorflow-metal PluggableDevice”文档中的步骤安装即可,但我的M1芯片MacBook Air中安装了pyenv,pyenv 是一个 python 版本管理工具,可以方便的在工作环境中安装、管理和切换不同版本的 python,所以我尝试在使用pyenv的情况下,安装TensorFlow。

系统要求,macOS 12.0+,需要先安装好Xcode Command Line Tools,安装命令

xcode-select --install

pyenv的安装和配置请参考网络教程,通过命令

pyenv install --list

可以列出所有可以安装的 python 版本,也会包含anaconda、pypy等不同的版本。

接下来安装Miniforge,这是由于Anaconda 无法在 M1 上运行, Miniforge 是用来替代它的。执行命令

pyenv install miniforge3

会安装最新版本的Miniforge3-MacOSX-arm64,使用pyenv versions命令,可以列出所有被 pyenv 管理的 python 版本。

通过pyenv命令,设置当前 shell 所使用的 python 版本为miniforge3

pyenv shell miniforge3

使用conda创建名为“tensorflow”虚拟环境,并激活,这里使用的python版本为3.9.5(TensorFlow所需)

conda create -n tensorflow python=3.9.5
conda activate tensorflow

安装TensorFlow dependencies

conda install -c apple tensorflow-deps

如果是升级安装新版本的TensorFlow,建议使用

# uninstall existing tensorflow-macos and tensorflow-metal
python -m pip uninstall tensorflow-macos
python -m pip uninstall tensorflow-metal
# Upgrade tensorflow-deps
conda install -c apple tensorflow-deps --force-reinstall
# or point to specific conda environment
conda install -c apple tensorflow-deps --force-reinstall -n tensorflow

安装TensorFlow

python -m pip install tensorflow-macos

安装tensorflow-metal plugin

python -m pip install tensorflow-metal

至此,TensorFlow就安装成功了,执行

conda deactivate
pyenv shell --unset

可以关闭conda虚拟环境,取消设置当前 shell 的 python 版本。

在PyCharm里使用安装在pyenv里的TensorFlow,步骤如下:

在PayCharm里新建项目

选择“Previously configured interpreter”,并点击后面的 “…” 按钮,弹出“Add Python Interpreter”窗口

选择左侧的“Conda Environment”,然后点击“Interpreter”下拉框后面的“…”按钮,弹出“Select Python Interpreter”窗口

选择miniforge3下“tensorflow”这个虚拟环境下的python文件地址,点击“OK”

在“Add Python Interpreter”窗口中,可以看到“Interpreter”已选中我们刚才所选的Python文件地址,同时选中“Make available to all projects”,也就是这个Interpreter可以被所有项目使用,点击“OK”

在“New Project”的窗口中,即可以选择我们刚才创建的“Interpreter”,点击“Create”,项目创建成功。

在main.py中测试一下TensorFlow

执行结果

我们安装的TensorFlow版本是2.7.0。

个人及中小企业SSL/TLS证书选购指南

出于网络安全的要求,越来越多的网站(服务端)采用SSL/TLS证书,目前绝大多数的商业网站都使用了SSL/TLS证书,如果网站未使用证书,Chrome、Edge、Firefox等主流浏览器会在地址栏提示该网站“不安全”,同时Apple应用商店、微信小程序等都要求开发者必须使用SSL/TLS证书。

SSL 协议由网景公司开发,后来被 IETF 标准化,正式名称叫做 TLS,目前应用最广泛的应该还是 TLS 1.2,但一些网站已经开始使用TLS 1.3。SSL/TLS 可以认为是同一个协议,不过版本不相同。SSL/TLS的作用在于对数据传输进行加密,防止数据被监听或篡改,避免钓鱼网站,与网站访问者建立信任,提升搜索引擎排名等。

SSL证书按照验证级别来分的话,可分为:域名型SSL证书(DV,域验证)、企业型SSL证书(OV,组织验证)、拓展性SSL证书(EV,扩展验证),由于OV和EV证书价格昂贵,个人和中小企业选择DV证书就可以基本满足安全性需求了,而且在申请过程中,只对域名所有权进行验证,验证方式也比较简单,签发过程只需要几分钟到几小时。

DV证书的品牌很多,相对廉价的证书品牌有Sectigo(原Comodo)、RapidSSL、FastSSL、AlphaSSL。

Sectigo(Comodo)自己拥有四个根证书,分别是COMODO RSA Certification Authority、COMODO ECC Certification Authority、USERTrust RSA Certification Authority、USERTrust ECC Certification Authority。

RapidSSL是DigiCert旗下的廉价证书品牌,使用DigiCert的根证书。

FastSSL也是DigiCert旗下的廉价证书品牌,使用DigiCert的根证书。

AlphaSSL是GlobalSign旗下的廉价证书品牌,使用GlobalSign的根证书。

可能是信息差的问题,国内代理这几个品牌SSL证书的网站,在定价上都比国外网站高了许多,动辄几百几千人民币。

国内销售价格
国内销售价格

但实际购买这些证书用不了这么多钱,接下来我就介绍几个比较便宜的购买SSL证书的国外网站。

1、SSL2BUY(https://www.ssl2buy.com/

品牌产品1年价格(美元/年)一次性购买5年(美元/年)
ComodoComodo Positive SSL(Comodo单域名DV证书)$10$8
ComodoComodo Positive SSL Wildcard(Comodo通配符DV证书)$60$44
RapidSSLRapidSSL Certificate(RapidSSL单域名DV证书)$20$16
RapidSSLRapidSSL Wildcard(RapidSSL通配符DV证书)$84$67.2
AlphaSSLAlphaSSL Certificate(AlphaSSL单域名DV证书)$20$16
AlphaSSLAlphaSSL Wildcard(AlphaSSL 通配符DV证书)$42(¥267.26)$34(¥216.36)

2、ChepSSLSecurity(https://cheapsslsecurity.com/

品牌产品1年价格(美元/年)一次性购买5年(美元/年)
ComodoComodo Positive SSL(Comodo单域名DV证书)$7.99$5.45
ComodoComodo Positive SSL Wildcard(Comodo通配符DV证书)$67.95$52.95
RapidSSLRapidSSL Certificate(RapidSSL单域名DV证书)$11.95$7.61
RapidSSLRapidSSL Wildcard(RapidSSL通配符DV证书)$89$69.42
FastSSLFastSSL DV Certificate(FastSSL单域名DV证书)$6.85(¥43.58)$4.39(27.94)
FastSSLFastSSL DV Wildcard(FastSSL通配符DV证书)$58.75$41.95

3、Namecheap(https://www.namecheap.com/

品牌产品1年价格(美元/年)一次性购买5年(美元/年)
ComodoComodo Positive SSL(Comodo单域名DV证书)$10$5.99
ComodoComodo Positive SSL Wildcard(Comodo通配符DV证书)$82.99$41.99

根据上面比较,可以看到,个别产品的价格折算人民币后是国内的1/10,所以单从价格角度,如果购买单域名DV证书,推荐ChepSSLSecurity的FastSSL DV Certificate(FastSSL单域名DV证书),如果购买通配符DV证书,推荐SSL2BUY的AlphaSSL Wildcard(AlphaSSL 通配符DV证书),另外,每年11月份黑五大促,Namecheap上会有大幅打折的商品,今年(2021)黑五Comodo Positive SSL Wildcard(Comodo通配符DV证书)一次性购买5年的价格为146.95美元(合29.39美元/年,即人民币187.02元/年)。

在上述几个网站上购买SSL证书,只要有支持美元的信用卡或是Paypal就可以,购买过程非常简单,几分钟就可以完成购买,购买后,也不用马上进行证书签发,等需要用时进行签发即可。

2020年9月1日起,在三大浏览器(Apple Safari、 Google Chrome、Mozilla Firefox)的推动下,SSL/TLS证书最长有效期变更为13个月,同时,全球各大证书权威签发机构已停止签发有效期超过1年(398天)的SSL证书。2020年9月1日后签发的有效期超过398天的证书,三大浏览器(含手机、平板及PC端)都会提示“不安全”。如果一次性购买了多年,只要在每年(即398天前)重新签发证书并更新服务器配置就行了。

上海新能源汽车购车记

由于我和我太太都需要开车上班,目前家里只有一辆沪牌的燃油车,所以计划再购置一辆用于代步的汽车。众所周知,上海牌照一直采用拍卖方式,价格长期居高不下,目前一块牌照10万块左右,而且基本上拍不到,但当前上海购置新能源汽车是送专用沪牌的,考虑到这个政策以及上海市区限行规则肯定会越来越紧,而且新能源汽车节能环保,使用成本也比燃油车小很多,所以我们决定买一辆纯电的新能源汽车。

选车方面比较简单,因为只用来代步,所以经济实用为首要考虑因素,目标确定为20万元以下的国产车,家里已有的燃油车是SUV,所以这次就选轿车,而且也不追求过高配置,满足基本出行需求即可。趁一个周末,我和太太去了几家4S店,先看了荣威Ei5,厂商指导价12.88-16.11万元,价格还行,就是车门太薄,轻飘飘的,另外上海大街上很多这个车型的出租车,总体不满意。之后去了比亚迪,比亚迪的展厅很是热闹,热门车型当属秦PLUS,纯电版本价格12.98-17.48万元,但比亚迪实在太火了,加之全球芯片短缺,比亚迪的交付期至少3个月,时间长的超过半年,所以也不考虑了。最后去了广汽埃安,广汽除了本田、丰田,其他品牌在上海一直比较小众,路上看到的非常少,埃安(AION)也是一个刚独立出来的新能源汽车品牌,目前主打的就是2021年最新的AION S Plus这款车型,价格13.96-17.26万,我和太太试驾了一下,操控感还可以,其他方面包括车辆整体外形、座椅、中控等都还比较满意,但也没有现车,当时我们还不是特别急于购买,后来也没有再看其他车型,就这样过了一段时间,埃安的销售打来电话,说店里到了几辆现车,让我们来看看,我们看过以后,感觉配置和颜色都还行,就定了下来,后面就进入了新能源购车的正式环节。

上海购买新能源车送专用沪牌,还是有一套比较复杂的流程,但好在2020年9月28日,上海新能源汽车专用牌照申领“一件事”在上海“一网通办”总门户“一件事一次办”上线,其涵盖:新能源汽车购车资格查询、车辆信息确认、专用牌照申请等事项。在办理流程上实现“一网办理”、“只跑一次”,办理时间大幅压减,由原本的26-39个工作日减少至7-14个工作日内。

第一步(Day 1),购车资格查询。我们是在4S店销售的指导下,进入上海市“一网通办”网站操作。购车资格主要是看名下是否已经有新能源车,如果是非上海户籍,还要社保等其他材料,这次购车以我太太名义,我们都是上海户籍,名下也没有新能源车,所以这步很顺利,当场就过了,在“一网通办”里也可以看到“购车资格查询”办结。

第二步(Day 1),签购车合同,交定金。这步都是4S店里的常规流(tào)程(lù),但如果在车价上不能优惠,那就在其他东西上(贴膜、行车记录仪、脚垫、炭包等)和销售好好讨价还价一番,毕竟没签合同的时候都是“大爷”,销售也会为了做成这单,“假装”去和领导申请优惠,大家一番“做戏”后,终于达成一致,签了合同,同时给了2张表格,即《电动汽车充电设施安装登记证明》和《车位及允许施工证明》,回来找物业盖章,物业盖章大概花了2个工作日,拿到盖章材料后,申请充电桩电表,在“网上国网”APP中的“个人充电桩报桩”办理,要上传物业盖章的材料,申请当天就有电话确认,第二天国网电力的人就上门装好专用电表了。

第三步(Day 7),验车付款。签合同后大概1周,前往4S店验车,验车就是看看这辆整体有没有什么明显的问题,比如漆面、轮胎、制造时间、行驶里程等。车款中一部分申请了广汽金融服务的贷款,其余部分支付好,就等提车了。

第四步(Day 11),申请充电桩,准备提车。验车付款之后大概2个工作日,贷款放贷完成,在线付了车辆保险费,4S店开出购车发票,然后在“广汽埃安”APP申请安装充电桩,同时申请临时牌照,临时牌照去车管所自己申请,5元工本费,把临时牌照带到4S店,4S店做提车前准备。

第五步(Day 13),提车。临牌送到4S店的第二天,前往4S店提车,此时新车到手,可以上路行驶了。

第六步(Day 17),安装充电桩。在申请安装充电桩后大概3天,有安装充电桩的公司工作人员会打电话来预约安装时间,我们约在周末来安装,安装充电桩花了2个小时左右,装好后要拍摄车位照片和车主手持身份证照片。安装充电桩是三方公司,每天的安装都是排的满满的,从申请到安装都要1周以上,我们还算是快的,从申请到装好6天时间,由此也可以看到上海新能源车市场的火爆。

第七步(Day 25),车辆信息确认。在充电桩安装完成之后,4S店会把购车材料、充电桩材料提交给“一网通办”,注意,最终上牌时间和4S店提交材料的时间有很大关系,要最快上牌,就要催4S店尽早提交材料,一般在提交材料之后的第二天,在“一网通办”里就会显示车辆信息确认的待办事项,车主进行确认,该事项进入受理状态,等待“一网通办”里的审核确认,这个审核确认过程需要5个工作日。4S店在我们完成安装充电桩1周后才提交材料,所以期间又在“交管12123”APP上申请了第2张临牌(临牌只能申请2次,总长30天,如果临牌过期还没办出正式牌照,车就不能上路了)。

第八步(Day 30),专用牌照申请。在车辆信息确认步骤完成当天,“一网通办”里会生成专用牌照申请事项,其中一共有3个环节,即购置税申报、排放等级认证、机动车注册登记,在完成购置税申报、排放等级认证后就可以进行机动车注册登记,也就是上牌。购置税申报、排放定级认证可以在网上操作,我们并没有操作,由4S店操作完成,第二天通知我们凭证已经下发,可以去上牌了,在“上海交警”APP里预约最近的车管所次日上牌。

第九步(Day 32),上牌。我带上车主身份证(我太太的身份证)和代办人身份证(我自己的身份证),开车前往车管所办理车辆注册登记上牌,所需的其他材料,比如购车发票、车辆合格证等由4S店派专人在车管所配合提供。上牌总共花了2个小时,过程看以下视频。

至此,历时32天,完成了新能源汽车购买的整个流程,其中第七步,如果4S店尽早提交资料,可以节省大概一周的时间。

节能环保、绿色交通是国家战略,2021年2月4日,上海市政府发布《上海市加快新能源汽车产业发展实施计划(2021—2025年)》,其中明确提出“个人新增购置车辆中纯电动汽车占比超过50%”,路面上的电动汽车会越来越多,上海市区的限行政策也会越来越严,趁着目前送牌照的政策,有条件的家庭可以响应国家号召,购买新能源汽车,我们在未来也将更多的使用电动车出行。

最后做个广告,如果你想把手中的燃油车卖掉置换新能源车,可以使用天天拍车二手车拍卖平台卖车,“全国卖家竞拍,高价卖车”,微信扫一扫,即可快速卖车!

天天拍车小程序