自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 openresty协程使用注意事项

openresty协程使用注意事项

2022-07-17 17:05:57 514 1

原创 sync.pool存在的坑以及解决方案

1. 内存泄漏 2. 内存浪费

2022-06-29 20:09:21 1345

转载 OpenRTB规范 V2.3.1

OpenRTB规范 V2.3.1_小猿外的博客-CSDN博客_openrtbOpenRTB_API_Specification中文版名词解释IAB: Interactive Advertising Bureau 交互式广告局。前言简介RTP工程, 前身为OpenRTB组织, 在2010年11月份组建。致力于为数字媒体自动化交易开发一套全新的开放标准,以应对更大范围的平台,设备以及广告解决方案。本文档就是RTB工程努力的结晶,你可以在www.iab.net找到最新的官方文档。关于IAB的广告网络和交易协会IA

2022-03-18 12:56:05 369

原创 golang学习笔记

go笔记 map、slice、chan、指针、interface默认以引用的方式传递。 安装是最好指定版本。 在开始之前, 让我们确保在本地安装了最新版本的 Micro. 为此, 请在终端中运行以下命令:rm $GOPATH/bin/microgo get github.com/micro/micro/v2@master grpc和gin的标准校验不太友好,建议一般业务开发可以用web模式,从而用上gin的各种自动校验。 还有日志监控未加---*

2022-03-16 21:13:24 548

原创 golang常用的工具包

1. 一个巨好用的泛型库,可以极大提高开发速度https://github.com/samber/lo https://github.com/samber/lo2. 类型转换https://goframe.org/pages/viewpage.action?pageId=11146773.代码生成工具Go图形化生成代码工具、Go微服务_灬点点的博客-CSDN博客_go图形化4.根据数据库生成structGitHub - Licoy/dbstruct: dbstruct是一...

2022-03-16 21:12:49 5509

原创 golang的omitempty使用注意事项

golang的omitempty使用注意事项

2022-03-14 23:00:13 1942

原创 golang跳转语句goto,break,continue的使用及区别说明

go

2022-03-14 22:45:56 901

原创 切片在函数中传递

1. 如果没有引起扩容则会不会生成新的切片,就会改变原来的值;

2022-02-20 19:52:22 134

原创 mysql varchar索引问题

我们在varchar建立索引是常常遇到这样的错误:1071 - Specified key was too long; max key length is 767 bytes

2021-06-17 09:42:46 2553

原创 使用python刷访问量

最近有朋友需要刷自己网站的浏览量,就用Python研究了一下,有两种方式,一、简单粗暴,直接根据指定的链接循环的通过浏览器访问,下面是在Mac上的操作代码,Windows操作需要改一下浏览器的路径,browser_paths配置多种浏览器,url_list需要访问的路径# coding=utf-8"""控制用户自动打开浏览器,浏览博客网站URL,刷取阅读量若遇到会封单个IP的博客网站,可以考虑再拓展动态设置网络代理每个URL会对应一个独立的访问线程"""import random..

2021-06-17 09:36:09 3642

原创 hyperf使用需要注意的地方

jwt DateTimeImmutable 报错:jwt DateTimeImmutable 问题 降低版本到3.3.3解决问题: composer require lcobucci/jwt:3.3.3hyperf使用注解的坑,hyperf使用注解会让注解的实例变为单例,问题1:model产生问题 ***如果我们注解一个model给变量,当有两个地方会查询数据,第一个查询会是A+B连接查询,第二个是A+B+C连接查询,如果第二个查询有一个参数时C的,执行二后在执行第一个会导致报错,报C中的参.

2020-12-16 15:17:07 7190

原创 hyperf实用工具

使用hyperf框架的小伙伴,研究这个框架三个多月了,感觉框架的响应速度真的非常棒,但是实用的工具还有些欠缺,我根据之前用的yii框架和laravel带来的灵感封装了一些工具,有使用hyperf框架的小伙伴可以看一下:hyperf-tool功能该组件主要是根据开发扩展一些hyperf的工具,主要有gii工具、swagger的扩展等… 持续跟进中。。。下载安装包composer require eric-strive/hyperf-tool同步配置php bin/hyperf.php ve

2020-12-14 17:20:58 1666

原创 hyperf依赖注入和控制反转

依赖注入和控制反转之前在laravel会用到依赖注入和控制反转,面试也会遇到,一直觉得自己明白的很透彻了,现在hyperf框架又遇到,发现疑问重重,特此整理一下,以免后期再不明白概念1. 依赖注入(DI)对象之间依赖关系由容器在运行期决定,由容器动态的将依赖关系注入到对象之中2. 控制反转(Ioc)即把对象的调用权反转交给容器进行装配和管理注入的实现1. 普通注入1.1 简单对象注入Controller是由DI进行创建管理的,所以可以其构造函数上的参数会自动进行注入当您希

2020-12-14 13:20:59 2498

转载 Nginx与PHP交互过程 + Nginx与PHP通信的两种方式

一、Nginx与PHP交互过程的7步走(用户对动态PHP网页访问过程)step1:用户将http请求发送给nginx服务器(用户和nginx服务器进行三次握手进行TCP连接)step2:nginx会根据用户访问的URI和后缀对请求进行判断step3:通过第二步可以看出,用户请求的是动态内容,nginx会将请求交给fastcgi客户端,通过fastcgi_pass将用户的请求发送给php-fpm如果用户访问的是静态资源呢,那就简单了,nginx直接将用户请求的静态资源返回给用户。step4:wra

2020-09-24 22:18:18 822

转载 MySQL主从复制的几种复制方式

异步复制 多线程复制 增强半同步复制异步复制MySQL的复制默认是异步的,主从复制至少需要两个MYSQL服务,这些MySQL服务可以分布在不同的服务器上,也可以在同一台服务器上。MySQL主从异步复制是最常见的复制场景。数据的完整性依赖于主库BINLOG的不丢失,只要主库的BINLOG不丢失,那么就算主库宕机了,我们还可以通过BINLOG把丢失的部分数据通过手工同步到从库上去。注意:主库宕机的情况下,DBA可以通过mysqlbinlog工具手工访问主库binlog,抽取缺失的日志并同步到从

2020-09-20 17:38:54 867

转载 php 接口的安全实现

https://www.cnblogs.com/afsj/p/7424320.htmlPHP做APP接口时,如何保证接口的安全性?1、当用户登录APP时,使用https协议调用后台相关接口,服务器端根据用户名和密码时生成一个access_key,并将access_key保存在session中,将生成的access_key和session_id返回给APP端。2、APP端将接收到的access_key和session_id保存起来3、当APP端调用接口传输数据时,将所传数据和access_key

2020-09-20 11:28:18 584 1

转载 PHP的生成器、yield和协程

PHP的生成器、yield和协程虽然之前就接触了PHP的yield关键字和与之对应的生成器,但是一直没有场景去使用它,就一直没有对它上心的研究。不过公司的框架是基于php的协程实现,觉得有必要深入的瞅瞅了。由于之前对于生成器接触不多,后来也是在看了鸟哥的介绍在PHP中使用协程实现多任务调度才有所了解。下面也只是说说我的理解。迭代和迭代器在了解生成器之前我们先来看一下迭代器和迭代。迭代是指反复执行一个过程,每执行一次叫做迭代一次。比如普通的遍历便是迭代:$arr = [1, 2, 3,

2020-09-19 09:48:23 256

原创 如何安全的加密传输大文件数据

在日常对数据处理的过程中,数据加密已经时很常见的问题了,一般的数据加密有哪些呢:RSA、MD5、AES、Base64等;RSA:是公开密钥系统的代表;安全性:建立在具有大素数因子的合数,其因子分解困难这一法则之上;处理速度慢;密钥管理:加解密过程中不必网络传输保密的密钥;密钥管理优于AES算法;RSA加解密速度慢,不适合大量数据文件加密;AES:Rijndael算法是新一代的高级加密标准,运行时不需计算机有非常高的处理能力和大的内存;操作可以很容易的抵御时间和空间的攻击,

2020-08-30 17:40:20 3607

原创 swoole-websocket聊天室

服务端:server.php<?php/** * User: wangwei * Date: 2020/8/28 * Time: 3:28 下午 */class chat{ const HOST = '0.0.0.0';//ip地址 0.0.0.0代表接受所有ip的访问 const PART = 81;//端口号 private $server = null;//单例存放websocket_server对象 public function __co

2020-08-28 18:19:32 229

原创 swoole Http服务

简介:Http\Server 对 HTTP 协议的支持并不完整,一定要作为应用服务器处理动态请求。并且在前端增加 Nginx 作为代理Http\Server 继承自 Server,所以 Server 提供的所有 API 和配置项都可以使用,进程模型也是一致的简单例子:$http = new Swoole\Http\Server("127.0.0.1", 9501);$http->on('request', function ($request, $response) { $..

2020-08-27 14:26:07 240

原创 Swoole TCP/UDP服务 常用方法

1.1 set()用于设置运行时的各项参数。服务器启动后通过 $serv->setting 来访问 Server->set 方法设置的参数数组。Swoole\Server->set(array $setting): void $server->set(array( 'reactor_num' => 2, // reactor thread num 'worker_num' => 4, // worker pro...

2020-08-14 16:25:27 532

转载 (亲测有效-专门解决Mac环境)Pycharm 解决无法打开的问题

1.第一步:先输入: cd /Applications/PyCharm.app/Contents/MacOS2.第二步:查看无法打开pycharm的原因,需要输入:c./pycharm3.第三步:下面就是展示的分析日志:其中许多小伙伴都找不到 网上说的这个地址“cd /Users/用户名/Library/Preferences/PyCharm2019.1/”其实地址不是这个,而是/Users/liuxiaoming/Library/Application Support/JetBrai...

2020-05-25 18:46:55 3655 3

原创 flask使用80端口

flask通过nginx转发80端口背景依赖包nginx配置gunicorn配置项目启动背景最近做一个项目通过flask框架完成,由于flask默认端口是5000,为了不暴露端口,需要使用80,但是发现flask直接用80端口无法使用,后面就想到通过该80端口进行转发。依赖包gunicornGunicorn是一个unix上被广泛使用的高性能的Python WSGI UNIX HTTP...

2020-03-20 18:12:08 4058

原创 Python pdf转csv

Python pdf转csv背景依赖的环境依赖的主要python包pdfminer项目地址背景最近有需求需要解析电子行程单(滴滴、美团、高德等)的数据,由于电子行程但都是PDF的文件,为此需要解析PDF,由于PHP对解析pdf方面较弱,所以选用了Python。过程是现将pdf转为csv,然后解析csv文件的数据。依赖的环境Python 3.7.6 Java 1.8.0_121(tabu...

2020-03-20 17:55:46 1811

原创 yii中all()操作的注意事项

一、CompanyList::find()->select([ 'company_list.*', 'flow_bank_account.account_id',])->leftJoin(FlowBankAccount::tableName(), 'flow_bank_account.company_name = company_id')->andF...

2019-12-09 14:36:49 684

原创 PHP实现pdf转图片

1、依赖:imagick扩展以及ghostscriptdocker:apt-get update && \apt-get install -y --no-install-recommends libmagickwand-dev && \pecl install imagick-3.4.3 && \apt-get install ghos...

2019-12-05 21:50:46 5176

转载 PHP 在 Docker 中扩展汇总

# PHP 容器配置# 从官方基础版本构建FROM php:7.2-fpm# 官方版本默认安装扩展: # Core, ctype, curl# date, dom# fileinfo, filter, ftp# hash# iconv# json# libxml# mbstring, mysqlnd# openssl# pcre, PDO, pdo_sqlite, P...

2019-12-04 11:43:17 290

原创 laravel笔记

1. 请求周期:index.php文件加载 Composer 生成的自动加载设置,然后从bootstrap/app.php脚本中检索 Laravel 应用程序的实例。 Laravel 本身采取的第一个动作是创建一个应用程序 /服务容器。接下来, 根据进入应用程序的请求类型来将传入的请求发送到 HTTP 内核或控制台内核。而这两个内核是用来作为所有请求都要通过的中心位置。 现在,我们...

2019-11-24 10:13:05 190

转载 浅谈csrf攻击以及yii2对其的防范措施

凡是我yii2学习社群的成员都知道,我不止一次给大家说构造表单100%使用yii2的ActiveForm来实现,这除了能和AR更好结合外就是自动生成csrf隐藏域,一个非常安全的举措。今天北哥就给大家普及下csrf是啥?如果你已经知道了可以直接拉文章到底部点个赞。:smile:CSRF(Cross-site request forgery跨站请求伪造)是一种对网站的恶意利用,在 200...

2019-07-11 18:07:58 197

转载 protobuf

目录介绍Protobuf的优缺点安装介绍protobuf是一个灵活的、高效的用于序列化数据的协议。相比较XML和JSON格式,protobuf更小、更快、更便捷。google protobuf是跨语言的,并且自带了一个编译器(protoc),只需要用它进行编译,可以编译成Java、python、C++、C#、Go等代码,然后就可以直接使用,不需要再写其他代码,自带有解析的代码。...

2019-06-30 20:13:18 650

原创 rabbimq如何保证数据安全性

一. 持久化RabbitMQ支持消息的持久化,也就是数据写在磁盘上。(1)exchange持久化,在声明时指定durable => 1(2)queue持久化,在声明时指定durable => 1(3)消息持久化,在投递时指定delivery_mode => 2(1是非持久化)注意:如果消息持久化,queue不持久化,重启服务消息依然会丢失,但是exchange...

2019-06-23 15:53:18 1665 2

原创 数据库常见的优化

一、设计时:表字段避免null值出现,null值很难查询优化且占用额外的索引空间,推荐默认数字0代替null。 尽量使用INT而非BIGINT,如果非负则加上UNSIGNED(这样数值容量会扩大一倍),当然能使用TINYINT、SMALLINT、MEDIUM_INT更好。 使用枚举或整数代替字符串类型 使用TINYINT来代替ENUM :ENUM增加新值要进行DDL操作 尽量使用TIM...

2019-06-11 17:48:06 2879

转载 领域驱动设计 学习笔记一

第四章:分离领域程序代码必须包括:(1) 在屏幕上绘制一个屏幕组件(widget);(2) 查询数据库,调出所有可能的 城市;(3) 解析并验证用户输入;(4) 将所选城市与货物关联;(5) 向数据库提交此次数据修改。 上面所有的代码都在同一个程序中,但是只有一小部分代码与运输业务相关。4个常用概念层:用户界面层(或表示层): 负责向用户显示信息和解释用户指令。这里...

2019-06-09 22:45:32 241

原创 代码大全2笔记三

第十二章:基本数据类型避免使用神秘的数字;好处:方便统一修改;提高代码可读性;参数标明数据类型 避免混合类型的比较 注意编译的警告整数:检查整数除法,检查整数溢出;因为程序的数字计算是二进制的浮点数:注意尾差处理尾差注意:使用双精度;将浮点数变为整型存储,比如金额存分;字符串:避免使用神秘的字符或字符串,用常量标示;布尔:将项目中一个复杂的条件...

2019-05-28 15:05:38 412

原创 item2 + oh + my + zsh +phpstorm

1、安装iterm直接官网下载安装:http://iterm2.com/2、安装og-my-zshsh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"zsh --version :确认是否安装过zshecho $SHELL:确认当前用的shell...

2019-05-22 14:50:46 538

原创 supervisor安装配置以及常见的错误

一、安装:liunx:1 - 安装 setuptools (python2)yum install python-setuptools2 - 安装 supervisor (只支持python2)easy_install或者pip安装,注意supervisor当前只有python2支持的版本。pip install supervisorMac:安装:brew install supe...

2019-05-11 16:20:38 10519 2

原创 代码大全2笔记二

目录第五章:程序设计第六章:可以工作的类第七章:高质量的子程序:第八章:防御式编程第九章:使用变量的一般事项第十一章:变量名的力量第五章:程序设计设计的特征:最小的复杂度、易于维护、松散耦合、可扩展性好、可重用性好、高扇入、低扇出、可移植性、精简性、层次性、标准技术。最小复杂度:代码简单易于理解易于维护:方便其他人查看,修改。松散耦合:让程序的各个...

2019-05-06 14:55:49 297

原创 代码大全2笔记一

目录第二章:用隐喻充分理解软件开发:第三章:三思而后行:前期准备第四章:软件构建软件构件主要包括:详细设计、编码、调试、集成、开发者测试第二章:用隐喻充分理解软件开发:在开发前我们首先需要理解这个软件,对这个软件与实际的事物联系在一起;1、当将软件的构建过程比作房屋的构建过程时,可以发现,仔细的准备是必要的,发生变动时最贵的成本是人的时间,而大型项目和小型项目之间也有差...

2019-05-04 18:03:50 232

原创 php基础语法底层实现

一、静态变量:特点:静态变量函数返回调用之时并不会释放,它的结果会被保留到下次函数的调用,其生命周期比局部变量长;静态变量可以分为:静态全局变量,PHP中的全局变量也可以理解为静态全局变量,因为除非明确unset释放,在程序运行过程中始终存在。 静态局部变量,也就是在函数内定义的静态变量,函数在执行时对变量的操作会保持到下一次函数被调用。 静态成员变量,这是在类中定义的静态变量,和实...

2019-04-20 18:32:14 162

转载 传统序列式软件开发方法的缺点,以及迭代开发方法的选择

程读书笔记大部分公司仍使用传统瀑布模型(或序列式开发方法)进行开发我所工作过的公司,以及我身边的朋友工作所在的公司,再加上招聘时从求职者那里所了解到的其他一些公 司的开发过程,基本上都是使用传统的软件开发模式,类拟或者就是瀑布开发模式,这种模式有如下特点:1)将项目的生命周期明确地划分为几个阶段,完 成一个阶段才进入下一个阶段。2)在项目初期希望细化所有的需求,并希望...

2019-04-15 10:43:32 1838

空空如也

空空如也

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

TA关注的人

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