首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一杯茶的时间,上手 Gatsby 搭建个人博客

Gatsby ,根据 js 文件的位置不同,使用 GraphQL 有两种形式,且 Gatsby 其做了魔法, src/pages 下的页面可以直接 export GraphQL 查询,在其它页面需要用...我修改 starter 踩到一个坑是复制组件忘了修改 static query 查询语句的名称,导致重名报错。 避免错误最好方式是 GraphiQL 编辑器写好运行无误再复制到组件。...另外一种处理方式是 /gatsby-node.js 通过 onCreateNode 钩子,在生成 markdown 相关节点手工处理,确保节点存在。...通过 /gatsby-node.js 的 exports.onCreateNode 钩子我们可以在生成节点的时候进行拦截处理。...首先是普通的文章页面生成,这个是 createPages 钩子,如果你的博客只有文章用到 Markdown 的话,可以 GraphQL 查询中直接过滤,否则我们用前面文章的方法,先取所有 Markdown

3.2K20

用 Gatsby 创建一个博客

当然,我们的数据结构是我们的Markdown文件开始提供的 frontmatter。我们定义的每个键都可以被注入到查询。...此时需要注意的一点是,GraphQL 查询构建进行的。该组件被注入数据由 GraphQL 查询所得到。...每个公开的属性(节点上)都可以用于查询。我们正在有效地创造一个GraphQL数据库,然后我们可以通过页面级的GraphQL查询进行查询。...我们的 GraphQL“形状”直接反映在这个数据对象,因此,当我们GraphQL博客文章模板查询,我们从该查询中提取的每个属性都将可用。...添加一个 tag 列表和 tag 查询页 提示: gatsby-node.js 文件createPages API 在这里很有用,还有之前的 frontmatter 特定的博客文章之间添加导航(

2.5K30
您找到你想要的搜索结果了吗?
是的
没有找到

如何利用机器学习和Gatsby.js创建假新闻网站​

上的现成代码 本地机器上拥有站点文件和静态文件之后,就可以使用gatsby develop的本地开发服务器进行开发。...稍后,我们将使用Git从GitHub中提取必要的文件,这样本地文件系统的所有文件都能与云服务器的资源相匹配,并且可以进行自动部署。...gatsby-node.js 此文件用于实现api。这些api可以使用GraphQL从数据层获取数据。处理程序化页面生成,我们将更深入地研究这个文件的内容。...区分人工生成的新闻和机器生成的新闻方面,它的准确率超过90%。这也意味着,该模式本身就擅长制造假新闻。我们可以Colab克隆存储它的存储库并使用它。...理想情况下,运行它不会出现任何故障。如果查看gen.py的底部,将看到我path /content/gdrive/My Drive/ articles /编写了文章。

4.5K60

视图——机房收费系统

第一次做机房收费系统,学生信息和卡的信息是同一张表的,而机房收费系统重构,对数据库进行了重新设计,学生信息和卡的信息被分到了单独的两张表(遵照三范式设计,减少数据冗余),当我们需要同时查询这两张表的信息...,按照一般的方法从每张表单独查询的话会非常麻烦且容易出错,为了减少出错,我们可以把要查询的信息整合到一张虚拟表,这张虚拟表就是视图。  ...视图就如同一张表一样,对表能够进行的一般操作(增删改查)都可以应用于视图,一个视图是由SELECT语句组成的查询定义的虚拟表,当你通过数据库本身的创建视图的功能,下面就有一段SELECT语句 ?  ...以机房收费系统的学生表和卡表为例    新建视图 ?    添加要用到的表 ?    选择要用到表的字段 ?    最后保存视图 ?...注意事项: 1)、使用视图查询,如果相关联的数据库表添加了新的字段,必须重新创建视图才能查询到新的字段。   2)、依赖于多个基本表的视图,不能使用DELETE语句。

2.6K20

收藏!常见的9种错误提示、原因及解决办法!|PQ实战

很多朋友使用Power Query的过程,经常会碰到一些感觉看不懂的错误提示,现总结9种常见的情况收藏如下,也方便大家碰到问题可以搜寻得到: 1、找不到名为“示例操作数据源!...同时,这里有一种比较隐秘的情况,即Excel表进行数据筛选的时候,会生成一个临时的“筛选表”,而如果后续的处理步骤却不小心引用了,就比较可能出错。...解决办法:仔细查看函数后面的括号里的参数个数并进行调整,函数参数的情况不熟悉,可以通过查找帮助查看函数的参数和应用示例。...8、枚举没有足够的元素来完成该操作 原因:要从表或列表里提取的行或项不存在。比如,经过筛选后的表或列表为空,这个时候要通过标号进行数据提取,将出错。...9、该键与表的任何行均不匹配/多行匹配 原因:采用列值(获取行标号)引用表行时,该列值列的内容并不存在,或找到多个值。

3.6K20

查找重复姓名的sql语句

例如,对于上面提到的表格,我们做一个这样的查询: SELECT id, COUNT(course) as numcourse, score FROM student GROUP BY id 此时查询便会出错...不知道大家有没有遇到过 aggregator blah blah 之类的报错,我用 group by 的时候就放过这个错,现在想来应该就是 后面用了 group by,却没字段进行聚合,导致单元格里有多个值...因此,这里可以执行 select name,sum(number) from test group by name 1 那么sum 函数就是虚拟表3,每个name对应的number单元格进行sum操作...多列进行 group by 那要是group by 多个字段怎么理解呢, 比如还是test 表,group by name,number,此时我们可以将name 和 number 看成一个整体字段...且表间关系是一多,即同一个app_category_id 对应多个category-id,现在我需要统计出每一个category_idapp_category表中出现的次数那么该如何实现呢,请看接下来的操作

4.6K10

大数据Presto(五):Presto优化与Impala对比

使用列式存储PrestoORC文件读取做了特定优化,因此Hive创建Presto使用的表,建议采用ORC格式存储。相对于Parquet,PrestoORC支持更好。...2、​​​​​​​​​​​​​​查询优化只查询必要的字段由于采用列式存储,查询指定字段进行查询分析,减少读取数据量,避免使用“*”查询。过滤条件加上分区字段这样可以减少全表扫描,加快查询速度。...Group By 语句优化合理安排Group by语句中字段顺序性能有一定提升。将Group By语句中字段按照每个字段distinct数据多少进行降序排列。...使用Join语句将大表放在左边使用Join语句将大表放在左边Prestojoin的默认算法是broadcast join,即将join左边的表分割到多个worker,然后将join右边的表数据整个复制一份发送到每个...如果右边的表数据量太大,则可能会报内存溢出错误。

1.6K61

Presto介绍与常用查询优化方法

使用列式存储 PrestoORC文件读取做了特定优化,因此Hive创建Presto使用的表,建议采用ORC格式存储。相对于Parquet,PrestoORC支持更好。...Order by使用Limit, 尽量避免ORDER BY: Order by需要扫描数据到单个worker节点进行排序,导致单个worker需要大量内存 使用近似聚合函数: 对于允许有少量误差的查询场景...比如使用approx_distinct() 函数比Count(distinct x)有大概2.3%的误差 用regexp_like代替多个like语句: Presto查询优化器没有多个like语句进行优化...,使用regexp_like性能有较大提升 使用Join语句将大表放在左边: Prestojoin的默认算法是broadcast join,即将join左边的表分割到多个worker,然后将join...与Impala对比 Impala是Cloudera受到Google的Dremel启发下开发的实时交互SQL大数据查询工具,Impala没有再使用缓慢的Hive+MapReduce批处理,而是通过使用与商用并行关系数据库类似的分布式查询引擎

3.4K50

分布式数据库中间件 MyCat 搞起来!

MyCat 简介 前面文章我们提到,如果数据量比较大的话,我们需要对数据进行分库分表,分完之后,原本存在一个数据库的数据,现在就存在多个数据库中了,就像下面这样: ?...MyCat: wget http://dl.mycat.io/1.6.7.1/Mycat-server-1.6.7.1-release-20190213150257-linux.tar.gz 下载完成后,下载文件进行解压...接下来,手动往各个物理库的物理表存储一条数据,然后 MyCat 窗口中查询: ? 这样就可以查询到 三个库的三个表的数据。...问题分析 整个过程不难,但是有的小伙伴第一次配置的过程还是容易出错,因此我这里还是来说两句,出错了要如何定位。 一般来说,配置 MyCat 出错,问题可能发生在两个阶段。...反映到 Navicat 上,就是测试连接没问题,测完之后,点击连接名要打开连接,Navicat 就崩了,出现这个问题一般是 MyCat 连接 MySQL 出问题了,这个时候就要去检查 schema.xml

95920

SQL嵌套SELECT语句精讲

查询不但可以出现在Where子句中,也可以出现在from子句中,作为一个临时表使用,也可以出现在select list,作为一个字段值来返回。本节我们仅介绍的Where子句中的子查询。...Where子句中使用子查询,有一个实际使用容易犯的错在这里说明一下。 通常,就像上面的例子一样,嵌套的语句总是和一个值进行比较。...但如果我们再插入一条地区为欧洲,国家名称为Brazil的记录,那会发生什么情况?...这将会导致语句的运行时错误,因为这个SQL语句的语法是正确的,所以数据库引擎就开始执行,但当执行到外部的语句出错了。...有一些SQL查询条件允许列表值(即多个值)进行操作。 例如"IN"操作符,可以测试某个值是否一个列表

1.3K40

【链安科技】EOS部分智能合约漏洞

2018年6月27日,链安科技利用VaaS-EOS自动化合约审计工具多个EOS合约进行了安全审计,发现存在整型溢出等问题,部分合约实现不够严谨。...为了便于大家EOS平台写出更加安全的智能合约,我们将发现的一系列问题进行了分析和总结,并给出了建议。...EOS合约存在不严谨之处 我们通过已审核的EOS合约分析,发现存在如下主要问题: 1、存在整型溢出错误 使用自己的数据结构描述代币,代币数值进行算数运算进行安全检查。...误操作容易产生整型溢出错误,可能导致代币量归零甚至变成负数的严重结果! 2、权限检查不严谨 权限检查不严谨,造成逻辑漏洞。...image 2.使用multi_index的find函数,一定要进行返回值的检查。 image 3.所有输入都通过断言检查有效性,调用API函数前,检查参数类型和大小。

56530

Presto介绍及常用查询优化方法总结

② 使用列式存储 PrestoORC文件读取做了特定优化,因此Hive创建Presto使用的表,建议采用ORC格式存储。相对于Parquet,PrestoORC支持更好。...③ 使用压缩 数据压缩可以减少节点间数据传输IO带宽压力,对于即席查询需要快速解压,建议采用snappy压缩 ④ 预先排序 有条件的话提前做好排序,对于已经排序的数据,查询的数据过滤阶段,ORC格式支持跳过读取不必要的数据...⑤ 用regexp_like代替多个like语句 Presto查询优化器没有多个like语句进行优化,使用regexp_like性能有较大提升 [GOOD] SELECT ......LIKE '%POST%' OR method LIKE '%PUT%' OR method LIKE '%DELETE%' ⑥ 使用Rank函数代替row_number函数来获取Top N 进行一些分组排序场景...,使用rank函数性能更好 2.3 Join优化 ① 使用Join语句将大表放在左边 Prestojoin的默认算法是broadcast join,即将join左边的表分割到多个worker,然后将

2.4K00

Spring的单例模式使用

ThreadLocal使用 要给线程初始化一个特殊值,需要自己实现ThreadLocal的子类并重写该方法,通常使用一个内部匿名类ThreadLocal进行子类化,EasyDBO创建jdbc连接上下文就是这样做的...: 简单实现版本: ThreadLocal V.S synchronized 为保证多个线程共享变量的安全访问,通常会使用synchronized保证同时只有一个线程共享变量进行操作。...例如类有个类变量,该类变量会被多个类方法读写,当多线程操作该类的实例对象,若线程类变量有读取、写入操作就会发生类变量读写错误,即便是类方法前加上synchronized也无效,因为同一个线程两次调用方法之间锁是被释放的...这类似web应用多个请求线程携带不同查询条件一个servlet实例的访问,然后servlet调用业务对象,并传入不同查询条件,最后要保证每个请求得到的结果是对应的查询条件的结果。...这时该变量是多个线程共享的,使用同步机制要分析: 什么时候变量进行读写 什么时候需要锁定某个对象 什么时候释放对象锁等繁杂的问题 而ThreadLocal为每个线程提供一个独立变量副本,隔离多线程对数据的访问冲突

92410

互联网行业如何高效地管理固定资产?

日常的固定资产管理,往往有以下痛点: 1)表格管理固定资产数据错漏和出错很难避免,账实不符埋下隐患。 随着业务的不断拓展,子公司数量越来越多。...用表格盘点固定资产,需要打印多个纸质表格,然后拿着一堆表格去挨个核对打钩盘点,如果盘点发现固定资产的信息有需要修改时,先用笔纸质表格上修改。...整体盘点完毕后,再去按照纸质的表格去更新电子表格的信息。整个过程费时费力,且极易出错,字迹模糊了,或者漏掉了,改错了等等。最后的盘点结果准确性并不高。...3)数据查询调取不便,汇总分析费时费力 统计某些资产信息,需要调取多个电子表格或者纸质表格,才能很吃力地整理出来需要的固定资产信息。再将拼凑出来的信息进行统计。...并可按多种查询维度生成可视化报表,便于管理员和决策者固定资产进行统计分析,掌握所有固定资产状态。 4) 固定资产流转有迹可寻,责权明晰。

56630

Phoenix快速入门系列(2) | 一文教你如何使用Phoenix

如果有多个主键(联合主键), 会把多个主键的值拼成 rowkey Phoenix , 默认会把表名,字段名等自动转换成大写. 如果要使用消息, 需要把他们用双引号括起来. ?...表映射   使用 Phoenix创建 HBase 的表映射,有两种方法: 当 HBase 已经存在表,可以以类似创建视图的方式创建关联表,只需要将create view 改为 create table...否则 HBase 添加的数据Phoenix 查询不到....当 HBase 不存在表,可以直接使用 create table 指令创建需要的表,系统将会自动 Phoenix 和 HBase 创建 person_infomation 的表,并会根据指令内的参数对表结构进行初始化...视图映射和表映射的对比与总结   相比于直接创建映射表,视图的查询效率会低, 原因是:创建映射表的时候,Phoenix 会在表创建一些空的键值,这些空键值的存在可以用来提高查询效率。

1.6K10

互联网行业如何高效地管理固定资产?

日常的固定资产管理,往往有以下痛点: 1)表格管理固定资产数据错漏和出错很难避免,账实不符埋下隐患 随着业务的不断拓展,子公司数量越来越多。资产数量达到一定量之后,表格管理的矛盾就会日益显现出来。...2)固定资产盘点费时费力,效率低下且准确性不高 用表格盘点固定资产,需要打印多个纸质表格,然后拿着一堆表格去挨个核对打钩盘点,如果盘点发现固定资产的信息有需要修改时,先用笔纸质表格上修改。...整体盘点完毕后,再去按照纸质的表格去更新电子表格的信息。整个过程费时费力,且极易出错,字迹模糊了,或者漏掉了,改错了等等。最后的盘点结果准确性并不高。...3)数据查询调取不便,汇总分析费时费力 统计某些资产信息,需要调取多个电子表格或者纸质表格,才能很吃力地整理出来需要的固定资产信息。再将拼凑出来的信息进行统计。...并可按多种查询维度生成可视化报表,便于管理员和决策者固定资产进行统计分析,掌握所有固定资产状态。

29530

Power Query避免出错的几种情况

(七) 拆分数据列 进行列的拆分时,大部分会使用类似Excel的分割功能,把数据分割成多个列,但是其中会有一个问题就是如果后续更新的数据需要拆分的列数量不一致就有可能会漏拆分,如图13所示拆分成如图...但是如果下次的数据比本次所拆分的更多,那刷新就无法进行同步更新,就会出错。此时最好的做法就是把数据拆分成行,这样就能避免固定的列的限制,如图15这样的操作。 ?...(九) 合并查询的展开表 合并查询Power Query中使用的比例还是相对挺高的,使用后都会把匹配的数据给展开,这里就会涉及到一个注意事项,如图18所示,合并查询展开的公式, ?...(十) 删除重复项 创建维度表的时候,会常用的操作就是去除重复项,要不然Power BI中会产生多多的关系,就会引起错误,不过去除重复项的时候也需要进行仔细辨别。 1....字母的大小写 Power BI的模型关系,不会区分大小写,如果只是大小写的区分,则会直接判断为多个关系,所以Power Query中进行清洗的时候就要特别留意,以避免因为大小写产生的错误导致数据表之间的关系错误

5.2K41

唯一索引与主键索引的比较

主键索引要求主键的每个值是唯一的。当在查询中使用主键索引,它还允许快速访问数据。...3.表如果建有大量索引将会影响INSERT、UPDATE和DELETE语句的性能,因为的数据更改时,所有的索引都将必须进行适当的调整。...需要避免经常更新的表进行过多的索引,并且索引应保持较窄,就是说:列要尽可能的少。 4.为经常用于查询的谓词创建索引,如用于下拉参照快速查找的code、name等。...4.对于内容基本重复的列,比如只有1和0,禁止建立索引,因为该索引选择性极差,特定的情况下会误导优化器做出错误的选择,导致查询速度极大下降。...6.小表进行索引可能不能产生优化效果,因为查询优化器遍历用于搜索数据的索引,花费的时间可能比执行简单的表扫描还长,设计索引需要考虑表的大小。记录数不大于100的表不要建立索引。

3K110

基于Impala的高性能数仓实践之执行引擎模块

动态代码生成原理及优化 JIT技术与静态编译技术相反,其是具体的查询运行之前才进行代码编译,此时,查询需要处理的列类型,用到的算子和函数都已经确定,可以为该查询生成特定版本的处理函数。...Impala 4.0版本JIT进行了进一步优化,采用异步化改造来避免生成JIT代码查询性能的影响,当编译未完成使用原函数,完成后无缝切换成优化后的函数代码。...节点间并行 “Impala简介”小节提到,Impala有多个executor节点,确定执行计划,Impala会充分考虑并发执行该查询,尽可能将需要扫描的数据分成range分发到各executor节点上执行...Impala 4.0版本,引入了查询透明重试的特性,该特性会判断引起查询出错的原因,目前支持因executor不可用而出错查询进行自动重试,无需用户/客户端参与。...该筛选器用于报告music_impala.left_join_table1的os字段进行选择,且模型各表Join的条件(ON和WHERE)均没有os字段进行过滤性操作。

1.1K20
领券