大家好,我是你们的章鱼猫。

今天要给大家介绍一个牛逼的功能 webify,它能够直接将函数或者命令行工具转化为 Web 服务。比如我们将 jq 封装成一个 Web 服务如下:

webfiy 是一个非常基础的 CGI 服务,所有的请求都会路由到这个 CGI 脚本上。最初的设计目标是希望能够尽可能的做到零配置。webify 通过调用需要封装的命令行脚本,然后将请求的 body 传入标准输入 stdin。然后标准输出 stdout 像 HTTP 响应一样回传到 client 调用方。过程中如果封装的脚本返回了非 0 的结果,则 HTTP 请求会返回 500。

其实现在有不少的 serverless 的框架也是使用类似的机制来处理服务之间的交互。对于使用者来说只需要关注其自身的逻辑,其他的都交给框架和基础设施来处理。

整体使用上比较简单,我们来看一个 Python 的例子。

1、首先假设我们有一个路径查找的函数,如下:

2、连接 stdin 和 stdout

3、本地 shell 测试

4、通过 webify 转化为 Web 服务

更多项目详情请查看如下链接。

开源项目地址:beefsack/webify

最后,照旧安利一波我们的公众号:「GitHub 精选」,目前每天都会推荐一篇优质的开源项目文章,主要分享比较实用或有趣的开发工具与开源项目。我们的目标是:挖掘开源的价值。这个公众号超级值得大家关注。

lisp封装成vla函数_牛逼,自动将函数或者命令行工具转换成 Web 服务相关推荐

  1. 牛逼的python库-python命令行调试工具pdb的基本用法

    实际工作过程中都是采用linux远程ssh模式进行无界面开发,代码出问题需要调试,一般有两种解决方案 使用print("")控制开输出信息 使用log.debug("&q ...

  2. 微软最爽命令行工具将成 Win11 默认终端

    以下内容来自公众号逆锋起笔,关注每日干货及时送达 早在 2019 年初,微软就宣布要将 Windows Terminal 作为默认的系统终端.期间,Windows Terminal 似乎受到了 Lin ...

  3. uibot在子程序执行js失败_使用 Node.js 将珍藏的 bash 脚本封装成命令行工具

    阐述如何将一个常用的 bash 脚本融入 npm 生态之中,此处以最近遇到的一个 CR 提交脚本为例. 背景 作为程序猿,大家或多或少地都用过 GitHub 上的 merge request 功能.当 ...

  4. 几款超牛逼的终端命令行工具!好用到爆

    点击关注公众号,回复"1024"获取2TB学习资源! 终端是程序员的必备工具之一,本文将介绍许多牛逼且实用的开源工具,本文仅对工具做基本介绍,不提供安装方法,因为这些工具的安装方法 ...

  5. linux c十六进制转十进制函数,用Linux/Unix命令把十六进制转换成十进制(转)

    那天写个脚本,需要把十六进制的数字转成十进制的打出来,发现不知道要怎么弄,搜一下,原来还是很简单的,比用C语言什么的容易多了,就一些现成的命令就解决了. 先列两种简单的方法: 1) echo 自己就能 ...

  6. Spring的@RequestBody非常牛x,可以将提交的json直接转换成POJO对象。

    Spring的@RequestBody非常牛x,可以将提交的json直接转换成POJO对象.

  7. TIA博途_通过Variant操作数组实现华氏度数据批量转换成摄氏度的具体方法

    TIA博途_通过Variant操作数组实现华氏度数据批量转换成摄氏度的具体方法 首先,我们新建一个项目,添加一个PLC,这里以1214C DCDCDC为例进行说明,如下图所示: 在程序块中添加FC,名 ...

  8. 命令行使用.so文件内的函数_如何使用SFC命令行工具修复Windows 10系统文件

    当你的 Windows 10 出现随机错误.开机之后报错或组件无法正常工作等情况,很可能是一个或多个 Windows 文件丢失或损坏造成的.即便为了保证电脑能够正常运行,Windows 10 对自身做 ...

  9. java制作九行九列表格_将文中后9行文字转换成一个9行4列的表格,设置表格居中,表格列宽为2.5厘米..._考试资料网...

    问答题在考生文件夹下打开文档word.docx,按照要求完成下列操作并以该文件名(word.docx)保存文档. [文档开始] 2009年北平市中考招生计划低于10万人 晨报讯伴随初中毕业生人数连年下 ...

  10. GitHub开源新命令行工具:在终端里创建、管理PR成现实

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI GitHub 的官方开源命令行工具来了. 名字很正式,叫做 GitHub CLI,别名 gh. 与此前的 hub 不同,gh 是更高层的封装 ...

最新文章

  1. 改进SmallNet的BCI可以用于BrainRunners电子游戏的脑电解码分类
  2. 用Alpha生成Trimp图的方法(python)
  3. 【Opencv实战】图像修复神技?看我一秒修复家里的老照片
  4. boost::type_erasure::incrementable相关的测试程序
  5. 辽宁活跃ip段_有泰国女排影子!激情辽宁女排,打出快乐排球,输了比赛赢了球迷...
  6. Newbe.ObjectVisitor 0.4.4 发布,模型验证器上线
  7. linux对当前使用的分区分割,实例解说Linux中fdisk分区使用方法
  8. HDU 4009 不定根最小树形图
  9. JavaScript浮点运算的问题
  10. zookeeper集群配置并让metaq注册进来
  11. c语言飞机大战游戏素材,jQuery飞机大战游戏
  12. 基于Token的身份验证的原理
  13. spss和sas和python_T检验第三篇(SPSS,SAS,R,Python) 两样本T检验
  14. Gerrit的安装和配置个人经验总结
  15. 系统架构设计师教程-学习-记录(1)系统架构师知识结构
  16. 倍福 BECKHOFF CX9020 是一款适合 DIN 导轨安装的紧凑型以太网控制器,如何做CAN隔离
  17. 英汉互译教程---生词
  18. Python turtle 绘制彩色蟒蛇(有注释)
  19. 你不得不知道的HashMap面试连环炮
  20. 《传播学史》读后感优秀范文5000字

热门文章

  1. 【TWVRP】基于matlab灰狼算法求解带时间窗的车辆路径规划问题【含Matlab源码 361期】
  2. python:DataFrame对单列或多列进行整列的运算(map, apply, transform, agg)
  3. c语言数组转指针,(转)c语言指针数组
  4. mysql运维知识_Mysql运维知识
  5. Flask第十八篇 Flask-Migrate
  6. 笔记:复杂度分析(上)
  7. 1133 Splitting A Linked List
  8. 《BGP设计与实现》一2.10 案例研究:BGP内存的使用评估
  9. 解方程求PH值,POJ(2006)
  10. C++ STL 整理