自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PHP高性能框架FastSwoole

大道至简 - 不传统的PHP高性能框架fastSwoole是一款基于swoole扩展开发的高性能PHP框架经过测试,并发性能超过nodejs,逼近beego(golang),查看性能对比测试Github:https://github.com/panco95/fastSwoole开发文档:https://www.kancloud.cn/panco/panco/864408安装步骤...

2019-05-03 10:06:18 876

原创 PHP 405返回码响应排查

最后查出是表单字段数超过限制在php.ini配置中设置 max_input_vars ,默认值1000,改大一点即可

2021-12-27 15:58:00 1456

原创 推荐一款Go微服务框架Go-Garden

GitHub - panco95/go-garden: GO微服务框架https://github.com/panco95/go-garden概念Go Garden为分布式系统架构的开发提供了核心需求,包括微服务的基础架构支持,例如gateway网关模块做路由分发支持,服务调用链路追踪的集成。特性 服务注册发现 网关路由分发 负载均衡 动态配置 安全认证 服务重试机制 分布式链路追踪 可选组件:Rabbitmq、Redi

2021-09-16 16:16:36 363

原创 查询某条件下记录数大于N的数据

需求,查询记录数大于20的user_id的所有数据第一种 子查询+in查询:SELECT * FROM`table_name`WHERE user_id in (SELECT user_id FROM `table_name` group by user_id having count(user_id) > 10)第二种 子查询+join查询:SELECT * FROM`table_name` AS T JOIN (SELECT user_id, count(1) as

2021-09-06 14:58:56 464

原创 Docker安装启动Gitlab

参数前排提示:至少4G内存,不然访问会502Docker启动gitlab(没有拉镜像的会拉镜像,比较耗时,一个多G):docker run \ -d \ -p 8080:80 -p 8022:22 \ -v /srv/gitlab/config:/etc/gitlab \ -v /srv/gitlab/logs:/var/log/gitlab \ -v /srv/gitlab/data:/var/opt/gitlab \ --privileged=true \ --.

2021-08-17 16:57:03 1149

原创 MySQL批量去掉某个字段中的空格

update `tgs_code` set `pkg`=replace(`pkg`,' ','');update `tgs_code` set `riqi`=replace(`riqi`,' ','');update `tgs_code` set `txm`=replace(`txm`,' ','');update `tgs_code` set `bianhao`=replace(`bianhao`,' ','');Mysql有什么办法批量去掉某个字段字符中的空格?不仅是字符串前后的空格,还包含.

2021-08-04 11:52:04 2071

原创 PHP简单实现带权重概率抽奖

//奖品列表,weight为权重 $prizes = [ ['Index' => 0, 'Weight' => 50], ['Index' => 1,'Weight' => 50], ['Index' => 2,'Weight' => 40], ['Index' => 3,'Weight' => 30], [...

2021-07-29 13:42:51 421

原创 主流视频加密方案

1、hls分片加密2、DRM版权保护3、逐帧加密

2021-05-17 16:14:14 458

原创 Websocket测试工具 Sockboy发布

Sockboy:一款websocket测试工具Github:https://github.com/panco95/sockboy别忘了给个star噢!启动:1、解压zip压缩包2、双击sockboy.exe启动功能:websocket连接、消息收发,支持开启多个连接并行测试截图:...

2021-04-09 20:45:15 457 2

原创 解决laravel-admin日期格式字段后面多了.000000Z

前几天在使用 laravel-admin 扩展的时候出现了这个现象,用 model 生成 controller 的时候时间格式是如图所示。解决方案1:<?phpnamespace App\Models;use Illuminate\Database\Eloquent\Model;use Encore\Admin\Traits\DefaultDatetimeFormat;// 分佣记录表class CommissionLog extends Model{ use

2021-03-12 11:00:54 3424

原创 elasticsearch集群配置

cluster.name: panco#node.master: true#node.data: truenode.name: node-1http.cors.enabled: truehttp.cors.allow-origin: "*"network.host: 0.0.0.0network.publish_host: 192.168.125.147http.port: 9200transport.tcp.port: 9300discovery.seed_hosts: [ "192.

2021-03-10 20:56:22 261

原创 logstash同步sqlserver数据

测试版本:elasticsearch 7.10.2 kibana 7.10.2 logstash 7.10.2 jdk java-11.0.101、新建索引index:test22、新建配置文件:sqlserver.confinput { jdbc { jdbc_connection_string => "jdbc:sqlserver://192.168.8.210:1433;DatabaseName=LTT_Distributors;" jdbc_user =&

2021-01-26 20:50:44 1232

原创 logstash同步mysql数据

测试版本:elasticsearch 7.10.2 kibana 7.10.2 logstash 7.10.2 jdk java-11.0.10配置文件:mysql.confinput { jdbc { jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/malltool?characterEncoding=utf-8&&useSSL=false&&serverTimezone=Asi

2021-01-26 17:05:19 263

原创 PHP获取某月的开始日期和结束日期

// 参数就是日期function getthemonth($date){ $firstday = date('Y-m-01', strtotime($date)); $lastday = date('Y-m-d', strtotime("$firstday +1 month -1 day")); return array($firstday, $lastday);}

2021-01-18 17:49:05 1151

原创 PHP:根据二维数组中的某个字段进行排序

首先了解下以下两个函数:1.array_column() 返回输入数组中某个单一列的值。2.array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。具体实现代码实例:<?php$data = array( array( 'id' => 5698, 'first_name' => 'Bill', 'last..

2020-11-18 15:04:14 2611

原创 Go Context 并发编程教程

1 为什么需要 ContextWaitGroup 和信道(channel)是常见的 2 种并发控制的方式。如果并发启动了多个子协程,需要等待所有的子协程完成任务,WaitGroup 非常适合于这类场景,例如下面的例子: 12345678910111213141516 var wg sync.WaitGroupfunc doTask(n int) { time.Sleep(time.Duration(n)) fmt.Print

2020-08-20 17:48:42 204

原创 Elasticsearch按照据离排序并展示据离带分页

index:user_locationgeo_point字段:locationGET /user_location/_search{ "from":0, "size":5, "query": { "constant_score": { "filter": { "geo_distance": { "distance": "100km", "location": { "lat": 39...

2020-08-16 01:27:05 193

原创 悲观锁(select for update)和乐观锁

悲观锁:假设每一次拿数据,都有认为会被修改,所以给数据库的行或表上锁。要注意for update要用在索引上,不然会锁表。START TRANSACTION; # 开启事务select * from table_name where id=1 for update;UPDATE table_name SET name= 'nike' WHERE id = 1;COMMIT; # 提交事务乐观锁:就是很乐观,每次去拿数据的时候都认为别人不会修改。更新时如果version变化了,更.

2020-08-01 20:17:03 1428

原创 Linux下安装Elasticsearch+Kibana

Elasticsearch下载/解压包:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gztar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gzrm -rf elasticsearch-7.8.0-linux-x86_64.tar.gzmv elasticsearch-7.8.0/ /usr/local/elas

2020-07-20 18:32:38 1372

原创 Mysql间隔时间查询数据

上网找了以下几种方法:查询每分钟的记录SELECT Table, DATE_FORMAT( 时间字段, '%H:%i' ) AS timeFROM 表名称GROUP BY time筛选直接间隔时间使用把(15*60)中的15改成你要间隔的时间,这里是查询间隔15分钟的数据SELECT sec_to_time(time_to_s...

2020-04-03 17:50:18 6836

原创 Linux限制进程执行时间 超时自动结束进程

运行指定的命令,如果在指定时间后仍在运行,则杀死该进程。用来控制程序运行的时间。使用方法timeout [选项] 数字[后缀] 命令 [参数]...后缀”s”代表秒(默认值),”m”代表分,”h”代表小时,”d”代表天。选项详解长选项必须使用的参数对于短选项时也是必需使用的。-s, --signal=信号指定在超时时发送的信号。信号可以是类似"HUP...

2020-03-23 11:32:01 4849

原创 百度云购买的服务器 lnmp环境开放mysql外部访问如navicat

首先购买的百度云服务器是默认允许所有端口访问的,但是linux系统默认对3306关闭了外部访问权限所以我们需要修改linux防火墙配置:vim /etc/sysconfig/iptables看到有一行3306的配置,改为ACCEPT,改完之后是这样的:-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT刷新防火墙配置:service i...

2020-02-16 20:43:27 274

原创 php实现插件

插件很多从事互联网行业或者开发的人员来不是很陌生,wordpress之所以为什么那么受欢迎,很大部分是因为他的强大的插件库,还要譬如就是大家熟知的jquery,他的插件丰富的让人难以想象。一个开源产品想要获得很好的用户首先要具有搞扩展性,插件就是一种。插件,亦即Plug-in,是指一类特定的功能模块(通常由第三方开发者实现)。它的特点是:当你需要它的时候激活它,不需要它的时候禁用/删除它;且无论...

2019-09-29 11:54:13 1657

原创 Thinkphp数据库中文拼音order排序

数据库查询排序按照某个中文字段的拼音字母序排序原生sql是这样的:select * from table_name ORDER BY CONVERT(name USING gbk);Thinkphp5.1是这样的:$data = Db::table("table_name")->orderRaw("convert(`name` using gbk) asc")->s...

2019-09-20 15:04:57 2347

原创 Linux常用命令笔记

Man中文版:https://src.fedoraproject.org/repo/pkgs/man-pages-zh-CNwhereis:查找文件路径find:查找文件xshell链接linux:用自定义的桥接模式ll:列出当前目录ls:列出当前目录(多列列表)ifconfig:ipyum install php:安装php程序包systemctl star...

2019-07-17 15:27:13 302

原创 批量替换文本工具

运行请先安装python!新建一个后缀py的文件,例如tool.py,复制以下代码保存:#!/usr/bin/python# -*- coding: utf-8 -*-import osprint("\n文字批量替换小程序! by panco!\n")def start(): filename = input("请输入文件完整路径:") if os.pat...

2019-07-17 15:18:01 836 4

原创 python电影天堂爬虫

#!/usr/bin/python# -*- coding:utf-8 -*-import requestsimport pymysqlfrom lxml import etreefrom fake_useragent import UserAgent# Mysql Connectconnection = pymysql.connect(host='localhost', ...

2019-07-17 15:12:30 566

原创 消息队列RabbitMQ安装与简单使用

Redis只适合做缓存,消息队列请别用了!官网:http://www.rabbitmq.com1、安装erlangwget http://erlang.org/download/otp_src_21.2.tar.gztar xf otp_src_21.2.tar.gz./configure --prefix=/usr/local/erlang --with-ssl -ena...

2019-07-17 15:09:57 162

原创 MYSQL中根据字段值判断返回不同的值

原生SQL写法:select case when total > max then 2 when total < min then 1 else 0endfrom ta PHP(ThinkPHP)写法:$data = Db::connect('data')->name("pay-{$date}") ->where($where) ...

2019-07-09 15:41:18 14244

原创 Electron打包构建exe (windows)

1、安装打包工具,我是使用的electron-packager,首先全局安装一下:npm install electron-packager -g2、编辑package.json "scripts": { "start": "electron .", "package": "electron-packager . electron-quick-start --ov...

2019-06-05 18:03:45 2316

原创 Linux C简单WebSever实现

#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>#in...

2019-05-10 17:45:13 595 1

原创 Linux C多线程共享数据并发锁之mutex

// 多线程竞争锁mutex处理并发#include <stdio.h>#include <pthread.h>#define LOOP 5000000 // 由于目前cpu处理速度过快,请保证这个值够大才会出现最后结果不对情况int counter = 0; // 计数器pthread_mutex_t mutex = PTHREAD_MUTEX_INI...

2019-05-09 11:30:49 407

原创 Linux C进程间通信之pipe

// 多进程以及ipc管道方式进程间通信/*1、父进程调用pipe开辟管道,得到两个文件描述符指向管道的两端。2、父进程调用fork创建子进程,那么子进程也有两个文件描述符指向同一管道。3、父进程关闭管道读端,子进程关闭管道写端。父进程可以往管道里写,子进程可以从管道里读,管道是用环形队列实现的,数据从写端流入从读端流出,这样就实现了进程间通*/#include <sys/t...

2019-05-07 17:15:19 482

原创 PHP提前响应客户端,实现异步任务(耗时任务)

当PHP运行在FastCGI模式时,如果有些处理可以在页面生成完后再进行,就可以使用这个方法.客户端响应提前结束,但与此同时服务端脚本却继续运行,很适合http协议的异步任务或耗时任务!下面是封装的方法,需要的时候执行daemonTask()函数, 参数可选字符串响应:// 查询webserverfunction queryWebServer(){ $sapi = PH...

2019-05-01 17:24:49 1054

原创 Nginx防止DDOS攻击方案

一. 限制每秒请求数ngx_http_limit_req_module模块通过漏桶原理来限制单位时间内的请求数,一旦单位时间内请求数超过限制,就会返回503错误。配置需要在两个地方设置:nginx.conf的http段内定义触发条件,可以有多个条件在location内定义达到触发条件时nginx所要执行的动作例如:http { limit_req_zone $binary_...

2019-05-01 17:17:04 1326

原创 Linux配置中文版man手册

下载中文man包源码的网址:https://src.fedoraproject.org/repo/pkgs/man-pages-zh-CN找到源码包wget https://src.fedoraproject.org/repo/pkgs/man-pages-zh-CN/manpages-zh-1.5.2.tar.bz2/cab232c7bb49b214c2f7ee44f7f35900...

2019-05-01 17:14:46 6825 4

原创 PHP概率抽奖实现

<?phpfunction get_rand($proArr) { $result = ''; //概率数组的总概率精度 $proSum = array_sum($proArr); //概率数组循环 foreach ($proArr as $key => $proCur) { $randNum = mt_rand(...

2019-05-01 17:11:24 609

原创 Linux如何关闭某个占用端口的进程

1)查找被占用的端口:netstat -tln | grep 8000tcp 0 0 192.168.2.106:8000 0.0.0.0:* LISTEN 2)查看被占用端口的PID:sudo lsof -i:8000COMMAND PID USER FD TYPE DEVICE SIZE/O...

2019-04-30 17:49:09 31654

原创 adminLte解决iframe高度问题

adminLte默认是全局刷新,也就是不存在frame页面,经过修改,可以很容易实现右边内容框用frame实现页面刷新,这样就不需要整个页面全局刷新,点击相应菜单时,只会刷新frame窗口,但是有一个问题就是frame默认高度只有一丁点,百度之后用了自适应也会有各种问题,比如高度只能拉伸不会缩短,在解决的道路上真的是没有一个完美的解决方案,经过自己研究,发现一个非常简单的方法,那就是用js获取wi...

2017-12-04 18:35:46 6568 5

空空如也

空空如也

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

TA关注的人

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