自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

转载 Elasticsearch:如何实现对 emoji 表情符号进行搜索

Elasticsearch 是一个应用非常广泛的搜索引擎。它可以对文字进行分词,从而实现全文搜索。在实际的使用中,我们会发现有一些文字中包含一些表情符号,比如笑脸,动物等等,那么我们该如何对这些表情符号来进行搜索呢????? => ????, light skin tone, skin tone, type 1–2???? => ????, medium-light skin tone, skin tone, type 3???? => ????, medium skin tone,

2021-08-19 10:24:25 1022

原创 打家劫舍(PHP、GO)

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。示例 2:输入:[2,7,9

2021-03-01 22:36:48 249

原创 最长递增子序列。给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。(PHP、GO)

给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例 2:输入:nums = [0,1,0,3,2,3]输出:4示例 3:输入:nums = [7,7,7,7,7

2021-03-01 17:44:13 2578

原创 两数之和。(PHP、GO)

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.指针向后遍历相加就可以了,主要是注意进位。增加一个哨兵节点指向后面生成的节点。php代码:/** * Definition for a singly-linked list. * cla

2021-02-26 16:46:29 221

原创 环形链表。给定一个链表,判断链表中是否有环。(GO、PHP)

给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其

2021-02-26 15:25:23 214

原创 删除链表的倒数第 N 个结点。给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。(GO、PHP)

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]增加哨兵节点,采用双指针的方式去查询要删除的值,使该值上一个指针指向该值下一个指针。哨兵节点,其实就是一个附加在原链表最前面用来简化边界条件的附加节点,它的值域不存储任何东西,只是为了操作方便

2021-02-26 11:19:33 949

原创 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。(PHP、GO)

将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。示例 :输入: s = “LEETCODEISHIRING”, numRows = 4 输出: “LDREOEIIECIHNTSG”解释:L

2021-02-25 15:11:40 1414

原创 三数之和给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组(GO,PHP)

给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例1 :输入:nums = [-1,0,1,2,-1,-4] 输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = [] 输出:[]示例 3:输入:nums = [0] 输出:[]首先将数组排序,按照值增长进行排序:因为我们要同时找三个数,所以采取固定一个数(

2021-02-25 10:43:36 1947

原创 Excel表列序号(给定一个Excel表格中的列名称,返回其相应的列序号。PHP)

给定一个Excel表格中的列名称,返回其相应的列序号。例如,A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28示例 1:输入: “A” 输出: 1class answer{ /** * @param String $s * @return Integer */ function titleToNumber($s) { $range =

2021-02-19 22:11:25 621

原创 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?(PHP 递推,动态规划)

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。递推规则详解在一个2XN的长方形方格中铺满1X2的骨牌的方案。我们用f[i]表示2Xi的方格铺满骨牌的方案数,那么考虑第i列,要么竖着放置一个骨牌;要么连同i-1列,横着放置两个骨牌,如图2所示。由于骨牌的长度为1X2,所以在第i列放置的骨牌无法影响到第i-2列。很显然,图一 -1-2中两块黑色的部分分别表示f[i-1]和f[i-2],所以可以得到递推.

2021-02-07 16:20:04 1514

原创 给你两个二进制字符串,返回它们的和(用二进制表示)(PHP)

给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。/** * @param String $a * @param String $b * @return String */ //需要注意的点在于PHP处理数字过大会导致变成科学计数法 //对较大的数字需要使用高精度计算函数计算 //未使用php自带转换函数 base_convert()function addBinary($a, $b) { $number_a = '0'; .

2021-02-07 12:04:32 851

原创 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。(PHP)

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。//输入:digits = [1,2,3]//输出:[1,2,4]//解释:输入数组表示数字 123。/** * @param Integer[] $digits * @return Integer[] */ //递归算法function plusOne($digits){ static $new_number; $last_n.

2021-02-05 17:49:02 314

原创 给定一个只包括 ‘(‘,‘)‘,‘{‘,‘}‘,‘[‘,‘]‘ 的字符串 s ,判断字符串是否有效。(PHP)

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true示例 3:输入:s = "(]"输出:false示例 4:输入:s = "([)]"输出:false示例 5:输入:s = "{[]}"输出:true/** * @param S.

2021-02-04 14:56:21 434

转载 主从数据库详解

数据库集群和主从数据库最本质的区别,其实也就是data-sharing和nothing-sharing的区别。集群是共享存储的。主从复制中没有任何共享。每台机器都是独立且完整的系统。

2021-01-17 14:00:31 159

转载 tcp,http

TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性。Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求。Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是很短的。所以Http连接是一种短连接,是一种无状态的连接。所谓的无状态,是指浏览器每次向服务器发起请求的时候,不是通过一个连接,而是每次都建立一个新的连接。如果是一个连接的话,服务器进程中就能保持住这个连

2021-01-14 09:27:18 441

原创 有关于进程、线程、协程的探讨

进程的概念:进程一般由程序、数据集合和进程控制块三部分组成。线程的概念:线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。线程间通信主要通过共享内存,上下文切换很快,资源开销较少,但相比进程不够稳定容易丢失数据。协程的概念:协程是一种用户态的轻量级线程,协程的调度完全由用户控制。协程拥有自己的寄存器上下文

2021-01-13 17:23:11 84

原创 redis客户端中文乱码,redis客户端显示中文

在打开客户端时:./redis-cli 命令后面 加上 --raw 即可看到中文。./redis-cli – raw

2021-01-12 11:44:17 995 1

原创 thinkphp6取出数据库字段自动转化为date形式

在config\database.php可以设置从数据库取出响应字段类型时是否转换为date形式响应字段 create_time,update_time‘datetime_format’ => ‘int’, 设置该方式为取出为int类型‘datetime_format’ => ‘Y-m-d H:i:s’, 设置该方式取出为时间类型<?phpreturn [ // 默认使用的数据库连接配置 'default' => env('database

2021-01-12 11:37:41 2880

原创 php获取富文本编译器中的所有图片

/** * 获取富文本编译器中的所有图片 * @param string $contentStr * @return array */function getPatternMatchImages($contentStr = ""){ $img_src_arr = []; $pattern_imgTag = '/<img\b.*?(?:\>|\/>)/i'; preg_match_all($pattern_imgTag,$contentStr,$match

2021-01-12 09:11:51 584 2

原创 thinkphp6 Elasticsearch使用及基本查询

1、安装扩展composer require elasticsearch/elasticsearch2、连接ES客户端<?php/*User : AdministratorDate : 2020/8/31Time : 14:36*/use Elasticsearch\ClientBuilder;class EsModel{ protected function getEsClient() { $client = ClientBuilder::cre

2021-01-08 16:33:01 3321

原创 PHP 获取浏览器及版本号

话不多说,直接上代码/** * 获取浏览器及版本号 * @return array */function getBrowser(){ $agent = $_SERVER['HTTP_USER_AGENT']; $browser = ''; $browser_ver = ''; if (preg_match('/OmniWeb\/(v*)([^\s|;]+)/i', $agent, $regs)) { $browser = 'OmniWeb

2021-01-08 15:42:14 339

原创 php 二维数组排序

/** * 二维数组排序 */function array_orderby(){ $args = func_get_args(); $data = array_shift($args); foreach ($args as $n => $field) { if (is_string($field)) { $tmp = array(); foreach ($data as $key => $row)

2021-01-08 15:40:41 39

原创 php curl使用方法及相关参数说明

php建立curl基本方法/** * curl通用方法,可发送get请求和post请求 * @param $post * @param $url * @param string $type * @param array $header * @param bool $isUserAgent * @return bool|mixed|string */function curlResult($post,$url,$type = 'POST', $cookie = '', $header =

2021-01-08 15:25:12 517

原创 thinkphp6 swoole websocket长连接使用

安装swoole扩展composer require topthink/think-swoole配置swoole文件位置 config/swoole.php<?phpuse think\swoole\websocket\socketio\Handler;use think\swoole\websocket\socketio\Parser;return [ 'server' => [ 'host' => env('SWOOLE_H

2021-01-08 14:54:35 1941

原创 抓包工具安装及使用,fiddler抓包,断点调试

按照软件的功能,我们把抓包工具分为两类:常规抓包工具:以IRIS、Wireshark为代表,这类软件可以抓取到整个局域网内所有的数据包,主要工作在数据传输层。专用抓包工具:只抓取某一类协议,通常工作在应用层,最常见的就是对HTTP协议的抓取,如HttpWatch、Fiddler、IE Analyzer、Charles等。由于Fiddler功能丰富,支持HTTP断点调试,并且是免费软件(作者一直在维护和更新),是所有同类软件中更新最及时、体积最小、功能最强大的免费软件之一。Fiddler是用C#编写的

2021-01-08 14:18:11 679

原创 thinkphp6 redis 单例配置

redis单例与相关方法,话不多说,直接上代码<?phpnamespace app\common\model;use think\facade\Config;class Redis4Cluster{ private static $_instance = null; private function __construct(){ self::$_instance = new \Redis(); self::$_instance->co

2021-01-08 13:57:07 543 3

原创 如何搭建Composer私有仓库

一、安装 Composerhttps://www.runoob.com/w3cnote/composer-install-and-usage.html二、创建github项目三、使用 Satis 搭建私有仓库1.建立项目composer create-project composer/satis my-satis --stability=dev --keep-vcs2. 2.建立配置文件在/my-satis目录下建立satis.json文件{ "name": "packagis

2021-01-08 10:20:29 1364

原创 php精度问题,php处理高精度计算函数

PHP 为任意精度数学计算提供了二进制计算器(Binary Calculator),它支持任意大小和精度的数字,以字符串形式描述bcadd — 加法bccomp — 比较bcdiv — 相除bcmod — 求余数bcmul — 乘法bcpow — 次方bcpowmod — 先次方然后求余数bcscale — 给所有函数设置小数位精度bcsqrt — 求平方根bcsub — 减法...

2021-01-08 08:40:50 335 1

原创 thinkphp6 定时任务

使用命令行形式实现定时任务一、创建一个自定义命令类文件php think make:command Hello hello会生成一个app\command\Hello命令行指令类,我们修改内容如下:<?phpdeclare (strict_types = 1);namespace app\command;use think\console\Command;use think\console\Input;use think\console\input\Argument;use

2021-01-08 08:30:32 5171

原创 thinkphp有关于收录问题,seo优化

robots文件设置是否能被爬取文件位置:public\robots.txt允许所有的robot访问User-agent: *Disallow:要从搜索引擎中删除您的网站,并防止所有漫游器在以后抓取您的网站,请将以下文本替换掉robots.txtUser-agent: *Disallow: /...

2021-01-07 13:35:22 347

原创 php发送邮件

引用PHPMailer实现发送邮件PHPMailer地址:https://github.com/PHPMailer/PHPMailer/** * 发送邮件 * @author Wy * @param $to string 收件人地址 * @param $subject string 主题 * @param $body string 内容 * @param string $attachment txt 附件 * @return bool * @throws \PHPMailer\PHPMa

2021-01-07 13:28:33 112

原创 thinkphp6 错误异常抛出并发送邮件和钉钉

thinkphp6 app下有关于异常抛出的类 app\ExceptionHandle.php在render下添加自定义的异常抛出机制代码:<?phpnamespace app;use app\common\StatusCode;use think\db\exception\DataNotFoundException;use think\db\exception\ModelNotFoundException;use think\exception\Handle;use think\

2021-01-07 13:23:00 1161

原创 thinkphp6 swoole 异步协程

一、安装thinkphp swoole扩展composer require topthink/think-swoole二、设置swoole配置文件<?phpuse think\swoole\websocket\socketio\Handler;use think\swoole\websocket\socketio\Parser;return [ 'server' => [ 'host' => env('SWOOLE_HOST',

2021-01-07 13:01:09 3111

原创 使用MySQL一个表中的字段更新另一个表中字段

1、修改1列update student s, city cset s.city_name = c.namewhere s.city_code = c.code;2、修改多个列update a, bset a.title=b.title, a.name=b.namewhere a.id=b.id•子查询update student s set city_name = (select name from city where code = s.city_code);oracle查询报

2021-01-07 11:50:11 654

原创 sql 删除或替换字段内某一部分内容

方法一:update Table_Name set Column_Name=replace(Column_Name,substring(Column_Name,Start,Length),'Replace_Content')--Start 是要替换的字符开始的位置--Lenght 要替换字符的长度注:与stuff函数的不同1、作用stuff函数用于删除指定长度的字符,并在指定的起点处插入另一组字符。2、语法STUFF ( character_expression , start , l

2021-01-07 11:42:32 6048 1

转载 php 使用PayPal 支付

paypal 一共有三种支付方式,我使用的是服务器集成方式。这里是介绍 :https://developer.paypal.com/docs/checkout/?mark=Express%20Checkout#integration-options沙盒测试:登录paypal的开发者地址: https://developer.paypal.com创建沙盒测试账户(注册时会自动生成一个个人账户和商家账户,如果不能使用就自己创建几个):https://developer.paypal.com/develo

2021-01-07 11:37:48 676

原创 php实现redis迁移

redis普通的数据库迁移,只能整个redis save,或者利用主从,当然也可以安装一个redis-dump,不过比较麻烦,这里提供一种php的脚本,实现指定库号的迁移,其实也就是遍历根据存储类型,读出来,插入新库,效果是这样:代码如下:[root@localhost ~]# php 1.php1/407101/407201/407301/407401/407PHP实例代码如下:代码如下:$from = '10.0.2.52:6379/7';$to = '127.0.0.1:6379

2021-01-07 11:29:09 148

原创 mysql插入中文数据变成问号,mysql字段设置成utf8

插入中文数据变成问号,一般都是因为字符集没有设置成utf8的原因1、修改字符集:ALTER TABLE 表名 MODIFY 列名 类型(50) CHARACTER SET “utf8”;如:ALTER TABLE t_student MODIFY stuName varchar(50) CHARACTER SET “utf8”; (修改t_student表中的stuName字符集为utf8)2、检查hibernate配置的数据库url是否指定了ut8作为字符集jdbc:mysql://127.0

2021-01-07 11:22:21 356 1

空空如也

空空如也

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

TA关注的人

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