billfeller
billfeller
## Elasticsearch 查询协议:elasticsearch.js Elasticsearch Clients: https://www.elastic.co/guide/en/elasticsearch/client/index.html elasticsearch.js Client: https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/index.html elasticsearch.js NPM: https://www.npmjs.com/package/elasticsearch Support Feature: 1. One-to-one mapping with REST API 2. Configurable, automatic discovery of cluster nodes 3. Persistent, Keep-Alive...
1. dva: https://github.com/dvajs/dva 2. dva-cli: https://github.com/dvajs/dva-cli 3. React + Redux 最佳实践: https://github.com/sorrycc/blog/issues/1 4. React 应用框架在蚂蚁金服的实践: http://slides.com/sorrycc/dva#/
原文:https://semver.org/lang/zh-CN/ github: https://github.com/semver/semver [](#语义化版本-200)语义化版本 2.0.0 ========================= [](#摘要)摘要 --------- 版本格式:主版本号.次版本号.修订号,版本号递增规则如下: 1. 主版本号:当你做了不兼容的 API 修改, 2. 次版本号:当你做了向下兼容的功能性新增, 3. 修订号:当你做了向下兼容的问题修正。 先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。 [](#简介)简介 --------- 在软件管理的领域里存在着被称作“依赖地狱”的死亡之谷,系统规模越大,加入的套件越多,你就越有可能在未来的某一天发现自己已深陷绝望之中。 在依赖高的系统中发布新版本套件可能很快会成为恶梦。如果依赖关系过高,可能面临版本控制被锁死的风险(必须对每一个相依套件改版才能完成某次升级)。而如果依赖关系过于松散,又将无法避免版本的混乱(假设兼容于未来的多个版本已超出了合理数量)。当你专案的进展因为版本相依被锁死或版本混乱变得不够简便和可靠,就意味着你正处于依赖地狱之中。 作为这个问题的解决方案之一,我提议用一组简单的规则及条件来约束版本号的配置和增长。这些规则是根据(但不局限于)已经被各种封闭、开放源码软件所广泛使用的惯例所设计。为了让这套理论运作,你必须先有定义好的公共 API。这可以透过文件定义或代码强制要求来实现。无论如何,这套 API 的清楚明了是十分重要的。一旦你定义了公共 API,你就可以透过修改相应的版本号来向大家说明你的修改。考虑使用这样的版本号格式:X.Y.Z(主版本号.次版本号.修订号)修复问题但不影响 API 时,递增修订号;API 保持向下兼容的新增及修改时,递增次版本号;进行不向下兼容的修改时,递增主版本号。...
前端模块化开发那点历史: https://github.com/seajs/seajs/issues/588 AMD, CMD, CommonJS和UMD: https://segmentfault.com/a/1190000004873947 AMD (中文版): https://github.com/amdjs/amdjs-api/wiki/AMD-(%E4%B8%AD%E6%96%87%E7%89%88) 关于AMD,CMD,CommonJS及UMD规范: http://blog.gejiawen.com/2015/11/03/what-is-amd-cmd-commonjs-umd/ hat Is AMD, CommonJS, and UMD?: https://www.davidbcalhoun.com/2014/what-is-amd-commonjs-and-umd/ | 协议 | 实现 | | --- |:--:| | CommonJS | Node.js...
https://github.com/CntChen/cntchen.github.io/issues/15
 ### 一、需求背景 数据可视化是用图形图像等方式表达数据的技术,通过可视化技术让数据变动简单生动有趣。面对大数据深奥的面貌,如何才能让大数据集变得亲切和易于理解,可视化无疑是最有效的途径。 D3无疑是当今最流行的数据可视化工具之一。 ### 二、D3技术选型 D3是一个底层使用SVG、Canvas、HTML绘图技术,通过数据驱动文档的Javascript库。D3提供的API主要包括对文档的操作,处理多种数据格式的数据、为特定的可视化布局生成数据,以及提供丰富的交互和动画功能。通过接口,开发者无需关心底层实现、也不会因为封装程度过高而难以修改,所以,D3相对Processing等底层绘图库更简单,比Echarts更自由,是一个高度灵活轻量的Web可视化工具,且不依赖其他库。当然,是否使用D3还需要根据具体情况进行选择。 | 考虑因素 | 使用范围 | |----------|:-------------:| | 开源 | D3基于开源协议BSD-3-Clause,可免费用于商业项目,代码托管于Github上。截止2018.05.20,stars数已达75873次,有大量的用户使用实例 | | 兼容性 | D3 5+支持最新浏览器,比如 Chrome,Edge,Firefox 以及 Safari。D3 4+支持 IE 9...
pm2: https://www.npmjs.com/package/pm2 pm2: https://www.jianshu.com/p/7b10123c8b88 forever: https://www.npmjs.com/package/forever supervisor: https://www.npmjs.com/package/supervisor supervisor: http://www.cnblogs.com/pigtail/archive/2013/01/08/2851056.html
https://www.cnblogs.com/well1010/articles/baidu-map-node-canvas.html
### 实现说明 JS遍历数据有3中不同实现: 1. Loop: for 2. Map: array.prototype.map 3. forEach: array.prototype.forEach 示例:  source: https://jsperf.com/loop-vs-map-vs-foreach 可以看到,for 实现最快,map,forEach有一定的性能损耗;但是,map,forEach 代码较 for 简洁; ### map与forEach区别 首先看下MDN对于二者的定义: > The *map()* method creates a...
原理: puppeteer 本质是一个Headless Chrome,对于网页使用font指定字体时,和Chrome一致,需要系统安装携带对应字体才可以渲染。所以,对于一些Linux端网页渲染,需要安装对应中文字体。 安装步骤: 1. 在系统上安装对应字体: 比如,Linux: /usr/share/fonts 安装对应字体  2. 运行命令 fc-cache -f -v 刷新系统字体:  3. 通过 puppeteer 预览带指定字体的网页,验证即可。