自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黑白相间...

如果你 看到了自己的一生 由始至终 你会做些改变吗

  • 博客(492)
  • 收藏
  • 关注

原创 Dependency ‘org.springframework.boot:spring-boot-starter-websocket:2.4‘ not found

关于Dependency ‘org.springframework.boot:spring-boot-starter-websocket:2.4.2’ not found类似的解决方法使用IDEAs 创建第一个springboot 项目,在l配置pom,xml 中出现了一个很无语的问题这是由于maven没有自动导入的问题打开maven点击重新导入按钮reload 或者点击下载按钮即可...

2022-04-06 09:34:54 2117

原创 Es实现去重查询或分组查询--collapse

关系型数据库中,比如MySQL,可以通过distinct进行去重,或者根据group by分组Elasticsearch类似功能的实现方式1 ) es查询结果进行去重计数es的去重计数工卡可以通过es的聚合功能+Cardinality聚合函数来实现2 ) es查询结果去重后显示去重显示有两种方式:(1) 使用字段聚合+top_hits聚合方式(2)使用collapse折叠功能第一种top_hits, "aggs": { "group_acc_type": { "te

2022-01-07 14:56:33 14070

原创 使用array_multisort来根据数组中的字段排序不稳定问题

先看一段代码$re_info = $single_info['re_info'];//按照运单或者批次link_id升序排列 $sort_arr = array_column($re_info,'id'); $need_sort = count(array_unique($sort_arr)) > 1 ? true:false; if($need_sort){ array_multisort($sort_arr,SORT_ASC,$re_info);}如果排序字

2021-12-01 09:22:31 867

原创 maven配置

Maven 环境配置Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK。如果你还未安装 JDK,可以参考我们的 Java 开发环境配置。系统要求项目 要求JDK Maven 3.3 要求 JDK 1.7 或以上Maven 3.2 要求 JDK 1.6 或以上Maven 3.0/3.1 要求 JDK 1.5 或以上内存 没有最低要求磁盘 Maven 自身安装需要大约 10 MB 空间。除此之外,额外的磁盘空间将用于你的本地 Maven 仓库。你本地仓库的大小取决于

2021-11-13 15:44:04 254

原创 in_array非数字字符串和整数比较,字符串自动转换为int(0)

出现这种情况,正是因为in_array惹的祸,in_array(search,array)等价于将数组中的每个value与search比较,由于我$param数组中除了有int参数,还有一个string参数,相当于用string和int去比较,PHP的隐式转换规则:非数字字符串和整数比较,字符串自动转换为int(0)下面的例子就验证了我们的说法:<?php $a = (int)'abc'; var_dump($a); //int(0) $c = array(0,1,2,3);

2021-11-13 15:42:59 474

原创 mysql count(if())用法

看一段代码 // 省份支持模糊搜索 array_walk_recursive($where, function (&$value, $key) { if ("province" == "{$key}" && $value) { $value = ['like', "%$value%"]; } }); //$where['examine_tim

2021-10-18 16:55:27 16943

原创 MySQL日期时间datetime格式查询数据方式

msyql数据表时间字段为datetime时候,想要查询某一天数据第一种SELECT * from od WHERE create_time >= '2021-02-25 00:00:00' AND create_time <= '2021-02-25 23:59:59' 第二种select * from od where date(create_time)='2021-02-25';可以明显看到第一种查询效率要高的多explain一下一个用到了索引,查询部分,一个全

2021-09-14 09:11:33 11101

原创 xdebug3配置和profiler通过phpstorm查看

首先php.ini里面的xdebug3配置如下zend_extension = /opt/homebrew/lib/php/pecl/20190902/xdebug.soxdebug.idekey=PHPSTORM#xdebug.mode=xdebug#xdebug.start_with_request=yesxdebug.client_port=9999xdebug.mode = debug,profilexdebug.start_with_request = yes|triggerxde

2021-08-13 14:21:44 693

原创 Mac电脑M1安装JDK

本打算Jdk选择zulu jdk,这个是适配Arm架构的jdk,下载链接:https://www.azul.com/downloads/zulu-community/?package=jdk根据需求选择.dmg格式的jdk下载,然后直接安装就好了,这个会自动配置好环境变量,不需要自己配置但是一直下载不下来然后使用brew搜索JDK安装配置然后 查看java -versionidea配置jdk...

2021-07-06 10:41:06 11725 2

原创 PHP中try、catch、finally的问题

先抛出结论:try内部正常执行try的内部逻辑,异常则执行catch的内部逻辑结构,但是不管执行的哪个都会执行完try catch的内部逻辑(非return)后执行finally的内部逻辑。如果try catch都有return,按照正常执行,然后执行finally的逻辑,再返回对应的try 或者catch里执行return。如果try catch finally都有return,执行完finally的逻辑后,会调用finally的return。示例 public function send(

2021-06-01 09:45:53 484

原创 PHP时间date格式转换为JAVA -T格式

$tr_info[‘release_date’] = ‘2021-04-24 16:57:13’;if (!empty($tr_info['release_date'])) { $tr_info['release_date'] = str_replace('+00:00', '.000', gmdate('c', strtotime($tr_info['release_date'])));}$tr_info[‘release_date’] = ‘2021-04-24T16:57:13.000

2021-06-01 09:44:44 507

原创 git解决Permission denied, please try again问题

git pull在上传项目的时候出现 git@xxx password: 让你输入密码,你发现无论输入什么都会出现Permission denied, please try again问题,其实这个主要是工程的SSH key没有加入到你的gitlab账户下检查SSH Key存在如果存在id_rsa.pub 或 id_dsa.pub 文件,跳过此步。$ cd ~/.ssh # 查看用户根目录下.ssh文件夹$ ls2.)创建SSH Key创建ssh key时会提示自定名称和push时的密码(

2021-05-07 14:23:05 6520 2

原创 mysql通过navicat ssh连接

点击 或选择文件 -> 新建连接 来设置连接属性。选择 SSH 选项卡并启用 使用 SSH 通道。填写所需的信息:主机名或 IP 地址SSH 服务器的主机。端口SSH 服务器的端口,默认情况下它是 22。用户名在 Linux 机器的用户。(这是一个 Linux 用户。它不是一个数据库服务器用户。)验证方法在密码验证和公钥验证间选择。密码这是一个 Linux 用户的密码。在常规设置页面的 Navicat 主机名(localhost即可)是由你的数据库讬管公司提供,应设置和

2021-05-07 14:19:12 883

原创 数组分块函数array_chunk和array_slice

在一些场景,例如当查询出的一个数组列表元素过大时,再次进行查询效率会变慢这时候需要进行分块然后分批查询可以使用array_chunk分块array_slice() 函数在数组中根据条件取出一段值,并返回看一个使用案例public function insuranceRecordOp($date) { if (!empty($date)) { $start_time = $date . ' 00:00:00'; $end_t

2021-04-01 09:22:51 593 1

原创 mysql根据json字段查询数据以及错误‘Invalid JSON text in argument 1 to function json_extract‘解决

1,使用json_contins查询select * from abnormalwhere status = 1 and state in (10, 20, 25) # 3 and settle_info != '' and json_contains(settle_info -> '$.cids', '32428');2,使用json_exact查询看了下数据库,发现确实有些记录的该字段为空。后来查了下官方文档,发现可以用JSON_VALID来确保该字段包含JSON,这.

2021-03-06 10:18:12 31258 6

原创 Ubuntu上安装idea以及配置jdk和桌面快捷方式

1,安装idea首先官网下载Linux安装包sudo tar -zxvf 解压安装包./idea.sh执行bin下的idea.sh文件2,安装jdkUbuntu默认安装的是openjdkoracle jdk是sun/oracle(甲骨文)公司的,部分jdk开源;相对比较稳定,使用的比较多。openjdk是完全开源的,据说是官方oracle唯一承认的开源版本。java -version在idea下file里project structure下选择想要的版本即可试验3,

2021-03-03 11:48:25 1101 1

原创 Python-pip3 install turtle报错ERROR: Command errored out with exit status 和setup.py-except ValueErro

pip3 install turtle报错Collecting turtle Using cached https://files.pythonhosted.org/packages/ff/f0/21a42e9e424d24bdd0e509d5ed3c7dfb8f47d962d9c044dba903b0b4a26f/turtle-0.0.2.tar.gz Complete output from command python setup.py egg_info: Traceback

2021-02-24 11:45:47 539

原创 Es 里filter、bool和范围查询

Filter过滤查询filter是不计算相关性的,同时可以缓存。因此filter速度快于query。GET /tms-pro-trade-record-beta-2/_search { "query": { "bool": { "must": [ { "term": {

2021-02-21 09:01:17 2848

原创 es中keyword字符串类型排序问题

kibana中请求如下size为返回条数,source为返回字段,aggs为聚合查询,sum为求和GET /tms-pro-insurance-record-beta-1/_search{ "track_scores": false, "_source": [ "order_num", "company_id", "Order|b_tr_car_batch", "create_time", "ol_create_time", "show_orde

2021-02-20 14:03:18 2750 2

原创 数组的下标为什么从0开始

为什么数组的下标是从0开始,而不是从1开始呢?从1开始不是更符合人们的习惯么。 这个问题,稍后回答,先聊聊数组的基本特性。 数组(Array)一种线性表数据结构,用一组连续的内存空间,存储一组相同类型的数据 线性表(Linear List),每个线性表上最多有前后两个方向。 数组、队列、链表、栈都是线性表结构 非线性表,如二叉树、堆、图等。在非线性表中,数据不是简单的前后关系。 连续的内存空间和相同的数据结构,使其可以“随机访问”,弊端也很明显...

2021-02-20 13:55:39 2103 1

原创 mysql中find_in_set()的使用

MySQL手册中find_in_set函数的语法:FIND_IN_SET(str,strlist)str 要查询的字符串strlist 字段名 参数以”,”分隔 如 (1,2,6,8)查询字段(strlist)中包含(str)的结果,返回结果为null或记录假如字符串str在由N个子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。 一个字符串列表就是一个由一些被 ‘,’ 符号分开的子链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则FIND_

2021-02-20 11:34:50 5937

原创 MySQL查询key关键字的问题

SELECT id,id as key,name,short_name,group_id,type,address,sup_id,create_timefrom company where id = 36204;因为这里的key字段是mysql的关键字,所以一直报错。修改如下:在key的头上加上两点(反引号,它在键盘的~这个键上)。搞定当然最好改为key_id之类的...

2021-02-07 15:55:48 925

原创 PHP函数 in_array ,array_key_exists , isset 性能比较以及in_array优化

isset > array_key_exists > in_array在大数组的情况下,在有3w元素的情况下。in_array的处理速度是8秒,在将第三个参数设为true的情况下(这样区分数据类型,区分大小写),时间减短为3秒多秒。而isset和array_key_exists均为1秒左右。分析in_array是循环遍历,时间复杂度较高isset和array_key_exists是hash,时间复杂度较低优化in_array用到函数:array_flip() 将数组键名与值对调

2021-02-07 15:55:11 1338

原创 ubuntu安装ssh远程连接服务器

查看ssh状态安装sshsudo apt install openssh-server查看

2021-01-27 11:52:32 233

原创 PHP数组函数array_walk和array_map

1、array_map的用法是array_map(函数名,数组),而array_walk的用法是array_walk(数组,函数名);2、array_map里面的函数可以是自定义函数,也可以是php自带的函数,比如trim去除空格等。而array_walk里面的函数只能是自定义的函数3、array_map不可以改变原函数的值,会获取到新的数组。array_walk是可以改变原函数的值的(加个引用)。4、array_map必须要有返回值,因为要填充数组。而array_walk可以没有返回值,输出的话要在

2021-01-23 15:12:57 452

原创 PHP break和continue语句

PHP 中的 break 和 continue 语句都可以用来跳出循环,包括 while、do while、for 和 foreach 循环。break 语句break 语句用于终止本次循环,使用示例如下:<?phpfor ($i=0; $i < 10; $i++) { if($i == 3) { break; } echo $i;}?>在 for 循环中,判断当前 $i 的值为 3 时便终止循环。代码的执行结果为:012在 wh

2021-01-15 14:34:05 242

原创 curl结合debug断点调试

首先获取请求数据phpstorm打开相应请求断点打开终端,复制请求查看调试结果

2021-01-15 14:33:36 1038

原创 php 两个数组合并与两个数组相加的区别

两个数据合并可以用array_merge函数也可以用+运算符进行合并操作$arr1 = array(“a”=>“PHP”,“b”=>“java”,“python”);$arr2 = array(“c” =>“ruby”,“d” => “c++”,“go”,“a”=> “swift”);arr3=arraymerge(arr3 = array_merge(arr3=arraym​erge(arr1,$arr);$arr4 = $arr1 + $arr2;但这两个方法合并

2021-01-14 10:58:40 303

原创 array_filter 使用函数进行回调过滤函数中的单元

$res_id= 1;$arrLis = json_decode($old_cmm_value, true);if (!empty($old_cmm_value)) { $old = array_filter( $arrLis, function ($val) use ($res_id) { return $val['approval_id'] != $res_id;

2021-01-14 10:53:51 128

原创 Ubuntu上安装使用putty

Step1 安装Putty$ sudo apt-get install puttyStep2 使用Putty Client登录

2021-01-07 17:53:53 571

转载 memcache概述

一.核心优化概述 什么是优化:以更小的资源支持更大负载网站的运行,以小博大。 思路:尽量减少用户等待时间,节省系统资源开销,节省带宽使用。 优化什么地方?有三方面:Memcache内存缓存技术、静态化技术、mysql优化 二.Memcache 内存缓存技术:memcache是实现php语言 对内存 进行操作的中间介质。 memcache与redis的区别和联系 redis:支持比较多的数据类型...

2021-01-07 16:49:20 555

原创 kibana中查看es版本

GET /返回结果{ "name" : "K1AwfsV", "cluster_name" : "xxxxx", "cluster_uuid" : "xxxxxx", "version" : { "number" : "6.7.0", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "82624bd", "build_date" : "2020-03-17T07:3

2021-01-07 10:32:45 6331

原创 git常用命令 -- 添加拉取提交分支

git常用命令git add # 将工作区的修改提交到暂存区git commit # 将暂存区的修改提交到当前分支git reset # 回退到某一个版本git stash # 保存某次修改git pull # 从远程更新代码git push # 将本地代码更新到远程分支上git reflog # 查看历史命令git status # 查看当前仓库的状态git diff # 查看修改git log # 查看提交历史git revert # 回退某个修改git branch #列出所有

2020-12-16 17:11:10 278

原创 Ubuntu系统常用快捷键 -- 可视化

常用指令ctrl + shift鍵配合ctrl + alt + T 启动终端ctrl + alt + ← 切換到左邊的桌面ctrl + alt + → 切換到右邊的桌面ctrl + alt + shift + ← 移動當前窗口到左邊的桌面ctrl + alt + shift + → 移動當前窗口到右邊的桌面ctrl + alt + D 顯示桌面/還原顯示ctrl + alt + L 鎖屏/顯示登錄對話框ctrl + alt + F1-F6 進入1-6命令行環境ctrl + alt + F

2020-12-16 17:09:28 444

原创 phpstorm常用指令和插件

推荐的插件翻译插件translation2.主题插件material theme ui常用指令查询快捷键CTRL+N 查找类CTRL+SHIFT+N 查找文件,打开工程中的文件(类似于eclipse中的ctrl+shift+R),目的是打开当前工程下任意目录的文件shift+shift 查找 ❤

2020-12-16 17:06:51 409

原创 PHP编程常用数组函数

array() 创建数组。array_change_key_case() 把数组中所有键更改为小写或大写。array_chunk() 把一个数组分割为新的数组块。array_column() 返回输入数组中某个单一列的值。array_combine() 通过合并两个数组来创建一个新数组。array_count_values() 用于统计数组中所有值出现的次数。array_diff() 比较数组,返回差集(只比较键值)。array_diff_assoc() 比较数组,返回差集(比

2020-12-16 17:06:25 87

原创 PHP中在静态方法里调用非静态方法

PHP中如何在静态方法中调用非静态方法class Test { public function func () { return 'hello'; } public static function action () { // 如何调用 func 方法 ? } 可以使用 self::funcclass Test { public function func () {

2020-12-16 16:42:57 617

原创 ubuntu20安装搜狗百度输入法

Ubuntu上安装输入法需要fcitx小企鹅如果没有,可以先在软件中心安装然后在设置中区域与语言下管理已安装语言keyboard input method system选择:fcitx点击应用到全局,然后重启然后进入百度输入法页面下载Linux版本下载解压之后如下按照文档中安装即可在终端中输入sudo dpkg -i fcitx-baidupinyin.deb命令安装文件安装完成后配置...

2020-12-11 16:05:14 543

原创 Ubuntu20安装微信

系统版本如下ubuntu20 64位系统安装微信由于没有Linux版本,主要是需要安装deepin-wine环境的问题,此为Linux下为部分没有Windows版本的软件所设计安装deepin-wine安装必要的工具及deepin-wine依赖sudo apt install wget g++ git #如已安装可自行跳过git clone "https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu.git"cd deepin-wine

2020-12-07 10:58:52 3269

转载 全面认识高并发

高并发,几乎是每个程序员都想拥有的经验。原因很简单:随着流量变大,会遇到各种各样的技术问题,比如接口响应超时、CPU load升高、GC频繁、死锁、大数据量存储等等,这些问题能推动我们在技术深度上不断精进。 在过往的面试中,如果候选人做过高并发的项目,我通常会让对方谈谈对于高并发的理解,但是能系统性地回答好此问题的人并不多,大概分成这样几类: 1、对数据化的指标没有概念:不清楚选择什么样的指标来衡量高并发系统?分...

2020-11-26 08:47:04 203

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除