邢栋博客

邢栋博客,Action博客,记录工作和生活中的点点滴滴

SpingBoot修改启动文字图标


1、进入 src/main/resources 目录下,新建banner.txt 文件

2、进入字母转字符串,字母转字符串 ,制作一个你想要的,然后复制到banner.txt文件中即可,再次启动就可以看到了


WX20210420-212031.png

SpringBoot启动失败(Reason: Failed to determine a suitable driver class)


原因:启动时不需要数据源加载,但加载了数据源,数据源获取失败,异常报错,启动失败。


在启动类的@SpringBootApplication加上以下代码


@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
public class SpringbootEsApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootEsApplication.class, args);
    }

}


docker安装es的中文分词器ik插件


es-ik.png

===两种安装方式===

1、use elasticsearch-plugin to install

docker exec -it elasticsearch /bin/sh
cd bin/
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.1.1/elasticsearch-analysis-ik-7.1.1.zip

#执行完毕后 
elasticsearch-plugin list #查看
elasticsearch-plugin remove analysis-ik #删除


2、download 插件
docker exec -it elasticsearch /bin/sh
cd plugins && mkdir ik
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.1.1/elasticsearch-analysis-ik-7.1.1.zip
unzip elasticsearch-analysis-ik-7.1.1.zip


======安装完成后重启服务======


====增加分词====

docker exec -it elasticsearch /bin/sh
cd config/analysis-ik/
echo '济南彭于晏' >> main.dic

======安装完成后重启服务======



=====参考链接=====
https://github.com/medcl/elasticsearch-analysis-ik
https://github.com/yeszao/dnmp



PHP 两个有序数组合并成一个有序数组
<?php

    $a = [1,3,5,7,9,11];

    $b = [2,4,6,8,10];

    function test_sort($a,$b){

        $c = [];
        $aCount = count($a);
        $bCount = count($b);
        $i = $j = 0;

        while($i < $aCount && $j < $bCount){
            if($a[$i] > $b[$j]){
                $c[] = $b[$j];
                $j++;
            }elseif($a[$i] < $b[$j]){
                $c[] = $a[$i];
                $i++;
            }else{
                $c[] = $a[$i];
                $c[] = $b[$j];
                $i++;
                $j++;
            }
        }

        while($i < $aCount){
            $c[] = $a[$i];
            $i++;
        }

        while($j < $bCount){
            $c[] = $a[$j];
            $j++;
        }

        return $c;
    }


    function test_sort2($a,$b){

        $c = [];
        $aCount = count($a);
        $bCount = count($b);
        $i = $j = 0;


        while($i < $aCount || $j < $bCount){

            if($i < $aCount && $j < $bCount){
                if($a[$i] > $b[$j]){
                    $c[] = $b[$j];
                    $j++;
                }elseif($a[$i] < $b[$j]){
                    $c[] = $a[$i];
                    $i++;
                }else{
                    $c[] = $a[$i];
                    $c[] = $b[$j];
                    $i++;
                    $j++;
                }
            }elseif($i < $aCount && $j >= $bCount){
                $c[] = $a[$i];
                $i++;
            }elseif($i >= $aCount && $j < $bCount){
                $c[] = $b[$j];
                $j++;
            }

        }

        return $c;

    }

    $res = test_sort2($a,$b);

    print_r($res);

正七迎鸡兔

正七迎鸡兔,

二八虎合猴,

三九蛇共猪,

四十龙合狗,

牛羊五十一,

鼠马六十二。

php下正则匹配大字符串失败问题
问题描述:

在使用php函数preg_match匹配大字符串的时候匹配失败,而删除一半数据,则匹配成功,

解决过程:

于是在匹配结束后,调用preg_last_error()函数,查看失败原因,返回的是6,6对应的错误原因是PREG_JIT_STACKLIMIT_ERROR,

原来当字符串太大的时候,栈空间满了,直接就出错了,于是在匹配前加一下代码

ini_set('pcre.jit', 0);


解决查找的资料

1、深悉正则(pcre)最大回溯/递归限制(https://www.laruence.com/2010/06/08/1579.html)
Mac下使用clion调试redis源码

1、先从github上下载源码
1)搜索 https://github.com/search?q=redis+clion
2)最好是选择别人配置好CMakeLists.txt的,不然自己配置也很麻烦


2、下载完成,开始配置
//选择一个想要调试的版本进行下载
wget https://github.com/htw0056/redis-3.0-annotated-cmake-in-clion/archive/master.zip
//解压
unzip redis-3.0-annotated-cmake-in-clion-master.zip
//重命名+拷贝
mv redis-3.0-annotated-cmake-in-clion-master redis-3.0
cp -R redis-3.0 redis-3.0-make

//编译
cd redis-3.0-make/src
make


3、打开clion软件,导入redis-3.0项目
1)搜索到saddCommand命令,打个断点,开启debug模式

image2020-12-9_20-56-1.png
4、进入到客户端服务器,执行sadd命令
1)进入到redis-3.0-make/src,开始执行命令
./redis-cli
sadd numbers 1 77777 xd
这个时候就打开clion软件一步一步往下走了

image2020-12-9_20-57-44.png

Mac下安装gdb证书
1、先按照csdn上面的这边文章进行添加证书,名称设为 code_gdbsign
https://blog.csdn.net/LU_ZHAO/article/details/104803399/

2、假如你的mac系统大于Mac OS X 10.14,则

vim gdb-entitlement.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.cs.allow-jit</key>
    <true/>
    <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
    <true/>
    <key>com.apple.security.cs.allow-dyld-environment-variables</key>
    <true/>
    <key>com.apple.security.cs.disable-library-validation</key>
    <true/>
    <key>com.apple.security.cs.disable-executable-page-protection</key>
    <true/>
    <key>com.apple.security.cs.debugger</key>
    <true/>
    <key>com.apple.security.get-task-allow</key>
    <true/>
</dict>
</plist>
</pre>

然后执行
codesign --entitlements gdb-entitlement.xml -fs code_gdbsign $(which gdb)

3、如果mac系统早于10.14,则执行以下命令即可


codesign -fs code_gdbsign $(which gdb)





优惠券
最新微语