17

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

 3 years ago
source link: http://www.cnblogs.com/xueweihan/p/12952944.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

eamQNjJ.png!web

作者:HelloGitHub- 小鱼干

摘要:说到学习之道,方法很重要,好的学习方法能让你比他人更快地入门到精通,比如本周被 3k 多人 pick 的 learngo 项目,它收录了多个例子和练习,新手 Go 开发可快速习得 Go 编程之法。本周 TheAlgorithms 开源的 C-Plus-Plus、Python、Java 等也明示另外一条学习之路,虽然不如标准快效率高,但是算法绝对是学习一门语言的不二之选。当然,前人言传身教的最佳实践也是不一个不可放过的耗资源,比如 Jetpack MVVM 最佳实践。本期的主题项目为你选择了 macOS 神器,工欲善其事必先利器,好用的开发环境也提升你的学习效率。

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

  • 本文目录
      1. 本周特推
      • 1.1 Go 新手起手式:learngo
      1. GitHub Trending 周榜
      • 2.1 git 终端:gitui
      • 2.2 C++ 学算法:C-Plus-Plus
      • 2.3 Windows 工具集:PowerToys
      • 2.4 Jetpack MVVM 最佳实践:Jetpack-MVVM-Best-Practice
      • 2.5 React 状态管理:Recoil
      • 2.6 Apple & Google 合力:exposure-notifications-server
      • 2.7 统计学习方法:Statistical-Learning-Method_Code
      • 2.8 轻量级 Web 服务器:TinyWebServer
      1. 本周 GitHub Trending #macOS 神器# 主题的主力军
      • 3.1 Touch Bar 废物再利用:Pock
      • 3.2 资源订阅:NetNewsWire
      • 3.3 窗口管理器:Rectangle
      1. 推荐阅读

1. 本周特推

1.1 Go 新手起手式:learngo

本周 star 增长数:3400+

骚年,学 Go 吗?#GitHub Trending# Go 新手起手式:learngo 收录了 1000+ Go 相关的例子、练习和测验,可帮你快速习得 Go 编程之法。

GitHub 地址→https://github.com/inancgumus/learngo

2. GitHub Trending 周榜

2.1 git 终端:gitui

本周 star 增长数:400+

gitui 是一个由 rust 编写的 git 终端,gitui 的特性

  • 快速直观的仅键控制
  • 基于上下文的帮助,没有必要记住任何快捷键
  • 检查/提交更改(包括钩子:commit-msg / post-commit)
  • (取消)阶段文件/大块,还原/重置文件/大块
  • 浏览提交日志
  • 可扩展的 UI 布局
  • 异步输入轮询和异步 git API 用于流体控制

GitHub 地址→https://github.com/extrawurst/gitui

FZviQnm.gif

2.2 C++ 学算法:C-Plus-Plus

本周 star 增长数:1100+

C-Plus-Plus 是一个用 C++ 实现的算法实践,如果你想了解算法的话,不妨看下这个项目。

GitHub 地址→https://github.com/TheAlgorithms/C-Plus-Plus

2.3 Windows 工具集:PowerToys

本周 star 增长数:3000+

PowerToys 是微软开发者开发的免费实用工具集,可以用于高级用户调整和简化 Windows 操作,以提高效率。2019 年 5 月,微软宣布以官方名义重启该项目。微软表示,此次重启对 PowerToys 的研发,将会提供一些提高效率的实用程序,并且可以通过 Windows 10 shell 使用,同时让用户可以自定义各个工作流。

GitHub 地址→https://github.com/microsoft/PowerToys

rQvQZnM.png!web

2.4 Jetpack MVVM 最佳实践:Jetpack-MVVM-Best-Practice

本周 star 增长数:450+

项目作者拥有 3 年的移动端架构践行和设计经验,领导团队重构的中大型项目多达十数个,对 Jetpack MVVM 架构在 确立规范化、标准化 开发模式以减少不可预期的错误所作的努力,有着深入的理解。在这个项目中,作者将展示 Jetpack MVVM 是如何蕴繁于简地将原本十分容易出错、一出错就会耽搁半天时间的开发工作,通过寥寥的几行代码轻而易举地完成。除了在蕴繁于简的代码中掌握 MVVM 最佳实践,你还可以从这个开源项目中获得的内容 包括:

  • 整洁的代码风格和标准的资源命名规范。
  • 对视图控制器知识点的深入理解和正确使用。
  • AndroidX 和 Material Design 2 的全面使用。
  • ConstraintLayout 约束布局的最佳实践。
  • 优秀的用户体验 交互设计。
  • 绝不使用 Dagger,绝不使用奇技淫巧、编写艰深晦涩的代码。
  • The one more thing is:

GitHub 地址→https://github.com/KunMinX/Jetpack-MVVM-Best-Practice

NVvEvuU.gif

2.5 React 状态管理:Recoil

本周 star 增长数:3700+

Recoil 为 React 的外部状态管理提供了一种分布式 + 函数式的新的解决方案。特性

  • 最小和反应(Reactish):Recoil 像 React 一样工作和思考。将一些添加到您的应用程序并获得快速灵活的共享状态。
  • 数据流图:派生数据异步查询已通过纯函数和高效订阅方式实现。
  • 跨应用观察:过观察应用程序中所有状态的变化来实现持久性,路由,时间旅行调试或撤消,而不会影响代码拆分。

GitHub 地址→https://github.com/facebookexperimental/Recoil

2.6 Apple & Google 合力:exposure-notifications-server

本周 star 增长数:1100+

New :exposure-notifications-server 是 Google 开源的曝光通知服务,利用蓝牙技术帮助政府和卫生机构减少病毒的传播,用户隐私和安全是设计的核心,并在 iOS 和 Android 应用程序提供了参考代码。参考服务器源代码可以在 GitHub 上获得,可以部署在公共卫生机构选

GitHub 地址→https://github.com/google/exposure-notifications-server

2.7 统计学习方法:Statistical-Learning-Method_Code

本周 star 增长数:1700+

Statistical-Learning-Method_Code 是手写实现李航《统计学习方法》书中全部算法项目。项目力求每行代码都有注释,重要部分注明公式来源。具体会追求下方这样的代码,学习者可以照着公式看程序,让代码有据可查。

GitHub 地址→https://github.com/Dod-o/Statistical-Learning-Method_Code

M7zEFj7.png!web

2.8 轻量级 Web 服务器:TinyWebServer

本周 star 增长数:150+

TinyWebServer 是 Linux 下 C++ 轻量级 Web 服务器,助力初学者快速实践网络编程,搭建属于自己的服务器。特性:

  • 使用 线程池 + 非阻塞 socket + epoll(ET 和 LT 均实现) + 事件处理(Reactor 和 Proactor 均实现)的并发模型
  • 使用状态机解析 HTTP 请求报文,支持解析 GET 和 POST 请求
  • 访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件
  • 实现同步/异步日志系统,记录服务器运行状态
  • 经 Webbench 压力测试可以实现上万的并发连接数据交换

GitHub 地址→https://github.com/qinguoyi/TinyWebServer

zYjE7vA.jpg!web

3. 本周 GitHub Trending #macOS 神器#主题的主力军

在本期的主题项目中,小鱼干选择了 3 个用 swift 开发的 macOS 工具,壮哉,macOS。

3.1 Touch Bar 废物再利用:Pock

本周 star 增长数:100+

Pock 是一个可把 Touch Bar 当作 Dock 直接用来切换和启动 App 的小工具。Pock 具有以下特性:

  • 支持显示通知角标
  • 提供了 ESC 按钮,所以不必隐藏 Pock 来使用系统的 ESC
  • 可设置是否在进入系统时启动 Pock

GitHub 地址→https://github.com/pigigaldi/Pock

BjQBBfy.png!web

3.2 资源订阅:NetNewsWire

本周 star 增长数:50+

NetNewsWire 是一款免费的 RSS 阅读器,除了支持 RSS,它也支持 Atom,JSON Feed 和 RSS-in-JSON 格式。

GitHub 地址→https://github.com/Ranchero-Software/NetNewsWire

qA7bAfE.png!web

3.3 窗口管理器:Rectangle

本周 star 增长数:150+

Rectangle 是一个开源的窗口管理器,基于Spectacle应用,用Swift语言编写。Rectangle 可让用户使用键盘快捷键来移动和调整窗口大小。

GitHub 地址→https://github.com/rxhanson/Rectangle

aQniiuR.png!web


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK