画风清奇!盘点各编程语言中有趣的开源项目!

生活不易,编程苦闷,不如“人为制造”点趣味,让日子过得更加有玩味感。

本文参考了一些项目推荐,整理了一些编程语言中个人认为比较有意思,也相对实用的开源项目,每个语言列的都不多,感兴趣的有空可以试试看。

一、Go

1、Gobot

Gobot 是一个机器人、无人机和物联网框架,提供在同一时间合并多个不同设备的简单且强大的解决方案。

Gobot 目前共支持18个不同的平台,它包含一个 cppp.io 兼容的 RESTful API 来查询在群中运行的任何连接、设备或机器人的状态,还能够直接向设备和机器人发出命令。

Go, Robot, Go!

2、Cayley

Cayley 是一个开源图(Graph)数据库,其灵感来自于 Freebase 和 Google 的 Knowledge Graph 背后的图数据库。

Cayley 的目标是成为开发人员工具箱中关联数据和图形数据的一部分。运行简单,只需 3 到 4 个命令。

3、Traefik

Træf?k 是一个新型的http反向代理、负载均衡软件,能轻易的部署微服务。

Træf?k 支持多种后端 (Docker、Swarm、Mesos/Marathon、 Consul、Etcd、 Zookeeper、BoltDB、Rest API、file...) ,可以对配置进行自动化、动态的管理。

二、Python

1、Falcon

Falcon 是一个高性能的 Python 框架,用于构建云端 API 和 Web 应用的后端程序。

Falcon 采用的是一个干净的设计,追求 HTTP 和 REST 的“建筑风格”。不需要大量的依赖和不必要的抽象。

2、Locust

Locust 是一个负载测试工具。使用 Python 代码定义用户行为,也可以仿真百万个用户。

Locust 是非常简单易用,能测试出一个系统可以并发处理多少用户。相比其他许多事件驱动的应用,Locust 不使用回调,而是使用轻量级的处理方式 gevent。

3、Coala

Coala 能提供一个统一的命令行接口用于代码分析和修复,无论你使用的是哪种开发语言,使用者可以创建源代码应遵循的规则和标准。

Coala 有着友好的用户界面,可以完全自己定制,而且它还可以在任意的开发环境中运行并且是完全模块化的。

三、JavaScript

1、Chart.js

Chart.js 是使用 <canvas> 元素的简易 HTML5 图表,支持6种统计图形,不依赖其他库。

Chart.js 提供了两种可供使用的不同构建。Chart.js 和 Chart.min.js 文件包含 Chart.js 和附带的颜色解析库。

2、EME

EME 是一款优雅的 markdown 编辑器。设有专注模式,写作不受干扰。

EME 可从 Markdown 导出到 HTML/PDF...等各种格式,支持数学排版,适用于学生和专业人士。

3、N1

N1 是一个可扩展的邮件客户端,设计友好,排版简洁,带有轻微的阴影效果。

N1 兼容上百种邮件提供商,包括 Gmail、Yahoo、iCloud、Microsoft Exchange 等等。作为桌面 app 它可以离线运行。适用于 Mac、 Windows 和 Linux。

四、Shell

1、oh-my-zsh

oh-my-zsh 是基于 zsh 的功能做的一个扩展,方便的插件管理、主题自定义,以及漂亮的自动完成效果。

oh-my-zsh  包括200多个可选的插件(rails、git、OSX、hub、capistrano、brew、ant、php、python等),140多个主题,和一个自动更新工具。

2、Dokku

Dokku 是一个迷你版的Heroku,由 Docker 使用不多于 100 行的 Bash 编写,是最小的 PaaS 实现。

Dokku 一旦安装完成,你就可以通过 Git 推送兼容 Heroku 的应用到平台上运行。

五、Swift

1、Kitura

Kitura 是来自 IBM 的基于 Web 框架,也是一个 HTTP 服务器。

Kitura 具有可插拔的中间件,支持 SSL/TLS 和 FastCGI,支持 JSON 解析。

2、Quick

Quick 是一个行为驱动的 Swift 和 Objective-C 的开发测试框架。灵感来自 RSpec、Specta 和 Ginkgo。

3、Alamofire

Alamofire 是一个 HTTP 网络开发工具包,功能强大,支持各种 HTTP Method、JSON、文件上传、文件下载和多种认证方法。

六、C/C++

1、Libuv

Libuv 是一个专注于异步 I / O 的多平台支持库,目标是在这个库中包含所有平台的差异性。

Libuv 主要被用于 Node.js,但它也被 Luvit、Julia、pyuv 和其它项目使用。

2、Netdata

Netdata 是一个分布式实时性能和健康监控系统,使用现代化的交互式 Web 仪表板,为其运行的系统(包括 Web 和数据库服务器等应用)提供高效的实时洞察力。

Netdata 旨在永久运行在所有系统(物理和虚拟服务器、容器、IoT设备)上,而不中断其核心功能。

3、Torch7

Torch7 是一个科学计算框架,支持机器学习算法。易用而且提供高效的算法实现,得益于LuaJIT和一个底层的 C 实现。

Torch7 的目标是在构建科学算法时具有最大的灵活性和速度,同时使过程非常简单。

时间: 2024-08-24 15:05:30

画风清奇!盘点各编程语言中有趣的开源项目!的相关文章

AS中导入GitHub开源项目SlidingMenu总结,此方法有效,但是太耗时间。 「我用了半个多小时」

AS中导入GitHub开源项目SlidingMenu总结,我开始AS导入SlidingMenu的时候也百度了很多文章,写的都不是很详细,所以导入成功后,写了这篇文章,希望对想用AndroidStudio导入SlidingMenu的小伙伴有所启发. 先上最终效果图动画 1,下载SlidingMenu(https://github.com/jfeinstein10/SlidingMenu) 2.新建AS项目,把SlidingMenu-master中的library文件夹(我把这个文件夹重命名为sli

ios项目中引用其他开源项目

1. 将开源项目的.xcodeproj拖入项目frameworks 2. Build Phases下 Links Binary With Libraries 引入.a文件.Target Dependencies里引入开源项目文件 3. Build Setting下的 Search Paths 里 Header Search Paths 加入开源项目src目录 例:$(SOURCE_ROOT)/IBAForms/headers ,IBA放在项目根目录里,headers就是src 如果和项目根目录平

编程语言中那些有趣的命名

学习NodeJS的时候,一定会用到其包管理器npm.npm的字面意思是node package manager,实际的含义也是这样,但是npm真正的英文名却是"npm is not an acronym",意思是"npm不是一个缩写",所以如果要问npm是什么单词的缩写,那么回答就是"'npm是不是一个缩写'的缩写". 这种计算机科学中的"饶舌"现象叫作递归缩写. 递归缩写(Recursive acronym)即递归首字缩写,

Linux应用环境实战10:Bash脚本编程语言中的美学与哲学(转)

阅读目录 一.一切皆是字符串 二.引用和元字符 三.字符串从哪里来.到哪里去 四.再加上一点点的定义,就可以推导出整个Bash脚本语言的语法了 五.输入输出重定向 六.Bash脚本语言的美学:大道至简 总结: 我承认,我再一次地当了标题党.但是不可否认,这一定是一篇精华随笔.在这一篇中,我将探讨Bash脚本语言中的美学与哲学. 这不是一篇Bash脚本编程的教程,但是却能让人更加深入地了解Bash脚本编程,更加快速地学习Bash脚本编程. 阅读这篇随笔,不需要你有Bash编程的经验,但一定要和我一

Swift编程语言中的方法引用(基于2.2版本)

由于Apple官方的<The Swift Programming Guide>对Swift编程语言中的方法引用介绍得不多,所以这里将更深入.详细地介绍Swift中的方法引用. Swift与Objective-C不同,由于Objective-C的方法都属于“消息”,因此直接用selector的消息签名即可表示一条确定的消息作为方法引用.而Swift的方法更类似于C++.Java中的方法,也就是说比Objective-C更静态,因此它不具有如此般灵活性. 另外,在Swift编程语言中,方法引用与C

C 语言中有趣第指针操作(转)

http://blog.csdn.net/ghevinn/article/details/37651149(反汇编题目需要分析) 4.取出内存区域的值 在取某内存地址开始的一个区域的值的时候,取出的值取决于用来取值的类型,譬如int为4个byte,char为1个byte,程序如: void main(){ int a[2] = {261,0}; int *pi = a; char *p = (char*)pi; cout << *(int *)p++ << endl;  //取出p

python中有趣的函数

filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回: >>> def f(x): return x % 2 != 0 and x % 3 != 0 >>> filter(f, range(2, 25)) [5, 7, 11, 13, 17, 19, 23] >>> def f

如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)?

Unix时间戳(Unix timestamp),或称Unix时间(Unix time).POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数.Unix时间戳不仅被使用在Unix 系统.类Unix系统中,也在许多其他操作系统中被广告采用. 目前相当一部分操作系统使用32位二进制数字表示时间.此类系统的Unix时间戳最多可以使用到格林威治时间2038年01月19日03时14分07秒(二进制:01111111 1111

高清网络视频监控系统中交换机的选择

目前视频监控系统已经完成从传统模拟视频监控到数字视频监控的全面升级,并逐渐发展到高清网络数字视频监控阶段,利用现有的办公网络.行业专网.光纤专网,甚至互联网和无线网络等基础架构,搭建以区域安防.生产监视等不同目的的高清网络视频监控系统.其中百万级像素网络摄像机的大规模普及,既解决了传统模拟视频监控系统清晰度不足的尴尬局面也提高了监控系统的便捷性和安全性. 高清网络视频监控系统优势 先进性:利用现有的综合布线网络传输图像,进行实时监控系统所需的前端设备少,连线简洁,后端仅需一套软件系统即可; 可靠