范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

通过代码解释什么是API,什么是SDK?

  这个问题说来惭愧,读书时找实习面的第一家公司,问的第一个问题就是这个。
  当时我没能说清楚,回去之后就上百度查。结果查了很久还是看不懂,然后就把这个问题搁置了。
  谁知道毕业正式工作后,又再一次地面对了这个问题......(事实告诉我们,欠的知识债总是要还的)
  现在回过头想,我能明白自己为啥想不通这个问题: 没用过 SDK 思维只停留在前后端 API 接口交互
  所以想要弄清楚这个问题,看别人写的概念解释文章可能帮助不大,还是得自己亲手设计一下 API,使用或简单封装一个 SDK。
  下面,我尝试设计一个小故事,直接通过代码讲清楚这个事儿。 对外提供云你好服务
  假设我是一个软件服务提供商,我设计了一个打招呼的服务,给他起了个名字叫:云你好。
  用户只要调用我的 API 接口,就能使用我的服务,我会向他打一个招呼。
  首先我起一个后端服务,这里选择用 python,主要是用 python 比较快,代码少,解释这个问题和语言无关哈。(先看代码,再解释) # 云你好服务源码 from flask import Flask from flask import request  app = Flask(__name__)  # 云你好服务 API 接口 @app.get("/api/hello") def hello():     # 看用户是否传递了参数,参数为打招呼的目标     name = request.args.get("name", "")     # 如果传了参数就向目标对象打招呼,输出 Hello XXX,否则输出 Hello World     return f"Hello {name}" if name else "Hello World"  # 启动云你好服务 if __name__ == "__main__":     app.run()
  从上面代码可以看出,我定义好了 你好云  的 API 接口:@app.get("/api/hello") def hello():     ......
  当我的服务跑起来后,我就会告诉用户我的 API 调用方式:
  请求地址: GET http://127.0.0.1:5000/api/hello
  可选请求参数: name - 打招呼的对象名儿
  当然更规范的做法是提供一份 API 文档。 没有 SDK 如何使用云你好
  接下来我们切换一下身份,假设我现在是一名云你好的用户。
  在我登陆上云你好的官网后,只看到了云你好定义的 API 调用规则。
  也就是说,如果我想使用云你好服务,不管我是写 python,写 java,或是写 golang,都得写发送 http 请求的代码,调用云你好的 API 使用打招呼服务。
  比如在 python 中我们可以这样写: # 我是云你好服务的一名客户,我通过发送 http get 请求使用云你好  import requests  # API 地址 url = "http://127.0.0.1:5000/api/hello" # 发送 GET 请求 response = requests.get(url=url, params={"name": "阿菌"}) # 打印响应结果 print(response.text)
  最后得到结果: Hello 阿菌  更好地服务我的客户
  接下来我们切换一下身份,假设我变回了云你好的服务提供商。
  经过一些简单的调研,我听说有非常多的 python / java / golang 工作者喜欢使用我们的云你好服务。
  为了让他们更方便地使用云你好服务,我决定向他们提供云你好服务 python sdk / java sdk / golang sdk,进一步降低他们使用云你好服务的难度(忽悠他们更多的服务费)
  下面我以 python sdk 作为示例,在 sdk 中,我会封装好使用云你好服务的逻辑,仅对用户提供一个 hello 方法,这样只要用户安装好云你好 sdk,就能直接调用 hello 方法使用云你好服务了。 # 云你好 python sdk import requests   class HelloSDK:     # 云你好服务地址     service_url = "http://127.0.0.1:5000/api/hello"      @classmethod     def hello(cls, name):         response = requests.get(url=cls.service_url, params={"name": name})         return response.text
  写好 sdk 后,我们会在官方网站上更新道:
  大家好,欢迎使用云你好 python sdk,您可以通过以下方式使用 sdk: 安装云你好 sdk: pip install hello-sdk  使用你好云 sdk: from hello_sdk import HelloSDK  HelloSDK.hello("阿菌") 使用 SDK 访问你好云
  然后我们再次切换身份,假设我是你好云服务的用户,你好云发布 SDK 了,我非常高兴,于是我的代码就简化成这样了: # 我是云你好服务的一名客户,我通过你好云的 hello-sdk 使用你好云服务  from hello_sdk import HelloSDK  HelloSDK.hello("阿菌")
  得到的结果仍然是: Hello 阿菌  总结
  希望上面的代码能帮助大家理解 API 和 SDK,当然它只是一个极简的 Demo,不能代表 API 和 SDK 这两个概念的全部东西。
  IT 行业中有很多概念,他们背后往往对应的是一类行为,如果仅从技术名词的角度理解是非常痛苦的,所以极力推荐动手实践学习。
  API 的全称是:Application Program Interface(应用程序接口)
  SDK 的全称是:Software Development Kit(软件开发工具包)
  如果让我总结 API 和 SDK 的区别,我觉得 API 可以理解成一种标准吧,我们按照服务提供商定义的 API 标准去调用他们的服务,就能得到相应的结果。
  而 SDK 可以理解为对 API 背后服务的一种封装,它更贴近用户,能大幅降低用户使用服务的开发成本。
  最后,如果同学们还想进一步学习的话,推荐去看一下云厂商的 API 和 SDK 定义,甚至分别动手体验一下,绝对瞬间秒懂。
  来源:https://www.cnblogs.com/tanshaoshenghao/p/16217608.html

行程卡怎么放到桌面上?微信支付宝行程卡均可添加到桌面为了防控疫情,现在出门去很多地方,需要查看行程卡才可进入。这时,我们就要打开微信或者支付宝,然后点击多次找到行程卡,通过手机验证后,就可以看到行程卡了。问题是,要是去的地方多了,每特斯拉卖一辆车赚3。7万,蔚来卖一辆亏2。7万,理想卖一辆亏4。5万众所周知,前段时间特斯拉发布了2季度的报表,从报表来看,特斯拉这一季度是非常给力的,主要指标均在上升,除了比特币亏钱之外,其它都在向好。比如营收高达119。58亿美元(774。5亿防骗8月14日,这60个互联网项目有风险,还是远离吧1很多人咨询为什么不少骗子平台网站在香港?据媒体报道在香港的网站可以不需要有公司营业执照进行验证,也不需要备案。因此只要是互联网项目的网站在香港,你就要警惕了。2任何公司的经营款,截至本月25日,跨境电商独立站单个项目可申请200万补贴此次亚马逊封号潮,得到深圳市商务局高度重视!同时,为鼓励跨境电商企业通过独立站开展业务,深圳市商务局发布利好补贴政策,单个项目择优资助200万!这几天,这个利好补贴政策在各个地方刷两分钟搞懂,五花八门的门禁卡(ID卡IC卡CPU卡),免费复制头条教育星师计划我是IT悟道,点击右上方关注,每天分享IT科技数码方面的干货。五色令人目盲,五音令人耳聋,五味令人口爽,驰骋畋猎令人心发狂,难得之货令人行妨。道德经五花八门的门禁卡中年人耳朵听不清可以配助听器吗?巴南区有没有专业验配的啊?以考虑佩戴助听器这种情况,建议应该去耳鼻喉科检查一下,然后根据检查结果对症治疗,佩戴助听器需要去检查,听力要根据患者的情况选择适合自己的助听器,或者确诊是否能佩戴助听器。不能自己盲轻量办公学习,三千元档雷神一格E1上手分享嘿喽,我是moresure目前主流轻薄本屏幕大部分都是14英寸或者13。3英寸的,尺寸越小越方便携带,不过屏幕尺寸小的同时,近距离办公眼睛的压力还是会比较大,精简布局的键盘始终感觉华为首款科技教育产品华为小精灵学习智慧屏近年来,随着科技生产的进步,以科技来改变学习场景也是越来越普遍,许多家庭都也慢慢的尝试用这种科技教育的新型教育方式,就这样伴随着市场需求的增长,也有越来越多的厂商开始关注这个产品领华为FreeBuds4蜜语红七夕开售在即,让爱的表达更具仪式感莫文蔚的阴天,周杰伦的晴天,都不如和你聊天,明天又到了说情话的日子。七夕是个浪漫的节日,总少不了一些仪式感,而最简单的仪式感便是一份包含浓情爱意的礼物,如果你还在为选择礼物而苦恼,联想要干什么?杨元庆突然宣布,准备自研芯片?从灯塔国开始找华为的麻烦开始,联想的幺蛾子也是不断冒出来。杨元庆甚是成了科技无国界创始人。任正非说华为是一家中国企业,而杨元庆却说联想是一家根植于中国的世界企业,但是联想的水平,却麒麟9010研发成功,明年华为mate50见?前段时间华为P50系列发布,但只支持4G网络这一情况也是被网友给冲了最强5G技术还只支持4G,只支持4G就算了,还卖那么贵卖那么贵就算了,还限量要抢购?一时间也是舆论不断。不过像海
付款成功却不发货,十荟团被责令改正并罚款30万元中华网财经1月10日讯,据北京市市场监管局消息,多位消费者反映在十荟团下单并付款成功后未收到货,北京十荟科技有限公司近日因违反反不正当竞争法,北京市朝阳区市场监督管理局责令十荟团改荣耀年货节震撼开启首款折叠屏旗舰荣耀MagicV明日发布农历新年将至,各大手机厂商都已开启了年度重磅大促活动年货节。要说年货购买推荐,当然还属荣耀年货节。1月9日,荣耀发布了年货节换新攻略,看直播购新机参与集卡互动,不仅有机会赢荣耀笔记Web3。0的理想与谎言元宇宙之后的新概念终于来了。Web3。0这样一个更为抽象的概念横空出世。年轻人们热议的Web3。0到底是什么呢?不少人肯定在网上看过听过Web3。0这样一个概念。Web3。0也再次美国证交会主席根斯勒拒绝透露是否视以太币为证券美国证交会(SEC)主席根斯勒拒绝透露他是否认为世界第二大的加密货币该涵盖在该机构的严格交易规范之下。根斯勒周一接受采访时回答有关问题时称,我不会谈论具体事情。他表示,我是一个五人想入手一部苹果xr,日常用用准备用个5年左右,请问64G够用吗?男人,足够用!对男人来说手机内存太大无用摄像头太多无用。手机的主要功能是通信,支付,逛个淘宝,看个头条抖音,最多打个游戏。仅此而已!苹果Xr用个五年应该没得问题,前提是你要爱惜!信为什么MySQL8要无情地抛弃查询缓存?这里面到底发生了什么?MySQL的查询缓存,很多朋友应该听说或者使用过,因为以前流行的一句话现在查询这么慢,你可以开启查询缓存试试,曾经作为MySQL性能提升的一个重要特征,查询缓存为什么会被MySQL黑莓手机正式停用曾经是全球前三近日,黑莓公司宣布黑莓手机服务系统停止更新,这意味着黑莓手机正式停用。用户将不能用这款手机进行打电话发信息数据传输和上网。而少数运行安卓操作系统的黑莓手机不受影响。位于加拿大的黑莓打败iPhone的人,为什么还没出现?在头条看世界2007年1月9日,苹果发布第一代iPhone!不管你有没有使用过苹果手机,应该说iPhone引领了迄今为止的智能手机发展!为什么苹果可以独享智能手机市场超过50的净利iPhone13小米12等手机最牛的还是以GPU为王无论苹果iPhone13系列的A15芯片,还是小米12系列的高通骁龙8Gen1芯片,或者更多其他手机的核心处理器,近年来除了CPU性能在增强外,事实上更多的还是GPU性能显著提升。安卓平板体验升级,MIUIPad来袭,小米平板5开启首轮降价智能手机的高速普及挤压了电视电脑和平板电脑的市场,不过电视作为家庭中心的主要设备,对于一些中老年人仍是获得外界信息观看视频节目的重要渠道,所以电视并没有被彻底淘汰PC电脑在办公方面RedmiK50价格预测还不到3000,挑战骁龙8最低价格?去年的高通骁龙顶级处理器是骁龙888处理器,而今年的顶级骁龙处理器是骁龙8旗舰处理器。目前各大安卓智能手机厂商已经陆续推出搭载高通骁龙8旗舰处理器的新手机,比如摩托罗拉EdgeX3