- 博客(11)
- 资源 (3)
- 收藏
- 关注
原创 PHP学习系列 -- 常见的系统预定义常量
一、背景最近在看公司内部一PHP框架源码时发现了一个PHP_SAPI常量,看名字应该是sapi相关的常量,具体是什么不太确定,加上PHP还有一些其他的系统预定义常量,自己也老是记不住,特写篇博文记录一下。二、常见系统预定义常量__FILE__ 当前PHP文件的绝对路径 __LINE__ 在当前PHP文件中所处的行号 __FUNCTION__ 当前函数名,只对函数内调用起作用 __...
2018-11-30 08:36:06 560 2
原创 面向对象五大设计原则以及常见设计模式总结
尽管本人已经从事OOP编程好几年,但对于OOP编程的很多精髓依旧了解不深。加之最近项目不紧,特抽出时间总结一些面向对象设计原则以及设计模式的相关内容,加深自己的理解同时也希望可以帮到其他人。note:编程是一门技术更是一门艺术,艺术来源于生活又高于生活。下面介绍的很多东西很多都可以和我们的日常生活紧密结合起来,建议大家从身边寻找原型。一、三大特性面向对象的三大特性:封装、继承、多...
2018-11-30 08:26:37 1058
原创 Mysql学习系列 -- 查看/修改事务隔离级别
MySql默认的存储引擎是InnoDB,并且InnoDB是支持事务的。事务具有ACID四大特性,其中I就是隔离性。隔离有四个级别,MySql默认的事务隔离级别是'REPEATABLE-READ',也就是可重复读。OK,下面一起来看一下如何查看以及修改会话/全局隔离级别。1.查看当前会话隔离级别select @@tx_isolation2.查看系统当前隔离级别select @...
2018-11-29 13:21:08 707
原创 软技能--代码之外的生存技能 -- 读后感
上学时老师总是习惯性的要求我们在阅读过一篇文章之后、看过一部影片之后、某次游玩之后等等之后写一篇总结或者读后感。其中,写读后感更是一个很好的习惯。关于读书的好处人尽皆知,那你知道写读后感的好处吗?个人觉得,写读后感可以培养自己的独立思考能力,增强对社会的认知,完成一次思想的升华,好处多多。可是自己并没有将写读后感的好习惯坚持下来。现在算起来,距我上一次写读后感已经有差不多十年之久了。现...
2018-11-26 08:24:17 500
原创 PHP学习系列 -- include(require)注意事项
一、背景好的框架、设计会遵循高内聚低耦合的设计原则,解耦模块、组件、类之间的依赖关系,做到代码的可复用。PHP里的代码复用有多种形式,今天我们先以常见的include/require文件包含为例一起学习一下文件包含复用的相关知识,希望对大家有所帮助。二、学习1. 基础知识学习include/require都是用于文件的包含操作,与之对应的还有include_once/requi...
2018-11-23 14:11:21 717
原创 如何提高线上服务可用性
上一篇文章中我简单介绍了一次线上服务的可用性下降追查过程,今天我们接着上次的内容来学习如何保证服务的高可用性。具体分为开发阶段、测试阶段、上线阶段、监控阶段等几大项。这些内容就像是一套组合拳,练好了你也是一个江湖高手了。哈哈!一、开发阶段遵循(公司/业界)代码编写规范,并通过git进行版本管理;代码git 合入前需要经过他人的code review;经过专业漏洞扫描工具的评估,不存在明...
2018-11-22 21:59:31 7981 1
原创 Git学习系列 -- 拉取远程的分支
背景开发中我们需要使用git clone来拉取远程的分支,但是默认拉取的是master分支,本地除了master分支之外并没有其他分支。而我们在做项目开发时一般会另起一个分支做开发,如dev分支。上面已经说了,本地除master分支之外并没有其他分支,我如何同步dev分支上的代码呢?解决方案方案1: 在本地创建并切换到dev分支,然后pull远程的代码。git check...
2018-11-21 23:11:03 342
原创 线上服务可用性骤降追查
背景下午五点多收到某线上服务可用性骤降的报警:499比例超阈值。查看监控发现服务可用性在各个idc均有下降;服务500错误码比例飙升。问题追查登上(刚开始还可以远程登录)单台机器查看PHP的Fatal日志:某脚本执行时间超过php-cgi最大执行时长(30s)。查看该脚本发现该脚本在特殊场景下会触发死循环,造成php-cgi进程一直在执行,直到达到设置的最大执行时长。 服务的上游有超...
2018-11-21 22:55:21 2105
原创 PHP学习系列 -- 新增$_SERVER环境变量
背景原有项目要进行IPV6的升级,在原有日志基础上新增IPV6字段信息; 服务端预期通过$_SERVER['IPV6']获取IPV6信息; Web Server为Nginx;需求 上游透传IPV6信息并在$_SERVER中新增IPV6字段。解决方案关于上游透传IPV6的详情不是我们关注的终点,忽略介绍。针对$_SERVER中新增IPV6字段,有修改Nginx配置以及ph...
2018-11-20 18:08:26 732
转载 Vue学习系列 -- Top 30 开源项目
背景:之前负责的一个内部平台需要进行升级改造,而FE人力紧张,无人力投入,且前端是用的Vue写的。项目简单,排期较长,由后端RD统一进行开发。本人一直从事的是后端工作,对于前端工作了解的很少,对于Vue更是知之甚微,决定先进行Vue基础知识的了解,然后结合开源项目加深对Vue的了解。下面是从其他地方看到的一些比较好的Vue开源项目,共同学习、了解一个。在过去的一年中,我比较了近30...
2018-11-19 09:58:30 711
原创 浅谈架构、框架、模式、模块、组件、插件、控件、中间件
软件开发中,你常常会听到技术架构、开发框架、设计模式、代码模块、中间层(件)、可插拔组件等等计算机行业的专有名词。这些名词和我们的开发工作息息相关,如果你想要在开发领域做的更好、走的更远,你必须要对这些专有名词有一个大概的了解。1、架构架构也成称为软件体系结构。简单地说就是一种设计方案,将用户的不同需求抽象成组件,且能够描述组件之间的通信和调用。软件架构会分析工程中的问题,针对问题设计解决...
2018-11-08 14:17:39 3754
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人