- 博客(63)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 Git 40个常用命令
git --versiongit config --global user.name “user”git config --global user.email “user@qq.com”git config --global --listgit init project cd folder git initgit clone git@git.xxx.com:php/file.gitgit reset 9b7e88b7c2c4ec8a046 app/Services/ClubService.phpgit r
2023-06-25 18:06:21
1234
2
原创 Laravel Collection 基本使用
contains 方法在检查项目值时使用「宽松」比较,意味着具有整数值的字符串将被视为等于相同值的整数。为了创建一个集合,可以将一个数组传入集合的构造器中,也可以创建一个空的集合,然后把元素写到集合中。如果给定的数组含有与原集合一样的键,则首选原始集合的值。删除原集合中不存在于给定数组或集合中的『任何键』,返回新的集合将保留原集合的键。将一个集合的值作为「键」,再将另一个数组或者集合的值作为「值」合并成一个集合。从原集合中移除不在给定数组或集合中的『任何值』,返回新的集合将保留原集合的键。
2023-05-12 16:42:36
1322
原创 TCP协议发送/接收数据实现[TCP/IP协议入门]
背景Demo 基于 Java 实现简单的 TCP 传输 / 接收协议词义百科TCP 协议 (传输控制协议)TCP 协议是面向连接的通信协议,即传输数据之前,在发送端和接收端建立逻辑连接,再传输数据。它提供了两台计算机之间的可靠无差错的数据传输。在 TCP 连接中必须要明确客户端与服务器,由客户端向服务器发送连接请求,每次连接的创建都需要经过 “三次握手”三次握手:TCP 协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可靠第一次握手:客户端向服务器发出连接请求,等待服务
2022-05-19 16:23:40
4412
2
原创 UDP协议发送/接收数据实现[TCP/IP协议入门]
背景Demo 基于 Java 实现简单的 UDP 传输 / 接收协议词义百科UDP 协议(用户数据包协议)UDP 是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接,简单来说,当客户端向接收端发送数据时,客户端不会确认接收端是否存在,就会发出数据。同样接收端在接收数据时,也不会向发送端反馈是否收到数据由于使用 UDP 协议消耗资源小,通信效率高,所以通常都会用于音频、视频和普通数据传输例如:视频会议通常采用 UDP 协议,因为这种情况即使偶尔丢失一两个数据包,也不会对接收结果产
2022-05-19 16:20:52
2496
原创 00812中国现当代作家作品专题研究简答论述题【湖北卷2110考期】
简答题社会剖析派小说女性写作京味儿风格特征新时代余华先锋小说的发展变化论述题沈从文《边城》用比较文学分析顾城,舒婷,北岛朦胧诗的个性特征和艺术手法
2021-10-20 23:28:21
853
原创 HTTP状态码枚举(PHP)
declare(strict_types=1);namespace App\Enums;class HttpCode{ /** * @Message("OK") * 对成功的 GET、PUT、PATCH 或 DELETE 操作进行响应。也可以被用在不创建新资源的 POST 操作上 */ const HTTP_OK = 200; /** * @Message("Created") * 对创建新资源的 POST 操作进行响应。
2021-08-12 15:34:43
587
原创 Carbon获取上个月第一天和最后一天
Carbon获取指定月份tips1:本月第一天和本月最一天 Carbon::now()->startOfMonth()->toDateTimeString(); Carbon::now()->endOfMonth()->toDateTimeString();tips2:上个月第一天 $firstOfMonth = new Carbon('first day of last month'); $firstOfMonth->startOfMonth()->toD
2021-03-30 14:42:38
2569
原创 MySQL 设计与开发规范
该仓库整理收集了目前主要的 `Mysql` 设计规范,为了方便讨论规范带来的问题及争议,现把该文档托管于 `Github`,欢迎大家补充!github地址:https://github.com/734380794/mysql-specification.git1.规范背景与目的本规范旨在帮助或指导RD、QA、OP等技术人员做出适合线上业务的数据库设计。在数据库变更和处理流程、数据库表设计、SQL编写等方面予以规范,从而为公司业务系统稳定、健康地运行提供保障2. 设计规范2.1. 数据库设计以
2020-07-23 16:32:13
278
原创 小程序微信支付实现
前言:最近在做小程序微信支付,开发中遇到的各种问题与大家分享,对小程序微信支付做一个简单的总结和梳理。开发环境:- 使用语言:PHP # PHP世界上最好的语言- 使用框架:zend framwork # 公司内部框架,实现原理不受框架约束- 测试工具:微信开发者工具 # 简单、方便、好用- 整理时间:2019-02-12 ...
2020-07-14 16:32:30
987
原创 Laravel 框架实现无限极分类
最近开发商品功能,在尝试递归和引用方式后,蓦然回首,突然发现 laravel 框架有更简单高效的实现方式,无限极分类最佳实践,open code 与大家共享!感兴趣的 Mark 一下,谢谢~表结构如下:CREATE TABLE `goods_category` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id', `name` varchar(500) DEFAULT '' COMMENT '分类名称', `pi
2020-06-08 19:49:30
676
原创 Laravel 框架生成 Plist 数据
前言:在客户端版本更新中,常用有两种更新方式,一是上架应用宝和苹果应用商店,二是上传到服务器,客户端做包版本更新检测,今天,小编给大家详细讲解一下客户端版本更新原理。话不多说,文件更新如图所示:在常见包更新中,安卓apk包通过访问服务器http:xxx.apk包文件下载地址直接更新,而ios包则需要先读取plist文件,获取URL地址,来实现。Plist文件说明Plist文...
2019-07-31 19:43:39
492
原创 8个有用的JS技巧
这些技巧可能大家大部分都用过了,如果用过就当作加深点映像,如果没有遇到过,就当作学会了几个技巧。1. 确保数组值使用 grid ,需要重新创建原始数据,并且每行的列长度可能不匹配, 为了确保不匹配行之间的长度相等,可以使用Array.fill方法。let array = Array(5).fill('');console.log(array); // outputs (5) [""...
2019-07-09 17:33:58
709
原创 CDN 的作用与基本过程
简介CDN,Content Distribute Network,可以直译成内容分发网络,CDN解决的是如何将数据快速可靠从源站传递到用户的问题。用户获取数据时,不需要直接从源站获取,通过CDN对于数据的分发,用户可以从一个较优的服务器获取数据,从而达到快速访问,并减少源站负载压力的目的。动机为什么不进行数据的直接交付,即让用户直接从源站获取数据呢? 我们常说的互联网实际上由两层组成...
2019-07-09 17:32:33
581
原创 workman 和swoole 区别
Swoole:面向生产环境的 PHP 异步网络通信引擎 使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提...
2019-07-08 18:57:18
1054
原创 PHP 7.0新增特性详解
开始介绍PHP7.0新特性,具体的可以参照官网的介绍,我来挑一些给大家详细讲解下1. ?? 运算符(NULL 合并运算符)$a = $_GET['a'] ?? 1;它相当于:$a = empty($_GET['a']) ? 1 : $_GET['a'];我们知道三元运算符是可以这样用的:$a ?: 1但是这是建立在 $a 已经定义了的前提上。新增的 ?? 运算...
2019-06-12 11:09:22
206
原创 mysql让主键id重新排序
1、备份表结构create table table_bak like table_name;2、备份表数据insert into table_bak select * from table_name;3、删除原来主键字段(如id)alter table table_name drop id;4、添加主键,自增,放在第一位alter table table_nam...
2019-03-05 10:50:02
1565
转载 微信支付开发 JS API支付
本文介绍微信支付下的jsapi实现流程前言微信支付现在分为v2版和v3版,2014年9月10号之前申请的为v2版,之后申请的为v3版。V3版的微信支付没有paySignKey参数。v2的相关介绍请参考方倍工作室的其他文章。本文介绍的微信支付v3。流程实现1. OAuth2.0授权JSAPI 支付前需要调用 登录授权接口获取到用户的 Openid 。所以需要做一次授权,这次授权是...
2019-02-25 11:44:19
463
原创 phpqrcode类生成二维码详解
本文实例讲述了PHP基于phpqrcode类生成二维码的方法。分享给大家供大家参考,具体如下:使用PHP语言生成二维码,还是挺有难度的,当然调用生成二维码图片的接口(比如:联图网http://www.liantu.com/的接口)除外,如果自己写代码生成,真的无从下手。然而,我们可以使用phpqrcode这个现成的类文件,PHP二维码生成类库,利用它可以轻松生成二维码。前期准备:1.p...
2019-02-25 11:31:46
2345
原创 PHP面向对象--访问修饰符
PHP中有三种访问修饰符,分别是:public(公有的):在类的外部,类本部和子类中都可以访问 private(私有的):只能在类中访问,子类和类的外部都不能访问 protected(受保护的):在类本部、子类中可以访问,在类的外部不能访问它们可以用在类的属性和方法上,用来修饰类成员的访问权限,类的属性和方法统称为类的成员。 1.public(公有的) 在PHP5中如...
2019-02-19 14:37:46
419
原创 PHP单例模式--三私一公
PHP设计模式之一,单例模式,顾名思义就是只有一个实例。单例模式确保某一个类只有一个实例,不能重复实例,只能它自己实例化,而且向整个系统提供这个实例。三私一公:私有化静态属性,私有化构造方法,私有化克隆方法,公有化静态方法。单例模式:即一个类只被实例化一次,当其他人对其再次实例化时,返回第一次实例化的对象,可以避免大量的new 操作,减少资源的消耗,典型应用于数据库类的实例化。以实例......
2019-02-19 10:56:00
9038
3
原创 PHP命名空间 namespace 及 use 的用法
在PHP中,出现同名函数或是同名类是不被允许的。为防止编程人员在项目中定义的类名或函数名出现重复冲突,在PHP5.3中引入了命名空间这一概念。什么是命名空间?命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。具体举个例子,文件foo.txt可以同时在目录/home/greg和/hom......
2019-02-18 17:16:59
4998
4
原创 小程序开发文档规范
目录规范1.目录概述组件文件所有组件相关文件统一放在components目录下。图片文件项目图片文件放置于根目录的images文件夹下,组件独有的图片放在当前组件images目录下模型文件模型文件主要用于编写各类业务模型。项目模型文件放置于根目录的models文件夹下,组件相关模型放置于components目录下的models文件夹中。行为文件行为文件放在所引用...
2019-02-18 15:30:48
2861
1
转载 小程序的安全与管控
作为一个平台,管控和安全是很有必要性的。虽然说这些是开发自己需要进行防范的,但是平台如果能解决,也算是皆大欢喜了。双线程到底解决了什么先给小程序团队的双线程设计鼓个掌,关于双线程大家也可以回顾下《小程序的底层框架》。H5 的隐患要知道,Web 技术是非常开放灵活的,开发者可以利用 JavaScript 脚本随意地操作 DOM,这是会带来以下的问题:随意地跳转网页,改变界面上的任...
2019-02-18 15:13:02
3966
转载 小程序的底层框架
前端的框架太多让人眼花缭乱,很多相似的地方,优秀的地方大家都会借鉴,同时又会有各自的一些特点。小程序也好,其他框架也好,理解他们的设计缘由、实现原理,还是能学到很多很多东西的。一切始于双线程技术选型上一节《小程序的诞生》中,我们也提到了小程序的双线程设计。目前来说,页面渲染的方式主要有三种:Web 渲染。 Native 原生渲染。 Web 与 Native 两者掺杂,也即我...
2019-02-18 15:10:39
2756
原创 PHP 中最全的设计模式(23种)
PhpDesignPatterns 【PHP 中的设计模式】一、 Introduction【介绍】设计模式:提供了一种广泛的可重用的方式来解决我们日常编程中常常遇见的问题。设计模式并不一定就是一个类库或者第三方框架,它们更多的表现为一种思想并且广泛地应用在系统中。它们也表现为一种模式或者模板,可以在多个不同的场景下用于解决问题。设计模式可以用于加速开发,并且将很多大的想法或者设计以一种简...
2019-02-15 16:58:56
3587
转载 小程序的登录与静默续期
每一个有数据交互的小程序,都会涉及到登录、token 等问题,openid 又是什么呢?怎么使用静默续期,来提升用户体验呢?小程序登录登录时序一切的一切,都要从这么一张小程序登录时序图说起:通常情况下,我们的小程序都会有业务身份,如何将微信帐号和业务身份关联起来呢?这个时候我们需要上图的步骤:小程序调用wx.login()获取临时登录凭证code。 小程序将code传到开发者...
2019-02-15 13:58:58
4105
2
转载 mysql 性能优化方案
网 上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用 status信息对mysql进行具体的优化。mysql> show global status; 可以列出mys...
2019-02-15 11:44:54
928
1
转载 微信小程序开源项目库汇总
最近微信小程序很火,收集了许多GitHub上的微信小程序开源项目,做了一个合集 微信小程序合集,内含各种微信小程序相关的开发工具,Demo,UI组件,开发框架,项目实例等等等等,会不断更新,大家喜欢的可以star一下。内容UI组件 开发框架 实用库 开发工具 服务端 项目实例 DemoUI组件weui-wxss ★1873 - 同微信原生视觉体验一致的基础样式库 zan...
2018-11-02 13:40:44
2642
1
原创 判断是否是H5浏览器
//判断是否是微信浏览器的函数function isWeiXin(){ //window.navigator.userAgent属性包含了浏览器类型、版本、操作系统类型、浏览器引擎类型等信息,这个属性可以用来判断浏览器类型 var ua = window.navigator.userAgent.toLowerCase(); //通过正则表达式匹配ua中是否含有MicroMessen...
2018-10-31 10:25:50
1013
原创 分析php://output和php://stdout的区别
PHP包含了以php://开头的一系列输出输出流,如php://stdin, php://stdout等。今天查看代码时,忽然想到一个问题:php://output和php://stdout有什么区别?两者区别如下:1. 均是只读流;2. php://stdin是PHP进程的标准输入,php://input用来读取请求正文的原始数据。通过这些信息,该如何正确认识两者的本质区别?顺着...
2018-10-23 16:07:16
918
laravel5.8内核源码分析
2023-08-07
PHP开发中, get与post的区别
2016-06-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人