全栈工程师工作干货总结(一)

本文介绍了如何使用`kubectl`命令从`kube-system`命名空间中获取与`admin`相关的secret,特别是提取token部分。

1. 获取K8S中Token命令

kubectl describe secret $(kubectl get secret -n kube-system |grep admin|awk '{print $1}')  -n kube-system|grep '^token'|awk '{print $2}'

2. 一个项目一次push到多个远程仓库

git remote set-url --add origin git@gitee.com:SJshenjian/cloud.git
git remote -v
origin  git@github.com:SJshenjian/cloud.git (fetch)
origin  git@github.com:SJshenjian/cloud.git (push)
origin  git@gitee.com:SJshenjian/cloud.git (push)

OK, 只需要push一次即可推送到github与码云

3. Git配置SSH-Key

全局参数信息配置

git config --global user.name '算法小生' 
git config --global user.email 'sjshenjian@outlook.com'

初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置

3.1 生成 RSA 密钥

ssh-keygen -t rsa

3.2. 获取 RSA 公钥内容,并配置到 SSH公钥 中

cat ~/.ssh/id_rsa.pub

3.3. 公钥配置快捷入口

https://gitee.com/profile/sshkeys
https://github.com/SJshenjian/cloud/settings/keys

4. CentOS8切换中文输入法

1、命令行中输入:

yum install ibus ibus-libpinyin

2、在设置中Region & Language下添加–》汉语(智能拼音)若不存在, 则重启后添加

5. Uniapp使用AES128加解密16进制

在对接低功耗蓝牙时,我们需要对蓝牙传输数据进行加解密,由于我们对接的命令是16进制,如5500020101aa00,每个16进制表示特定的含义,所以直接对16进制加解密

import CryptoJS from 'crypto-js'

// AES128 加密函数
function aes128Encrypt(hexData, key, iv) {
   
   
  // 将十六进制字符串转换为字节数组
    var data = CryptoJS.enc.Hex.parse(hexData);
  
    // 将密钥和 IV(初始向量)转换为字节数组
    var keyBytes = CryptoJS.enc.Hex.parse(key);
    var ivBytes = CryptoJS.enc.Hex.parse(iv);
  
    // 执行 AES-128 加密,使用 CBC 模式和 PKCS7 填充
    var encrypted = CryptoJS.AES.encrypt(data, keyBytes, {
   
   
      iv: ivBytes,
      mode: CryptoJS.mode.CBC,
      padding: CryptoJS.pad.Pkcs7
    });
  
    // 将加密后的字节数组转换为十六进制字符串
    var encryptedHex = encrypted.ciphertext.toString();
  
    return encryptedHex;
}

// AES128 解密函数
function aes128Decrypt(encryptedHex, key, iv) {
   
   
  // 将密文的十六进制字符串转换为字节数组
    var encryptedBytes = CryptoJS.enc.Hex.parse(encryptedHex);
  
    // 将密钥和 IV(初始向量)转换为字节数组
    var keyBytes = CryptoJS.enc.Hex.parse(key);
    var ivBytes = CryptoJS.enc.Hex.parse(iv);
  
    // 将字节数组转换为加密的参数对象
    var encryptedData = CryptoJS.lib.CipherParams.create({
   
   
      ciphertext: encryptedBytes
    });
  
    // 执行 AES-128 解密,使用 CBC 模式和 PKCS7 填充
    var decrypted = CryptoJS.AES.decrypt(encryptedData, keyBytes, {
   
   
      iv: ivBytes,
      mode: CryptoJS.mode.CBC,
      padding: CryptoJS.pad.Pkcs7
    });
  
    // 将解密后的字节数组转换为十六进制字符串
    var decryptedText = decrypted.toString(CryptoJS.enc.Hex);
    return decryptedText;
}


export function aesDecrypt(encryptedHex) {
   
   
	// 解密
	//const key = 'suanfaxiaosheng@' // AES 密钥,必须是 16 字节(128 位)
	const key = "7375616e66617869616f7368656e6740"
	//const iv = 'suanfaxiaosheng@' // 初始化向量,必须是 16 字节(128 位)
	const iv = "7375616e66617869616f7368656e6740"
	const decryptedData = aes128Decrypt(encryptedHex, key, iv)
	return decryptedData
}

export function aesEncrypt(hexData) {
   
   
	// 加密
	//const key = 'suanfaxiaosheng@' // AES 密钥,必须是 16 字节(128 位)
	const key = "7375616e66617869616f7368656e6740"
	//const iv = 'suanfaxiaosheng@' // 初始化向量,必须是 16 字节(128 位)
	const iv = "7375616e66617869616f7368656e6740"
	const encryptedData = aes128Encrypt(hexData, key, iv) 
	return encryptedData
}

OK,只要加解密出来的结果与嵌入式那边出来的结果一致,就可以愉快的对接了, 关注算法小生不迷路

6. MongoDB之服务启动

6.1. 编写docker-compose.yaml文件

version: "3"
services:
  mongo:
    image:  mongo:4.2.6
    ports:
    - 27017:27017
    volumes:
    - ./data:/data/db:rw
    - ./configdb:/data/configdb:rw
    environment:
    - TZ=Asia/Shanghai
    - MONGO_INITDB_ROOT_USERNAME=admin  
    - MONGO_INITDB_ROOT_PASSWORD=admin
    container_name: mongo

6.2. 服务启动

docker-compose up -d

7. ElasticSearch批量插入与更新

7.1 批量插入

import pandas as pd
from elasticsearch import helpers

actions = 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

算法小生Đ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值