人是视觉动物,要用数据把一个故事讲活,图表是必不可少的。如果你经常看到做数据分析同事,在SQL客户端里执行完查询,把结果复制/粘贴到Excel里再做成图表,那说明你的公司缺少一个可靠的数据可视化平台。数据可视化是Business Intelligence(简称BI)中的核心功能,有许多成熟的商用解决方案,如老牌的Tableau, Qilk,新生代的Looker,国内的FineBI等等。不过对于许多小公司来说,这些服务的License费用是一笔不小的开销,且有一种“杀鸡用牛刀”的感觉。那在开源软件如此发达的今天,在数据可视化方面,有什么靠谱的方案可以选择呢?今天给大家介绍三个比较知名的项目,分别是Superset, Redash和Metabase。前两个我都在产生环境中实际使用过,在本文中会重点介绍。Metabase我只是试玩了一下,但我觉得这是一个非常有想法的项目,所以也会和大家聊聊我对它的看法。
人是视觉动物,要用数据把一个故事讲活,图表是必不可少的。如果你经常看到做数据分析同事,在SQL客户端里执行完查询,把结果复制/粘贴到 Excel 里再做成图表,那说明你的公司缺少一个可靠的数据可视化平台。数据可视化是 Business Intelligence(BI)中的核心功能,有许多成熟的商用解决方案,如老牌的 Tableau,Qilk,新生代的 Looker,国内的 FineBI 等等。不过对于许多小公司来说,这些服务的 License 费用是一笔不小的开销,且有一种“杀鸡用牛刀”的感觉。
各位小伙伴们好,今天主要给大家推荐一个我近期遇到的一个Flask项目。为什么推荐?当然是很牛逼的才敢拿出来。
接上篇(数据可视化的开源方案: Superset vs Redash vs Metabase (一))。本篇从项目关注度与活跃度,项目的技术架构,源代码的规模与质量三个方面对Superset,Redash 与 Metabase进行比较。
官方文档有一句话:Windows users: while it should be possible to run Redash on a Windows machine, we don’t know anyone who did this and lived to tell. We recommend using some sort of a virtual machine or Docker in such case. 当时没有注意,后面掉在坑里了,若对 Redash 进行二开,务必不要使用 Windows:第一点 Redash 依赖的 Python 包在Windows安装,本地编译的时候各种报错,不过还算都能解决。最要命的是第二点,某些包依赖的标准库模块,Windows 上没有,比如 group pwd 等。经过一下午和包安装的战斗,总算解决了,最后信心满满的想跑起来的时候,各种模块找不到。
参考 https://github.com/getredash/redash/discussions/6288
我们会经常提到BI系统(Business Intelligence),它是一个重要的数据出入口,帮助数据,帮助企业获取数据表报制定战略决策。大家熟知的有FineBI和Microsoft的powerBI,但是使用成本都不低需要授权需要客户端,使用配置也相当繁琐。笔者今天给大家带来的是一款开源纯Web网页的数据工具。
俗话说“工欲善其事必先利其器”,今天跟大家一起交流一款简单易用的数据查询和可视化分析的开源BI工具Redash。
个人非常喜欢这种说法,最后一公里不是说目标全部达成,而是把整个路程从头到尾走了一遍。
Redash 运行步骤略微有点复杂,项目除了几个页面是后端渲染外,其余都是前端渲染(Ant Design & React)。目前第一步打算先通过 Docker 将后端跑起来作为 API Server(Docker 启动很Easy),然后本地启动前端项目,保证前端项目的正常运行,然后可以先进行一些比如UI汉化等工作,同时研究后端的本地启动。
其实这个开源项目在可视化领域还是挺火的,我当前所处的公司,似乎也看到过它的身影。除此之外,我也有搜到过相关的公司专门做redash二次开发的。
事情是这样的,最近在部署一个之前写过的项目。自己整了个centos7的虚拟机,项目是运行在anaconda上的。
采用的是 Redash 9.0 版本,9.0 版本有重大更新(Change Log)
组织在构建自己专属的技术栈时,会使用到各种不同的相似技术。但也存在一些趋势,如果你正在组建一个新的团队、组织或公司的时候,一开始你可能需要效仿某个现成的技术栈,再依据需求来构建自己的技术栈,还需要对一些过时的技术进行升级。
Apache Superset(以下简称 superset)和 Apache Airflow 一样都是租房网站 airbnb 开源的,而且现在的主力开发者也是同一个人- mistercrunch (画外音:两个 Apache 项目的主要贡献者也是够强的了)。Apache Superset 于 2015 年 6 月开源,活跃度极高,基本每天都有新的特性诞生或者 bug 被修复,可惜的是与 Apache Airflow 今年毕业成为顶级项目不同,superset 依旧在孵化当中。当然孵化不代表不可用,superset 在国内外都有着广泛的应用。从 Github 首页上面可以发现使用 superset 的国内比较知名的互联网公司有:bilibili、Douban、Kuaishou、Qunar 等等,国外的更多了。因此 superset 质量是有保证的。
这是Amundsen官网的一句话,对于元数据的管理工作,复杂且繁琐。可用的工具很多各有千秋,数据血缘做的较好的应该是Apache Atlas,而数据可视化做的较好的应该是Apache Superset。业界一直需要一个可以整合这些功能,让数据治理更加的简单便捷,而这正是Amundsen的使命。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangyaninglm/article/details/88071469
Ubuntu环境下安装Redash有一个辅助工程,通过这个辅助工程可以实现一键安装,过程中无需单独安装和配置docker环境,项目地址:https://github.com/getredash/setup
来个需求就改一次代码,理所当然?反正修改也易,再CV一份,也不费脑。但每人每次改点,日积月累,再来新需求,后人改动量就大了。每人都无辜,都只是简单修改一点。但最终导致接盘侠无法维护,直接推翻老系统,写新系统(也算是创造就业机会了)。
写好node代码后,打包进docker发现镜像非常大,下面方法有助于构建一个一个体积小很多的镜像;
与目前业内的几个小程序框架相比较而言,mpx 开发设计的出发点就是基于原生的小程序去做功能增强。所以从开发框架的角度来说,是没有任何“包袱”,围绕着原生小程序这个 core 去做不同功能的 patch 工作,使得开发小程序的体验更好。
持续集成(Continuous integration,简称CI)是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
简而言之,不管你修改了类还是资源,只需要重新 Build 一下相关的类,改动就直接反映到你的应用程序了。
我最常用的数据可视化工具有两个,tableau和matplotlib,基本可以解决所有可视化场景。
"快速的冷启动"指的是在开发过程中,当你启动应用程序或重新启动开发服务器时,Vite 能够迅速加载应用程序。
翻译|chechengpeng 原文 | https://www.sitepoint.com/anatomy-of-a-modern-javascript-application/ 译文 | http
webpack作为最使用最广泛的前端打包工具,已经成为前端工程化基础设施的一部分。
其实这要看情况的,开闭原则可以应用在不同粒度的代码中,可以是模块,也可以是类,还可以是方法及其属性。同样一个代码改动,在粗代码粒度下,被认定为修改,在细代码粒度下,又可以被认定为扩展。
Webpack构建速度优化基本优化完毕,接下来考虑的就是:线上代码质量的优化,即如何使用webpack构建出高质量的代码 Webpack构建流程:初始化配置参数 -> 绑定事件钩子回调 -> 确定Entry逐一遍历 -> 使用loader编译文件 -> 输出文件 提纲 本次优化构建代码质量基本技术: reactRouter按需加载; 公共代码提取,以及代码压缩; CDN接入; 开启gzip压缩; 接入treeShaking,剔除无用代码 开启Scope Hoisting (生产环境代码构建)为实时查看
在日常工作项目中,构建时间会随着项目的规模不断扩大而变得愈来愈缓慢(已使用happypack进行优化构建),笔者目前构建项目目前是60s 左右,能否够更快进行构建呢,因此是时候进行一系列探索与优化。
随着项目越来越大,页面增多,每次需求中修改一个页面的逻辑后,总会引起其他页面文件的hash改变,导致发布文件过多,提心吊胆的发布,而且文件hash的频繁变动,也没有办法很好利用浏览器缓存。那么有没有办法减少文件的修改呢? 下面以一个简单的例子来分析下。
webpack 的出现为前端开发带来翻天覆地的变化,无论你是用 React,Vue 还是 Angular,webpack 都是主流的构建工具。我们每天都跟它打交道,但却很少主动去了解它,就像写字楼里的礼仪小姐姐,既熟悉又陌生。随着项目复杂度的上升,打包构建的时间会越来越长。终于有一天,你发现npm run dev后,去泡个茶,上了个厕所,跟同事 bb 一轮后回到座位,项目还没构建完的时候,你就会下定决心好好了解下这个熟悉的陌生人。
随着近些年的技术发展,Java 领域微服务已经成为主流的技术方向。随着微服务化,云原生的概念也逐渐火热起来,不了解云原生仿佛就是一个原始人。而在云原生中,应用容器化 是其核心属性之一。
点赞之后,上一篇传送门: https://blog.csdn.net/weixin_39032019/article/details/89340739
部分开发人员只是片面的理解与执行CI,但对其原理与价值知之甚少。本文旨在分享XP极限编程与CI持续集成的定位与核心价值,让每位开发人员都能够理解其价值,更好的运用。
之前的很多研究其实跟工程化是比较脱节的,模型在小环境中工作得很好,并不意味着它在任何地方都可以工作得很好。 各类开源项目其实很大程度上满足了我这样的调包工程师的需求,那么工程化就非常有必要了。 之前《DataOps、MLOps 和 AIOps,你要的是哪个Ops?》文章提到:DataOps、MLOps 和 AIOps的一些异同:
在现代软件开发中,项目的规模逐渐庞大,复杂度也随之增加。为了更好地组织和管理代码,Java 多模块开发成为一种常见的开发模式。本文将深入探讨 Java 多模块开发的好处与弊端,以及如何合理使用多模块开发提高项目的可维护性和可扩展性。
作者:chriscai,腾讯 WXG 前端开发工程师 企业微信 web 项目从以前的小而简单的 web 项目,历经五载,蜕变成了平台级的项目。这几年伴随着前端工业化和前端技术变革,本文将介绍我们如何在高速迭代当中,对大型 web 项目进行高效代码管理,架构升级,编译优化等,最后完成工程化的工业级蜕变。 一、背景介绍 企业微信 企业微信是为用户提供企业 IT 管理的产品。目前有两大业务体系:“连接微信”和“效率与办公”。企业微信具体业务涉及非常广泛,主要有几大功能:客户联系、家校沟通、日程、OA、会议等
前端的交付基于浏览器,资源是通过增量加载的方式运行到浏览器端,如何在开发环境组织好这些碎片化的代码和资源,并且保证他们在浏览器端快速、优雅的加载和更新,是前端发展中一直探索的难题。
关于采用微服务架构还是单体架构,最近业界有不少相关的讨论。本文作者 Goksu Toprak 分析了两种架构风格的优势和适用场景。
不知不觉,Webpack 原理系列已经陆续出了十篇文章,以构建主流程为纲逐步递进到插件、Loader、模块、运行时、Chunk、依赖对象、模块依赖图等关键概念的含义与运行原理,再到 HMR、Tree-Shaking 等特性的功能介绍和原理解析,满满当当十篇文章,合计超过 5W 字,基本上已经贯彻 Webpack 整个核心流程。
前端项目随着时间推移和业务发展,页面可能会越来越多,或者功能和业务代码会越来越多,又或者依赖的外部类库会越来越多,这个时候原本不足为道的 webpack 构建时间消耗就会慢慢地进入我们的视野。
第 1 章 微服务 Eric Evans 的《领域驱动设计》一书帮助我们理解了用代码呈现真实世界的重要性,并且告诉我们如何更好地进行建模。持续交付理论告诉我们如何更有效及更高效地发布软件产品,并指出保持每次提交均可发布的重要性。基于对 Web 的理解,我们寻找到了机器与机器交互的更好方式。Alistair Cockburn 的六边形架构理论(http://alistair.cockburn.us/Hexagonal+architecture)把我们从分层架构中拯救出来,从而能够更好地体现业务逻辑。借助虚拟化
本文由 IMWeb 团队成员 eden 首发于腾讯内部 KM 论坛。点击阅读原文查看 IMWeb 社区更多精彩文章。 前言 随着前端构架工具的不断发展,提供了很多提高我们的开发体验和开发效率的能力,同时构建已经成为前端技术栈中常见的技术。 webpack 也是众多构建工具中崭露头角一员,早期的 webpack 配置复杂难懂,随着其发展,相关配置也不断简化,性能也不断提高,但是对于深入使用的开发人员,通常它的默认配置并不适用于业务开发,需要针对自己业务调整适配。 你对 webpack 了解多少?如何针对业务
本文为2020年MongoDB应用案例与解决方案征集活动优秀应用案例:MongoDB在七牛云的应用,作者李鑫。
它们会自动执行指定的任务,就像流水线,把资源放上去然后通过不同插件进行加工,有活跃的社区,丰富的插件,能方便地打造各种工作流。
DLL,动态链接库(Dynamic Link Library 或者 Dynamic-link Library),由微软公司提出。目的是为了节约应用程序所需的磁盘和内存空间。
遗留系统的迁移是一个相当复杂的工作,以至于重写的成本甚至比迁移的成本更高。但是从技术维度来看,步骤无非就是:
领取专属 10元无门槛券
手把手带您无忧上云