摘要:
什么是面向对象编程 面向对象是一种设计思想,面向对象的核心是 类 (class)和 对象 (object),通过类来抽象现实世界,通过对象来模拟现实世界。 面向对象的难点在于抽象,抽象的好坏很大程度决定了整个程序设计的好坏。 面向对象的设计中会有很多的层次结构,然后现实世界很多时候并没有那么多层次结 阅读全文
摘要:
概要 react native 环境搭建 hello react native react native 发布 react native 优势 1. 不用再学习 OC,Swift,Java,Kotlin 等 2. 复用 react 开发的种种好处 3. 开发体验好(即时编译) 4. 编译出来的是原生 阅读全文
摘要:
ecto 简介 ecto 相当于 elixir 的 ORM,但是得益于 elixir 语言,和传统的 ORM 相比,更加简洁和强大。 ecto 主要分为 4 部分: 1. Repo: 这是和真正数据库交互的部分 2. Schema: 相当于是数据库中表的定义,但不仅仅是定义 3. Changeset 阅读全文
摘要:
概要 golang 的包管理一直没有官方统一的解决方案,因此也产生了很多非官方的包管理工具。 之前我一直使用的 gb() 能够很好的隔开各个 golang 工程,当时 gb 创建的工程不太融入已有的 GOPATH 中。 gb 相当于是把工程的目录作为 GOPATH,并且它的 vendor 目录也和 阅读全文
摘要:
"概要" "本地私有仓库" "局域网私有仓库" "总结" 概要 docker hub 使用非常方便,而且上面有大量的镜像可以使用。 但是,每次都远程下载镜像速度非常慢,如果能在本地做一个 docker 的仓库,多人协作开发的时候更新效率就会提高很多。 所以,下面我们尝试搭建自己的 docker 仓库 阅读全文
摘要:
概述 elixir 中自带了单元测试框架 ExUnit ,其中提供单元测试的一系列,主要包含以下模块: 1. ExUnit: 单元测试框架 2. ExUnit.Assertions: 断言 3. ExUnit.Case: 测试用例 4. ExUnit.DocTest: 在注释写测试用例,类似 pyt 阅读全文
摘要:
概述 权限系统需要和别的系统集成,因此,良好的API是易用性的保证。 这里只设计一些权限相关的核心 API,关于用户,组织,导入导出之类的后续再逐步补充 API 设计 围绕权限有以下 4 类 API: 授权 1. 单独授权 给某个 用户/组织 授予权限,权限 = 资源+动作 2. 批量授权 给多个 阅读全文
摘要:
概述 起因是这样的,在编译发布 golang 工程时,希望版本号中包含有 git revision number。 但是,没有commit之前,是没法知道 revision number 的,commit之后,如果要修改代码中 version 的相关信息,又会导致需要再次的 commit。 针对这种 阅读全文
摘要:
概述 本通用权限管理系统是基于2棵树来做权限管理的,这2棵树就是 资源树 和 组织树 组织+资源+动作 所组成的权限数据就是整个系统的核心。 这里之所以只用组织而不用人员,一方面可以减少权限数据的量,一方面还可以简化权限数据。 每个人员的的权限是可以计算出来的。 人员从属于一个或者多个组织的,默认情 阅读全文
摘要:
概述 权限系统提的最多的就是 RBAC(基于角色的访问控制)。 所谓角色,其实就是权限的集合,某个角色就是某几个权限的结合。其目的是为了简化授权和鉴权的过程。 基于角色的权限控制用在简单的权限环境下没有问题,如果在权限控制比较复杂的系统中,或者说要做通用的权限系统时,基于角色的权限控制会带来以下问题 阅读全文