- 博客(147)
- 资源 (11)
- 收藏
- 关注
原创 centos7配置端口转发
#开启端口转发echo net.ipv4.ip_forward=1>>/etc/sysctl.conf#开启firewalldsystemctl start firewalld#开启4650端口监听tcp请求firewall-cmd --add-port=3307/tcp#设置IP地址伪装firewall-cmd --add-masquerade --permanent...
2019-06-18 10:46:59 15404
转载 那些让你起飞的计算机基础知识
信息的表示和处理计算机如何表示整数:有符号数和无符号数,尤其是如何用补码表示负数,数字的取值范围。计算机如何表示浮点数,为什么小数的二进制表示法只能近似表示十进制小数。数值的转换、移位这几点非常重要,因为几乎所有的编程语言都有数据类型,而最基本数据类型必然包括整数和浮点数。搞不清这些表示和运算,在编程中就会遇到一些稀奇古怪的问题。从汇编层面理解程序的执行顺序、分支、循环、函数...
2018-11-21 08:52:36 4056 3
原创 服务器端SVN部署及基本使用
在多人协同开发中,有一个必不可少的工具就是SVN/git,它能帮助我们更好地管理项目代码。现在就来学习一下怎么在服务端部署SVN。 系统:centos7.2安装SVN服务端yum -y install subversion查看安装路径等信息rpm -ql subversion创建版本库目录mkdir /var/svn/svnrepos 在这里仅是创建目录...
2018-10-03 10:05:21 1892
原创 Swagger在php和java项目中的应用
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法、参数和模型紧密集成到服务器端的代码,允许 API 来始终保持同步。Swagger 让部署管理和使用功能强大的 API 从未如此简单。
2023-11-25 02:53:32 462
原创 Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration
所以需要在@SpringBootTest注解加上SpringBoot的启动类classes = ReggieApplication.class。跟着视频一起敲的代码,但就是跑不起来。
2023-10-15 21:30:09 1210
原创 SpringBoot基于jackson对象映射器扩展mvc框架的消息转换器
在SpringBoot中,可以基于jackson对象映射器扩展mvc框架的消息转换器。
2023-10-11 21:36:06 533 1
原创 学习Consul中踩过的坑
通过mac的homebrew安装了consul以后,手动启动consul报8300端口已被占用,通过lsof -i:8300和lsof -i:8500查看端口占用情况,发现consul已经启动了。然后手动kill -9对应的进程id,再启动consul,还是报端口占用,查看端口,还是被consul占用。这个时候发现kill -9退出不了consul进程,会不断重启,这个时候就想到,会不会是被加入到守护进程了。简单来说就是homebrew把consul注册成了守护进程,如果要手动启动,那就要移除守护进程。
2023-10-08 16:40:44 924
原创 SpringBoot解决LocalDateTime返回数据为数组问题
默认序列化情况下会使用SerializationFeature.WRITE_DATES_AS_TIMESTAMPS。使用这个解析时就会打印出数组。在SpringBoot项目中,接口返回的数据出现LocalDateTime对象被转换成了数组。在配置类中加入一行配置,解决问题。
2023-10-07 20:18:24 2679 1
原创 phpexcel替代方案
作为替代方案,你可以使用PhpSpreadsheet库,它是PHPExcel的继任者,支持PHP 7.2及更高版本,包括PHP 8。
2023-06-19 09:42:01 1306
原创 配置多版本php环境
你可以通过在终端中输入 which php 或 whereis php 来查找 PHP 的安装路径。找到你想要使用的 PHP 版本的路径,例如 /usr/local/bin/php7.4 和 /usr/local/bin/php8.0。请注意,这种方法不会将多个 PHP 版本添加到环境变量 PATH 中,而是通过别名让你能够轻松地在终端中使用不同版本的 PHP。现在,你可以在终端中使用 php74 或 php80 命令来运行指定版本的 PHP。保存并重新加载配置文件。将显示 PHP 7.4 版本的信息。
2023-05-25 19:56:00 1284
原创 php雪花算法创建分布式唯一id
雪花算法的优点是,整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞(由数据中心ID和机器ID作区分),效率较高。但是依赖与系统时间的一致性,如果系统时间被回调,或者改变,可能会造成id冲突或者重复。可以根据服务器内网ip来作为机器的id,保证唯一性。
2023-05-18 20:00:55 632
原创 安装elasticsearch后,本地访问不了
最近在看elasticsearch的一些教程,遇到了一个小坑,在这里记录一下elasticsearch下载链接kibana下载链接目前elasticsearch包已经内置了java包,不需要再搭建java环境下载完成后,按照教程运行bin目录下的elasticsearch.bat文件,然后本地访问http://127.0.0.1:9200/发现访问不通通过查日志解决问题[WARN ][o.e.x.s.t.n.SecurityNetty4HttpServerTransport] [JSZX2
2022-05-05 16:50:32 2683 3
原创 通过shell脚本监测php运行状态,重启php
#! /bin/shwhile [ true ];do #!监听指定url状态码 if [ `curl -I -m 10 -o /dev/null -s -w %{http_code} http://www.test.com/index.php` -eq 502 ]; then #!重启php /etc/init.d/php-fpm-52 restart else ech
2020-07-25 12:19:32 630
转载 如何解决"Cannot send session cache limiter – headers already sent "错误
session_start();今天接手了一个非常老的项目,只能采用php5.2及以下版本才行。然而在运行之初就碰到一个问题:在网上找了下,介绍很详细(以下转载自博客园赢风):如果使用基于cookie的session(cookie-based sessions),那么在使用Session_start()之前浏览器不能有任何输出,否则会出现"Cannot send session cac...
2020-04-29 23:09:13 1022
原创 安装PHP Xdebug并配置到phpstorm
为了在php开发中能够进行断点调试,可以通过Xdebug实现。1、Xdebug调试原理右边机器(IP=10.0.1.2)是布署了Nginx/php的服务端(下文简称php服务端),左侧机器(IP=10.0.1.42)是布署了IDE(比如Phpstorm)的IDE端(下文简称IDE端)。调试中基本通信过程说明:打开浏览器,访问web页面,nginx通过fastcgi网关接口加载PHP脚本...
2020-04-04 15:59:09 301
转载 linux下ab测试
1.ab的简介ab是apachebench命令的缩写。ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。2.ab的原理ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试a...
2020-04-03 15:00:12 411
原创 Linux学习
Linux学习占位符(不应该按字面直接照搬的命令参数)采用斜体表示 中括号[]之间的任何内容都是可选的英文省略号...后面的任何内容都是可重复的大括号{}表示应该选择由竖线|隔开的各项中的一个一、软件1、判断软件是否已经安装-[ ] which which nginx which命令是使用shell命令,找出相差的二进制程序是否已经在搜索路径中-[ ] wh...
2019-10-24 18:56:34 166
原创 验证身份证号
class IdcardValidatorHelper{ /** * 验证身份证号 * @param [type] $idcard [身份证号码] */ public function checkIdCard($idcard){ if(empty($idcard)){ return false; ...
2019-08-20 15:49:53 688
原创 Mysql性能调优
一、影响性能的几方面服务器硬件服务器系统数据库存储引擎的选择(插件式存储引擎): myisam:不支持事务,表级锁 innodb:事务级存储引擎,完美支持行级锁,事务ACID特性数据库参数配置数据库结构设计和SQL语句二、服务器硬件衡量数据库处理能力的指标:QPS:同时处理SQL的数据CPUCPU密集型(当前版本不支持多CPU对同一SQL并发处...
2019-08-12 11:15:12 351
原创 MySQL关于用户关注粉丝表设计方案
一、数据结构分析用户关注粉丝是一个多对多的数据模型,分析对象的数据特征,我们给每个用户设计一个关注者属性和粉丝属性,用于存储用户的关注者id和粉丝id,如用户1:$arr1 = [ 'follow' => '[2,3,4], 'fans' => [4,5,6],]二、用户逻辑关系梳理在用户关注粉丝模型中,有两种常见场景:查看自己的粉丝或者关注列表:这种情况下最多...
2019-07-26 12:09:51 3435
原创 python微信机器人
一、监听所有消息,并将原消息发送给发送者from wxpy import *# 扫码登陆微信并缓存用户信息bot=Bot(cache_path=True)# 监听所有消息,并将原消息发送给发送者@bot.register()def recv_send_msg(recv_msg): print(recv_msg) print('收到的消息:',recv_msg.tex...
2019-06-13 20:13:13 1081
原创 PHP 数组排序函数sort,rsort,ksort,krsort,asort,arsort区别
一、概念:1、自然排序法:即按自然数的大小排序,例如“10>2”;2、计算机标准排序法:是以逐个字符比较,排序,例如“2>10”(因为第一位2>1);3、数值数组:带有数字 ID 键的数组;4、关联数组:带有指定的键的数组,每个键关联一个值。5、默认的排序为按键值升序排序,排序方式为自然排序。二、帮助理解1、a(association)前缀表示以键值关联排序;2、...
2019-05-28 15:25:39 712
原创 php抽象类、interface、trait、final
一、抽象类抽象类的定义任何一个类,如果它里面至少有一个方法被声明为抽象方法,那么这个类就必须被声明为抽象的,被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现,即抽象方法没有方法体。抽象类不能被实例化abstract class AbstractClass{ // 强制要求子类定义这些方法 abstract protected function get...
2019-05-12 15:35:08 403
转载 PHP八大设计模式
一、预热命名空间Test1.php<?phpnamespace Test1;//命名空间Test1function test(){ echo __FILE__;}Test2.php<?phpnamespace Test2; //命名空间Test2function test(){ echo __FILE__;//打印当前文件所在的绝对路径。}Tes...
2019-05-09 15:33:46 222
原创 Redis学习
一、Redis概述Redis介绍Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。它支持存储的value类型很多,包括string(字符串)、list(链表)、set(集合)、Zset(有序集合)等。为了保证效率数据都是缓存在内存中,它也可以周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。提供的多种语言API包括:...
2019-05-08 23:25:04 214
转载 数据库之分库分表-垂直?水平?
一、数据库瓶颈不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。IO瓶颈第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 -> 分库和垂直分表。第二种:网络IO瓶...
2019-05-08 11:18:27 515
原创 jquery实现动态加载一、二级下拉菜单
今天有个朋友问我怎么实现,点击按钮增加一级目录,选中一级目录增加二级目录然后我写了份简单的页面实现js效果,样式就不加了。效果图:切换一级目录值,增加二级目录点击按钮,增加一级目录更换一级目录值,重新加载对应的二级目录这个在列表查询页很常用,可以在增加一、二级目录的事件中请求后台接口,以实现动态加载搜索条件的效果<!DOCTYPE html><html l...
2019-05-06 17:51:59 2755
原创 TP5学习(十二):安全
一、输入安全设置public目录为唯一对外访问目录,不要把资源文件放入应用目录;开启表单令牌验证避免数据的重复提交,能起到CSRF防御作用;使用框架提供的请求变量获取方法(Request类param方法及input助手函数)而不是原生系统变量获取用户输入数据;对不同的应用需求设置default_filter过滤规则(默认没有任何过滤规则),常见的安全过滤函数包括stripslashes、...
2019-05-03 22:26:15 2853 2
原创 TP5学习(十一):验证
一、验证器概述TP5验证使用独立的\think\Validate类或者验证器进行验证。独立验证任何时候,都可以使用Validate类进行独立的验证操作,例如:$validate = new Validate([ 'name' => 'require|max:25', 'email' => 'email']);$data = [ 'name' ...
2019-05-03 22:20:43 690
gitlab安装包 gitlab-ce-10.0.0-ce.0.el7.x86-64.rpm
2023-05-14
PayDemo支付demo
2018-10-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人