1、刚开源就收获 3K Star 的可视化 ping 工具gping
先上一张动态图片感受一下。gping 是基于 Rust 编写可视化工具,有了它,当你输入 Ping url 的时候,可在终端看到数据接收情况。
Web-Dev-For-Beginners课程内容包含 JavaScript、CSS 和 HTML等基础入门内容,为期12周,一共24节课。每节课程均包含课前与课后测验,课程书面说明,解决方案,作业等。目前该课程排在Github 日榜第一的位置,感兴趣的小伙伴赶紧 Star 吧。
3、旧照翻新:Bringing - Old - Photos - Back - to - Life
在今天的 Github 排行榜上,排名第二的依然是微软的开源项目。该项目可以还原旧照片,翻新破损的老照片,Colab Demo地址https://colab.research.google.com/drive/1NEm6AsybIiC5TwTU_4DqDkQO0nFRB-uA?usp=sharing
4、libhv:精妙小巧的跨平台网络库
该开源库是由 CSDN 博客专家 ithewei 开源,他的博客上分享了不少 libhv 知识点,感兴趣的小伙伴可以去mark。
libhv是一个类似于libevent、libev、libuv的跨平台网络库,提供了更简单的接口和更丰富的协议。
libhv的定位
- base封装了很多跨平台的代码,如hatomic原子操作、hthread线程、hmutex线程同步,当然这都是基于configure/cmake自动生成的hconfig.h和hplatform.h两个头文件中提供的平台宏、编译器宏等实现的;
- event模块则实现了事件循环(包括IO、timer、idle),不同的平台有不同的实现,如Linux使用epoll,Windows使用IOCP、Mac使用kqueue、Solaris使用evport,感兴趣的可以读一读event下的源码;
- http模块则基于event模块实现了本世纪最为通用的应用层协议http协议,包括http服务端和客户端,libhv中examples下提供的httpd,性能可媲美nginx服务;
- 不妨勇敢的说,libhv是c++编写HTTP API服务端/客户端最简单的库,没有之一
libhv和libevent、libev、libuv有什么不同
- libevent最为古老、有历史包袱,bufferevent虽为精妙,却也难以上手;
- libev可以说是libevent的简化版,代码极为精简,但宏定义用的过多,代码可读性不强,且在Windows上实现不佳;
- libuv是nodejs的c底层库,最先也是由libevent+对Windows IOCP支持,后来才改写自成一体,同时实现了管道、文件的异步读写,很强大,但结构体比较多,封装比较深;
- libhv本身是参考了libevent、libev、libuv的实现思路,它们的核心都是事件循环(即在一个事件循环中处理IO、定时器等事件),但提供的接口最为精简,API接近原生系统调用,最容易上手;
关于 libhv 库的更多介绍,大家可以访问:https://hewei.blog.csdn.net/article/details/109703459
转载:https://blog.csdn.net/weixin_39787030/article/details/109771979