梦在星辰

「十方空无异 众生起分别」

MySql LEFT JOIN 索引失效

DATABASE MYSQL INDEX LEFT JOIN

记一次 mysql 左连接导致索引失效的原因 起因 生产环境一条查询 3 张表的 sql(简化版) : 1 2 3 SELECT * FROM TABLE1 T1 -- 大概 1500 条数据 LEFT JOIN TABLE2 T2 ON T1.T2_ID = T2.OBJ_ID -- 大概 1000 条数据 LEFT JOIN TABLE2 T3 ON T1.T3_ID = T3....

Nginx 相同端口, 自动转发 http 请求到 https

Nginx 相同端口, 自动转发 http 请求到 https

可同时对同端口, 同域名, 代理 http&https 请求 起因 因为公司服务器映射公网时, 不允许暴露 80 和 443 端口, 所以上线项目另选了端口作为监听端口, 域名解析配置为: study.gomyck.com - 47.100.100.222 (示例解析, 实际并不是) 并为该二级域名申请了 ssl 证书, 为了使用户可以用一个 url 访问服务(study.go...

Reference 学习笔记

Reference 引用

学习了解 java 引用类型, 并应用到实际需求 java 数据类型介绍 java 中数据类型分为: 基本类型, 引用类型 基本类型: 四类八种, 分为整型(byte short int long), 浮点型(double, float), 布尔型(boolean), 字符型(char), 对于基本类型来说, 其值与引用地址都存在栈中, 栈对应的值, 就是该变量的实际值 ...

微服务内网穿透实践

NGINX FRP SPRINGBOOT EUREKA

完美穿透内网阻塞, 映射多个服务到注册中心 1.起因 因为在家里办公时, 多个微服务需要注册到服务器上的 eureka 但是家里的路由器设置端口映射不好使(路由器上层还有光猫, 但是光猫设置不了) 所以只能使用内网穿透软件来做端口映射 2.解决 在使用内外网穿透软件的时候, 反向代理软件只需要监听一个端口: 比如说 80 (nginx) 网关从 eureka 上获取服务 uri...

zuul 自定义负载策略

ZUUL LOAD-BALANCE RIBBON

学习并实践-自定义 zuul 网关的负载策略 2020 年开年困苦, 在此希望疫情早日消散, 广大人民群众身体安康 1.起因 因为疫情的原因, 部门同事都在家办公, 在协同开发的时候, 不可避免的会出现下面的问题: A 和 B 为前端开发人员, 需要与 C, D 两位后端服务人员一对一进行接口调试(A 对 C, B 对 D) C 和 D 都在 eureka 注册了自己的服务...

记一次正则的实践(先行断言, 后行断言, 贪婪/懒惰匹配)

REGULAR PATTERN MATCH

对 url 进行截取的正则表达式编写过程 需求分析 给定一个 url , 需要截取出来主机地址, 但不包括上下文以及之后的请求路径 exp: http://www.gomyck.com/ck/query/userInfo?name=gomyck 使用给定的正则匹配之后, 要得到 www.gomyck.com 推导过程 根据 url 的组成(schema + :// + uri +...

crontab 使用方法

SHELL BASH CRONTAB

crontab 是linux系统内置的任务调度程序, 可以自定义任务调度在指定的时间段调用指定的 shell 命令 配置文件 crontab 配置文件位置: /var/spool/cron/ 使用方法 1 2 3 4 5 6 7 8 9 10 11 Options: -u <user> define user -e edit user's cront...

zsh 安装使用

SHELL BASH ZSH SH

简单介绍几种shell(命令行)解释器, 以及 zsh 和 oh-my-zsh 的安装使用 sh 和 bash 问: 为什么 unix* 和 linux*有这么多 shell 解释器? 答: 大牛程序员觉得当前终端不好用, 自己写了一个, 慢慢的, 多个标准终端诞生 使用以下命令可以查看当前系统的 shell 解释器列表 1 2 $ cat /etc/shells 我们一般可以在...

Jenkins 安装使用

Jenkins CD&CI

CentOS安装 Jenkins, 并自动部署maven微服务项目 jenkins 介绍 Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。 CI&CD介绍 continuous integration & continuous delivery (持续集成与持续交付), 与字面意思相同, 指在软...

Linux修改包管理镜像

LINUX YUM APT-GET

apt-get 和 yum 的镜像源修改方法 CentOS – yum 安装 epel 源 EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux. 1 2 3 4 5 6 7 8 9 10 11 # 安装 yum e...