3 天前 / hyper0x
点击上方蓝色“Go 语言中文网”关注,每天一起学 Go 2020/5/16 更新:大家好,我刚刚更新了该项目以使用 Go module。不幸的是,realize[1]很长时间没有更新并且无法正常工作。如果您想使用实时重新加载器,则还有其他选择,例如 air[2]。否则,请随意忽略帖子中有关 realize 的任何内容,并按通常的方式运行项目。 本博文中将使用 Go、GraphQL、PostgreSQL 创建一个 API。我已在项目结构上迭代几个版本,这是我最喜欢的一个。在大部分的时间,我创建 web APIs 都是通过 Node.js 和 Ruby/Rails。而第一次使用 Go 设计 Web apis 时,需要费很大的劲儿。
3 天前 / u128287
导读 58 安居客二手房业务线的技术架构合并后,许多老页面需要逐步的重构成同一套技术体系,Web 端采用 NodeJs 渲染,App 后端 API 采用 Java,再加上部分老的页面仍然使用的 PHP。我们在对外接口这一层有很多通用的拦截功能,例如签名验证、用户票据验签、反爬虫拦截、公共参数处理、城市域名解析等。3 套不同的技术栈意味着这些功能都要用不同的语言重复开发 3 遍,各端逻辑难以统一和维护,面临不少困难,因此亟需一个 API 网关能够统一的处理这些逻辑,降低维护成本。
8 天前 / BloomingRose
良好设计的 API = 快乐的程序员 。 应用程序接口(API)是一种接口,它让应用程序可以轻松地使用另一个应用程序的数据和资源,API 对于一个产品或公司的成功至关重要。 如果没有 API,你大部分喜欢的软件今天就不会存在。例如,Google Maps API 可以让你在 app 或 Web 应用中使用 Google Maps。如果没有它,你将不得不设计和开发自己的地图数据库。这样的话,在地图上显示一个位置需要花费多少时间? 为什么要使用 API? API 可以让外部应用访问您的资源 API 扩展了应用程序的功能 API 允许开发者重用应用逻辑 API 是独立于平台的...
9 天前 / 花括号MC
原创:花括号 MC( 微信公众号:huakuohao-mc)。关注 JAVA 基础编程及大数据,注重经验分享及个人成长。 很多问题看似明白了,其实还没有明白。Web Api认证方案显然就属于这个问题。今天花点时间整理一下,总结如下。 HTTP Basic Auth 所谓的Basic 认证,就是在请求一个 URL 的时候,服务端首先返回 401 Unauthorized 给客户端,同时在 Response Header 中添加一个WWW-Authenticate 的头,值为Basic realm="Tomcat Manager Application"( 以 tomcat 的默认的管理页面举例)。
14 天前 / 冷星1024
点击上方“前端下午茶”,选择“设为星标”第一时间关注技术干货! 本文代码略多,希望大家耐心观看 背景介绍在 2020 年,Vue3 的学习一直被我鸽到了 11 月份,在学完以后,我自己做了一个 Vue3 的小项目 nav-url,也整理了我对于如何快速上手 Vue3 的几篇博客,很高兴受到了大家的指点和喜欢: 自己设计的 Vue3 的实用项目(内含对项目亮点的实现思路与介绍)在上一篇博客中,我详细介绍了一下我发的第一版项目的特色、亮点以及所有核心功能的实现,希望大家可以前往阅读体验一下(记得用电脑打开,因为这是一个 PC 端的项目) 然而...
19 天前 / 高飞
Web API 的版本化可以尽量保证在相同 url 情况下保留一个 api 的多个版本,通常一个 webapi 会有多个 client,这些 client 包括:app,web,html5,crawl 等等同构或者异构的平台,当 api 升级之后,往往升级前的 api 也得保留,当维护两个 api 的时候就是一个不小的挑战,毕竟还是存在一些 client 用户需要访问老的 api,这时候就需要将 webapi 版本化。 安装 Versioning 包 要想使用 webapi 的版本化功能,需要用 nuget 引用 Microsoft.AspNetCore.Mvc.Versioning 包...
26 天前 / BloomingRose
对于设计和实现 API 来说,当结果集包含成千上万条记录时,返回一个查询的所有结果可能是一个挑战,它给服务器、客户端和网络带来了不必要的压力,于是就有了分页的功能。 通常我们通过一个 offset 偏移量或者页码来进行分页,然后通过 API 实现类似请求: GET /api/productspage=10{"items": [...100 products]} 如果要继续访问后续数据,则修改分页参数即可。 GET /api/productspage=11{"items": [...another 100 products]} 在使用 offset 的情况下,通常使用 offset=1000 和 offset=1100 这种大家都熟悉的方法。
28 天前 / 猿天地
当数据量较大的时候,都会通过分库分表来拆分,分担读写的压力。分库分表后比较麻烦的就是查询的问题,如果不是直接根据分片键去查询的话,需要对多个表进行查询。 在一些复杂的业务场景下,比如订单搜索,除了订单号,用户,商家 这些常用的搜索条件,可能还有时间,商品等等。 目前常见的做法将数据同步到 ES 这类搜索框架中进行查询,然后通过搜出来的结果,一般是主键 ID, 再去具体的数据表中查询完整的数据,组装返回给调用方。 比如下面这段代码,首先查询出文章信息,然后根据文章中的用户 ID 去查询用户的昵称。
28 天前 / u128287
点击蓝字,关注我们 李征 去哪儿网工程师 2017 年 2 月加入去哪儿网。目前专注于领域服务治理、基于 API 治理的领域能力标准化。致力于通过领域化、模型化、可感知来解决业务复杂度。期望用 DDD 驱动,降低系统复杂度,提升团队效能。 前言对内 DDD,对外 API 是去哪儿网机票目的地事业群业务研发团队 2020 年 Q3 重点推出的业务重塑架构设计理念。在 2020 年 Q3,去哪儿网在过往的基础上,在 API 标准化这个领域做出了一些进步,这篇文章主要就是把这方面的经验和大家分享一下。
36 天前 / 雇个城管打天下
前言什么是 API? 什么是 SDK? 两者之间有何关系? 欢迎来到本次的每周一问系列。 既然点进来了,相信你或多或少都听说过这两个名词了,因此,在为你解答之前,让我们先从一个例子出发。假如你想开发一个 OCR 应用(通俗的说就是文字识别应用),他的功能是识别用户上传的一张图片,然后将图片中的文字识别出来返回给用户。如下图所示: 通常,OCR 应用的后端服务都会部署在云上,那么我们应该如何在移动应用程序与基于云的服务之间进行通信呢? 这就是 API 和 SDK 的用武之地了。
50 天前 / 大龙叔
十月底我应邀在一个技术群里做个分享,思来想去我选择了 API 这个话题,因为很多互联网初创公司产品的第一步就是如何定义和设计一套 API,来满足产品核心所能提供的用户体验。我把 2016 年我在 Tubi 做 UAPI,2018 年我在 ArcBlock 做 Goldorin,2019 年做 Forge TX pipeline / Forge Patron 的经验揉了进去,又重新研究和回顾了 Swagger(Open API)/ GraphQL / GRPC gateway 这几个我曾经在各种场合使用过的工具,写下了一个 slides。
75 天前 / Tiny_熊
使用 Infura 的 API 访问以太坊网络数据 > * 原文链接:https://blog.infura.io/getting-started-with-infuras-ethereum-api/> * 译文出自:[登链翻译计划][https://github.com/lbc-team/Pioneer]> * 译者:[Tiny 熊][https://learnblockchain.cn/people/15]> * 本文永久链接:[learnblockchain.cn/article…][https://learnblockchain.cn/article/1590]因此,你想使用 Infura 的 API 访问以太坊网络 - 你将如何做?首先,你需要确保你拥有 Infura 帐户(查看[此教程][http://blog.infura.io/getting-started-with-infura-28e41844cc89/&utm_source=infura...
76 天前 / 开发者头条
大家好,我是周刊菌。 「码农周刊 VIP 会员」推出 29 周啦!感谢亲们的大力支持!第 029 期「码农周刊 VIP 会员专属邮件周报」已发送完毕,请注意查收。 告诉大家一个好消息:已有数位上市公司 CTO 低调订阅了我们的「码农周刊 VIP 会员专属邮件周报」,感谢肯定! 以下内容选自「码农周刊 VIP 会员」圈子,每日更新,精彩不断。 「码农周刊 VIP 会员」是什么? 简介版 码农周刊 VIP 会员 = 全年 52 期「VIP 会员专属邮件周报」 + 只限 VIP 会员加入的交流圈子 + 大厂「内推机会」 + N 多福利 详细版 点击「阅读原文」即可查看详细介绍 加入「码农周刊 VIP...
87 天前 / marketing-upyun
写文章白话科普,10s 了解 API 又拍云已认证的官方帐号 8 人赞同了该文章作为一名又拍云的技术支持工程师,小拍每天都会接收到很多客户的提问。这其中,有很多客户会问:“小拍,请问云存储上传除了使用控制台的文件管理和 FTP 工具之外,有没有其他的途径进行上传呢?” “有哒,您可以调用 API 接口来进行上传哦。” “请问,什么是 API 接口呢?我要怎么调用呢?” 别着急,这就为您介绍 API 接口。 什么是 API 接口首先,我们先来看一看 API 接口的定义: API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数...
99 天前 / 知了一笑
一、读写机制 1、数据写入 客户端访问 NameNode 请求上传文件; NameNode 检查目标文件和目录是否已经存在; NameNode 响应客户端是否可以上传; 客户端请求 NameNode 文件块 Block01 上传服务位置; NameNode 响应返回 3 个 DataNode 节点; 客户端通过输入流建立 DataNode01 传输通道; DataNode01 调用 DataNode02,DataNode02 调用 DataNode03,通信管道建立完成; DataNode01、DataNode02、DataNode03 逐级应答客户端。