【go】go module版本管理

包和模块

GOPATH

进行golang开发时的工作空间,你编写的go源代码和编译后生成的可执行程序以及下载的第三方包都将存放在GOPATH下。

注意,GOPATH只是一个普通的文件目录并且你所有的编码工作都应该在该目录下完成(golang 1.11版本引入 包依赖管理工具go mod,可以在GOPATH以外编写go程序)。需要创建环境变量指定GOPATH位置。

GOPATH的目录结构:

阅读全文 »

【python】模块和包管理

1 构建一个模块的层级包

封装成包是很简单的。在文件系统上组织你的代码,并确保每个目录都定义了一个__init__.py文件。 例如:

graphics/
    __init__.py
    primitive/

                
                  
                  

阅读全文 »

微服务API网关

当选择将应用构建成为一组微服务时,需要决定应用客户端将如何与微服务进行交互。单体应用只有一组端点(endpoint),通常使用副本(replicated)结合负载均衡来分配流量。

在微服务架构中,通常每个微服务都暴露一组比较细颗粒的端点。

怎么访问微服务

例如一个购物应用软件,在展示产品的详细页面:

img

阅读全文 »

【数据结构】树

二叉树的前中后序遍历

前序遍历

前序遍历的访问和处理顺序是一致的,即先访问当前节点,再将该节点的左子树和右子树加入栈中。

class Solution {
public:

                
                  
                  

阅读全文 »

Latex

Tex是一种语言也是一个排版引擎,但Tex的元命令很难使用,后来有了衍生版Plain Tex、Latex。

Latex环境

  1. 在线Latex编辑编译器

    阅读全文 »

【linux】Cgroups

基本原理

cgroups是Linux内核的一个特性,主要用来对共享资源进行隔离、限制、审计等。通过cgroup可以将定额的资源分配给特定的一组进程。

默认情况下,编译内核时打开cgroup的系统中所有进程位于同一个cgroup,就是根,这个cgroup享有所有的系统资源。

可以通过cgroup文件系统建立一个新的cgroup,然后配置这个新的cgroup,配置的内容包括为其分配进程、分配资源等。这个创建和分配的所有过程都是cgroup文件系统通过shell echo写进文件完成的。

cgroup本身时分层的,一个根层下面就像一棵树一样可以分很多层。每一层的cgroup文件系统目录下都有该层对应的资源配置文件。这些可以配置的资源都是cgroup子系统。

阅读全文 »