自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

A码农先森的专栏

A码农先森的专栏

  • 博客(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 语言学习笔记之通道 Channel

Go 语言中的通道(channel)是用来在 Go 协程之间传递数据的一种通信机制。

2024-06-25 23:12:35 561

原创 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

原创 PHP 程序员转 Go 语言的经历分享

之前有朋友让我分享从 PHP 转 Go 的经历,这次它来了。

2024-06-17 09:23:35 1656

原创 30 岁的程序员,要有 “归零“ 心态

勿忘初心,方得始终。当我们走到一定地方时,要记得回头看看,自己是为什么而出发的。与君共勉。

2024-06-13 22:45:50 537

原创 老生常谈!程序员为什么要阅读源代码?

对于阅读源码这个老生常谈的话题,首先「面试」带来的是短期价值,它让我们在面试的过程中形成差异化的竞争,从而让我们脱颖而出。其次「职业」带来的是长期价值,它让我们在自己的领域能够获得稳定且长足的发展。最后「兴趣」带来的是一种信念,它让我们在困难面前能够有坚持下去的勇气和动力。总而言之,阅读源码是一件利大于弊的事情,希望大家能持之以恒的对待,坚持做具有长期价值且正确的事情。

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

PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。这是php7.2版本。

2017-12-26

Visual C++ 2015运行库

Visual C++ 2015运行库包括C运行时库(CRT),标准C + +和MFC,C + +,和OpenMP。开发的Visual C++应用程序使用动态链接到Visual Studio 2015和Visual C + +库。

2017-12-26

thinkphp3.2.2备份数据库插件

thinkphp3.2.2备份数据库插件

2017-02-16

php开发短信接口平台的工具类

php开发的短信接口平台的工具类。

2016-10-24

Laravel之简单的学生信息管理平台

laravel框架写的简易版的学生信息管理平台,贯穿了laravel的控制器、视图、模板、模型、中间件、路由规则的使用。页面是使用BootStrap前端框架搭建 使用laravel实现了增删改查的功能。

2016-10-20

Laravel框架之简单的学生信息管理平台

laravel框架写的简易版的学生信息管理平台,贯穿了laravel的控制器、视图、模板、模型、中间件、路由规则的使用。页面是使用BootStrap前端框架搭建 使用laravel实现了增删改查的功能。

2016-10-20

PHP实现人脸识别技术

PHP实现人脸识别技术

2016-09-13

Web在线文件管理器

PHP实现Web在线文件管理器,适合初学者上手连基础的项目。

2016-09-12

使用php将Excel转sql工具

使用php将Excel转sql工具,使用php脚本语言,在浏览器端实现将Excel中的数据,转换为sql语句。

2016-09-12

php接口开发代码

php接口开发代码

2016-04-29

编译原理实验指导书

通过设计、编写和调试将确定的有穷自动机的状态数变为最少的C程序,使得学生掌握化简为有穷自动机的过程中的相关概念和方法。DFA的表现形式可以为表格或图形。

2015-12-17

空空如也

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

TA关注的人

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