当前位置: 首页 > 编程日记 > 正文

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

作者 | 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 <vector>#include <dbg.h>// 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<int>)  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 Percent10% + 5.5%//=> 15.5%-10% / 2//=> -5%

其他

cascadia-code:微软开源的一套等宽字体,有趣的是可以组合字符创建新的字形。组合效果如下:

开源书籍

python_ebook:Python 编程相关的电子书资源集合项目。

book:(英文)《Cosmic Python》讲述如何管理复杂性的 Pythonic 应用程序结构的书籍。

教程

BigData-Notes:大数据入门教程,该教程介绍了大数据常用技术栈的基础和核心知识。内容涵盖:Hadoop、Spark、Storm、HBase、Hive、ZooKeeper、Kafka 等。

机器学习

dimensionality_reduction_alo_codes:该项目使用 Python 实现了 11 种经典的数据抽取(数据降维)算法。同时附有相关资料、展示效果,适用于机器学习初学者和刚刚入坑数据挖掘的小伙伴。

0x03 写在之后

以上,就是今天分享的内容,希望更多的人能够知道 HelloGitHub 这个项目,内容已经在这了,万事俱备,差的就是你学习的驱动力和对作者 Star 的支持了。

让走在开源路上的开发者不再孤单,让想进入开源世界的人不再畏惧。

(*本文为AI科技大本营转载文章,转载联系原作者)

精彩公开课

推荐阅读

  • 大四学生发明文言文编程语言,设计思路清奇

  • 超模脸、网红脸、萌娃脸...换头像不重样?我开源了5款人脸生成器

  • 解读 | 2019年10篇计算机视觉精选论文(上)

  • 高通:2 亿像素手机 2020 年诞生!

  • 英特尔首推异构编程神器 oneAPI,可让程序员少加班!

  • VS Code 成主宰、Vue 备受热捧!2019 前端开发趋势必读

  • 我在华为做外包的真实经历

  • 2019 区块链大事记 | Libra 横空出世,莱特币减产,美国放行 Bakkt……这一年太精彩!

  • 互联网诞生记: 浪成于微澜之间

  • 你点的每个“在看”,我都认真当成了AI

相关文章:

VC下提前注入进程的一些方法3——修改程序入口点

前两节中介绍了通过远线程进行注入的方法。现在换一种方法——修改进程入口点。&#xff08;转载请指明出处&#xff09; 在PE文件中&#xff0c;其中有个字段标识程序入口点位置。我们通过这个字段&#xff0c;到达程序入口点。PE文件的结构我这儿不讨论&#xff08;我会在之后…

如何产生签名applet能让applet能够访问本地资源

2019独角兽企业重金招聘Python工程师标准>>> 如何产生签名applet,以使applet能够访问本地资源? 在jdk1.1中,可以使用javakey命令来产生公钥,私钥,证书和签名的jar文件,详细资料请参考: http://java.sun.com/security/usingJavakey.html而java 2对签名机制做了比较大…

VC提前注入.net软件的方法

在之前几节介绍了各种注入方法&#xff0c;但是这些方法存在一些缺陷——对.net程序注入无效。&#xff08;转载请指明出处&#xff09; 这个可以理解&#xff0c;.net程序的代码不是汇编&#xff0c;而是微软自定义的IL中间语言。.net CLR如同虚拟机&#xff0c;解析并执行这些…

活动推荐:语音和语言技术在自然交互中的实践沙龙

智能语音技术已经渗透进家居生活、车载、金融服务等日常生活场景&#xff0c;在很大程度上解放了人们的双手和眼睛&#xff0c;语音交互成为连接人与信息/服务的新入口。根据IDC预测&#xff0c;国内对话式人工智能市场规模将在2022年达到78亿元。如何提供便捷、高效、高可用的…

JS字符串 window.open() window.opener window.name window对象总结

晚上总结了一下&#xff0c;发上来分享&#xff1a;字符串 window.open() window.opener window.name window对象等的一点总结 http://download1.csdn.net/down3/20070614/14012050509.rar

dedecms /member/reg_new.php SQL Injection Vul

catalog 1. 漏洞描述 2. 漏洞触发条件 3. 漏洞影响范围 4. 漏洞代码分析 5. 防御方法 6. 攻防思考 1. 漏洞描述 Dedecms会员中心注入漏洞 2. 漏洞触发条件 http://127.0.0.1/dedecms5.5/member/reg_new.php?dopostregbase&amp;step1&amp;mtype%B8%F6%C8%CB&amp;mt…

VC下通过进程ID获取进程镜像文件路径的方法及其存在的缺陷

工作中经常会遇到通过进程ID获取进程镜像文件或者其他模块的路径的需求。&#xff08;转载请指明出处&#xff09;网上关于方案大致存在两种方案&#xff1a; OpenProcess->GetModuleFileNameOpenProcess->EnumProcessModules->GetModuleFileNameEx我试验了下&#x…

腾讯云100亿元目标达成,发阳光普照奖iPhone 11 Pro,你酸了吗?

12 月 19 日&#xff0c;鹅厂腾讯发钱的消息又像往年一样引来了一群柠檬精。除了微信支付团队获得 2 亿元奖金的消息之外&#xff0c;一张腾讯云团队每个员工奖励一部 iPhone 11 Pro 的 H5 页面截图也不断地轰炸着朋友圈。原来这张图说的是腾讯云在 Q3 已完成 2019 年全年 100 …

分享一个python cookbook的在线教程地址

分享一个python cookbook的在线教程地址&#xff1a;http://python3-cookbook.readthedocs.org/zh_CN/latest/翻译者&#xff1a;熊能转载于:https://blog.51cto.com/verdureorange/1653514

优化系统后VS启动不了问题的一种解决方案

本文只讨论使用第三方软件优化系统后&#xff0c;或者您主动禁止服务后导致VS不能启动的问题。(转载请指明出处) 记得大概是08年时&#xff0c;我使用一些软件对电脑启动项做了优化。后来打开VS2005时&#xff0c;发现VS2005会一直保持在“载入界面”&#xff0c;当时十分懊恼&…

懂数学的程序员能有多吃香?这是我听过最好的答案丨颠覆认知

懂数学的程序员能有多吃香&#xff1f;关于这个问题&#xff0c;我想每个程序员心中都有自己的答案。之前在网上看到一个很有意思的答案说&#xff1a;我是在做了2年的开发之后&#xff0c;才真正认识到数学对于程序员的重要性&#xff0c;开始系统的学习数学。理由无它&#x…

基于OpenCasCade的程序发布问题

基于OpenCasCade二次开发了一个程序&#xff0c;想采用简单的copy的发布&#xff08;部署&#xff09;方式。 但在发布时遇到了很多问题。总结一下。 首先将所有所需的dll拷贝到了执行目录下&#xff0c;然后将程序copy到一台未安装OpenCasCade的机器上运行出错&#xff0c;信…

Unity3D移植到自己的Android程序

用Unity3D开发需要把动画效果移植到现有的APP上面。Unity for Android 比较特殊&#xff0c;Unity for IOS 打包是将XCODE工程直接交给开发者&#xff0c;开发者可以在工程的基础上继续添加新的视图&#xff0c;最后由开发者自行打包生成IPA包&#xff0c;发布程序。而Unity fo…

一种注册表沙箱的思路、实现

从今年4月份开始&#xff0c;我接触到一个沙箱项目。该项目的需求要求我们的沙箱具有良好的安全性和兼容性。当时我们研究了SandBoxIE和360的沙箱&#xff0c;基本确定通过“重定向”思路来实现这款沙箱。而我主要负责研究注册表这块。&#xff08;转载请指明出处&#xff09;在…

PyTorch实现L2和L1正则化的方法 | CSDN博文精选

作者 | pan_jinquan来源 | CSDN博文精选目录1.torch.optim优化器实现L2正则化2.如何判断正则化作用了模型&#xff1f;2.1未加入正则化loss和Accuracy2.1加入正则化loss和Accuracy2.3正则化说明3.自定义正则化的方法3.1自定义正则化Regularization类3.2Regularization使用方法4…

构建插件式的应用程序框架(六)----通讯机制(ZT)

前天发了构建插件式的应用程序框架(五)&#xff0d;&#xff0d;&#xff0d;&#xff0d;管理插件这篇文章&#xff0c;有几个朋友在回复中希望了解插件之间是如何通讯的。这个系列的文章写到这里&#xff0c;也该谈谈这个问题了&#xff0c;毕竟已经有了插件管理。不知道大家…

【翻译】将Ext JS Grid转换为Excel表格

原文&#xff1a;Converting an Ext 5 Grid to Excel Spreadsheet稍微迟来的礼物——Ext JS Grid转为Excel代码&#xff0c;现在支持Ext JS 5&#xff01;功能包括&#xff1a; - 支持分组 - 数字的处理 VS 字符串数据类型 - 对于不支持客户端下载的浏览器会提交回服务器Enjoy&…

AI研究过于集中狭隘,我们是不是该反思了?

作者 | Sergii Shelpuk译者 | 陆离编辑 | 夕颜出品 | AI科技大本营&#xff08;ID: rgznai100&#xff09;【导读】2019年是AI领域更加冷静的一年&#xff0c;少了些喧嚣和泡沫&#xff0c;大浪淘沙留下的是经过检验的真正的AI研究者、实践者。但是你也许没有发现&#xff0c;本…

上周回顾:微软与苹果比赛谁更“不安全”

每个月的第二周应该是微软例行发布补丁的日子&#xff0c;本周也不例外&#xff0c;微软如定期新闻发布会一样公布了自己的安全公告。这本来已经成了例如51CTO.com这样关注企业网络安全的媒体重要的素材&#xff0c;不过没想到的是本周苹果偏要抢这个风头……热点一&#xff1a…

一种注册表沙箱的思路、实现——注册表的一些基础知识

要做注册表沙箱&#xff0c;就必须要了解部分注册表知识。而注册表的知识很多&#xff0c;本文主要讲述如何在win32系统是上识别注册表映射的。&#xff08;转载请指明出处&#xff09; 在我的xp 32bit系统上&#xff0c;WinR regedit之后打开注册表管理器。我们可以看到如下主…

bzoj 2565: 最长双回文串 manacher算法

2565: 最长双回文串 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id2565 Description 顺序和逆序读起来完全一样的串叫做回文串。比如acbca是回文串&#xff0c;而abc不是&#xff08;abc的顺序为“abc”&#xff0c;逆…

44岁的微软如何刷新未来?

整理 | 伍杏玲出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;在当今的“云”时代&#xff0c;很多企业在多个云计算平台部署应用&#xff0c;且需要统一管理和保护应用。在微软Ignite 2019 大会上&#xff0c;为了让企业轻松地在任何类型的基础设施平台上…

一种注册表沙箱的思路、实现——Hook Nt函数

Nt函数是在Ring3层最底层的函数了&#xff0c;选择此类函数进行Hook&#xff0c;是为了提高绕过门槛。我的Hook方案使用的是微软的Detours。&#xff08;转载请指明出处&#xff09;Detours的Hook和反Hook的写入如下&#xff1a; DetourTransactionBegin(); DetourUpdateThread…

浅析Struts 体系结构与工作原理(图)

Struts 体系结构是目前基于java的 web系统设计中广泛使用的mvc构架。基本概念    Struts是Apache 基金会Jakarta 项目组的一个Open Source 项目&#xff0c;它采用模型-视图-控制器&#xff08;Model-View- Controller&#xff0c;简称MVC&#xff09;模式&#xff0c;能够…

2015第22周一Web性能测试工具及IE扩展区别

在高性能web测试工具推荐http://www.jb51.net/article/23034.htm中发现了dynaTrace 感觉很不错&#xff0c;不但可以检测资源加载瀑布图&#xff0c;而且还能监控页面呈现时间&#xff0c;CPU花销&#xff0c;JS分析和执行时间&#xff0c;CSS解析时间的等。http://www.ibm.com…

一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现1

因为我们沙箱注入了一个DLL到了目标进程&#xff0c;并且Hook了一系列NtXX(NtOpenKey)函数&#xff0c;所以我们在注入的代码中是不能使用RegXX(RegOpenKey等)这类函数的。因为RegXX系列函数在底层使用了NtXX系列函数&#xff0c;如果在注入DLL执行Hook后的逻辑中使用了RegXX系…

面试大厂背怼!这都搞不定,你只能做“搬运工”!

每一个面试过大厂的程序员似乎总会有种种困境&#xff1a;毕业季参加大厂校招面试&#xff0c;我本以为做过一些真实项目就不错了&#xff0c;没想到根本没问什么项目&#xff0c;都是基础知识&#xff0c;数学、算法&#xff0c;然而平时只喜欢学程序设计。小公司工作3年&…

net程序架构开发

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> 程序架构,功能的划分: 数据库(包括存储过程) 数据访问(包括Microsoft Application Blocks for .NET的2.0版) 数据结构(等价于强类型DataSet) 业务逻辑层 业务表现层 数据库:不用说…

Java面向对象学习笔记 -- 6(内部类、Timer)

1. 内部类内部类就是在一个类的内部定义的类&#xff0c;有&#xff1a;静态内部类、成员内部类&#xff0c;局部内部类、匿名内部类。-1) 静态内部类&#xff1a;使用static修饰&#xff0c;声明在类体中&#xff0c; 静态内部类中可以访问外部类的静态成员&#xff0c;开发很…

30年间,软件开发行业为何Bug纷飞?

作者 | Chris Fox译者 | 弯月&#xff0c;责编 | 屠敏出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;【导语】在时间的推移历程中&#xff0c;软件行业早已发生了天翻地覆的变化。和曾经大家习以为常的编码日常相比&#xff0c;越多越多的开发者发现&#xff0c;如…