- 博客(90)
- 资源 (1)
- 收藏
- 关注
原创 go http-proxy
这种代理的好处就是不用知道客户端请求的数据,只需要原封不动的转发就可以了,对于处理HTTPS的请求就非常方便了,不用解析他的内容,就可以实现代理。可以看到我们需要的在第一行,第一个行的信息以空格分开,第一部分CONNECT是请求方法,这里是CONNECT,除此之外还有GET,POST等,都是HTTP协议的标准方法。有了客户端的代理请求了,我们还得从请求里提取客户端要访问的远程主机的IP和端口,这样我们的代理服务器才可以建立和远程主机的连接,代理转发。第三部是HTTP的协议和版本,这个我们不用太关注。
2023-08-28 13:47:39
1082
原创 laravel php画图出现乱码
ob_clean(); ob_start(); $imgUrl = public_path() . "\\excel_bg.png"; $im = imagecreatefrompng($imgUrl); $black = imagecolorallocate($im, 0, 0, 0); imagepng($im); imagedestroy($im); $content =...
2020-12-18 10:53:46
334
1
翻译 go jwt实现token
package mainimport ( "fmt" "github.com/dgrijalva/jwt-go"//这里用的这个包 "github.com/labstack/echo" "net/http" "time")func main() { e := echo.New() e.GET("/", func(c echo.Context) error { token := jwt.New(jwt.SigningMethodHS256)//初始化token选择HS256 .
2020-11-17 16:05:56
393
原创 phpstudy本地开发解决larave 404问题
server { listen 80; server_name shiliyoupin.com; root "F:\PhpProject\shiliyoupin\public"; location / { index index.php index.html error/index.html; error_page 400 /error/400.html; ...
2020-09-10 10:00:36
781
原创 PHP-curl封装
<?php/** * Notes: 封装PHPCurl请求 */ function network_request($url, $data = null, $method = 'get', $jsonFormat = true, $header = '', $https = false, $timeout = 15) { $method...
2019-11-28 11:25:08
368
翻译 Redis常问面试题
Redis有哪些数据结构?字符串String、字典Hash、列表List、集合Set、有序集合SortedSet。如果你是Redis中高级用户,还需要加上下面几种数据结构HyperLogLog、Geo、Pub/Sub。如果你说还玩过Redis Module,像BloomFilter,RedisSearch,Redis-ML,面试官得眼睛就开始发亮了。使用过Redis分布式锁么,它是...
2019-11-28 11:13:51
137
翻译 CPU100%问题如何快速定位
简要步骤如下:(1)找到最耗CPU的进程;(2)找到最耗CPU的线程;(3)查看堆栈,定位线程在干嘛,定位对应代码;步骤一、找到最耗CPU的进程工具:top方法:执行top -c,显示进程运行信息列表 键入P (大写p),进程按照CPU使用率排序步骤二:找到最耗CPU的线程工具:top方法:top -Hp 10765,显示一个...
2019-11-05 10:34:51
738
原创 小程序websocket iPhone连接失败问题
开发工具连接wss服务器成功,Android连接成功,真机iphone 连接 失败,报错The operation couldn't be completed.(OSStatus error -9807.)检查nginx的SSL认证因为在同一服务器有多个服务,用nginx做了反向代理,二级域名是公司官网https://xxx.cn/, websocket服务分配了子域名wss....
2019-10-30 18:33:21
4030
1
原创 nginx配置websocket反向代理
1)编辑nginx.conf,在http区域内一定要添加下面配置:map $http_upgrade $connection_upgrade {default upgrade;''close;}map指令的作用:该作用主要是根据客户端请求中$http_upgrade 的值,来构造改变$connection_upgrade的值,即根据变量$http_upg...
2019-10-30 14:22:53
960
原创 日志方面的面试题
1.海量日志数据,提取出某日访问百度次数最多的那个IP日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的I...
2019-10-22 11:30:57
1222
翻译 redis的过期策略,内存淘汰机制LRU
redis 过期策略redis 过期策略是:定期删除+惰性删除。所谓定期删除,指的是 redis 默认是每隔 100ms 就随机抽取一些设置了过期时间的 key,检查其是否过期,如果过期就删除。问题1假设 redis 里放了 10w 个 key,都设置了过期时间,你每隔几百毫秒,就检查 10w 个 key,那 redis 基本上就死了,cpu 负载会很高的,消耗在你的检查过期 k...
2019-10-21 15:48:43
159
翻译 git常用撤销操作
撤销本地操作撤销本地操作(指的是本地工作区的修改)没有执行(git add .) 命令之前git checkout . ====点表示撤销所有文件git checkout filename ====表示撤销本地制定文件撤销暂缓区操作撤销暂缓区操作指的是执行(git add .) 命令之后,没有执行(git commit -m "提交")之前的操作git reset H...
2019-10-14 11:27:29
200
翻译 nginx基础知识
Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少(一个worker进程只占用10-12M内存),启动速度极快,高并发能力强,在互联网中广泛应用代理服务器正向代理:由于防火墙的原因,我们并不能直接访问谷歌,那么我们可以借助VPN来实现,这就是一个简单的正向代理的例子。这里你能够发现,正向代理“代理”的是客户端,而且客户端是知道目标的,而目标是不知道客户端是...
2019-09-30 15:18:19
234
原创 MySQL实现乐观锁
假设数据库中账户信息表中有一个version字段,当前值为1,账户余额为$500这样避免了操作员B用旧数据修改表中记录的的可能。
2019-09-09 16:01:00
329
转载 如何优雅地用Redis实现分布式锁?
什么是分布式锁锁是一个很重要也很基础的概念,锁可以看成是多线程情况下访问共享资源的一种线程同步机制。这是对于单进程应用而言的,即所有线程都在同一个JVM进程里的时候,使用Java语言提供的锁机制可以起到对共享资源进行同步的作用。如果分布式环境下多个不同线程需要对共享资源进行同步,那么用Java的锁机制就无法实现了,这个时候就必须借助分布式锁来解决分布式环境下共享资源的同步问题。分布式锁有很多种...
2019-09-05 17:34:39
163
原创 linux 开机启动相关程序
vim /etc/rc.locallinux开机自动运行里面的命令行#!/bin/sh/usr/local/qcloud/irq/net_smp_affinity.sh >/tmp/net_affinity.log 2>&1/usr/local/qcloud/rps/set_rps.sh >/tmp/setRps.log 2>&1/usr...
2019-09-02 16:56:49
525
原创 Linux 获取nginx日志IP访问个数
awk '{a[$1]+=1}END{for(i in a){print a[i] " " i;}}' access.log | sort -nawk '{print $1}' access.log |uniq -c | sort -nrawk '{print $1}' access.log | uniq -c | sort -nr | head -n 3 //显示最大的前三个两种方...
2019-08-22 17:40:29
633
原创 composer PHP忽略版本控制
使用 composer install --ignore-platform-reqs 命令设置忽略版本匹配然后再进行安装你所需要的
2019-08-21 15:01:06
1225
翻译 如何在Linux中查看正在使用的端口
使用netstat检查端口netstat 是一个命令行工具,可以提供有关网络连接的信息。要列出正在侦听的所有 TCP 或 UDP 端口,包括使用端口和套接字状态的服务,请使用以下命令:sudo netstat -tunlp此命令中使用的选项具有以下含义:-t - 显示 TCP 端口。 -u - 显示 UDP 端口。 -n - 显示数字地址而不是主机名。 -l - ...
2019-08-16 11:05:24
4853
原创 PHP实现JWK
<?php//JWT JSON Web Token//Head 头部部分$header = array();$header["alg"] = "HS256";$header["typ"] = "JWT";$headerJson = json_encode($header);$headerEn = urlsafe_b64encode($headerJson);//Payl...
2019-07-28 16:49:04
1294
原创 PHP经典单例模式封装
<?phptrait Singletons{ private static $instance; public static function getInstance(){ if(!isset(self::$instance)){ self::$instance = new static();//这里不能new self(),s...
2019-07-13 18:39:54
359
原创 Laravel:数据库html标签前端解析问题
如图存入到数据库的格式是html标签,要求是前端解析成html解决方案:{!! $introduce!!} 相当于 <?php echo $introduce; ?>{{$introduce }} 相当于 <?php echo htmlspecialchars($introduce ); ?>区别就是一个有转义,一个没有{{ }} 支持转义 ...
2019-07-04 16:35:53
767
转载 大牛技术文档链接
https://www.cnblogs.com/protected/p/6526857.html----数据库事务和隔离级别https://www.cnblogs.com/protected/p/6419217.html----内存分配及变量存储位置(堆、栈、方法区常量池、方法区静态区)https://segmentfault.com/a/1190000002424023#articl...
2019-06-14 13:36:50
221
原创 laravel Auth
在 Laravel5.3 中对于多组用户有更加完善的支持,我们可以有多组用户系统,比方说前台、后台各有一组用户系统。而 Guard 起到什么作用呢,这里可以举个栗子Auth::check() 是判断用户是否登录的方法,如果使用的默认用户系统,那这样使用没问题。但是使用两组用户的话,如何使用各组用户的功能呢? Auth::guard('users')->check() 就是用来判断...
2019-02-12 18:50:22
554
翻译 Redis 常规用法总结
Redis用作缓存,主要两个用途:高性能,高并发,因为内存天然支持高并发。1.计数器(string)例如知乎每个问题的被浏览数set key 0incr key //incr readcount 每阅读一次get key //get readcount 获取阅读量2.分布式全局唯一ID(string)每次获取userId的时候,对userId加1再获取,可以改...
2019-01-31 15:28:15
385
翻译 MySql分区分表的概念
一、分库分表相关术语读写分离:不同的数据库,同步相同的数据,分别只负责数据的读和写; 分区:指定分区列表达式,把记录拆分到不同的区域中(必须是同一服务器,可以是不同硬盘),应用看来还是同一张表,没有变化; 分库:一个系统的多张数据表,存储到多个数据库实例中; 分表:对于一张多行(记录)多列(字段)的二维数据表,又分两种情形: ①垂直分表:竖向切分,不同分表存储不同的字段,可以把不常用或...
2019-01-30 11:29:35
329
原创 Laravel 多语言信息配置
首先要在resources/lang目录下设置对应的语言包,创建相应的配置信息文件,该目录下有语言实例。 Artisan::command('testLang', function () { //第一种方法:先设置传参的语言 \Illuminate\Support\Facades\App::setLocale('zh-cn'); dd(trans('messag...
2019-01-29 11:59:20
890
原创 php 树形递归操作
表结构CREATE TABLE `admin_menu` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `parent_id` int(11) NOT NULL DEFAULT '0', `order` int(11) NOT NULL DEFAULT '0', `title` varchar(50) COLLATE utf8...
2019-01-28 21:03:13
1418
原创 mac上git 克隆报错
在mac笔记本克隆项目的时候,遇到权限被拒绝(PublicKey),将ssh生成的公共key传到git后也出现,还是这种情况。找了好久原因,发现不能使用sudo git clone,我用的是hello用户,sudo使用的是root用户。造成Publickey不正确...
2019-01-17 14:21:21
990
原创 php解析UTC时间
打印当前时间print_r(date("Y-m-d H:i:s")); //设置当前时间为UTC时间date_default_timezone_set("UTC"); //打印UTC时间print_r(date("Y-m-d H:i:s")); //获取当前的时间区域print_r(date_default_timezone_get());...
2019-01-10 15:34:50
1479
翻译 PHP sgin加密和session防止用户多次提交
/**inc 解析接口客户端接口传输规则:1.用cmd参数(base64)来动态调用不同的接口,接口地址统一为 http://a.lovexpp.com2.将要传过来的参数组成一个数组,数组添加timestamp元素(当前时间戳,精确到秒),将数组的键值按照自然排序从大到小排序3.将数组组成 key=val&key=val的形式的字符串,将字符串与XPP_KEY连接在一起,用...
2019-01-09 14:24:59
320
原创 In ClassLoader.php line 444:删除控制器后报文件不存在
报错信息In ClassLoader.php line 444:include(C:\phpStudy\WWW\study\laravel\vendor\composer/../../app/Controllers/CoinController.php): failed to open stream: No such file or directory解决方法在项目目录下执行com...
2018-12-24 17:30:22
1728
原创 laravel-log日志分文件存储
1.打开config文件夹的logging.php 文件,日志配置文件2.在channels 数组中自定义一个事件驱动'request_response' => [ 'driver' => 'daily', 'path' => storage_path('logs/request_response.log'), ...
2018-12-21 14:44:50
2550
原创 larave-admin 修改switch按钮路径
$router->put('coinrate/index/{index}', function($index){ echo 1111;});默认走的是update方法,可以在控制器中重新方法逻辑App\Http\Controllers\Coin\CoinRateController@updateswitch 用的ajax采用的put方法,里面的参数必须是index,返回...
2018-12-20 12:07:19
693
原创 mysql--utf8mb4
MySQL 5.5 之前, UTF8 编码只支持1-3个字节,从MYSQL5.5开始,可支持4个字节UTF编码utf8mb4,一个字符最多能有4字节,utf8mb4兼容utf8,所以能支持更多的字符集;关于emoji表情的话mysql的utf8是不支持,需要修改设置为utf8mb4,才能支持。...
2018-12-19 16:43:45
180
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人