apollo

How do I create a GraphQL subscription with Apollo Client in Vanilla JS

旧街凉风 提交于 2020-05-28 14:45:13
问题 Recently Apollo Client released a websocket subscription feature, but so far I've only seen it used by launching a query using subscribeToMore inside the componentWillMount lifecycle hook. Here is an example taken from https://dev-blog.apollodata.com/tutorial-graphql-subscriptions-client-side-40e185e4be76#0a8f const messagesSubscription = gql` subscription messageAdded($channelId: ID!) { messageAdded(channelId: $channelId) { id text } } ` componentWillMount() { this.props.data.subscribeToMore

proper use of onCompleted for GraphQL mutations

一世执手 提交于 2020-05-17 08:46:21
问题 I want to run the query first. The query returns an id which is then required for the mutation. Currently, there's an issue with the order of how both things run from the handleSubmit() . If the mutation is successful, the console should print console.log('Checking'); but that does not happen. The only output I get on the console is What's the Id and the value is probably something that was stored in one of my previous attempts. If the id was derived from this particular round of query, I

Cookie not set with express-session in production

只谈情不闲聊 提交于 2020-05-12 02:53:53
问题 My app is divided between Client and Server. Client is a frontend side Nextjs app hosted on Now.sh, Server is its backend created with Express and hosted on Heroku, so the domains are client-app.now.sh and server-app.herokuapp.com . Authentication Authentication system is based on cookies and I'm using express-session to achieve it. This is my express-session configuration app.use( session({ store: process.env.NODE_ENV === "production" ? new RedisStore({ url: process.env.REDIS_URL }) : new

Cookie not set with express-session in production

巧了我就是萌 提交于 2020-05-12 02:51:11
问题 My app is divided between Client and Server. Client is a frontend side Nextjs app hosted on Now.sh, Server is its backend created with Express and hosted on Heroku, so the domains are client-app.now.sh and server-app.herokuapp.com . Authentication Authentication system is based on cookies and I'm using express-session to achieve it. This is my express-session configuration app.use( session({ store: process.env.NODE_ENV === "production" ? new RedisStore({ url: process.env.REDIS_URL }) : new

【spring-boot】如何使用apollo

*爱你&永不变心* 提交于 2020-05-07 11:57:32
文章背景 本文介绍如果在spring boot中接入apollo 官方文档: https://github.com/ctripcorp/apollo/wiki#%E4%B8%80%E6%99%AE%E9%80%9A%E5%BA%94%E7%94%A8%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97 使用官方的apollo 演示环境(Demo): 106.54.227.205 账号/密码:apollo/admin 添加配置 spring-boot中如何使用呢 pom.xml中添加配置 <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>1.1.0</version> </dependency>  配置文件中添加apollo地址 app: id: komiles apollo: meta: http://106.54.227.205:8080 bootstrap: enabled: true namespaces: application 启动类中添加代码 添加@EnableApolloConfig注解 package com.example.apollodemo; import com.ctrip

掌门1对1微服务体系Solar第1弹:全链路灰度蓝绿发布智能化实践

一世执手 提交于 2020-05-04 19:00:25
掌门教育自2014年正式转型在线教育以来,秉承“让教育共享智能,让学习高效快乐”的宗旨和愿景,经历云计算、大数据、人工智能、AR/VR/MR以及现今最火的5G,一直坚持用科技赋能教育。掌门教育的业务近几年得到了快速发展,特别是今年的疫情,使在线教育成为了新的风口,也给掌门1对1新的机遇。随着业务规模进一步扩大,流量进一步暴增,微服务体系下,业务服务新增和迭代频率大大加快,运维和业务人员经常需要熬夜人工上线,疲劳状态下容易产生生产事故,运维成本和业务成本也将大大上升。在此背景下,基础架构部推出可以白天安全上线,流量无损的微服务灰度蓝绿发布智能化系统,并通过强有力的各种监控手段来保证流量的精确制导和调拨,提升技术驱动能力。 关于Solar Solar作为掌门1对1下一代基础微服务体系,2019年11月开始筹划,2020年1月4日推出第一版,2020年4月15日发布1.2.0 & 2.2.0里程碑稳定版,兼容Spring Cloud Edgware版、Finchley版、Greenwich版、Hoxton版本。基于三层体系而构建: 基础公共组件。Solar的基础组件,基础公共组件一般呈原子层面的独立存在,组件间也可适当耦合,基本上可达到一个组件被移除,不影响另外一个组件的运行的特征。 基础公共框架。Solar的基础框架,依托Spring Cloud服务体系,以框架形式对外暴露

SpaceX被NASA“钦点”参与登月计划,宇宙飞船首次获得美官方合同

我的梦境 提交于 2020-05-03 18:23:42
  距离人类首次登陆月球已经超过 50 年时间,美国已经宣布重启登月计划,将人类宇航员再一次送上月球表面。经过一再延期,美国国家航空航天局(NASA)最终将登月时间点定在了 2024 年。   不过在技术、预算和如今蔓延全球的新冠疫情影响下,这一名为阿尔特弥斯 (Artemis) 的登月计划在未来数年时间里面临着诸多不确定性。   今天登月计划又一次推进了关键一步。北京时间 5 月 1 日凌晨, NASA 正式宣布,阿尔特弥斯登月计划中的登月舱环节中标商为贝索斯创立的航天公司蓝色起源、NASA 的长期合作伙伴 Dynetics,SpaceX 凭借着星际飞船 Starship 也在此次竞标中分一杯羹。       Starship 一直承载着马斯克实现登陆火星、太空旅行的梦想,登月似乎不是一个选项,因而 Starship 作为黑马入选登月计划,这让所有人感到意外。    现阶段,这三家中标公司将在未来 10 个月时间里获得来自 NASA 共近 10 亿美元的资金支持,并在此基础之上推进研发工作,未来 NASA 将根据各家的研发进展继续选资助对象和最终要登上月球的中标者。   月球登陆器作为月球之旅的最终环节,在整个登月计划中扮演着至关重要的角色。在过去的 10 年时间里,NASA 一直在耗巨资推进能够满足登月需求的重型火箭和载人飞船的开发工作,即太空发射系统 (SLS,Space

CB Insights:7个颠覆式创新框架

淺唱寂寞╮ 提交于 2020-05-03 17:36:05
在不确定的时期,许多公司只是在寻找生存之道,并且很容易忘记这其实需要未雨绸缪,而不仅仅是事到临头才应对。对于很多企业来说,现在比以往任何时候都更需要加倍努力创新,以创造新产品、开发更好的商业模式或者应对竞争对手的打击。 要了解创新的本质,必须要摆脱那些引人入胜的故事,而是深入研究个人和公司是如何发展创新概念的细节。CB Insights近期分析了来自商业、技术和文化领域最杰出思想家的7种不同的创新思想,在每个部分都将分解为:如何看待创新和改变、品牌创新的实例,以及可从这些具体观点中得到的经验教训。 1.颠覆性创新:Clayton Christensen 颠覆性创新的概念由Clayton Christensen于1995年提出,已成为技术行业的基础理论之一,从Steve Jobs到Reed Hastings到Jeff Bezos的每个人都将其视为一种影响力。 Christensen想要解释的是,在某些情况下,那些只有很少数人和资源有限的小型公司,如何能够取代市场上已经有的更大型、资金更雄厚的公司。 Christensen认为,随着公司的壮大,大型“守成”公司将重点从获取新客户转移到保留最有价值的客户。而这种旨在创造稳定性并保持最大收益的战略,不可避免地导致该公司的潜在客户被忽视。 创业公司通过瞄准这些被忽视的客户并为其量身打造产品、服务与解决方案,从而在市场上站稳脚跟。例如

前后端分离后的CAS单点登录流程详解

白昼怎懂夜的黑 提交于 2020-05-02 04:22:27
CAS 单点登录Web工作流程 如图流程清晰,可以去官网了解https://github.com/apereo。 下面看前后端分离的架构: 假设公司有多个系统希望能统一登录认证一次都可以访问,如订单管理系统(oms),商品管理系统(pms),客户管理系统(crm),例如:用户访问 oms 系统拦截请求发现没有登录,就跳转到cas server 去登录,登录完成后签发一个ST,重定向到oms系统,oms拿着回传的参数ST去CAS验证,验证通过后,允许用户访问资源,如果是前后端分离的应用,系统就由原来的单个应用,分为前后端分开部署(动静分离),前端的静态服务(html,css.js),后端的(api接口),这时候用户端浏览器先访问前端加载静态资源,然后再向后端api发起请求,后端api 接口通过过滤器鉴权。如果cas server 登录后跳转到后端服务地址肯定是不行的,这时候可以在服务端i在完成验证后继续跳转到前端地址,index.jsp: <%@ page import ="com.ctrip.framework.apollo.ConfigService" %> <%@ page import ="com.ctrip.framework.apollo.Config" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <

转 【MQTT】在Windows下搭建MQTT服务器

安稳与你 提交于 2020-04-30 20:45:55
MQTT简介 MQ 遥测传输 (MQTT) 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境。该协议的特点有: 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。 对负载内容屏蔽的消息传输。 使用 TCP/IP 提供网络连接。 小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量。 使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。 有三种消息发布服务质量: “至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。 “至少一次”,确保消息到达,但消息重复可能会发生。 “只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。 Mosquitto 是一款「An Open Source MQTT v3.1/v3.1.1 Broker」——开源的MQTT代理服务器,其下也有Windows的安装包。 但是我使用的是Win10 64位系统,这两个都下载安装后不是报错就是缺少dll文件,不能使用。 最后参考了前面博客说的,搭建了Apollo服务器,这里使用的Apollo 1.7.1。 官网: http