马上就要2018年了,程序员的一年将要 end,在 new 一个 year 之前,即将和2017告别之际,开源周报迎来了它的第1期。感谢老朋友的建议和新朋友的支持,祝大家新年快乐。

其实这一期的开源项目榜仍然是一周的 trending 指标项目,不过 GitHub Trending 没有一年的 trending,只有 day, week, month 这三个步长,在2017年最后一周的特别时刻,我们就把末周的 trending 姑且起名字叫作“丁酉年开源项目叱咤风云榜“了,作为2017年丁酉年的收尾 trending。

常听港乐的朋友一定听说过香港商业电台”叱咤音乐流行榜“,张国荣、张学友、陈奕迅、方大同都拿过这个大奖,是华语乐坛的顶级大奖,这一期开源周报,就当跟这个流行榜致敬吧。

/*
 * 谁能来帮我写写导语和推文啊
 * 我每次都写到要窒息了
 * 也写不出几个字
 * 还是祝大家新年快乐
 */

本周开源趋势 Top 10

1.danilowoz / react-content-loader

简介:

这是基于 React 框架的React 组件,它使用SVG创建一个模拟加载内容前端界面。这类似于 Facebook 推出的个性化名片服务 Facebook Cards 的加载器。

应用框架:

特点:

  • 界面可以自定义不同风格,简洁干净明了。

如:Facebook风格

  • 使用较为简单,使用者只需要使用简单代码实时编辑。

开始你的在线编辑

安装:

Using npm:

npm i react-content-loader --save

Using Yarn:

yarn add react-content-loader --save

自定义使用实例:

 // import the component
     import ContentLoader, { Rect, Circle } from 'react-content-loader'
       const MyLoader = () => {
           return (
             <ContentLoader
                 height={140} 
                  speed={1} 
                   primaryColor={'#333'}                                                          secondaryColor={'#999'}  >
                  <Circle x={195} y={30} radius={30} />
                  <Rect x={50} y={80} height={10} radius={5}  width={300} />
                  <Rect x={75} y={100} height={10} radius={5} width={250} />
                  </ContentLoader>
                 )
               }

example:

2.yhaolpz/FloatWindow

FloatWindow 安卓任意界面悬浮窗

特性:

1.支持拖动,提供自动贴边等动画

2.内部自动进行权限申请操作

3.可自由指定要显示悬浮窗的界面

4.应用退到后台时,悬浮窗会自动隐藏

5.位置不可变的悬浮窗无需权限申请

6.位置及宽高可设置百分比值,轻松适配各分辨率

7.链式调用,简洁清爽

3. zhoubear/open-paperless

为你所有的文档提供扫描,索引,存档等各种服务

简介:

Mayan EDMS 是个管理文档的好帮手,它提供了相当多的功能,但同时这些功能的数量多到让普通人难以下手,这就是 open-paperless 出场的时候了。

open-paperless 的目的就是简化 Mayan EDMS 从而让普通人也能简便的使用它,换句话说,open-paperless是 Mayan EDMS 的轻量版。

在未来,open-paperless还将会为 Windows 和 Mac 的用户提供虚拟机镜像,移动端的应用也在开发中,使得其应用范围更加广泛。

4.Deniskolodin/yew

Yew是一个使用Rust制作Elm / React / Angular客户端Web应用程序的框架,这个框架适合那些想要在任何地方使用Rust的人,甚至可以在浏览器中编写UI,其创意来自Elm和React JS。

下面是由Elm启发而来的清除MVC的方法

struct Model { }

enum Msg {
    DoIt,
}
fn update(_: &mut Context<Msg>, model: &mut Model, msg: Msg) {
    match msg {
        Msg::DoIt => {
            // Update your model on events
        }
    }
}

fn view(model: &Model) -> html::Html<Msg> {
    html! {
        // Render your model here
        <button onclick=|_| Msg::DoIt,>{ "Click me!" }</button>
    }
}

除此之外,作者还实现了:
~在HTML中写纯rust代码
~类似JSX的模板(带有标准的单行或多行注释)
~允许调用外部API
等等~

同时作者提供了四个例子,你只要安装cargo-web以及Rust 编译器就可以跑例子啦。
在此附上对该框架进行讨论的连接

5.guardianproject/haven

是否还在为找不到有效的保护私人信息的方法而苦恼?是否还在苦苦寻求保护私人空间和信息的方法?现在,不用再苦恼了。Haven将会是一个绝佳的选择!

Haven 是一款Android应用程序,能为那些需要一种方法来保护自己的个人空间和财产,而不损害自己的隐私的人提供的应用。

Haven利用设备上的传感器来提供对物理空间的监视和保护。避风港把任何Android手机变成运动,声音,振动和光检测器,注意意外的客人和不必要的入侵者。并且只在运动或音量触发时才保存图像和声音,并将所有内容存储在设备上。您可以放置​​设备的摄像头以捕捉可见的动作,或将手机放置在某个谨慎的地方,只听声音。立即获取入侵事件的安全通知,并在以后远程或随时访问日志。

监测下列传感器的可测量变化,然后记录到设备上的事件日志中:

  • 加速度计:手机的运动和振动
  • 相机:从前置或后置摄像头移动到手机可见的环境中
  • 麦克风:环境中的噪音
  • 灯光:来自环境光线传感器的光线变化
  • 电源:检测到设备被拔出或掉电

当其中一个传感器被触发(达到配置的灵敏度阈值)时,将通过以下通道发送通知(如果启用):

  • 短信:当监控开始时,一条消息被发送到指定的号码
  • 信号:如果配置,可以通过信号发送端到端的加密通知

相关链接:

Haven 的完整演示文稿: Haven App Overview

安装F-Droid链接:install F-Droid

从GitHub处获取链接:GitHub releases page

 

6.gaojiuli/toapi

Toapi是一个能够为任何网站添加api服务的python项目,通过我们所添加的api,我们可以轻松的获取我们的想要的信息,功能类似与爬虫。相比于其他的爬虫,它最大的特点就是可以自动实时更新

工作流程:

1.使用相同的url向源web站点发送一个请求

2.获取从缓存和存储获取的大部分数据

3.当缓存过期时,从存储中获取HTML

4.当存储过期时,从源站点获取HTML

toapi的特点:

toapi使用缓存来防止重复解析网站并运用储存防止重复发送请求

  1. toapi可以同时收集多个页面的信息
  2. 通过toapi创建的api可以共享给其他人
  3. 由于toapi是由flask框架构建的,所以它有很大的拓展空间,易于更新
  4. toapi构建的api可以自动判断自身的状态,我们可以随时调用它们

官方文档

7. ubisoftnc/massgate

原本是游戏《冲突世界》的网络服务,但在2016年停止了服务,该项目意在为那些想要继续联机游玩《冲突世界》的人提供搭建自己的服务器的方法。主要依靠MySQL实现。但要注意的是它是通过4.2.1版本的MySQL搭建的,在新版本上无法保证完美运行,并且它是32位的

8.fireworq/fireworq: Go

这是一个轻量级的、高性能的建立于RDBMS(MySQL)的排队系统,它可以兼容所有支持http协议的语言。同时也有着以下的特性:

1.可用性:它支持主/备份节点

2.可扩展性:它总是以每一个队列一个控制分发器的形式工作,可以同时通过HTTP分配工作给‘工人’

3.灵活性: 多个队列——你可以定义多个队列并使用它们,延迟工作——为每个工作,您可以指定一个延迟,工作错误——你可以为每个工作指定重试的最大数量

4.可维护性: 它可以在一个Web UI上管理

9.tipsy / github-profile-summary

一个小工具,让开发者可以可视化地配置文件并查看项目中使用的每种语言的star数与其提交数

 

如果没有token,访问储存这些数据的服务器的频率将被限制在50次每小时。可以通过readme中的链接去取得token,貌似还可以为同一项目/用户申请多个token来继续拓宽访问频率。

可能存在一定的不准确(在提交频率的统计方面,issue上有人提问),除此之外没有大碍。是一个十分实用的统计与辅助编辑的小工具。

好了,到这里,本期开源周报就结束了,GitHub Trending 丁酉年叱咤开源项目风云榜,Top 10 流行开源项目,最后祝大家新年快乐,百尺竿头更进一步,Happy New Year!