漫谈 PHP 组件、框架、Composer 那些事

优秀的PHP组件具备以下特性:

  • 作用单一:专注于解决一个问题,而且使用简单的接口封装功能
  • 小型:小巧玲珑,只包含解决某个问题所需的最少代码
  • 合作:PHP组件之间可以良好合作,组合在一起实现大型项目
  • 测试良好:本身提供测试,而且有充足的测试覆盖度
  • 文档完善:应该提供完善的文档,能让开发者轻易安装、理解和使用阅读全文→
标签: composer

smarteng 发布于 2021-09-16 11:47

Golang后台单元测mock网络测试

这是Go语言单元测试从零到溜系列教程的第1篇,介绍了如何使用httptest和gock工具进行网络测试。
在上一篇《Go单测从零到溜系列——0.单元测试基础》中,我们介绍了Go语言编写单元测试的基础内容。
而实际工作中的业务场景往往会比较复杂,无论我们的代码是作为server端对外提供服务或者还是我们依赖别人提供的网络服务(调用别人提供的API接口)的场景,我们通常都不想在测试过程中真正的建立网络连接。本文就专门介绍如何在上述两种场景下mock网络测试。阅读全文→

标签: golang test

smarteng 发布于 2021-09-15 08:59

Golang后台单元测基础

这是Go语言单元测试从零到溜系列教程的第0篇,主要讲解在Go语言中如何做单元测试以及介绍了表格驱动测试、回归测试,并且介绍了常用的断言工具。阅读全文→

标签: golang

smarteng 发布于 2021-09-15 08:53

一文读懂go mod依赖管理

早期 Go 语言单纯使用 GOPATH 管理依赖,但 GOPATH 不方便管理依赖的多个版本,后来增加了 vendor,允许把项目依赖连同项目源码一起管理。
但是 vendor 也有不足,就是项目依赖关系不清楚,依赖包升级困难,这也催生了众多依赖管理的工具,呈现百家争鸣之势。
直到 GO 1.11,官方才推出了依赖管理工具 Go Module,逐渐一统江湖,从此 GO 依赖管理走向第3个时代。阅读全文→

标签: golang Module

smarteng 发布于 2021-09-14 19:37

如何加速golang写业务的开发速度

golang写业务代码经常会被吐槽,写业务太慢了,其中最大的吐槽点就是,处理各种error太麻烦了。一个项目中,会有30%或者更多的是在处理error。
对于golang的error这个事情,golang的官方也说的很详细,建议函数返回error,并且让上层调用处理。
error和panic实际上就是以前写PHP业务的时候争论的使用errno还是exception的争论。实际上,后续在PHP世界里面,大家都倾向于会使用exception来做错误处理。不知道为何,在golang这个环境中,好像网络上更倾向于使用error的机制。阅读全文→

标签: error 效率

smarteng 发布于 2021-09-14 17:06

PHP8新特性

JIT作为PHP8最重要的特性,又进一步提升了PHP执行的速度,从图中可以看到,JIT在opcache的基础
上,又进一步可以将一些高频执行的函数解析成机器码,直接交给CPU,而无需经过Zend虚拟机。官方给出的提升效果最多可以达到PHP7.x的3倍左右。那么如何开启JIT呢?当然离不开PHP的配置文件php.ini。阅读全文→

标签: php

smarteng 发布于 2021-09-14 15:58

shell脚本定时清理PostgreSQL数据库中历史数据

在系统日常运行中,会产生大量的日志,日志表会越来越加庞大。特别是对于云服务器使用者来说,每一块的空间都是很宝贵的。所以定时清理掉无用的历史日志,就显得很有意义了。其实实现数据库的日志清楚,有很多方法,最简单的就是配置一个数据库定时任务,定时删除旧数据就行。但是数据库定时器缺乏灵活性,如果需要修改时间节点。就需要重新修改编译定时器,对于维护人员来说,可操作性不强。本文主要介绍使用shell脚本读取配置文件,通过cronjob来实现。阅读全文→

标签: 无密码

smarteng 发布于 2021-09-14 14:25

【计算机科学速成课】- 第四十章奇点,天网,计算机的未来-The Singularity, Skynet, and the Future of Computing

Hi, I’m Carrie Anne, and welcome to Crash Course Computer Science!
(。・∀・)ノ゙嗨,我是 Carrie Anne N 欢迎收看计算机科学速成课!

We’re here: the final episode!
我们到了 最后一集!

If you’ve watched the whole series,
如果你看了整个系列,

hopefully you’ve developed a newfound appreciation
希望你对计算机影响的深度和广度 N 有全新的认知和欣赏阅读全文→

标签: Future 天网

smarteng 发布于 2021-09-14 11:39

【计算机科学速成课】- 第三十九章教育科技-Educational Technology

Hi, I’m Carrie Anne, and welcome to Crash Course Computer Science!
(。・∀・)ノ゙嗨,我是 Carrie Anne N 欢迎收看计算机科学速成课!N

One of the most dramatic changes enabled by computing technology
计算机带来的最大改变之一 N 是信息的创造和传播能力

has been the creation and widespread availability of information.
计算机带来的最大改变之一 N 是信息的创造和传播能力阅读全文→

标签: video

smarteng 发布于 2021-09-14 11:38

【计算机科学速成课】- 第三十八章计算机心理学 - Psychology of Computing

Hi, I’m Carrie Anne, and welcome to Crash Course Computer Science!
(。・∀・)ノ゙嗨,我是 Carrie Anne \N 欢迎收看计算机科学速成课!

So, over the course of this series,
在这个系列中,

we’ve focused almost exclusively on computers –
我们聊的话题几乎全是计算机-比如电路和算法阅读全文→

标签: video

smarteng 发布于 2021-09-14 11:38

【计算机科学速成课】- 第三十七章机器人-Robots

Hi, I’m Carrie Anne, and welcome to Crash Course Computer Science!
嗨,我是 Carrie Anne,欢迎收看计算机速成课

Today we’re going to talk about robots.
今天 我们要讨论机器人

The first image that jumps to your mind is probably a humanoid robot,
你脑中冒出来的第一个印象估计是 类人机器人阅读全文→

标签: video

smarteng 发布于 2021-09-14 11:37

【计算机科学速成课】- 第三十六章自然语言处理-Natural Language Processing

Hi, I'm Carrie Anne, and welcome to Crash Course Computer Science!
(。・∀・)ノ゙嗨 我是Carrie Anne,欢迎收看计算机科学速成课

Last episode we talked about computer vision
上集我们讨论了计算机视觉 - 让电脑能看到并理解

  • giving computers the ability to see and understand visual information.
    上集我们讨论了计算机视觉 - 让电脑能看到并理解阅读全文→
标签: video

smarteng 发布于 2021-09-14 11:36