2017年9月1日星期五

一周文章精选 2017 09 01


2017 年 8 月:15 个有趣的 JS 和 CSS 库


Linuxeden 开源社区 --

炎热的 7 月已经过去,秋天的脚步更近了。在本月,Tutorialzine 依旧为大家带来了一些有趣、实用的前端库,看看有哪些适合你的项目呢?


1.Titanic

这是一组自带悬停动画的精致 SVG 图标。但与大多数 Web 图标不同之处在于 – 它的动画是基于 JS 的,需要你使用 bodymovin 库将动画效果导出为 SVG 格式。

项目地址:【传送门】

2.Rebass

Rebass 是一个用于构建响应式 Web APP 的 React UI Kit。它由超过 60 种样式组件构成,可通过 样式体系 中的属性进行自由定制。这样可以保证样式的隔离,便可减少在应用程序中编写自定义 CSS 的需求。

项目地址:【传送门】

3.Bootstrap 4 (Beta)

Bootstrap 4 的官方 Beta 版已经正式发布了!新版本的框架也发生了许多重大的改变,包括支持了基于 Flexbox 的网格体系,新增并重写了相关组件,更快的 ES6 JavaScript 插件,改进了文档等等。

项目地址:【传送门】

4.Hover Buttons

这是一组带有悬停动画效果的 HTML 按钮,这些按钮不仅拥有不同的形状与大小,而且具备了丰富的动画效果供你选择。Hover Buttons 是由 SCSS 制作的,所以你可以轻松的删除不想要的按钮,或根据个人喜好自由的定制其样式。

项目地址:【传送门】

5.React Simple Maps

React Simple Maps 是一个用于创建 SVG 地图的组件库,它具备添加地图细节的各类组件,它们可为地图的各个区域添加文字注释、标记以及自定义颜色。

项目地址:【传送门】

6.Gpu.js

Gpu.js 是一个用于在浏览器中运行 GPGPU 的 JS 库,它将 JavaScript 编译成能够通过 WebGL API 在 GPU 上运行的着色语言,以便更快地执行复杂的计算。如果 WebGL 不可用,则这些函数仍将以常规的 JavaScript 运行。

项目地址:【传送门】

7.Pell

Pell 是一款超轻量的 WYSIWYG 文本编辑器。它由仅 200 行的 ES6 代码所构成,只有 1kB 的大小,并且没有任何的依赖关系。同时,它还支持 Markdown 文本格式所需的所有操作,包括插入图像和链接。

项目地址:【传送门】

8.Chromeless

Chromeless 是一个基于 Chrome 平台 Headless 模式 的 Web 自动化框架。它的 API 和功能与其他流行工具(如 PhantomJS 和 NightmareJS)非常相似,主要区别是它在 Chrome 的 Headless 模式下可以运行所有的测试。同时,它还可以在本地或借助 AWS Lambda 工作。

项目地址:【传送门】

9.Fitty

Fitty 是一个 Vanilla JavaScript 库,它可以更改文本的字体大小,使其适应固定宽度的容器。它适用于所有标准的 Web 字体,并且可以“向上”或“向下”缩放其大小,以便让它们更好的占据可用空间,而无须换行。

项目地址:【传送门】

10.Notif.me

这是一个用于发送通知的 Node.js 库,旨在成为一个处理电子邮件、短信和推送通知的一体化解决方案。另外,每个服务都有多个提供商可供你选择。

项目地址:【传送门】

11.Shoelace

Shoelace 是一个炒鸡轻量的 CSS 入门套件,旨在为 Bootstrap 提供一个更简单的替代方案。它由 CSS reset 与一些实用的 UI 组件构成,没有过多的样式和功能。由于这个库的代码是基于 CSS 变量的,所以也易于定制。

项目地址:【传送门】

12.TensorFire

TensorFire 是一个能够在浏览器中运行神经网络的框架。由于 TensorFire 可通过 WebGL 进行 GPU 加速,所以运行较大的机器学习模型也不是事儿。虽然,该项目还处于早期阶段,但也有了一些十分有前景的演示。例如 剪刀包袱锤手势检测 Demo

项目地址:【传送门】

13.Vali

这是利用 Bootstrap、PugJS、Sass 构建的后台信息管理模板。由于该项目是基于易于定制的理念而设计,所以,所有的样式都是由独立的 SASS 模块进行组织。同时,该模版还提供了丰富的组件与小部件,你可以在 Demo 中查看它们。

项目地址:【传送门】

14.BotUI

BotUI 是用于建立聊天机器人会话界面的 JavaScript 框架。它有一个超简单的 API,你可以通过添加消息、问题,甚至形成供用户填写的输入字段来配置对话流。

如果你想了解有关交互式会话 UI 的更多信息,请参阅我们的文章 《聊天机器人之开发者简介》。

项目地址:【传送门】

15.Nano ID

这是一个用于生成唯一 ID 的小型 JavaScript 库。它仅使用对 URL 友好的符号来生成字符串,但它也有一个让你提供相应字母表的选项。在 GitHub 的项目页上,你可以找到关于此库的工作方式,以及使用算法的一些有趣信息。

项目地址:【传送门】


感谢你的阅读。若你有所收获,欢迎点赞与分享。

注:

  1. 本文版权归原作者所有,仅用于学习与交流;
  2. 如需转载译文,烦请按下方注明出处信息,谢谢!

英文原文:15 Interesting JavaScript and CSS Libraries for August 2017
作者:Danny Markov
译者:IT 程序狮
译文地址:http://ift.tt/2iMYRyl

作者:IT 程序狮
链接:http://ift.tt/2iMYRyl
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

The post 2017 年 8 月:15 个有趣的 JS 和 CSS 库 appeared first on Linuxeden开源社区.

http://ift.tt/2woPx8M

树形结构数据存储方案(三):闭包表


Linuxeden 开源社区 --tree

将 Closure Table 翻译成闭包表不知道是否合适,闭包表的思路和 物化路径 差不多,都是空间换时间,Closure Table,一种更为彻底的全路径结构,分别记录路径上相关结点的全展开形式。能明晰任意两结点关系而无须多余查询,级联删除和结点移动也很方便。但是它的存储开销会大一些,除了表示结点的 Meta 信息,还需要一张专用的关系表。

以下图举例数据举例:

tree

创建主表:

创建关系表:

其中

  • Ancestor 代表祖先节点
  • Descendant 代表后代节点
  • Distance 祖先距离后代的距离

添加数据(创建存储过程)

完成后 2 张表的数据大致是这样的:(注意:每个节点都有一条到其本身的记录。)

Closure-Table-1

Closure-Table-2

查询 Fruit 下所有的子节点:

查询 Fruit 下直属子节点:

查询 Fruit 所处的层级:

另外要删除节点也非常的简单,这里就不再做过多的阐述。

参考链接:

  • http://ift.tt/1zLTnRe
  • 转自 http://ift.tt/2gsi4Vu

The post 树形结构数据存储方案(三):闭包表 appeared first on Linuxeden开源社区.

http://ift.tt/2vxB5MM

layui-2.1.1 版本更新


Linuxeden 开源社区 --

2.1.1

2017-09-01

每一次用心地升级,都绝非是在讨好满腹牢骚的吃瓜群众。我们所有的努力,为的是不负有心之人。子曰:以直报怨,以德报德。

  • 功能新增

    • [layDate] 对 mark 参数增加 0-0-date 支持,以标记每月的某天 #见文档
    • [table] 新增 initSort 参数,用于初始设置排序字段与状态 #见文档
  • 完善与优化

    • [layDate] 如果设置了 value,则默认给被绑定的元素(如 input)赋值
  • Bug Fixes

    • [layDate] 修复年列表的 disabled 小问题
    • [layPage] 修复在某些情况下,选择不同每页条数时,分页结构存在的小问题
    • [table] 修复 table sort 事件在执行 table.reload() 死循环的问题
    • [table] 修复多级表头开启复选框或设置左右固定列时的主体与表头未对齐问题
    • [upload] 修复多文件模式下,设置 size,出现重复请求的问题

转自 http://ift.tt/2wXR47b

The post layui-2.1.1 版本更新 appeared first on Linuxeden开源社区.

http://ift.tt/2xCQGZ3

gRPC 1.6.0 发布,Google 高性能 RPC 框架


Linuxeden 开源社区 --gRPC
gRPC

gRPC 1.6.0 发布,gRPC 是一个高性能、开源、通用的 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。 gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。

C-core

C++:

  • cmake is now the recommended way to build on Windows. Pre-generated Visual Studio projects have been deprecated #11462

Python:

  • Bug fixes

Ruby:

  • Improved error handling for bidi streaming RPCs

PHP:

  • Added support for php_namespace option in codegen plugin #11886

更多内容请查看 发布说明 。

下载地址:

转自 http://ift.tt/2wtaePe

The post gRPC 1.6.0 发布,Google 高性能 RPC 框架 appeared first on Linuxeden开源社区.

http://ift.tt/2ev48cw

LOG4J 2.9.0 发布,Java 日志组件


Linuxeden 开源社区 --LOG4J
LOG4J

LOG4J 2.9.0 发布了。Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI 组件、甚至是套接口服务 器、NT 的事件记录器、UNIX Syslog 守护进程等; 我们也可以控制每一条日志的输出格式; 通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就 是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

更新内容:

  • LOG4J2-2008: Support printing multiple StructuredData elements in RFC5424Layout.
  • LOG4J2-1986: Public API for parsing the output from JsonLayout/XmlLayout/YamlLayout into a LogEvent.
  • LOG4J2-1981: JsonLayout, XmlLayout and YamlLayout support 0-byte termination of log events.
  • LOG4J2-1864: Support capped collections for MongoDb appender. Thanks to Matthias Kappeller.
  • LOG4J2-1813: Log4j2 will now print all internal logging to the console if system property log4j2.debug is defined with any value (or no value).

详细内容请参见 发布说明 。

下载地址:

转自 http://ift.tt/2evbf55

The post LOG4J 2.9.0 发布,Java 日志组件 appeared first on Linuxeden开源社区.

http://ift.tt/2goSsoL

RMS:时代需要的自由捍卫者


Linuxeden 开源社区 --GNU
GNU
Yourstory 发表了自由软件基金会主席和 GNU 项目的创始人 Richard Stallman(RMS)的一篇 长篇特稿 ,介绍了他的生平、哲学理念和发起的自由软件运动。RMS 将他的自由软件运动与圣雄甘地在印度发起的自由运动进行对比。他说,印度存在一个驯服部分人民的制度,而这个制度的一部分是购买英国的衣服,甘地领导人民仅仅是拒绝英国的衣服制造自己的衣服,甘地基本上是在说,我们不需要为了你们的衣服而放弃对独立的要求。GNU 项目与之类似,有许多企业在向我们提供私有软件,而这些软件会拿走我们的自由,GNU 项目所做的就是告诉这些企业,我们不需要为了你们的软件而放弃我们的自由,我们将制造自己的软件然后使用它。RMS 曾在 1993 年访问印度试图说服印度不要加入世贸组织,因为印度以前的专利法不给药物而是给药物的制造方法授予专利,而美国的专利法则将专利授予了药物。但印度仍然加入了世贸组织并采用了美国的专利制度。
转自 http://ift.tt/2wXteZa

The post RMS:时代需要的自由捍卫者 appeared first on Linuxeden开源社区.

http://ift.tt/2wp8sjN