Clay 的技术空间

用进废退 | 艺不压身

系统环境

1
2
CentOS Linux release 7.6.1810 (Core)
Linux centos7 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

安装 Supervisor

1
2
3
4
5
6
7
8
9
10
11
12
13
# 提示:supervisor主要用于管理redis的开机自启动(带守护进程)

# 安装
# yum install -y supervisor

# 开机自启动
# systemctl enable supervisord

# 启动服务
# systemctl start supervisord

# 查看服务状态
# systemctl status supervisord
阅读全文 »

Jpegoptim 压缩 JPG 图片

1
2
3
4
5
6
7
8
# 安装jpegoptim
# yum install jpegoptim

# 压缩jpg图片
# jpegoptim ttlsa.jpg

# 批量压缩某目录下所有jpg图片
# for i in /data/site/image.ttlsa.com/images/*.jpg; do jpegoptim $i; done
阅读全文 »

第一步:注册 NPM 仓库帐号

第二步:创建 NodeJS 项目

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 创建项目的根目录
$ mkdir test-module

# 进入项目的根目录
$ cd test-module

# 初始化当前项目,根据提示填写项目信息
$ npm init

# 初始化后,最终生成package.json文件,文件内容示例如下:
{
"name": "test-module",
"version": "1.0.0",
"description": "0.0.1",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Clay",
"license": "MIT"
}
阅读全文 »

Gulp 压缩代码

版本说明

主要模块的版本号分别为: gulp 3.9.x,gulp-babel 7.x,babel-core 6.x

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
"babel-core": "^6.26.3",
"babel-loader": "^7.1.5",
"babel-preset-env": "^1.7.0",
"babel-preset-es2015": "^6.24.1",
"gulp": "^3.9.1",
"gulp-babel": "^7.0.1",
"gulp-cache": "^1.1.1",
"gulp-changed": "^3.2.0",
"gulp-clean": "^0.4.0",
"gulp-debug": "^4.0.0",
"gulp-htmlclean": "^2.7.22",
"gulp-htmlmin": "^5.0.1",
"gulp-imagemin": "^5.0.3",
"gulp-minify-css": "^1.2.4",
"gulp-uglify": "^3.0.2",
"gulp-util": "^3.0.8",
"imagemin-pngquant": "^7.0.0"
阅读全文 »

清理垃圾或者无效的谷歌搜索记录

清理步骤如下:

  • 为垃圾或者无效的搜索记录链接制作 301 跳转
  • 在 robots.txt 中添加禁止收录或者无效的搜索记录的链接
  • 重新生成新的站点地图文件,并提交到 Google 站长平台

删除谷歌搜索记录

由于上面的步骤做完还需要一段时间才能生效,而且每次使用谷歌搜索还是可以看到自己的网站挂着垃圾或无效链接,此时可以使用谷歌站长平台的 “移除网址” 功能来删除搜索记录。进到谷歌站长平台的操作后台,找到谷歌索引 -> 移除网址。在谷歌搜索框中输入”site:xxx.com” 查看自己站点的收录结果,把不想被收录的 URL(不包含 http://域名,例如填写 /posts/6edb1958/ 即可)提交到移除网址里面,生效时间一般是 1-6 小时。
google-index-remove-urls

阅读全文 »

百度站长死链提交工具介绍

  • 死链提交工具生效时间为 3 天
  • 死链提交有两种方式:文件提交、规则提交
  • 死链提交工具仅识别 404 数据,请提交 404 数据;如误使用本工具,且站点内容不为死链,则提交不会生效
  • 死链提交工具是网站向百度提交死链的数据推送工具,被推送死链将被百度搜索屏蔽。网站存在大量死链,将影响网站的站点评级

百度站长平台提交死链

注册百度站长平台帐号,然后登录进去找到” 数据引入” -> “死链提交”。
baidu-zhanzhang-1

阅读全文 »

Maven 使用

Maven 调试技巧

  • mvn dependency:tree,打印依赖树
  • mvn clean -X,使用 -X 参数输出详细的日志信息
  • mvn -X,查看当前生效的是哪个 settings.xml 配置文件
  • mvn help:effective-settings,查看正在起作用的是那个 settings.xml 的文件内容

安装跳过测试用例

  • 使用命令 mvn install -DskipTests,不执行测试用例,但会编译测试用例类的代码
  • 使用命令 mvn install -Dmaven.test.skip=true,不但跳过单元测试的运行,也跳过单元测试代码的编译
阅读全文 »

前言

本文适用于 Centos/Debian/Ubuntu 等 Linux 发行版系统。

安装 Oracle JDK

安装 Oracle JDK 不是必需的,如果不想安装可以使用 Open-JDK 替代,而且大多数 Linux 发行版自带 Open-JDK。

阅读全文 »

上篇:Jenkins 入门教程之三 Jenkins 与 SVN 持续集成实战

Jenkins+GitHub 持续集成环境的搭建,与 Jenkins+SVN 持续集成环境的搭建很相似,下面只简单介绍 Jenkins+GitHub 的重点内容,额外的操作可参考上一篇文章。

Jenkins+GitHub 持续集成环境搭建要点

  • Jenkins 需要部署到外网上,因为内网地址 GitHub 是无法访问到的,可以租用阿里云等云服务平台
  • Jenkins 所在的主机上需要安装 Git,通过 Git 程序从 GitHub 上 clone 代码
  • 在 Jenkins 内需要指定 Git 程序位置,和指定 JDK、Maven 的位置类似
  • 在 GitHub 上使用 repository 的 WebHook 方式远程触发 Jenkins 构建
  • 在 Jenkins 内关闭 “防止跨站点请求伪造”
阅读全文 »

大纲

线程池的介绍

线程池的作用

  • 限定线程的个数,避免由于线程过多导致系统运行缓慢或崩溃。
  • 线程池不需要每次都去创建或销毁线程,节约了资源。
  • 线程池不需要每次都去创建线程,响应时间更快。

线程池的组成

线程池是一种线程管理的机制,用于提高多线程任务处理的效率和性能。它由线程池管理器、工作队列和一组工作线程组成。

  • 线程池管理器:负责创建、管理和调度线程池中的线程。它根据需要动态地创建或销毁线程,并分配任务给空闲的线程。
  • 工作队列:用于存储待执行的任务。线程池中的线程从工作队列中取出任务进行处理。当工作队列已满时,新提交的任务可能会被拒绝或者等待一段时间。
  • 工作线程:线程池中的实际执行单元。它们循环地从工作队列中取出任务执行,并在任务执行完毕后返回线程池等待下一次任务。
阅读全文 »