起因

很多情况下不同的用户有着不同的时区,那么在laravel中该怎么去管理不同用户之间的时区切换呢。

用UTC来时区管理

可以统一使用UTC时间来管理时区。因为通过UTC(世界协调时间)可以轻易的将时间转换成任意时区的时间,所以laravel中默认设置的时区就是UTC。

那么该如何正确使用UTC时间呢?首先数据库里的时间必须要统一存储成UTC时间,而不能是其他时区的时间。其次在读取数据的时候需要将时间转换成对应用户时区的时间,下面这段代码就是将用户的create_at(UTC)字段转换为用户所在时区(Asia/Shanghai)的时间。

阅读全文 »

什么是oauth

oauth 是一种授权机制,主旨是给予访问者特定的权限访问对应的资源(例如获取头像名字等信息)

oauth 实现方式

oauth 有四种方式去实现分别是授权码式、隐藏式、密码式、凭证式,其中授权码式是最常用的授权方式

1.授权码式
发放一个授权码,通过授权码获取token,然后通过token来获取对应的资源信息
2.隐藏式
授权完之后直接发放token给客户端(跳过授权码步骤)
3.密码式
客户端传用户的账户密码来获取token
4.凭证式
直接发放token

阅读全文 »

unix:///tmp/supervisor.sock no such file

先查看supervisord进程

1
ps -ef | grep supervisord

会出现

1
2
root         718       1  0 Nov27 ?        00:01:56 /usr/bin/python3 /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
vagrant 70241 70188 0 09:32 pts/0 00:00:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox supervisord
阅读全文 »

linux 文件权限概念

linux 文件权限主要是为了保护文件限制用户访问,主要分为3个部分所有者权限,同组权限,其他用户权限。

查看文件权限

命令

1
ll
阅读全文 »

MQTT基本概念

什么是MQTT

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是一种轻量级的、基于发布/订阅模式的通讯协议,专为物联网(IoT)设计。其主要特点包括轻量级、低延迟、支持多种质量服务(QoS)级别、高效的发布/订阅模型以及良好的网络适应性。(轻量级的发布订阅通讯协议,具有低延迟、多种qos(质量服务级别、良好的网络适应性的特点))

MQTT与其他协议(如HTTP)相比,有何主要区别?

MQTT和HTTP在设计理念、使用场景和性能特点上有显著不同。MQTT基于发布/订阅模式,适用于带宽有限、延迟敏感和不稳定的网络环境,如物联网设备;而HTTP基于请求/响应模式,主要用于网页浏览、文件传输和API服务。MQTT协议头小,消息开销低,支持长连接和多种QoS级别,而HTTP协议头相对较大,适合传输大数据,如文件、图片等。

阅读全文 »

什么是共享订阅

共享订阅是在多个订阅者之间实现负载均衡的订阅方式

1
2
3
4
5
                                                    [subscriber1] got msg1
msg1, msg2, msg3 /
[publisher] ----------------> "$share/g/topic" -- [subscriber2] got msg2
\
[subscriber3] got msg3

共享订阅避免了多个订阅者重复消费消息的问题

共享订阅方式

阅读全文 »

什么是token

Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

特点

  • token本身无需存储数据,直接去数据库验证用户对应的token对不对的上
  • 需要维护token状态,所以可以实现指定令牌作废的功能

如何实现

阅读全文 »

php

PHP7 和 PHP5 的区别,具体多了哪些新特性?

1、性能提升:php7比php5性能提升了两倍

2、以前的许多致命错误,现在改成抛出异常

3、php7新增了空接合操作符(??)

阅读全文 »

下载安装oh my zsh

1、下载oh my zsh

1
git clone https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh

2、复制配置文件

1
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
阅读全文 »

1、启动时报错 Stderr: VBoxManage.exe: error: Not in a hypervisor partition (HVP=0) (VERR_NEM_NOT_AVAILABLE).

解决步骤:

1、先检查虚拟化是否启用,如果已经启用则该解决方案不适用。

打开任务管理器,选择性能选项则可以看到虚拟化是否启用

2、确认好虚拟化未启用后重启电脑进入bios开启虚拟化,不同的品牌的主板进入bios和开启虚拟化的方法请自行百度

阅读全文 »
0%