Day3-接着敲代码
对蓝天的向往
全国各地都开始加入防疫战线了,春节老老实实在家待着吧,吃好睡好,然后可以开始准备远程工作了。
今天我抽了点时间继续研究keystoneJS,发现
Virtual这个fields,它可以干啥呢?
顾名思义,它是用来虚拟某字段的。此字段不会存储在数据库里。
示例代码:
//可以通过resolver来组合其他字段的数据,形成virtual的字段数据。 keystone.createList('Example', { fields: { firstName: { type: Text }, lastName: { type: Text }, name: { type: Virtual, resolver: item => (`${item.firstName} ${item.lastName}`) }; }, }, });
//除此之外,还可以请求api,来达到其他数据处理的目的。 keystone.createList('Example', { fields: { movies: { type: Virtual, extendGraphQLTypes: [`type Movie { title: String, rating: Int }`], graphQLReturnType: `[Movie]`, graphQLReturnFragment: `{ title rating }`, resolver: async () => { const response = await fetch('http://example.com/api/movies/'); const data = await response.json(); return data.map(({ title, rating }) => ({ title, rating })); }, }, }, });
关键是可以在字段里发起请求,利用此特性,我新增了个List:
– API 开放API的管理
利用virtual里发起请求,可以知道api目前的运行情况(是否正常),实时获取api的结果。
跟Knowledge类似,我们可以给API打上各种tags。
– DAY02 不一样的春节
今天大街上人流、车流明显更少,过江隧道开始封闭,周边城市也陆续封城。
上海也对进入人员进行追踪、隔离。
同样是宅在家里,哪里都没去,除了吃、玩之外,我今天决定开始工作。
– keystoneJS v5
调研了一下cms的开源解决方案,cms:内容管理系统,提供一个易于使用的adminUI(管理界面),对内容进行增删改查。
除了UI之外,提供了api、有的还提供了更为好用的graphQL查询方式。
部分框架提供app的UI,部分没提供。最后选定了keystoneJS, 体验了下,文档齐全,示例清晰,便于快速入门掌握。
尝试建立了一个小项目除了内容管理系统外,我会陆续集成darksee.ai的功能。
按照文档指引,我设置了3种List,分别是Knowledge、Tag、User。
– Knowledge用来存储内容
– Tag表达知识点的关系
– User控制用户权限
keystoneJS把graphQL的工具也提供了,非常方便,我趁此快速入门了graphQL。
– 总体架构
这个小项目打算作为mixlab无界社区的一款知识内容智能产品。
– 知识图谱
为了更好地呈现知识之间的关系,图谱是必备的技术,但由于是人工智能垂直领域的,所以暂时不需要图数据库,只需要一些图算法即可。
– 内容搜索引擎
为了满足源源不断的知识内容、降低人力,需要接入搜索引擎来获取每天的新内容。
– 提取知识
需要一个算法可以提取内容里的知识,并更新到图谱里。
一步步来,此产品第一个版本就只有知识内容,数据呈现没有好看的UI,只有json。有开源打算,召集设计师、程序员一起玩~感兴趣的社区小伙伴,可私信跟我说~
– DAY01
初遇
来武汉之前,官方的消息称只有十几例确诊,而且连续好几天没有新增消息。来了之后,情况就不一样了…
人生第一次遭遇封城,接下来几天做点记录。
武汉封城第一天,天气不好,下着小雨,街上没什么人和车。
快手捐了1亿给武汉,网易严选的口罩很便宜,百度上了个发热门诊地图,丁香医生上了个疫情追踪。
有人用所谓大数据分析了下武汉人口流动,其实不用分析,武汉是全国的交通大枢纽,辐射全国各地。看到几则消息,大致意思是本地的医院不收,只能飞往老家求医,医疗资源肯定急缺,人口本来就不少。
前几天本地的一个社区还举办万人聚会,还有今天还办了一个春节联欢,都不知道这些人是怎么想的?
除了刷各种手机信息之外,今天的日常主要是休息、看电视、吃零食、陪娃玩耍。