- 博客(118)
- 收藏
- 关注
原创 Python 推导式
列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表。它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是0个或多个for或者if语句。那个表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表,在这个以if和for语句为上下文的表达式运行完成之后产生。规范这将对快速生成列表非常有用。有些人甚至更喜欢使用它而不是filter函数。列表推导式在有些情况下超赞,特别是当你需要使用for循环来生成一个新列表。规范。
2024-05-30 17:35:11 254 1
原创 python中的lambda函数用法
例如reduce(lambda a, b: '{}, {}'.format(a, b), [1, 2, 3, 4, 5, 6, 7, 8, 9])将列表 [1, 2, 3, 4, 5, 6, 7, 8, 9]中的元素从左往右两两以逗号分隔的字符的形式依次结合起来,其结果是'1, 2, 3, 4, 5, 6, 7, 8, 9'。例如,执行add(1,2),输出为3。例如map(lambda x: x+1, [1, 2,3])将列表[1, 2, 3]中的元素分别加1,其结果[2, 3, 4]。
2024-05-30 16:06:47 746
原创 AttributeError: module ‘lib‘ has no attribute ‘X509_V_FLAG_CB_ISSUER_CHECK‘
【代码】AttributeError: module ‘lib‘ has no attribute ‘X509_V_FLAG_CB_ISSUER_CHECK‘
2024-04-30 18:02:13 62
原创 解决:pip is configured with locations that require TLS/SSL
【代码】解决:pip is configured with locations that require TLS/SSL。
2024-04-26 16:02:33 426 1
转载 数据库和缓存双写一致性
数据库和缓存(比如:redis)双写数据一致性问题,是一个跟开发语言无关的公共问题。尤其在高并发的场景下,这个问题变得更加严重。我很负责的告诉大家,该问题无论在面试,还是工作中遇到的概率非常大,所以非常有必要跟大家一起探讨一下。今天这篇文章我会从浅入深,跟大家一起聊聊,数据库和缓存双写数据一致性问题常见的解决方案,这些方案中可能存在的坑,以及最优方案是什么。
2024-04-11 16:32:09 34
原创 PHP 配置Redis拓展及应用
下载源码包,如果下载速度过慢,建议从github镜像下载再上传到服务器。运行phpize,如果你的不在这个位置,可以用find命令找到。以下操作在/usr/local目录下。找到php.ini的位置。
2024-02-02 17:25:20 469
原创 centos7上安装redis
9、使用配置文件启动,并且再后台启动,配置文件的路径。5、进入解压后的文件夹下,编译安装。语言编写的,因此首先需要安装。2、官网上下载依赖包来安装,6、默认的安装路径是在。直接官网上下载,上传到。3、重新加载配置服务。
2024-02-02 14:34:10 235
原创 Centos7环境安装PHP8
在https://www.php.net官网中,查看安装包链接,选择上方“download”, Current Stable PHP 8。23.设置环境变量4.创建配置文件,并将其复制到正确的位置。
2024-02-01 17:20:09 1327
原创 Centos7安装Nginx-1.21
注释:执行./configure 会检查当前环境是否满足编译要求,检查当前的环境,并且生成makefile,这个Makefile就是编译的时候使用的,make install 把生成的模块拷贝到相应的目录。进入sbin目录,执行./nginx 启动nginx,在浏览器中访问机器ip,可以看到Welcome to nginx!conf 存放nginx配置文件,里面的nginx.conf是nginx的核心配置文件。sbin 存放nginx运行程序,控制nginx的启动,停止,配置重载等。
2024-01-31 17:36:11 1023
转载 VMware虚拟机安装和Centos7安装
VMware虚拟机安装(非常详细)从零基础入门到精通,看完这一篇就够了_虚拟机vmware-CSDN博客
2024-01-31 16:02:58 28
原创 设计模式之工厂模式
简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,创建所需的产品对象。工厂模式是一种通过工厂类来创建对象的设计模式,它隐藏了对象的创建逻辑,使得代码更加灵活和可维护。:是简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例。:简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。
2023-12-28 11:40:53 383
原创 设计模式之状态模式
首先,我们定义一个抽象状态类(State),这个类中定义了对象的不同状态下的行为接口。状态模式是一种行为型设计模式,它通过将对象的行为封装在不同的状态类中来实现对象的行为改变。一个对象在不同的状态下有不同的行为,而状态模式将每个具体状态封装成一个单独的类,对象在不同状态下只需要改变其内部状态,而无需改变其行为。以上代码中,抽象状态类(State)定义了统一的行为接口,具体状态类(ConcreteState1和ConcreteState2)继承抽象状态类并实现具体的行为。三、状态模式的应用场景。
2023-12-27 12:14:11 913
原创 拖拽排序后端设计与实现-单表单列法
这种方式优点是,查询快,修改慢。而且,修改接口的逻辑较重,处理起来比较麻烦。在接口设计方面,我们让前端传给后端是一个偏移值(offset),offset = y - x。当元素向排序大的方向移动时,offset的为正值;若往排序小的方向移动时,offset`为负值。展示列表时,按照 index 字段进行排序即可。若需要查第n位元素时,元素位置为 index = n - 1。每个元素,都有一个字段index,表示元素的排序信息。新增元素时,序号为当前元素数据总量值。删除元素时,将大于该元素的序号,都减1。
2023-09-06 11:37:02 221
原创 Centos7安装Node环境
3,将tar.xz解压成tar文件。2,上传到linux 服务器。将tar文件解压成文件夹。6,查看是否安装成功。
2023-03-27 10:33:53 227
原创 PHP 如何保证接口的安全性
APP、前后端分离项目都采用API接口形式与服务器进行数据通信,传输的数据被偷窥、被抓包、被伪造时有发生,那么如何设计一套比较安全的API接口方案呢
2023-01-29 10:36:22 1077
原创 高并发下如何保证接口的幂等性?
对于给第三方调用的接口,有可能会因为网络原因而调用失败,这时,一般在设计的时候会对接口调用加上失败重试的机制。总之,当你去设计一个接口的时候,幂等都是首要考虑的问题,特别是当你负责设计转账、支付这种涉及到 money 的接口,你要格外注意喽!当消息被其他消费者重新消费时,如果没有幂等性,就会导致消息重复消费时结果异常,如数据库重复数据,数据库数据冲突,资源重复等。这几种实现幂等的方式其实都是大同小异的,类似的还有使用状态机、悲观锁、乐观锁的方式来实现,都是比较简单的。
2023-01-28 22:04:17 2227 1
原创 Centos7开启SSH连接配置
如果有信息说明已安装了openssh-server,如果输出没有任何结果,说明没有安装。放开端口以及监听地址,去掉#,如下图。
2023-01-10 16:31:39 3667
原创 安装Centos7 minimal后提示无法访问网络
进入/etc/sysconfig/network-scripts目录。从上图看出,系统网卡没有分配ip地址,网卡为ens33。安装好系统后,启动系统,输入用户名、密码,进入系统。并编辑ifcfg-ens33文件。
2023-01-10 16:25:27 330
原创 Laravel 事件(event)+ 队列(queue)基础
此时项目中,会多出两个目录 ,Events 和 Listeners。并会自行创建两个文件 , Demo.php 和 DemoListener.php 如下图所示。最后根目录会出现一个,logs.txt文件,内容和上面的一样。以上就是laravel事件的简单实用,仅供参考。
2022-11-02 18:07:12 1368
原创 laravel事件监听和job有哪些区别
Job关注与正在做的事情:正在注册、正在更新、正在发布、批量发放Event关注与做过的事情:注册完成、更新完成、发布完成、发送完成它们之间可以混合使用, 在 event 中添加 job 任务。
2022-11-02 15:53:14 340
原创 Laravel使用Queue队列的技巧汇总
每一种队列驱动的配置都可以在该文件中找到,包括数据库,Beanstalkd ,Amazon SQS,Redis,以及同步(本地使用)驱动。Laravel 队列为不同的后台队列服务提供统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关系型数据库的队列。需要保证送达率的,比如发送短信,因为要调用别人的 api,总会有几率失败,那么为了保证送达,重试就必不可少了。使用队列的时候一定要想明白一个问题,这个任务到底是不是可以异步,如果因为异步会导致问题,那么就要放弃使用队列。
2022-11-02 15:48:59 3647
原创 springboot+quartz报错:Table ‘XXXX.QRTZ_TRIGGERS‘ doesn‘t exist
springboot+quartz报错:Table 'XXXX.QRTZ_TRIGGERS' doesn't exist
2022-09-17 12:07:29 5086 1
原创 彻底卸载清理MySQL
如何彻底卸载清理MySQL大体上分为三个步骤:1,卸载软件本身2,清除残留文件3,清理注册表1、第一步:卸载软件本身二、清除残留文件三、清理注册表regeditHKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQLHKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL..
2022-04-26 10:08:25 1337
原创 PHP 图片转base64编码 和 base64编码字符串转换成图片保存
1、图片转base64编码:/*图片转换为 base64格式编码*/$img = 'uploads/01.png';$base64_img = base64EncodeImage($img);echo '<img src="' . $base64_img . '" />'; function base64EncodeImage ($image_file) { $base64_image = ''; $image_info = getimagesize($image
2021-09-13 16:57:01 20902
原创 png图片改变大小保存 php
<?php //获取源图gd图像标识符 $srcImg = imagecreatefrompng('./yuantu.png'); $srcWidth = imagesx($srcImg); $srcHeight = imagesy($srcImg); //创建新图 $newWidth = round($srcWidth / 2); $newHeight = round($srcHeight / 2); $newImg = imagecreatetruecolor($n.
2021-09-10 19:51:10 166
原创 通用方法 解决/usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8‘ not found的问题
1.先查看当前Linux服务器gcc版本中包含哪些库。(注意:要区别当前Linux版本是32还是64,下面的操作是查看64的,下载文件也需要用64)strings /usr/lib64/libstdc++.so.6 | grep GLIBCstrings /usr/lib64/libstdc++.so.6|grep CXXABI以上只要缺少对应的版本,都可通过安装对应缺失的libstdc++.so.6.0.13以上的版本,来解决缺失版本的问题。当前截图中是高版本的libst.
2021-09-02 17:04:38 3504 2
原创 linux系统python2.x升级3.x
服务器CentOS7.6中自带的python版本是2.7.5,平时习惯了python3,第一步先升级一下版本。# 下载wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz# 解压tar -zxf Python-3.7.3.tgz# 安装依赖包yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel t
2021-09-02 10:54:29 179
原创 PHP常见的排序算法
1. 冒泡排序思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。代码实现:$arr=array(1,43,54,62,21,66,32,78,36,76,39); function bubbleSort($arr){ $len=count($arr); //该层循环控制 需要冒泡的轮数 for($i=0;$i<$len-1
2021-08-09 12:02:24 125
原创 CentOS 7 yum 安装 PHP7.3
安装 PHPRemi 软件源Remi 软件源 主要提供最新版的 PHP 软件包和其他一些 PHP 扩展工具包,它是针对 Fedora 和 RHEL 系分支变体 (包括:RHEL, CentOS, Oracle Linux 等等) 要安装 PHP,推荐使用 Remi 软件源。Remi 对 PHP 的支持和更新都很积极,可以在第一时间获得新版本的支持。安装 EPEL 源及源管理工具:yum install epel-release yum-utils安装 REMI 源:yum i
2021-02-22 15:44:09 439
原创 ajax表单上传图片和数据
js$('#addbtn').click(function () { var form = document.getElementById("img-form");//获取表单的数据 var formdata = new FormData(form);//格式化表单数据 console.log(formdata); $.ajax({ type: "POST",
2020-09-04 17:25:44 719
原创 支付宝notify_url异步回调不成功问题
1,设置公钥 我们用的是“支付宝公钥”,不要填应用公钥,不然就坑了2,回调域名地址 地址不可以带参数如:http://*****.com/notify.php,千万不要写:http://*****.com/back.php?r=notify 如果url带了参数,可以添加伪静态url,规则例如: RewriteRule ^payment_callback/(.*) index.php?route=extension/payment/$1/callback [...
2020-05-29 11:00:34 3040
转载 5分钟教你3种实现验证码功能
摘要:我们在做一些后台系统的登录验证的时候。难免会用到验证码功能,来辅助进行验证,提高安全性,在我们日常生活中,验证方式无处不在,最多的是短信验证码的方式,通过点击发送验证码,然后手机接收短信,填写验证码才能登陆成功,但是也有一些其他验证码功能也在使用,所以,我就想着来集中记录一下,希望对大家有所帮助...一.数字短信验证码思路:a.两个文本框+一个获取验证码按钮,文本框用来输入...
2020-03-31 16:08:11 4382 1
原创 The fileinfo PHP extension is not installed解决思路
php没有加载或按照fileinfo这个扩展1,找到服务器当前使用的php,比如安装目录在/usr/local/php7,那相对应的phpize路径为/usr/local/php7/bin/phpize2,找到PHP的安装源码,进入ext/fileinfo文件夹,运行/usr/local/php7/bin/phpize3,然后运行 ./configure --with-ph...
2020-01-11 09:46:50 1519
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人