GitLab 配置邮箱

摘要: 设置 SMTP 发送邮件这里以腾讯企业邮箱为例,其他邮箱可以参考 设置 SMTP 发送邮件。SMTP 和 POP3/IMAP 协议SMTP 负责发送邮件,POP3/IMAP 负责接收邮件。其中 IMAP 基本上替换掉了 POP3。用户在使用客户端(例如 Fo... 阅读全文
posted @ 2018-05-16 18:47 kikajack 阅读(3602) 评论(0) 推荐(0) 编辑

GitLab 安装,配置及维护

摘要: 参考: GitLab 官方文档 docker-gitlab,通过 docker-compose 快速安装 GitLab rake,是 Rails 的工具,类似 ruby 中常用的的 make。通过 Rakefile 文件指定 Rake 任务后,通过 bund... 阅读全文
posted @ 2018-05-16 15:18 kikajack 阅读(2645) 评论(0) 推荐(0) 编辑

使用 Vagrant 搭建 Kubernetes 本地测试环境

摘要: Vagrant 中文资料 参考资料Kubernetes 需要一个至少包含三个节点的分布式系统。如果想学习 Kubernetes,或只是在本地搭建测试环境,则可以通过 Vagrant 来简单的实现。1. 前提条件电脑内存不小于 8 GB提前安装好 Vagran... 阅读全文
posted @ 2018-05-13 17:53 kikajack 阅读(262) 评论(0) 推荐(0) 编辑

从有状态应用(Session)到无状态应用(JWT),以及 SSO 和 OAuth2

摘要: 不管用哪种方式认证用户,都可能被中间人攻击窃取 SessionID 或 Token,从而发生 CSRF 攻击。解决方式就是全站 HTTPS。现在 Let’s Encrypt 已经支持免费的通配符 HTTPS 证书了。0. 引子HTTP 协议是无状态的,要保存... 阅读全文
posted @ 2018-05-12 19:10 kikajack 阅读(584) 评论(0) 推荐(0) 编辑

curl 中关于 CURLINFO_HEADER_SIZE 的 BUG 定位及修复

摘要: curl 官方下载页面CentOS7 默认安装的 curl 版本太低了,需要升级为最新版。1. 问题描述对接了一个接口,用来下载 PDF 文件。使用 curl 下载后,文件老是报错无法打开。接口提供方直接返回的 PDF 二进制文件流,而没有放入某个字段中或经... 阅读全文
posted @ 2018-05-12 16:55 kikajack 阅读(327) 评论(0) 推荐(0) 编辑

CodeIgniter 技巧 - 通过 Composer 安装 CodeIgniter 框架并安装依赖包

摘要: PHP 项目中,通过 Composer 来管理各种依赖包,类似 Java 中的 Maven,或 Node 中的 npm。CodeIgniter 框架要想通过 Composer 自动加载包也很简单,步骤如下:1. 安装 Composer参考这里安装后,记得设置... 阅读全文
posted @ 2018-05-10 17:16 kikajack 阅读(171) 评论(0) 推荐(0) 编辑

第五章 创建高性能的索引

摘要: 这是《高性能 MySQL(第三版)》第五章的读书笔记。索引在 MySQL 中也叫键(Key),是存储引擎用于快速找到记录的一种数据结构。表的数据量增大时,索引对良好的性能非常关键。索引是优化查询性能的最有效的手段。1. 索引基础MySQL 中,存储引擎先在索... 阅读全文
posted @ 2018-05-09 17:21 kikajack 阅读(230) 评论(0) 推荐(0) 编辑

MySQL 查询性能优化 - EXPLAIN 命令

摘要: 查询优化的官方文档在 这里。 EXPLAIN 的输出格式 译文1. MySQL 架构1.1 MySQL 的简化架构MySQL 可以简单的分为三层:连接层、服务层、存储引擎层。其中服务层包含了 MySQL 的核心组件:用户连接层 ↓ ↓ ... 阅读全文
posted @ 2018-05-08 15:06 kikajack 阅读(221) 评论(0) 推荐(0) 编辑

IrfanView - 图片浏览、编辑、批处理神器

摘要: picasa 停止更新后,需要一款合适的替代品。比较了一番后,选定了 IrfanView。1. 安装从 官方网站 下载安装即可,软件只有几兆大小。2. 常用快捷键所有快捷键可以参考 这里。IrfanView 的常用设置都可以在 Options -> Prop... 阅读全文
posted @ 2018-05-07 14:16 kikajack 阅读(1565) 评论(0) 推荐(0) 编辑

curl 和 wget 命令

摘要: 1. curlcurl 支持 HTTP、HTTPS、FTP 等协议,还支持 POST、cookies、认证、从指定偏移处下载部分文件、User-Agent、限速、文件大小、进度条等特征。1.1 选项 - - -A 或 --user-agent 设置... 阅读全文
posted @ 2018-05-06 23:51 kikajack 阅读(659) 评论(0) 推荐(0) 编辑

Kubernetes 对象管理的三种方式

摘要: Kubernetes 中文文档1. Kubernetes 对象管理的三种方式对比Kubernetes 中的对象管理方式,根据对象配置信息的位置不同可以分为两大类:命令式:对象的参数通过命令指定配置式:对象的参数通过 YAML 配置文件指定其中,对于配置式对象... 阅读全文
posted @ 2018-05-06 17:53 kikajack 阅读(1383) 评论(0) 推荐(0) 编辑

Kubernetes tutorial - K8S 官方入门教程 中文翻译

摘要: 官方教程,共 6 个小节。每一小节的第一部分是知识讲解,第二部分是在线测试环境的入口。 kubectl 的命令手册 原文地址1 创建集群1.1 使用 Minikube 创建集群Kubernetes 集群Kubernetes 协调一个高可用的计算机集群,这个集... 阅读全文
posted @ 2018-05-05 19:08 kikajack 阅读(708) 评论(0) 推荐(0) 编辑

Vi/Vim

摘要: 1. 概述vi 编辑器有三种模式:正常模式:查看文本,可转换到输入模式或命令模式,在这两个模式下按 Esc 键可以回到正常模式。输入模式:正常模式下,使用 i、a 等进入输入模式,可以修改文本内容。详解: i:在当前光标处进入输入模式,A:将光标移动至当前行... 阅读全文
posted @ 2018-05-05 12:17 kikajack 阅读(174) 评论(0) 推荐(0) 编辑

Kubernetes tutorial - K8S 官方入门教程

摘要: tutorials 教程 kubectl 的命令手册1 Creating a Cluster1.1 Using Minikube to Create a ClusterKubernetes ClustersKubernetes coordinates a h... 阅读全文
posted @ 2018-05-03 23:05 kikajack 阅读(982) 评论(0) 推荐(0) 编辑

MySQL 安装示例数据库(employee、world、sakila、menagerie 等)

摘要: sakila 示例数据库官方资料及安装说明,注意查看示例数据库支持的版本是否匹配你的数据库。为了测试,有时候需要大量的数据集,MySQL 官方提供了用于测试的示例数据库,下载页面在 这里。下面以 sakila 数据库为例,讲讲如何安装。1. 下载在官网下载页... 阅读全文
posted @ 2018-05-03 15:50 kikajack 阅读(1577) 评论(0) 推荐(0) 编辑

Schema 与数据类型优化

摘要: 这是《高性能 MySQL(第三版)》第四章《Schema 与数据类型优化》的读书笔记。1. 选择优化的数据类型数据类型的选择原则:越小越好:选择满足需求的最小类型。注意,增大数据类型的范围是耗时操作,尽量避免。简单:整型比字符操作代价更低。尽量避免 NULL... 阅读全文
posted @ 2018-05-02 18:06 kikajack 阅读(136) 评论(0) 推荐(0) 编辑

Linux 初始化系统 systemd - journald 日志

摘要: journalctl 中文手册 archlinux - journalsystemd-journald 用于检索 systemd 的日志,是 systemd 自带的日志系统。1. systemd-journald 概述systemd-journald 是 s... 阅读全文
posted @ 2018-04-30 23:54 kikajack 阅读(3895) 评论(0) 推荐(0) 编辑

Linux 初始化系统(init)- systemd

摘要: wikipedia 浅析 Linux 初始化 init 系统 systemd 中文手册 fedoraproject - systemd1. Systemd 简介Systemd 是 Linux 系统的初始化系统。提高启动速度通过并行启动和减少启动进程,且采用了... 阅读全文
posted @ 2018-04-30 23:33 kikajack 阅读(754) 评论(0) 推荐(0) 编辑

Vagrant 手册之 Provisioning - File

摘要: 原文地址Provisioner 名字:"file"Vagrant 的 file provisioner 允许将文件或目录从主机上传到客户机。File provisioning 文件配置是一种简单的方法,例如,将本地的 ~/.gitconfig 复制到客户机上... 阅读全文
posted @ 2018-04-30 19:17 kikajack 阅读(145) 评论(0) 推荐(0) 编辑

Vagrant 手册之 Provisioning - 基本用法

摘要: 原文地址虽然 Vagrant 提供了多种配置机器的选项,但还是有一个标准的使用模式,以及所有需要了解的重要问题。1. 配置首先,每个 provisioner 都使用 config.vm.provision 方法调用在 Vagrantfile 中进行配置。例如... 阅读全文
posted @ 2018-04-30 14:28 kikajack 阅读(418) 评论(0) 推荐(0) 编辑

Vagrant 手册之 Provisioning - 概述

摘要: 原文地址作为 vagrant up 过程的一部分,Vagrant 中的 Provisioner 允许你自动安装软件,更改配置等。这很有用,因为 box 通常不是完美地为你的用例构建的,除非你想使用 vagrant ssh 手工安装软件。但是通过使用内置于 V... 阅读全文
posted @ 2018-04-30 11:34 kikajack 阅读(225) 评论(0) 推荐(0) 编辑

Vagrant 手册之 Vagrantfile - Vagrant 设置 config.vagrant

摘要: 原文地址配置的命名空间:config.vagrantconfig.vagrant 中的设置修改 Vagrant 自身的行为。1. 可用设置config.vagrant.host设置运行 Vagrant 的主机类型,默认是 :detect,此时 Vagrant... 阅读全文
posted @ 2018-04-30 11:20 kikajack 阅读(174) 评论(0) 推荐(0) 编辑

Vagrant 手册之 Vagrantfile - SSH 设置 config.ssh

摘要: 原文地址配置的命名空间:config.sshconfig.ssh 中的设置与配置 Vagrant 如何通过 SSH 访问您的计算机相关。 大多数 Vagrant 设置一样,一般使用默认设置即可,但也可以根据自己的喜好进行微调。1. 可用的设置项config.... 阅读全文
posted @ 2018-04-30 11:10 kikajack 阅读(2271) 评论(0) 推荐(0) 编辑

Vagrant 手册之 Vagrantfile - 机器设置 config.vm

摘要: 原文地址配置的命名空间:config.vmconfig.vm 中的设置修改 Vagrant 管理的机器的配置。1. 可用的设置项config.vm.boot_timeoutVagrant 等待机器启动并可用的时间,单位是秒。默认是 300 秒。config.... 阅读全文
posted @ 2018-04-28 22:00 kikajack 阅读(1294) 评论(0) 推荐(0) 编辑

Linux 文件和目录的权限设置 - umask(默认权限),chmod(改变权限)

摘要: 1. chmod 改变已有目录或文件的权限chmod 设置已有目录或文件的权限。可以为指定范围的用户添加或删除权限。权限范围的表示法如下:u:User,即文件或目录的拥有者;g:Group,即文件或目录的所属群组;o:Other,除了文件或目录拥有者或所属群... 阅读全文
posted @ 2018-04-28 21:23 kikajack 阅读(1725) 评论(0) 推荐(0) 编辑

FTP 服务器搭建(基于 CentOS 7)

摘要: 参考资料: 檔案伺服器之三: FTP 伺服器 用 vsftpd 配置FTP服务器 vsftpd 的所有选项注意,如果要所有人同时编辑 FTP 上的所有文件,可以将 vsftpd.conf 配置文件中的 local_umask 选项设置为 002,并且在创建用... 阅读全文
posted @ 2018-04-27 19:40 kikajack 阅读(122) 评论(0) 推荐(0) 编辑

Linux 用户和用户组管理

摘要: 1. 用户相关命令1.1 useradd:添加用户语法:useradd [选项] 用户名选项:-c :备注。备注会保存在 passwd 的备注栏中;-d :指定用户登陆后进入的目录;-D:变更预设值;-e:指定帐号的有效期限;-f:指定在密码过期后多少天即关... 阅读全文
posted @ 2018-04-27 19:24 kikajack 阅读(489) 评论(0) 推荐(0) 编辑

Vagrant 手册之 Vagrantfile - 提示及技巧

摘要: 原文地址Vagrantfile 是一种非常灵活的配置格式。语法基于 Ruby,可以用它做很多事情。在本页使用一些提示和技巧时,请注意正确使用它们。1. 使用循环定义虚拟机如果你想对多机器应用稍微不同的配置,可以使用一个循环来做到这一点。例如,如果你想创建三台... 阅读全文
posted @ 2018-04-25 22:41 kikajack 阅读(170) 评论(0) 推荐(0) 编辑

Vagrant 手册之 Vagrantfile - 最低版本

摘要: 原文地址可以在 Vagrantfile 中指定一组 Vagrant 的版本,以强制人们使用带有 Vagrantfile 的特定版本的 Vagrant。这可以帮助解决使用带有 Vagrantfile 的过时的 Vagrant 版本可能引起的兼容性问题。(A s... 阅读全文
posted @ 2018-04-25 22:30 kikajack 阅读(150) 评论(0) 推荐(0) 编辑

Vagrant 手册之 Vagrantfile - 配置版本

摘要: 原文地址配置版本是 Vagrant 1.1+(引入了大量新功能和配置选项) 能够与 Vagrant 1.0.x Vagrantfiles 保持向后兼容的机制。现在运行 vagrant init 时,Vagrantfile 将大致采用以下格式:Vagrant.... 阅读全文
posted @ 2018-04-25 22:19 kikajack 阅读(386) 评论(0) 推荐(0) 编辑