简单博客

  1. 以子之矛攻子之盾

  2. 四两拨千斤

  3. 奋力死斗

既不能早起,又不敢迟到。

只好在扶梯上蹿下跳。

活脱脱的兔子。

英雄小兵

自我意识的觉醒、自我行为的实现,即为英雄。

反之则是小兵。

超赶

超赶 #

一来就提超赶,不就承认自己落后了吗?

而且必须跟在别人屁股后面,屁颠屁颠的追赶。

后面发现不合适,进而出来了弯道超车

再来就是遥遥领先了。

既然领先了,为什么还是那么焦虑?

因为又害怕被别人超赶了。

所以竞争到底是为了什么,为了焦虑,还是为了享受。

还是为了自己享受,让别人焦虑呢?

Oneline

一行 #

怎么样的一行才是好的OneLineCode呢?

a().await.b()?.match{Some(x) => x+1}.c()
try a().b().c()
A().B().C()

Procfile

ls /proc/58607

manual

文件名内容是否需要root权限说明
arch_status
clear_refs
cpuset/
fd文件描述符目录,里面有名称为0~18的链接文件
limits四列数据:Limit, Soft Limit, Hard Limit, Units,关于cpu, 文件, 栈等配额信息
memcat: /proc/58607/mem: Input/output error
net目录,有各种协议的文件: tcp, udp, icmp…
oom_score_adj0
root目录,指向系统根目录的链接
setgroupsallow
stat58607 (jdmgr) S 58382 58382 9872 34820 58382 1077936128 6387 0 26 0 6552 6932 0 0 20 0 15 0 95648476 1838948352 11496 18446744073709551615 4300800 25256385 140731858714304 0 0 0 0 0 2143420159 0 0 0 17 8 0 0 0 0 0 49557040 50499008 83853312 140731858719703 140731858719777 140731858719777 140731858722800 0
task目录,里面的子目录与本进程的目录结构类似
uid_map0 0 4294967295
attr目录,里面有:current, execr, fscreate, keycreate, prev, sockcreate
cmdline./jdmgr–config=/home/jd/Project/jdmgr/data/conf/jdmgr-local.tomlserver
cwd目录,里面有启动进程所在目录的文件
fdinfo目录,里面有名称为0~18的文件,每个文件里有以下信息:pos, flags, mnt_id, ino
loginuid4294967295
mountinfo磁盘挂载情况
ns目录,里面有:cgroup, net, time, uts, ipc, pid, time_for_children, mnt, pid_for_children, user
pagemap一堆问号
schedjdmgr (58607, #threads: 15) 和一系列键值
smaps很多键值数据
statm448962 11467 6999 5117 0 46089 0
timens_offsetsmonotonic 0 0; boottime 0 0
wchanfutex_wait_queue_me
auxv一堆问号
commjdmgr
environ环境变量
gid_map0 0 4294967295
map_files目录
mounts挂载情况:none /mnt/wsl tmpfs rw,relatime 0 0
oom_adj0
personality00000000
schedstat14831015600 63888900 226226
smaps_rollup一系列键值:Rss: 47844 kB;Pss: 47781 kB;…
statusName: jdmgr; Umask: 0022; State: S (sleeping); Tgid: 58607
timers
cgroup15:name=systemd:/; 14:misc:/; 13:rdma:/; 12:pids:/; 11:hugetlb:/; 10:net_prio:/; 9:perf_event:/; 8:net_cls:/; 7:freezer:/; 6:devices:/; 5:memory:/; 4:blkio:/; 3:cpuacct:/; 2:cpu:/; 1:cpuset:/; 0::/
coredump_filter00000033
exe一堆问号
iorchar: 65191135; wchar: 10478455; syscr: 668811; syscw: 233308; read_bytes: 352256; write_bytes: 1781760; cancelled_write_bytes: 0
maps00400000-0041a000 r–p 00000000 08:20 2198269 /home/jd/Project/jdmgr/jdmgr; …
mountstatsdevice none mounted on /mnt/wsl with fstype tmpfs; …
oom_score668
projid_map0 0 4294967295
sessionid4294967295
stack[<0>] do_epoll_wait+0x5ce/0x710; [<0>] do_compat_epoll_pwait.part.0+0xe/0x80; [<0>] __x64_sys_epoll_pwait+0x7f/0x130; [<0>] do_syscall_64+0x38/0xc0; [<0>] entry_SYSCALL_64_after_hwframe+0x62/0xcc
syscall202 0x303c728 0x80 0x0 0x0 0x0 0x0 0x7ffeb0727b10 0x48d183
timerslack_ns50000

亲疏之别

亲则同,疏则异。

同声同气好说话,异口同声有诡计。

索性不改继续用,除非大变在眼前。

动态规划

将循环执行过程中的阶段结果保存到数组里以供后续执行使用。

func DP[T, R any](n int, list []T, f func(T) R) R {
    s := make([]R, len(list))

    for i, item := range list {
        // exec and save result to s
        s[i] = f(item)
    }

    return s[n]
}

解决一系列小问题,直到解决一个大问题。