HelloGitHub Vol.25
HelloGitHub shares interesting and beginner-friendly open source projects on GitHub, updated on the 28th of each month. Here you will find fun and beginner-level open source projects, open source books, practical projects, and enterprise-level projects, allowing you to quickly appreciate the charm of open source and develop an interest in it.
基于 libinput 实现 Linux 系统下通过二指滑动控制面板,切换屏幕的程序。虽然功能简单,且不支持全平台。但是十分推荐这种自己动手实现一个实用的功能这种行为,这是非常有成就感的事情
一个处理地理坐标的轻型 JS 库。由于处理国内对于地理坐标有特殊的政策,导致从 API 得到的地理坐标放在百度地图或高德地图上会有数百米的偏移,gcoord 可以将坐标在不同坐标系下转换,修正偏移。转换为百度地图坐标系的示例代码:
var result = gcoord.transform( [ 116.403988, 39.914266 ], // 经纬度坐标 gcoord.WGS84, // 当前坐标系 gcoord.BD09 // 目标坐标系 ); console.log( result ); // [ 116.41661560068297, 39.92196580126834 ]
通过 SVG 元素去描述去骨骼图的占位元素。支持 JSX 让编写 SVG 无差别化、复用 SVG 片段、类组件化模式。让交互变得更加人性化,适合当下技术流行趋势,2KB 的大小根本不必担心加载问题。示例代码如下:
import SVGSkeleton from 'svg-skeleton'; const { h, render } = SVGSkeleton; // 内置 #shining 动画 const Item = ( <svg width="750" height="191"> <circle cx="95" cy="102" r="63" fill="#edeff0" mask="url(#shining)" ></circle> <rect width="160" height="35" x="190" y="45" fill="#edeff0" mask="url(#shining)" ></rect> <rect width="400" height="35" x="190" y="90" fill="#edeff0" mask="url(#shining)" ></rect> <line x1="0" y1="190" x2="750" y2="190" stroke="#edeff0"></line> </svg> ); const Page = ( ( ) => { let List = [ ]; for ( let i = 0; i < 6; i++ ) { List.push( ( <Item y={ i == 0 ? 0 : i * 191 } ></Item> ) ); } return ( <svg width="750" height="1334" fill="#fafafa"> { List } </svg> ); } )( ); render( Page, document.body );
该项目集成了 HTTP 请求转发、模拟响应数据、自定义 DNS 解析等功能。使得可以本地代码调试线上页面,环境再也不是问题。对于处于开发环境“恶劣”的开发者来说是种福音和解脱
定时任务管理平台,管理和调度各种离线定时任务,自带 Web 管理界面。当定时任务量达到百级别的时候,就无法再使用 crontab 有效、方便地管理这些任务了。该项目就是为了解决了这个问题而诞生的
模拟 HTTP 请求结果的库,可用于单元测试等场景。采用装饰器方式调用的示例代码如下:
import pook import requests @pook.get('http://httpbin.org/status/500', reply=204) @pook.get('http://httpbin.org/status/400', reply=200) def fetch(url): return requests.get(url) res = fetch('http://httpbin.org/status/400') print('#1 status:', res.status_code) res = fetch('http://httpbin.org/status/500') print('#2 status:', res.status_code)
中文近义词工具包。支持自然语言理解的很多任务:文本对齐、推荐算法、相似度计算、语义偏移、关键字提取、概念提取、自动摘要、搜索引擎等。示例代码如下:
import synonyms synonyms.seg("能量")
书籍《深度学习框架 PyTorch:入门与实践》的示例代码,可以作为一个独立的 PyTorch 入门指南和教程。内容结构如下图所示:
爬虫集合,大多为 Python 语言项目
《JavaScript 闯关记》该教程部分章节精心设计了挑战关卡
Linux 内核揭密。中文
(英文)macOS 系统上的开源应用集合,并标注了应用通过那种编程语言实现
《Go语言高级编程》该书针对 Go 语言有一定经验,想更加深入了解 Go 语言各种高级用法的开发人员
《高速上手 C++ 11/14/17》阅读须知:
- 本书假定读者已经熟悉了传统 C++ ,至少在阅读传统 C++ 代码上不具备任何困难。换句话说,那些长期使用传统 C++ 进行编码的人、渴望在短时间内迅速了解现代 C++ 特性的人非常适合阅读本书;
- 本书一定程度上介绍了一些现代 C++ 的黑魔法,但这些魔法毕竟有限,不适合希望进阶学习现代 C++ 的读者,本书的定位系现代 C++ 的快速上手。当然,希望进阶学习的读者可以使用本书来回顾并检验自己对现代 C++ 的熟悉度。
- C
- CSS
- Go
- JavaScript
- Objective-C
- Python
- AI
- Other
- Book