最近在项目中需要用到气泡图,气泡图中的每个气泡直径大小由数据的某个维度值确定,而且气泡个数通常在 200 左右。这导致图上有很多大大小小的圆圈重叠在一起,并且存在大圆圈完全盖住小圆圈的情况。由于 echarts 的 tooltip 是根据 item(也就是图中的圆圈)触发的,这就导致了被盖住的圆圈永远无法显示 tooltip。虽然可以通过配置将 tooltip 的 trigger 设置为 x 轴,但操作起来仍不顺手。本文介绍了一种方法,用于检测气泡图重叠区域,可以实现在用户鼠标移动到圆圈重叠区域时,在 tooltip 中显示当前鼠标下所有圆圈的信息。本文所讨论的 echarts 版本为 5.5.1。
Docker 常用操作笔记:端口映射,登录容器,容器内访问宿主主机端口,Dockerfile 编写,日志查看,文件夹映射。
最近在学习使用 MongoDB,本文记录如何在 Fedora 系统上安装及卸载 MongoDB。
我的 neovim 配置文件和使用的 Coc 插件列表。将以下内容保存在 ~/.config/nvim/init.vim 中,并使用 vim-plug 安装所需插件,待插件安装成功后,打开编辑器并使用 CocInstall 安装 Coc 插件即可。
Linux 用户管理命令备忘,包含查看系统中所有的用户及用户组,创建用户,修改用户组,查看用户信息,将用户从某一个组中删除,查看组成员等。
本文介绍如何使用 htpasswd 创建密码文件,并将其配置到 Nginx 服务器,以开启 Basic Auth 验证。
本文主要记录如何为网站添加 Let’s Encrypt https 证书、设置定时任务自动更新 https 证书和配置 nginx 从 http 自动跳转至 https。
HTTP 协议可以说是目前互联网应用程序中使用最为广泛的协议。HTTPS(即 HTTP Over TLS)通过在 HTTP 协议之下添加一层 TLS 协议,以确保数据在一个加密的信道中传输,从而增加安全性能。本文简单描述了我们认为 HTTP 不安全的原因,以及 HTTPS 的基本加密流程。
在开发 Web 应用时,我们常常会遇到需要缓存异步资源的场景。比如,在一个单页面应用程序中,当程序初始化时,我们需要从服务端获取应用配置信息并将其缓存以供后续使用。本文介绍这个常见的访问模式,并提供两种实现方式。
最近在项目中用到了服务端渲染,需要搭建 Node.js 服务器。在项目部署时,需要向运维人员提供源码和 Dockerfile,以便生成镜像来部署。以前对 Docker 只是简单的了解,并没有实战应用,恰巧借此机会深入研究一下。本文涵盖了 Docker 的安装、国内源的配置以及一个创建 Node.js 应用镜像的例子。
在 Vue 中我们可以通过 v-model 来创建数据的双向绑定,默认情况下,只有 input、textarea 和 select 等元素支持 v-model。在 Vue 2.2.0+ 中,我们可以自定义组件的 v-model。本文通过一个简单的示例来演示如何自定义组件的 v-model。
本文主要讨论 JavaScript 中对象的属性描述符及 Object.defineProperty() 的使用方法,以及属性描述符中的 configurable 的具体作用。
由于磁盘大小写敏感问题把系统重装了,又需要配置各种环境。本文记录一下如何在 macOS 上打开一个没有跨域限制的 Chrome 浏览器,方便开发时与后端联调接口。
跨标签事件通知机制 在项目开发中遇到一个需求,场景如下: 公司内部存在多个子系统,分别部署在 sys1.example.com 和 sys2.example.com。用户在使用系统时有可能同时在两个标签页中分别打开 sys1 和 sys2。现要求,如果用户在 sys1 所在的标签中进行了重新登录操作,需要通知 sys2 所在的标签进行相应的操作。
最近在开发一个数据可视化平台的前端页面,由于页面定制化较高,现有的框架很难满足这种需求,所以很多组件都要自己编写。分页是网页中很常见的组件,主要功能是根据当前页码和数字最大的页码计算出一个页码列表,并在适当的地方添加“更多”按钮,方便用户在各个页面之间进行切换。
一般情况下我们会使用构建工具帮助我生成 jar 包,但工具是建立在底层命令的基础之上的,只会用工具而不知道底层实现原理,通常会让我们心里没底。本文主要记录如何使用 Java 自带的命令(javac、java、jar)来实现项目的编译、运行和打包。
我为虚拟机中的 CentOS 7 配置了两块网卡。一块为 NAT 模式,用于连接因特网下载软件。另一块为 Host-Only 模式,用于与宿主主机通信。但在系统安装完成后,发现 Host-Only 这块网卡的 IP 地址并不固定,因此需要我们手动进行相关配置。本文为相关操作记录,方便以后查阅。
为了方便管理和不扰乱本地环境,我把一些软件安装在虚拟机中,比如 MySQL。今天,当我尝试在本地连接 MySQL 时,服务器提示拒绝访问。经过查阅相关文档后,对 MySQL 的用户管理有了简单的了解,本文为相关笔记。
Java 的代理和反射等功能是框架开发中常用的功能,虽然我们不太可能自己开发框架,但熟悉这些技术能帮我更好的理解框架的运行原理。本文主要以 MyBatis 的 getMapper 方法为引子,提出两个问题并给出解决办法,从而演示 Java 中代理(Proxy)相关的 API 及功能。
最近在学习 MyBatis,所以要经常和数据库打交道。在这个过程中,发现很多 SQL 语句掌握的并不牢靠。这篇文章将持续总结一些常用的 MySQL 语句和一些知识点,方便自己日后查阅。
最近在学 Java,经常要创建包含多个模块的 Maven 项目,为了方便复制粘贴,在此写一个简单笔记。
为了方便在 Mac OS 与 Linux 间进行文件共享,本文介绍如何在 Mac OS 系统上配置 NFS 服务器,以及如何在 Linux 系统上挂载 Mac OS 系统上共享出来的文件夹。
最近开始学习 Spring,这篇文章主要记录如何安装 Maven,以及如何配置阿里云的 Maven 镜像。因为 Mac 上环境已经搭建好了,为了测试,我准备在虚拟机上(运行系统为 CentOS 7)再安装验证一次,并做好记录,方便日后查看。
本文记录如何在 linux (CentOS 7) 上从源码编译安装 PHP 7,并配置 PHP-FPM 和 Nginx 服务器,以及介绍如何通过源码编译安装 PHP 扩展。
由于系统使用的硬盘格式不同,当使用 macos 挂载 NTFS 硬盘的时候,仅支持文件读取操作而不支持写入。本文介绍如何通过编辑 /etc/fstab 文件从而以读写的方式挂载 NTFS 硬盘,并附带一个自动挂载的 shell 脚本。
本文介绍如何在 CentOS 7 上从源码编译安装 nginx 服务器,并介绍如何配置多个静态站点和如何通过反向代理向外暴露内网服务。
在编写构建工具或者部署脚本时,常常需要根据脚本文件所在的路径来定位资源文件的位置,本文记录了一种动态获取 Shell 脚本所在文件夹绝对路径的方式。
Linux 配置 sshd 记录: 如何生成公私密钥,服务端文件存放位置及权限,如何进行客户端配置。
firewalld 是 CentOS 7 默认的防火墙,使用此工具来管理网络端口十分便利。本文主要记录在 CentOS 7 中如何使用 firewall-cmd 来开启或关闭指定的端口号。
跨域请求是前端开发工作中经常遇到的问题,通常使用 CORS 即可完美解决(IE10+)。如果兼容性要求高可以使用 JSONP,但是 JSONP 只能发送 GET 请求。本文主要探讨如何利用 window.name 的特性,结合 <iframe> 加 <form> 实现跨域 POST 请求。
本文主要介绍如何在 Web 页面中借助 CustomEvent 和 dispatchEvent 来与 Chrome 插件后台脚本进行双向通信。
在做移动端混合应用开发时,发现 Input 的 Placeholder 的样式在某些老旧机型的 Weibview(AppleWebkit/534.30) 上渲染异常,在此记录遇到的两个坑和相应的解决办法。
本文主要记录如何在 Linux 上安装 Apache 服务器,MariaDB 数据库以及 PHP编程语言,参照系统为 Fedora 22。