PHP-Casbin 是一个非常流行的权限控制框架,支持ACL
RBAC
ABAC
等权限控制模型。
它使用 Matcher
中配置的表达式来做权限决策,不仅提供了非常多的内置函数,而且还可以在Matcher
中指定自定义函数。
PHP-Casbin 是一个非常流行的权限控制框架,支持ACL
RBAC
ABAC
等权限控制模型。
它使用 Matcher
中配置的表达式来做权限决策,不仅提供了非常多的内置函数,而且还可以在Matcher
中指定自定义函数。
列表(List),就是存放一组数据的列表,就相当于我们编程语言中所使用的数组
。列表
顺序就是插入的顺序,可以从列表的头部
插入元素,也可以从尾部
插入元素。
Redis
中一个列表最多包含 2 的 32 次方 - 1 (4294967295)个元素。
随着互联网的高速发展,人们对安全的要求也越来越高。密码学中两大经典算法,一个是对称加解密,另一个是非对称加解密,这里就来分享一下非对称加密算法的代表:RSA加解密。
在Go语言中实现RSA
加解密还是比较简单的,网上很多教程都是基于Go原生标准库写的,代码量较多。这里分享一个好用的库:https://github.com/forgoer/openssl 。
go get https://github.com/forgoer/openssl
秘钥可以生成在文件里,也是生成到Buffer里,只要实现了io.Writer
即可。
今天又加班了,趁睡前10分钟,抽空记录一下git常用命令。
git
是程序开发人员必不可少的工具,前一天在v站看到有人吐槽几年经验的前端不会git
。
其实也没什么,只是一个工具而已,可能人家之前的工作并不需要git
罢了。对于一般开发者而言,掌握几个基本的git
命令就够用了。
快速安装,到底有多快?
这里以目前最新的PHP8.2为例,我的电脑尝试了一些10分钟之内搞定,如果网络好可能更快。
PPA个人软件包存档(Personal Package Archive)是一项服务,允许用户上传使用Launchpad构建和发布的Ubuntu源软件包作为apt信息库。
为什么要添加PPA存储库,因为Ubuntu系统带的镜像库中PHP的版本太旧,没有最新的PHP版本。
HmacSHA256
加密算法比较常用的加密算法之一,它比MD5更加安全。HmacSHA256也是微信支付推荐的加密方式。
在Go语言中实现HmacSHA256
还是比较简单的,虽然没有PHP
的hash_hmac
一个函数搞定的方式简单,但比起Java
中的实现还是简单不少。
npm
是前端开发常用的包管理工具。
如果需要依赖第三方包时,直接使用npm安装npm仓库中的包,但在日常工作和学习中,如果没有将开发好的包发布到npm仓库怎么办呢?
那么,可以是npm
直接从git仓库进行安装,即便是内部的私有git仓库,也是支持的。
数组,是一组固定长度的、同类元素的集合。
固定长度,声明时指定长度,长度不可以改变。
同类元素,数组中的元素必须是同一类型的
数组的声明,比如:声明一个长度为3的、元素类型为string
的数组:
在日常项目开发中,经常需要判断一个文件的类型,比如图片上传时,判断一个图片是否是jpg
、png
等。
如果单纯更改文件名的后缀取判断,这并不推荐,因为文件的后缀是可以随便修改的,如果是恶意程序伪装成.jpg
图片上传,那会存在很大的安全隐患。
判断文件的真实类型就是获取文件的MIME类型,一般获取文件内容的前几个字节就可以确定它的MIME类型了。
Go语言是Google推出的一个全新的编程语言,在2009年11月正式对外发布。经过快速迭代,2012年3月28日,Go发布第⼀个正式的稳定版本。
出身名门的go语言,吸收了其他语言的特点,是一种并发的、带垃圾回收的、快速编译的语言。
FTP 是 File Transfer Protocol 的缩写,用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。
vsftpd 是“very secure FTP daemon”的缩写,它是UNIX 类操作系统上的一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。
这里使用yum
快速安装:
composer.json
记录了项目中依赖库的关系、版本信息、其他数据等。
{
"name": "phpoffice/phpspreadsheet",
"description": "Read, Create and Write Spreadsheet documents in PHP",
"keywords": ["PHP", "OpenXML", "Excel", "xlsx", "xls"],
"type": "library",
"license": "MIT",
"authors": [
{
"name": "Maarten Balliauw",
"homepage": "https://blog.maartenballiauw.be"
}
]
}
字节序,即字节在电脑中存放时的序列与输入(输出)时的序列是先到的在前还是后到的在前。
字节序分为:大端字节序
和小端字节序
。
在网络世界里,进程间的通信离不开socket
,主要分为TCP Socket
和UDP Socket
。
下面以TCP
为例,分别写一下服务端
和客户端
。
这里要做的客户端
和服务端
,在连接建立后,都可以接收和发送消息。
首先定义三个事件回调:
专业企业官网建设,塑造企业形象,传递企业价值
系统软件开发,用心思考,用心设计,用心体验
打破技术瓶颈,让不堪重负的项目起死回生
构建全渠道一体化运营能力,实现全链路数字化
文案撰写、营销策划,专注品牌全案
一站式解决企业互联网营销痛点和难题
以技术的力量,改变互联网
联系我们