- 博客(51)
- 资源 (11)
- 收藏
- 关注
原创 PHP 高性能框架 Workerman 凭什么能硬刚 Swoole ?
一次偶然看到了国外某机构针对 PHP 周边生态框架及扩展的性能测试排行榜,看到 Workerman 竟遥遥领先 Swoole。在我们 PHP 程序员现有的认知里,Swoole 作为一个基于 C/C++ 语言编写的扩展程序,性能居然落后了。
2024-07-22 09:20:43
187
原创 PHP 程序员为什么依然是外包公司的香饽饽?
PHP 唯一的爽点就是开发起来「哇真快」这刚好和外包公司的需求相契合,在 Web 领域的芒荒年代 PHP 以王者姿态傲视群雄。
2024-07-18 09:04:05
251
原创 PHP转Go系列 | ThinkPHP与Gin框架之OpenApi授权设计实践
工作中只要接触过第三方开放平台的都离不开 OpenApi,几乎各大平台都会有自己的 OpenApi 比如微信、淘宝、京东、抖音等。在 OpenApi 对接的过程中最首要的环节就是授权,获取到平台的授权 Token 至关重要。
2024-07-15 10:04:25
754
原创 PHP 程序员是学 Swoole ?还是学 Go ?
这次为什么要讨论这个话题,因为 Swoole 和 Go 在 PHP 程序员坊间一直都是茶语饭后的谈资,觉得懂 Swoole 和 Go 的就高人一等。
2024-07-11 09:05:42
782
原创 PHP转Go系列 | ThinkPHP与Gin框架之API接口签名设计实践
数据安全一直是个热门的话题,API 接口在数据的传输上扮演着至关重要的角色。
2024-07-08 09:20:19
977
原创 透过 Go 语言探索 Linux 网络通信的本质
各种编程语言百花齐放、百家争鸣,但是 “万变不离其中”。对于网络通信而言,每一种编程语言的实现方式都不一样;但其实,调用的底层逻辑都是一样的。linux 系统底层向上提供了统一的 Socket 通信系统函数,动态链接库中就是实现网络通信的关键类库。下面我们会以 Go 语言为例,来分析网络通信数据传输的路径;最终揭开各大编程语言网络通信的神秘面纱。唯一不变的是变化,新技术层出不穷。对于我们技术人来说,不断学习新的技术是永无止境的,时间长了会陷入疲惫不堪。
2024-07-04 22:36:19
400
原创 PHP 真的不行了?透过 PHP 的前世今生看真相
时代造就了马云,同样也成就了 PHP。PHP9 还在紧锣密鼓的开发中,据说为了更好的性能,会引入类似 async/await 原生异步编程的方式,这对于 PHP 来说将是一种前沿且高效的编程模式。
2024-07-04 09:09:30
803
原创 写代码,为什么还需要作图?
画图是理解业务逻辑思考锻炼的过程,是分析复杂业务逻辑的基本功力。有时我们面对一个业务,脑子里整理思路的时候,想的明明白白,但是一画图则原型毕露,暴露出很多没有考虑到的问题。因此在编码之前,画图是很有必要的,它可以理清逻辑,能提前发现逻辑错误并予以及时纠正。最后,画图也是需要我们掌握的必备技能之一,它可以适应各种行业、各种场景,不仅仅只是适合编码;希望这次的分享,可以让大家对画图这项技能有个基本的认识,能够意识到其重要性。
2024-07-01 22:33:27
720
原创 PHP转Go系列 | GET 和 POST 请求的使用姿势
说到 HTTP 请求工具想必对我们做 Web 开发的程序员都不陌生,只要涉及到网络请求都必须使用。
2024-07-01 09:25:16
770
原创 经验分享之会员 SaaS 系统
2018年,这是不平凡的一年;互联网行业的中台战略、会员经济等模式如火如荼,同时也逐渐地走入我们公司每个人的视野。
2024-06-28 22:40:48
904
原创 十步学习法,赋能程序员
最近看了《软技能:代码之外的生存指南》这本书,对其中的 "十步学习法"。有一些感触,所以将其中的内容记录并总结了下来,分享给大家。
2024-06-28 22:39:14
421
原创 PHP 网络通信底层原理分析
我们日常的程序开发大多数都是以业务为主,很少会接触到底层逻辑。对于我们程序员来说,了解程序的底层运行逻辑,更有助于提升我们对程序的理解。我相信大多数的人,每天基本上都是完成业务需求。
2024-06-27 22:42:38
373
原创 Swoole v6 能否让 PHP 再次伟大?
自 Swoole 从 2012 年发布第一个版本开始,就扛起了 PHP 领域异步通信的大旗,但这多年以来 Swoole 的发展也是实属不易。
2024-06-27 09:08:09
1206
原创 Swoole 协程与 Go 协程的区别
协程是轻量级的线程,开销很小。Swoole 的协程客户端需要在协程的上下文环境中使用。在 Swoole v4.3.2 版本之后,已经支持协程 CPU 密集场景调度。Go 语言层面就已经完全支持协程了。
2024-06-26 22:51:50
1178
原创 PHP 界的扛把子 Swoole 异步通信利器
今天我主要是介绍了 PHP-FPM 和 Swoole 的内部运行流程及 Swoole 协程的使用方法,Swoole 的应用场景还非常广泛。我经常听到网上有人说,PHP 快凉凉了。其实 Swoole 的出现又让 PHP 出现了新的生机。
2024-06-26 22:47:16
620
原创 Go 语言学习笔记之字典 Map
map 是一种常用的数据结构,操作效率高。字典的键不能使用切片、函数或包含切片的结构体,原因是它们不支持等值运算。
2024-06-24 22:23:11
451
原创 内卷时代!程序员如何突破35岁的宿命?
曾经梦想仗剑走天涯,如今却在写字楼里安家。他乡容不下灵魂,家乡容不下肉体,还面临着35岁被毕业,这难道就是程序员的宿命?
2024-06-24 09:20:37
991
原创 Go 语言学习笔记之数组与切片
我们了解了数组和切片之间的关系。切片是基于数组的,可变长的,并且操作快。一个切片的容量总是固定的,而且一个切片也只会与某一个底层数组关联。
2024-06-23 11:48:48
211
原创 基于 GoLang 编写的 IOT 物联网在线直播抓娃娃企业级项目
前几年,娱乐物联网的热度很高。我当时所在的公司启动了一个将线下娃娃机的玩法,迁移到线上的项目,因此公司决定开发一个在线直播抓娃娃的项目。
2024-06-23 11:19:25
279
原创 PHP转Go系列 | ThinkPHP与Gin的使用姿势
虽然语言和框架都不同,但是编程的思想都是一样,同样采用的是 MVC 的编程风格。从框架入手实现一个 CURD 案例,也可以很好的熟悉 Go 语言的编程风格及流程,为后续更深入的学习打下基础。
2024-06-21 23:11:53
293
原创 PHP转Go系列 | 类结构体的使用姿势
PHP 语言是面向对象编程,Go 语言是面向结构体编程,但是整体的思想都大同小异。用 Go 中的结构体也完全可以替代 PHP 中类的功能,因此在 Go 中还是能找到 PHP 的影子的。
2024-06-21 23:11:22
173
原创 PHP转Go系列 | 条件循环的使用姿势
整体上 PHP 语言和 Go 语言的循环控制语句都差不多,但 Go 语言的相对比较简洁直接,没有 while 语句。简洁的好处就是阅读起来相对清爽,因此 Go 语言也因语法简约而受很多人欢迎。
2024-06-20 23:22:20
315
原创 PHP转Go系列 | 数组切片的使用姿势
对于长期写 PHP 的朋友来说,习惯了随性所欲的使用数组。转到 Go 语言之后会被强类型所困扰,使用数组之前都需要先确定类型,在大多数的情况下还会使用到切片的特性。因此在实际的编程中需要多注意数组、切片的特性,避免出错。
2024-06-20 23:21:07
333
原创 PHP转Go系列 | 字符串的使用姿势
以上是 PHP 语言与 Go 语言在常用的字符串处理场景中的用法,字符串处理在实际的编程中使用的最为频繁,因此我们需要很好的掌握它。
2024-06-19 22:54:59
359
原创 PHP转Go系列 | 变量常量的使用姿势
变量常量在 PHP 语言与 Go 语言的用法都差不多,需要注意的是 Go 语言中的变量是强类型的,不能再像在 PHP 编程中使用的那么随性了。在实际的编程过程中,可以经常会遇到因变量类型问题而引发的编译错误。
2024-06-19 22:54:07
343
原创 老生常谈!程序员为什么要阅读源代码?
对于阅读源码这个老生常谈的话题,首先「面试」带来的是短期价值,它让我们在面试的过程中形成差异化的竞争,从而让我们脱颖而出。其次「职业」带来的是长期价值,它让我们在自己的领域能够获得稳定且长足的发展。最后「兴趣」带来的是一种信念,它让我们在困难面前能够有坚持下去的勇气和动力。总而言之,阅读源码是一件利大于弊的事情,希望大家能持之以恒的对待,坚持做具有长期价值且正确的事情。
2024-06-11 22:56:33
1146
1
原创 七年之痒!一个 PHP 程序员职业生涯的自述
作为一名程序员常常都是与代码为伴,平常写个技术文档或PPT都费劲的人,竟然不知不觉地写了这么多文字,我也是感到十分的惊讶。17年毕业到今年刚好七年了,俗话说七年之痒,这一次的自述也算是对自己一个职业生涯的复盘了。
2024-05-27 10:33:14
897
转载 「MySQL实战45讲」你们都学习了么?扶我起来还能学 ~
下载地址 https://url81.ctfile.com/f/51052381-1248031198-f7bc03?p=4756 (访问密码: 4756)
2024-05-22 10:57:55
39
原创 Swoole 实践篇之结合 WebSocket 实现心跳检测机制
这里实现的心跳检测机制是一个基础版的,心跳包的主要作用是用于检测用户端是否存活,有助于我们及时判断用户端是否存在断线的问题。在我之前开发过的项目中,有一个基于物联网在线直播抓娃娃的项目,其中就有需要实时监控设备在线状态的需求,该需求就是使用心跳包来实现的。实际上心跳检测技术,应用更广泛的是实时通信、或设备管理的场景偏多。
2024-04-22 22:33:01
516
原创 Swoole 实践篇之结合 WebRTC 实现音视频实时通信方案
这次实现音视频实时通信的方案是基于 WebRTC 技术的,它是一种点对点的通信技术,通过浏览器之间建立对等连接,实现音频和视频流数据的传输。
2024-04-16 22:27:32
663
原创 08 | Swoole 源码分析之 Timer 定时器模块
Swoole 中实现了毫秒精度的定时器,而原生的 PHP 中只支持到秒级别。数据结构使用最小堆支持添加大量定时器,全部为内存操作且十分高效。定时器在实际的业务场景中应用也是非常广泛,常用于延时或定时执行的任务中,例如:订单超时未付款自动取消等场景。
2024-04-07 22:51:07
819
原创 07 | Swoole 源码分析之 Channel 通道模块
Channel通道需要在协程的环境中进行使用,通道是纯内存操作,没有 IO 消耗,非常高效。底层使用函数实现了协程的自动切换和调度,如果通道处理超时则会自动调用函数。Channel通道是跨协程直接通信的一大利器,在实际的场景中使用起来十分的便利、高效。
2024-04-04 09:21:11
947
原创 06 | Swoole 源码分析之 Coroutine 协程模块
协程又称轻量级线程,协程是用户级线程;不需要操作系统参与,创建切换成本低。Swoole 中的协程是无法利用多核 CPU 的,如果想利用多核 CPU 则需要依赖 Swoole 的多进程模型。Swoole 中协程的是利用的 Event 事件循环进行调度的,将遇到 IO 操作的 Socket 统一加入到事件循环中。本次的源码分析旨在了解整个协程在 Swoole 中的运行逻辑,打开我们的思路,便于我们更好的体会到协程所带来的高性能价值。
2024-04-02 22:36:16
1387
原创 05 | Swoole 源码分析之 WebSocket 模块
在 Swoole 中 WebSocket 服务是继承于 Http 服务。在实际的使用过程中是通过 Http 服务来握手升级成 WebSocket 服务。WebSocket 协议的出现解决了通过传统轮询方式来通信的效率问题。同时也为 PHP 在双向通信解决方式上提供了新的解决方案。
2024-04-01 22:39:26
768
原创 04 | Swoole 源码分析之 epoll 多路复用模块
epoll 在内部使用了红黑树的数据结构,红黑树是一个高效的数据结构。epoll 是解决 C10K 问题的利器,不仅是在 Swoole 中被应用,在很多的高性能服务中也有应用,例如:Nginx 服务等。Swoole 被称为高性能通信框架的关键原因,就是采用了 epoll 多路复用技术。
2024-03-31 11:04:16
781
原创 03 | Swoole 源码分析之 Http Server 模块
想要了解到的全貌,其实只要把那张整体的实现图看懂就足以了。但是,如果想要有足够的深度,那么就还需要深入Swoole的源代码中,就着源码自行分析一遍。同时,也希望这一次的分析,能够给大家带来对Swoole更多的一些了解。并不要求要深刻的掌握,因为,很多的事情都不可能一蹴而就。从自己的实力出发,勿忘初心。
2024-03-29 11:31:42
1016
原创 02 | Swoole 源码分析之 TCP Server 模块
从 Swoole 官网的这段短小精悍的代码,就可以看出 Server 服务的关键要点。再通过对类、构造方法、回调函数的层层剖析,我们逐渐的了解了底层的实现原理。TCP Server 模式是基础模块,我们经常使用的 HTTP 模块就是基于此模块进行扩展的,所以我们需要有一定的了解。对我们来说掌握了原理性的内容,在回过头去看用户级的代码,往往会更轻松,所以我们需要有耐心的琢磨。
2024-03-27 22:53:43
820
php-7.2.0-Win32-VC15-x86.zip
2017-12-26
Visual C++ 2015运行库
2017-12-26
Laravel之简单的学生信息管理平台
2016-10-20
Laravel框架之简单的学生信息管理平台
2016-10-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人