专栏名称: AI科技大本营
迎来到AI科技大本营。这里汇集了优秀的AI学习者,技术大咖和产业领袖;提供接地气的实战课程。在这里和优秀的人一起成长。
目录
相关文章推荐
爱可可-爱生活  ·  【[121星]Deep ... ·  昨天  
爱可可-爱生活  ·  【[141星]LangMem:让AI ... ·  昨天  
黄建同学  ·  这个新AI硬件卖89刀,你会买吗?Omi.m ... ·  昨天  
51好读  ›  专栏  ›  AI科技大本营

GitHub宝藏项目标星1.6w+,编程新手有福了

AI科技大本营  · 公众号  · AI  · 2019-12-19 17:35

正文


作者 | Rocky0429
来源 | Python空间(ID: Devtogether)


特别惭愧的是,虽然我很早就知道 GitHub,但是学会逛 GitHub 的时间特别晚。当时一方面是因为菜,看着这种全是英文的东西难受,不知道该怎么去玩,另一方面是一直在搞 ACM,没有做一些工程类的项目,所以想当然的以为和 GitHub 也没什么关系(当然这种想法是错误的)。


后来自己花了一个星期看完了 Python 的基础知识,就想着找点项目看一看,学一学,练一练,这个时候我才真正的去了解 GitHub,开始了在 GitHub 的瞎逛之旅,在开始之初,随之而来的问题是我不知道哪些项目当时还是新手的我,哪些项目是好项目,哪些项目好玩有价值。


虽然现在我已经在 GitHub 上逛的相当流畅,但我还是想如果有一个可以收集这些对新手友好的东西,那么我当时可以少走更多的弯路,节省更多的时间吧。


那么有这么一个东西么?


有的,而且已经做了三年多,这就是HelloGitHub,一个分享 GitHub 上有趣的、入门级的开源项目。



GitHub网址:

https://github.com/521xueweihan/HelloGitHub



在项目中,内容每月 28 号以月刊的形式更新发布,主要是面向编程新手、热爱编程、对开源社区感兴趣人群的项目。更新的内容主要包括:各种语言的流行项目、入门级项目、让生活变得更美好的工具、书籍、学习心得笔记、企业级项目等。



这些项目都有一些共同的特征,那就是很酷,非常容易上手的项目,编程的魅力和便捷体验起来就是这么简单。


再次给出 GitHub 地址:
https://github.com/521xueweihan/HelloGitHub



下面我们就来看看,这个项目具体包括啥,我们以最新的月刊(43 期)为例。



0x00 简介



0x01 目录



0x02 内容

每个类型的项目我们挑一个来看。

C 项目

tmux:一个终端复用工具,可极大的提高工作效率。


  • 提供了强劲的、易于使用的命令行界面;
  • 可横向和纵向分割窗口;
  • 窗格可以自由移动和调整大小,或直接利用四个预设布局之一;
  • 可在多个缓冲区进行复制和粘贴;
  • 可通过交互式菜单来选择窗口、会话及客户端;
  • 等等。


C# 项目


BenchmarkDotNet :功能强大的用于基准测试 .NET 库。



C++ 项目

dbg-macro:打日志是 C++ 开发中必不可少的一种 debug 方式,dbg-macro 受 rust-lang 中 的 dbg 启发,提供比 printf 和 std::cout 更好的宏函数。主要有如下特点:


  • 美观的彩色输出(当输出不是交互式终端时,颜色将自动禁用);
  • 兼容 C++11,并且是 header-only;
  • 支持基础类型和 STL 容器类型的输出;
  • 除了基本信息外,还输出变量名和类型;
  • 启用 DBG_MACRO_DISABLE 生成 release 版。


#include
#include

// You can use "dbg(..)" in expressions:
int factorial(int n) {
if (dbg(n <= 1)) {
return dbg (1);
} else {
return dbg(n * factorial(n - 1));
}
}

int main() {
std::string message = "hello";
dbg(message); // [example.cpp:15 (main)] message = "hello" (std::string)
const int a = 2;
const int b = dbg(3 * a) + 1; // [example.cpp:18 (main)] 3 * a = 6 (int)
std::vector<int> numbers{b, 13, 42};
dbg(numbers); // [example.cpp:21 (main)] numbers = {7, 13, 42} (size: 3) (std::vector)
dbg("this line is executed"); // [example.cpp:23 (main)] this line is executed
factorial(4);
return 0;
}



Go 项目


go-admin:基于 Golang 语言的数据可视化与管理平台。特性如下:


  • 🚀

    高生产效率:10 分钟内做一个好看的管理后台;

  • 🎨

    主题:默认为 adminlte,更多好看的主题正在制作中,欢迎给我们留言;

  • 🔢

    插件化:提供插件使用,真正实现一个插件解决不了问题,那就两个;

  • 认证:开箱即用的 rbac 认证系统;

  • ⚙️

    框架支持:支持大部分框架接入,让你更容易去上手和扩展。



Java 项目


eladmin :基于 Spring Boot 2.1.0、Vue 的前后端分离的后台管理系统,支持数据字典与数据权限管理、一键生成前后端代码、前端菜单动态路由等。基于 Spring Boot2.1.0 框架,涉及的技术栈:非关系数据库 redis、接口测试工具 swagger、druid 数据源驱动、邮件依赖(javax.mail)、三方支付和云存储 SDK、页面模板引擎 freemarker。技术栈丰富,初学者可以作为实战项目学习和使用。



JavaScript

chart-race-react :一个简单易用的 Bar Chart Race(长条图赛跑动画) React 组件。示例代码:


import ReactDOM from 'react-dom';
import BarChart from 'chart-race-react';

ReactDOM.render(<BarChart />, document.getElementById('root'));



Python 项目


TagUI-Python 一个 Python 自动化操作的库。比如:自动打开网页并截图,示例代码:


t.init()
t.url('https://www.google.com')
t.type('q', 'decentralization[enter]')
t.snap('page', 'results.png')
t.close()


Ruby 项目


shift :一个 Ruby 语言写的在线 MySQL 数据库迁移工具。




Swift 项目


Percent :让 Swift 语言支持百分比类型,消除精度缺失的烦恼。示例代码:


import Percent

10% + 5.5%
//=> 15.5%
-10% / 2
//=> -5%


其他







请到「今天看啥」查看全文