191206-Docker 常用命令速查手册

记录一下docker的日常使用命令,本文主要针对linux + mac操作系统而言,window是否适用不太确定,谨慎使用

191206-Centos安装docker与使用说明

本文主要介绍Centos下如何安装docker,并给出一些基本的使用case

191204-Ognl 使用实例手册

上一篇博文介绍了ongl的基础语法,接下来进入实际的使用篇,我们将结合一些实际的case,来演示ognl究竟可以支撑到什么地步

在看本文之前,强烈建议先熟悉一下什么是ognl,以及其语法特点,减少阅读障碍,五分钟入门系列: 191129-Ognl 语法基础教程

191129-Ognl 语法基础教程

本文将力求用最简单的语言是和示例,介绍一下OGNL的语法规则,文章主要内容参考自官方文档http://commons.apache.org/proper/commons-ognl/language-guide.html

  • 本篇主要是语法介绍篇,实战放在一下篇

191122-nginx 开启gzip压缩配置

ngxin 开启gzip压缩,减少数据包大小,默认场景下nginx没有开启gzip压缩,需要主动指定

关键配置修改如下(进入配置文件 nginx.conf)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
http {
# ...

# 开启gzip压缩
gzip on;
# 表示当请求的资源超过1k时,才开启压缩
gzip_min_length 1k;
# 设置压缩所需要的缓冲区大小
gzip_buffers 4 16k;
# 针对的http版本
gzip_http_version 1.0;
# 压缩级别,级别越底压缩速度越快文件压缩比越小,反之速度越慢文件压缩比越大
gzip_comp_level 2;
# 支持压缩的资源类型,对于前后盾分离的项目而言,注意下json的压缩支持
gzip_types text/plain application/x-javascript text/css application/xml application/json text/javascript application/x-httpd-php image/jpeg image/gif image/png;
# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary off;
# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";

}

修改完毕之后重启nginx即可

1
nginx -s reload

191121-Python 科学计数法误用引起的血案

记录一个代码中误用科学计数法导致所有的数据增大十倍的问题

科学计数法用e表示,后面跟上数字n,表示10的n次方;然后10^8用科学计算法怎么写?

正确写法

1
1e8  # 前面的1不能缺少

错误用法

1
10e8  # 这个实际上是10亿

191113-Quick-Media Java生成艺术二维码也可以很简单

现在二维码可以说非常常见了,当然我们见得多的一般是白底黑块,有的再中间加一个logo,或者将二维码嵌在一张特定的背景中(比如微信、支付宝的收款码);偶尔也可能看到一些酷炫的二维码,比如非黑白的、渐变色的、非方块样式的,或者说是动态的二维码

那么问题来了,走位一个java开发者而言,有没有什么开源库,可以简单迅速不烧脑的实现各种炫酷的二维码呢?

接下来我们将介绍下,如何借助 https://github.com/liuyueyi/quick-media 项目的 qrcode-plugin 来生成各种酷炫的二维码

191107-InputStream重复使用小技巧

在日常的编码中,有时会遇到,需要重复获取InputStream中的数据的需求;然后一般的流,只能读一次,读完就没了;那么如果我希望有一个可以重复读取数据的InputStream,可以怎么操作?

191104-Python 封装一个通用日志插件

日志对于一个应用程序而言,不可获取;特别是在问题定位,链路分析往往是最直观,最有效的富足工具;所以在python中可以怎样便捷的使用日志模块呢

191015-Python markdown转html

本篇将介绍如何利用python来实现markdown文档转html

1. 依赖安装

我们主要借助 python-markdown这库来实现markdown转html的功能,官方安装教程如下

https://python-markdown.github.io/install/

python的依赖包安装相对简单,直接使用pip

1
pip install markdown

191009-Python之定义函数参数、返回类型

python虽然是一个弱类型的语言,在编码中,不需要特别声明参数类型,然而在实际的场景中,这种不现实指定参数类型经常会带来预期之外的问题,而且编译器还不会提示错误

如果我有一个函数,对参数类型和返回类型都有要求,可以怎么做?

1
2
def 函数名(参数: 参数类型...) -> 返回值类型:
pass

190925-Redis集群搭建手册

之前在使用redis的case中,更多的只是单机的使用;随着业务的增长,为了更好的性能提供,集群是一个必然的发展趋势;下面记录一下搭建集群的步骤

单机安装手册,可以查看: 单机redis安装手册

190920-ProtoStuff不支持BigDecimal序列化/反序列化记录

平时使用ProtoStuff作为序列化工具,对于一些POJO对象序列化,但是在实际使用中,发现针对BigDecimal对象进行序列化时却出现了问题

  • 不管什么数,生成的byte数组都一样
  • 无法正确反序列化

下面记录一下这个问题

190909-Java之输出异常堆栈信息

在代码出现异常时,堆栈信息可以有效的辅助定位和排除问题,异常堆栈一般是怎么打印的呢

190906-MySql Timestamp默认值限制问题

今天在往mysql表中新增一列timestamp时,希望设置默认值为0,结果发现居然提示失败,记录一下

190821-ProtoStuff无法反序列化Deprecated注解成员问题记录

今天开发过程中,遇到一个鬼畜的问题,在DO的某个成员上添加@Deprecated注解之后,通过ProtoStuff反序列化得到的DO中,这个成员一直为null;花了不少时间才定位这个问题,特此记录一下

190814-Influx Sql系列教程九:query数据查询基本篇二

前面一篇介绍了influxdb中基本的查询操作,在结尾处提到了如果我们希望对查询的结果进行分组,排序,分页时,应该怎么操作,接下来我们看一下上面几个场景的支持

在开始本文之前,建议先阅读上篇博文: 190813-Influx Sql系列教程八:query数据查询基本篇

190813-Influx Sql系列教程八:query数据查询基本篇

前面几篇介绍了InfluxDB的添加,删除修改数据,接下来进入查询篇,掌握一定的SQL知识对于理解本篇博文有更好的帮助,下面在介绍查询的基础操作的同时,也会给出InfluxSql与SQL之间的一些差别

190809-Centos用户无法切换问题记录

使用influxdb时,需要执行一个命令时,要求切换到influxdb的用户下,发现通过 su influxdb 居然切不过去,特此记录一下

190808-Python CSV读写解决中文乱码问题

一般而言,我并不会直接操作excel文件,如果需要输出表格的时候,我会选择csv文件,用英文逗号来分割不同的单元格;csv文件的优点是简单,文本格式,vim可以直接打开编辑,excel也可以打开可以方便的转换为excel文档;可以说即适合开发人员,也适合给运营同学

然而有个蛋疼的问题,csv文件中文乱码问题,下面记录下,在python中如何解决

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×