自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

聆听岁月的博客

自我学习日志管理

  • 博客(163)
  • 资源 (4)
  • 收藏
  • 关注

原创 数据通信加密

偶然之间,想了解下https加密的底层是啥。我们都知道一个网站要使用https协议传输数据,需要购买证书(一般ssl证书都是收费的,当然也有免费的,如阿里云的免费ssl但有时间限制,目前是3个月内免费)。http是明文传输数据,在互联网上相当于是裸奔,一旦某个中间环节被人篡改了数据并提交到了服务器,那么服务器就相当于收到了脏提交(服务器本身是无感知的,只晓得接收提交和处理数据)。本文是探究https底层后,得出的数据加密方式,总之,真的学习到了。如上,我们又学习到了新的数据加密设计模式。

2024-03-15 17:41:50 156

原创 php cli 多进程编程

php cli 命令模式我想在日常开发中,大家用的都比较少。其实,在某些场景,cli命令真的很有作用,我举个例子在mysql数据库的某个表tab1中数据量有3000W+条数据,现在需要对这张表中的每一条数据做计算处理。将处理的结果放置在新表tab2上,因为数据量很大,我想大家不会采用php-fpm模式去处理这个吧,肯定还是要cli,并将执行时间设置为长时执行(set_time_limit(0))。经测试,单条数据处理耗时3s左右。

2024-03-01 11:48:25 497

原创 前端 - 视觉呈现技术

不知道大家有没有在微信中看见过,那种特别炫酷的h5,从事前端工作的伙伴看着这么炫酷的效果,又不知如何实现。本文就带你走进前端高阶视觉特效。炫酷的特效总有方法实现的,找个视频小哥哥学会pag 并用这个工具导出文件即可。

2024-01-26 09:03:34 231

原创 软件设计 - 大数据 - 性能优化篇2

偶然之间想到,在数据库中我们存储的数据放置在了某个列中,但这个数据的体积很大。且已明确知晓这个数据不会用于查询操作。只会在业务需要的时候从数据库中拿出来使用即可。在我们明确知晓某个数据不会参与到查询且这个数据的体积较大的时候可以考虑此种方案提升速度。但需要注意的是此种方案对cpu有压力(压缩/解压 都需要耗费一定的cpu资源,数据体越大耗费的资源越多)。采用的是以 性能换空间 方式。(另称为 以时间换空间 )

2024-01-03 16:36:42 601

原创 软件设计 - 原型设计篇

心有所思,所感。今日记录下这篇文章,与其说是文章,不如说是个人的一点思考体会。一个软件从开发到交付,如何才能评判出这个软件是否是优秀的软件?个人认为有如下几个方面:稳定、易用、安全本篇着重介绍易用性。原型设计应以人为本,从使用者的角度去思考,怎样才能快捷,简便的方式获得想要的信息。对上向使用者负责,对下可增强同事之间的信息沟通。

2023-11-30 09:43:17 499

原创 php 8 注解的实际应用

枚举 + 注解 在实际项目中的使用

2023-11-13 11:23:24 383

原创 程序设计之美

世界有各种各样的美,有风景之美;人文之美;文化之美。那么我们程序开发中的美学是什么呢?我的理解是规则之美,严谨的程序设计,会使代码结构层次分明,便于开发及维护。我认为一个业务流程的实现,应该是由多个小功能组装而成。一个简单的举例:一次下单(商品购买操作)牵涉的服务有商品中心,订单中心,用户中心,日志中心等,每个服务中心为完成这个业务提供与自己相关的子功能,业务由订单中心发起,由订单中心调用各中心提供的功能接口完成此业务的实现。一切的规则设计模式来源于生活,我们要能通过生活发现新的;有效的;

2023-10-25 11:08:19 171

转载 布隆过滤器 php+redis

在实际开发中,我们是否有遇到以下情况。缓存穿透:某个用户一直在请求一个不存在的商品信息,导致我的数据库宕机了(请求一次获取商品信息数据后台要做的工作比较多,如统计访问量,商品数据的构成由多个表的数据聚合及后台对商品数据的二次换算等。某个时间点,我的网站有大量的有效用户在注册或是在活跃。分析场景:1、正在注册的用户产生了大量的写请求,在注册流程中用户名的唯一性效验是去user表中进行的查询。有大量的查询访问。

2023-09-18 11:09:49 174

原创 php - fpm 请求达到max_children最大值后,新进入的请求工作流程

高迸发情况下,php-fpm 在如何工作

2023-08-30 15:32:15 766

原创 项目 - 后端技术栈转型方案

后端迁移

2023-08-29 15:20:49 905

原创 身为一个后端程序员如何快速制作后端管理系统的UI

我的专业领域在后端开发上,前端我仅仅是熟悉,但是要从头开发一个前端UI界面有点难为人了。那么身为一个后端程序员我们怎么来开发后端管理系统UI界面呢?基于开发来说,肯定是 方案1 比较好,但如果项目交付周期短,没有多少时间开发的话,方案2也许更好。在中、大型项目中,采用前后端分离(专业的人做专业事),前端技术栈采用vue会更好。一个全栈工程师做出来的程序不一定比一个前端和一个后端做出来的东西效果好,因为开发需要精力专注,全栈工程师将精力分散到了前后端实际开发,反而降低了整个系统的质量。

2023-08-25 15:26:52 1910

原创 应用 - 行为分析篇

以商超项目为例,为了更好的给用户提供服务,我们需要了解到用户喜欢什么,我的产品中哪些是用户感兴趣的,哪些是不感兴趣的。我应该在推荐栏目中给用户推荐的内容是哪些。基于这些业务场景,我们需要一套行为分析系统,了解用户在哪个产品中停留的时间最长,搜索哪款产品的次数最多,最感兴趣的产品是哪些。使用行为分析系统,要确定好我需要从行为分析系统中获取什么数据;评判数据分析的标准是什么;将从哪些场景下获取行为数据;分析器在后端守护进程将如何工作;数据存储的介质是什么;

2023-08-15 16:17:15 185

原创 架构设计 - 需求分析篇

一个开发项目的成立最初是由一群有开发需求的人提供了自己的想法,思路。根据一系列需求发起者的描述,反馈,总结形成了我们的开发项目。本文就这个过程展开讨论,分析出在沟通过程中可能遇到的问题点,想起一个段子。需求发布者描述的是战斗机 > 产品理解成了空客机,之后产品给技术描述>程序员理解成了直升机 > 最终产生的产品为 直升机。

2023-08-15 15:38:50 317

原创 架构设计 - 程序设计篇

在项目开发中我们如何去维护自己的项目?程序设计的好坏能为项目带来什么?你是否一直在苦于在进行系统迭代开发时,改动一处地方,其它地方的程序就产生了bug,导致你不得不得随时去了解业务底层运行逻辑,然后重复功能模块的实现编程。基于以上几点,结合我自己的理解,说说 程序设计 是个啥。程序设计是一个很综合的命题。需要考虑的内容很多。从项目需求,后期迭代和维护,多人协同,代码质量规范等。需要接触和了解很多的开发知识,才能进行项目架构设计。程序抽象于生活,也将溶于生活。

2023-07-24 09:49:28 159

原创 架构设计 - 大数据 - 性能优化篇

热更新、消息队列、缓存技术

2023-07-21 09:23:01 280

原创 消息队列 原理剖析

​​消息队列是一种用来存储消息的队列。

2023-07-06 13:53:59 171

原创 高迸发 架构设计方案

​​在实际生活业务场景开发中,在我们的网站知名度越来越大的时候,随之而来的就是业务体量越来越大,用户群体越来越大,随之而来的技术要求也越来越高,其中核心点对网站的稳定性要求是硬性的。如果一个系统都无法正常提供访问了,那么对用户的体验感应该是极差的吧。本文总结了我所见所闻的知识,来提升网站吞吐能力,应对高迸发,高安全的实现方案。

2023-07-06 08:47:25 545

原创 反爬虫-方案设计

在日常开发业务场景中,某些知识是需要付费才能观看的,而我们的扒手同志们想不劳而获,把对方的付费内容扒下来放置在自己的网站上,免费为大家观看。对C端用户来说特别好,因为免费看到了付费的只是内容。对内容的创建者特别不友好,因为辛苦努力的成功被扒免费曝光了,没有产生任何收益。如我们喜欢的小说网站,像上面一些最新的热血章节看着看着就没了。那么我们如何来预防其它人来扒我们的数据呢。

2023-06-13 09:53:43 394

原创 事件机制原理剖析及实际业务应用说明

一个特定的场景发生了一个特定的情况就是一个事件。

2023-06-05 11:50:32 484

原创 php openSSL 数据加密服务

在项目场景开发中,我们总会遇到一些敏感的场景需要数据加密及解密服务。那么我们如何去约定规则,让前端、后端均可处理数据的加密及解密呢。我找了些方法,可以完成数据的加密及解密。

2023-04-17 13:41:16 153

原创 php 任务调度

php 后台进程

2023-02-24 16:03:31 507

原创 设计模式 - 适配器模式理解及示例

根据适配器类与适配者类的关系不同,适配器模式可分为对象适配器和类适配器两种,在对象适配器模式中,适配器与适配者之间是关联关系;在类适配器模式中,适配器与适配者之间是继承(或实现)关系。将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。在适配器模式中,我们通过增加一个新的适配器类来解决接口不兼容的问题,使得原本没有任何关系的类可以协同工作。设计一个抽象类:工作。目前提供有搬砖、服务员两个工作。

2022-10-13 13:33:20 350

原创 hyperf 优点、缺点 分析

hyperf

2022-10-11 17:50:09 9007

原创 composer 包开发

composer、package

2022-08-25 10:14:28 1020

原创 设计模式 - MVC 扩展设计

设计模式、MVC、

2022-08-15 11:32:47 231

原创 设计模式 - 组合模式理解及示例

设计模式 - 组合模式

2022-08-10 09:13:43 266

原创 程序设计6大原则

程序设计

2022-08-08 10:11:51 1130

原创 设计模式 - 策略模式理解及示例

情人到了,改不赶快行动起来

2022-08-05 11:40:25 186

原创 程序运行耗时监听封装类及Skywalking

php 程序执行耗时监控

2022-08-02 15:09:07 597

原创 nginx swoole php-fpm工作原理及比较。

Cpu 进程、线程切换。 swoole php-fpm 的比较

2022-07-21 11:41:42 1135

原创 分布式架构 - ID 生成器 hash 算法

redis、php、mysql、分布式、hash算法、队列

2022-07-18 17:56:32 1197

转载 swoole TCP 集群 MQTT消息通信服务器

swoole 分布式通信

2022-06-29 11:14:49 731

原创 mysql XA 分布式事务、DTM TCC事务(多语言支持)

mysql xa 事务支持分布式事务

2022-06-27 17:19:39 819 1

原创 高迸发解决方案2

大迸发解决方案

2022-06-11 17:01:05 349

原创 laravel 死锁处理机制+测试

在日常交易场景中,我们有用户A向用户B进行转账,用户B向用户A进行转账的情况,那么当两个请求并发一起执行的时候怎么办呢,首先是在事务中绑定一个死锁。$user1 = \App\Models\User::query()->where('id',1)->lockForUpdate()->first();那么当产生死锁之后我们怎么来处理呢。/** * Notes:死锁1 * Author:tanyong * DateTime:2022/5/19 *

2022-05-19 12:03:53 572

转载 好用的linux后台进程管理 pm2

pm2 是一款带有负载均衡的 node 应用进程管理器,当然也可以用来管理 php 的cli脚本。.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的,下面我们来看pm2常用的命令用法介绍吧。PM2 (github上的源码)是开源的基于Nodejs的进程管理器,包括守护进程,监控,日志的一整套完整的功能,基本是Nodejs应用程序不二的守护进程选择,事实上它并不仅仅可以启动Nodejs的程序,只要是一般的脚本的程序它同样可以胜任。由下图可见,pm2对应

2022-05-18 17:53:45 552

原创 laravel 复杂搜索组件

有时候我们希望能和前端好好对接一个页面的功能性展示,如支持的搜索条件有哪些,支持的字段有哪些,复杂搜索组件代码 ComplexSearch.php<?php/** * Notes:描述该文件的用途 * History:文件历史 * tanyong 2022/5/18 */namespace App\components\ComplexSearch;use App\components\ComplexSearch\Exceptions\ComplexException;use

2022-05-18 16:33:31 2381

原创 laravel rbac权限管理系统

开发系统中,关于权限这块儿我想大家都不陌生,就是对一个操作进行权限判定,对用户当前请求的操作效验权限是否允许此用户执行这个动作。最近在学习laravel框架,发现laravel官方没有提供关于我感觉便捷的权限管理。我就自己实现了一个基于rbac模式的权限管理系统1、什么是rbac?在这里就简单说下他的思想,rbac的核心定义就是角色与权限的关系、用户与角色的关系。啥意思呢?意思是说,一组用户通过被分配的角色身份去行使对应的权限。2、如何在laravel中实现rbac以下就是硬货,我尽量对每个类添加

2022-05-16 14:22:44 4373

原创 laravel 接口日志中间件

在日常开发中,我们总会使用到restful接口调用,而我们在开发的过程中,我们总是希望统计出我们的接口在使用时入参的情况和回参(响应的情况),为此,我设计了一个中间件来统计接口的调用情况。第一步:创建中间件RunLogMiddleware(运行日志中间件)命令行运行php artisan make:middleware RunLogMiddleware运行成功后,会在App\Http\Middleware命名空间下创建RunLogMiddleware class文件<?phpname

2022-05-11 11:02:45 660

原创 laravel 服务提供者(provider)

laravel的服务提供者感觉就是单例模式的实现(单例模式,即是在整个会话中这个类有且仅有一个实例)我们在使用的要明确的知道某些概念,比如一个用户服务提供者,将会注册用户服务或是其它服务(如身份信息服务、邮寄地址服务等等)。用户服务提供者:身份信息服务、邮寄地址服务命令:创建一个服务提供者php artisan make:provider TanyongProvider在自己的服务提供者中注册自己的服务<?phpnamespace App\Providers;use Illumi

2022-05-10 18:19:44 884

超好玩的html5微信赛车小游戏源码

html5 疯狂赛车 躲避游戏源码,html5疯狂的赛车躲避障碍物游戏、速度与激情赛车游戏源码下载,欢迎各位朋友品鉴

2020-09-22

php - 斗鱼直播.rar

php 斗鱼 - 直播对接demo案例,缓存,token,房间信息获取案例,欢迎有需要的朋友下载使用,有任何无法运行的问题可以反馈给我,我提供售后服务。

2020-09-11

AI 人工智能辅助工具包

如果你的php版本低于5.3.0,那就将此压缩包里的文件,直接全部引入运行文件中方可使用

2018-08-29

android 动态视图渲染

根据数据结构动态渲染视图,render.view 为渲染视图结构。

2017-11-01

空空如也

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

TA关注的人

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