Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
Golang官网下载地址:https://golang.org/dl/
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
Golang官网下载地址:https://golang.org/dl/
安装好WSL后,默认的用为自己设置的,每次执行命令都要sodu
以下,毕竟是自己开发环境用的,没必要这么麻烦,索性直接改默认用户为root,这里以Ubuntu
为例:
首先以管理员身份打开cmd
命令行,查看用法:
C:\WINDOWS\system32> ubuntu /?
Launches or configures a Linux distribution.
Usage:
<no args>
Launches the user's default shell in the user's home directory.
install [--root]
Install the distribuiton and do not launch the shell when complete.
--root
Do not create a user account and leave the default user set to root.
run <command line>
Run the provided command line in the current working directory. If no
command line is provided, the default shell is launched.
config [setting [value]]
Configure settings for this distribution.
Settings:
--default-user <username>
Sets the default user to <username>. This must be an existing user.
help
Print usage information.
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Linux下安装Node.js主要有两种方法,一种是源码编译安装,一种是编译后的文件。源码编译安装比较麻烦,这里介绍通过编译好的
文件安装。
在wsl里搭建lnmp环境时,
访问简单的PHP 文件 (例如Hello world)没有问题,
但访问多数 PHP 文件卡死,
有的(例如phpinfo()),虽然可以加载出来但浏览器显示网页仍未加载完全或者巨慢。
fileinfo
模块中的函数通过在文件的给定位置查找特定的魔术
字节序列 来猜测文件的内容类型以及编码。 虽然不是百分百的精确, 但是通常情况下能够很好的工作。
这里以php7.2为例,本文php的安装目录为/usr/local/php/
。
首先进入php的源码包fileinfo目录,如果没有源码先下载解压:
爱折腾的我,最近安装了Windows子系统ubuntu,系统默认的是nana
,不会用啊。
怎么办,因此修改下默认的编辑器为vim
,网上找了两个方法:
工作中有个项目需要个单独非分支放文档,该分支不继承任何提交,没有父节点,完全是一个干净的分支,使用git checkout
命令创建的分支是有父节点的,包含了历史提交的,网站找了一下,所有就记录下来备用。
使用git checkout
的--orphan
参数:
git checkout --orphan document
该命令会创建一个名为doc的分支,并且该分支下有前一个分支下的所有文件。
进入windows开机启动目录C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
新建vbs文件start-wsl.vbs
:
Set ws = WScript.CreateObject("WScript.Shell")
cmd = "C:\Windows\System32\bash.exe -c ""bash /home/init.sh"""
' 运行命令不显示cmd窗口
ws.Run cmd, 0, false
Set ws = Nothing
WScript.quit
WSL 子系统是基于 LxssManager 服务运行的。
只需要将 LxssManager 重启即可。
Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,目标是使纯正的Ubuntu 14.04 "Trusty Tahr"映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。
记得上学的时候就开始用Vmware workstation
,搭建过各种网络架构,期间也用过VirtualBox
、Docker
,后来用了一段时间Hyper-V
,最终还是回到Vmware workstation
怀抱。
最近,一时兴起,决定折腾一下,体验一下WSL...
WSL是Windows10很久之前就推出的功能,据说从win10秋季创意者更新(1709,内部版本16299),WSL才正式脱离beta,逐渐趋于稳定。
在Casbin
中,适配器(adapter
,Casbin
的中间件)实现了policy
规则写入持久层的细节。 Casbin
的用户可以调用adapter
的loadPolicy()
方法从持久层中加载policy
规则, 同样也可以调用savePolicy()
方法将Policy
规则保存到持久层中。 为了保持代码轻量, 我们没有将adapter
的代码放在主库中。
文件适配器,是将Policy策略存储在.csv的文件中:
Model的加载方法主要有三种:
Casbin支持的model:https://github.com/php-casbin/php-casbin/blob/master/README_CN.md#%E6%94%AF%E6%8C%81%E7%9A%84Models
Model CONF 至少应包含四个部分: [request_definition]
, [policy_definition]
, [policy_effect]
, [matchers]
。
如果 model 使用 RBAC, 还需要添加[role_definition]
部分。
Model CONF 可以包含注释。注释以 #
开头,#
将注释整行。
与 policy 不同,model 只能加载,不能保存。 因为我们认为 model 不是动态组件,不应该在运行时进行修改,所以我们没有实现一个 API 来将 model 保存到存储中。
在 Casbin 中, 访问控制模型被抽象为基于 PERM (Policy, Effect, Request, Matcher) 的一个文件。 因此,切换或升级项目的授权机制与修改配置一样简单。 您可以通过组合可用的模型来定制您自己的访问控制模型。 例如,您可以在一个model中获得RBAC角色和ABAC属性,并共享一组policy规则。
Casbin中最基本、最简单的model
是ACL。ACL中的Model
CONF为:
Casbin中最核心的三个概念:Model
, Policy
, Enforcer
。
Model
就是一个CONF
文件,基于PERM metamodel (Policy, Effect, Request, Matchers)。
专业企业官网建设,塑造企业形象,传递企业价值
系统软件开发,用心思考,用心设计,用心体验
打破技术瓶颈,让不堪重负的项目起死回生
构建全渠道一体化运营能力,实现全链路数字化
文案撰写、营销策划,专注品牌全案
一站式解决企业互联网营销痛点和难题
以技术的力量,改变互联网
联系我们