# 《HelloGitHub》第 18 期 > 兴趣是最好的老师,**HelloGitHub** 让你对开源感兴趣!

## 目录 点击右上角的 **「目录」** 图标打开目录,获得更好的阅读体验。 ![](https://raw.githubusercontent.com/521xueweihan/img_logo/master/logo/catalog.png) **Tips**:如果遇到图片刷不出来的情况,[点击](https://hellogithub.com/periodical/volume/18) 换一种浏览方式。


关注「HelloGitHub」公众号,第一时间收到推送

## 内容 > **以下为本期内容**|每月 **28** 号更新 ### C 项目 1、[db_tutorial](https://hellogithub.com/periodical/statistics/click?target=https://github.com/cstack/db_tutorial):用 C 从零创建一个简单的数据库 ### CSS 项目 2、[materialize](https://hellogithub.com/periodical/statistics/click?target=https://github.com/Dogfalo/materialize):基于 Material Design 的现代响应式前端框架,简化了前端的开发,文档丰富。[官网](http://materializecss.com/) ### Go 项目 3、[echo](https://hellogithub.com/periodical/statistics/click?target=https://github.com/labstack/echo):Go 语言最受欢迎的 Web 框架之一,具有:高性能、便于扩展、轻量的特点,示例代码: ```go package main import "github.com/labstack/echo" func main() { e := echo.New() e.GET("/", callback) e.Logger.Fatal(e.Start(":3000")) } func callback(ctx echo.Context) error { return ctx.HTML(200, "

你好 echo

") } ```

4、[tidb](https://hellogithub.com/periodical/statistics/click?target=https://github.com/pingcap/tidb):开源分布式 NewSQL 数据库,能优雅的替换传统的数据库中间件、数据库分库分表等 Sharding 方案。具备如下核心特性: - SQL支持 (TiDB 是 MySQL 兼容的) - 水平线性弹性扩展 - 分布式事务 - 跨数据中心数据强一致性保证 - 故障自恢复的高可用

### Java 项目 5、[AndroidTVLauncher](https://hellogithub.com/periodical/statistics/click?target=https://github.com/JackyAndroid/AndroidTVLauncher):一个 TV Leanback 风格桌面,基于 Leanback 库开发,符合 Android TV 官方交互规范

6、[spring-data-jpa-datatables](https://hellogithub.com/periodical/statistics/click?target=https://github.com/darrachequesne/spring-data-jpa-datatables):spring-data-jpa 和 jQuery [datatables](https://www.datatables.net/) 集成工具。极大简化基于 datatables 数据表格的开发,示例代码: ``` // 前端代码 $(document).ready(function() { var table = $('table#sample').DataTable({ 'ajax': { 'contentType': 'application/json', 'url': '/data/users', 'type': 'POST', 'data': function(d) { return JSON.stringify(d); } }, // java 代码 server-side becomes @JsonView(DataTablesOutput.View.class) @RequestMapping(value = "/data/users", method = RequestMethod.POST) public DataTablesOutput getUsers(@Valid @RequestBody DataTablesInput input) { return userRepository.findAll(input); } ```

7、[xxl-job](https://hellogithub.com/periodical/statistics/click?target=https://github.com/xuxueli/xxl-job):轻量级分布式任务调度框架,其核心设计目标是:开发迅速、学习简单、轻量级、易扩展,文档齐全。[官网](http://www.xuxueli.com/xxl-job/) ### JavaScript 项目 8、[flatpickr](https://hellogithub.com/periodical/statistics/click?target=https://github.com/flatpickr/flatpickr):扁平化的日期选择组件,项目源码使用 TypeScript 编写,可以学习使用 Typescript 编写 JS 插件,Typescript 语言的好处是:可以在多人协作中避免一些变量类型错误的问题,从而提高效率。使用示例代码: ```javascript // ConnonJS 方式引入 const flatpickr = require("flatpickr"); flatpickr("#myID", {}); flatpickr(".myClass", {}); // jQuery 方式引入 $(".selector").flatpickr(optional_config); ```

9、[puppeteer](https://hellogithub.com/periodical/statistics/click?target=https://github.com/puppeteer/puppeteer):Google Chrome 团队开源的面向 Node.js 的,基于 DevTools 协议的远程 Headless Chrome 控制库,它可以生成网页截图、PDF、抓取单页应用与网页内容、进行自动化表单提交、界面测试与模拟键盘输入等功能。示例代码如下: ```javascript // 访问 https://example.com 并将截图保存为 example.png const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto('https://example.com'); await page.screenshot({path: 'example.png'}); await browser.close(); })(); ```

10、[SelectPage](https://hellogithub.com/periodical/statistics/click?target=https://github.com/TerryZ/SelectPage):简洁优雅而功能强大的选择器,使用简单,适应各种UI环境,功能强大,丰富的参数和回调函数 。它包含了 autocomplete、ajax 数据源、多选择 Tag、i18n 国际化,结果列表分页展示,键盘快捷操作等 ```javascript //defined a array, the data returned at the server side is also used that format: //Array[{Object},{...}] var data = [ {id:1 ,name:'Chicago Bulls',desc:'芝加哥公牛'}, {id:2 ,name:'Cleveland Cavaliers',desc:'克里夫兰骑士'}, {id:3 ,name:'Detroit Pistons',desc:'底特律活塞'}, {id:4 ,name:'Indiana Pacers',desc:'印第安纳步行者'} ]; //init SelectPage $('#selectpage').selectPage({ showField : 'desc', keyField : 'id', data : data }); ```

11、[vue-3d-model](https://hellogithub.com/periodical/statistics/click?target=https://github.com/hujiulong/vue-3d-model):展示三维模型的 Vue 组件,支持模型操作和模型点击事件,能自动缩放模型到合适大小并校正偏移,目前支持 obj、stl、dae 和 json 格式的模型,示例代码: ```vue ```

12、[weweChat](https://hellogithub.com/periodical/statistics/click?target=https://github.com/trazyn/weweChat):微信的第三方客户端。在完整实现 Web 微信功能的基础上,新增并优化部分功能,重设计整体 UI,提供更好的体验。Mac 安装命令:`brew cask install wewechat`

### Python 项目 13、[faker](https://hellogithub.com/periodical/statistics/click?target=https://github.com/joke2k/faker):用于生成假数据的库,支持多种语言,你值得拥有。示例代码: ```python fake.address() # '辽宁省雪市静安廉街b座 998259' fake.street_address() # '巢湖街U座' fake.building_number() # 'x座' fake.city_suffix() # '市' fake.latitude() # Decimal('-0.295126') fake.province() # '湖北省' ``` 14、[newspaper](https://hellogithub.com/periodical/statistics/click?target=https://github.com/codelucas/newspaper):强大的提取 Web 的内容、文章的库,支持多种语言,安装命令 `pip3 install newspaper3k`。示例代码: ```python >>> from newspaper import Article >>> url = 'http://fox13now.com/2013/12/30/new-year-new-laws-obamacare-pot-guns-and-drones/' >>> article = Article(url) >>> article.download() >>> article.html ' 『上一期』 | 反馈和建议 | 『下一期』

---

👉 来!推荐开源项目 👈
微信中搜:HelloGitHub 关注公众号
不仅能第一时间收到推送,还有回馈粉丝的活动
如果文中的图刷不出来,可以点击 这里

## 赞助

UCloud
超值的GPU云服务

CDN
开启全网加速

OpenIM
开源IM力争No.1

七牛云
百万 Token 免费体验
## 声明 知识共享许可协议
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。