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——修改程序入口点
前两节中介绍了通过远线程进行注入的方法。现在换一种方法——修改进程入口点。(转载请指明出处) 在PE文件中,其中有个字段标识程序入口点位置。我们通过这个字段,到达程序入口点。PE文件的结构我这儿不讨论(我会在之后…

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

VC提前注入.net软件的方法
在之前几节介绍了各种注入方法,但是这些方法存在一些缺陷——对.net程序注入无效。(转载请指明出处) 这个可以理解,.net程序的代码不是汇编,而是微软自定义的IL中间语言。.net CLR如同虚拟机,解析并执行这些…
活动推荐:语音和语言技术在自然交互中的实践沙龙
智能语音技术已经渗透进家居生活、车载、金融服务等日常生活场景,在很大程度上解放了人们的双手和眼睛,语音交互成为连接人与信息/服务的新入口。根据IDC预测,国内对话式人工智能市场规模将在2022年达到78亿元。如何提供便捷、高效、高可用的…

JS字符串 window.open() window.opener window.name window对象总结
晚上总结了一下,发上来分享:字符串 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&step1&mtype%B8%F6%C8%CB&mt…

VC下通过进程ID获取进程镜像文件路径的方法及其存在的缺陷
工作中经常会遇到通过进程ID获取进程镜像文件或者其他模块的路径的需求。(转载请指明出处)网上关于方案大致存在两种方案: OpenProcess->GetModuleFileNameOpenProcess->EnumProcessModules->GetModuleFileNameEx我试验了下&#x…
腾讯云100亿元目标达成,发阳光普照奖iPhone 11 Pro,你酸了吗?
12 月 19 日,鹅厂腾讯发钱的消息又像往年一样引来了一群柠檬精。除了微信支付团队获得 2 亿元奖金的消息之外,一张腾讯云团队每个员工奖励一部 iPhone 11 Pro 的 H5 页面截图也不断地轰炸着朋友圈。原来这张图说的是腾讯云在 Q3 已完成 2019 年全年 100 …

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

优化系统后VS启动不了问题的一种解决方案
本文只讨论使用第三方软件优化系统后,或者您主动禁止服务后导致VS不能启动的问题。(转载请指明出处) 记得大概是08年时,我使用一些软件对电脑启动项做了优化。后来打开VS2005时,发现VS2005会一直保持在“载入界面”,当时十分懊恼&…
懂数学的程序员能有多吃香?这是我听过最好的答案丨颠覆认知
懂数学的程序员能有多吃香?关于这个问题,我想每个程序员心中都有自己的答案。之前在网上看到一个很有意思的答案说:我是在做了2年的开发之后,才真正认识到数学对于程序员的重要性,开始系统的学习数学。理由无它&#x…
基于OpenCasCade的程序发布问题
基于OpenCasCade二次开发了一个程序,想采用简单的copy的发布(部署)方式。 但在发布时遇到了很多问题。总结一下。 首先将所有所需的dll拷贝到了执行目录下,然后将程序copy到一台未安装OpenCasCade的机器上运行出错,信…

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

一种注册表沙箱的思路、实现
从今年4月份开始,我接触到一个沙箱项目。该项目的需求要求我们的沙箱具有良好的安全性和兼容性。当时我们研究了SandBoxIE和360的沙箱,基本确定通过“重定向”思路来实现这款沙箱。而我主要负责研究注册表这块。(转载请指明出处)在…
PyTorch实现L2和L1正则化的方法 | CSDN博文精选
作者 | pan_jinquan来源 | CSDN博文精选目录1.torch.optim优化器实现L2正则化2.如何判断正则化作用了模型?2.1未加入正则化loss和Accuracy2.1加入正则化loss和Accuracy2.3正则化说明3.自定义正则化的方法3.1自定义正则化Regularization类3.2Regularization使用方法4…

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

【翻译】将Ext JS Grid转换为Excel表格
原文:Converting an Ext 5 Grid to Excel Spreadsheet稍微迟来的礼物——Ext JS Grid转为Excel代码,现在支持Ext JS 5!功能包括: - 支持分组 - 数字的处理 VS 字符串数据类型 - 对于不支持客户端下载的浏览器会提交回服务器Enjoy&…
AI研究过于集中狭隘,我们是不是该反思了?
作者 | Sergii Shelpuk译者 | 陆离编辑 | 夕颜出品 | AI科技大本营(ID: rgznai100)【导读】2019年是AI领域更加冷静的一年,少了些喧嚣和泡沫,大浪淘沙留下的是经过检验的真正的AI研究者、实践者。但是你也许没有发现,本…

上周回顾:微软与苹果比赛谁更“不安全”
每个月的第二周应该是微软例行发布补丁的日子,本周也不例外,微软如定期新闻发布会一样公布了自己的安全公告。这本来已经成了例如51CTO.com这样关注企业网络安全的媒体重要的素材,不过没想到的是本周苹果偏要抢这个风头……热点一:…
一种注册表沙箱的思路、实现——注册表的一些基础知识
要做注册表沙箱,就必须要了解部分注册表知识。而注册表的知识很多,本文主要讲述如何在win32系统是上识别注册表映射的。(转载请指明出处) 在我的xp 32bit系统上,WinR regedit之后打开注册表管理器。我们可以看到如下主…

bzoj 2565: 最长双回文串 manacher算法
2565: 最长双回文串 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id2565 Description 顺序和逆序读起来完全一样的串叫做回文串。比如acbca是回文串,而abc不是(abc的顺序为“abc”,逆…
44岁的微软如何刷新未来?
整理 | 伍杏玲出品 | AI科技大本营(ID:rgznai100)在当今的“云”时代,很多企业在多个云计算平台部署应用,且需要统一管理和保护应用。在微软Ignite 2019 大会上,为了让企业轻松地在任何类型的基础设施平台上…

一种注册表沙箱的思路、实现——Hook Nt函数
Nt函数是在Ring3层最底层的函数了,选择此类函数进行Hook,是为了提高绕过门槛。我的Hook方案使用的是微软的Detours。(转载请指明出处)Detours的Hook和反Hook的写入如下: DetourTransactionBegin(); DetourUpdateThread…

浅析Struts 体系结构与工作原理(图)
Struts 体系结构是目前基于java的 web系统设计中广泛使用的mvc构架。基本概念 Struts是Apache 基金会Jakarta 项目组的一个Open Source 项目,它采用模型-视图-控制器(Model-View- Controller,简称MVC)模式,能够…

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

一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现1
因为我们沙箱注入了一个DLL到了目标进程,并且Hook了一系列NtXX(NtOpenKey)函数,所以我们在注入的代码中是不能使用RegXX(RegOpenKey等)这类函数的。因为RegXX系列函数在底层使用了NtXX系列函数,如果在注入DLL执行Hook后的逻辑中使用了RegXX系…
面试大厂背怼!这都搞不定,你只能做“搬运工”!
每一个面试过大厂的程序员似乎总会有种种困境:毕业季参加大厂校招面试,我本以为做过一些真实项目就不错了,没想到根本没问什么项目,都是基础知识,数学、算法,然而平时只喜欢学程序设计。小公司工作3年&…

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

Java面向对象学习笔记 -- 6(内部类、Timer)
1. 内部类内部类就是在一个类的内部定义的类,有:静态内部类、成员内部类,局部内部类、匿名内部类。-1) 静态内部类:使用static修饰,声明在类体中, 静态内部类中可以访问外部类的静态成员,开发很…
30年间,软件开发行业为何Bug纷飞?
作者 | Chris Fox译者 | 弯月,责编 | 屠敏出品 | CSDN(ID:CSDNnews)【导语】在时间的推移历程中,软件行业早已发生了天翻地覆的变化。和曾经大家习以为常的编码日常相比,越多越多的开发者发现,如…