<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[欢迎来到wise哲的博客空间]]></title><description><![CDATA[共勉]]></description><link>https://blog.youkuaiyun.com/F1004145107</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; F1004145107]]></copyright><item><title><![CDATA[使用MarkDown来写一份漂亮简约的简历]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106999629</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106999629</guid><author>F1004145107</author><pubDate>Tue, 26 Jan 2021 13:52:28 +0800</pubDate><description><![CDATA[/ 前言 /
简历是我们求职过程中很重要的一环, 一份漂亮简约的简历可以帮助你获得更多的面试机会, 我们一般使用的都是Word来完成简历的编写, 但是我发现无论我使用什么模板来编辑简历最终呈现的效果总是不尽如人意, 所以我决定使用MarkDown来编写简历, 事实证明, 只要你选对了排版方式, 那么你的简历会变的非常漂亮简约
/ 1 / Typora
我使用的MarkDown编辑器是Typora, 它支持一些emjio图标来帮助我们更好的完成简历
Typora中的emoji图标标签
Typora还支持将Ma]]></description><category></category></item><item><title><![CDATA[Typora中的emoji图标标签]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106999446</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106999446</guid><author>F1004145107</author><pubDate>Sun, 28 Jun 2020 15:13:28 +0800</pubDate><description><![CDATA[People

????:smile:
			????:laughing:
			
		????:blush:
			????:smiley:
			☺️:relaxed:
		????:smirk:
			????:heart_eyes:
			????:kissing_heart:
		????:kissing_closed_eyes:
			????:flushed:
			????:relieved:
		????:satisfied:
			????:grin:
			????:wink:
		?]]></description><category></category></item><item><title><![CDATA[解决Helm Chart异常Error: a release named tomcat already exists]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106938688</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106938688</guid><author>F1004145107</author><pubDate>Wed, 24 Jun 2020 10:36:25 +0800</pubDate><description><![CDATA[异常信息
Error: a release named tomcat already exists.

异常原因
使用helm delete xxx命令删除时并没有完全删除干净
解决方案
使用helm ls --all查看全部APP
[root@localhost]# helm ls --all
NAME                            	REVISION	UPDATED                 	STATUS  	CHART                          ]]></description><category></category></item><item><title><![CDATA[解决go run: cannot run non-main package异常]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106938428</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106938428</guid><author>F1004145107</author><pubDate>Wed, 24 Jun 2020 10:22:09 +0800</pubDate><description><![CDATA[异常信息
go run: cannot run non-main package

异常原因
在Go语言中, 只有package为main时才能执行main方法
package main

import "fmt"

func main() {
	fmt.Println("main")
}

如果是要做测试的话建议使用专业的测试类来测试
package test

import (
	"testing"
)

func TestMethod(t *testing.T) {
	
}

注意 : 测试类的末尾必]]></description><category></category></item><item><title><![CDATA[解决Go无法下载依赖问题 i/o timeout]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106937612</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106937612</guid><author>F1004145107</author><pubDate>Wed, 24 Jun 2020 09:57:07 +0800</pubDate><description><![CDATA[异常信息
unrecognized import path "golang.org/x/sys/unix": https fetch: Get "https://golang.org/x/sys/unix?go .... i/o timeout)

这个异常的原因是因为某些特殊原因, 我们无法下载墙外的依赖, 所以我们需要去代理服务器进行下载
解决方案
1. 设置GOPROXY环境变量
修改/etc/profile文件
export GOPROXY=https://goproxy.io/zh/ 

配置完G]]></description><category></category></item><item><title><![CDATA[Golang库 - viper读取配置文件]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106838645</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106838645</guid><author>F1004145107</author><pubDate>Thu, 18 Jun 2020 18:07:31 +0800</pubDate><description><![CDATA[/ 前言 /
viper是由Steve Francia编写的开源配置解决方案, 也是cobra的作者, 我们来看下viper的功能

支持JSON、TOML、YAML/YML、PROPERTIES、ENVFILE等文件的读取
修改读取文件的键值数据
监听配置文件的修改并自动重新加载

下载
go get github.com/spf13/viper

GitHub地址
/ 1 / 读取配置文件
在读取配置文件中我们将会演示viper的集中使用方式
我们以.yml文件为例
config.yml
user:
 ]]></description><category></category></item><item><title><![CDATA[解决RuntimeError: maximum recursion depth exceeded递归异常]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106836302</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106836302</guid><author>F1004145107</author><pubDate>Thu, 18 Jun 2020 16:00:16 +0800</pubDate><description><![CDATA[/ 前言 /
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不久前写了一个脚本检测Linux某一个服务是否是启动状态, 因为服务启动时间较长就加了一个递归操作, 结果报错RuntimeError: maximum recursion depth exceeded, 我们来看下如何解决
/ 1 / 问题分析
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 问题出现后我去网上查找发现报错原因是递归次数超过了Python3.x的默认递归深度, 那么我]]></description><category></category></item><item><title><![CDATA[超详细的Shell命令大全]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106674888</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106674888</guid><author>F1004145107</author><pubDate>Wed, 10 Jun 2020 22:22:17 +0800</pubDate><description><![CDATA[/ 前言 /
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 持续更新中 . . .
/ 1 / 基础语法
1 . 1 拷贝
# 将a.txt中的内容拷贝到b.txt中
cp a.txt b.txt

# 将file文件复制到/path路径下
cp file  /path/file

# 将path路径下所有文件拷贝到newPath下
cp -a path newPath

# 覆盖既有文件之前先询问用户
cp -i a.txt /path/a.txt

# 覆盖已存在的文件目标前]]></description><category></category></item><item><title><![CDATA[解决SSH出现Host key verification failed error]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106665734</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106665734</guid><author>F1004145107</author><pubDate>Wed, 10 Jun 2020 15:07:20 +0800</pubDate><description><![CDATA[报错原因
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果我们对某一台服务器配置了root免密登录, 然后将服务打包成了镜像安装到了另一台服务器上, 再次使用ssh连接root账号就会出现Host key verification failed.异常
报错信息
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANG]]></description><category></category></item><item><title><![CDATA[Shell脚本自动修改MySQL主从配置]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106665228</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106665228</guid><author>F1004145107</author><pubDate>Wed, 10 Jun 2020 14:43:53 +0800</pubDate><description><![CDATA[/ 前言 /
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本文主要帮助你实现如何在MySQL服务迁移时通过脚本来自动完成MySQL主从的重新配置
/ 1 / 脚本
使用方式
运行该脚本时需要当前主机安装有MySQL并且需要输入三次密码
第一次是连接MySQL-Master服务进行Slave服务更新操作
第二次是连接MySQL-Master服务读取最新的Master日志信息
第三次是连接MySQL-Slave服务更新Master信息
如果你不想频繁的输入密码可以看一下我之前的博文]]></description><category></category></item><item><title><![CDATA[Shell脚本测试服务是否能够ping通]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106664797</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106664797</guid><author>F1004145107</author><pubDate>Wed, 10 Jun 2020 14:30:08 +0800</pubDate><description><![CDATA[/ 1 / ping指令详解
-d         ：使用Socket的SO_DEBUG功能；
-c&lt;完成次数&gt;：设置完成要求回应的次数；
-f：极限检测；
-i&lt;间隔秒数&gt;：指定收发信息的间隔时间；
-I&lt;网络界面&gt;：使用指定的网络界面送出数据包；
-l&lt;前置载入&gt;：设置在送出要求信息之前，先行发出的数据包；
-n         ：只输出数值；
-p&lt;范本样式&gt;：设置填满数据包的范本样式；
-q         ：不显示指令执行过程，开头和结尾]]></description><category></category></item><item><title><![CDATA[Shell脚本中最常用的特殊变量(附样例)]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106646712</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106646712</guid><author>F1004145107</author><pubDate>Wed, 10 Jun 2020 11:28:06 +0800</pubDate><description><![CDATA[$?
获取最近一个命令的结果, 0代表着成功 ,其余代表着失败
$?测试Shell脚本test.sh
#!/bin/bash

url=www.youkuaiyun.com
ping -c 1 -W 5 $url
num=$?
if [[ $num -eq 0 ]];then
  echo "${url}可以ping通"
else
  echo "${url}无法ping通"
fi

运行结果
localhost :wise$ sh test.sh
PING www.youkuaiyun.com (47.95.164.112): ]]></description><category></category></item><item><title><![CDATA[使用Explain完成SQL性能优化 从小白 → 大白]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106601075</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106601075</guid><author>F1004145107</author><pubDate>Mon, 08 Jun 2020 15:03:49 +0800</pubDate><description><![CDATA[/ 前言 /
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;对于服务端开发人员来说性能非常重要, 接口的响应时间也是关系到用户体验的大事, 所以SQL的执行时长就至关重要了, 我们通过SQL语句结构优化和添加索引的方式来压缩SQL的执行时长, 但是优化一条SQL我们首先需要知道这条SQL的问题在哪, 你需要一个好的工具Explain
/ 1 / 索引信息
我们来看下索引所在的表结构
CREATE TABLE "user" (
  "id" int(11) NOT NULL AUTO]]></description><category></category></item><item><title><![CDATA[MySQL命令大全 - 从小白 → 大白之路]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106533197</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106533197</guid><author>F1004145107</author><pubDate>Sun, 07 Jun 2020 13:31:22 +0800</pubDate><description><![CDATA[数据库连接
# 连接到本地MySQL
mysql -uroot -ppassword

# 连接到远程MySQL服务
mysql -hip -uroot -ppassword



数据库密码
查询MySQL默认密码(5.7⤴️)
sudo grep 'temporary password' /var/log/mysqld.log

修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

修改密码策略
# 修改策略为最低级别
se..]]></description><category></category></item><item><title><![CDATA[Dump文件分析工具 - MAT图文解析]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106365672</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106365672</guid><author>F1004145107</author><pubDate>Wed, 27 May 2020 16:00:00 +0800</pubDate><description><![CDATA[/ 前言 /
在讲解Mat工具之前我们先来看下几个关于Dump/文件的问题


Dump文件是什么

Dump文件是进程的内存镜像。可以把程序的执行状态通过调试器保存到dump文件中



我们拿到Dump文件有什么用的?

假如JVM因为内存溢出的原因宕机了, 而程序的日志里面并没有关于溢出所在对象的信息, 此时我们就需要通过分析Dump文件来找到问题原因



Dump文件怎么生成?


第一种
在启动JVM时指定参数


	# 指定生成Dump文件的异常类型
	-XX:+HeapDumpOnOutOf]]></description><category></category></item><item><title><![CDATA[Shell脚本实现Linux创建分区并挂载]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106365401</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106365401</guid><author>F1004145107</author><pubDate>Tue, 26 May 2020 21:23:08 +0800</pubDate><description><![CDATA[/ 脚本 /
如果要创建多个分区可以将分区代号作为脚本输入
#!/bin/bash

function special_echo(){
  if [ $# -ge 2 ];then
     PARAM_NUM=$1
     PARAM_MSG=$2
  else
    special_echo 1 "参数异常"
  fi
  case $PARAM_NUM in
        1)
        echo -e "\033[31m ${PARAM_MSG}\033[0m"
        ;;
 ]]></description><category></category></item><item><title><![CDATA[Linux新增分区并完成挂载(附自动创建分区Shell脚本)]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106358010</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106358010</guid><author>F1004145107</author><pubDate>Tue, 26 May 2020 17:02:15 +0800</pubDate><description><![CDATA[/ 1 / 确定系统磁盘信息
fdisk -l

[root]# fdisk -l

磁盘 /dev/vda：214.7 GB, 214748364800 字节，419430400 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理)：512 字节 / 512 字节
I/O 大小(最小/最佳)：512 字节 / 512 字节
磁盘标签类型：dos
磁盘标识符：0x00007489

   设备 Boot      Start         End      B]]></description><category></category></item><item><title><![CDATA[ElasticSearch开机自动启动]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106281818</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106281818</guid><author>F1004145107</author><pubDate>Fri, 22 May 2020 15:54:01 +0800</pubDate><description><![CDATA[在/etc/systemd/system/下新建文件elasticsearch.service
touch elasticsearch.service

编辑elasticsearch.service文件
vi elasticsearch.service
[Unit]
Description=ElasticSearchAutoStartService
[Service]
Type=forking
User=es
ExecStart=/opt/elasticsearch/bin/elasticsearch
[]]></description><category></category></item><item><title><![CDATA[Shell脚本自动化搭建ElasticSearch集群]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106281433</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106281433</guid><author>F1004145107</author><pubDate>Fri, 22 May 2020 15:42:55 +0800</pubDate><description><![CDATA[/ 前言 /
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;该脚本适用于7台主机以下的集群, 如果是大集群需要为节点进行个性化配置可以加一些if判断来根据ip修改节点的属性
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如需了解ElasticSearch集群搭建流程请看我的另一篇博文ElasticSearch集群搭建图文解析
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如需了解ElasticS]]></description><category></category></item><item><title><![CDATA[ElasticSearch集群搭建图文解析]]></title><link>https://blog.youkuaiyun.com/F1004145107/article/details/106280716</link><guid>https://blog.youkuaiyun.com/F1004145107/article/details/106280716</guid><author>F1004145107</author><pubDate>Fri, 22 May 2020 15:19:57 +0800</pubDate><description><![CDATA[/ 前言 /
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ElasticSearch作为一个分布式搜索引擎有着广泛的应用场景, 而搜索服务在在一个项目中的权重还是比较高的, 所以我们要想办法去提高搜索服务的可用性, 这就是ElasticSearch集群的作用, 为搜索服务提供高可用的特性
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 何为高可用呢, 其实就是字面意思, 假设我们的搜索服务可以一直不停的提供服务, 那么高可用性就是100%,]]></description><category></category></item></channel></rss>