「笔记」Erlang 常用启动参数
初始化标志1234567891011121314151617181920212223-args_file FileName # 从 FileName 中读取命令行参数 可以是下述参数-boot File # 指定启动文件启动系统-config ConfigFile # 指定配置文件 一般为 config/sys.config-detached # 意味着 -noinput-noinput # 不会读取任何输入 意味着 -noshell-noshell # 启动一个没用shell的系统-env Key Val # 设置环境变量-hidden # 如果是分布式节点,作为隐藏节点启动,会连接,但是nodes无法查询-name Name@Host # 是 ...
「笔记」Elixir 学习笔记
安装Elixir
安装教程
Shell终端中键入iex/iex.bat进入 Shell
键入两次Ctrl + C 退出Shell
在Shell中可以非常方便的练习和测试代码
使用Elixir执行脚本12# hello.exsIO.puts("Hello Wrold.")
elixir hello.exs 执行脚本文件
其他命令1234567h trunc/1 # 查看 trunc/1 的帮助# 一般情况下应该用该形式查询# 内核模块是自动导入所以可以不需要模块名h Kernel.trunc/1i "hello" # 查看值信息
基本类型1234567891011121314151 # 整型0x1F # 整型1.0 # 浮点true # 布尔:atom # 原子 / 符号 (代表本身的常量)"xxx" # 字符串(二进制串)[1,2,3] # 列表{1,2,3} # 元组# 进制0b1010 # 10 2进制0o777 # 5 ...
「笔记」PVE 折腾手册
安装iKuai
下载ISO镜像,官方网址
上传镜像到PVE中(pve - local(pve) - ISO镜像 - 上传)
安装镜像,创建虚拟机,后面基本一路next,按官方要求分配硬件要求即可,比如CPU,内存和硬盘大小
建议把PVE管理口的桥接口设置为LAN口,这样既可以连iKuai,也可以管理PVE,多余网口根据需求自行设置
安装Debian
下载离线lxc模板,在线下载容易失败,这里选择离线的方式,清华大学源
上传镜像到PVE中(pve - local(pve) - CT模板 - 上传)
安装镜像,创建CT,后面根据需求自行创建
Tips: 可能因为 ipv6 无法获取的问题,Debian 无法开机,建议首次指定ipv4静态地址,ipv6改为无状态
根目录磁盘过小,导致 docker 撑爆磁盘导致宕机
迁移/var/lib/docker
最后采取方案使用一个大磁盘,挂载到 /var/lib/docker 目录,迁移对应文件即可
其他系统同理,只是挂载需要自己另外操作
1234567891011systemctl stop dockersy ...
「笔记」Debian 折腾手册
常用指令1234567891011121314151617181920212223# debian 11 替换 apt 源echo "deb https://mirrors.aliyun.com/debian/ bullseye main non-free contribdeb-src https://mirrors.aliyun.com/debian/ bullseye main non-free contribdeb https://mirrors.aliyun.com/debian-security/ bullseye-security maindeb-src https://mirrors.aliyun.com/debian-security/ bullseye-security maindeb https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contribdeb-src https://mirrors.aliyun.com/debian/ bullseye-updates main ...
「笔记」Erlang 学习笔记
开始
安装:官方下载
scoop install erlang
apt install erlang
windows 注意环境变量的配置
建议:编码规范
参考书籍:Erlang 趣学指南
函数式编程
不可变的变量:定义了就不能改变
引用透明
没有副作用
多线程不共享状态,不会出现死锁,适合并发
使用递归,没有循环语句(for/while 都需要可变状态进行循环)
尾调用和尾递归
高阶函数:参数或返回值为函数的函数,复用粒度更低
模式匹配
12345678910111213141516171819# 不可变类似学过的数学变量y = 2x = y + 3x = 5x = x + 1 # ???5 = 6 # ???# 尾递归 累加 1-n 伪代码,Tips: Python 没有尾递归优化def add(n): if n == 1: return 1 else: return n + add(n - 1)def add(n, sum): if n == 1: return sum + 1 else ...
「笔记」Git 常用指令
基础常用指令
指令
说明
git init
初始化一个 git 仓库
git clone [-o <remote>] <url> [<name>]
克隆一个远程仓库,可指定项目文件夹名字 会自动设置好对应远程仓库的默认分支
git add [-i/--interactive] [-p/--patch] <file>/<dir>/*
添加文件/文件夹/全部记录到到暂存区-i 交互式暂存-p 选择部分文件暂存
git status [-s/--short]
查看哪些文件处于哪些状态,-s 输出紧凑格式文件前面的两个标志分别是暂存区和工作区状态
git diff [HEAD/--cached]
无参数表示比较工作区和暂存区的区别HEAD 表示比较本地仓库和工作区的区别--cached 表示比较本地仓库和暂存区的区别
git rm [-f] [--cached] <file>/<dir>
移除文件-f 强制删除--cached 仅删除暂存区的文件
git ...
「笔记」Butterfly简单配置
官方文档
Page 格式123456789101112131415---title: 【必需】页面标题date: 【必需】页面创建日期type: 【必需】标签、分类和友情链接三个页面需要配置updated: 【可选】页面更新日期description: 【可选】页面描述keywords: 【可选】页面关键字comments: 【可选】显示页面评论模块(默认 true)top_img: 【可选】页面顶部图片mathjax: 【可选】显示mathjax(当设置mathjax的per_page: false时,才需要配置,默认 false)katex: 【可选】显示katex(当设置katex的per_page: false时,才需要配置,默认 false)aside: 【可选】显示侧边栏 (默认 true)aplayer: 【可选】在需要的页面加载aplaye ...
「笔记」C# 笔记
Hello World
来源
1234567891011121314151617181920212223242526272829303132Console.WriteLine("Hello World!");// 打印变量string name = "Name";Console.WriteLine("Hello " + name);Console.WriteLine($"Hello {name}.");name.Length // 字符串长度// 去掉前面空格string trimmedGreeting = greeting.TrimStart();Console.WriteLine($"[{trimmedGreeting}]");// 去掉尾部空格trimmedGreeting = greeting.TrimEnd();Console.WriteLine($"[{trimmedGreeting}]");/ ...
「教程」使用 Headscale 的简单教程
内容具有时效性,一切以官方文档为准
讲在前面Headscale 是 Tailscale 的开源版本,前者的免费使用有一定的限制,当然也能满足一般的需求如果你不想折腾,也没有太多的需求,Tailscale 或许是更好的选择另外这也是一篇基础教程,更多的使用请阅读官方文档
服务端首先肯定需要把服务跑起来,只有一个要求,就是有公网 IP另外推荐使用 Linux部署服务,Windows 的话可以试试 Docker 部署文章服务端环境:Debian 11 腾讯云轻量应用服务器
一些准备工作准备好一个域名,SSL 证书(可选)
12345678910111213141516171819202122232425# 1. 下载二进制文件# 注意替换版本号 和 硬件架构wget --output-document=/usr/local/bin/headscale \ https://github.com/juanfont/headscale/releases/download/v0/headscale_0_linux_amd64# 这里其实就是下载文件到 /usr/local/bin/heads ...
「笔记」问题集合
关于 Erlang 的编译在 Shell 中1erlc test.erl
在 Erlang Shell 中12345678910111213141516c(test).compile:file(test).%% 使用 hipe 编译成本地码会更快hipe:c(Module, Opts). %% 或者 c(Module, [native]).%% 都可以添加一些选项%% debug_info: 一些 debug 工具%% {outdir, Dir}: 自定义编译后的文件目录%% export_all: 导出文件的所有函数%% {d, Key, Value}: 定义一个宏,其中 Key 是个原子,Value如果没有定义默认是 truecompile:file(test, [debug_info]).c(test, [debug_info, {outdir, ebin}, export_all, {d,key,value}].%% 也可以直接在模块中定义-compile([debug_info, export ...