Category: 后端开发

如何使用MySQL保存一个图片并且用PHP得到它 0

如何使用MySQL保存一个图片并且用PHP得到它

首先,我要说的是把一个图片保存在MySQL中,再读出来是一个很不推荐的做法。我们只是看看假如真的要这样做,该如何做,最后我会和大家聊聊一般我们如何处理这种使用情况,以及不推荐这样做的原因。 首先图片是一个BLOB(Binary Large Object)是可以用来存储二进制的数据。这就是用来保存图片,文件等等的数据。因为这种object通常都很大,所以我们需要定义一个很大的域来保存信息。如何通过PHP来插入呢,其实很简单: 1)读取图片成二进制...

0

Database数据一致性介绍

数据一致性的场景很简单,假如我们把一个值赋给一个变量,那么我们之后立即再去读这个变量,突然发现它的值和我们想象的不一致,是不是很沮丧,对的,这就是数据的一致性。 而在使用分布式的数据库的时候,尤其是那些对数据一致性不是很严格保证的情况下,这种情况经常会发生。也许你会问,什么?难道他们不应该给我们保证数据是一致的吗?我的回答呢,总得来说最后他都会能够保证的,但是这个中间的间隔时间则是取决于不同数据库的实现。 它们这样做是因为有一个trade off在里面,有些数据库为了提供可靠性和性能,则会牺牲掉一致性的保证。而有些数据库则允许你进行选择,你是要强一致性还是要高性能,比如Azure的cosmos DB和Cassandra。...

0

Protobuf和gRPC基础介绍

本文将会讨论一下Protobuf,以及最简单和便捷实现protobuf的gRPC。 什么是protobuf 在官网介绍中,Protocol Buffers是Google用来进行序列化数据的一个机制,他和语言无关,也独立于平台。就和JSON类似,但是它比JSON要更小,更快更加简单。你可以自己定义如何组织你的数据,然后你就可以使用相关的代码来很方便地进行数据的读写。 目前有两个版本的proto,分别是proto2和proto3....

2020年web开发(前后端)路线图 0

2020年web开发(前后端)路线图

2020年最新的Web开发路线图已经出炉了,这个路线图主要分成四个部分:通用的技能,前端技能,后端技能以及Devops。通用技能就是所有人都需要知道的,而前后端技能则是根据你的选择来学习,当然假如你的目标是全栈工程师的话,那前后端技能都是需要学习的。 本文的路线图其实是由Kamranahmedse制作的,他发布在他的github上。 通用技能 不管你是想做前端还是后端,有一些通用技能是都需要学习的,如下图所示: Git...

0

如何通过重试来改进你的后端API call

无论你是从Node.js还是浏览器调用一个API Call,连接失败总是会发生。有些request的失败是有效的,也许endpoint有问题,或者客户端发送了一个错误的数据。另外一些则是连接的问题,比如连接到服务器的问题,或者是这之间的某一个节点出现了问题。虽然API和web服务检测可以看到这些问题,但是一个更好的方案也许可以处理这个问题。 解决这个问题,你可以在你的HTPP调用中假如一个重试的机制。这可以让你的API调用成功。有些库,比如got,就支持失败的重试,而另外一些库,比如axios,则需要一个独立的插件。但是假如你的库不支持这个,那么可以参考这篇文章。我们将基于返回的status来决定如何重试一个请求。 重试的基础 决定何时需要重试一个request,我们需要知道正在找寻什么。有很多HTTP...

0

怎样把一个付费的ETA服务变成三个免费的服务

这篇文章是关于我如何不花一分钱用三个免费ETA(预测到达时间estimated time of arrival)服务取代一个的。所有的一切都是基于我在GoDee这个项目中后端开发的经验。GoDee是一个创业项目,他可以提供在线的巴士位置预订服务。关于这个项目你可以在这里查阅更多的信息。 历史...

REST API设计的五个小建议 0

REST API设计的五个小建议

一个很好的API设计是非常难的,他需要维护向后的兼容,有效的测试,处理API的升级等等。希望这篇文章能给你以帮助。 毫无疑问,API已经成为系统信息交互的一个重要渠道,同时也是系统内部各个模块有机组成的重要部分。 这篇文章,就和大家分享一下我在REST API设计和实现中所遵循的一些建议: 能使用客户端的SDK就不要自己重写代码...