自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CrazyCodes

感谢您的关注,我是一名七年PHP开发工程师,在GitHub、Segmentfault、知乎、掘金、CSDN发布技术文章。

  • 博客(79)
  • 收藏
  • 关注

原创 [积德篇] 如何少写PHP “烂“代码

写给初生牛犊不怕虎的童鞋们,大佬可随意摘看本章基于PHP Laravel前言经常会有人问目录如何设计比较好?代码如何分布好?怎么写一个可维护的项目?“烂”项目我也没少写,以下是参考互联网各大佬的文章总结及个人开发经验而来.ControllerController顾名思义是控制器,在入门PHP的时候,就知道Controller代表MVC中的C层,MVC本身的概念就代码分离,教你如何如何将业务分开,但面临着业务的不断发展,代码的复杂度也随之提高,功能与功能之间的链接错综复杂,最后你..

2020-10-22 17:27:41 693

原创 PHP GD库解析一张简单图片并输出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4JffojjB-1603358737755)(https://blog.fastrun.cn/wp-content/uploads/2018/06/73678c8cd3692cf204938a47fc1af0e7.png)]这里只演示一下2种颜色值的图片,简单描述下概念。首先要安装下GD库。否则下面的代码运行不了。$size = getimagesize('2.png'); // 获取图片大小 $res = im

2020-10-22 17:26:17 478

原创 老项目的迁移手记

收到一个朋友的求救,他现在遇到一个难题。就是刚刚入职的公司,项目没有GIT,用的老版本的TP,CI,代码也很凌乱,目录也是非常的多,有的没的都在服务器上放着,服务器上还有将近30G的用户头像存着,总之就是一个字 “乱”我准备对这个乱到无法整理的公司项目、服务器及架构进行重新整理,接下来,请看我的表演~备份既然没有git,那就不用git了,直接在线上打包,ftp链接上下载,在毫无头绪的情况下,我建议直接重装。。如果你没有十足把握,建议不要送死。公司业务总结构新接口应用程序后台应用程序老接口应

2020-10-22 17:25:29 231

原创 PHP程序员如何简单的开展服务治理架构(三)

服务治理所治理的服务需要合理的部署与管理,本章我们讲一下SOA(面向服务架构),本人语言文笔不好,所以本章内容使用问答模式,参考了 [SOA面试题(http://www.jdon.com/soa/soa-interview.html)] 的面试题,通过对此站复杂的描述进行简单的讲解。概述SOA代表了面向服务架构,仅仅是一种概念,通过这种概念而演变出的各种各样的服务架构都可称为SOA架构,SOA核心的概念就是 “松耦合”。非SOA的架构多语言开发同语言开发服务与服务之间可能会是不同的开发语言或

2020-10-22 17:24:49 194

原创 PHP程序员如何简单的开展服务治理架构(二)

服务治理 治理的绝笔是服务,在一家公司有玩各种语言的程序员,如何去统一管理他们开发的服务,这是一个问题。上一章主要讲了下服务治理需要什么,如何实现,这章我们详细的“肢解”一下服务治理的一个非常重要的组员 Thrift上一章说明他的时候是这样写的暂时大可理解为可以通过它去调用其他开发语言的方法本猿人已经写好的服务治理 https://github.com/CrazyCodes/Service-Govern名词解释thrift其实是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功

2020-10-22 17:24:19 166

原创 PHP程序员如何简单的开展服务治理架构(一)

不涉及其他的语言及工具,我们从PHP本身来谈如何实现服务治理本猿人已经写好的服务治理 https://github.com/CrazyCodes/Service-Govern.git治理什么?这个专业名词很容易发现治理的是服务,而服务则是我们的项目。管理这些服务方案则叫服务治理。现在在Server上有四项服务,分别为UserServiceShopServiceGoodsServiceLiveService这些服务我们叫它服务提供者(既提供对内服务的应用)调用服务的应用我们称它为服

2020-10-22 17:23:08 209

原创 安装Nginx要从娃娃抓起

本文翻译与2017年8月26日使用configure命令配置构建。它定义了系统的各个方面,包括允许使用nginx进行连接处理的方法。最后它创建一个Makefile。该configure命令支持以下参数:–prefix=path 定义一个nginx存储的系统目录,这个目录将存储nginx的代码和配置文件。如果不设置将默认安装到 /usr/local/nginx 目录中。–sbin-path=path 设置一个nginx可执行文件的路径。默认情况下路径为 prefix/sbin/nginx

2020-10-22 17:22:39 167

原创 Laravel5.4队列简单配置与使用

概述什么是队列?百度百科是这样说的“队列”是在传输过程中保存数据的容器。举几个生活中例子:iphone手机新款发布,三里屯iphone进的新货。大家要排队买,不能说一大堆人一起冲进去,那么这店就完了。你有一大堆女朋友。你不得一个一个来,一起来你也受不了 ?C语言中堆的概念也是这样,先进先出,不能起个大早赶个晚集。回到正题:消息队列则是为大批量处理数据而准备的一个概念,他有很多实现方式,并不是单一的代码结构。这里有比较专业的一篇文章:http://www.cnblogs.com/

2020-10-22 17:22:07 331

原创 PHP使用Oracle数据库的准备工作

系统 : Linux Centos 7.0前言:想让PHP可以操作Oracle数据库,那绝对是需要安装关于Oracle扩展。php的Oracle扩展叫ocioracle扩展包下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html网页上会显示如下的下载列表:Download Oracle Database 10g Instant Client for Microsoft W.

2020-10-22 17:21:20 134

原创 优化你的PHP代码,从现在做起

前言我一生的文章都会放在这里,我的博客,我希望每一行代码,每一段文字都能帮助你。https://github.com/CrazyCodes/Blog大家好,我是CrazyCodes ,今天我们不聊工具、规范等等等等的辅助,就聊一下该如何写一段“好”的代码,本文以我的职业生涯碰到的代码为例,如有出入请在评论区提出异议,谢谢。搜索功能搜索很常见,复杂的搜索大多出行在后台,举个栗子,大概需...

2019-05-28 02:47:39 140

原创 来 ! 玩玩PHPUnit的数据库测试 (上)

前言我一生的文章都会放在这里,我的博客,我希望每一行代码,每一段文字都能帮助你。https://github.com/CrazyCodes/Blog大家好,我是CrazyCodes,今天我们来聊聊50%(不完全统计,不必纠结比例 ????)的程序员都感觉没有啥用的数据库测试。实际测试是重中之重,正常下来一个需求应当先写测试用例后实现功能代码,如果没有在开发前做测试,那你可以选择写一个错...

2019-04-16 02:17:15 258

原创 Swoole难上手?从EasySwoole开始

前言大家好,我是CrazyCodes,我没有消失,最近在准备考试,所以文章出的比较慢,请见谅有些童鞋感觉对Swoole不从下手,也不知在什么业务上使用它,看它这么火却学不会也是挺让人捉急的一件事情。Swoole:面向生产环境的 PHP 异步网络通信引擎啥是异步网络通信?异步通信简单点来说,就是一个人和一群人的关系,一个人去做十件事,需要一件一件去做,一群人去做10件事,可以分配...

2019-03-23 08:23:31 241

原创 PHP程序员如何优雅的搬砖

我一生的文章都会放在这里,我的博客,我希望每一行代码,每一段文字都能帮助你。https://github.com/CrazyCodes/Blog前言Hello , 各位Coder !在这里向各位工程师提前拜年 “新年快乐” , 距离年三十已经没有几天了,可能有些朋友还坚持在一线战斗着,有些已经回到家乡陪伴家人。北京每到这个时候都似一座空城,城与城之间表现的那么凄凉。这是年前的最后一篇...

2019-01-30 15:59:57 314

原创 2019 PHP程序员发展路线

前言新的一年,新气象。在2012年我参加LAMP兄弟连的培训,成为一名PHP程序员。那个时候PHP盛行,简直有称霸世界的迹象。当然现在我大PHP也不差。我认为成为PHP程序员的有以下三种途径。科班出身,找了一份PHP开发相关的工作自学成才 (毕竟在当时PHP入门是所有语言里最简单的)培训班出身 (就像我,不是科班,自学能力也不强,所以参加的培训学校 注:2012年的LAMP兄弟连其实不...

2019-01-08 07:08:48 156

原创 是时候了解下Travis CI是什么了

前言首先祝各位朋友新年快乐,工作顺利,事业有成,永无BUG。有些朋友一直疑惑Travis CI是个什么东西,网络上搜索后得知的答案是自动测试,自动发布。自动xx 这个名词貌似非常流行,这也是DevOps的一部分,什么?DevOps是什么?我们下一章讲讲这个。先来解释下“自动”这个词,自动顾名思义是自动完成一些事情,上述的自动测试,并不是各位认知中的人肉测试,而是通过我们自己的规则去测试,例...

2019-01-08 07:01:55 474

原创 Laravel源码解析之Model

前言祝猿人们国庆快乐,吃好、喝好、玩好,我会在电视上看着你们。根据单一责任开发原则来讲,在laravel的开发过程中每个表都应建立一个model对外服务和调用。类似于这样namespace App\Models; use Illuminate\Database\Eloquent\Model; class User extends Model{ protected $table ...

2019-01-04 08:52:27 242

原创 Docker构建程序员的日常

前言抛开Docker那些强大的功能,今天我们来部署下本地的开发环境。并写上几个脚本来提高开发效率。本章以MacOs系统的Docker演示,其他系统作者为接触过。不知是否有差别。安装傻瓜式安装,这里就不再阐述了。下载地址如下https://www.docker.com/products/docker-desktop目录创建一些目录,就如在项目开发中创建Controller,Mod...

2019-01-04 08:09:40 188

原创 Beego 文件上传至七牛云的玩法

前言Beego是一款GO语言开发的传统MVC的框架,beego对上传这块的代码封装的也非常简单易用。beego的上传贴出官方的一段代码https://beego.me/docs/mvc/controller/params.md#%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0func (c *FormController) Post() { f, h,...

2019-01-04 08:09:40 198

原创 PHP To Go 转型手记 (一)

前言作为一名PHP程序员,我感到荣幸。但在时代不断的变迁中,要具备足够的知识才可生存。那就从Go语言学起把。希望看到本篇文章的你可以对Go有一个基本的认识。本系列文章与我自己学习Go语言的方式去描述。以PHP代码与Go代码的对比加以区分理解。变量PHP// 初始化变量$domain = "blog.fastrun.cn";// 批量赋值$domain = $do...

2019-01-04 08:09:40 245

原创 PHP To Go 转型手记 (三)

前言作为一名PHP程序员,我感到荣幸。但在时代不断的变迁中,要具备足够的知识才可生存。那就从Go语言学起把。希望看到本篇文章的你可以对Go有一个基本的认识。本系列文章与我自己学习Go语言的方式去描述。以PHP代码与Go代码的对比加以区分理解。Go没有类的概念,本章在语法使用上来对比PHP与Go之间的区别。声明类PHPclass User{}Gotype User struct...

2019-01-04 08:09:40 145

原创 PHP To Go 转型手记 (终)

前言作为一名PHP程序员,我感到荣幸。但在时代不断的变迁中,要具备足够的知识才可生存。那就从Go语言学起把。希望看到本篇文章的你可以对Go有一个基本的认识。本系列文章与我自己学习Go语言的方式去描述。以PHP代码与Go代码的对比加以区分理解。这是转型手记的最后一章,在往下没办法再去写了,需要详细的看书去了解。本章以实战方式来对比以下PHP与Golang的写法。这里使用Laravel与B...

2019-01-04 08:09:40 412

原创 Laravel源码解析之路由的使用

前言我的解析文章并非深层次多领域的解析攻略。但是参考着开发文档看此类文章会让你在日常开发中更上一层楼。废话不多说,我们开始本章的讲解。入口Laravel启动后,会先加载服务提供者、中间件等组件,在查找路由之前因为我们使用的是门面,所以先要查到Route的实体类。注册第一步当然还是通过服务提供者,因为这是laravel启动的关键,在 RouteServiceProvider 内加载路由...

2019-01-04 08:09:40 220

原创 PHP To Go 转型手记 (二)

前言作为一名PHP程序员,我感到荣幸。但在时代不断的变迁中,要具备足够的知识才可生存。那就从Go语言学起把。希望看到本篇文章的你可以对Go有一个基本的认识。本系列文章与我自己学习Go语言的方式去描述。以PHP代码与Go代码的对比加以区分理解。加载PHPnamespace Actionuse ActionGopackage Actionimport "action&#...

2019-01-04 08:09:40 168

原创 你可能需要了解下Laravel集合

前言集合通过 Illuminate\Support\Collection 进行实例,Laravel的内核大部分的参数传递都用到了集合,但这并不代表集合就是好的。Laravel作为快捷并优雅的开发框架,是有他一定的道理所在的,并非因他的路由、DB、监听器等等。当你需要处理一组数组时,你可能就需要它帮助你快捷的解决实际问题。创建集合$collection = collect([1, 2, 3...

2019-01-04 08:09:40 122

原创 Laravel源码解析之反射的使用

前言PHP的反射类与实例化对象作用相反,实例化是调用封装类中的方法、成员,而反射类则是拆封类中的所有方法、成员变量,并包括私有方法等。就如“解刨”一样,我们可以调用任何关键字修饰的方法、成员。当然在正常业务中是建议不使用,比较反射类已经摒弃了封装的概念。本章讲解反射类的使用及Laravel对反射的使用。反射反射类是PHP内部类,无需加载即可使用,你可以通过实例化 ReflectionCl...

2019-01-04 08:09:40 299

原创 Laravel源码解析之从入口开始

前言提升能力的方法并非使用更多工具,而是解刨自己所使用的工具。今天我们从Laravel启动的第一步开始讲起。入口文件laravel是单入口框架,所有请求必将经过index.phpdefine('LARAVEL_START', microtime(true)); // 获取启动时间使用composer是现代PHP的标志require __DIR__.'/../...

2019-01-04 08:09:40 173

原创 浅谈重构造成的灾难性毁灭

前言这章我在7月20号的时候就准备好了标题,在那之前有写过一篇重构的文章,这段时间一直在等重构造成的弊端。庆幸的是至今也没挂掉。本章我们来聊聊重构造成的灾难性毁灭。青铜只要你确定你是一个真正的程序员,那当你接手一个新项目时,因为每个人的编码规范与风格不同,或者某块代码出现了问题,作为一名向上的程序员,总会想去重构这个项目更严重的都想重写一遍。例如下面的这类代码$status = $_P...

2019-01-04 08:09:40 176

原创 论某教育机构考试系统设计

前言近期在做一套答题系统,参考了某教育机构的设计。本章跟大家聊聊考试系统中的核心 - 如何考试?简单点说,所谓考试系统就是答题系统,通过答题完成进行判分后返回其答题结果即完成整个流程。当然过程中有些数据需要存储,有些则可在后期查询计算(个人理解),如有误导请速喷如上图所示,一套试卷有N道试题,每道试题又是由题干与选项、答案组成,这样才汇聚了完整的一套答题(考试)系统。试卷一次考试(...

2019-01-04 08:09:40 137

原创 基于业务设计数据表的总结

前言这是一篇日常开发中根据产品需求去设计数据表的总结。抛去测试、架构来说,数据表设计是指定功能开发的一个起点,如果出现失误将会对未来开发以及运行都会有很大的影响。接下来我们聊聊应该如何根据需求去设计数据表。原型图首先产品递交的绝笔是份原型图或者需求文档,这里先看原型图,根据原型图上的任意label、input汇总,再根据逻辑不同去划分为不同的块(也就意味着不同的表)。以电商优惠卷为例,原...

2019-01-04 08:09:40 478 1

原创 举枪消灭"烂代码"的实战案例

前言之前我写过一篇如何少写PHP "烂"代码 https://blog.fastrun.cn/2018/06/13/1-9/感觉很多新人对此不太理解。今天以打卡功能为例,去讲解其中的奥秘。那篇文章讲过代码开发的过程中分几种类型。增删改的需求Route -> Controller -> Service -> Action查的需求Route ->...

2019-01-04 08:09:40 255

原创 不要被集成环境束缚住你前进的脚步

前言PHP之所以被称为入门快的一门开发语言,其中一个原因是因为他有很完善的集成开发环境,无论是在Windows还是Mac os 上都可一键安装,开启PHP学习之路。我依旧记得当年入门时,仅仅的几分钟则开启了echo "Hello World"的不归路,但这也是快捷中存在的“弊端”。之所以说其存在“弊端”,是因为“集成“两字造成的,因“集成”而“集成”,会将初学者的思路封...

2019-01-04 08:09:40 137

原创 来!狂撸一款PHP现代化框架 (准备工作)

前言从本章开始,我们继续造轮子,去完成一款类似于Laravel的现代化PHP框架,为什么说是现代化?因为他必须具备一下几点遵守PSR-4编码规范使用Composer进行包管理标准的HTTP请求方式优雅的使用设计模式开始我们无需关心性能问题,先考虑框架具体需要实现哪些功能,这与实现业务就大不相同了,来!开始我的表演。前期做任何一件事情都要有个前期准备工作。作为PSR-4的...

2019-01-04 08:09:40 354 1

原创 “生于忧患,死于安乐”之程序员人生

前言这本是《孟子》的一首诗词,拿来用有些惭愧。废话不多讲,本章我们聊聊“生于忧患,死于安乐”忧患上天要把重任降临在某人的身上,一定先要使他心意苦恼,筋骨劳累,使他忍饥挨饿,身体空虚乏力,使他的每一行动都不如意,这样来激励他的心志,使他性情坚忍,增加他所不具备的能力。程序员是如何成为程序员的大伙有考虑过吗?我自认为是这样的小学 -> 初中 -> 网吧 ->...

2019-01-04 08:09:40 192

原创 来!狂撸一款PHP现代化框架 (路由的设计)

前言上一篇的标题改了一下,以一、二、三为章节对读者来说是种困扰,现在的标题是依照项目进度来编写的。上篇文章地址为 https://segmentfault.com/a/1190000017278828这一系列文章并不准备写太多章节,大概规划的只有4~5章左右,具体实现代码还请移步Githubhttps://github.com/CrazyCodes/z_framework本章详细讲解一下...

2019-01-04 08:09:40 295

原创 我与Jetbrains的这些年

前言本章主要说一下如何去使用Jetbrains的各类工具,并且在上周参加了Jetbrains开发者日的大会,把参会的感受和体验在这里分享给各位。话不多说,我们进入正题。使用想必各位一定使用过Jetbrains的任意一款产品,就算没用过也应该听说过吧。Jetbrains从开始至今总共分为三大模块Developer Ide (集成开发工具)Language (Jetbrains的开发语言...

2019-01-04 08:09:40 293

原创 Supervisor 从入门到放弃

前言Supervisor是一个客户端/服务器系统,允许其用户在类UNIX操作系统上控制许多进程。(官方解释)简单点来讲,就是一个监控脚本运行的工具,不过他可以统一化管理,laravel的队列文档上也有相关使用方式方法,例如定时脚本的启动、重启、关闭和日志监控swoole的启动、重启、关闭和日志监控 (众所周知,swoole大部分的特性都只能在cli中运行)redis的启动、重启、...

2019-01-04 08:09:40 193

原创 通用系统设计之优惠卷

前言本应该继续连载手撸框架系列文章的。但最近有一个需求 -> 优惠卷,之前很多朋友让我出一篇优惠卷相关的文章。这不,本章应了大伙的愿。开始我自己的表演 ????????额,这里还要插一句,有很多新人感觉在使用框架的过程中根本用不到PHP的很多概念,例如abstract,final 部分人感觉protected,private 都没有太大用处。更别提interface在框架中的使用了,感...

2019-01-04 08:09:40 174

原创 [积德篇] 如何少写PHP "烂"代码

写给初生牛犊不怕虎的童鞋们,大佬可随意摘看本章基于PHP Laravel前言经常会有人问目录如何设计比较好?代码如何分布好?怎么写一个可维护的项目?“烂”项目我也没少写,以下是参考互联网各大佬的文章总结及个人开发经验而来.ControllerController顾名思义是控制器,在入门PHP的时候,就知道Controller代表MVC中的C层,MVC本身的概念就代码分...

2019-01-04 07:13:46 149

原创 MySQL常用系统表汇总

概述本篇文章虽大部分内容为参考原文作者的相关内容,但对原文对于文章的逻辑与排版上进行了大范围修改,方便阅读与理解。原文链接在底部MySQL5.7 默认模式库名表数量视图数量information_schema610mysql320performance_schema870sys1100Information_schemaInf...

2019-01-04 06:47:08 442

空空如也

空空如也

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

TA关注的人

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