ubuntu ubuntu 18.04 开启二次验证 首先,安装好 google-authenticator,如下: sudo apt update && sudo apt install -y libpam-google-authenticator 安装好后,输入:google-authenticator,将输出二维码及 secret-key 的信息以及几个紧急验证码。 在移动端或相关设备上安装好 google 身份验证器 app,扫描二维码即可。同时,请备份好此二维码及相关信息,因为移动端上的 app 无法进行备份。最好是将其备份在 1password 或者 MacPass 等相关密码保存软件上。
ubuntu Ubuntu 18.04配置固定IP ubuntu 18.04 的静态 ip 要在配置文件/etc/netplan/50-cloud-init.yaml中进行配置 sudo vim /etc/netplan/50-cloud-init.yaml 做如下配置: network: ethernets: enp0s3: dhcp4: true addresses: - 192.168.0.105/24 #ip和掩码 gateway4: 192.168.
shell Shell 脚本中用 set 设置 shell 的执行方式 如下: #Description-a标示已修改的变量,以供输出至环境变量-b使被中止的后台程序立刻回报执行状态-C转向所产生的文件无法覆盖已存在的文件-d Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消-e若指令传回值不等于0,则立即退出shell-f取消使用通配符-h 自动记录函数的所在位置-HShell 可利用"!"加<指令编号>的方式来执行history中记录的指令-k指令所给的参数都会被视为此指令的环境变量-l 记录for循环的变量名称-m使用监视模式-n只读取指令,而不实际执行-p启动优先顺序模式-P启动-P参数后,执行指令时,会以实际的文件或目录来取代符号连接-t 执行完随后的指令,即退出shell-u当执行时使用到未定义过的变量,则显示错误信息-v显示shell所读取的输入值-x执行指令后,会先显示该指令及所下的参数 +<参数> 取消某个set曾启动的参数。
tensorflow TensorFlow 2.0 显示 mnist 中的图片 之所以想显示一下图片,是因为老觉得不看到图片,心里就没底,代码如下(在 ipython 中运行): import tensorflow as tf from matplotlib import pyplot as plt mnist = tf.keras.datasets.mnist (train_data, train_label), (test_data, test_label) = mnist.load_data(
深度学习 深度学习中用到的几个微积分知识 导数: > 导数(Derivative),也叫导函数值。又名微商,是微积分中的重要基础概念。当函数 y=f(x)的自变量 x 在一点 x0 上产生一个增量 Δx 时,函数输出值的增量 Δy 与自变量增量 Δx 的比值在 Δx 趋于 0 时的极限 a 如果存在,a 即为在 x0 处的导数,记作f'(
数据结构与算法 【学习笔记】【数据结构与算法篇】链表 什么是链表?是一种线性表,但不按线性存储,即内存不连续,链表在每一个节点里存到下一个节点的指针(Pointer),从而形成顺序关系。 > 数据结构的意思指的是,我们如何在计算机中存储及表示我们的数据 链表的第一个元素,称之为头节点。 如果链表的最后的一个元素指向了头节点,那么这个链表就成为了一个环。就像一条咬到自己尾巴的蛇。 我们用线性表存储我们的数据时,依然(同数组 [https://zgljl2012.com/xue-xi-bi-ji-shu-ju-jie-gou-yu-suan-fa-pian-shu-zu/])是需要 CRUD 四个操作: * 插入 * 更新 * 删除 * 查询 CRUB 操作分析 插入 比如说,我们要在
数据结构与算法 【学习笔记】【数据结构与算法篇】数组 什么是数组?由相同类型的元素(element)的集合所组成的数据结构,分配一块连续的内存来存储。利用元素的索引(index)可以计算出该元素对应的存储地址。 请注意: 1. 数组元素类型相同 2. 内存连续 3. 随机访问,也即直接访问 数据结构是用来存储数据的,我们的目的是将数据存储在数组中,所以需要对数组进行一些操作: 1. 插入 insert 2. 更新 update 3. 删除 delete 4. 查询 query 插入数据:插入数据时,
数据结构与算法 【学习笔记】【数据结构与算法篇】复杂度分析 复杂度分为两类:时间复杂度和空间复杂度 我们为什么需要复杂度:用来衡量执行一个算法时,数据规模与时间和空间的关系 那什么是复杂度?怎么定义?: > 时间复杂度:定性描述算法运行时间的函数 空间复杂度:对一个算法在运行过程中临时占用存储空间大小的量度 请注意,是定性描述。 表示方法: 用 big O 表示法表示,形如 O(n2) 时间复杂度量级: * 常数阶 O(1) * 对数阶 O(logn) * 线性阶 O(n) * 线性对数阶 O(
helm Helm 获取指定数据元素 如下: {{ index .Values.fabric.orgs 0 }} 如果需要赋值给一个变量,如下: {{ $org := (index .Values.fabric.orgs 0) }}
Kubernetes 指定 working_dir 使用 workingDir 如下: apiVersion: v1 kind: ReplicationController metadata: name: example spec: replicas: 1 template: metadata: labels: name: example spec: containers: - name: example image: alpine:3.10 workingDir: /yourworkdir
helm Helm 3.0 简单入门 ubuntu 18.04 安装参考:GHOST_URL/ubuntu-18-04-an-zhuang-helm/ Helm 简单入门(Helm 升级到 3.0 以后,命令有所修改,网上很多教程都不适用了)。 首先,运行 helm create example 创建一个 example 项目。 可以看到生成了一个 example 文件夹及一些文件如下: mychart/ Chart.yaml values.yaml charts/
helm Ubuntu 18.04 安装 Helm 首先,去 https://github.com/helm/helm/releases 也找到对应系统的最新版本 Linux amd64 Helm。我选择的是 https://get.helm.sh/helm-v3.0.0-linux-amd64.tar.gz 所以,我们的版本是 3.0.0。 下面,开始安装 Helm mkdir -p /tmp/
postgresql Golang Postgres "LastInsertId is not supported by this driver" When use golang connect to postgres, if you want to call LastInsertId, you will get this error. But you can get the latest ID by another method. Use Returning keyword to get the
shell Shell 脚本中队列实现方式 先进先出,三种操作 * count: 计数 * enqueue:入队 * dequeue:出队 #!/usr/bin/env bash array=() # enqueue array[${#array[@]}]=1 array[${#array[@]}]=2 array[${#array[@]}]=3 # count echo "count: ${#array[@]}" echo "${array[@]}" echo "----------------" # dequeue array=