Erick Lv的笔记

所有的博客仅作为个人笔记

Docker笔记4 端口映射和容器互联

端口映射 启动容器时,必须制定对应的参数才能访问容器内的网络应用和服务,使用-p或者-P来指定端口映射。使用大写的-P,Docker会随机映射49000~49900的端口到内部容器的开放端口。 以Zookeeper的容器为例子: 也可以使用-p指定绑定端口,基本格式是: HostPort:Co...

2019-08-18 15:56:01

阅读数 6

评论数 0

Docker笔记3 docker的数据管理

简介 数据管理主要针对数据持久化、多容器之间的数据共享和数据的备份和恢复。数据管理主要有两种方式: 数据卷:容器内数据直接映射到本地主机环境 数据卷容器:使用特定容器维护数据卷 数据卷 **基本属性:**可供容器使用的特殊目录,直接把主机操作系统的目录直接映射进容器。 数据卷有如下的几个特性,...

2019-08-18 00:38:24

阅读数 9

评论数 0

Docker笔记2 容器及其基本操作

基础概念 容器是镜像的一个运行时的状态。镜像是静态的只读文件,容器是带有运行时需要的可写文件层,容器中的应用进程处于运行状态。 容器和虚拟机的差别: 容器:独立运行的一组应用以及这组应用所必须的运行环境 虚拟机:模拟运行的一整套操作系统,包括内核和应用运行环境等 基本操作 创建容器 使用cre...

2019-08-17 21:06:00

阅读数 11

评论数 0

Docker笔记1 基础概念和镜像

基础概念 开发环境deepin linux 15.11。安装docker之后,执行命令: sudo usermod -aG docker $USER_NAME 让docker和当前用户在一个组中,可以每次不用执行sudo命令了。 三个核心的概念: 镜像:类似虚拟机的镜像,一个只读模板。比如li...

2019-08-17 19:57:15

阅读数 19

评论数 0

lua的元表、模块和面向对象

元表 lua的元表是表的一个扩展,可以简化表的一些操作。setmetatable关键字是设置元表的核心操作。 __index相当于建立索引,为查找表元素提供了方便。 Lua 查找一个表元素时的规则,其实就是如下 3 个步骤: (参考自https://blog.csdn.net/xocoder/ar...

2019-08-13 09:58:54

阅读数 20

评论数 0

Lua笔记4 闭包、迭代器

迭代器 for的泛型部分,最简单的是利用pair进行,比如: for k, v in pairs(t) do print(k, v) end 其中k和v是变量列表,而pairs(t)是列表表达式。 我们还可以使用迭代函数完成元素的迭代,lua提供了默认的迭代函数ipairs。这里的核心在于理解...

2019-08-12 23:59:23

阅读数 11

评论数 0

Lua笔记3 函数和数组

函数 这里主要介绍可变参数函数,使用...表示可变参数函数。 function add( ... ) local s = 0 for i, v in ipairs{...} do -- {...}表示可变参数表,是局部变量 s = s + v end ...

2019-08-09 00:43:01

阅读数 14

评论数 0

Lua笔记2 变量、循环和流程控制

变量 变量使用前必须声明,lua的变量默认全局的,哪怕该变量在函数中。局部变量使用local进行声明,仅在作用域中有效。函数中声明的变量,在函数调用前是不会起作用的。 代码示例: function foo(n) a = 3 * n local b = 5 * n end prin...

2019-08-09 00:16:32

阅读数 12

评论数 0

lua笔记1 基础概念

基础概念 Lua的变量默认是全局的,如果想要清除,只需要设置为nil。没有赋值的变量也是nil。注意lua是动态语言,变量不需要声明类型,而且自动类型转换。 b = 1 print(b) b = nil print(b) b = "a" print(b) 输出: 1 nil ...

2019-08-08 23:50:18

阅读数 16

评论数 0

Zookeeper笔记1 基本概念

分布式和Zookeeper概念 Zookeeper基于分布式计算的核心概念设计的,用于简化分布式系统构建的任务。 Zookeeper的核心功能是写作分布式系统中的多个任务。Zookeeper不适合用作海量数据存储,对于海量数据,我们应该采取数据库或者分布式文件系统。 我们对分布式系统的定义为:分布...

2019-07-16 23:47:07

阅读数 26

评论数 0

程序员的自我修养笔记3 内存管理

程序的内存布局 大多数的操作系统中,都会有一部分空间是程序无法访问的,这是内核空间,专门留给操作系统内核使用的。一个进程的空间中,有4个部分,分别是: 栈:维护函数调用的上下文,一般分配在用户空间的最高地址 堆:容纳程序动态申请的内存,比如C++的new或者malloc申请的。堆一般位于栈的下方...

2019-07-10 23:22:22

阅读数 23

评论数 0

程序员的自我修养笔记 2

编译的基本流程 构建:编译和链接合并到一起的过程。 整个编译的过程可以分为4个阶段: 预处理:主要是处理#符号后面的内容,比如展开宏定义和处理ifndef等;还包括删除掉所有的注释等。还有一个重要的步骤,如果涉及到头文件包含,那么会把包含头文件插入到相应的#include的位置。 编译:主要是词...

2019-07-06 23:43:20

阅读数 34

评论数 0

程序员自我修养笔记1

Interface的概念:计算机中,每个层次之间的通信协议(这里的接口区别于Java等编程语言的接口)。 内存管理 内存的分段管理: 基本思路是把一段与程序所需要的内存空间大小的虚拟空间映射到某个地址空间。给出一个示例图: 但是分段存在一个效率问题,比如我们的硬盘是100M,此时由10M、80M...

2019-07-05 23:03:21

阅读数 23

评论数 0

Clips笔记 4

关于RHS变量的处理 bind用于绑定RHS中的变量,因为在LHS中,可以使用?的方式表示和绑定变量,如果是到了RHS中,就必须使用bind关键字和?结合的方式: (clear) (defrule addition (numbers ?x ?y) => (assert...

2019-07-05 16:10:52

阅读数 33

评论数 0

Clips笔记 3

谓词函数 谓词函数被定义为任何可返回符号TRUE或者FALSE的函数。 谓词函数有两种类型: 预定义谓词函数,系统提供的,直接调用 用户自定义函数,使用C或其它语言与Clips通信的 (and (> 1 2) (< 4 3)) ; FALSE (or (&...

2019-07-05 00:11:20

阅读数 27

评论数 0

Clips补充笔记

使用(assert (<name>)) 把数据放入到事实列表中。之后向知识列表中添加数据,如果数据满足规则,那么会把符合规则的行动添加到日程agenda中,通过命令(agenda)可以查看。执行命令(run)是执行所有日程中的行动,这些行动按照自己的优先级进行执行。 用...

2019-07-04 23:58:23

阅读数 28

评论数 0

Clips笔记 2

变量 Clips中,变量是一个?接一个变量名实现的,比如?speed等。 变量的第一个作用是保存输入的槽值,给出代码示例: (deftemplate person (slot name) (slot eyes) ) (defrule BuleEyes (person (na...

2019-07-04 16:33:42

阅读数 22

评论数 0

Clips笔记 1

字段 字段是clips的基础数据,有字符组合形成的。clips有7种类型的字段: 浮点型:1.5、-0.9、9e10和-3.5e1等 整型 符号型:可打印的ASCII字符,以分解符为结尾 字符串型:双引号内部的数据。 外部地址:用户自定义函数 示例名 示例地址 事实 Clips中的信息块称为事...

2019-07-03 23:40:33

阅读数 28

评论数 0

CMake笔记3构建复杂项目

直接参考:https://blog.csdn.net/ktigerhero3/article/details/70313350

2019-06-20 13:25:08

阅读数 34

评论数 0

CMake笔记2 构建动态链接库

新建一个文件夹,然后创建如下的目录: . ├── build ├── CMakeLists.txt └── lib ├── CMakeLists.txt ├── hello.cpp └── hello.h 最外层的CMakeLists.txt内容: cmake_minim...

2019-06-20 12:24:22

阅读数 88

评论数 0

提示
确定要删除当前文章?
取消 删除