metabase的地图展示方式及切换地图源

metabase 3中地图模式的使用
分类: 其他 发布时间: 03-22 10:34 阅读次数: 0

Spring~事务API、事务失效原因、事务传播特性

文章目录Spring事务事务API实现原理事务失效事务传播机制Spring事务Spring事务是在所使用的数据库事务的基础上进行封装扩展封装主要是封装了一些JDBC的一写事务操作的对象, 扩展主要有以下几点特性加入了事务传播的概念, 从代码逻辑上看来比编程式事务简化很多提供声明式事务或者是注解式配置事务,让业务代码与事务分离,事务变得更易用(AOP技术)但是也造成了事务失效的情况出现, 具体原因下面讲述事务APISpring提供了一个TransactionDefinition, 它定义了
分类: 其他 发布时间: 03-22 10:34 阅读次数: 0

metabase 关闭slack metabot

再开通slack 后,默认可以使用bot自动处理slack请求,在启动日志中可以看到metabot duty的相关内容。metabot官方用途说明如下:(defsetting metabot-enabled (deferred-trs "Enable MetaBot, which lets you search for and view your saved questions directly via Slack.") :type :boolean :default false)
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0

Linux~常用命令ps(查看进程信息)、top(监控linux的系统状况)、netstat(检验本机各端口的网络连接情况)

文章目录PS命令命令参数top命令参数解释netstat命令参数解释PS命令作用:主要是查看此时服务器的进程信息, 也就是说他返回的是静态的数据, 不会动态变化也就是说ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。linux上进程有5种状态:运行(正在运行或在运行队列中等待)中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)僵死(进程已终止,
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0

Java~多线程算法实战, 三种方式解决LeetCode题目1116. 打印零与奇偶数

文章目录题目描述解决一: 使用死循环方式解法二:使用信号量机制解法三:使用锁机制题目描述假设有这么一个类:class ZeroEvenOdd {public ZeroEvenOdd(int n) { … } // 构造函数public void zero(printNumber) { … } // 仅打印出 0public void even(printNumber) { … } // 仅打印出 偶数public void odd(printNumber) { … } //
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0

Java~多线程算法实战题目之商店售票

文章目录题目描述思路测试PS:这道题是我在面试中遇到的,所以没有链接, 感觉这道题很有意思就拿出来分享分享题目描述有一个商店有100张票,并且有三个售票口, 这三个售票口之间独立, 各卖各的, 但是票不是独立的, 每张票不能重复卖。注意:100张票必须全部卖出, 但是不能多卖。每个窗口每隔100毫秒卖出一张票。要求:输出每张票是被哪个窗口卖出思路这是一个很典型的多线程安全问题, 因为票一旦操作不当就会被重复卖出所以这道题的关键点就在于每个售票口在查看此时票还剩多少和取票这俩个操作必须保
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0

Java~ LocalDate、LocalTime、LocalDateTime、DateTimeFormatter的学习和使用

文章目录前言获取日期API日期的计算加法操作减法操作比较日期和时间ISO标准日期格式转换String转日期其他好玩的API前言此篇博客借鉴与博主: 某科学的南条内容中也有自己的思考和总结众所周知,SimpleDateFormat在多线程环境下是不安全的, 因为其内部使用的是一个calendar对象, 那么在多线程环境下使用同一个对象去修改不同的数据必然会造成不安全问题。解决办法就是使用Java8提供LocalDate、LocalTime、LocalDateTime、DateTimeFormat
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0

Java~ForkJoinPool + parallelStream实现并行快速处理数据流

文章目录ForkJoinPoolinvoke、execute和submit区别parallelStream实现快速处理数据流ForkJoinPool说起ForkJoinPool先说Fork/Join框架我们通过Fork和Join这两个单词来理解一下Fork/Join框架。Fork就是把一个大任务切分 为若干子任务并行的执行,Join就是合并这些子任务的执行结果,最后得到这个大任务的结 果。比如计算1+2+…+10000,可以分割成10个子任务,每个子任务分别对1000个数进行求和, 最终汇总这10个子
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0

广告化开发(基础知识)~oCPA/oCPM/oCPC

文章目录前言概念oCPM:oCPC:oCPA:oCPA/oCPM/oCPC的目的是什么?前言每一个广告主或者每一个人都想要最低的成本来达到最高的收益,也就是利益最大化所以oCPA/oCPM/oCPC就是通过数据来优化广告投放让广告主选择更适合的流量和更适合的价格来提高收益。概念oCPM:即优化千次展现出价,本质还是按照cpm付费。采用更精准的点击率和转化率预估机制,将广告展现给最容易产生转化的用户,在获取流量的同时,提高转化率、降低转化成本,跑量提速更快。oCPC:即优化点击付费,本质还
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0

Mastering clojure macros 读书笔记

这是花了一周时间的阅读笔记,Mastering clojure macros提到的computation 还是不太理解。1.1. build a solid foundation1.1.1. macro is ladder: code becomes data then data become data1.1.1.1. input args(function) acting on data1.1.1.2. treat the code of arguments as data, create a
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0

mastering clojure macros 的一个小错误

macros can be contagious(传染)中有如下例子(defn send-email [user messages] (Thread/sleep 1000)) ;; this would send email in a real implementation(def admin-user "[email protected]")(def current-user "[email protected]")(defn notify-everyone [messages] (a
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0

metabase 权限体系

metabase 权限体系总体如下:不能对单个people授权,只能居于group授权一个人可以归属多个group可以授权的对象分为data:database/tablecollection(dashboard及question的集合)data授权分data accesssql queries为何sql queries单独出来,估计和enterprise的row-level-restrictions(行限制)和column-level-perms-check有关,尤其是col
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0

metabase Drill Through(数据下钻)能力

简单总结metabase 的tile map/瓦片地图模式通过地图缩放可以实现Drill Through对应外键和joined 字段,在非native query模式下可以实现自动展现对应数据,使用joined字段可以避免使用外键,更适合生产环境带dashboard 通过自定义click 事件也可以实现dashboard模式需要注意,以native query为例,要跳转的parameter类型要正确,如下图数字类型的参数必须选择number。dashboard的配置如下:注意右下角的P
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0

Clojure Characters 清单

大部分来自官网 ,最后一个来自mastering clojure macro( … ) - List[ … ] - Vector{ … } - Map# - Dispatch character#{ … } - Set#_ - Discard#"…" - Regular Expression#(…) - Anonymous function#' - Var quote## - Symbolic values#inst, #uuid, and #js etc. - tagged lite
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0

用文件复制方法建立mysql gtid集群

建立gtid集群一般说法都是使用mysqldump等文件来建立,但如果需要修改非动态mysql参数重新启动master节点的话,直接使用复制mysql 目录可能更高效。master 基本步骤如下:shutdown mastermaster节点复制数据使用show master status 记录数据用于check修改参数并启动master创建replication用户及赋权slave节点删除auto.cnf以获取不同mysql uuid(不删除slave启动会报错误)配置参数并使用c
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0

Maven~总结一下clean、compile、test、package、install、deploy分别有什么作用

文章目录前言clean 生命周期default 生命周期site 生命周期前言软件开发人员每天都要对项目进行清理、编译、测试、打包以及安装部署。通过学习、分析、反思和总结,Maven 抽象出了一个适合于所有项目的构建生命周期,并将它们统一规范。具体步骤包括清理、初始化、编译、测试、打包、集成测试、验证、部署和生成站点。这些步骤几乎适合所有的项目。Maven 拥有三套独立的生命周期,它们分别是 clean、default 和 site。clean 生命周期的目的是清理项目;default 生命周期的
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0

MySQL~为什么推荐自增 id 作为主键

文章目录页的概念页分裂与页合并页的概念在计算机里,无论是内存还是磁盘,操作系统都是按页的大小进行读取的(页大小通常为 4 kb),磁盘每次读取都会预读,会提前将连续的数据读入内存中,这样就避免了多次 IO,这就是计算机中有名的局部性原理,即我用到一块数据,很大可能这块数据附近的数据也会被用到,干脆一起加载,省得多次 IO 拖慢速度, 这个连续数据有多大呢,必须是操作系统页大小的整数倍。所以MySQL 的页,默认值为 16 KB,也就是说对于 B+ 树的节点,最好设置成页的大小(16 KB),这样一个
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0

Git~掌握安装配置、工作流程、基本命令操作、分支管理和撤回

文章目录安装配置配置账号密码配置密匙工作流程基本概念文件的四种状态基本命令操作与远程仓库建立连接上传代码分支管理分支上传分支合并查看与撤回安装配置安装就不多讲了,很简单而且网上有很多文章,而且直接去官网下载安装就好https://git-scm.com/download总之输入git version 能出来版本就说明安装好了配置账号密码配置我在这简单记录一下命令, 比如配置你的name和email, 注意name和email是你自己的!git config --global user.n
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0

双Hadoop集群&双Kerberos kdc认证跨域互信

两个hera集群开启Kerberos验证后,集群间不能够相互访问,需要实现Kerberos之间的互信,使用hera集群A的客户端访问hera集群B的服务(实质上是使用Kerberos Realm A上的Ticket实现访问Realm B的服务)。先决条件:1)两个集群hera.com和yoga.com均开启Kerberos认证2)Kerberos的REALM分别设置为hera.com和yoga.c
分类: 企业开发 发布时间: 03-22 10:33 阅读次数: 0

数据结构~总结一下B树、B-树、B+树、B*树的特点

文章目录前言B树(二叉查找树)B-树前言数据在计算机中的存储结构主要为顺序存储结构、链式存储结构、索引存储结构、散列存储结构。顺序存储一般就是我们常见的数据,存储少量数据还好,如果存储大量数据可能会出现内存不够的情况,而且数据一旦需要移动和删除是很耗时的链式存储改进了上述的缺点,但是链式存储的查找效率是很低的。尤其是范围查看是非常低的散列查找是非常快的,尤其使用Hash的思想可以在几乎是O(1)的复杂度下就可以找到对应数据,但是对于范围查找还是不友好索引查找就是我们今天要讲的树+链式的结构,它
分类: 其他 发布时间: 03-22 10:33 阅读次数: 0