又到了一个毕业季,学长学姐们即将离开学校,踏上新的旅途。学长学姐作为比我们更有经验的存在,教给我们许多经验,让我们少走了许多弯路。而在学长学姐们已经毕业的现在,我们又将作为学弟学妹们口中的学长学姐,将我们自己的和学长学姐传给我们的经验,传给学弟学妹,让他们也能不要走那么多弯路。虽然我们希望学长学姐能够一直和我们在一起,但是想想看,即使他们毕业了,我们依然还和他们在同一个世界不是嘛,兴许啥时候在哪个地方就又见到了也说不定,谁知道呢。
好了好了又到了这一周的正片时间,这一周真是充分证实了 GitHub 上什么都有的观点,有数学#Awesome Math#,有暗黑破坏神#Devilution#,有世界杯#football-cli#,你甚至还能在这里看到用在 Steam 上的自动脚本#SalienCheat#。当然了实用的东西也依然不少,有神经网络计算框架#MACE#,移动应用开发工具#Flutter#,自然语言研究#NLP-progress#,JavaScript 解析器#terser#,后台管理模版#Material Dashboard#和内容管理系统#Canner#。想入门 React 的朋友们可以考虑看看 React 入门#React From Zero#了,这个教程不算难以理解,并且附带中文。
这么多好玩的开源项目可以玩,快快动手开始新的征程吧,也欢迎持续关注开源周报;如果你在学习的过程中遇到问题,欢迎加入我们的 QQ 群(开源工场新手群202790710)或者电报群 t.me/OpeningSourceOrg 一起讨论,学习 GitHub Trending 最新开源项目。
本周开源趋势流行开源项目榜中榜Top 10
0.Awesome Math
这是 Siraj Raval 在 Youtube 上的“如何快速学习数学”的课程
你可以在 github 上学 python ,学做面包,然后现在终于可以学数学了。这里面包括了集合论,数论,各种各样的代数,几何与拓扑等等……想要来复习高数的朋友们可能要失望了,这里面的知识应该不会让你在考试前突飞猛进的,回去看书吧。总而言之,如果你对数学有兴趣,来选取自己需要的方面看一看也不错。
1.MACE
Mobile AI Compute Engine (MACE) 是一个专为移动端异构计算平台优化的神经网络计算框架。 主要从以下的角度做了专门的优化:
1、性能:
代码经过NEON指令,OpenCL 以及 Hexagon HVX 专门优化,并且采用 Winograd 算法来进行卷积操作的加速。 此外,还对启动速度进行了专门的优化。
2、功耗:
支持芯片的功耗管理,例如 ARM 的 big.LITTLE 调度,以及高通 Adreno GPU 功耗选项。
3、系统响应:
支持自动拆解长时间的 OpenCL 计算任务,来保证UI渲染任务能够做到较好的抢占调度, 从而保证系统 UI 的相应和用户体验。
4、内存占用:
通过运用内存依赖分析技术,以及内存复用,减少内存的占用。另外,保持尽量少的外部 依赖,保证代码尺寸精简。
5、模型加密与保护:
模型保护是重要设计目标之一。支持将模型转换成 C++ 代码,以及关键常量字符混淆,增加逆向的难度。
6、硬件支持范围:
支持高通,联发科,以及松果等系列芯片的 CPU,GPU 与 DSP (目前仅支持 Hexagon )计算加速。 同时支持在具有 POSIX 接口的系统的 CPU 上运行。
支持的平台:
TensorFlow >=1.6.0
Caffe >=1.0
More Info:https://mace.readthedocs.io/en/latest/
2.React From Zero
这是一个关于 react 学习的项目,项目内容即从零开始学习 react。内容包括元素,JSX,嵌套,属性,集成等等知识。
react 是一个用得十分广泛的前端框架,所以,如果想要学习 react 的话,这个项目将是一个不错的选择。
3.Canner
通用 CMS 框架为 React JSX(类似于XML), Firebase, GraphQL, Restful API, Prisma 构建 CMS ,换句话说,是用于任何应用程序和数据源的不可知的 CMS 框架。
Canner 的优点
? 通用CMS框架
Canner 是非常灵活的,你可以学习一次并为许多数据库创建任何形式的 CMS。
⛄同时创建数据模型和UI设计。
在 JSX 中定义 Canner 模式时,您正在定义 CMS 如何将数据存储在数据库中,以及您的 CMS UI / UX 的外观应该如何。
?? 一个模式到任何数据库
使用不同的连接器,您可以创建一个 CMS,以与 Firebase,MySQL,PostgreSQL,GraphQL 以相同的模式进行交互。
? 易于维护和扩展
由于 Canner 模式只是一种没有任何逻辑代码的 JSX(类似于 XML 的)语言,换句话说,您可以将代码保存在配置文件中,并使用版本控制易于维护。
4.terser
terser 是一款适用于 ES6 +的 JavaScript 解析器,优化器。
目前,由于 uglify-es 不再维护,且 uglify-js 不支持ES6 +,在这种情况下,terser 就有了它的优势,terser 是 uglify-js 保留 API 并与 CLI 兼容的一种拓展。
terser 支持命令行,可以生成源映射文件,可使用 mangle 等等,对 JavaScript 有很大的帮助。
5.football-cli
你是否因为无法关注世界杯的赛事信息而苦恼?别方, football-cli 了解一下,按作者的意思:这个项目是 Command line interface for Hackers who love football ⚽ , 那么你能做用它什么呢?
- 查看之前赛事的比分或当前的实时比分
- 获得一个联盟或队伍之后或之前的赛事安排
- 获得一个特定联赛的排名
例如,我想看世界杯当前的排名,只需输入 football stndings –l WC 便会出现:
像这样从A组到H组的排名
注:使用该工具你可能要去football-data.org 获得API密钥来使你的访问限制从每天50次提到每分钟50次
6.NLP-progress
NLP-progress 是一个记录 NLP 有关的各个方面的研究的追踪目录。
NLP( Natural Language Processing )是“自然语言处理”的英文缩写,即关于如何设计程序让各种自然语言的含义能得到计算机的充分理解的研究。为了达到这个目的,又在其之下进行细分出了多个方面。而本项目旨在对其最新成果进行归纳与提供链接,为初入者和同行提供足够的信息。
目前已经摘录的内容列为目录包括:
CCG标签识别( CCG supertagging )
分块识别( Chunking )
选区分析( Constituency parsing )
相关决议( Coreference resolution )
依赖分析( Dependency parsing )
对话( Dialog)
作为一个 GitHub 上面的项目,它的时效性是值得信赖的,因此现在也有近四千的星数。如果你希望的话,也可以参与该项目的建设,建设者非常希望能够将其建设完善。
7.SalienCheat
一个用来在 Salien minigame 里实现自动战斗的脚本
使用:
第一步:
加入 https://steamcommunity.com/groups/SteamDB
然后打开https://steamcommunity.com/saliengame/gettoken并将其保存
使用 php:
windows :
首先下载脚本,然后解压缩,点击 cheat.bat 并按照说明操作
mac :
- 将此脚本的内容解压缩到Downloads文件夹
- 启动终端并运行脚本: php downloads/cheat.php
Linux :
- 安装 php-curl 并在 php.ini 中启用它
还可以使用 python,基于 ruby 的 Vargant 和 Docker
详情请见 github。
8.Material Dashboard
一个后台管理模版,这个东西是对应着材料套件 material-kit( https://www.creative-tim.com/product/material-kit )而产生的,配合着一起可以让网页变得更加美观并可以更换。目前支持的版本有
浏览器支持:
9.Devilution
HI,玩过暗黑破坏神吗,旁友们?
暗黑破坏神是暴雪玩家钟爱的一款游戏,它的最后一次更新是在2001年,而暴雪在几年前停止支持/销售它,作者接手了一个任务来解决这个问题。暗黑破坏神是他十几岁时被广泛玩的一款游戏;但随着时间的推移,在新硬件上运行游戏变得困难。游戏也缺乏新的可以在玩家中传播的内容。最理想的解决方案是将源代码现代化,倒退游戏版本,但听起来不大可能。
值得庆幸的是,1998年有一点小小的疏漏。暴雪把暗黑破坏神的源代码给了两个开发者:Synergestic Software(创建一个扩展)和Climax Studios(创建一个Playstation端口)。事实上,暗黑破坏神的完整源代码已泄露。日本方的某个端口上偶然留下了一个文件,其中包含游戏中所有内容的布局。包括功能,数据,类型等等!该端口的beta版本也泄露了,其中包含另一个这样的文件。
最重要的是,PC版的调试版本就包含在你的暗黑破坏神的光盘中!隐藏在DIABDAT.MPQ - > D1221A.MPQ - > DIABLO.EXE中。这个版本包含零售游戏中没有的调试工具,许多字符串提供了代码信息。将这些方面结合起来后,不仅游戏倒退变得更容易,而且更加准确。文件名称,函数名称,甚至行号都将与真实值相当接近。
经过四个月的努力,作者向我们展示了Devilution——让我们能够看到暗黑破坏神发生了哪些变化。
10.Flutter
Flutter 是一款适用于的移动应用程序软件开发工具包(SDK),它可以帮助开发和设计人员为 iOS 和 Android 构建移动应用程序。Flutter 可以帮助开发者轻松的构建UI界面,添加功能,修复错误,并且对于 iOS 和 Android 是都适用的。