• 2020 / 10 / 06

    Linux 用户管理命令备忘

    ​Linux 用户管理命令备忘,包含查看系统中所有的用户及用户组,创建用户,修改用户组,查看用户信息,将用户从某一个组中删除,查看组成员等。

  • 2020 / 10 / 02

    Nginx 配置 Basic Auth

    ​本文介绍如何使用 htpasswd 创建密码文件,并将其配置到 Nginx 服务器,以开启 Basic Auth 验证。

  • 2020 / 07 / 30

    为博客添加 Let's Encrypt Https 证书

    ​由于近期 Github Pages 不稳定,于是将博客迁移到了云服务器(CentOS 7)上,并通过 Webhooks 进行自动部署。本文主要记录如何为博客添加 Let’s Encrypt Https 证书并设置定时任务以实现证书的自动更新。

  • 2020 / 01 / 18

    HTTPS 基本加密流程简述

    ​HTTP 协议可以说是目前互联网应用程序中使用最为广泛的协议。HTTPS(即 HTTP Over TLS)通过在 HTTP 协议之下添加一层 TLS 协议,以确保数据在一个加密的信道中传输,从而增加安全性能。本文简单描述了我们认为 HTTP 不安全的原因,以及 HTTPS 的基本加密流程。

  • 2019 / 12 / 23

    一种异步资源访问模式

    ​在开发 Web 应用时,我们常常会遇到需要缓存异步资源的场景。比如,在一个单页面应用程序中,当程序初始化时,我们需要从服务端获取应用配置信息并将其缓存以供后续使用。本文介绍这个常见的访问模式,并提供两种实现方式。

  • 2019 / 12 / 14

    EditorConfig 配置文件

    ​为了保证整个项目缩进风格统一,每次新建项目时,我往往会添加一个 .editorconfig 文件,但总是记不住里面的配置项名称,导致每次都要去找官方文档或者查看以前的项目,所以在此记录一个,希望以后找起来会快一点。

  • 2019 / 05 / 29

    使用 Docker 创建一个最简单的 Node.js 应用镜像

    ​最近在项目中用到了服务端渲染,需要搭建 Node.js 服务器。在项目部署时,需要向运维人员提供源码和 Dockerfile,以便生成镜像来部署。以前对 Docker 只是简单的了解,并没有实战应用,恰巧借此机会深入研究一下。本文涵盖了 Docker 的安装、国内源的配置以及一个创建 Node.js 应用镜像的例子。

  • 2019 / 05 / 19

    Vue 中如何自定义 v-model

    ​在 Vue 中我们可以通过 v-model 来创建数据的双向绑定,默认情况下,只有 input、textarea 和 select 等元素支持 v-model。在 Vue 2.2.0+ 中,我们可以自定义组件的 v-model。本文通过一个简单的示例来演示如何自定义组件的 v-model。

  • 2019 / 05 / 14

    JavaScript 中对象的属性描述符

    ​本文主要讨论 JavaScript 中对象的属性描述符及 Object.defineProperty() 的使用方法,以及属性描述符中的 configurable 的具体作用。

  • 2019 / 03 / 21

    在 macOS 上打开没有跨域限制 Chrome 的浏览器

    ​由于磁盘大小写敏感问题把系统重装了,又需要配置各种环境。本文记录一下如何在 macOS 上打开一个没有跨域限制的 Chrome 浏览器,方便开发时与后端联调接口。

  • 2019 / 02 / 20

    跨标签事件通知机制

    ​跨标签事件通知机制 在项目开发中遇到一个需求,场景如下: 公司内部存在多个子系统,分别部署在 sys1.example.com 和 sys2.example.com。用户在使用系统时有可能同时在两个标签页中分别打开 sys1 和 sys2。现要求,如果用户在 sys1 所在的标签中进行了重新登录操作,需要通知 sys2 所在的标签进行相应的操作。

  • 2019 / 01 / 06

    前端分页组件页码计算方法

    ​最近在开发一个数据可视化平台的前端页面,由于页面定制化较高,现有的框架很难满足这种需求,所以很多组件都要自己编写。分页是网页中很常见的组件,主要功能是根据当前页码和数字最大的页码计算出一个页码列表,并在适当的地方添加“更多”按钮,方便用户在各个页面之间进行切换。

  • 2018 / 12 / 26

    Java 通过命令编译源码并构建可执行 jar 包

    ​一般情况下我们会使用构建工具帮助我生成 jar 包,但工具是建立在底层命令的基础之上的,只会用工具而不知道底层实现原理,通常会让我们心里没底。本文主要记录如何使用 Java 自带的命令(javac、java、jar)来实现项目的编译、运行和打包。

  • 2018 / 12 / 23

    CentOS 7 如何配置静态 IP 地址

    ​我为虚拟机中的 CentOS 7 配置了两块网卡。一块为 NAT 模式,用于连接因特网下载软件。另一块为 Host-Only 模式,用于与宿主主机通信。但在系统安装完成后,发现 Host-Only 这块网卡的 IP 地址并不固定,因此需要我们手动进行相关配置。本文为相关操作记录,方便以后查阅。

  • 2018 / 12 / 22

    MySQL 远程登录及用户权限管理

    ​为了方便管理和不扰乱本地环境,我把一些软件安装在虚拟机中,比如 MySQL。今天,当我尝试在本地连接 MySQL 时,服务器提示拒绝访问。经过查阅相关文档后,对 MySQL 的用户管理有了简单的了解,本文为相关笔记。

  • 2018 / 12 / 21

    Java Proxy 使用笔记

    ​Java 的代理和反射等功能是框架开发中常用的功能,虽然我们不太可能自己开发框架,但熟悉这些技术能帮我更好的理解框架的运行原理。本文主要以 MyBatis 的 getMapper 方法为引子,提出两个问题并给出解决办法,从而演示 Java 中代理(Proxy)相关的 API 及功能。

  • 2018 / 12 / 16

    MySQL 使用笔记

    ​最近在学习 MyBatis,所以要经常和数据库打交道。在这个过程中,发现很多 SQL 语句掌握的并不牢靠。这篇文章将持续总结一些常用的 MySQL 语句和一些知识点,方便自己日后查阅。

  • 2018 / 12 / 14

    Maven 快速创建多模块项目备忘

    ​最近在学 Java,经常要创建包含多个模块的 Maven 项目,为了方便复制粘贴,在此写一个简单笔记。

  • 2018 / 12 / 09

    在 Mac OS 和 Linux 之间通过 NFS 设置共享文件夹

    ​为了方便在 Mac OS 与 Linux 间进行文件共享,本文介绍如何在 Mac OS 系统上配置 NFS 服务器,以及如何在 Linux 系统上挂载 Mac OS 系统上共享出来的文件夹。

  • 2018 / 12 / 08

    以 Linux 环境为例安装 Java 和 Maven

    ​最近开始学习 Spring,这篇文章主要记录如何安装 Maven,以及如何配置阿里云的 Maven 镜像。因为 Mac 上环境已经搭建好了,为了测试,我准备在虚拟机上(运行系统为 CentOS 7)再安装验证一次,并做好记录,方便日后查看。

  • 2018 / 11 / 17

    从源码编译安装 PHP 7 及其扩展

    ​本文记录如何在 linux (CentOS 7) 上从源码编译安装 PHP 7,并配置 PHP-FPM 和 Nginx 服务器,以及介绍如何通过源码编译安装 PHP 扩展。

  • 2018 / 08 / 05

    macos 以读写方式挂载 NTFS 格式硬盘,附带自动挂载 shell 脚本

    ​由于系统使用的硬盘格式不同,当使用 macos 挂载 NTFS 硬盘的时候,仅支持文件读取操作而不支持写入。本文介绍如何通过编辑 /etc/fstab 文件从而以读写的方式挂载 NTFS 硬盘,并附带一个自动挂载的 shell 脚本。

  • 2018 / 07 / 30

    CentOS 7 从源码编译安装 nginx 并配置反向代理

    ​本文介绍如何在 CentOS 7 上从源码编译安装 nginx 服务器,并介绍如何配置多个静态站点和如何通过反向代理向外暴露内网服务。

  • 2018 / 07 / 18

    如何在 Shell 脚本中获取当前脚本所在文件夹的绝对路径

    ​在编写构建工具或者部署脚本时,常常需要根据脚本文件所在的路径来定位资源文件的位置,本文记录了一种动态获取 Shell 脚本所在文件夹绝对路径的方式。

  • 2018 / 07 / 14

    Linux sshd 配置备忘

    ​Linux 配置 sshd 记录: 如何生成公私密钥,服务端文件存放位置及权限,如何进行客户端配置。

  • 2018 / 06 / 23

    Linux firewalld 使用简记

    ​firewalld 是 CentOS 7 默认的防火墙,使用此工具来管理网络端口十分便利。本文主要记录在 CentOS 7 中如何使用 firewall-cmd 来开启或关闭指定的端口号。

  • 2018 / 04 / 09

    使用 iframe 加 form 实现跨域 POST 请求

    ​跨域请求是前端开发工作中经常遇到的问题,通常使用 CORS 即可完美解决(IE10+)。如果兼容性要求高可以使用 JSONP,但是 JSONP 只能发送 GET 请求。本文主要探讨如何利用 window.name 的特性,结合 <iframe> 加 <form> 实现跨域 POST 请求。

  • 2017 / 11 / 09

    如何与 Chrome 扩展程序后台脚本进行双向通信

    ​本文主要介绍如何在 Web 页面中借助 CustomEvent 和 dispatchEvent 来与 Chrome 插件后台脚本进行双向通信。

  • 2017 / 08 / 16

    移动端 Placeholder 的 CSS 兼容性问题小结

    ​在做移动端混合应用开发时,发现 Input 的 Placeholder 的样式在某些老旧机型的 Weibview(AppleWebkit/534.30) 上渲染异常,在此记录遇到的两个坑和相应的解决办法。

  • 2015 / 10 / 11

    在 Linux 上安装 MariaDB、Apache 以及 PHP

    ​本文主要记录如何在 Linux 上安装 Apache 服务器,MariaDB 数据库以及 PHP编程语言,参照系统为 Fedora 22。