本文首发于「HelloGitHub」微信公众号,搜索「HelloGitHub」点击关注解锁更多宝藏!

作者:HelloGitHub-小鱼干

新手开始学习的时候,都会遇到一个问题:如何开始学 xx?See,这周的 GitHub 热榜项目们就是带你来学习新技术的,在这个五一假期学习下 3D 游戏的着色、阴影处理,了解下 3D 游戏的开发过程如何?实在不行,很多 HG 小伙伴说过的问过如何写一个操作系统?rust-raspberrypi-OS-tutorials 带你从写个可用于 ARM 架构的操作系统开始。此外,clean-code-javascript 教你写出优雅、可读性高的代码,Just Try it~~

以下内容摘录自微博@HelloGitHub 的 GitHub Trending 及 Hacker News 热帖(简称 HN 热帖),选项标准:新发布 | 实用 | 有趣,根据项目 release 时间分类,发布时间不超过 14 day 的项目会标注 New,无该标志则说明项目 release 超过半月。由于本文篇幅有限,还有部分项目未能在本文展示,望周知

  • 本文目录

      1. 本周特推
      • 1.1 手把手教你做 3D 游戏:3d-game-shaders-for-beginners
      • 1.2 写个操作系统:rust-raspberrypi-OS-tutorials
      1. GitHub Trending 周榜
      • 2.1 Python 函数秒变微服务:opyrator
      • 2.2 终端命令校对器:thefuck
      • 2.3 HTML5 窗口管理器:winbox
      • 2.4 Firebase 替代品:supabase
      • 2.5 JS 代码整洁之道:clean-code-javascript
      1. 往期回顾

1. 本周特推

1.1 手把手教你做 3D 游戏:3d-game-shaders-for-beginners

本周 star 增长数:700+

3d-game-shaders-for-beginners 是一个手把手教你一步步实践,从 SSAO、着色、光影处理、法线贴图(凸凹贴图的一种表现)带你体验 3D 游戏的制作。

GitHub 地址→https://github.com/lettier/3d-game-shaders-for-beginners

1.2 写个操作系统:rust-raspberrypi-OS-tutorials

本周 star 增长数:700+

rust-raspberrypi-OS-tutorials 是一个手把手教你写个树莓派操作系统的教程,它详细地介绍了如何从零开始为嵌入式系统编写独立的操作系统内核,如果你是 ARM 64 位 ARMv8-A 的新手不妨来跟着它学习下。

GitHub 地址→https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials

2. GitHub Trending 周榜

2.1 Python 函数秒变微服务:opyrator

本周 star 增长数:900+

Opyrator 可快速将你的 Python 函数变为可在生产环境使用的微服务,你可以通过 HTTP API /可交互的 UI 来部署和访问你的服务。Opyrator 由 FastAPI、Streamlit 和 Pydantic 提供服务。

GitHub 地址→https://github.com/ml-tooling/opyrator

2.2 终端命令校对器:thefuck

本周 star 增长数:1,050+

The Fuck 是个优秀的命令输出校验工具,它能自动帮你校对输入命令并执行正确的指令,当你输 git brnch 再也不会看到该死的提示语 git: 'brnch' is not a git command. See 'git --help'. The Fuck 会自动帮你执行 git branch 命令,更别提写错的 puthon 它已经能理解为是 python,是不是很棒。

GitHub 地址→https://github.com/nvbn/thefuck

2.3 HTML5 窗口管理器:winbox

本周 star 增长数:2,150+

New WinBox 是一个专业的 HTML5 Web 窗口管理器,它具有轻量、出色性能、无依赖、支持定制化开发等特性,可用于桌面应用、窗口、弹窗等场景下。

GitHub 地址→https://github.com/nextapps-de/winbox

2.4 Firebase 替代品:supabase

本周 star 增长数:1,950+

Supabase 使用企业级的开源工具构建 Firebase 特性,它是一个开源的 Firebase 替代品。特性:

  • Postgres 托管
  • 实时订阅
  • 身份验证和授权
  • 自动生成 API
  • 面板 ​

GitHub 地址→https://github.com/supabase/supabase

2.5 JS 代码整洁之道:clean-code-javascript

本周 star 增长数:900+

想写出优雅、阅读性高的 JS 代码吗?clean-code-javascript 收录了适用 JavaScript 的整洁代码之法,旨在教你写出可读、可复用、可重构的优雅代码。

GitHub 地址→https://github.com/ryanmcdermott/clean-code-javascript

3. 往期回顾

以上为 2021 年第 18 个工作周的 GitHub Trending 如果你 Pick 其他好玩、实用的 GitHub 项目,记得来 HelloGitHub issue 区和我们分享下哟


关注 HelloGitHub 公众号 第一时间收到更新。

还有更多开源项目的介绍和宝藏项目等待你的发现。

学就完事了!万星项目带你做 3D 游戏——GitHub 热点速览 v.21.18的更多相关文章

  1. 年底了是时候学新技术了「GitHub 热点速览 v.21.52」

    作者:HelloGitHub-小鱼干 年底了,又有新技术冒出来需要你来 Pick 了,第一个先要被 Pick 的是即将到来的元旦英文版:Happy New Year,再来的话就是这周非常火的新一代爬虫 ...

  2. 大型项目源码集合「GitHub 热点速览 v.21.39」

    作者:HelloGitHub-小鱼干 代码,尤其是优雅规范的代码,一直都是学习编程技巧的捷径.虽然有实用的代码小片段,能拯救当前业务的燃眉之急,但是真要去提升自己的技能还是得从大型的项目,尤其是有一定 ...

  3. 命名秘籍周获近五千星——GitHub 热点速览 v.21.04

    作者:HelloGitHub-小鱼干 命名一直是编程界的难点,这次 naming-cheatsheet 就能帮上你的忙.按照它的 SID(Short..Intuitive.Descriptive)原则 ...

  4. 万星开源项目强势回归「GitHub 热点速览 v.22.38」

    本周霸榜的 GitHub 项目多为老项目,比如:老面孔的 theatre 凭借极其优秀的动画功底连续三天霸榜 TypeScript 类目.借 Figma 被 Adobe 收购之风,又出现在 GitHu ...

  5. 揭开周获 18k star 开源项目的神秘面纱「GitHub 热点速览 v.22.28」

    本周 GitHub Trending 的项目重量十足,比如标题的一周获得 18k+ 的高性能 JS Runtime--bun,用性能来体现了它的"含金量".同样有重量的还有一行代码 ...

  6. 平平无奇的项目「GitHub 热点速览 v.22.10」

    不知道大家对高星项目什么印象?提到这个词第一个想到哪个项目呢?本周有几个项目看着普普通通,却完成了一周 2k+ star 的事迹.比如 SingleFile,它是个浏览器扩展,点击图标之后即可保存一个 ...

  7. 什么新东西值得学「GitHub 热点速览 v.22.29」

    上周 18k+ 的项目 bun 这周又获得 7k+ star,是时候了解下它背后的编程语言 zig 了,它并不是一门新的语言,伴随着 bun 的风靡,zig 本周也上了 GitHub 热榜.同样,可以 ...

  8. GitHub 热点速览 Vol.21:Go 新手起手式,学就完事儿了

    作者:HelloGitHub-小鱼干 摘要:说到学习之道,方法很重要,好的学习方法能让你比他人更快地入门到精通,比如本周被 3k 多人 pick 的 learngo 项目,它收录了多个例子和练习,新手 ...

  9. NB 的开源项目遍地开花——GitHub 热点速览 Vol.41

    作者:HelloGitHub-小鱼干 本周的 GitHub 热点速览的关键词便是 nb,也是本周特推之一的项目名字,这个功能如名字一般 nb 的项目是一个脚本,帮你处理笔记.书签.归档和知识库应用程序 ...

随机推荐

  1. POJ1852-换向思考

    蚂蚁碰撞后反向与穿越的时间一样. 穷竭搜索---->想象力 #include<stdio.h> int main(void){ int n,len,ansNum,mintime,ma ...

  2. 第39天学习打卡(UDP多线程在线咨询 URL)

    UDP多线程在线咨询  package com.kuang.chat; ​ import java.io.BufferedReader; import java.io.InputStreamReade ...

  3. PID算法验证

    算法: struct PID { float kp; float kpnfac; float ki; float kinfac; float kd; }; float gCurPPM = 1300; ...

  4. deepin-terminal改造之路

    目录 1. 背景介绍 2. 下载源码 3. 依赖检查及安装 4. 改造之路 4.1 终端透明度快捷键 4.1.1 设置面板增加选项内容 4.1.2 添加配置解析内容 4.1.3 功能实现 4.1.4 ...

  5. CentOS rpm常用功能记录

    CentOS7主要有rpm和yum这两种包软件的管理.两者有功能上的区别,其中主要区别是:yum使用简单但需要联网,yum会去网上包源去获取所需要的软件包.而rpm的需要做的事情就更细一些,比如我们需 ...

  6. 182. 查找重复的电子邮箱 + group by + having

    182. 查找重复的电子邮箱 LeetCode_MySql_182 题目描述 方法一:使用笛卡尔积 # Write your MySQL query statement below select di ...

  7. java 方法详解

    什么是方法 方法的定义和调用 值传递与引用传递 值传递:指的是在方法调用时,传递的是参数是按值的拷贝传递. 特点:传递的是值的拷贝,也就是传递后就互不相关了. 引用传递:指的是在方法调用时,传递的参数 ...

  8. IT求职 非技术面试题汇总

    原文链接:https://blog.csdn.net/weixin_40845165/article/details/89852397 说明:原文是浏览网页时无意间看到的.扫了一眼,总结得还不错,感谢 ...

  9. 解决VM 与 Device/Credential Guard 不兼容(全网有效解决思路)

    为什么要写这篇文章先说背景:前段时间因为学习Linux系统需要,自己本机用的是Windows系统,那这里就需要用到虚拟机来创建虚拟环境用来支持Linux系统 1: 于是乎,自己很激动的下载了vm虚拟机 ...

  10. 【数据结构与算法】——队列(Queue)

    队列(Queue)的一个使用场景 银行排队的案例: 队列(Queue)介绍 队列是一个有序列表,可以用数组或是链表来实现. 遵循先入先出的原则.即:先存入队列的数据,要先取出来.后存入的要后取出来. ...