在实际项目中,线程安全的问题肯定会涉及到,这篇文章就总结 Golang 中有哪些常见的数据结构是线程安全的,以及他们的使用场景。 常见数据结构 sync.Mutex :这是一种互
useAntdTable useAntdTable 基于 useRequest 实现,封装了常用的 Ant Design Form 与 Ant Design Table 联动逻辑。 在使用之前,你需要了解它与 useRequest 不同的几个点: service 接收两个参数,第一个参数为分页数据 { current, pageSize, sorter, filters,
正常模式 命令 说明 ds 删除包围 cs 修改包围 ys 添加包围 yS 添加包围并替换包围文本 yss 添加一行包围 ySs 添加包围内容独成一行 ySS 添加包围内容独成一行 可视模式 命令
菜单从服务器获取 代码改造思路 getInitialState 增加 1 2 fetchUserMenus?: () => Promise<MenuDataItem[] | undefined>; menuData?: MenuDataItem[] | undefined; 登录时获取菜单: 1 const menus = await initialState?.fetchUserMenus?.(); layout 渲染菜单(需解决 icon 不显示的问题): 1 2 3 menuDataRender: () =>{ return fixMenuItemIcon(initialState?.menuData )
RBAC 和 Casbin 的关系? RBAC 大家都知道是一种访问控制模型, Casbin 实现了这个模型,并且还实现了其他很多种访问控制模型,如 ABAC 模型。 Casbin 解决了什么问题? 无需自己从零
自己根据官方命令实现的版本管理,不需要安装额外的工具。 使用时把第一个命令的参数换成你想要的版本号即可。 1 go_change_version=1.18 && go install golang.org/dl/go$go_change_version@latest && go$go_change_version download && rm ~/go/bin/go && ln -s "/$HOME/go/bin/go$go_change_version" "$HOME/go/bin/go" 优化