cube.js 最近的一些更新】的更多相关文章

cube.js 是一个和不错的数据分析框架,最近又有了一些新的功能支持,以下是一些简单的 总结 基于web socket 的预览支持 react hooks api 支持 支持基于reecharts 图表类型的api开发 cube.js server 支持https External pre-aggregations 支持 originalSql 的预聚合处理 对于mysql 以及postgres External pre-aggregations 的性能 提升 cube.js 模版支持 ,很方…
有一段时间没有关注cube.js 了,刚好晚上收到一封来自官方的更新介绍,这里简单说明下 更多的数据驱动支持 bigquey, clickhouse snowflake,presto (很棒),hive,oracle 支持的完整列表在docs 开发这的playground 有了很多的提升,可以查看查询的json 数据了 基于数据库以及schema 级别的多租户方式支持,我们可以连接多个数据库了 rollups 有了很大的提升,可以在外部数据库创建了, 动态schema 生成更加灵活了 同时官方发…
Hello Google Node.js 一个基于Google V8 的JavaScript引擎. 一个伟大的端至端语言,或许我对你的热爱源自于web这门极富情感的技术吧! 注: 光阴似水,人生若梦,又是人间年尾.许久未说过如此矫情而生硬的话- - 如此篇幅实在无法写明白我扭曲的心理,2017望我还能继续迈进! 喜庆的话不多说,今天给大家分享一个大致3周前,初次涉足Node.js实现的nw.js桌面程序的自动更新模块吧. 本文不做教学,仅用于打脸!希望以此得到各位大神的帮助. 我本没有打算写如此…
作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson20 转载请注明出处,保留原文链接和作者信息. 从之前的章节我们了解到,组件的挂载指的是将组件渲染并且构造 DOM 元素然后插入页面的过程.这是一个从无到有的过程,React.js 提供一些生命周期函数可以给我们在这个过程中做一些操作. 除了挂载阶段,还有一种“更新阶段”.说白了就是 setState 导致 React.js 重新渲染组件并且把组件的变化应用到 DOM 元素上的过程,这是一个…
cube.js 是一款很不错的模块化web 应用分析框架.cube.js 的设计主要是面向serverless 服务, 但是同时也支持所有rdbms, cube.js不是一个单体应用,包含了以下部分: backend cube.js scheme 类似ORM ,方便数据模型的分析 cube.js query Orchestration 以及cache 优化查询的执行 cube.js api gateway 提供长轮询的api ,方便分析 frontend javascrript clinet 提…
cube.js 对于presto 的支持是通过presto-client 刚好简单修改了一个可以支持presto-gateway 连接的 以下是一个简单的集成,以及关于集成中原有的一些修改 环境准备 docker-compose 文件 version: "3" services: proxy: image: dalongrong/presto-gateway:1.6.1 ports: - "8888:8888" - "8082:8082" - &…
今天有写过一个简单的cube.js 集成cratedb 的说明,主要是在driver 上的兼容问题,处理方法是删除不兼容的代码 实际上我们也可以通过类似linux c 开发中的patch 方式解决,简化手工干预 生成patch 文件 安装npm 依赖   yarn 生成patch 重命名原有的文件(进入npm 包目录) cp PostgresDriver.js PostgresDriver-origin.js 修改PostgresDriver.js ,删除不兼容的部分: 生成patch diff…
cratedb 提供了pg协议的兼容,我们可以直接使用pg client 连接,但是也不是完整实现pg 协议的 以下是 cube.js 集成cratedb 的一些尝试 环境准备 docker-compose 文件 主要是数据库环境的   version: "3" services: db: image: crate ports: - "5432:5432" - "4200:4200" cube.js pg 项目创建 cubejs create -…
cube.js 新的版本添加了更多的数据库的支持,但是目前cubejs-cli 以及官方文档问题还挺多,使用不清晰,文档有明显的错误 以下演示presto 数据库的使用 环境准备 安装新版本的cubejs-cli   npm install -g cubejs-cli 初始化一个项目 此处有问题,当前cli 还不支持dbtype 为presto 的格式,解决方法,使用可以生成的dbtype,然后修改配置 初始化项目 cubejs create -d postgres mypresto 修改配置…
cube.js 对于mongodb 的连接是通过mongodb bi connector(mysql 协议)处理的,以下为简单的试用 安装mongo bi connector 这个玩意用docker 跑起来有点烦,直接试用本地运行,后期制作一个docker 镜像 下载地址 参考地址 https://www.mongodb.com/download-center/bi-connector/releases 简单配置 默认安装包已经内置了一个配置文件,我们只需要简单修改下就可以使用了,注意schem…
cube.js 官方为我们也提供了backeng 部署的模型,为了测试方便以下是一个使用docker-compose 运行的demo 项目是一个集成gitbase 的demo,实际可以按照自己的项目修改,同时集成了redis cache,gitbase-web 环境准备 项目结构 ├── README.md ├── cube │ ├── Dockerfile │ ├── index.js │ ├── package.json │ └── schema │ ├── Blobs.js │ ├── C…
cube.js 进行数据分析,需要我们编写schema 文件,但是因为gitbase 的原因没发进行自动生成,而且还有些问题 所以做了一些简单的修改 注意直接使用cube-cli 0.9.0 可以自动帮助我们生成大部分schema 还是很方便的 参考项目 https://github.com/rongfengliang/gitbase-cube.js-schema 几个问题 primary key 问题 默认gitbase 生成的table 没有包含主键,处理方法就是自己添加,目前可以使用仓库i…
这个是一个简单的demo,使用gitbase+cube 分析git 仓库代码 需求 我们平时使用的gitlab,或者gogs 等git 仓库管理工具,有自己的管理强项,但是对于分析上可能就不是那么强大了 这个就需要我们进行git 代码文件级别的分析了,可选的工具很多gitstats 就是一个不错的选择,但是大部分是基于 单仓库管理的,gitbase 则不同,给予我们提供了大批量的分析能力 环境准备 gitbase 安装 参考官方文档,直接二进制文件就可以了 cube.js 这个我们可以通过全局安…
尽管cube.js 包含了一个doc 站点,但是资料不是很全,同时如果查看了cube github 代码中的一些demo的话,发现还是很不错的 但是一些实践没有在文档展现出来,还好我们可以从cube 的产品网站找点有意义的东西 参考网站 https://statsbot.co/docs 比如一些好的实践 动态union table 的 https://statsbot.co/docs/dynamically-union-tables 如何处理子查询的 https://statsbot.co/do…
转自:https://cube.dev/blog/high-performance-data-analytics-with-cubejs-pre-aggregations/ 可以了解 Pre-Aggregations的处理流程 This is an advanced tutorial. If you are just getting started with Cube.js, I recommend checking this tutorial first and then coming bac…
cube.js 从设计上就进行了系统上的分层,backend,frontend,backend 是cube.js 的核心 对于cube.js backend 的部署官方也提供了好多中方法 部署模型 serverless 目前主要是aws的应用场景 heroku 基于heroku 提供的pg 以及应用部署能力 docker 部署,单机.同时基于环境变量的配置 docker-compose 全家桶的方式,集成pg.redis,以及nodejs 运行时环境 kubernetes 的集成,实际上这个就很…
  cube.js 对于measure以及dimension 提供了丰富的数据类型,基本满足我们常见应用的开发,同时对于不同类型也提供了 格式化的操作 measure类型 number 格式 purchasesRatio: { sql: `${purchases} / ${count} * 100.0`, type: `number`, format: `percent` } count 格式 numerOfUsers: { type: `count`, // optional drillMem…
  cube.js 也支持join, 参考格式 joins: { TargetCubeName: { relationship: `belongsTo` || `hasMany` || `hasOne`, sql: `SQL ON clause` } } 一个简单demo cube("Authors", { joins: { Books: { relationship: `hasMany`, sql: `${Authors}.id = ${Books}.author_id` } } }…
  cube 是cube.js data schema 的核心,里面定义了生成sql 的说明 一个比较全的schema 例子 cube(`Users`, { sql: `select * from users`, joins: { Organizations: { relationship: `belongsTo`, sql: `${Users}.organization_id = ${Organizations}.id` } }, measures: { count: { type: `cou…
cube.js的 data schema 类似graphql 的type 定义,但是cube.js 的data schema 更偏向于dsl, 其中抽象了进行数据分析应用开发中的东西,自己提炼了measures , dimensions,cube 说明 cube 这个是用来进行实体,或者说是数据库表管理的 measures 说简单点就是聚合类的操作,但是这个是由cube.js 自动帮我们生成代码的,我们只需要定义 dimensions 实际上就是我们关注的详细数据列信息(一般体现为数据库表的定义…
cube.js 是目前看到从设计以及理念上很不错的数据分析事件,graphql2chartjs 是hasura graphql-engine 团队开发 的一个类库基于graphql,以下做一些比较 cube.js 组件更丰富(backend,frontend),graphql2chartjs 就是一个类库,只是封装了一些图标的处理 cube.js 支持的数据库比较多,graphql2chartjs 只是pg(当然和hasura 的graphql-engine有关系) 都是支持实时数据展示的,但是…
cube.js 是一个很不错的模块化分析框架,基于schema生成sql 同时内置可代码生成,可以快速的搞定 web 分析应用的开发 安装cli 工具 npm install -g cubejs-cli 创建简单应用 使用cli cubejs create pg-demo -d postgres 准备pg 数据库 使用docker-compose version: "3" services: postgres: image: postgres:9.6.11 ports: - "…
COCOS IDE用手机调试更新是正常的,是预想的结果,但用COCOS IDE打包发布APK,安装到手机上,热更新下载图片.JSON UI什么的都能正常更新替换,但JS脚本没有替换,这是为毛.更新文件是已经有下载到手机上了root@hwB199:/ # ls -l /data/data/org.cocos2dx.CocosJSGame/files/ls -l /data/data/org.cocos2dx.CocosJSGame/files/-rw------- u0_a113  u0_a113…
THREE.js开发的应用运行在iphone5下发现有些时候会崩溃,跟了几天发现是因为Sprite太多频繁更新纹理占用显存导致的.通常解决纹理频繁更新问题就要用到one draw all方法,放到纹理上就是把所有纹理图片生成一张大图片的方式. 一.阻止纹理重复上传 我们需要一张大纹理,先将所有的内容绘制在大纹理上,需要显示局部纹理的时候通过纹理坐标控制去大纹理上取图像.那么这个时候问题来了,THREE.js内部实现方式是将Texture与图片.纹理坐标绑定,即使为所有的Texture对象设置同一…
今天小女刚学会了一个好玩的小玩意儿~~特来跟大家分享一下~~~ 这是一个有趣的时钟显示程序,可以进行实时的年月日.星期.时分秒更新,有了这组小代码,以后可以作为日期插件应用在大型的JS代码中哦~~ 积少成多,时间是一点点省下来的,效率也是慢慢提高的. 好了,废话不多说了,马上进入正题(*^▽^*) 首先,为了使页面在固定位置定时刷新,我需要在body中写入一个div,代码结构如下: <body> <div id="div"> </div> <s…
原理:把更新的文件放在服务器上,设置一个客户端版本号,每次打开客户端的时候,通过接口获取服务器上的版本,如果高于本地的版本就下载服务器上的代码,低于或等于就不更新 <script> var http = require('http'); var fs = require('fs'); var request = require('request'); var unzip = require('unzip2'); var Driver = function () { this.timer = '…
由于代码修改,但文件名没有修改,因为浏览器对 JS 和 CSS 是缓存的,而且由于服务器无法控制客户端的缓存. 但是可以对 JS 和 CSS 的请求加上版本号,达到更新缓存的效果.…
knockout是一款前端实现MVVM的JS框架,仅knockout.js一个47kb的文件,相当实用,做前端无刷新页面,快速实现JS与HTML数据交互. knockout目前最新版:knockout-3.1.0.js 关于knockout可以去官网学习,官网内容很丰富,讲的很详细,可在线学习 knockout官网:http://knockoutjs.com/ 本文主要讲官网没有提到的更新列表中的数据,绑定列表时,其中某条数据发生了变化页面无法及时刷新,其实官方没有提供刷新功能,于是我们用了一点…
摘要: Fundebug 的 JavaScript 错误监控插件同步支持 Vue.js 异步错误监控. Vue.js 从诞生至今已经 5 年,尤大在今年 2 月份发布了重大更新,即Vue 2.6.更新包括新增 scoped slot 语法.性能提升.动态指令参数等等.其中我们最关注的是错误处理. 异步错误处理 Vue 的内置错误处理机制(组件内 errorCaptured hook 和全局 errorHandler hook)现在也会捕获 v-on 处理程序内部的错误.此外,如果任意一个生命周期…
1.手风琴效果 JS: $(function() {     var aMenuOneLi = $(".menu-one > li");     var aMenuTwo = $(".menu-two");     $(".menu-one > li > .header").each(function(i) {         $(this).mouseover(function() {             //mouseo…