/images/avatar.jpg

雨临Lewis的博客

Hugo系列(3.0) - LoveIt主题美化与博客功能增强 · 第一章

前言

本博客使用的是Hugo的LoveIt主题,本文也是基于该主题而写的,不过Hugo的美化步骤应该大同小异,版本如下:

1
2
3
hugo: v0.74.2/extended windows/amd64 BuildDate: unknown

LoveIt: v0.2.10

请注意,本文的所有功能都离不开两个新增加的文件:_custom.scsscustom.js,部分功能还需要jquery,在第一章中会提及如何引入。

另外本文篇幅太长,阅读体验不好,将其进行分章如下:

Hugo系列(2) - 通过配置文件来定制个人站点

前言

Hugo本身可以通过修改站点配置文件来完成页面的部分定制,如按钮、多语言等功能。本文基于LoveIt主题【v0.2.10】,且所使用的Hugo版本如下,不同版本且不同主题可能无法适用某些属性:

1
2
>hugo version
Hugo Static Site Generator v0.74.2/extended windows/amd64 BuildDate: unknown

直男护肤

前言 简单快速地记录下一个直男癌的肤浅护肤笔记,方便日后回顾。 首先是区分肤质,大部分男生都是油性皮肤或者混合型皮肤(夏天时出油,换季时掉皮,即半油半干性肤质)。少部分是干性皮肤。还有的是过敏性肤质(敏感肌),属于很多护肤品都不能用的类型。 本人属于混合型皮肤,这里只记录混合型或者油性皮肤相关的护肤品。 护肤品使用步骤:洗面奶,爽肤水,精华,乳液,面霜。 洗面奶洗去毛

Hugo系列(1) - 简单搭建教程与远程部署

前言

使用Hexo搭建个人博客也有两年多时间了,当文章数量达到上百篇之后,开始发现Hexo生成文章的效率越来越慢,直到每次生成都需要至少五分钟的时间。我发现生成效率和文章涉及到的分类和标签有很大关系,由于文章数量多,每篇文章又都关联了若干个分类和标签,再加上我使用了压缩样式的插件,最终导致极其低下的生成效率。

在经过一段时间的考量后,决定将Hexo博客迁移到Hugo。Hugo是用go语言开发的,在用法上和Hexo类似,可以简单地把Hugo当成go语言版的Hexo,但是它拥有更快的生成效率。下面是官网的原话:

Java的远程调试Remote Debug

前言

一般开发项目时可以直接本地借助IDE工具进行debug调试,但对于线上的项目,则需要借助Java提供的远程debug功能来进行调试。可以在启动项目前通过配置对应的JVM参数来启用远程debug,也可以把参数添加到Tomcat或者Jetty之类的启动脚本里。

配置JVM参数

1
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n

参数说明:

JDK自带的那些好用的工具

将中文转换为ASCII码的工具 在jdk的安装目录下,有一个bin文件夹,这里隐藏了一个将中文转换为ASCII码的工具:native2ascii.exe。双击运行该程序,输入要转换的中文,按下Enter,就可以得到相应的ASCII码了。 接下来要如何将该ASCII码复制到文本上? 右键cmd窗口,选择编辑菜单里的标记,选定了要复制的内容后按下Enter就自动复制到

SQL - where条件里的!=会过滤值为null的数据

on和where的区别

on和where后都表示查询条件,它们的区别如下:

1、on只能用于连接查询(内连接、外连接、交叉连接),在其他情况下使用on会报错,比如:

1
select* from test on id = 1; -- 报错,不能在普通查询里使用on,需要使用where

2、连接查询会产生一张中间表(临时表),on是在生成中间表时使用的条件;而where是在中间表生成后对中间表进行过滤使用的条件。比如:

由Java正则表达式的灾难性回溯引发的高CPU异常:java.util.regex.Pattern$Loop.match

问题与分析

某天领导report了一个问题:线上的CPU自从上一个版本迭代后就一直处于居高不下的状况,领导看着这段时间的曲线图判断是有两条线程在不停的死循环。

接到任务后去查看了AWS的CloudWatch,发现线上CPU确实一直居高不下,使用率基本是之前的两倍;另外发现线程使用率以比之前频繁很多。后来公司的大佬拿到dump后经过分析发现,是由正则表达式造成的CPU持续高使用率的问题。

Jetty - Unable to compile class for JSP

问题与分析

在启动公司项目时发现报错如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
    [jetty] 2019-10-07 10:28:28.760:WARN:org.apache.jasper.compiler.Compiler:Error compiling file: D:\lewis.liu\CBX_KME\Program\jetty-temp\main\jsp\org\apache\jsp\invalidatePrevSession_jsp.javanull
    [jetty] 2019-10-07 10:28:28.763:WARN::/main/invalidatePrevSession.jsp
    [jetty] org.apache.jasper.JasperException: PWC6033: Unable to compile class for JSP||PWC6199: Generated servlet error:|The import com.core.cbx.ui.zk.cul.grid.renderer.FileLinkCellRenderer cannot be resolved||
    [jetty]     at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:123)
    [jetty]     at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:296)
    [jetty]     at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:376)
    [jetty]     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:437)
    [jetty]     at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:608)
    [jetty]     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:360)
    [jetty]     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
    [jetty]     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
    [jetty]     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

ELK系列(3) - Logstash问题汇总

启动参数

启动Logstash时可以指定一些参数:

1
2
3
4
5
-w # 指定线程,默认是cpu核数 
-f # 指定配置文件
-r # 启用热加载,可以在运行期间修改配置文件并生效
-t # 测试配置文件是否正常
-b # 执行filter模块之前最大能积累的日志,数值越大性能越好,同时越占内存