《HelloGitHub》第 36 期
HelloGitHub 分享 GitHub 上有趣、入门级的开源项目,每月 28 号更新一期。这里有好玩和入门级的开源项目、开源书籍、实战项目、企业级项目,让你用极短的时间感受到开源的魅力,对开源产生兴趣。
一个专注于简单的开源跨平台编程语言。这门语言的设计目标是改进阅读与编写效率,降低语法负担。让使用者能够把真正的注意力放在解决问题上,只需极少的代码就能优雅地表达逻辑。中文手册,示例代码如下:
# export namespace \HelloWorld { System # import namespace } # package program -> { # main function Main() -> () { # list greetings := {"Hello", "Hola", "Bonjour", "Ciao", "こんにちは", "안녕하세요", "Cześć", "Olá", "Здравствуйте", "Chào bạn", "您好"} # for-each @ item <- greetings { # switch ? item -> [ 0 <= 8 ] { prt(item) # call function } _ { # lambda prt( greetings.filter( {it -> it.len> 4} ) ) <- @ } } } }
微软 Windows 系统预装的计算器工具开源了。该工具提供标准、科学、程序员计算器的功能,以及各种度量单位和货币之间的转换功能。实现语言为 C++ 代码并不复杂,快来看看微软工程师编写的代码吧!运行效果如下:
基于 Bootstrap 的 jQuery 表格插件,通过简单的设置就可以拥有强大的单选、多选、排序、分页、编辑、导出、过滤(扩展)等功能。示例代码:
<table data-toggle="table"> <thead> <tr> <th>Item ID</th> <th>Item Name</th> <th>Item Price</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Item 1</td> <td>$1</td> </tr> <tr> <td>2</td> <td>Item 2</td> <td>$2</td> </tr> </tbody> </table>
这里汇集了 CSS 的使用和学习的示例代码,展示不同 CSS 属性或者不同的课题使用 CSS 来解决的各种方法。在线阅读地址包含代码实际展示样式
一个高可用的分布式键值数据库,k8s 全家桶标配的注册与发现服务。它采用 raft 一致性算法,基于 Go 语言实现。可以通过该项目了解、学习 raft 的实际应用场景
# 使用 etcd 的客户端存取键值对 $ etcdctl put mykey "this is awesome" $ etcdctl get mykey
通过单元测试学习 Go 语言。下载仓库源码后,进入对应目录。每一个小文件夹就是一个对应的 Go 项目,在里面
go test
Go 语言的性能分析工具,可以用来调试 Go 程序的内存泄露、goroutine 泄露之类的问题。使用方法:
# 安装 $ go get -u github.com/google/pprof # 生成一个profile文件 $ pprof -top [你的golang程序二进制文件] profile.pb.gz # 生成火焰图 $ pprof -web [你的golang程序二进制文件] profile.pb.gz
图片压缩是常见的问题,那么微信是如何处理图像的压缩?Luban(鲁班)就是通过在微信朋友圈发送近 100 张不同分辨率的图片,对比原图与微信压缩后的图片逆向推算出来的压缩算法。示例代码:
// 同步调用 Flowable.just(photos) .observeOn(Schedulers.io()) .map(new Function<List<String>, List<File>>() { @Override public List<File> apply(@NonNull List<String> list) throws Exception { // 同步方法直接返回压缩后的文件 return Luban.with(MainActivity.this).load(list).get(); } }) .observeOn(AndroidSchedulers.mainThread()) .subscribe();
一款采用了新的搜索方法的搜索引擎软件。 它不需要中央服务器,但它搜索的结果来自于独立的分布式网络。在这样的分布式网络中,没有任何一个实体可以决定列出的内容或结果出现的顺序。启动和关闭的方法:
- GNU/Linux 系统,启动:、关闭:
./startYACY.sh
./stopYACY.sh
- Windows 系统,启动:双击、 关闭:双击
startYACY.bat
stopYACY.bat
- Mac OS X 系统,请使用 Mac 应用程序,并像其他 Mac 应用程序那样启动或停止它(双击)
让流式播放变得简单。无论你视频格式是
mp4
hls
// yarn add griffith import Player from 'griffith' const sources = { hd: { play_url: 'https://zhstatic.zhihu.com/cfe/griffith/zhihu2018_hd.mp4', }, sd: { play_url: 'https://zhstatic.zhihu.com/cfe/griffith/zhihu2018_sd.mp4', }, } render(<Player sources={sources} />)
只需要配置相关参数,便可方便生成表单的UI组件,自带校验规则满足日常 90% 的要求。表单是 Web 应用中常见的组件,但是开发表单是一个重体力活,ncform 通过配置便可生成表单,极大的提高了开发效率
这是一个可以让用户在 VS Code 编辑器中,练习 LeetCode 习题的插件。支持:查看高票解答、提交答案、测试答案等。提高了刷题效率,助你在校招、社招中杀出重围。上班摸鱼刷题利器
前端入门的图文教程,从 0-1 的过程。内容详细,对于新入行前端的同学有很多的帮助
该项目收集了各大网站登陆方式和部分网站的爬虫程序。登陆方式实现包含 selenium 登录、通过抓包直接模拟登录等。有助于新手研究、编写爬虫
一款只用几百行 Python 代码就可以轻易实现数据分析可视化的利器,是目前 Python 社区数据可视化主要的工具之一。具有:使用简单、易于扩展、开发团队活跃等特点
Python 在数据科学方面使用库的速查表,包含了 Pandas、Jupyter、SQL、Dask 等。虽然都是些基本的 API 调用,但是用来备忘和速查足以
基于 Python 开发的管理 git 工具,使用后可在任何目录下代理执行 git 指令。同时支持同时显示多个 repo 的状态信息、本地分支与远程分支的关系等
强大的静态博客网站生成工具。无需数据库,可以通过 Markdown 和 Config 轻松生成一个静态博客。该项目十分成熟、社区活跃、拥有多种主题可供选择。最后可以通过 GitHub Page 把生成的博客免费部署上线。快速开始:
1. 安装 jekll:gem install bundler jekyll 2. 创建项目:jekyll new my-awesome-site 3. 进入新创建的项目:cd my-awesome-site 4. 本地运行:bundle exec jekyll serve 5. 本地访问地址:http://localhost:4000
一个小型、原生的 iOS 网络调试工具。使用过程不需要配置证书、代理之类的东西。只需要 iOS 设备和 Mac 处于同一网络,就可以查看、监控 App 的网络流量等信息
“Bye Bye TPU”,4 个 GPU 就能训练“史上最强” BigGAN!只需 4-8 个 GPU 即可训练,摆脱了算力束缚
这个工具可以对图片和视频进行换脸。可以很方便地处理图片和视频,搞些有意思的事情
自从卷积神级网络面世以来,大部分人将其应用在规则的空间结构数据当中,比如图像。但是现实中存在更多的并不具备规则的空间结构的数据,因此研究人员提出了处理这部分数据的网络模型-GNN。该项目列举了 GNN 方面的论文,较为全面,适合有一定基础的人阅读
谷歌开发的一个流行的在线游戏,神经网络会猜测你在画什么。神经网络从每幅图画中学习,提高正确猜测涂鸦内容的能力。现在你可以基于这个仓库,用 Python 构建自己的 Quick Draw 游戏
本资源库旨在为以下领域提供三种有机完整的学习路径:机器学习、商业智能、云计算。在此你将能够了解相关原理并且在项目实践中予以运用。如果仔细遵循这些学习路径,则可以从零开始构建完整的认识和获得始终可用的技能。事实上,这些学习路径不需要之前有相关知识,但基础编程和简单数学是理解和实践大多数相关概念的必要条件
一组匹配中国大陆手机号码的正则表达式
优秀、实用的 Chrome 插件集合。该项目还包含插件的中文的使用介绍,为的是让好的插件被更多人发现和使用
该项目介绍了程序员如何挣零花钱的姿势
一些不错的英文资料、文章翻译项目
英文原版《Python Data Science Handbook》,该书对于希望或已经从事数据科学相关工作的 Python 工程师而言是重要的学习手册。在线阅读
- C# 项目
- C++ 项目
- CSS 项目
- Go 项目
- Java 项目
- JavaScript 项目
- Objective-C 项目
- PHP 项目
- Python 项目
- Ruby 项目
- Swift 项目
- 人工智能
- 其它
- 开源书籍