Go 语言中生成密码
Go
语言中生成特定长度和特定组合的密码
1 | package utils |
Go
语言中生成特定长度和特定组合的密码
1 | package utils |
本地 Windows
,在做 k8s kubebuilder
开发的时候是在本机安装一台 Cnetos
虚拟机来作为开发环境,这个时候就需要用到远程开发了
1、Vscode
上安装 Remote - SSH
插件
2、设置配置文件
1 | # 配置文件路径 |
3、配置免密登陆
将本地公钥 C:\Users\jakehu\.ssh\id_rsa.pub
放入服务器 ~/.ssh/authorized_keys
即可
昨天在 Windows
上成功安装了 kubebuilder
但是在最后 make install
环节一直过不去,想想算了,还是用 Centos
吧
这是官方给出的需求依赖
1 | go version v1.17.9+ |
1 | wget https://go.dev/dl/go1.18.4.linux-amd64.tar.gz |
1 | # 自启动Docker |
问题 1:X Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.
1 | minikube start --force --driver=docker |
到此 kubebuilder
环境就算搭建完成
Cygwin
就是一个 Windows
软件,该软件就是在 Windows
上仿真 Linux
操作系统
基础模块:Base
、Devel
、Libs
、Net
、System
、Utils
这里我们安装 Base
、Devel
就够了
Cygwin
包可以通过 UI 界面进行安装,也可以通过将下载来下来的 exe
文件放在 C:\cygwin64\bin
目录下
除了上面说的,我们还可以使用第三发的包管理工具 apt-cyg
安装:
1 | curl -O https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg |
使用:
1 | apt-cyg install wget |
1 | go version v1.17.9+ |
还需要安装 Make
1 | apt-cyg install make |
1 | git clone git@github.com:kubernetes-sigs/kubebuilder.git |
1 | which kubebuilder |
1 | go mod init jakehu.me |
1 | tree |
题外话:make
下载失败的时候请走代理
1 | export http_proxy="127.0.0.1:10809" |
需要构建的 SQL
条件如下:
1 | where field1 in (1,2) and field2 not in (1,3) and (field3 like "%test%" or field4 like "%test%") |
如果是非动态其实还是比较好实现的
1 | where = Q(field1__in=(1,2)) & ~Q(field2__in=(1,3)) & (Q(field3__icontains="test") | Q(field4__icontains="test")) |
1 | Q1 = Q() |
上面实现中 cid
为外键 cid_id
为外键表 id
字段,cid__env__name
为 cid
外键表的外键表 env
的字段 name
最近在用 Go
做一个小程序,需要生成一个 6
位数随机验证码,遂记录一下实现
Go
生成特定长度的随机数
1 | package main |
用 Colima
也已经大半年了,作为 Docker Desktop
的替代者用起来还是觉得不错的
目前最新版 0.4.2
这里只以 Homebrew
为例
1 | brew install colima |
大概有如下依赖
1 | dependencies for colima: gdbm, ca-certificates, openssl@1.1, sqlite, python@3.9, glib, libtool, guile, nettle, libnghttp2, unbound, gnutls, libslirp, libusb, qemu and lima |
删除现有的 VM
实例
1 | colima delete |
Homebrew
更新
1 | brew update |
start
1 | colima start |
使用这块可以参考官方文档,底层的 runtime
默认是 Docker
以 kubernetes
为例,需要先安装 kubectl
1 | brew install kubectl |
然后再启动 colima
1 | colima start --with-kubernetes |
查看状态
1 | colima status |
最近在用 gin
开发一款小程序后端需要用到小程序登陆授权,看看如何实现
核心代码实现,这里主要是利用了 silenceper/wechat
包
InitWechat
函数主要是初始化 Wechat
同时去设置缓存
MiniProgramLogin
函数主要是去调用 Code2Session
进行授权,同时将 code
换成 session
1 | package utils |
小程序需要调用 wx.login
获取到 code
1 | App({ |
1 | utils.MiniProgramLogin(c, code) |
c
为 gin
上下文对象 *gin.Context
code
为前端传入小程序 wx.login
获取到的 code
纵有千古,横有八荒;前途似海,来日方长。
这种方式打包环境和运行环境都在同一个 Golang
底层镜像中
1 | FROM golang:1.17-alpine |
这种方式可以把编译环境和运行环境进行分割,极大的减小了运行镜像的大小
1 | #----------build----------# |
俗世洪流,站得住脚已是千辛万苦,想要出人头地,恐怕比登天还难。