为了省钱,我用 1 天时间把 PHP 学完,装进 DDD 领域驱动设计里!

做者:小傅哥
博客:https://bugstack.cnphp

沉淀、分享、成长,让本身和他人都能有所收获!😄

1、前言

你在通往架构师的路上吗?html

程序员这个行业就像是在不断的打怪升级,突破每一阶段的瓶颈期。前端

从毕业前想经过实习拿到offer、毕业后想经过试用期到转正留下、转正后程序员想作到高级开发、从高级该开发想作到架构师、从架构师想作到更高的总监或者CTO。日后的路愈来愈不容易,既须要须要我的不断的沉淀学习,也须要必定的机遇机会。java

在这条路线上架构师是一个瓶颈期的重要转折点,由于这个阶段远不止我的的技术栈学习,还有不少其余能力,几乎能够包括的有以下几点;mysql

  1. 有中大型项目开发落地经验
  2. 有可靠的交付质量和统筹能力
  3. 能解决复杂项目的架构设计和推动执行
  4. 有必定的技术广度和深度,改的了bug,处理的了事故
  5. 定得了规范、设计了架构
  6. 有必定的认知范围,熟悉业务、产品和运营,了解运营规划和业务发展
  7. 带得了小组,推动项目落地和组内技术成长
  8. 有必定的专业影响力,能用技术创造价值
  9. 有紧急状况的应对能力
  10. 流程规范制定、方法论、开源项目的相关经验

一个技术架构师要求可能不仅这十点,还有不少软实力。但这些很难经过培训或者上课学来,由于这些能力都是实操经验,须要长时间的磨练。laravel

其实即便没有架构师也不会缺乏系统架构,这样的小组并不须要养一个架构师,不少都是成套的快速搭建的技术,尤为像 SpringBoot 一整套服务,很适合小型公司使用。程序员

但若是有很是复杂的系统架构和业务场景设计,包括几十个系统的分组安排开发,提供支撑上百万的QPS、秒杀的活动瞬时就有几万、以及须要随着业务发展扩展到能够支撑几百万DAU的后台服务。就须要架构师来总体把控,由于他能够从下单、到交易、到支付、到结算、到活动、到玩法,怎么支撑、怎么设计,提供出一整套的解决的方案,那么这个体量复杂程度的系统,就不在是一个小做坊团队能承担下来的了。算法

2、技术栈闭环学习

你的技术能力足以支撑整个系统吗?sql

小傅哥,技术闭环

其实不少程序员👨‍💻‍大部分都被局限在产品的PRD里,除此以外对整个全局并无太多的认知。并且只是在技术范畴内也一样被限定在某个语言下,好比后端研发基本开发不出一个完整的前端页面、前端同窗一样也写不出后端接口。thinkphp

固然在某个技术语言下深扎不必定是什么坏事,甚至可能还有一番创造和成绩。只不过缺乏了全局的认知和了解,在某些时候会被限定到一个瓶颈期里,在想成长到下一个阶段就很难了。

或者更简单的说,你能用你所会的技能搭建出一个技术博客吗,并运营起来。若是你没作过这件事,那么从你开始到完成你会发现。你须要的不仅是java,还有UI设计,还有前端页面,还有服务器等等一套技术来支撑。同时,在某些时候你会为选择用 java 仍是其余语言而纠结,由于我的博客的服务器也是要付费的,java 服务器的费用一般会贵一些。

因此,若是你的未来想本身作点什么,就不要只被局限在某个技术里,也不要被局限在某个领域中。了解了解业务熟悉熟悉运营也尝试学学UI,这些知识的学习都远比浪费可靠。

3、我那折腾的成长经验

讲道理,其实我是一个很爱折腾的程序员,固然别的事上我也爱折腾,尤为发明创造类的。

小时候我会把不少东西拆喽,拿里面的电机等小东西,在作一些玩具。好比;能够下水的电动小船、能够滑冰的小冰车、还有一些懒人小工具等。

随着这样的性格到学编程也是这样爱倒腾,从初学编程就想着要本身作网站。从只会个html就开始买域名、备案、上线网站、装b分享,这一套组合拳就开始折腾到如今。直到有了目前这个稳定的技术博客网站 bugstack.cn 。这些让我学到了不少额外的知识,也拓展了不少的黑技能。

1. 我有一个博客引流

假如你有一个流量还能够的技术博客,又新申请了一个公众号,想把公众号作起来。那你会怎么作?

是不会想到在技术博客找块显眼的区域,放置一张公众号二维码?但这样的方式其实并不会有太多人关注,从如今比较流行话的来讲,关注不关注并不会影响到用户的利益。

因此,咱们更但愿的是在保证用户体验的状况下,尽量的引导用户主动关注。那么最好的方式就是用户阅读文章时提醒关注,若是没有关注只能阅读文章的30%内容,关注便可阅读全文。就像下面这样的效果,以下;

小傅哥,博客引流

这个效果最终的结果就是用户在阅读文章时,能够引导用户关注公众号发送指定的编码进行解锁,解锁后容许用户阅读,流程以下;

小傅哥,技术流程图

2. 为了引流要付出多少成本?

小傅哥,服务器成本支出

这是使用Java语言,开发一个把博客用户引流到公众号服务,一年大概的成本。固然不一样的云服务厂商的价格以及活动时略有不一样,但按照每一年的平均价格计算,大概会在1800.00元左右。

这个钱💰也不是太贵,但放在整个成本核算的服务里,这样的投入就是蛮高的了。除非你的公众号收入能够抵消这部分投入,而且还有一些收益那么是能够的。另外这里咱们尚未计算人工投入,对号主就是那个多种角色的人工:产品 + 研发 + 视觉 + 业务 + 运营 = 号主!

可能你不知道,Java服务是贵一些,但还有php的服务器便宜呀,价格差多少呢?以php的虚拟机为例,一年的价格是198元。并且这个php虚拟机还包括了1G的数据库资源,与java服务器相比确实很省钱。

因此,选择php开发这套公众号与博客打通的后端服务,就显得很是适合。

3. 使用PHP搭建DDD四层架构

好多年前我也自学过PHP,得益于那句:”php是全世界最好的语言!“。

由于在这条学习的道路上爱折腾,因此C++、C#、PHP、PLC、中继器等也都开发过。但过久不用因此也忘的7788了,可为了能省钱我用一天时间把PHP又学会了

其实有了必定的编程经验,语言之间是有必定的类似度的。你只要按照你的想法实现便可,任何一个语言都会提供给你相应的实现方式,不知道?搜就能够!就像下面这个PHP的领域驱动设计四层架构,与Java非常类似。以下;

小傅哥,PHP与领域驱动设计

咳咳,这里我没有选择使用php的一些框架,例如 thinkphp、laravel等。毕竟框架对我来讲开发一个公众号的后端服务,仍是稍显笨重。按照个人想法逻辑,搭建一个DDD四层架构按照我实现Java的方式实现PHP代码便可。实现方式也会很是快,最后只花了1天时间就把整个服务写完并部署上。这包括;代码开发、数据库配置、服务上线、接口切换、SSL、跨域等。因此,我一直想说不要只作个工具人,要铺设的全面一些!

例子,让你看看如今的PHP与Java像不像;

  1. 定义方法名称用function,public function entry()
  2. 构造函数public function __construct(),能够初始化一些信息
  3. 字符串用点链接,$openId . "_" . $token
  4. 接口用interface定义,interface LogicFilter
  5. 类的引入包,require_once
  6. 方法调用用指针,$this->msgEngineHandle->process($behaviorMatter);
  7. 数据库链接,new mysqli()
  8. 定义属性,var $openId;
  9. 获取入参,$_GET['token']
  10. 输出结果反馈到接口,echo

... 等等,还有不少。你全部的逻辑实现只要在Java里能够的,PHP也都有相应的支持。这就是语言建设的规范,并在某些命名也是保持统一的。

4、总结

  1. 这呢就是我在10.1放假的最后一天,把Java语言开发的公众号后台,切换成PHP的经历。但代码结构没变,依旧是我喜欢的DDD领域驱动设计。重要的是省钱了!,这里还有一个Java版本的公众号后台开发。Java版DDD四层架构,开发公众号服务端
  2. 若是你但愿本身,不仅是编程这条路上的PRD工具人。那么必定要大力的铺设本身的技术栈和其余不仅是研发的开发能力。当你真的去了解业务、运营、产品后,相信你能够写出更加符合市场的代码。同时这些软技能,能够帮助你走向更高的阶梯!
  3. 好车上道都不响、破车上路才叽里呱啦的!不管你在哪一行或者哪一方向努力,均可以默默的坚持着。能够在一条路上走的好久,总比天天都想着换方向要重要的多。不要作一个简单的男人,加油!
  4. 对了,在打个广告😄🤣;

    • 15年,会Netty就能去大厂
    • 16年,懂分布式开发就能去大厂
    • 17年,熟读Dubbo源码就能去大厂
    • 18年,会写中间件就能去大厂
    • 19年,会算法就能去大厂
    • 20年,上 bugstack.cn 学习,就能去香河大厂

5、系列推荐

相关文章
相关标签/搜索