Go语言ACM机试常用
Go 语言 ACM 模式常用代码常用的包12345678import( "fmt" "os" "bufio" "sort" "strings")
处理基本输入12345678910func main(){ in := bufio.NewScanner(os.Stdin) in.Scan() for in.Scan(){ str := in.Text() s := strings.Split(str, " ") sort.Strings(s) //排序 fmt.Println(strings.Join(s," ")) //将切片连接成字符串 }}
fmt.Scan12var a,b intfmt.Scan(&a,&b)
这个函数用于一个或多个数据绑定。它会用空格分割 stdin 输入数据,并把换行符算作空格,然后传递给本函数的参数。
fmt.Sca ...
使用 acme.sh 申请 Google 公共证书
开通 Google Public CA API获取 EAB 密钥 ID 和 HMAC登录你的 GCP 控制台面板,进入 Public Certificate Authority API 管理页面点击启动:
在 Cloud Shell 中输入:
1gcloud publicca external-account-keys create
中途弹窗点击授权之后会返回下列格式的信息,记录下来后面会用到:
123Created an external account key[b64MacKey: xxxxxxxxxxxxxxxxxxxxxxxkeyId: xxxxxxxxxxxxxxx]
申请证书安装 acme.sh1curl https://get.acme.sh | sh
签发证书获取 Cloudflare API,可以自己选择全局 API 还是单域 API,建议创建单域 API 并限制访问 IP 以提高安全性,获取到 API 后注意保存,然后导入:
1export CF_Token="xxxxxxxxxxxxxxxxxxxxxxxx"
or
12export C ...
zsh-auto-suggestion
安装安装 git 和 zsh
1sudo apt update && sudo apt install git zsh -y
安装 oh-my-zsh
1sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
安装 zsh-autosuggestions 和 zsh-syntax-highlighting 到~/.oh-my-zsh/custom/plugins
12git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestionsgit clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
修 ...
Windows 安装 PyTorch
更换 conda 源为清华源123456789101112131415channels: - defaultsshow_channel_urls: truedefault_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors ...
校园网 ipv6 配置
接着上一篇 使用 minieap 连接校园网 。校园网只能分配一个 ipv6, 并且为了防止多设备使用被校园网检测,可以使用 NAT6 的方式给连接到 wifi 的设备转发 ipv6 流量。
路由器从上级获取 IPv6 地址新建一个接口 协议:DHCPv6 客户端,请求 IPv6 地址:try, 如果地址为2001:da8:开头,那就是有公网的 ipv6 了。
修改路由器默认的 IPv6 地址前缀将 IPv6 ULA 前缀的第一位字符由 f 改为 d
路由器下发内网 IPv6 给接入设备设置如下:
IPV6 RA 设置
选项
路由通告服务
服务器模式
DHCPv6 服务
服务器模式
NDP 代理
已禁用
IPV6 RA 设置
选项
默认路由器
强制的
路由器转发来自接入设备的 IPv6 流量安装 NAT6,ssh 内执行
12opkg updateopkg install kmod-ipt-nat6
进入防火墙,Custom Rules,追加一条:
1ip6tables -t nat -A POSTROUTING -s {IPv6 ...
使用 minieap 连接校园网
自行编译 openwrt编译的时候勾选 luci-app-minieap luci-proto-minieap
minieap 使用创建一个接口,名字随意
这里插件要勾选 RJV3, 并且设置 DHCP 认证方式为二次认证:
保存并应用之后还要重启一下 wan 接口才可以获取到正确的 IP。
HTTP/3 标准文档译文
draft-ietf-quic-http-34-zh.md
1. Introduction因特网上大范围地使用了 HTTP 语义,这些语义通常与 HTTP/1.1 和 HTTP/2 一起使用。HTTP/1.1 已经被用于各种传输层和会话层,而 HTTP/2 主要是与 TCP 上的 TLS 一起使用。HTTP/3 在一个新的传输层协议 QUIC 上支持了相同的语义。
1.1. Prior versions of HTTPHTTP/1.1 [HTTP11] 使用以空格分隔的文本字段来传输 HTTP 消息。虽然这些交换信息是人类可读的,但是使用空白来作为消息格式,增加了解析的复杂度,以及行为多样性的容忍度。由于 HTTP/1.1 不包括多路复用层,所以经常使用多个并发的 TCP 连接。然而,这对拥塞控制和网络效率有负面影响,因为 TCP 不会在多个连接之间共享拥塞控制。
HTTP/2 [HTTP2] 引入了二进制分帧和多路复用层,从而在不修改传输层的前提下改善延迟。然而,因为 HTTP/2 多路复用的并 ...
DNS
AdGuard DNSAdGuard DNS is an alternative solution for ad blocking, privacy protection, and parental control. It provides the necessary number of protection features against online ads, trackers, and phishing, no matter what platform and device you use.
DefaultThese servers block ads, tracking, and phishing.
Protocol
Address
DNS, IPv4
94.140.14.14 and 94.140.15.15
Add to AdGuard, Add to AdGuard VPN
DNS, IPv6
2a10:50c0::ad1:ff and 2a10:50c0::ad2:ff
Add to AdGuard, Add to AdGuard VPN
DNS ...
955
955.WLB
与 996.ICU 相呼应,955 公司白名单。旨在让更多的人逃离 996,加入 955 的行列。
996 工作制:即每天早 9 点到岗,一直工作到晚上 9 点。每周工作 6 天。
955 工作制:即每天早 9 点到岗,一直工作到下午 5 点。每周工作 5 天。
944 工作制:即每天上午 9 点到岗,一直工作到下午 4 点。每周工作 4 天。
996.ICU: 工作 996,生病 ICU。
955.WLB: 工作 955,work–life balance (工作与生活的平衡)。
944.Life: 工作 944,生活为先。
说明以下公司名单,基本不属于 996 的公司,相对接近 955/965 的水平,但是依旧要看部门和地区,不能保证完全准确性。
不能保证所有部门都是 955/10-6-5/965/10-7-5 的水平
就算部门的平均水平是 955/10-6-5/965/10-7-5,也有可能部分时间要加班
名单中部分公司的部分部门可能有 975 甚至 985 的情况,不要以偏概全
名单中部分公 ...
Linux 升级 Cmake
卸载当前旧版本的 cmake查看当前的 cmake 版本:cmake --version若版本较旧,执行:sudo apt remove cmake,卸载旧版的 cmake若当前系统无 cmake,可跳过这一步。
安装依赖sudo apt install build-essential libssl-dev
下载并编译源码cmake 官方下载地址为:https://cmake.org/download/ (本例中下载 3.20.6)
执行以下命令解压:sudo tar xf cmake-3.20.6.tar.gz(这里可直接解压到/usr/local 里,这样后面生成的可执行文件会在/usr/local/bin 里创建链接)
环境检查、编译和安装cd 进入解压出来的文件夹,执行:sudo ./configuresudo make -j8sudo make install
创建软链接sudo ln -sf /usr/local/bin/* /usr/bin/
确认升级是否成功:执行 cmake -version 如果出现版本号就代 ...