Golang
未读Go 和 C语言、C++、Python、Java 等一样都是编程语言。学习任何一门编程语言本质上都分3步走: 第一步:安装 解释器 或 编译器。 第二步:学相关编程语言语法,然后写代码。 第三步:用已安装解释器 或 编译器 去运行自己写的代码,这样代码就会去完成我们编写的功能了。 Go是编译型语言,所以我们一般称Go安装是编译器。 Go是开源且跨平台的一门编程语言,所以他支持window、linux、mac操作系统,同时也意味着我们可以在各种系统中安装Go的编译器。 Mac系统 下载Go编译器 https://golang.google.cn/ 点击安装 默认的安装目录:/usr/local/go/ 编译器启动文件:/usr/local/go/bin/go 配置环境PATH 1export PATH=/usr/local/go/bin:$PATH 其他配置 创建一个任意目录 此目录以后放你写的所有go代码。 12345678/Users/jerry/GolangProjects/- bin,通过go install编译时候,生成的可执行文件。- pkg,通过go install编 ...
Docker
未读6bfaebf3e9f67b5202b8d6c1cdcd16f7b5ba01cd0c86fe46b43ae97bedd417e20feb829b798cc4b9d0e0ae0a2e90db4b091a80dbc9582e6d1f08d35e85ecae698ebd980af5418b58ea2e1a99c5c43e8b48263aca1d160bb58bf01d19a9f294966c496a5d3a06cfbd0fb00abdc3120276ccf8d44de2077aa651fb1dba9021de3eb8aef8c75c11b4d0704bff91684d0e816befd67835112f8e5735f04d40db667bdf4523cf4b8749fe3292ce89cf7274c3ccc990a30a382961f48d3a892143c3b8acb93c6989afd971acdb2c69b3884e751270ae588920754e2bb2dac21a8a510e50085f4e5f8103208adc11d60fa41d9ab75d416ea8bad64a2 ...
Docker
未读6bfaebf3e9f67b5202b8d6c1cdcd16f7b5ba01cd0c86fe46b43ae97bedd417e2313b7562fdb676861e211be218dc7c4cdcb67452f544cc95c61631aec63c2593138446b7d22a20f8a0fb4cc9ffca14140318ba799d15cfa1065523d4506dd4c3149e83b399612a81381a8f8c06d19565043ce23a5fe4a2aca5fa4779547a105adce43241ffd68af14702fc894be651f4d819d89b3137abe3f95031bec2e632384eefa06bc683f6ae9c2136d9639cba5e6eff235c750fa787a8f4ed590d21faf92d12122e49900dadc987e0b3acda65c401419a596e3162c1c837d227a8571fc668a54bd3659f910949026ebf0af9f72f6f60f89d8b373b8c3 ...
Docker
未读迁移方式介绍 容器中的数据,如果没有用挂载目录,删除容器后就会丢失数据。 前面我们已经讲解了如何 挂载目录 如果你是用bind mount直接把宿主机的目录挂进去容器,那迁移数据很方便,直接复制目录就好了 如果你是用volume方式挂载的,由于数据是由容器创建和管理的,需要用特殊的方式把数据弄出来。 备份和导入 Volume 的流程 备份: 运行一个 ubuntu 的容器,挂载需要备份的 volume 到容器,并且挂载宿主机目录到容器里的备份目录。 运行 tar 命令把数据压缩为一个文件 把备份文件复制到需要导入的机器 导入: 运行 ubuntu 容器,挂载容器的 volume,并且挂载宿主机备份文件所在目录到容器里 运行 tar 命令解压备份文件到指定目录 备份 MongoDB 数据演示 运行一个 mongodb,创建一个名叫mongo-data的 volume 指向容器的 /data 目录 docker run -p 27018:27017 --name mongo -v mongo-data:/data -d mongo:4.4 运行一个 Ubuntu 的容器,挂载mo ...
Docker
未读使用 Docker 运行后,我们改了项目代码不会立刻生效,需要重新build和run,很是麻烦。 容器里面产生的数据,例如 log 文件,数据库备份文件,容器删除后就丢失了。 目录挂载解决以上问题 几种挂载方式 Docker提供了多种挂载方式,以下是三种主要的挂载方式及其使用方法和推荐: 绑定挂载(Bind Mounts): 使用方式:通过-v或--mount参数将主机上的文件或目录挂载到容器中。例如:docker run -v /host/path:/container/path image_name。 特点:允许容器与主机之间共享文件和目录,对其中一个的更改会直接影响到另一个。 推荐场景:当需要容器与主机之间实时同步文件或目录,或者需要在容器外部直接操作容器内部文件时,绑定挂载是一个很好的选择。 卷挂载(Volume Mounts): 使用方式:通过-v参数将Docker数据卷挂载到容器中。例如:docker run -v volume_name:/container/path image_name。 特点:Docker卷是一个可供容器使用的特殊目录,它绕过了联 ...
Docker
未读需求: 基于docker创建在python 3.10.13上运行我们开发的Flask网站。 流程: 基于docker软件 在基础镜像基础上构建自定义镜像[ python 3.10.13+代码] 基于镜像创建容器+运行 安装 Docker 首先,确保你已经在你的系统上安装了Docker。你可以访问Docker的官方网站,按照适用于你的操作系统的指南来安装。 编写Dockerfile 在你的Flask项目目录中创建一个名为Dockerfile的文件,导出pip freeze > requirements.txt依赖,并添加以下内容: 123456789101112131415161718192021222324252627# 使用官方Python 3.10.13镜像作为基础镜像 FROM python:3.10.13 # 维护者信息 LABEL maintainer="jerry <jerry@qq.com>" # 设置工作目录 WORKDIR /app # 将当前目录内容复制到容器的/app内 COPY . /app ...
Docker
未读直接安装的缺点 安装麻烦,可能有各种依赖,运行报错。例如:WordPress,ElasticSearch,Redis,ELK 可能对 Windows 并不友好,运行有各种兼容问题,软件只支持 Linux 上跑 不方便安装多版本软件,不能共存。 电脑安装了一堆软件,拖慢电脑速度。 不同系统和硬件,安装方式不一样 Docker 安装的优点 一个命令就可以安装好,快速方便 有大量的镜像,可直接使用 没有系统兼容问题,Linux 专享软件也照样跑 支持软件多版本共存 用完就丢,不拖慢电脑速度 不同系统和硬件,只要安装好 Docker 其他都一样了,一个命令搞定所有 演示 Docker 安装 Redis Redis 官网:https://redis.io/ 官网下载安装教程只有源码安装方式,没有 Windows 版本。想要自己安装 windows 版本需要去找别人编译好的安装包。 Docker 官方镜像仓库查找 Redis :https://hub.docker.com/ 一个命令跑起来:docker run -d -p 6379:6379 --name redis redis:la ...
Docker
未读Docker 是什么 Docker 是一个应用打包、分发、部署的工具 你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要, 而普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件。 跟普通虚拟机的对比 特性 普通虚拟机 Docker 跨平台 通常只能在桌面级系统运行,例如 Windows/Mac,无法在不带图形界面的服务器上运行 支持的系统非常多,各类 windows 和 Linux 都支持 性能 性能损耗大,内存占用高,因为是把整个完整系统都虚拟出来了 性能好,只虚拟软件所需运行环境,最大化减少没用的配置 自动化 需要手动安装所有东西 一个命令就可以自动部署好所需环境 稳定性 稳定性不高,不同系统差异大 稳定性好,不同系统都一样部署方式 打包、分发、部署 打包:就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包 分发:你可以把你打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装 部署:拿着“安装包”就可以一个命令运行起来你的应用,自动模拟出一摸一样的运行环境,不管是在 Win ...
6bfaebf3e9f67b5202b8d6c1cdcd16f7b5ba01cd0c86fe46b43ae97bedd417e20ffbe7ccaedfb929a3928039ceb42c91ea9b48ffcf7e53e0be73254c360414108c295aa9f8825784695fe4466c742e56803ea9c45e2016513ffb23522adb2639d7a7d797c2f63928bcbc41e7edbc67daa5b994db099c0f03d692bc188cd033ab474ed30850f8b0e1621c3e82a98b48ffe6eab546cc06b976d5de571905ebcd5ffb68cea1b46f0cbee271d514540b88f932274260f23ebac2ce3ffc596b4711107d876d132b7bcdce1cbb4e1ed244335ae271e36d2cf70ea931f718257d15a3cb8553cd95bdb47be39cbcc41524ea5c9c19052aa38c5e92513 ...
eslint配置 eslint中文官网:http://eslint.cn/ ESLint最初是由Nicholas C. Zakas 于2013年6月创建的开源项目。它的目标是提供一个插件化的javascript代码检测工具 首先安装eslint 1pnpm i eslint -D 生成配置文件:.eslint.cjs 1npx eslint --init .eslint.cjs配置文件 123456789101112131415161718192021222324252627282930313233343536373839module.exports = { //运行环境 "env": { "browser": true,//浏览器端 "es2021": true,//es2021 }, //规则继承 "extends": [ //全部规则默认是关闭的,这个配置项开启推荐规则,推荐规则参照文档 ...