
学习总结
小菜鸟正洋洋
代码才是一直陪伴你的
展开
-
搭建websocket消息推送服务考虑到的几个问题
websocket原创 2022-03-31 22:52:07 · 3597 阅读 · 0 评论 -
记录本地的docker lnpm环境
网络连接:docker network create --subnet=192.168.2.0/24 localmysql镜像:docker run -p 3307:3306 --net local --ip 192.168.2.2 -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7php+nginx:镜像地址:docker pull webdevops/php-nginx:7.3预先启动一个容器,复制配置文件到本地docker原创 2020-05-29 09:15:01 · 402 阅读 · 1 评论 -
thinkphp3.2乐观锁源码解读与优化
索引一、使用乐观锁的目的二、乐观锁实现的方法三、thinkphp3.2中乐观锁的实现四、优化thinkphp3.2中的乐观锁使用乐观锁的目的:简单的来说,使用乐观锁的目的就是保证数据不会被错误的写入,并且在保护写入的过程中,并不影响其他用户对这个数据的读取(乐观的去读,认为我读的数据都是别人没有改过的)。乐观锁实现的方法 乐观锁实现的方法,换句话说就是如何保护数据不被错误的...原创 2020-03-29 16:49:16 · 925 阅读 · 1 评论 -
记录window下sowft开发的最佳体验
docker network create --subnet=192.168.2.0/24 swoftNetworkdocker run -p 9800:9800 -p 9801:9801 -p 9802:9802 --net swoftNetwork --ip 192.168.2.2 -v /c/software/phpstudy/WWW/swoft/FoodApi/swoft:/...原创 2019-11-12 10:39:37 · 364 阅读 · 0 评论 -
php7.2+使用openssl替换mcrypt加解密微信消息
文档: 微信消息加解密官方文档在文档中的SDK所使用的mcrypt 扩展从PHP 7.2起它将被从核心代码中移除并且移到PECL中。PHP手册在7.1迁移页面给出了替代方案,就是用OpenSSL取代MCrypt.前言:如果已经使用了SDK包,请直接使用“一、快速替换”;如果还没有使用SDK包请直接引入“二、抽离代码,直接对微信消息进行解密”一、快速替换替换SDK中 pkcs7Encod...原创 2019-10-12 17:23:38 · 1808 阅读 · 0 评论 -
如何实现小程序用户和公众号用户多点登录
需求: 1.现在有一批公众号用户,后期又开发了小程序,那如何让小程序识别到这是来自公众号的用户呢? 2.直接使用小程序的用户实现快速登录?这是一个很常见的需求场景,要实现小程序和公众号用户多点登录就需要任意一方存储好用户的unionId,在实现该需求的过程中也有很多细节需要注意的地方,特此写下这篇博客记录一下。 小程序端的代码实现流程:流程1: 获取用户的u...原创 2018-06-18 16:40:12 · 8363 阅读 · 0 评论 -
炒基金输了,抓点数据出来。。。。
哎~~ 不想拿点死工资,跑去买基金,结果一直亏损,工作之余准备抓点数据研究一下,结果某某平台提供接口居然还有收钱,无奈~只有跑到别人网站去找请求……. (有兴趣的朋友留下email一起设计一个适合自己的投资基金算法呢? 目前正在写一个自己用的帮助系统,感兴趣的小伙伴call我哦http://www.zhengyang0818.cn) 由于是在windows下面写的,抓取多个内容就没有用php...原创 2017-12-22 17:11:06 · 512 阅读 · 0 评论 -
用户权限控制 ----- Auth认证(lumen篇)
流程大览在lumen中使用auth认证注册AuthServiceProvider服务提供中,框架已经注册好了,只需要解开bootstrap/app.php 中AuthServiceProvider 的调用取消代码注释;支持ORM,用于获取认证用户,解开$app->withEloquent(); 的调用注释,如果需要通过Auth::User 的方式获取认证用户,需要解开$app->withFaca原创 2017-10-03 18:06:21 · 12252 阅读 · 0 评论 -
mysql分组后group_concat()的使用场景总结
现有这样一个业务场景,在一个教务系统中,统计某个学生在某一次考试中的各科成绩与各科成绩的年级排名与班级排名? 假设表结构如下: 最直白的做法是先统计出该学生的考试成绩,在通过他考试的那么科目再去查他所在班级与年级的排名;但是每个科目都要进行一次查询,意味着要循环科目去进行查询,影响效率。 如果我们让科目分组代替循环该学生开始的科目去查询就可以省去很多次查询,意思是一次就取出原创 2017-10-02 21:52:17 · 2269 阅读 · 0 评论 -
php 使用array_map替代foreach 提取二维数组元素组装新数组
$array = [ 0=>['sku_id'=>'11','sku_amount'=>240], 1=>['sku_id'=>'27','sku_amount'=>600] ]; $packSkuNum=[]; array_map(function($item)use(&$packSkuNum){原创 2017-10-18 15:21:51 · 4361 阅读 · 0 评论 -
PHP编程入门
编程入门 PHP标记风格:1) 以“”结束,这是最常见的一种风格,能适用于所有服务器环境,并且在XML中嵌入代码时,必须使用这种标记方式;2) 以“”结束;3) script风格:“”;4) 以“”结束,这也ASP的标记标记风格相同,这种风格是默认禁止的;php数据类型:bool(布尔型),integer(整型),string(字符串类型),float(浮点原创 2016-08-09 19:34:00 · 601 阅读 · 0 评论 -
PHP函数
函 数自定义函数:function 函数名 (参数列表){ 函数体}有条件的函数:$makefoo = true;/* 不能在此处调用foo()函数,因为它还不存在,但可以调用bar()函数。*/bar();if ($makefoo) { function foo() { echo "I don't exist unti原创 2016-08-09 19:36:13 · 255 阅读 · 0 评论 -
http协议
HTTP 协 议HTTP的概念:HTTP = Hypertext Transfer Protocol(超文本传输协议),是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议,是Internet上目前使用最广泛的应用层协议,它基于传输层的TCP协议进行通信,HTTP协议是通用的、无状态的协议。功能:用于在服务器和客户机之间传输超文本文件。HTTP的处理流程:客户端发送HT原创 2016-08-09 19:38:28 · 251 阅读 · 0 评论 -
一些php中session的理解
写在最前面: 感谢这位博主的分享::诗小蓝–《彻底理解PHP的SESSION机制》你知道这几个问题吗? 1. session会话是怎么控制多个用户的?(或者这样问:session是存储在服务器上的文件,怎么保证用户信息不冲突?) 2. 为什么浏览器关闭了再打开session就不起作用了?php中session的历程…….引用自php手册: session_start() 会创建新会话原创 2017-12-14 14:15:21 · 1640 阅读 · 0 评论 -
mysql5.7 geometry类型的使用
insert: 假设数据表A中的geometry类型的字段是‘location’,则添加的语句是: insert into A('id','name','location') value(null,'测试数据',ST_GeomFromText('POINT(104.066143 30.573095)'));POINT函数里面的参数左边是经度,右边是纬度,改变值 (update)也原创 2018-01-12 13:33:27 · 4150 阅读 · 0 评论 -
mysql视图建立MERGE算法和TEMPTABLE算法的区别(效率与表锁定问题)
视图创建语句:CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION]可选的ALGORITHM子句是对标准SQL的M...原创 2019-08-05 23:05:44 · 5225 阅读 · 0 评论 -
使用PhpSpreadsheet的一些格式记录
官方文档地址格式记录:$sheet = $spreadsheet->getActiveSheet(); // 合并单元格$sheet->mergeCells('A1:L1'); // 设置单元格值$sheet->setCellValue('A1',$value); //设值行高$sheet->getRowDimension('1')->se...原创 2019-06-13 10:23:16 · 4213 阅读 · 0 评论 -
微信小程序开发者工具数据能渲染,真机不能渲染的问题总结
开发框架:Wepy1.数据结构不对,数组用对象去点出来;2.脏数据没有触发,只是改变原始数据的一个属性,没有赋值回去;3.开启上传压缩,sync向子组件传数据欢迎大家继续补充~...原创 2019-01-23 14:08:12 · 2226 阅读 · 0 评论 -
宿主机使用nginx向docker容器转发https请求
转载请注明出处,踩坑不易~实现步骤:1.给容器添加端口映射;2.宿主机nginx中配置SSL证书;3.宿主机nginx转发;给容器添加端口映射情况1:容器尚未创建如果容器尚未创建,可以使用 docker run 命令的-p参数,为容器指定端口映射,例如:docker run -ti --name web -d -p 80:8080 -p 85:8085 镜像名称 /bin/ba...原创 2018-12-23 11:07:51 · 6365 阅读 · 0 评论 -
laravel全局中间件解决ajax请求跨域问题
定义中间件CorsMiddleware定义位置:app/Http/Middleware/CorsMiddleware.phpCorsMiddleware内容<?phpnamespace App\Http\Middleware;use Closure;class CorsMiddleware{ /** * Handle an incoming requ...原创 2018-11-29 23:14:37 · 579 阅读 · 0 评论 -
php windows下安装sqlsrv扩展
链接:官网文档安装步骤:1.确认操作系统(windows、inux还是mac,64位还是86位,操作系统版 本,linux中centos是支持的,微软文档中介绍的都是Red Hat)2.确认php版本(版本号,是否是线程安全模式,php进程是64位还是86位)3.确认连接的sqlserver的版本4. 选择操作系统对应版本的ODBC驱动程序(要安装了ODBC驱动才能运行php的sq...原创 2018-11-21 16:44:50 · 3626 阅读 · 0 评论 -
mysql json字段的运算
假设有这样一组数据,要求计算出amount字段减去extend字段(json类型)里面的refund_amount值的总和 SELECT ROUND(SUM(amount-(IFNULL(extend->'$.refund_amount',0))),2) FROM orders_goods ...原创 2018-08-20 15:35:49 · 2783 阅读 · 0 评论 -
记录一个laravel中闭合orwhere和when的例子
想要查询的情况SELECT * FROM orders AS o JOIN orders_extend oe ON o.`id` = oe.`order_id` WHERE (o.`seller_id` = 1 AND o.`order_status` = 'shipments' AND oe.`delivery_phone`= '15088888888') OR (o.`order...原创 2018-04-20 15:01:43 · 2226 阅读 · 0 评论 -
PHP web技术
web 技 术EGPCS:EGPCS是指可以从服务器配置和请求的信息中获取信息,它包括了environment,GET,POST,cookie,server,对应了六个全局数组:$_cookie:包含作为请求中的cookie数值部分,数组的键名是cookie的名字$_GET:包含作为GET请求中参数的部分,数组的键名是表单参数$_POST:包含作为POST请求中参数的部分,数组原创 2016-08-09 19:40:10 · 515 阅读 · 0 评论 -
AJAX
AJAXAJAX所包含的技术:AJAX(Asynchronous JavaScript And XML)涉及到7项技术,其中Javascript、XMLHttpRequest、Dom、XML是最为重要;XMLHttpRequest对象:XMLHttpRequest是XMLHTTP组件的对象,通过这个对象,AJAX可以像桌面应用程序一样只同服务器进行数据交换,却不用每次都刷新界面,也原创 2016-08-09 19:42:03 · 291 阅读 · 0 评论 -
PHP操作MySQL
Mysql 操 作PHP操作MYSQL数据库的流程:PHP通过调用自身的专门用来处理MySQL数据库连接的函数,来实现与MySQL通信。而且,PHP并不是直接操作数据库中的数据,而是把要执行的操作以SQL语句的形式发送给MySQL服务器,由MySQL服务器执行这些指令,并将结果返回给PHP程序。MySQL数据库服务器可以比作一个数据“管家”。其他程序需要这些数据时,只需要向“管家”提出原创 2016-08-09 19:43:51 · 526 阅读 · 0 评论 -
OOP-----类与对象对象
很自然的,我们看到一个东西能很快的反映出它是什么,它可以做什么,这是我们所积累的认识,这种思维方式似乎是与生俱来的,那我们有没有想过它是怎么实现的呢?用个很简单的词语————类比。我们在脑袋里装着很多个“模型”,通过这些“模型”的样子帮助我们去认识我们所看到的东西,OOP就是基于这样的思想,我们把我们脑袋里的"模型"称作是“类”,通过这些“模型”所识别的物体称作是“对象”,用一句很经典的话描述他们原创 2016-06-19 13:53:04 · 723 阅读 · 0 评论 -
小菜鸟的PHP入门笔记(二:变量)
PHP的变量声明方法:一个有效的变量名由字母或下划线“_”开头,后面跟任意数量的字母、数字或下划线。例如:$_num=1;PHP变量的类型有布尔型、整型、浮点型、字符串型、数组、对象、资源和NULL。数据类型在前面已经做过介绍。变量在初始化时,使用赋值运算符“=”给变量赋值,变量的类型会根据其赋值自动改变,PHP也可以将一个变量的值赋给另外一个变量。变量的引用:PHP提供了另外一种原创 2016-04-24 21:42:55 · 456 阅读 · 0 评论 -
小菜鸟的PHP入门笔记(一:PHP简介与数据类型)
很幸运的,这个周开始了PHP的学习,网页行为部分的服务器端执行的程序语言,PHP的全称是Hypertext Preprocessor,是个被广泛运用在网页程式撰写的语言,尤其是它能适用于网页程式的开发及能够嵌入HTML文件之中,它的语法和C、Java及Perl等语法相似。PHP的目的是为了能使网站开发者可以快速地撰写动态网页。PHP的功用不单单只是输出HTML文件而己,它的功能还包括了输出图形、PD原创 2016-04-24 19:22:22 · 403 阅读 · 0 评论 -
DOM与jquery的区别(二:元素属性与CSS样式表)
元素属性: DOM: 即便每个节点对象都有attribute方法,然而只有元素节点才能有特性。元素节点的attributes属性其实是NameNodeMap(NamedNodeMap 接口),它提供了一些用于访问和处理内容的方法,包括:getNamedItem(name) ———— 返回 nodeName 属性值等于name的节点;(要获取该节点属性的值可以用” .v...原创 2016-04-14 00:02:17 · 597 阅读 · 1 评论 -
DOM与jquery的区分(一:元素节点与属性)
学习了几天的jquery,体验到了这个函数库的强大与便捷,于此同时也会将之与传统的DOM模型产生一定程度上的混淆,虽然对jquery知之不多但自己觉得还是有必要将自己知道的jquery与DOM模型加以区别,从网上看过几篇帖子,讲的是DOM模型和jquery的区别,大多数的都讲得很宏观,看完之后只是对概念更清晰了些,但对每个节点的查找与设置其属性还不能达到熟练,因此本文既是对DOM与jquery的区原创 2016-03-28 13:26:55 · 1349 阅读 · 0 评论 -
BOM模型基础
BOM也叫做浏览器对象模型,它提供了很多对象,用于访问浏览器的功能;这些功能与任何网页内容无关;BOM缺少规范,每个浏览器提供商都按照自己的想法去扩展它,那么浏览器共有对象就成了事实的标准;一 window对象?1234567// BOM的核心对象是window,它表示浏览器的一个实例;// window对象处转载 2016-03-13 23:31:08 · 579 阅读 · 0 评论 -
小白级小菜鸟的js基础总结(一)——基础语法
网页的组成部分已经学习过了网页的结构,网页的表现形式,最近终于开始了网页的行为部分的JavaScript的学习,每一门语言都有他的核心语法,JavaScript技术体系包含五个方面的内容:JavaScript 核心语言定义原声对象和内置对象浏览器对象模型BOM文档对象模型DOM事件处理模型这次主要是总结第一项——JavaScript核心语言定义:每一种编程语言都有自己的核心语法,包括数原创 2016-03-13 22:19:12 · 989 阅读 · 0 评论 -
SQL复习总结——DQL,聚合函数与分组
简单的数据查询DQL: 投影操作:SELECT 列名列表 FROM 表名;计算机从FROM开始对内存进行读取,然后投影出SELECT后的列名列表; 表前缀:SELECT student.name FROM student; 在FROM的表名后面可以加 ‘AS 新表名’ AS 也可以省略; 列别名:列名 AS 别名; 计算列:对列进行加减乘除等运算; 排除重复数原创 2016-02-24 16:56:40 · 559 阅读 · 0 评论 -
事件模型小结
本文摘自:http://www.blogjava.net/dhcn/archive/2008/01/08/js_eventmodel_summary.htmlJS权威指南中将JS事件模型分为四种 1、原始事件模型:属性事件处理模式 2、标准事件模型:DOM2对其作了标准化 3、IE事件模型(IE5.5\IE6)转载 2016-03-21 10:13:29 · 1057 阅读 · 0 评论 -
客户端网页编程总结
web工作原理:客户端发送http请求,服务器将包含html,css,javascript 等内容的web应用程序返回给客户端,客户端使用浏览器显示网页;网页的结构----HTML:文档结构——;正文相关标签:;;;;;;;;;;;,表单相关标签:系列----type=“text”、“password”、“checkbox”、“radio”、“file”、“hidden”、“sumbit”原创 2016-03-05 21:34:14 · 660 阅读 · 0 评论 -
OOP-----封装,继承,多态
1.封装( public protected private) 可以把封装理解成隐藏,我们所定义的类里面的成员有时我们不能让用户或者没有权限的客户去修改他们,我们要想办法让里面的成员得到隐藏,类在定义成员时就可以使用关键字public(公有),protected(受保护)或private(私有)来实现的访问控制。 2.继承 (extends) 继承已为大家原创 2016-06-19 15:10:00 · 1983 阅读 · 0 评论 -
PHP数据对象模型(PDO)
虽然在php中有很多种数据库系统的扩展,但是不同的数据库系统对应的函数又是不同的,就拿MYSQL数据库系统而言,PHP就提供了Mysql和,Mysqli两种扩展,有没有一组统一的扩展标准来使不同的数据库系统都能使用呢? PDO就能实现这样的功能,PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。实现 PDO 接口的每个数据库驱动可以公开具体数据库的特性作为标准原创 2016-07-07 21:16:44 · 1561 阅读 · 0 评论 -
面向对象基础
面向对象基础类与对象:类是对一类事物描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例,创建对象的过程称为创建对象也称为实例化。类是创建对象的模板,对象是类的实现。创建类并设置类中的属性或方法:PHP 中使用关键字 class 来定义一个类。类的命名一般使用首字符大写,而后每个单词首字符大写连接的方式方便阅读。class Person{ //设原创 2016-08-09 19:46:01 · 282 阅读 · 0 评论 -
对象的高级特性
高级特性静态方法和属性:大多数情况下,我们都是通过类的实例化来对类中的属性和方法进行访问,其实我们还可以通过类来访问他们,这样的方法和属性是“静态的”,必须用static关键词来声明:class StaticExample{static public $num=0;static public function sayHello (){print(“hello”);}原创 2016-08-09 19:47:30 · 428 阅读 · 0 评论