自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

愿有岁月可回首...

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

  • 博客(490)
  • 论坛 (1)
  • 收藏
  • 关注

原创 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 20

原创 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 11

原创 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 163

原创 mysql通过navicat ssh连接

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

2021-05-07 14:19:12 17

原创 数组分块函数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 53 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 1521 1

原创 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 110 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 91

原创 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 119

原创 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 314 1

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

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

2021-02-20 13:55:39 54 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 395

原创 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 107

原创 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 47

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

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

2021-01-27 11:52:32 39

原创 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 20

原创 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 32

原创 curl结合debug断点调试

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

2021-01-15 14:33:36 95

原创 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 87

原创 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 40

原创 Ubuntu上安装使用putty

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

2021-01-07 17:53:53 48

转载 memcache概述

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

2021-01-07 16:49:20 40

原创 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 1071

原创 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 46

原创 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 58

原创 phpstorm常用指令和插件

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

2020-12-16 17:06:51 71

原创 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 16

原创 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 81

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

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

2020-12-11 16:05:14 103

原创 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 1464

转载 全面认识高并发

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

2020-11-26 08:47:04 53

转载 一个秒杀系统的设计思考

前言秒杀大家都不陌生。自2011年首次出现以来,无论是双十一购物还是 12306 抢票,秒杀场景已随处可见。简单来说,秒杀就是在同一时刻大量请求争抢购买同一商品并完成交易的过程。从架构视角来看,秒杀系统本质是一个高性能、高一致、高可用的三高系统。而打造并维护一个超大流量的秒杀系统需要进行哪些关注,就是本文讨论的话题。整体思考1 秒...

2020-09-07 11:16:32 136

转载 如何设计一个安全的对外接口

最近有个项目需要对外提供一个接口,提供公网域名进行访问,而且接口和交易订单有关,所以安全性很重要;这里整理了一下常用的一些安全措施以及具体如何去实现。安全措施个人觉得安全措施大体来看主要在两个方面,一方面就是如何保证数据在传输过程中的安全性,另一个方面是数据已经到达服务器端,服务器端如何识别数据,如何不被攻击;下面具体看看都有哪些安...

2020-08-08 11:36:55 94

转载 什么是真正的架构设计

一. 什么是架构和架构本质在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识这个世界的基础,并用来沟通的手段,如果对架构概念理解不一样,那沟通起来自然不顺畅。Linux有架构,MySQL有架构,JVM也有架构,使用...

2020-07-27 11:04:58 107

原创 linux中添加查看修改账号密码

1、在root权限下,分别使用useradd -m username passwd username,创建用户并设置用户的密码,其中username为要创建的用户名称。例如,我们创建一个wzcm的账号:Linux修改密码用 passwd 命令,用root用户运行passwd ,passwd user_name可以设置或修改任何用户的密码,普通用户运行passwd只能修改它自己的密码2、如果为wzcm账号添加root权限,输入vi /etc/sudoers,编辑配置文件,在root账户后面输入wzcm

2020-06-03 09:47:10 342

原创 mysql--count(*)为什么慢

在开发系统的时候,你可能经常需要计算一个表的行数,比如一个交易系统的所有变更记录总数。这时候你可能会想,一条 select count(*) from t 语句不就解决了吗?但是,你会发现随着系统中记录数越来越多,这条语句执行得也会越来越慢。然后你可能就想了,MySQL 怎么这么笨啊,记个总数,每次要查的时候直接读出来,不就好了吗。那么今天,我们就来聊聊 count(*) 语句到底是怎样实现的,以及 MySQL 为什么会这么实现。count(*)的实现方式你首先要明确的是,在不同的 MySQL 引擎中

2020-06-03 09:45:49 160

转载 top 内存mem的used很高,或者100%

top 内存mem的used很高,或者100% Linux服务器运行一段时间后,由于其内存管理机制,会将暂时不用的内存转为buff/cache,这样在程序使用到这一部分数据时,能够很快的取出,从而提高系统的运行效率,所以这也正是linux内存管理中非常出色的一点,所以乍一看内存剩余的非常少,...

2020-06-02 10:27:52 586

原创 阿里云域名解析和记录值

当我们注册好域名后紧接着就是域名解析了,一般的国内域名是需要进行备案的,所以解析域名是非常重要的,因为解析域名的目的是把域名解析到IP上,让人可以进行访问。下面我们就来说说解析域名中的记录值该怎么选择和了解关于解析的一些事项。DNS域名解析中添加的各项解析记录A记录: 将域名指向一个IPv4地址(例如:100.100.100.100),需要增加A记录CNAME记录: 如果将域名指向一个域名,实现与被指向域名相同的访问效果,需要增加CNAME记录。这个域名一般是主机服务商提供的一个域名MX记录: 建立

2020-05-18 09:22:13 3474

原创 Go语言框架Beego项目搭建

1,命令行查看 Go 开发包的环境变量配置信息命令行说明如下:第 1 行,执行 go env 指令,将输出当前 Go 开发包的环境变量状态。第 2 行,GOARCH 表示目标处理器架构。第 3 行,GOBIN 表示编译器和链接器的安装位置。第 7 行,GOOS 表示目标操作系统。第 8 行,GOPATH 表示当前工作目录。第 10 行,GOROOT 表示 Go 开发包的安装目录。...

2020-05-06 10:02:46 535

原创 Mysql慢查询日志的相关使用

登录mysql系统慢查询日志设置当语句执行时间较长时,通过日志的方式进行记录,这种方式就是慢查询的日志。查看慢查询 日志相关情况show variables like ‘%quer%’;参数说明:slow_query_log : 是否已经开启慢查询slow_query_log_file : 慢查询日志文件路径long_query_time : 超过多少秒的查询就写入日志慢查询...

2020-04-25 17:06:03 168

空空如也

zh_250的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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