Fork me on GitHub
摘要:在 Docker 容器里面使用 /`docker build`? Docker 容器技术目前是微服务/持续集成/持续交付领域的第一选择。而在 DevOps 中,我们需要将各种后端/前端的测试/构建环境打包成 Docker 镜像,然后在需要的时候,Jenkins 会使用这些镜像启动容器以执行 Jenk 阅读全文
posted @ 2019-08-15 14:35 於清樂 阅读 (8) 评论 (0) 编辑
摘要:一、Docker 数据管理 Docker 持久化数据有两种方式: 1. 使用数据卷:更安全,和主机耦合度低 1. 将主机的目录挂载到容器中:更方便,主机和容器可以很方便地交换数据。 数据卷相关的命令: 数据卷/文件夹的挂载命令: 二、网络 1. 外部访问容器 使用端口映射 (该参数可重复多次使用), 阅读全文
posted @ 2019-07-20 22:50 於清樂 阅读 (44) 评论 (0) 编辑
摘要:镜像的定制实际上就是定制每一层所添加的配置、文件。 如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么之前提及的无法重复的问题、镜像构建透明性的问题、体积的问题就都会解决。 这个脚本就是 Dockerfile。 1. Dockerfile 是一个文本文件 阅读全文
posted @ 2019-07-14 22:42 於清樂 阅读 (36) 评论 (0) 编辑
摘要:仅为个人查阅使用,要学习 Docker 的话,推荐看这份文档: "《Docker — 从入门到实践》" P.S. 大多数的 /`docker image xxx docker xxx` 一、基本概念 要构建并运行一个 Docker 容器,有这样几个步骤: 1. 编写 Dockerfile,然后通过 阅读全文
posted @ 2019-07-14 13:15 於清樂 阅读 (32) 评论 (0) 编辑
摘要:一、pacman/yay 的基础命令 Manjaro 装好后,需要运行的第一条命令: yay 是能查询 arch linux 的 aur 仓库的一个包管理器,其用法和 pacman 完全类似。 上述所有 命令,均可替换成 执行。 此外,还有一条 命令值得记一下: 常用软件与配置 1. 添加 arch 阅读全文
posted @ 2019-07-13 20:38 於清樂 阅读 (149) 评论 (0) 编辑
摘要:Linux 服务器在使用过程中可能会遇到各种问题,其中之一就是“没有可用空间”。 遇到这种情况,就需要进行排查,定位到消耗了磁盘的那个文件夹。 流程如下: 1. 会显示出所有挂载点的磁盘空间使用情况。 表示以 1k、1M、1G 为单位。 可以看到主分区 已经使用了 7%,现在假设因为某个软件的缓存, 阅读全文
posted @ 2019-07-11 15:30 於清樂 阅读 (15) 评论 (0) 编辑
摘要:公司 Harbor 仓库一年多没清理,硬盘被堆满了,为此写了个批量清除的 Python 脚本。 源代码见 "github harbor_clean.py" python3 coding: utf 8 from operator import itemgetter from urllib import 阅读全文
posted @ 2019-07-09 08:22 於清樂 阅读 (118) 评论 (0) 编辑
摘要:Harbor 是一个企业级的 Docker 私有仓库项目,它本身由多个 Docker Containers 组成,通过 docker compose 管理 containers 之间的依赖关系。 安装 安装参见官方文档: "Harbor Installation and Configuration 阅读全文
posted @ 2019-07-07 13:02 於清樂 阅读 (314) 评论 (0) 编辑
摘要:BUG 使用 启动 ssh 服务,提示: 然后使用 powershell 连接,提示 refused: FIX 卸载重装 openssh server: 然后修改 的下列几行参数: 重启 ssh 服务: 然后连接: 问题解决。 参考 "windows wsl sshd配置" 阅读全文
posted @ 2019-06-05 14:50 於清樂 阅读 (106) 评论 (0) 编辑
摘要:个人笔记,不保证正确。 关系构建: 与 关系构建的重点,在于搞清楚这两个函数的用法。 的用法已经在 "SQL表达式语言 表定义中的约束" 讲过了。主要是 和 两个参数的用法。 函数在 ORM 中用于构建表之间的关联关系。与 不同的是,它定义的关系不属于表定义,而是动态计算的。 用它定义出来的属性,相 阅读全文
posted @ 2019-05-21 22:19 於清樂 阅读 (51) 评论 (0) 编辑
摘要:个人笔记,如有疏漏,还请指正。 使用多线程(threading)和多进程(multiprocessing)完成常规的并发需求,在启动的时候 start、join 等步骤不能省,复杂的需要还要用 1 2 个队列。 随着需求越来越复杂,如果没有良好的设计和抽象这部分的功能层次,代码量越多调试的难度就越大 阅读全文
posted @ 2019-03-15 22:34 於清樂 阅读 (258) 评论 (0) 编辑
摘要:个人笔记,基本都摘抄自 Python3 官方文档 一. 上下文管理 1. 传统的类方式 Java 使用 try 来自动管理资源,只要实现了 AutoCloseable 接口,就可以部分摆脱手动 colse 的地狱了。 而 Python,则是定义了两个 Protocol: 和 . 下面是一个 open 阅读全文
posted @ 2019-03-10 00:59 於清樂 阅读 (175) 评论 (0) 编辑
摘要:噫语系列。。。 闲话 最近在重写我的一个 QQ 群机器人项目,并尝试将它改成更通用的结构,以方便在未来加入对 Wechat 和 Telegram 的支持。 在查资料的过程中,发现很多人认为一个群内多人游戏,不好写。 仔细想想,这个东西难不难写,不在群 robot 本身,而在 多人游戏 这个词上。 然 阅读全文
posted @ 2019-03-03 13:08 於清樂 阅读 (61) 评论 (0) 编辑
摘要:前言 nonebot 是一个 QQ 消息机器人框架,它的一些实现机制,值得参考。 "nonebot" NoneBot 初始化(配置加载) 阅读 nonebot 文档,第一个示例如下: 首先思考一下,要运行几个 QQ 机器人,肯定是要保存一些动态的数据的。但是从上面的示例看,我们并没有创建什么对象来保 阅读全文
posted @ 2019-03-02 11:13 於清樂 阅读 (1134) 评论 (0) 编辑
摘要:个人笔记,不保证正确。 虽然说看到很多人不看好 asyncio,但是这个东西还是必须学的。。 基于协程的异步,在很多语言中都有,学会了 Python 的,就一通百通。 一、生成器 generator Python 的 asyncio 是通过 generator 实现的,要学习 async,先得复习下 阅读全文
posted @ 2019-02-14 13:11 於清樂 阅读 (88) 评论 (0) 编辑
摘要:照例先看层次图 一、声明映射关系 使用 ORM 时,我们首先需要定义要操作的表(通过 ),然后再定义该表对应的 Python class,并声明两者之间的映射关系(通过 )。 方便起见,SQLAlchemy 提供了 Declarative 系统来一次完成上述三个步骤,Declarative 系统提供 阅读全文
posted @ 2019-02-11 19:52 於清樂 阅读 (63) 评论 (0) 编辑
摘要:个人笔记 WebSocket WebSocket 是一个双向通信协议,它在握手阶段采用 HTTP/1.1 协议(暂时不支持 HTTP/2)。 握手过程如下: 1. 首先客户端向服务端发起一个特殊的 HTTP 请求,其消息头如下: 2. 如果服务端支持该版本的 WebSocket,会返回 101 响应 阅读全文
posted @ 2019-02-11 18:26 於清樂 阅读 (769) 评论 (0) 编辑
摘要:不管是做爬虫还是写 Web App,Chrome 和 Firefox 的 DevTools 都是超常用的,但是经常发现别人的截图有什么字段我找不到,别人的什么功能我的 Chrome 没有,仔细一搜索才知道,原来是我不会用。。 :打开 DevTools :打开控制台 搜索 1. :在当前位置搜索关键字 阅读全文
posted @ 2019-02-11 16:53 於清樂 阅读 (318) 评论 (0) 编辑
摘要:概括 1. URL:需要操作的对象,也就是资源 2. HTTP method:我要对该对象做什么( POST 增、DELETE 删、GET 查、PUT 和 PATCH 改 ) 3. HTTP status code:操作的结果 做到这个,就达成了 REST 的第二层。 视图的定义方式 一般视图都使用 阅读全文
posted @ 2019-02-10 21:24 於清樂 阅读 (192) 评论 (0) 编辑
摘要:REST 先从 REST 的角度来看看 HTTP 协议规范, 1. URL:需要操作的对象,也就是资源 2. HTTP method:我要对该对象做什么( POST 增、DELETE 删、GET 查、PUT 和 PATCH 改 ) 3. HTTP status code:操作的结果 HTTP 方法 阅读全文
posted @ 2019-02-09 15:13 於清樂 阅读 (19) 评论 (0) 编辑