2021-01-0x02
1.1. Share¶
1.1.1. Python test 实践¶
https://pythonguidecn.readthedocs.io/zh/latest/writing/tests.html
1.1.2. Shopify 的 GraphQL API 设计指南¶
TLDR: Graphql 设计准则总结 - 规则一:永远先从更高的抽象层级进行设计,先考虑类型与类型之间的关系,再去考虑具体的字段。 - 规则二:永远不要在 API 中暴露不必要的实现细节。 - 规则三:围绕着业务背景重新思考你的 GraphQL API,切忌直接照搬数据库表结构、视觉稿或已有的 REST API。 - 规则四:永远记得在 GraphQL 中去掉一个字段要比新增一个字段困难的多。 - 规则五:绝大多数业务对象都应该集成自 Node 接口。 - 规则六:将同一类型中互相密切相关的几个字段单独抽出来作为子对象。 - 规则七:始终记得检查数组字段是否有必要支持分页。 - 规则八:尽可能直接返回关联对象本身而不是仅仅返回关联对象的 ID。 - 规则九:给字段起名时尽可能体现其在业务上的语义,而不是简单照搬数据库中的字段名。 - 规则十:使用自定义的标量类型,有助于更好地说明字段隐含的上下文。 - 规则十一:对于值可以被穷举的字段,尽可能使用枚举类型。 - 规则十二:GraphQL API 提供的应该是业务逻辑而非数据。尽可能把业务逻辑放在 API 中实现,而非任由各个客户端自行实现。 - 规则十三:记得同时提供原始字段与业务相关的计算字段。 - 规则十四: 根据真实的业务需要思考 GraphQL 类型支持哪些种类的操作。 - 规则十五: 设计 Mutation 很复杂,不能教条式地进行照搬。 - 规则十六:尽可能让 Mutation 支持批量操作。 - 规则十七: 使用形如 orderCancel 而不是 cancelOrder的命名风格来个 Mutation 命名。 - 规则十八: 仅将真的必填的字段在 Input 中设为必填。 - 规则十九:当 Input 类型比较复杂导致客户端进行验证过于复杂时,可以将之弱化成更通用的类型以便于由服务器进行验证。例如用 string 标量 替代 email 标量,然后在服务器端进行验证并将所有的错误提示一次性返回给客户端。 - 规则二十:当输入的格式可能有歧义而且客户端验证并不困难的时候,应该有限考虑使用强类型(例如 DateTime 优于 - string)。 - 规则二十一: 结构化 Mutation 的 Inpute 以减少重复,既是是以在类型层面上放宽对于某些字段的要求性约束为代价。 - 规则二十二: Mutation 的中应该包含一个标识业务层面错误的数组。 - 规则二十三:大多数的 Payload .字段都应该是可以为空的,除非确保其在错误的情况下也有返回值。
1.1.3. Node.js html 解析库 cheerio 中文文档¶
cheerio: https://github.com/cheeriojs/cheerio/wiki/Chinese-README
1.1.4. 有哪些因误译而长期被国人误解的概念与名词¶
zhihu: https://www.zhihu.com/question/22463701/answer/22004638
1.1.5. VSCode terminal 配置¶
vscode: https://code.visualstudio.com/docs/editor/integrated-terminal
@SEE: https://code.visualstudio.com/docs/editor/integrated-terminal#_terminal-keybindings
1.1.6. GraphQL(Facebook) VS APIJSON(Tencent)¶
github issue: Tencent/APIJSON#2
一个突出的是 api 的聚合 一个突出的是表结构的聚合
1.1.7. 关于站立式办公¶
sspai: https://sspai.com/post/60581
1.1.8. GeoJSON¶
wikipedia: https://zh.wikipedia.org/wiki/GeoJSON
GeoJSON 支持在 Github raw 直接展示
1.1.9. AsahiLinux¶
github: @AsahiLinux
Porting Linux to Apple Silicon macs
1.1.10. Lern Bash in Y minute¶
1.2. BLogs¶
1.2.1. linghao.io¶
- 程序员和软件工程师是一回事吗?
blog: https://linghao.io/posts/programming-vs-software-engineering
- Grow @ Google 02: 「能用就行」还远远不够
1.2.2. manjusaka.itscoder.com¶
- 云原生时代的几个爆论
blog: http://manjusaka.itscoder.com/posts/2020/12/31/fuck-the-cloud-native/#disqus_thread
1.2.3. jysperm.me¶
- 入手 MacBook Air (Apple Silicon)
1.3. Tools¶
1.4. News¶
1.4.1. Touch fish¶
1.4.2. Super China book list¶
创建日期: 2021-01-19