在我的公司,我们决定为一个新项目提供微服务架构.我们已经了解了GraphQL,并意识到它作为我们的单一API端点使用的潜力和优势.
我们不同意的是如何在GraphQL和每个微服务之间进行通信.有些人认为REST,其他人说我们也应该为每个服务都有一个graphQL端点.
我想知道每个人的优点和缺点是什么.例如,使用graphQL中的所有内容似乎有点多余,因为我们将在每个服务中复制模式的一部分.另一方面,我们使用GraphQL来避免一些REST陷阱.我们担心拥有REST端点会使从gQL中获得的优势无效.
有没有人遇到过类似的困境?我们都不熟悉GraphQL,所以我们可能会缺少一些明显的赞成和反对意见吗?
提前致谢!
我刚刚开始搞乱Ng2,现在我正在开发一个带有ionic2的应用程序.我是第一次进入动画部分,我遇到了一些问题.
我有一个基本上重复不同宽度的ng.数组中的每个元素都有自己的div的宽度值,该值是通过组件的onInit方法计算出来的.在动画之前,我通过绑定宽度[style.width]="expresson".文档说您可以使用'*'定义动画结束状态样式,这意味着它将从计算的样式中获得正确的值,但是当我以编程方式自己设置宽度时,这不起作用.
所以,问题是,我如何告诉动画在我改变宽度时触发,或动态设置结束状态的值?谢谢!
编辑:这是一个有例子的傻瓜.我将动画设置后的最终宽度设置为50%,但是我遇到的问题是将最终宽度设置为组件数组中定义的值.只需删除html中的@animation即可查看我想要的最终结果.
我在 Postgres 中有一个列存储一些 JSON 数据。JSON 没有定义模式,但应该可以搜索具有某些指定键的所有记录。
我正在使用 KnexJS 构建查询,到目前为止我想出了这个:
tx.select('*').from('table')
.whereRaw('cast(data->>? as ?) = ?', [key, type, JSON.parse(value)]));
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为我认为不可能指定类型。
不过,当我尝试像这样手动指定它时:
tx.select('*').from('table')
.whereRaw('cast(data->>? as boolean) = ?', [key, JSON.parse(value)]));
Run Code Online (Sandbox Code Playgroud)
还是不行啊!这是使用时控制台的日志DEBUG:knex:*
{ key: 'admin', value: 'true', type: 'boolean' }
knex:tx trx1: Starting top level transaction +0ms
knex:pool INFO pool postgresql:pg:client0 - dispense() clients=1 available=0 +2ms
knex:client acquired connection from pool: __knexUid2 +38ms
knex:query BEGIN; +2ms
knex:bindings undefined +1ms
knex:query select * from "contexts" where cast(data->>? as boolean) = ? +18ms
knex:bindings …Run Code Online (Sandbox Code Playgroud) 我最近决定更深入地研究函数式编程,我决定从Elm开始.
我对此非常缺乏经验,所以我觉得我实际上是在与概念和语言作斗争,而我的思维过程都是错误的,所以我希望有人可以帮助我完成简单的练习.
我正在尝试创建一个扫雷游戏,对于初学者来说,我只是想用一个地雷来填充网格.
到目前为止,这是我的代码
import Array exposing (Array)
type State = Hidden | Tagged | Revealed
type alias Cell = {isMine: Bool, nearbyMines: Int, state: State}
type alias Board = Array (Array Cell)
mines : Int
mines = 100
initCell : Cell
initCell =
{isMine = False, nearbyMines = 0, state = Hidden}
generate : Int -> Int -> Board
generate lines cols =
Array.initialize lines (\y ->
Array.initialize cols (\x -> initCell))
markAsMine : Int -> Int -> Cell …Run Code Online (Sandbox Code Playgroud) angular ×1
architecture ×1
elm ×1
graphql ×1
ionic2 ×1
javascript ×1
json ×1
knex.js ×1
node.js ×1
postgresql ×1
rest ×1