限流器 RateLimiter

限流器 我们项目是新闻类的站点,每天需要限制各种爬虫,保证服务在可承受范围内,需要保护后台服务正常。需要使用限流器。 固定 滑动 令牌桶 一 固定窗口:

Spring Bean创建过程

bean初始化过程: 大体分为三个过程bean的对象创建、属性填充、初始化事件 bean的创建前事件,其中bean的创建前事件主要场景是在aop

Java_docker_jvm

当前jvm配置 -XX:+PrintFlagsInitial 查看初始 docker JAVA_OPTS 1-XX:+AlwaysPreTouch 2 JAVA进程启动的时候,虽然我们可以为JVM指定合适的内存大小,但是这些内存操作系统并没有真正的分配给JVM

网络常用工具

网络配置相关:ifconfig、ip 路由相关:route、netstat、ip 查看端口工具:netstat、lsof、ss、nc、telne

Kubernetes ARM平台 安装

安装 环境 arm平台 1Kernel 2 3Linux rock64 4.4.132-1075-rockchip-ayufan-ga83beded8524 #1 SMP Thu Jul 26 08:22:22 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux 4 5System 6 7No LSB modules are available. 8Distributor ID: Ubuntu 9Description: Ubuntu 18.04.4 LTS 10Release: 18.04 11Codename: bionic 12 13Memory 14 total used free …

Git撤销更改

在多人合作程序开发的过程中,有时会将错误提交的情况,此时希望能撤销提交操作,让程序回到提交前的样子,解决方法:回退(reset)、反做(revert)。

Controller方法上自定义注解

定义自定义注解 1@Retention(RetentionPolicy.RUNTIME) 2@Target(ElementType.PARAMETER) 3public @interface Logined { 4} 注解处理器 1@Component 2@Slf4j 3public class LoginedArgumentResolver implements HandlerMethodArgumentResolver { 4 @Override 5 public boolean supportsParameter(MethodParameter parameter) { 6 return …

HandlerMapping

Spring HandlerMapping 1package org.springframework.web.servlet; 2 3import javax.servlet.http.HttpServletRequest; 4 5import org.springframework.lang.Nullable; 6 7public interface HandlerMapping { 8 // 省略一下常量配置..... 9 /** 10 * 返回此请求的处理程序和任何拦截器。可以根据请求URL、会话状态或实现类选

Java 基础技

Java 基础技能 包括以下大致内容 Object类的常用方法 常用反射方法 常用字段处理 枚举处理 泛型的获取 基本类型的判断 1. isAssignableFrom

Mac系统当前查看内存

mac系统当前查看内存 1#!/usr/bin/python 2# -*- coding: utf-8 -*- 3 4''' 5Created on Jun 1, 2014 6@author: jay 7''' 8 9import subprocess 10import re 11 12# Get process info 13ps = subprocess.Popen(['ps', '-caxm', '-orss,comm'], stdout=subprocess.PIPE).communicate()[0] 14vm = …

数据库配置

数据库配置 my.cnf 1[client] 2user=root 3password=111111 4 5[mysqld] 6########basic settings######## 7server-id = 223 8port = 3306 9user = mysql 10# bind_address = 172.16.6.39 11character_set_server=utf8mb4 12skip_name_resolve = 1 13# max_connections = 800 14max_connections = 128 15max_connect_errors = 1000 16datadir = …

用一条SQL查询产品的库存

使用一条SQL语句,对产品的库存查询。 产品的表结构 1CREATE TABLE `temp` ( 2 `id` int(11) NOT NULL AUTO_INCREMENT, 3 `product_id` int(11) NOT NULL, 4 `flag` int(1) DEFAULT NULL, 5 `size` int(11) DEFAULT NULL, 6 PRIMARY KEY (`id`) 7) ENGINE=InnoDB DEFAULT CHARSET=utf8; 字段 描述 id 主键 product_id 产品唯一

Apt-Get 常用命令

1apt-cache search package #搜索包(相当于yum list | grep pkg) 2apt-cache show package #显示包的相关信息,如说明、大小、版本等 3apt-cache showpg package #显示包的相关信息,如Reverse Depen

GitLab开启HTTPS模式

GitLab开启HTTPS模式, 证书在proxy代理层验证模式 生成证书 快速方式,docker进行快速生成 1version: "3" 2services: 3acme.sh: 4 image: neilpang/acme.sh 5 container_name: acme.sh 6 restart: always 7 network_mode: host 8 #

Git操作

Git操作 - 删除untracked files 删除 untracked files 1git clean -f 连 untracked 的目录也一起删掉 1git clean -fd 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删

HTTP请求头

HTTP请求头 常用请求头 请求头 描述 备注 Accept 告诉web服务器自己接收什么媒体类型。 Accept-Charset 浏览器接收内容的字符集,通常是utf-8。 Accept-Encoding 浏览器接收的编码

Nginx 日志切割

nginx 日志切割 nginx 以docker模式运行 docker 的容器名字是nginx,日志切割后的需要执行的命令 docker ps | grep nginx 在目录下/etc/logrotate.d增加

版本发布规范

版本发布规范 版本号命名规则指南 版本号的格式为 X.Y.Z(又称 Major.Minor.Patch),递增的规则为: X 表示主版本号,当 API 的兼容性