跳转至

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 设计指南

https://ruby-china.org/topics/40695

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. 关于站立式办公

medium: https://medium.com/@xavieris/%E7%AB%99%E7%AB%8B%E5%8A%9E%E5%85%AC%E5%9B%9B%E4%B8%AA%E6%9C%88%E7%9A%84%E5%B0%8F%E7%BB%93-6e281fd92c01

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

https://learnxinyminutes.com/docs/bash/

1.2. BLogs

1.2.1. linghao.io

  • 程序员和软件工程师是一回事吗?

blog: https://linghao.io/posts/programming-vs-software-engineering

  • Grow @ Google 02: 「能用就行」还远远不够

blog: https://linghao.io/posts/grow-at-google-02#%E5%AF%B9%E5%AD%A4%E5%86%9B%E5%A5%8B%E6%88%98%E8%AF%B4%E4%B8%8D

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

1.3. Tools

1.4. News

1.4.1. Touch fish

1.4.2. Super China book list


最后更新: 2021-02-01
创建日期: 2021-01-19