个人总结
文章平均质量分 50
Aring88
大学期间虚晃已过,后经历社会变迁、人情世故、历经风雨,心底仍有阳光。肃然重拾知识,从小做起,一步一步,想靠自己,在这社会中卑微倔强的存活
展开
-
git 相关奇淫巧技
【代码】git 相关奇淫巧技。原创 2023-05-30 21:27:09 · 76 阅读 · 0 评论 -
技术面经总结
在人脉资源,和个人影响力还没扩大的情况下,简历是至关重要的一关,你想进入面试,首先得过了hr 筛选那一关,何况每年都是最难就业季,今年互联网大裁员,朋友公司内推,问hr怎么这么久没消息,回答说,一天要看上百份简历,真是太卷了。总而言之,简历要过hr那关,首先就是关键词,你会什么、做过什么、做出什么成就。这几个问题,加上你对这岗位的契合度,决定hr 是否筛选你的简历,hr看一份简历的时间最多不超过3分钟,所以,一定要简洁和关键。过了简历,就得准备好面试,每一次面试都是一次机遇和经验,所以一定要准备和总结。原创 2022-10-28 01:01:03 · 566 阅读 · 0 评论 -
curl Failed to connect to
【代码】curl Failed to connect to。原创 2022-10-21 05:16:15 · 2971 阅读 · 1 评论 -
getimagesize()函数获取图片宽高取反
背景:手机摄像头朝下拍摄,上传后,getimagesize()获取图片信息会把宽高去反,面对这种情况有以下方法。一、情况exif_read_data()exif_read_data()函数是能获取图片详细摄像信息,包括GPS信息,所以以后图片上传前最好还是进行二次处理。Array( [0] => 2304 [1] => 1728 [2] => 2 [3] => width="2304" height="1728" [bits]原创 2022-04-21 23:19:50 · 829 阅读 · 0 评论 -
php添加水印
php图片水印操作原创 2022-04-17 18:30:20 · 819 阅读 · 0 评论 -
hyperf——代码赏析
犹豫工作中,看到同事写的代码,太优美了。所以忍不住赏析一番,记录下来以免以后忘记。 数据整合获取uid%16后组装的数据数组操作(larvel)协程操作数据整合获取uid%16后组装的数据$uid_group = $uids->mapToGroups(function ($item) { $num = str_pad((string)($item % 16), 2, '0', STR_PAD_LEFT); return [$num => $原创 2022-01-11 11:51:08 · 572 阅读 · 0 评论 -
hyperf 遇到的情况总结
hyperf踩过的坑协程变量三级目录协程变量 public const const = 1000; public static $static; public function setvar() { $this->var = 'var'; self::$static = 'static'; Context::set('testvar', '1000'); return [原创 2021-12-31 18:03:29 · 3337 阅读 · 0 评论 -
Excel 入 mysql 库脚本
最近因为有大量Excel 文件需要导入 mysql ,所有有需求,就写了个excel 文件入mysql库,脚本。首先,思路是分三步,查找文件,excel插件操作,mysql操作。一、查找文件是写了个闭包函数,dir是目录,dir 是目录,dir是目录,fun是闭包函数,使用时候,可以在fun参数写函数,获取dir目录下所有文件的路径。class FileStrem { public function ReadDir($dir, $fun){ if ($handle =.原创 2021-09-17 18:31:10 · 537 阅读 · 0 评论 -
Hyperf-跨域问题
一、传统框架中在传统框架中一般来说有两种方案1,例如laravel入口文件index.php中加上允许跨域代码2,通过nginx反向代理header('Access-Control-Allow-Origin:*');if($_SERVER['REQUEST_METHOD'] == 'OPTIONS'){ header('Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS,PATCH'); // 设置是否允许发送 co原创 2021-07-27 16:26:27 · 2439 阅读 · 0 评论 -
GO-细节记录
goroutine1, goroutine 可能会切换的点// I/O select channel// 等等锁 函数调用(有时) runtime.Gosched()主动交出控制权// 只是参考,不能保证切换,不能保证在其他地方不切换原创 2021-07-17 00:00:29 · 84 阅读 · 0 评论 -
PHP-通用原生模拟Post请求
/** * 模拟post提交 * @param $json * @param $url * @return mixed */ public static function http_post_json($json,$url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch,.原创 2021-07-15 16:59:05 · 267 阅读 · 2 评论 -
PHP-原生发送邮箱验证码
/** * 发送邮件 * @param $address * @param $subject * @param $message * @return array * @throws \PHPMailer\PHPMailer\Exception */ public static function send_email($address,$message){ $mail=new PHPMailer(true);原创 2021-07-15 16:57:37 · 545 阅读 · 0 评论 -
日常PHP细节,会跟随经历丰富
//if 0 、 null 、 false 、 ”“(不能有空格)、都判断否 //list() 只能对,[0=>1,1=>2] 这样下标的数组获取 //empty ""(中间不能有空格,有空格就不为空) 、 0 、 null 、false 这些都判为空 // isset false 、null、0、“” 这些都判存在,除非变量根本不存在 ...原创 2021-07-04 23:36:10 · 158 阅读 · 4 评论 -
php-mysql连接池
实现思路: 懒汉模式1,判断是否连接类是否够设定上限2,池子充足就返回mysql链接类class MysqlPool{ private static $instance=[]; private function __construct(){} //防止外部创建新的数据库连接类 public static function Connect($table){ //连接类不够100,创建新类 if (count(self::$insta原创 2021-07-02 15:43:22 · 650 阅读 · 0 评论 -
php-多线程
php-多线程PHP多线程优势:php开启多线程1,安装pthread 扩展2,必须使用 --enable-maintainer-zts 参数重新编译 PHP,这个参数是指定编译 PHP 时使用线程安全方式3,线程安全问题:4,PHP线程安全实现:5,Thread类方法:例子:PHP多线程优势:I/O 阻塞会使操作系统发生任务调度,阻塞当前任务,所以代码中 I/O 多的情况下,使用多线程时可以将代码并行。例如多次读整块的文件,或请求多个网络资源。多线程能充分利用 CPU,有多处大计算量代码时php开原创 2021-07-02 15:41:56 · 875 阅读 · 0 评论 -
php-socket编程
php的socket编程算是比较难以理解的东西吧,不过,我们只要理解socket几个函数之间的关系,以及它们所扮演的角色,那么理解起来应该不是很难了,在笔者看来,socket编程,其实就是建立一个网络服务的客户端和服务端,这和mysql的客户端和服务端是一样的,你只要理解mysql的客户端和服务端是怎么一回事,你就应该能够理解下面我要讲的东西吧。关于socket编程所涉及到的网络协议,什么TCP啊,UDP啊,什么socket三次握手等等,这些网络协议网上有很详细的解释,这里不讲,只截个socket建立套接转载 2021-06-28 14:21:03 · 139 阅读 · 0 评论 -
php正则规则
正则表达式的基本语法一个正则表达式,分为三个部分:分隔符,表达式和修饰符。分隔符可以是除了特殊字符以外的任何字符(比如"/ !“等等),常用的分隔符是”/"。表达式由一些特殊字符(特殊字符详见下面)和非特殊的字符串组成,比如"[a-z0-9_-]+@[a-z0-9_-.]+“可以匹配一个简单的电子邮件字符串。修饰符是用来开启或者关闭某种功能/模式。下面就是一个完整的正则表达式的例子:/hello.+?hello/is上面的正则表达式”/“就是分隔符,两个”/“之间的就是表达式,第二个”/“后面的字符原创 2021-06-24 11:59:20 · 713 阅读 · 0 评论 -
shell统计git代码总量
脚本1: 统计所有仓库、所有提交人的代码总行数(新增加-删除) 脚本2: 统计所有仓库、所有提交人的代码提交汇总与删除汇总 脚本3: 统计指定仓库的所有提交人的代码提交 汇总与删除汇总注意:所有代码行数为0,统计结果中清除。 所有统计只统计master分支。安装: 把脚本中的仓库路径搜索修改为GitLab的存储目录。 统计结果存储在/home目录下面。[root@gitlab home]# cat code_statistics.sh#!/bin/bashmaster_dev='master'd原创 2021-06-23 09:47:08 · 482 阅读 · 0 评论 -
PHP txt格式文件下载
txt的下载由于部分浏览器可以解释txt文件,导致使用浏览器访问服务器某个txt时候,会打开一个新的窗口阅览txt内容,而不是下载文件function downloadtxt($file = "") { if(!$file) return false; $filename = '/path/'.$file.'.txt'; //文件路径 header("Content-Type: application/force-download"); header("Content-Dispositi原创 2021-06-21 11:47:43 · 241 阅读 · 4 评论 -
PHP 页面静态化/纯静态化/伪静态化
概念PHP静态化分为:纯静态化 和 伪静态化;纯静态化又分为:局部静态化 和 完全静态化纯静态化:是把PHP生成的动态页面保存成静态的html文件,用户访问该静态页面,而不是用户每一次访问都重新生成一张相同的网页,优点就是减小服务器开销, 局部静态化:是生成的静态文件中,有局部的数据还是通过ajax技术动态获取的; 完全静态化:即不存在动态获取数据的情况,所以内容都来自静态的html页面伪静态化:Apache服务器rewrite配置纯静态化的实现利用php内置的ob函数实现页面转载 2021-06-18 17:20:12 · 137 阅读 · 0 评论 -
PHP生成TXT文件
访问PHP时生成TXT文件并自动下载。$filename = "filename.txt";header("Content-Type: application/octet-stream");header('Content-Disposition: attachment; filename="' . $filename . '"');输出内容:直接用echo输出,“\r\n”用以换行。第一步:处理中文文件名:$ua = $_SERVER["HTTP_USER_AGENT"]; $filen转载 2021-06-15 17:06:41 · 1213 阅读 · 0 评论 -
php--转码函数
最近在用dedecms二次开发会员功能;大家都知道dedecms编码是GBK格式的;所以在我们在项目中经常需要转码,在我了解中有两种转码方式:一是:iconv;二是mb_convert_encoding;下面介绍下两种转码方式的用法:iconv:iconv(“UTF-8″,”GB2312”,string);将string);将string);将string由utf-8编码转化为GBK格式第一个参数:现在字符串的编码格式;第二个参数:想要转化的编码格式;第三个参数:想要转化的字符串;mb_con转载 2021-06-15 16:59:53 · 508 阅读 · 0 评论 -
KeepAlive详解
什么是KeepAlive?首先,我们要明确我们谈的是TCP的 KeepAlive 还是HTTP的 Keep-Alive。TCP的KeepAlive和HTTP的Keep-Alive是完全不同的概念,不能混为一谈。实际上HTTP的KeepAlive写法是Keep-Alive,跟TCP的KeepAlive写法上也有不同。TCP的keepalive是侧重在保持客户端和服务端的连接,一方会不定期发送心跳包给另一方,当一方端掉的时候,没有断掉的定时发送几次心跳包,如果间隔发送几次,对方都返回的是RST,而不是AC转载 2021-04-12 15:16:02 · 240 阅读 · 0 评论 -
内网穿透工具frp简易教程
frp项目如果你想把家里的电脑当做服务器用,做一个网站或者游戏服务器什么的,肯定会遇到一个问题:由于没有公网IP,而且有家里的路由器把关,导致其他地方的人完全无法连接到服务器。这时候就需要内网穿透和端口映射工具了,这样的工具有很多,我列举常用的几个:花生壳nat123ngrok不过这几个工具虽然都算是挺好用的,但是都是收费的,虽然都有免费版,但是免费版功能实在太少,基本上只能绑定一个应用,端口号还是随机的。临时玩玩倒是可以,真正要用的话还是不行。经过一番寻找,最后我锁定了frp这个工具,它.转载 2021-04-12 10:22:46 · 1224 阅读 · 0 评论 -
Rabbitmq——基础
这篇笔记记录了基于AMQP协议的RabbitMQ的基础知识,如Broker,Channel,Exchange,Queue,Binding,Producer,Consumer等,以及RabbitMQ的工作流程,Exchange的类型,Exchange和Queue的绑定和Exchange向Queue投递消息等什么是rabbitmq?rabbitmq是基于AMQP协议的消息队列什么是AMQP 0-9-1?AMQP 0-9-1是高级消息队列协议,是一种消息传递协议,它使符合要求的...转载 2021-04-08 14:08:01 · 85 阅读 · 0 评论 -
单点登录
背景在企业发展初期,企业使用的系统很少,通常一个或者两个,每个系统都有自己的登录模块,运营人员每天用自己的账号登录,很方便。但随着企业的发展,用到的系统随之增多,运营人员在操作不同的系统时,需要多次登录,而且每个系统的账号都不一样,这对于运营人员来说,很不方便。于是,就想到是不是可以在一个系统登录,其他系统就不用登录了呢?这就是单点登录要解决的问题。单点登录英文全称Single Sign On,简称就是SSO。它的解释是:在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。转载 2021-03-30 16:47:10 · 57 阅读 · 0 评论 -
curl 的用法指南——2
本文介绍它的主要命令行参数,作为日常的参考,方便查阅。内容主要翻译自《curl cookbook》。为了节约篇幅,下面的例子不包括运行时的输出,初学者可以先看我以前写的《curl 初学者教程》。不带有任何参数时,curl 就是发出 GET 请求。$ curl https://www.example.com上面命令向www.example.com发出 GET 请求,服务器返回的内容会在命令行输出。-A-A参数指定客户端的用户代理标头,即User-Agent。curl 的默认用户代理字符串是cu.转载 2021-03-29 00:16:46 · 117 阅读 · 0 评论 -
curl网站开发指南
curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面。它支持多种协议,下面举例讲解如何将它用于网站开发。一、查看网页源码直接在curl命令后加上网址,就可以看到网页源码。我们以网址www.sina.com为例(选择该网址,主要因为它的网页代码较短): $ curl www.sina.com <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><转载 2021-03-29 00:15:37 · 173 阅读 · 0 评论 -
如何使用云数据库RDS版
一,创建RDS云数据库1,购买资源,创建实例,自我需求不展示2,选择实例(注意实例地区)二,创建用户按照下图流程创建用户三,链接数据库1,可以使用数据链接工具链接数据库2,根据个人需求,链接...原创 2021-03-10 15:52:12 · 274 阅读 · 0 评论 -
单例设计模式(单态)
/*单例设计模式 (单态)定义: 一个类 只能允许有 一个对象存在.1.不让进: 使类不能被实例化2.留后门: 设置静态方法3.给对象: 在静态方法里实例化该类4.判初夜: 判断是否是 第一次产生该类的对象5.设静态: 静态方法里 要使用静态属性*//*//1.不让进: 使类不能被实例化-----------------class Test{// 设置 一个封装的构造方法private function __construct(){//占位, 我就是不让你NEW我~~~}转载 2021-02-23 15:21:35 · 96 阅读 · 0 评论 -
nginx限流配置
一、限流配置1,按连接数先修,即并发数(ngx_http_limit_conn_module)2,按请求速率限速,按照ip限制单位时间内的请求书(ngx_http_limit_req_module)二,规则配置1,创建规则(写在http模块)limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;2,应用规则(写在PHP模块)limit_req zone=mylimit burst=1 nodelay;...原创 2021-02-23 01:01:57 · 721 阅读 · 0 评论 -
大型项目优化思路
大型项目优化概述 --PHP 解析流程优化方案考虑 PHP 解析的的每一个过程1、客户端请求到 web 服务器的过程中可能由于不同的网络导致传输缓慢可以使用多线路的部署方式2、当 web 服务器接受请求执行的效率以及并发的问题。可以选择使用负载均衡并且对项目中的代码进行优化3、对于 mysql 执行效率跟并发同样会影响性能,可以使用各种 mysql 优化提升执行速度并且可以使用 mysql 读写分离缓解压力优化可用技术1、网站开发中尽量使用较小的资源文件2、使用压缩技术 (gzip转载 2021-02-22 01:13:48 · 265 阅读 · 0 评论 -
socket技术详解(看清socket编程)
socket编程是网络常用的编程,我们通过在网络中创建socket关键字来实现网络间的通信,通过收集大量的资料,通过这一章节,充分的了解socket编程,文章用引用了大量大神的分析,加上自己的理解,做个总结性的文章1:socket大致介绍 socket编程是一门技术,它主要是在网络通信中经常用到 既然是一门技术,由于现在是面向对象的编程,一些计算机行业的大神通过抽象的理念,在现实中通过反复的理论或者实际的推导,提出了抽象的转载 2021-02-13 02:32:34 · 181 阅读 · 0 评论 -
程序员怎么进阶
mvc框架了解一个就可以,不用花更多精力去精通每一个mvc框架,因为mvc框架太多,学到的只是框架用法,各个框架间用法不通用,时间成本并不划算。php不要光会用,至少要去了解下底层原理,对于写出来高质量高性能代码有一定帮助。最主要socket编程、多进程编程都要去熟悉一下。这些属于底层原理,学习一次各个语言各个系统全部通用,这个时间成本非常划算。总结起来就是用一个东西不要光会用,要了解下底层是怎么工作的。不用了解每个细节,了解整体原理就行。慢慢你会发现所有的系统都离不开那些基本的东西。与其花时间学习各原创 2021-02-13 01:04:52 · 172 阅读 · 3 评论 -
HTTP、Websocket关系,和客户端服务器交互方式
websocketWebsocket只是一个网络通信协议,就像 http、ftp等都是网络通信的协议一样;相对于HTTP这种非持久的协议来说,Websocket是一个持久化网络通信的协议;WebSocket和HTTP的关系WebSocket和HTTP的关系有交集,但是并不是全部。Websocket只是借用了HTTP的一部分协议来完成一次握手。(HTTP的三次握手,此处只完成一次)Http 协议第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据...转载 2021-02-10 18:44:37 · 570 阅读 · 0 评论 -
微信消息模板——巨坑
微信平台分主动消息和被动消息,主动消息是生产服务器主动推送消息给微信平台,被动消息是用户行为导致微信平台推送消息给生产服务器。主动消息需要:1,将生产服务器ip加入ip白名单2,然后根据appid和secret获取token3,每次主动推送将token&在url上被动消息:1,填写生产服务器url路径在公众号配置上2,获取token绑定一、消息模板1,获取微信消息模板api接口链接(巨坑,微信公众号文档上消息模板api链接有问题,正确应该在微信公众号,消原创 2021-02-02 17:39:44 · 474 阅读 · 0 评论 -
MyISAM和InnoDB的区别
MyISAM和InnoDB的区别定义InnoDB:MySQL默认的事务型引擎,也是最重要和使用最广泛的存储引擎。它被设计成为大量的短期事务,短期事务大部分情况下是正常提交的,很少被回滚。InnoDB的性能与自动崩溃恢复的特性,使得它在非事务存储需求中也很流行。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。MyISAM:在MySQL 5.1 及之前的版本,MyISAM是默认引擎。MyISAM提供的大量的特性,包括全文索引、压缩、空间函数(GIS)等,但MyISA...转载 2020-12-09 16:15:37 · 116 阅读 · 0 评论 -
Git/Github相配置与操作——发布、下载、更新、提交
第一次发布项目(本地-远程)git add . //文件——>暂存区 . 当前目录所有文件git commit -m"注释内容" //暂存区-本地分支(默认master)git push -u origin master //将本地项目推送到远程第一次下载项目(远程-本地)git clone 项目唯一标识符(项目ssh) //远程仓库——>本地提交(本地—...原创 2020-04-15 17:08:30 · 144 阅读 · 0 评论 -
Git/Github相配置与操作——搭建、关联
安装时候: Use git from git bash only。。。。其他默认下一步配置PATH:Git\bin 配置bin目录一、配置git:用户名-邮箱右键 git bash$ git config --global user.name “用户名”$ git config --global user.email “邮箱”查看:搜索电脑最新的config文件...原创 2020-04-15 15:21:56 · 132 阅读 · 0 评论 -
伪静态,相关知识点
1,一个括号一个参数2,开始^ 结束$ 参数段$1(参数1) $2(参数2)3,. 代表 前端 . 意思4,注意覆盖5,规则:. 匹配除换行符以外的任意字符\w 匹配字母或数字或下划线或汉字\s 匹配任意的空白符\d 匹配数字\b 匹配单词的开始或结束^ 匹配字符串的开始$ 匹配字符串的结束* ...原创 2019-12-21 16:01:51 · 146 阅读 · 0 评论