博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
七月新增开源项目:你学习的速度跟得上前端造轮子的速度吗?
阅读量:6867 次
发布时间:2019-06-26

本文共 2269 字,大约阅读时间需要 7 分钟。

hot3.png

每月新增开源项目。顾名思义,每月更新一期。我们会从社区上个月新收录的开源项目中,挑选出有价值的、有用的、优秀的、或者好玩的开源项目来和大家分享。数量不多,但我们力求推荐的都是精品。目前这些开源项目主要来源于编辑们的搜集和用户的投递,所以如果你有更好的开源项目推荐,欢迎积极投递。

戳这里查看投递软件的正确姿势 >>> 

Web 开发 — Web 不死!Web 永存!

 Fastpack —— 轻松快速打包 JavaScript 应用

如果你追前端轮子的速度足够快,那么你的孤独就追不上你。很遗憾,被巨大孤独感包围着的你,终究还是追不上前端造轮子的速度。

上个月,前端领域又诞生了一个新的“轮子” —— Fastpack,号称可以轻松快速打包 JavaScript 应用。它的目标是做到对于中型应用(约 1000 个模块)的打包时间小于 1000ms,增量重新打包时间低于 100ms。基准测试结果如下:

fbdaf8afea202916657c7eb6d8f4a6e03a7.jpg

可以看到,与目前主流的打包工具 Webpack 和 Parcel 相比,Fastpack 的时间打包时间具有不小的优势,有兴趣的童鞋不妨尝试一下。不过会不会有童鞋尝试使用这个轮子之后,冒出“还不如我自己造个轮子”的念头?叫 Veryfastpack?

 Tokio —— 使用 Rust 编写的快速可靠异步编程框架

目前看来,Rust 依然还只是一门小众的编程语言。不过 Rust 已经表示他们将会在今年发布一个重大版本 —— 。所以它依然值得我们关注。Rust 是由 Mozilla 主导开发的一门现代系统编程语言,现阶段 Rust 定位的方向还是高性能服务器端程序开发,非常适合对性能要求较高的系统编程领域。

这里推荐的 Tokio 是使用 Rust 编写的异步编程框架,它将复杂的异步编程抽象为 Futures、Tasks 和 Executor,并提供了 Timer 等基础设施。Tokio 快速、可靠,且可扩展。

Tokio 是一个事件驱动的非阻塞 I/O 平台,用于使用 Rust 编程语言编写异步应用。在高层设计上,它提供了一些主要组件:

  • 多线程、工作窃取(work-stealing)的 task  。

  • 由操作系统的事件队列(epoll,kqueue,IOCP 等)支撑的  。

  • 异步  套接字。

这些组件提供构建异步应用所需的运行时组件。

 —— 一个极速的轻量级 C 非对称协程库

很少推荐关于 C 语言的开源项目,一是因为与其他语言相比,C 语言相关的开源项目比较少,再则就是优秀的 C 语言开源项目也不多。本次推荐的 libaco 是一个高性能的网络开发库,质量相当高,7月份开源发布出来的时候,曾登上过 Github Trending 排行榜。

作者对 libaco 的定义是一个极速的轻量级 C 非对称协程库(10 ns/ctxsw + 一千万协程并发仅耗内存 2.8GB ),相当耀眼的数据表现。下面简要介绍一下这个项目:

  • 除了一个生产级别的 C 协程库实现,还包含了一个详细的文档描述了如何实现一个 最快且正确 的协程库以及其严格的数学证明
  • 核心实现不超过 700 行代码,包含了一个协程库应该有的全部功能;
  • 在 AWS c5d.large 机器上的性能测试结果指出,一次协程间上下文切换仅耗时 10 ns (独立执行栈);
  • 用户在创建新的协程时,可以选择其拥有一个独占的执行栈,或者是与其它任意数量的协程一起共享一个执行栈;
  • 拥有极致的内存使用效率:一千万个协程并发执行仅消耗 2.8GB 的物理内存( tcmalloc, 每一个协程使用 120B 的复制栈)。

上文中的"最快"指的是在满足 Sys V ABI Intel386 或者 AMD64 约束下最快的上下文切换实现。

Funny OSS — 有趣的开源软件

 —— 基于文本的现代 Web 浏览器

164552_U0A6_2720166.jpg

Browsh 是一个纯文本浏览器,可以运行在大多数的 TTY 终端环境和任何 Web 浏览器。它能渲染现代浏览器所能渲染的任何东西:HTML5、CSS3、JS、视频甚至 WebGL。其主要目的是在远程服务器上运行,并通过 SSH/Mosh 或浏览器内的 HTML 服务进行访问,以显著降低带宽,从而提高浏览速度并降低带宽成本。

164942_jLqP_2720166.jpg  164952_XNDK_2720166.jpg

左:渲染为 TTY 模式;右:渲染为浏览器模式

有人不禁会问,为什么要用这么一个浏览器呢?须知道,世界上还有很多地方的网络环境不是那么好,对于带宽有限的他们,这类产品能很好地兼容内容和体验之间的矛盾,让互联网的便利普及更多的用户。

 cheat.sh —— 一个只能在命令行访问的文档查询网站

cheat.sh 是一个网站,更是一个实用的速查工具。通过使用命令行执行 curl http://cheat.sh,便可快速查找任何编程语言的一些语法和关键字。

a8f95d010b4811f40077d1ca7c95b4b211d.jpg

cheat.sh 具有以下这些功能特性:

  • 简洁的 curl/browser 界面

  • 涵盖 55 种编程语言,一些 DBMSes 和 1000 多个最重要的 UNIX/Linux 命令

  • 无需安装,随处可用

  • 超快,通常在 100 毫秒内即可返回答案

  • 可以直接在代码编辑器中使用,无需打开浏览器

本期的推荐到此结束,更多有趣有料的开源软件尽在等你来发现~!

最后,欢迎关注【开源中国】微信公众号(ID: oschina2013),获取更多技术干货和第一手开源资讯!

转载于:https://my.oschina.net/editorial-story/blog/1926625

你可能感兴趣的文章
云时代架构读后感5--mysql学习笔记
查看>>
用android模拟器Genymotion定位元素
查看>>
svn 命令行下常用的几个命令
查看>>
25 iOS performance Tips&Tricks 笔记
查看>>
C++ ssd5 11 optional exercise1
查看>>
将其他js类库制作成seajs模块
查看>>
test
查看>>
最长公共子序列(Longest common subsequence)
查看>>
【C#小知识】C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 ...
查看>>
Properties工具类
查看>>
深入分析GCC
查看>>
题目积累
查看>>
Protobuf学习
查看>>
拖放 js
查看>>
书籍推荐《以C语言解析电脑》
查看>>
[cocos]ui布局---创建根据父控件和仓库格子大小对齐的仓库
查看>>
有关nginx upstream的五种分配方式
查看>>
Ubuntu16.04上安装arm-linux-gcc4.4.3
查看>>
MongoDB PHP API 及用法
查看>>
thunk 函数
查看>>