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

干货 | 携程机票Node.js开发实践

2011年加入携程,主要负责携程机票PC、H5、Hybrid业务方面的开发工作。...在携程内部,Nodejs也是应用广泛,从开发工具到web应用,从客户端到服务端,都能见到它身影。...Nodejs采用是V8引擎,运行是javascript代码,对于前端同学来说,学习成本低; Nodejs是事件驱动,非阻塞性I/O,非常适合对于前端这种IO密集型应用; 社区活跃度高,有大量库可以被使用...model层使用结构和服务端结构可能会存在差异性,如何磨平这些差异,也非常考验开发同学技术能力; 在这个时候,GraphQL进入到了我们视野。...四、总结 Node.js在机票团队从早期前后端分离到GraphQL实践,目前已经深度应用到前端组各个模块,现在机票前端应用层已全部采用Node.js来实现。

1.4K20

干货 | 携程机票Node.js开发实践

2011年加入携程,主要负责携程机票PC、H5、Hybrid业务方面的开发工作。...在携程内部,Nodejs也是应用广泛,从开发工具到web应用,从客户端到服务端,都能见到它身影。...Nodejs采用是V8引擎,运行是javascript代码,对于前端同学来说,学习成本低; Nodejs是事件驱动,非阻塞性I/O,非常适合对于前端这种IO密集型应用; 社区活跃度高,有大量库可以被使用...model层使用结构和服务端结构可能会存在差异性,如何磨平这些差异,也非常考验开发同学技术能力; 在这个时候,GraphQL进入到了我们视野。...Node.js在机票团队从早期前后端分离到GraphQL实践,目前已经深度应用到前端组各个模块,现在机票前端应用层已全部采用Node.js来实现。

1.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    杭州站 | 第一届 GraphQLParty

    GraphQL 性能问题和常见坑有哪些及如何解决? 在复杂应用(如工业领域)如何应用 GraphQLGraphQL  Schema Type/Resolver 如何做可视化工程依赖管理?...如何对 GraphQL  Query/Request 做性能监控? 领域建模对技术价值是什么? 架构模块边界如何划分?...Saas 产品,主要为纺织行业解决业务工作流、仓储、工业控制、财务、花型研发、生产控制、人事薪酬等业务场景等管理和协同问题。...前端栈 React、ReactNative 后端栈 Ruby on Rails、C、Python、PostgreSQL 现后端 API 已全线迁移至 GraphQL,系统管理了十几万匹布,并以每天几千匹数量增长...在 GraphQL 实践上,陆陆续续用 nodejs 写过几个项目,有微服务,也有作为 BFF 层 web server。

    33710

    写在2021: 值得关注学习前端框架和工具库

    XState,不止适用于React,可以和Vue/Svelte/Ember这样框架一起,也可以和RxJS这样响应式库一起用。...PM2,NodeJS进程管理工具,零宕机重启、支持fork和cluster模式、blabla…,更地方在于提供了很geek可视化界面,如我服务器上截图: Prisma,下一代ORM,不仅仅是ORM...,可以把整个GraphQL Server以中间件形式挂载到一个Node应用上(我就是使用这种方式来同时提供REST和GraphQL两套API,但需要注意某些中间件配置需要ignore掉挂载路径)...Libs TypeGraphQL,最爱GraphQL工具库没有之一,让你用TSClass和装饰器来定义GraphQL Type,和TypeORM Class-Validator一起用非常愉悦(当然...还支持React、Gatsby、NextJS、普通Web应用等,甚至集成好了Jest、Cypress、StoryBook等。 Lerna,我用这个作为工程项目的Monorepo管理

    2.8K10

    写在 2021: 值得关注学习前端框架和工具库

    XState[4],不止适用于React,可以和Vue/Svelte/Ember这样框架一起,也可以和RxJS这样响应式库一起用。...PM2[33],NodeJS进程管理工具,零宕机重启、支持fork和cluster模式、blabla...,更?地方在于提供了很geek可视化界面,如我服务器上截图: ?...这个方法,可以把整个GraphQL Server以中间件形式挂载到一个Node应用上(我就是使用这种方式来同时提供REST和GraphQL两套API,但需要注意某些中间件配置需要ignore掉挂载路径...而且actions市场有各种大神们已经写好action让你可以快速搭建一个严谨工作流。...但还是推荐了解一下,毕竟我个人是喜欢这种稳定性保障工作,并且看着一个个测试用例通过也很有成就感。

    4.2K10

    用Node.js创建安全 GraphQL API

    本文目标是提供关于如何创建安全 Node.js GraphQL API 快速指南。 你可能会想到一些问题: 使用 GraphQL API 目的是什么? 什么是GraphQL API?...虽然本文应该展示一个关于如何构建和使用GraphQL API简单但真实场景,但我们不会去详细介绍GraphQL。...如果你在一个大型团队中工作,可以将其拆分为创建前端和后端团队,从而允许他们使用相同技术,并使他们工作更轻松。 在本文中,我们将重点介绍怎样构建使用GraphQL API框架。...为了开始我们项目,将添加三个基本导入: Express Express-graphql Graphql-tools 把它们放在一起: 1 import express from 'express';...总结和最后想法 让我们回顾一下本文内容: 在Node.js下可以通过Express和GraphQL库来构建GraphQL API; 基本GraphQL使用; 查询和修改基本用法; 为项目创建模块基本方法

    1.6K30

    构建最牛b技术团队就是这么个简单事儿!

    ZhiPeng拥有超过六年编程和科技项目管理经验,并在去年创立了40Tasks公司,目前该公司旗舰产品是一款闪购App应用------LOCO。   ...实际上,客流规划师必须要决定如何最有效地利用商场空间,他们职责就是要最大化利用场内空间,在确保不拥挤前提下,让更多人能在购物中心内自由走动。   ...对于一个网站,或是一款App应用产品来说,如何吸引用户,提升用户参与度也是非常重要。...前端工程师会使用后端工程师创建应用程序接口,在不同移动应用和网页平台上实现相应功能,满足用户需要。   ...对于网页平台,前端工程师可以使用Ruby on Rails开源web框架,处理后端应用程序接口和html,CSS和AngularJS,构建网页应用程序。

    85570

    超越 REST

    与“用一张图来管理所有对象”方法不同,GQLMS 只是利用 GraphQL 来作为构建 CRUD 应用程序丰富 API 规范。...我们假设有一个 Docker 容器,其上运行了一个带有 Graphile 库非常简单 NodeJS Web 服务器(以及一些用于安全、日志、度量和监控 Netflix 内部组件),可以为快速开发工作提供...这最终能实现几个不同目标: 可以独立于 GraphQL 模式中公开视图来更改底层表。 视图可以进行基本格式化(比如将 TIMESTAMP 字段呈现为 ISO8601 字符串)。...关于安全性(如何将其与我们 IAM 基础设施集成,以及如何在数据库中实施行级访问控制?)和性能(如何限制查询以避免一次选择所有行来对数据库进行 DDoS 攻击?)...拥有托管 Graphile 标准化 Docker 容器为团队提供了必要基础设施,通过这些基础设施,他们可以快速迭代新工具原型以及快速开发应用程序,从而解决全球媒体工作室在这个充满挑战时期内不断变化需求

    2.9K20

    干货 | 携程基于 GraphQL 前端 BFF 服务开发实践

    三、GraphQL 最佳实践 携程度假 GraphQL 主要应用场景是 IO 密集 BFF 服务,开发面向多端所用 BFF 服务。...对 RESTful API 服务来说,每次接口调用开销基本上是稳定。而 GraphQL 服务提供了强大查询能力,每次查询开销,取决于 GraphQL Query 语句查询复杂度。...如上,在 GraphQL Specification  6.4.4Handling Field Errors 中,明确了如何置空问题。...五、GraphQL 应用场景 作为 BFF 服务,在解决单一接口快速接入之后,通常会回到聚合多个服务端接口这个最初目的,下面是常见几种串、并调用等应用场景。...七、总结 鉴于篇幅原因,只能分享部分我们应用 GraphQL 开发 BFF 服务思考与实践。

    2.6K20

    API协议设计10种技术

    在这个数字时代,我们日常生活中充斥着各种应用程序和系统之间交互。无论是社交媒体、在线购物还是智能家居设备,它们都需要通过API(应用程序接口)来实现数据传输和通信。...然而,这些看似简单操作背后隐藏着复杂协议。 API协议包含了一组规则和标准,用于定义不同系统之间如何进行通信和共享数据。它们充当了不同应用程序之间桥梁,使它们能够相互理解和交流。...RESTful API设计遵循一些基本原则,如资源表达、客户端-服务器架构、无状态性和缓存等。...与 REST 相比,GraphQL 是一种客户端驱动方法,客户端可以决定需要什么数据、如何获取数据以及格式。它还解决了取得过多和取得不足问题,因为客户端可以精确定位所需数据。...当不完全理解客户端如何使用 API 时,也可以使用 GraphQL。使用 GraphQL,不需要事先定义一个严格契约。相反,可以根据客户端反馈逐步构建 API。 3.

    34510

    API接口安全问题浅析

    文章前言 随着互联网快速发展,应用程序接口(API)成为了不同系统和服务之间进行数据交换和通信重要方式,然而API接口广泛使用也引发了一系列安全问题,在当今数字化时代,API接口安全问题重要性不容忽视...,恶意攻击者利用漏洞和不当API实施,可能导致数据泄露、身份验证问题以及系统完整性和可用性受到威胁,本文将探讨API接口安全问题重要性并介绍常见安全威胁和挑战,还将探讨如何保护API接口免受这些威胁并介绍一些最佳实践和安全措施...基本介绍 API(Application Programming Interface)是一组定义在软件系统之间进行交互规则和约定,它允许不同应用程序、服务或系统之间进行数据传输和功能调用以实现数据交换...URL(Uniform Resource Locator)来标识和访问资源并使用HTTP状态码来表示操作结果 工作流程 API接口工作流程可以描述为以下几个关键步骤: 接口规范:API接口工作原理始于接口定义和规范...文末小结 本篇文章对API接口基本概念、工作流程、利用方式、防御措施进行了介绍,其中利用方式中更改请求方法探测可用方法类型并根据方法进行恶意利用、接口文档检索方式、接口隐藏参数挖掘和利用等给出了示例

    35110

    面对极度复杂前后端业务场景,使用 GraphQL 正确姿势

    GraphQL 之所以要使用GraphQL主要出于几方面的考虑。首先我们业务复杂度高,应用本身业务场景极其复杂,涉及到纺织行业大大小小几十个业务场景和十几个不同工种功能之间联动与交互。...Node中间层 vsGraphQL(前端) 面临传统接口所带来这些痛点,一般团队都会选择NodeJs作为中间层解决方案。那么Node和GraphQL相比有那些优缺点呢?下面来一起看下。...Node.js缺陷也很明显,比如对多端需要做额外适配,难以适应前端快速迭代,需要花费大量时间维护,由此还会引发接口文档断层。 GraphQL对于Node碰到这些问题基本上都能够很好解决。...一是接口开发工作量大幅减少,重复性工作得以减少,避免了出错。其次是错误返回和文档等标准化工作可以借助工具本身完成。最后是对API多版本管理更加友好。...关于我们 有数派是专业纺织SaaS产品,具备工业(硬件)控制、样品管理、仓库存储、销售管理、设计辅助等功能,应用场景覆盖了行业几十个场景,近十个终端。

    7.5K20

    API架构风格对比:SOAP vs REST vs GraphQL vs RPC

    译自:Comparing API Architectural Styles: SOAP vs REST vs GraphQL vs RPC 两个不同应用需要一个中间程序才能互通,开发者通常会使用应用程序接口...SOAP如何工作 XML数据格式多种多样,加上大量消息结构,使得SOAP称为一种最冗长API样式。...REST如何工作 REST没有像SOAP那样严格。RESTful架构应该遵循以下六个架构约束: 统一接口:为一个给定服务(无论是设备还是应用类型)提供统一接口。...因此,GraphQL被认为是一种改变API规则风格。 GraphQL 语法描述了如何发起精确数据请求。GraphQL适合那些相互之间具有复杂实体引用关系应用数据模型。 ?...GraphQL如何工作 一开始,GraphQL会创建一个schema(模式),它描述了在一个GraphQL API中所有请求以及这些请求返回所有types。

    2.9K11

    GraphQL 浅谈,从理解 Graph 开始

    所以 +QL= (可视化)查询语言,是一种描述客户端如何向服务端请求数据 语法,类似于 RESTful API 规范。...但它不依赖任何数据库,且能和任何后端(SQL、MongoDB、Redis 等)一起使用,也可以包裹在 RESTful API 之上。...,把对数据 需求下放到客户端管理,分工明确同时保持对 API 聚焦; 分层: 本身是一组分层字段,查询就像返回数据一样,是一种产品(工程师)描述数据和需求自然方式;(PS:部分翻译...另一种思维模式 —— Thinking in graphs 图是将很多真实世界现象变成模型强大工具,因为它们和我们天然心理模型和基本过程口头描述很相似。...Python、Ruby、Nodejs.js,设计3次 GraphQL Sever:Zero to GraphQL in 30 Minutes 欢迎评论交流~ 如果对您有所帮助,可以转发到朋友圈加速

    1.4K90

    PayPal大规模采用GraphQL探索和实践

    统一体验:PayPal 中每个流程都有自己 NodeJS 应用程序,每个团队都有自己 ReactJS 实现。我们希望提供一个层来提供统一前端体验,同时为我们提供一个后端来协调 API。...4 我们如何扩大 GraphQL 采用范围? 当我们开始扩大 GraphQL 采用范围时,我们意识到每个应用程序都在试图解决自己 GraphQL 问题。...由于 GraphQL schema 需要预先构建,后端工程师和前端工程师一起工作,从而减少了信息隔阂。...我们在 JS @ PayPal 公开会 上多次讨论了我们是如何在各种应用程序中使用 GraphQL 。 6 我们面临哪些挑战?...当你第一次推测 GraphQL 是否是正确技术时,构建一个示例应用程序来演示 GraphQL 如何适合你企业架构是很有帮助

    3K20

    graphql+koa2 前端bff层

    使用graphql优势: 前端把握查询主动权,可定义你需要查询字段过滤冗余,另外减少两端沟通 接手bff层前端可作为空间更大,包括做一些鉴权 请求合并更加便利(以前初始化多个请求需要一起返回都是使用...promise.all,graphql可以更加便利一次请求多个数据) (利于服务同学)他们可以专心开发微服务,不用再去管数据聚合这类事情 需要预定义类型,开发之前我们就能知道数据结构基本样子 我们团队后端使用是...后端同学直接集成 (java接口(restful或者graphql)-->前端) 前端增加中间服务层(java接口-->前端中间服务层nodejs(graphql)-->前端) 对于第一种方式,后端同学可能更改会更大...,更改接口规范来迎合前端可能代价太大且后端同学可能也不太会高兴修改接口规范多出来工作量。...所以我们选了第二种,引入nodejs中间层作为请求转发。

    12810

    2019 简易Web开发指南

    :Git 前端 前端我觉得是每个做web开发同学都应该掌握,就算是做后端开发基本前端知识也是必不可少。...Universal (Angular) 开发工具 依赖管理:NPM,Yarn 应用打包:Webpack,Parcel 任务管理:Gulp,Grunt 编辑器扩展:ESLint,Live Server...Node.Js:就算不做全栈,nodejs也将成为前端必备技能 Python:如果除了web开发想往人工智能、机器学习、数据分析方向扩展同学,python更合适 C#:个人很喜欢语言,非常优雅和高效...PHP:WordPress,Drupal JS:Ghost,KeyStone Python:Mezzazine .NET:Piranha,Orchard CMS 运维基础 基本运维知识也是需要...GraphQL是一种规范(specification)而不是实现(implementation)。而Apollo是GraphQL最火实现。更多请参考:Awesome GraphQL

    2.3K41

    Salesforce 构建可扩展 API 旅程

    本文从执行环境、API 技术、安全性等角度出发,介绍了如何构建高效、可扩展 API。...我们为什么选择 GraphQL 我们想要构建 API 能够服务于多种客户端,涵盖 Web 和移动应用。它需要具备高效、强大和灵活特点。...尽管大多数 API 都实现了版本管理,但是 GraphQL 是一个无版本化 API。因为它只会返回明确请求数据,所以我们可以通过添加新类型以及类型上新字段来增加功能,避免带来破坏性变更。...每个 GraphQL 服务会定义一组类型。GraphQL 模式中最基本组件是对象类型,它代表了一种我们可以从服务中获取对象。...总    结 我们已经展示了如何构建一个可扩展、高效、安全 API。

    1K10
    领券