Flask扩展之http客户端开发

Flask 被称为“微框架”。其中的“微”字不代表整个应用只能塞在一个 Python 文件内,也不代表 Flask 功能不强。它表示 Flask 的目标是保持核心简单而又可扩展。 它不会替使用者做决定,比如选用何种数据库,使用何种模板引擎等。Flask 通过扩展功能来增加它的功能。扩展之于 Flask,就像第三方库之于 Python,插件之于 Vscode。本文将介绍如何开发一个简单的 Flask 插件:HTTPClient,并将其发布到 Python 官方索引 Pypi(Python Package Index) 上。

[阅读全文]
 |   

版本控制之Git初探

作为一名程序员,肯定会将人生大部分的时光交给了 Github,这个戏称为全球最大的同性交友网站。Why?因为程序员需要版本控制系统(VCS)来对代码进行管理。这样程序员就可以跟踪项目的变化细节,将选定的文件回溯到之前某个状态,以及各个成员在多人协同项目中的代码贡献等。本文是对版本控制软件 Git 的初步探索,完全可以支持日常多人协同开发。

[阅读全文]
 |   

系统架构设计师软考复盘

在大学时就听室友说他舅舅拿到了高级架构师的资质,是 IT 行业比较难拿的证书。当时只知道这个资质很牛逼。这两年公司倡导员工通过软件专业技术资格考试考取相关的资质, 比如信息系统项目管理师,系统分析师,系统架构设计师。正因为如此,才有了去年(2020年)报考系统架构设计师这事,一方面本身的职业规划就是架构师的方向, 另一方面也是想以考代学。随着今年成绩和分数线的相继公布,侥幸低分通过,所以写下这篇考后复盘,也算是对去年下半年的努力做个交代。

[阅读全文]
 |   

工程篇之搭建以图搜图服务

基于内容的召回在推荐系统中是比较常见的召回策略,常见有基于用户或物品的标签召回或者基于用户的年龄,地域等召回,一般该策略的实现是基于开源软件 Elasticseach 实现的。虽然召回的结果都比较合理,但是召回的新颖度,惊喜度等都比较低。比如通过标签“刘德华”进行召回,基本上召回的都是包含刘德华字眼的物品,不太可能召回出“黎明”,“张学友”等其他四大天王的物品。近年随着万物皆可 Embedding,特别是 word2vec,item2vec, graph2vec 等技术的成功应用,通过物品向量召回物品向量的方法也成为推荐系统中比较常用的召回策略。本文着重讲述通过开源软件 Vearch 来搭建一个向量搜索服务,并成功实现以图搜图的功能。

[阅读全文]
 |